This PR fixes a bug where the base model link associated with the ArduPilotPlugin may be incorrectly associated with the wrong model, leading to an incorrect pose being published. The issue is apparent in multi-vehicle simulations.
The fix is to ensure that the link is set in the same if clause as the IMU topic.
Before fix
When running a multi-vehicle simulation, some vehicles will report incorrect position leading to poor EFK status and a loss of control of the vehicle in controlled modes.
After fix
All vehicles will report the correct position and expected EKF status. Tested with a 3-Iris quadcopter configuration.
Thanks for the review @khancyr. The check could be relaxed to be any link in the sub-tree of the model rather than require the IMU is a child of the base link, but that's for another day.
This PR fixes a bug where the base model link associated with the
ArduPilotPlugin
may be incorrectly associated with the wrong model, leading to an incorrect pose being published. The issue is apparent in multi-vehicle simulations.The fix is to ensure that the link is set in the same
if
clause as the IMU topic.Before fix
When running a multi-vehicle simulation, some vehicles will report incorrect position leading to poor EFK status and a loss of control of the vehicle in controlled modes.
After fix
All vehicles will report the correct position and expected EKF status. Tested with a 3-Iris quadcopter configuration.