Issues with multiple vehicles on Microhard network
-
I have multiple Sentinels (SDK 1.3.5) with Mircohard pmddl2450 radios and wifi dongles that I'm attempting to perform indoor flight testing with. I'm using ROS2 nodes to stream mocap data and joystick commands to vehicles nodes via the microhard network. I've had the network set up as point to multipoint with the groundstation radio in master mode and I've had the network set up as a mesh.
With both set-ups everything performs well for up to two vehicles, but as soon as I add a third vehicle performs starts to degrade significantly and is unusable with a fourth vehicle. Mocap data being streamed to the vehicles at 120 Hz is being received between 15-60 Hz by the vehicles with significant stalls (1-2s) throughout operation. The total amount of data being transmitted to the vehicles is about 2Mbps for mocap data alone (500 kbps per vehicle). The px4 data being streamed over the network to the gcs for qgc is only about 25 kbps. I moved that over to wifi to try to clear up some bandwidth but that didn't help.
I've read that this can be a common issue with default settings for the DDS implementation for ros2 so I've been tuning the dds configs to no avail. I decided to write a simple test program sending the same amount of data to the vehicles over the microhard network via zeromq TCP sockets and I'm still seeing significantly degraded performance (latency > 30ms and intermittent stalls) for more than two vehicles.
Should I expect this network topology to work (single ground station radio connected to 4+ vehicle radios) ? The pmddl2450 is marketed as supporting 25 Mbps and I'm not coming close to that. I'm not sure how to continue troubleshooting this so any help/advice is appreciated
-