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

Fixed target frame for transformLaserScanToPointCloud?

asked 2012-08-28 00:04:16 -0600

damonkohler gravatar image

The documentation states:

Since we are gathering data across the time of the scan, it is often important that the chosen target_frame is actually a fixed frame.

What's meant by "fixed" in this context? I assume it means that the transform between the laser scanner frame and the target frame is static?

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-08-29 23:53:18 -0600

tfoote gravatar image

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.

edit flag offensive delete link more

answered 2012-08-28 10:49:43 -0600

mjcarroll gravatar image

I interpreted it to mean that the lidar is moving relative to this "fixed" frame, but you have an available transform at the time of each scan. This means that while the lidar moves through it's series of poses, the fixed coordinate frame will stay in the exact same location.

I think that the laser_assembler package does exactly this for the PR2. I'm not positive, but I believe that their static frame is "/base_link", which is the base of the PR2 chassis.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2012-08-28 00:04:16 -0600

Seen: 806 times

Last updated: Aug 29 '12