Python, DroneKit, Pixhawk и ArduPilot Mission Planner: как отправлять текстовые сообщения через встроенную телеметрию на наземную станцию

Я работаю над студенческим проектом с использованием дрона, который работает на платформе Pixhawk, но имеет «компаньон-компьютер» в виде Raspberry Pi. Pi запускает собственное программное обеспечение Python и использует DroneKit (и, следовательно, MAVLink?) Для связи с Pixhawk через USB - передачи ему команд, передачи данных и так далее. Кроме того, у нас есть ноутбук «наземная станция», на котором запущен ArduPilot Mission Planner, который может удаленно просматривать и взаимодействовать с самолетом, а также просматривать его телеметрию. Я заметил вкладку «Сообщения», которая по сути действует как удаленная консоль, показывая «зарегистрированные» сообщения от Pixhawk - это то, к чему относится вопрос.

Для отладки и информационных целей я хотел бы иметь возможность добавить к этому Python на Pi. Я предполагал, что это будет легко достижимо с помощью DroneKit, но это не кажется тривиальным - send_mavlink и message_factory выглядели обнадеживающими, но я не нашел никого, кто пытался бы сделать это специально.

Как я могу легко перенаправить мои «консольные сообщения» с Python на наземную станцию? Я понимаю, что есть альтернативные методы, но использование существующей системы телеметрии Pixhawk кажется гораздо лучшим вариантом.

Спасибо


person jt78    schedule 19.05.2018    source источник


Ответы (1)


Вы можете создать мост (прокси) между Pixhawk и GCS с вашим RPi, аналогично этот вопрос.

Затем в середине этого вы можете отправлять свои собственные текстовые сообщения с помощью:

gcs_conn.mav.statustext_send(mavutil.mavlink.MAV_SEVERITY_INFO, "your message here")

Будьте осторожны, не блокируйте слишком сильно передачу телеметрии, иначе у вас может быть прерывистое соединение с дроном с вашего GCS.

person Jose Benitez    schedule 18.02.2019