Multi Vehicle SITL - Unable to target different speeds

Hello everyone,

I am trying to get two different IRIS drones to travel at different speeds in the multi-vehicle gazebo SITL environment. I am able to have them travel in different directions, but regardless of the relative magnitudes of the two velocity setpoints issued, I cannot get one to move faster / slower than the other.
Targets were published in offboard mode using MAVROS and PositionTarget messages with the typemask set to only consider velocities and yaw.

I also noticed that using the ParamSet service through a single instance of MAVROS results in a parameter change for all PX4 instances, so setting different maximum speeds does not resolve the issue.

I do not completely understand the current multi-vehicle implementation, and am unsure of the cause of this interference. Does anybody more familiar with this know if this issue can be resolved under the current multi-vehicle framework?

What speeds are you setting and what are these params?

https://dev.px4.io/master/en/advanced/parameter_reference.html#MPC_XY_CRUISE
https://dev.px4.io/master/en/advanced/parameter_reference.html#MPC_XY_VEL_MAX

I was setting MPC_XY_VEL_MAX.

I tried running some tests just now, and the issue with parameters seems to possibly be a missunderstanding on my part.

I was only updating the parameter for one IRIS, assuming the other would remain at default. While this does not cause any interference in the current instance on the simulation, it replaces the default for subsequent simulations, which led me to believe they were interfering (I assume it permenantly modifies the build space.) I was able to fix the issue by updating the parameter for every IRIS at the start of each simulation.

My initial issues with sending different speed targets to each UAV is possibly related to a cutoff resulting from such a residual parameter. I will check later today.

1 Like