Ardupilot : connection with Mission Planner
-
@Kessie voxl-ardupilot is built directly by the ArduPilot CI servers. https://firmware.ardupilot.org/Copter/latest/QURT/
-
@Kessie What version of the VOXL SDK are you running? What is the output of
voxl-version
? Here is the packaging script in ArduPilot https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_QURT/packaging/make_package.sh -
@Kessie You can kill the voxl-mavlink-server service (
systemctl stop voxl-mavlink-server
) and start it from the command line with some debug options so that you can see the message traffic between the GCS and AP. Perhaps do this with QGC to see it working and then with Mission Planner to compare the differences. -
@Kessie But you can also reach out to the ArduPilot support team. I know that some have successfully used Mission Planner with VOXL before.
-
@Kessie I've also asked our partner support team at ArduPilot to take a look.
-
Hi @Kessie
It certainly is possible to get Mission Planner working because that's what I was using when we demonstrated it at the recent AP conference in Kaga Japan
https://www.youtube.com/watch?v=tsLEcEUyBYsMy random guess is that ArduPilot is not actually starting successfully.
We have some light instructions here on the ArduPilot wiki although they mostly link back to the ModalAI site.
I have a starling2 max so I'll pull it out and try and help investigate
-
Hi @Randy-Mackay ,
Thank you for your help.
I followed the guide at https://docs.modalai.com/voxl-ardupilot/ and used the latest image available on the 17th of February.
The problem seems to be related to the mavlink heartbeats not (frequently enough) being send as far as I can debug, but maybe I'm chasing ghosts.QGC and MavProxy work most of the time.
QGC can always connect but when arming, I sometimes get the message that the vehicle did not arm while physically it is.
MavProxy works approx. 50% of the time and the rest fails with "[Errno 49] Can't assign requested address"
This was tested on 2 different laptops to exclude problems on 1 certain laptop -
@Kessie Have you tried in AP mode for WiFi to eliminate anything in your WiFi network? With AP mode it would only be the laptop and drone on the network. You can try AP mode in 2.4GHz and 5GHz configurations in case there is a lot of interference on one of those bands. (e.g.
voxl-wifi softap ssid pass
orvoxl-wifi softap5 ssid pass
). -
Hi @Eric-Katzfey ,
Also in AP mode we have the same issues.
We both tried with the GCS IPs configured in voxl-mavlink-server.conf (connection initiated by Voxl) as well as GCS IP as “” and initiating the connection from the GCS. -
@Kessie I won't be able to run any of my own tests until the end of next week. One other thing you can try is to move to a slightly older VOXL SDK and see if something in the latest SDK is causing the issue (like SDK v1.3.5).
-
@Eric-Katzfey
We reflashed to SDK 1.3.5 and did the installation of Ardupilot again. (Build : https://firmware.ardupilot.org/Copter/latest/QURT/voxl-ardupilot_ArduCopter_4.7.0-76aed8f8_arm64.deb)Output of voxl-version:
-------------------------------------------------------------------------------- system-image: 1.7.10-M0054-14.1a-perf kernel: #1 SMP PREEMPT Fri Sep 27 21:59:02 UTC 2024 4.19.125 -------------------------------------------------------------------------------- hw platform: M0054 mach.var: 1.0.1 -------------------------------------------------------------------------------- voxl-suite: 1.3.5 -------------------------------------------------------------------------------- Packages: Repo: http://voxl-packages.modalai.com/ ./dists/qrb5165/sdk-1.3/binary-arm64/ Last Updated: 2023-03-02 12:58:39 WARNING: repo file has changed since last update, packages may have originated from a different repo List: kernel-module-voxl-fsync-mod-4.19.125 1.0-r0 kernel-module-voxl-gpio-mod-4.19.125 1.0-r0 kernel-module-voxl-platform-mod-4.19.125 1.0-r0 libfc-sensor 1.0.7 libmodal-cv 0.5.11 libmodal-exposure 0.1.1 libmodal-journal 0.2.2 libmodal-json 0.4.3 libmodal-pipe 2.10.2 libqrb5165-io 0.4.6 libvoxl-cci-direct 0.2.3 libvoxl-cutils 0.1.1 modalai-slpi 1.1.19 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-imu-server 1.0.1 qrb5165-rangefinder-server 0.1.3 qrb5165-slpi-test-sig 01-r0 qrb5165-system-tweaks 0.3.0 qrb5165-tflite 2.8.0-2 voxl-ardupilot 4.7.0-76aed8f8 voxl-bind-spektrum 0.1.1 voxl-camera-calibration 0.5.7 voxl-camera-server 2.0.1 voxl-ceres-solver 2:1.14.0-10 voxl-configurator 0.8.5 voxl-cpu-monitor 0.4.8 voxl-docker-support 1.3.1 voxl-elrs 0.2.2 voxl-esc 1.4.7 voxl-feature-tracker 0.4.1 voxl-flow-server 0.3.6 voxl-fsync-mod 1.0-r0 voxl-gphoto2-server 0.0.10 voxl-gpio-mod 1.0-r0 voxl-jpeg-turbo 2.1.3-5 voxl-lepton-server 1.2.3 voxl-lepton-tracker 0.0.2 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.4.7 voxl-mavcam-manager 0.5.7 voxl-mavlink 0.1.1 voxl-mavlink-server 1.4.2 voxl-modem 1.1.3 voxl-mongoose 7.7.0-1 voxl-mpa-to-ros 0.3.9 voxl-mpa-tools 1.2.3 voxl-neopixel-manager 0.0.3 voxl-open-vins 0.4.14 voxl-open-vins-server 0.2.75 voxl-opencv 4.5.5-2 voxl-osd 0.0.1 voxl-platform-mod 1.0-r0 voxl-portal 0.7.0 voxl-px4 1.14.0-2.0.84 voxl-px4-imu-server 0.1.2 voxl-px4-params 0.5.3 voxl-qvio-server 1.0.4 voxl-remote-id 0.0.9 voxl-reset-slpi 0.0.1 voxl-state-estimator 0.0.2 voxl-streamer 0.7.4 voxl-suite 1.3.5 voxl-tag-detector 0.0.4 voxl-tflite-server 0.3.4 voxl-utils 1.4.3 voxl-uvc-server 0.1.7 voxl-vision-hub 1.8.9 voxl-vtx 1.1.0 voxl2-io 0.0.3 voxl2-system-image 1.7.10-r0 voxl2-wlan 1.0-r0 --------------------------------------------------------------------------------
Output of voxl-inspect-services before disabling services:
Scanning services... Service Name | Enabled | Running | CPU Usage ------------------------------------------------------------------- docker-autorun | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-ardupilot | Enabled | Running | 0.0% voxl-auto-logger | Disabled | Not Running | voxl-camera-server | Enabled | Running | 130.0% voxl-cpu-monitor | Enabled | Running | 0.3% voxl-dfs-server | Disabled | Not Running | voxl-feature-tracker | Disabled | Not Running | voxl-flow-server | Disabled | Not Running | voxl-imu-server | Enabled | Running | 3.9% voxl-lepton-server | Disabled | Not Running | voxl-lepton-tracker | Disabled | Not Running | voxl-logger | Disabled | Not Running | voxl-mavcam-manager | Enabled | Running | 0.0% voxl-mavlink-server | Enabled | Running | 1.2% voxl-modem | Disabled | Not Running | voxl-neopixel-manager | Disabled | Not Running | voxl-open-vins-server | Disabled | Not Running | voxl-osd | Disabled | Not Running | voxl-portal | Enabled | Running | 0.1% voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Disabled | Not Running | voxl-qvio-server | Enabled | Running | 4.0% voxl-rangefinder-server | Enabled | Running | 0.5% voxl-remote-id | Disabled | Not Running | voxl-softap | Disabled | Not Running | voxl-state-estimator | Disabled | Not Running | voxl-static-ip | Disabled | Not Running | voxl-streamer | Enabled | Running | 0.2% voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-uvc-server | Disabled | Not Running | voxl-vision-hub | Enabled | Running | 5.4% voxl-vrx | Disabled | Not Running | voxl-vtx | Disabled | Not Running | voxl-wait-for-fs | Enabled | Completed |
Output of voxl-inspect-services after disabling services:
voxl2:~$ voxl-inspect-servicesScanning services... Service Name | Enabled | Running | CPU Usage ------------------------------------------------------------------- docker-autorun | Disabled | Not Running | modallink-relink | Disabled | Not Running | voxl-ardupilot | Enabled | Running | 0.0% voxl-auto-logger | Disabled | Not Running | voxl-camera-server | Disabled | Not Running | voxl-cpu-monitor | Disabled | Not Running | voxl-dfs-server | Disabled | Not Running | voxl-feature-tracker | Disabled | Not Running | voxl-flow-server | Disabled | Not Running | voxl-imu-server | Disabled | Not Running | voxl-lepton-server | Disabled | Not Running | voxl-lepton-tracker | Disabled | Not Running | voxl-logger | Disabled | Not Running | voxl-mavcam-manager | Disabled | Not Running | voxl-mavlink-server | Enabled | Not Running | voxl-modem | Disabled | Not Running | voxl-neopixel-manager | Disabled | Not Running | voxl-open-vins-server | Disabled | Not Running | voxl-osd | Disabled | Not Running | voxl-portal | Disabled | Not Running | voxl-px4-imu-server | Disabled | Not Running | voxl-px4 | Disabled | Not Running | voxl-qvio-server | Disabled | Not Running | voxl-rangefinder-server | Disabled | Not Running | voxl-remote-id | Disabled | Not Running | voxl-softap | Disabled | Not Running | voxl-state-estimator | Disabled | Not Running | voxl-static-ip | Disabled | Not Running | voxl-streamer | Disabled | Not Running | voxl-tag-detector | Disabled | Not Running | voxl-tflite-server | Disabled | Not Running | voxl-time-sync | Disabled | Not Running | voxl-uvc-server | Disabled | Not Running | voxl-vision-hub | Disabled | Not Running | voxl-vrx | Disabled | Not Running | voxl-vtx | Disabled | Not Running | voxl-wait-for-fs | Enabled | Completed |
Output of netstat -tuln:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:8900 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:5037 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp6 0 0 :::22 :::* LISTEN udp 0 0 127.0.0.53:53 0.0.0.0:* udp 0 0 0.0.0.0:68 0.0.0.0:* udp 0 0 0.0.0.0:69 0.0.0.0:* udp 0 0 0.0.0.0:14550 0.0.0.0:* udp 0 0 0.0.0.0:14556 0.0.0.0:* udp 0 0 127.0.0.1:14557 0.0.0.0:* udp 0 0 0.0.0.0:14558 0.0.0.0:* udp 0 0 127.0.0.1:14559 0.0.0.0:* udp6 0 0 :::69 :::*
Connection over USB using Mission Planner => Starts the connection and then times out (Tried baud rates 115200 (default AP) and 921600 (Configured in voxl-mavlink-server.conf))
Station Mode tests (every time restarted voxl-mavlink-server)
Connection using MavProxy on 14550 : Failed to connect to udp:150.0.0.221:14550 : [Errno 49] Can't assign requested address
Connection using MavProxy on 14556 : Failed to connect to udp:150.0.0.221:14556 : [Errno 49] Can't assign requested address
Connection using MavProxy on 14557 : Failed to connect to udp:150.0.0.221:14557 : [Errno 49] Can't assign requested address
Connection using MavProxy on 14558 : Failed to connect to udp:150.0.0.221:14558 : [Errno 49] Can't assign requested address
Connection using MavProxy on 14559 : Failed to connect to udp:150.0.0.221:14559 : [Errno 49] Can't assign requested addressConnection using QGroundControl over port 14550 : Connected successfully
Connection using Mission Planner on UDP port 14550 :
Only one usage of each socket address (protocol/network address/port) is normally permitted at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at MissionPlanner.Comms.UdpSerial.Open() in C:\Users\mich1\Desktop\CubePilot\MissionPlanner\ExtLibs\Comms\CommsUdpSerial.cs:line 130 at MissionPlanner.MAVLinkInterface.OpenBg(IProgressReporterDialogue PRsender, Boolean getparams) in C:\Users\mich1\Desktop\CubePilot\MissionPlanner\ExtLibs\ArduPilot\Mavlink\MAVLinkInterface.cs:line 886 at MissionPlanner.Controls.ProgressReporterDialogue.RunBackgroundOperation(Object o) in C:\Users\mich1\Desktop\CubePilot\MissionPlanner\ExtLibs\Controls\ProgressReporterDialogue.cs:line 111
Deleted the primary_static_gcs_ip from voxl-mavlink-server.conf
Connection using Mission Planner with UDPCI on 14550 : Times out after 30 Seconds
The log in voxl-mavlink-server show some sort of connection but the loses it because of the timeoutvoxl2:~$ voxl-mavlink-server loading our own config file ================================================================= Parameters as loaded from config file: primary_static_gcs_ip: secondary_static_gcs_ip: 192.168.8.11 onboard_port_to_autopilot: 14556 onboard_port_from_autopilot: 14557 gcs_port_to_autopilot: 14558 gcs_port_from_autopilot: 14559 en_external_uart_ap: 0 autopilot_uart_bus: 1 autopilot_uart_baudrate: 921600 autopilot_mission_delay_start: -1 udp_mtu: 0 gcs_timeout_s 4.50 en_external_ap_timesync: 1 en_external_ap_heartbeat: 1 ================================================================= starting receive thread for onboard channel from autopilot starting receive thread for gcs channel from autopilot CONNECTED to autopilot on gcs channel Not connecting to primary gcs ip: Adding secondary manual gcs IP address to udp connection list: 192.168.8.11 Added new UDP connection to 192.168.8.11 Init complete, entering main loop CONNECTED to autopilot on onboard channel Detected Autopilot Mavlink SYSID 1 Added new UDP connection to 150.0.0.185 CONNECTED to GCS at 150.0.0.185 DISCONNECTED FROM GCS 150.0.0.185
SoftAP Mode tests (every time restarted voxl-mavlink-server):
Exactly the same resultsI'm going to try to take a capture of the traffic and compare the differences between QGroundControl and Mission Planner and revert back to you with more information