Я пытаюсь подключиться к устройству pixracer с mavros. Раньше я использовал сопутствующий компьютер, который подключается к pixhawk через физический последовательный кабель. Теперь я хочу использовать соединение Wi-Fi для прямой связи с pixracer через плату ESP8266. Я настроил Wi-Fi, который работает в режиме станции и успешно подключается к qGroundcontrol и моему маршрутизатору (поэтому я думаю, что pixracer / ESP8266 работает и настроен правильно), но я изо всех сил пытаюсь подключиться через mavros к fcu.
Я использую udp-адрес: udp://:[email protected]:14540
где 192.168.1.9 - это IP-адрес pixracer.
Этот формат выглядит нормально? Возможно, мне тоже нужно задать какие-то параметры? Я установил SYS_COMPANION
на ESP8266 (921600 baud, 8N1)
.
Маврос: 0,22,0
ROS: кинетическая
Ubuntu: 16.04
[] ArduPilot
[x] PX4
Версия: 1.6.5
copy output of mavros_node. Usually console where you run roslaunch
header:
seq: 15
stamp:
secs: 1523479866
nsecs: 896584974
frame_id: ''
status:
-
level: 1
name: "UAV_1/mavros: FCU connection"
message: "not connected"
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Received packets:"
value: "0"
-
key: "Dropped packets:"
value: "0"
-
key: "Buffer overruns:"
value: "0"
-
key: "Parse errors:"
value: "0"
-
key: "Rx sequence number:"
value: "0"
-
key: "Tx sequence number:"
value: "141"
-
key: "Rx total bytes:"
value: "0"
-
key: "Tx total bytes:"
value: "36947"
-
key: "Rx speed:"
value: "0.000000"
-
key: "Tx speed:"
value: "9547.000000"
-
level: 2
name: "UAV_1/mavros: GPS"
message: "No satellites"
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Satellites visible"
value: "0"
-
key: "Fix type"
value: "0"
-
key: "EPH (m)"
value: "Unknown"
-
key: "EPV (m)"
value: "Unknown"
-
level: 2
name: "UAV_1/mavros: Heartbeat"
message: "No events recorded."
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Heartbeats since startup"
value: "0"
-
key: "Frequency (Hz)"
value: "0.000000"
-
key: "Vehicle type"
value: "Generic micro air vehicle"
-
key: "Autopilot type"
value: "Generic autopilot"
-
key: "Mode"
value: ''
-
key: "System status"
value: "Uninit"
-
level: 0
name: "UAV_1/mavros: System"
message: "Normal"
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Sensor present"
value: "0x00000000"
-
key: "Sensor enabled"
value: "0x00000000"
-
key: "Sensor helth"
value: "0x00000000"
-
key: "CPU Load (%)"
value: "0.0"
-
key: "Drop rate (%)"
value: "0.0"
-
key: "Errors comm"
value: "0"
-
key: "Errors count #1"
value: "0"
-
key: "Errors count #2"
value: "0"
-
key: "Errors count #3"
value: "0"
-
key: "Errors count #4"
value: "0"
-
level: 2
name: "UAV_1/mavros: Battery"
message: "No data"
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Voltage"
value: "-1.00"
-
key: "Current"
value: "0.0"
-
key: "Remaining"
value: "0.0"
-
level: 2
name: "UAV_1/mavros: Time Sync"
message: "No events recorded."
hardware_id: "udp://:[email protected]:14540"
values:
-
key: "Timesyncs since startup"
value: "0"
-
key: "Frequency (Hz)"
value: "0.000000"
-
key: "Last dt (ms)"
value: "0.000000"
-
key: "Mean dt (ms)"
value: "0.000000"
-
key: "Last system time (s)"
value: "0.000000000"
-
key: "Time offset (s)"
value: "0.000000000"
---
ERROR. I got 0 addresses, but not your target 1:1
Какой адрес вы используете для QGC?
Я использую udp://:[email protected]:14550
(где 192.168.1.5 - это IP-адрес моей наземной станции управления - следовал соглашению, задокументированному в https://dev.px4.io/en/simulation/ros_interface.html, хотя это относится к ситл).
Стоит отметить, что pixracer автоматически подключается к QGroundControl при запуске (внешний по отношению к mavros) - возможно, здесь может быть конфликт?
Весьма вероятно. Я не уверен, что прошивка ESP соответствует этой спецификации. Попробуйте (без QGC) порт по умолчанию, например, udp://@192.168.1.5
или даже простой udp://@
.
Я все еще не могу связаться с этими адресами для наземной станции управления. Я думаю, что для этого могут потребоваться некоторые обновления прошивки ESP, но я еще не понял кодовую базу. Я обновлю здесь, если в этом будет какой-либо успех.
@ jannsta1 обновляется?
Я только что попробовал это еще раз, и мне удалось подключиться, установив значения порта udp в соответствии со значениями параметров WIFI_UDP_CPORT (14555) и WIFI_UDP_HPORT (14550) по умолчанию (для модуля ESP). Таким образом, мой fcu_url; udp://:14550@<ip address of esp device>:14555
.
Я еще не проводил летных испытаний, и недостатком является то, что это не работает с QGC, но я более чем счастлив закрыть эту проблему. Спасибо за совет по поводу адресов UDP, было очень полезно узнать, в какую область искать.
Мне удалось подключиться со значениями порта udp по умолчанию, используя этот синтаксис fcu_url. Спасибо! Я подумал, что займусь этим на всякий случай, если у кого-то еще есть проблема с тем, чтобы QGC работал вместе с mavros.
Мне удалось заставить работать QGC и mavros, изменив значения cport и hport, как показано здесь (я выбрал 14556 и 14551 соответственно), что сделало бы fcu_url: udp://:14551:@<ip address of esp device>:14556
при сохранении gcs_url: udp-b://127.0.0.1:14555@14550
.
Самый полезный комментарий
Мне удалось подключиться со значениями порта udp по умолчанию, используя этот синтаксис fcu_url. Спасибо! Я подумал, что займусь этим на всякий случай, если у кого-то еще есть проблема с тем, чтобы QGC работал вместе с mavros.
Мне удалось заставить работать QGC и mavros, изменив значения cport и hport, как показано здесь (я выбрал 14556 и 14551 соответственно), что сделало бы fcu_url:
udp://:14551:@<ip address of esp device>:14556
при сохранении gcs_url:udp-b://127.0.0.1:14555@14550
.