diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 8f36015d..48743e34 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -28,6 +28,7 @@ * [Подключение GPS](gps.md) * [Использование 3G-модема](3g.md) * [Устройство сети RPi](network.md) +* [Работа с логами PX4](flight_logs.md) * Учебник * [Уроки](lessons.md) * [Учебно-методическое пособие](metod.md) diff --git a/docs/assets/download-log.png b/docs/assets/download-log.png new file mode 100644 index 00000000..a9fa7cd4 Binary files /dev/null and b/docs/assets/download-log.png differ diff --git a/docs/assets/flightplot.png b/docs/assets/flightplot.png new file mode 100644 index 00000000..7d1b495a Binary files /dev/null and b/docs/assets/flightplot.png differ diff --git a/docs/flight_logs.md b/docs/flight_logs.md new file mode 100644 index 00000000..f0338fb5 --- /dev/null +++ b/docs/flight_logs.md @@ -0,0 +1,52 @@ +Логи и топики PX4 +=== + +Для детального анализа поведения прошивки PX4 необходимо смотреть полетные логи. Полетные логи представляют собой PX4-топики ([uORB](https://dev.px4.io/en/middleware/uorb.html)), записанные в файл с раширением `.ulg`. Лог-файл можно скачать с помощью QGroundControl по Wi-Fi или USB во вкладке *Log Download*: + +![](assets/download-log.png) + + +Также необходимые `.ulg`-файлы можно скопировать непосредственно с MicroSD-карты, находившейся в полетном контроллере. + +Анализ +--- + +Лог-файл можно анализировать с помомщью программы FlightPlot. Актуальную версию программы можно [скачать](https://github.com/PX4/FlightPlot/releases) на GitHub. + +В программе можно просмотр полный список записанных топиков (*Fields List*). В нем нужно выбрать необходимые топики, после чего они появятся на графике: + +![](assets/flightplot.png) + +Основные топики в PX4 +--- + +Полный список топиков можно узнать в исходном коде проекта [в каталоге `msg`](https://github.com/PX4/Firmware/tree/master/msg). + +Список некоторых топиков: + +* **vehicle_status** – состояние коптера (режим и т. д.); +* **vehicle_local_position** – локальная позиция коптера; +* **vehicle_attitude** – ориентация коптера; +* **vehicle_local_position_setpoint** – целевая точка (setpoint) коптера по позиции; +* **vehicle_global_position** – глобальная позиция коптера; +* **vehicle_vision_position** – полученная визуальная позиция коптера, аналог MAVLink пакета `VISION_POSITION_ESTIMATE` или MAVROS-топика `/mavros/vision_position_estimate/pose`; +* **att_pos_mocap** – полученная MOCAP-позиция коптера, аналог MAVLink пакета `ATT_POS_MOCAP` или MAVROS-топика `/mavros/mocap/pose`; +* **actuator_controls** – сигналы на моторы; +* **vehicle_land_detected** – статус Land-detector'а; + +Мониторинг топиков в режиме реального времени +--- + +Для более новых версий платы PixHawk (`px4fmu-v3`), а также для плат PixRacer, в прошивку включен модуль `topic_listener`, который позволяет просматривать значения топиков в режиме реального времени (в том числе в полете). + +Для ее использования нужно выбрать вкладку Mavlink Console в QGroundControl. + +Команда `list_topics` выводит список топиков, доступных для просмотра. + +Команда `listener <название топика>` выводит текущее значение топика либо ждет нового сообщения в нем в течение 2-х секунд. Существует третий опциональный параметр, который определяет количество сообщений, которые необходимо вывести. + +Примеры: + +`listener vehicle_local_position` + +`listener vehicle_attitude 5`