Plankton
Plankton copied to clipboard
Fix JointStatePublisher plugin
The current JointStatePublisher plugin was not correctly ignoring fixed joints.
While they are not used historically in UUV / Plankton, they can be used instead of all the 0-bounded joints used for examples to define the sensor frames. Using revolute joints with 0-limits has two limitations:
- it increases the load on the physics engine
- it makes it more difficult to use the robot model outside of Plankton, as these joint values are not published (or we have to use a custom publisher)
Additionally, a new tag <only_actuators> is available for the JointStatePublisher plugin. If this is true then only 0-bounded joints and joints containing fin or thruster will be published. Indeed, if a UUV has e.g. a moving camera, the corresponding joint will be controlled / published from a classical ros2_control approach (that can also work on the vehicle).
Hi, Besides the PR on the JointStatePublisher I have encountered a severe bug when building a custom controller.
The PoseGT plugin publishes an Odometry message where both the pose and the twist are expressed in the world frame. The standard Odometry message states that the twist should be expressed in the vehicle frame coordinates. The last commit solves this and complies with Odometry standard.