概述和目的
Mission Planner 中的日志瀏覽系統提供了加載、查看、分析和解讀 ArduPilot 驅動的飛行器生成的飛行日志的工具。飛行日志包含飛行操作期間記錄的關鍵遙測數據,使用戶能夠查看飛行性能、診斷問題并從過去的飛行中獲取見解。
本頁記錄了日志瀏覽系統的架構、組件和功能。有關生成或下載飛行日志的信息,請參閱數據分析。
日志瀏覽架構
日志瀏覽系統由幾個相互連接的組件組成,負責加載、解析和可視化飛行日志數據。
日志文件格式和結構
Mission Planner 支持兩種主要日志格式:
- 文本日志(.log):以逗號分隔的值,可供人類閱讀的文本日志
- 二進制日志(.bin):需要解析的緊湊二進制格式
兩種格式都包含具有以下組件的結構化消息:
- 消息類型:標識數據類型(例如 GPS、ATT、IMU)
- 字段:該消息類型的特定數據值
- 時間戳:通常以啟動時的毫秒或微秒為單位
日志格式由日志開頭的 FMT 消息定義,它指定了所有后續消息的結構。
核心日志瀏覽組件
LogBrowse 類
日志瀏覽功能的主類,以 Windows 窗體形式實現。它負責加載日志、向用戶呈現數據并提供分析功能。
主要職責:
- 加載和解析日志文件
- 以多種格式(網格、圖表、地圖)顯示日志數據
- 支持參數選擇和過濾
- 促進數據分析和導出
DFLogBuffer 類
用于高效讀取和管理日志數據的緩沖區實現。它提供枚舉功能和高級緩存以優化性能。
主要職責:
- 緩沖讀取日志文件
- 緩存日志條目以實現更快的訪問
- 索引消息類型以便快速查找
- 解析二進制日志格式
DFLog 類
日志數據表示和解析的核心類。它定義日志條目的數據結構,并提供從日志中提取數據的方法。
主要職責:
- 定義日志項結構
- 解析日志消息
- 不同時間格式之間的轉換
- 提供數據訪問實用程序
日志數據流和處理
下圖說明了日志數據如何在系統中流動:
可視化組件
圖形顯示(ZedGraph)
LogBrowse 使用 ZedGraph 庫創建日志數據的交互式圖表。可以同時繪制多個參數以供分析。
主要特點:
- 多 Y 軸支持
- 縮放和平移
- 時間相關性
- 參數比較
地圖顯示(GMap)
地理地圖顯示,顯示日志中的飛行路徑和位置數據。使用 GMap.NET 進行渲染。
主要特點:
- 飛行路徑可視化
- 位置標記
- 多 GPS 源支持
- 地圖疊加功能
用戶界面元素
參數選擇樹
分層樹狀視圖顯示日志中所有可用的參數。用戶可以選擇參數進行可視化和分析。
主要特點:
- 按消息類型分組
- 復選框選擇
- 工具提示信息
- 位掩碼參數支持
數據網格視圖
原始日志數據的表格視圖允許用戶瀏覽所有日志條目。
主要特點:
- 列標題自定義
- 行導航
- 單元格值格式
- 排序功能
控制面板
包含用于控制日志瀏覽體驗的按鈕和復選框。
關鍵組件:
- 圖形控制按鈕
- 地圖切換
- 錯誤/警告顯示選項
- 模式/事件可視化切換
日志分析功能
數據圖表
該系統支持繪制具有可自定義選項的多個參數:
- 從樹視圖中選擇參數
- 在左 Y 軸或右 Y 軸上繪圖
- 清除和添加圖表數據
- 導出圖形數據
模式和事件可視化
日志瀏覽器可以可視化:
- 飛行模式改變(MODE消息)
- 系統事件(EV消息)
- 錯誤情況(ERR 消息)
- 參數更改(PARM 消息)
基于地圖的分析
日志中的 GPS 數據可以在地圖上可視化,以便分析:
- 飛行路線
- 定位精度
- 速度和高度變化
- 多個 GPS 源比較
數據處理工作流程
加載和解析過程
加載日志文件時,LogBrowse 系統執行以下步驟:
- 文件加載:打開日志文件并確定其是二進制還是文本格式
- 格式掃描:讀取 FMT 消息以確定日志結構
- 索引:按類型創建索引以便快速訪問消息
- 緩存:構建緩存以實現高效的數據訪問
- 參數提取:提取參數值以供參考
- UI Population:使用可用參數填充樹視圖
高級功能
基于表達的分析
該系統支持自定義表達式進行高級分析,使用類似 Python 的腳本系統從日志數據中創建派生值。
數據導出選項
日志數據可以以多種格式導出:
- 用于電子表格分析的 CSV
- 用于科學分析的 MATLAB 格式
- 特定工具的自定義格式
日志時間同步
系統處理機載時間和 GPS 時間之間的時間同步,以在日志中提供準確的時間戳。
用戶界面布局
LogBrowse 界面采用分割容器組織,允許用戶根據需要調整不同面板的大小:
常見用例
- 飛行路徑分析:在地圖上查看航班的 GPS 軌跡
- 性能調整:分析控制面響應和姿態變化
- 電機和功率分析:檢查功耗和電機輸出
- 錯誤診斷:識別和理解系統錯誤和警告
- 參數驗證:確認參數設置是否正確應用
加載指示器
LogBrowse 系統使用 Loading 類在日志加載和解析等長時間操作期間向用戶提供反饋。
概括
Mission Planner 中的日志瀏覽系統提供了全面的工具,用于分析 ArduPilot 飛行器的飛行日志。通過其直觀的界面,用戶可以加載日志,通過圖表和地圖可視化數據,并進行詳細分析以提升飛行性能并診斷問題。
該系統的模塊化架構在性能和可用性之間取得平衡,能夠高效處理文本和二進制日志格式,同時提供強大的可視化和分析功能。