Gazebo + ArduPilot SITL + two aircraft = no link

@rhys Hi, I need urgent help with a Gazebo + ArduPilot SITL multi-aircraft issue.

I can run one aircraft successfully, but when I try to run two aircraft at the same time, both end up with “no link” / connection failure.

Setup summary

  • Gazebo world contains 2 plane models:

    • mini_talon_vtail

    • mini_talon_vtail_target

  • Each model has its own ArduPilotPlugin block and different FDM ports:

    • Plane 1: fdm_port_in=9002, fdm_port_out=9003

    • Plane 2: fdm_port_in=9012, fdm_port_out=9013

  • listen_addr is set to Gazebo computer IP (I also tried alternatives).

  • Control topics are separated (/left_... vs /target/left_...) to avoid topic collision.

What happens

  • With one aircraft: works.

  • With two aircraft: connection breaks / no MAVLink link / aircraft do not appear properly in map/control flow.

What we already tried

  • Unique model names

  • Unique FDM ports

  • Unique control topics

  • Starting SITL instances in order

  • Different instance IDs (-I0, -I1)

  • Different MAVLink out ports

  • Network/firewall checks

Still fails only in dual-aircraft mode.

What I need

Could you please help me identify the exact root cause for multi-aircraft communication (port binding, plugin config, SITL launch arguments, or Gazebo plugin loading issue)?
If possible, please share a known-good 2-aircraft configuration (SDF plugin + SITL launch commands).

Thanks a lot — this is urgent for our project.

@deensza, the ArduPilotPlugin XML in the mini talon model does not have have elements corresponding to <fdm_port_out> or < listen_addr >, so I’m not sure which version you are using?

Incrementing the port by 10 and the instance number when launching SITL is usually all that is required (if there are already two separate copies of the models), provided that the models have different names, and any references to the model name in the SDF is also modified, for example copying the model twice and naming them mini_talon_vtail_0 and mini_talon_vtail_1 should take care of this.

1 Like

We have already done that, it works when its only one talon but when we add second one and try to connect two seperate computers(3 computers , 1 is gazebo environment) one sitl computer always links down

Multiple computers is a different issue. Do you have an example working with all processes on one computer?

Replace all the names in the model file. Change all expressions like “name=…”. That’s how we solved the problem.

I was talking about this, we did everything but still have the same problem.

for example, as other plane too

and we did try with fdm adress=sitl computer. yet still the same

@fyardim did you solve this?