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

pointcloud_to_laserscan height range

asked 2011-03-14 04:57:42 -0600

updated 2011-03-17 07:43:07 -0600

Murph gravatar image

This might be a bug, or just a misinterpretation. Within pointcloud_to_laserscan/cloud_to_scan.cpp the range of y values checked is negative, whereas I think it probably should be positive. Changing those to positive values (above the ground plane) seems to work for me, whereas otherwise the fake laser scan looks wrong.

Should the height range values normally be negative, because if so this might be yet another case of needing to invert the sensor orientation within the URDF model.

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2011-03-14 05:11:41 -0600

Eric Perko gravatar image

updated 2011-03-14 05:12:14 -0600

The height should be specified in the Z coordinate for a non camera sensor. See REP 103 for specifics on coordinate frame conventions used throughout ROS.

It's not clear to me exactly which pointcloud from the Kinect the pointcloud_to_laserscan is supposed to subscribe to, but it seems unlikely we'd want to subscribe and publish data in the z-forward camera frame as opposed to the z-up frame used everywhere else.

If pointcloud_to_laserscan is doing silly things by assuming it's in a camera coordinate frame (i.e. y-axis is down), then that might be worth filing a bug (at least to document this convention on the pointcloud_to_laserscan wiki page.

edit flag offensive delete link more


Within cloud_to_scan.cpp it looks as if the XZ plane in the laser scan plane, with Y being the vertical axis (assuming a horizontal scan).
JediHamster gravatar image JediHamster  ( 2011-03-14 05:27:24 -0600 )edit
Hmm... looked at the code... it does look like that... That seems a bit odd to me. The only time that would make sense is a pointcloud in the camera frame, not in a standard frame. Perhaps @tfoote (the package's author) can elaborate on why it assumes a camera frame.
Eric Perko gravatar image Eric Perko  ( 2011-03-14 12:52:05 -0600 )edit
I guess it's in the camera frame because the input cloud is typically /camera/depth/points
JediHamster gravatar image JediHamster  ( 2011-03-15 04:04:03 -0600 )edit
The pointcloud_to_laserscan package is a quick thing I threw together to get things working with the Kinect. It doesn't do any transformations or anything. It hasn't been reviewed or released into a stable stack.
tfoote gravatar image tfoote  ( 2011-03-26 10:48:09 -0600 )edit

Question Tools

1 follower


Asked: 2011-03-14 04:57:42 -0600

Seen: 772 times

Last updated: Mar 14 '11