Simulating multiple physically connected drones in Gazebo

Great thanks for pinging @bperseghetti! I have seen this issue and wonder if it is related.

In the meantime, I’ve tried to implement a “quick fix” by extracting the x500_1 from the model name connected_group/model/x500_1 and using that instead of the _model_name parameter to pass into the esc and servo .init calls (lines 184 and 189 of GZBridge respectively). This appears to give me the correct /model/x500_1/servo_<x> and /x500_1/command/motor_speed topics in the gz topic -l output. It also allows me to send commands to the nested drone and have it take off (without a ‘shadow drone’)!

Further, in an attempt to quick fix the fake GPS/magnetometer issue, I also changed line 475 to the extracted name x500_1. Without this fix, the commander never gives me the ‘ready for takeoff’ message. With it however, although I am able to take-off, the drone just continues to rise so I guess I am not getting accurate position feedback. Any idea on how to either quickly or properly fix this?

I have also tried the opposite approach i.e. setting PX4_GZ_MODEL_NAME=x500_1 and prefixing all other topics in GZBridge with connected_group/model/ and get the same result. I guess I don’t understand how PX4 is acquiring the position groundtruth?

Thanks for your help so far - much appreciated!