ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Adding to what @tfoote said, my workaround to the fact that floating joints are not available anymore was to broadcast a base_stabilisedframe, which coincides with my quadrotor's base_link, but rotates along the X- and Y-axis according to the IMU's quaternion (transformed to base_link if an existing imu_link does not coincide with base_linkas well).

After implementing it myself, I found out there is a package called hector_imu_attitude_to_tf, which does exactly that.

This way, when I set the fixed frame in RViz to base_stabilised, I can see the quadrotor roll'ing and pitch'ing. Extending that to broadcast rotation along the Z-axis should be straightforward.

Adding to what @tfoote said, my workaround to the fact that floating joints are not available anymore was to broadcast a base_stabilisedframe, which coincides with my quadrotor's base_link, but rotates along the X- and Y-axis according to the IMU's quaternion (transformed to base_link if an existing imu_link does not coincide with base_linkas well).

After implementing it myself, I found out there is a package called hector_imu_attitude_to_tf, which does exactly that.

This way, when I set the fixed frame in RViz to base_stabilised, I can see the quadrotor roll'ing and pitch'ing. Extending that to broadcast rotation along the Z-axis should be straightforward.

EDIT: Below is an example of how I used the hector_imu_attitude_to_tf package:

<node pkg="hector_imu_attitude_to_tf" type="imu_attitude_to_tf_node" name="base_stabilised_node">
    <param name="base_stabilized_frame" type="string" value="base_stabilised" />
    <param name="base_frame" type="string" value="base_link" />
    <remap from="imu_topic" to="/imu" />
</node>