This PR adds support for nested models. This feature was available in the original version of the plugin for Gazebo11.
Enhancement
Fixes #6
Supersedes #8.
Details
Ensure methods to find links, joints and sensors search in nested models.
This change will permit more complex models containing sensors and other peripherals to be composed from a collection of simpler models.
ArduPilot plugin
Add a custom version of Model::JointByName.
Search for entities given a scoped name and then check that those found support the required components (Joint and JointVelocity).
In the ApplyForce function add a check that the JointVelocity and JointPosition components are valid before dereferencing them.
Rewrite the search for the IMU sensor component to use scoped names ensuring backwards compatibility.
Models
Update the iris models to use composition. The base model iris_with_standoffs defines the frame and rotor joints. The composite model iris_with_ardupilot adds plugins and uses scoped names to refer to the included models joints and sensors.
This PR adds support for nested models. This feature was available in the original version of the plugin for Gazebo11.
Enhancement
Details
Ensure methods to find links, joints and sensors search in nested models.
This change will permit more complex models containing sensors and other peripherals to be composed from a collection of simpler models.
ArduPilot plugin
Model::JointByName
.Joint
andJointVelocity
).ApplyForce
function add a check that theJointVelocity
andJointPosition
components are valid before dereferencing them.Models
iris_with_standoffs
defines the frame and rotor joints. The composite modeliris_with_ardupilot
adds plugins and uses scoped names to refer to the included models joints and sensors.