Files
clover/docs/flight_logs.md
2018-06-13 16:29:55 +03:00

3.7 KiB
Raw Blame History

Логи и топики PX4

Для детального анализа поведения прошивки PX4 необходимо смотреть полетные логи. Полетные логи представляют собой PX4-топики (uORB), записанные в файл с раширением .ulg. Лог-файл можно скачать с помощью QGroundControl по Wi-Fi или USB во вкладке Log Download:

Также необходимые .ulg-файлы можно скопировать непосредственно с MicroSD-карты, находившейся в полетном контроллере.

Анализ

Лог-файл можно анализировать с помомщью программы FlightPlot. Актуальную версию программы можно скачать на GitHub.

В программе можно просмотр полный список записанных топиков (Fields List). В нем нужно выбрать необходимые топики, после чего они появятся на графике:

Основные топики в PX4

Полный список топиков можно узнать в исходном коде проекта в каталоге 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