ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
I think this is your issue:
transform_listener.transformPointCloud ("/base", ros::Time::now(), input_pointcloud, "/right_hand", transformed_pointcloud);
Looking at the documentation for that method, you appear to be using the wrong method signature. The source frame comes from your point cloud message, i.e., argument 3. If I had to guess, if you look at the header on your point cloud message, it has an empty frame_id
, or a frame_id
of just "/". In the function call you used, "/right_hand" refers to the fixed frame, not the source frame. In other words, I think you used this:
http://docs.ros.org/indigo/api/tf/html/c++/classtf_1_1TransformListener.html#a15311ea62034e9e32386b001d88c23e3
...and you meant to use this:
http://docs.ros.org/indigo/api/tf/html/c++/classtf_1_1TransformListener.html#afccbdbc27da4dceff41b85580a48d0f3
2 | No.2 Revision |
I think this is your issue:
transform_listener.transformPointCloud ("/base", ros::Time::now(), input_pointcloud, "/right_hand", transformed_pointcloud);
Looking at the documentation for that method, you appear to be using the wrong method signature. The source frame comes from your point cloud message, i.e., argument 3. If I had to guess, if you look at the header on your point cloud message, it has an empty frame_id
, or a frame_id
of just "/". In the function call you used, "/right_hand" refers to the fixed frame, not the source frame. In other words, I think you used this:
http://docs.ros.org/indigo/api/tf/html/c++/classtf_1_1TransformListener.html#a15311ea62034e9e32386b001d88c23e3
...and you meant to use this:
http://docs.ros.org/indigo/api/tf/html/c++/classtf_1_1TransformListener.html#afccbdbc27da4dceff41b85580a48d0f3
EDIT: ...and you also need to fill out the frame_id in the header of your point cloud message.