Аналіз журналу польотів
Ця тема містить огляд інструментів і методів, які можна використовувати для аналізу бортових журналів PX4 (у деяких випадках нижче є посилання на більш детальні теми).
INFO
Flight Reporting explains how to download a log and report/discuss issues about a flight with the development team.
Структурований аналіз
Перш ніж аналізувати бортовий журнал, важливо визначити його контекст:
- Якщо аналіз проводиться після несправності, чи зафіксував бортовий журнал збій, чи він зупинився в польоті?
- Чи всі контролери відстежували свої посилання? Найпростіший спосіб визначити це - порівняти показники крену і тангажу з їхніми заданими значеннями.
- Чи виглядають дані датчика достовірними? Чи була дуже сильна вібрація (розумним порогом для сильної вібрації є будь-яка вібрація з піковою швидкістю понад 2-3 м/с/с).
- If the root cause is not specific to the vehicle make sure to report it with a link to the log file (and video if one exists) on the PX4 issue tracker.
Виключення перебоїв з живленням
If a log file ends mid-air, two main causes are possible: a power failure or a hard fault of the operating system.
On autopilots based on the STM32 series, hard faults are logged to the SD card. These are located on the top level of the SD card and named fault_date.log, e.g. fault_2017_04_03_00_26_05.log. Ви повинні перевірити наявність цього файлу, якщо журнал польоту раптово закінчується.
Інструменти аналізу
Flight Review (Онлайн інструмент)
Flight Review is the successor of Log Muncher. It is used in combination with the new ULog logging format.
Основні функції:
- Веб-орієнтований, відмінно підходить для кінцевих користувачів.
- Users can upload logs through the web interface, and then share report with others (bulk upload is supported using the upload_log.py script)
- Інтерактивні графіки.
See Log Analysis using Flight Review for an introduction.
PlotJuggler
PlotJuggler is a desktop application that allows users to easily visualize and analyze data expressed in the form of time series. This is one of the best ULog analysis tools as it exposes all information in the log (Flight Review, by comparison, only shows a small subset of the data).
Підтримує файли ULog (.ulg) починаючи з версії 2.1.4.
Основні функції:
- Intuitive drag & drop interface.
- Розташовуйте дані на кількох графіках, вкладках або вікнах.
- Всі теми uORB показані і можуть бути відображені на графіку.
- Після того, як ви впорядкували свої дані, збережіть їх у файл "Layout" й завантажуйте багато разів.
- Process your data inside PlotJuggler itself, using custom "data transformations".
Source code and downloads are available on Github.
See Log Analysis using Plot Juggler for an introduction.
pyulog
pyulog is a python package to parse ULog files, along with a set of command-line scripts to extract/display ULog information and convert them to other file formats.
Основні функції:
- Бібліотека Python для розбору файлів ULog. Базова бібліотека, що використовується рядом інших інструментів аналізу та візуалізації ULog.
- Скрипти для вилучення/відображення інформації ULog:
- ulog_info: display information from an ULog file.
- ulog_messages: display logged messages from an ULog file.
- ulog_params: extract parameters from an ULog file.
- Скрипти для конвертації ULog файлів в інші формати:
- ulog2csv: convert ULog to (several) CSV files.
- ulog2kml: convert ULog to (several) KML files.
All scripts are installed as system-wide applications (i.e. they be called on the command line - provided Python is installed), and support the -h
flag for getting usage instructions. Наприклад:
sh
$ ulog_info -h
usage: ulog_info [-h] [-v] file.ulg
Display information from an ULog file
positional arguments:
file.ulg ULog input file
optional arguments:
-h, --help show this help message and exit
-v, --verbose Verbose output
Below we see the kind of information exported from a sample file using ulog_info.
sh
$ ulog_info sample.ulg
Logging start time: 0:01:52, duration: 0:01:08
Dropouts: count: 4, total duration: 0.1 s, max: 62 ms, mean: 29 ms
Info Messages:
sys_name: PX4
time_ref_utc: 0
ver_hw: AUAV_X21
ver_sw: fd483321a5cf50ead91164356d15aa474643aa73
Name (multi id, message size in bytes) number of data points, total bytes
actuator_controls_0 (0, 48) 3269 156912
actuator_outputs (0, 76) 1311 99636
commander_state (0, 9) 678 6102
control_state (0, 122) 3268 398696
cpuload (0, 16) 69 1104
ekf2_innovations (0, 140) 3271 457940
estimator_status (0, 309) 1311 405099
sensor_combined (0, 72) 17070 1229040
sensor_preflight (0, 16) 17072 273152
telemetry_status (0, 36) 70 2520
vehicle_attitude (0, 36) 6461 232596
vehicle_attitude_setpoint (0, 55) 3272 179960
vehicle_local_position (0, 123) 678 83394
vehicle_rates_setpoint (0, 24) 6448 154752
vehicle_status (0, 45) 294 13230
FlightPlot
FlightPlot is a desktop based tool for log analysis. It can be downloaded from FlightPlot Downloads (Linux, MacOS, Windows).
Основні функції:
- На основі Java, кросплатформенний.
- Інтуїтивний GUI, не потрібні знання програмування.
- Підтримує як нові, так і старі формати журналів PX4 (.ulg, .px4log, .bin)
- Дозволяє зберігати графіки як зображення.
PX4Tools
PX4Tools is a log analysis toolbox for the PX4 autopilot written in Python. The recommended installation procedure is to use anaconda3. See px4tools github page for details.
Основні функції:
- Easy to share, users can view notebooks on Github (e.g. 15-09-30 Kabir Log.ipynb)
- На основі Python, кросплатформенний, працює з anaconda 2 та anaconda3
- Блокноти iPython/jupyter можна використовувати для легкого обміну аналізом
- Розширені можливості графіків для детального аналізу
MAVGCL
MAVGCL is an in-flight log analyzer for PX4. Його також можна використовувати в офлайн режимі із завантаженими файлами uLog.
Основні функції:
- Збір даних в реальному часі (вибірка 50 мс, відображення 100 мс) на основі повідомлень MAVLink або даних ULOG через MAVLink
- Часова діаграма, анотована повідомленнями (MAVLink та ULog) та змінами параметрів (тільки MAVLink)
- XY-аналіз для обраних ключових фігур
- 3D-вигляд (перспектива транспортного засобу та спостерігача)
- Інспектор MAVLink (звітування про необроблені повідомлення MAVLink)
- Офлайн-режим: Імпорт ключових показників з PX4Log/ULog (файл або останній лог з пристрою через WiFi)
- На основі Java. Відомо, що працює в macOS та Ubuntu.
- Та багато іншого...
Data Comets
Data Comets is a interactive PX4 flight log analysis tool that allows you to encode flight data onto the flight path, filter and brush the data by time - and much more!
You can use the online version of the tool for small log files (< 32Mb), or run it locally in order to analyze longer flights.