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

This means that since the data is being aggregated over time the data should not be expected to move in relationship to the target coordinate frame. When the transform is computed precise timing information is lost.

Inside this method it computes the transforms at both end points in time and then uses linear interpolation to compute the transform for each ray of the laser scan. When projecting into a coordinate frame each of these points is considered at a different time. However when assembled into a pointcloud the whole point cloud can only be assigned one timestamp. Thus any movement of the target_frame relative to the laser scan returns will manifest itself as warping the resultant pointcloud.

This can be envisioned in the extreme by considering a laser scan observing top spinning at 1hz. If a laser scan sweeps across the surface of the top in half a second. The first and last points will be projected onto the same position on the top due to correctly taking into account the timing of each of the rays. Thus the resultant pointcloud will effectively form a loop. And if you want to transform the resultant pointcloud into another frame such as the table underneath, you'll project the loop onto the table, while if you had gone directly into the table coordinate frame you would have seen the flat surface of the top.