Files
clover/docs/ru/flight_logs.md
2018-12-10 07:11:00 +03:00

57 lines
4.1 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Логи и топики PX4
===
Для детального анализа поведения прошивки PX4 можно просмотреть полетные логи. Полетные логи представляют собой сообщения в [uORB-топиках](https://dev.px4.io/en/middleware/uorb.html), записанные в файл с раширением `.ulg`. Лог-файл можно скачать с помощью QGroundControl по Wi-Fi или USB во вкладке *Log Download*:
![Логи в QGroundControl](../assets/download-log.png)
Также необходимые `.ulg`-файлы можно скопировать непосредственно с MicroSD-карты, находившейся в полетном контроллере.
Анализ
---
Лог-файл можно анализировать с помомщью программы FlightPlot. Актуальную версию программы можно [скачать](https://github.com/PX4/FlightPlot/releases) на GitHub.
В программе можно просмотреть полный список записанных топиков (*Fields List*). В нем нужно выбрать необходимые топики, после чего они появятся на графике:
![FlightPlot](../assets/flightplot.png)
Основные топики в PX4
---
[uORB](https://dev.px4.io/en/middleware/uorb.html) представляет собой pubsub механизм, аналогичный ROS-топикам, однако сильно упрощенный и подходящий для embedded-среды.
Полный список топиков можно узнать в исходном коде проекта [в каталоге `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'а;
* **optical_flow** данные с модуля optical flow.
Мониторинг топиков в режиме реального времени
---
Для более новых версий платы Pixhawk (`px4fmu-v3`), а также для плат Pixracer, в прошивку включен модуль `topic_listener`, который позволяет просматривать значения топиков в режиме реального времени (в том числе в полете).
Для ее использования нужно выбрать вкладку MAVLink Console в QGroundControl:
![listener](../assets/listener.png)
Команда `list_topics` выводит список топиков, доступных для просмотра (включена только в [SITL](sitl.md)).
Команда `listener <название топика>` выводит текущее значение в топике. Существует третий опциональный параметр, который определяет количество сообщений, которые необходимо вывести.
Примеры команд:
`listener vehicle_local_position`
`listener vehicle_attitude 5`