Hello all,
I have been able to follow the steps outlined here to set up a HITL simulation and execute a basic mission, but I wanted to see if I could do this same thing, but with the PX4 connected to a Raspberry Pi (3b+, if the version is relevant). Currently, the simulation computer is connected to the Pi via an Ethernet cable, and I’m able to use Mavlink router on the Pi to connect Gazebo and the PX4, which is connected via the USB cable to the Pi. I’ve used wireshark and have seen that UDP messages are indeed being exchanged between the simulation computer and the Pi, but no messages are being sent from Gazebo’s port to the port on which QGroundControl is listening, and so QGroundControl shows “Disconnected” in the top left hand corner.
If my understanding is correct, QGroundControl should not connect directly to the PX4 in this scenario (i.e. QGroundControl should still be listening on 127.0.0.1:14550
).
I’m supplying the relevant parts of my iris_hitl.sdf
file:
...
<mavlink_addr>[ip of the Pi]</mavlink_addr>
<mavlink_tcp_port>4560</mavlink_tcp_port>
<mavlink_udp_port>15000</mavlink_udp_port>
<serialEnabled>0</serialEnabled>
<serialDevice>/dev/ttyACM0</serialDevice>
<baudRate>921600</baudRate>
<qgc_addr>127.0.0.1</qgc_addr>
<qgc_udp_port>14550</qgc_udp_port>
<sdk_addr>INADDR_ANY</sdk_addr>
<sdk_udp_port>14540</sdk_addr>
...
I will also mention that I’ve manually added a “Comm link” in QGC for UDP messages on “127.0.0.1:14550”, and still received no messages from Gazebo.
I feel like I’m overlooking something very simple, but would appreciate any information you could give. If I need to provide additional information, I will be happy to do so. Thanks!