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

Revision history [back]

I'm not sure if there is a more elegant way (such as redefining the center of rotation for a transform). What you do need is to have the laser_link at the position where you take your readings, assuming this is what you write in your sensor_msgs::LaserScan as the frame_id.

What we have done in this case so far, is to provide a third "mount" link.

I.e.: base_link->laser_mount_link->laser_link, where base_link->laser_mount_link is basically what you have, except for translation.z, and laser_mount_link->laser_link is really just a static transform only containing the translation.z component. (It goes without saying that this can be adapted the way you need/want)