0
$\begingroup$

Rosanswers logo

I have a Kinect sensor at about 1.5 meters elevation angled downwards by 40 degrees and which can also pan to arbitrary positions, and I'd like to transform the camera/depth/points point cloud from camera coordinates to world coordinates (or an egocentric world frame) so that I can then produce a correct fake laser scan from a fixed horizontally aligned virtual laser scanner at the base of the robot. How do I do this?

So far I've been trying pcl_ros::transformPointCloud, but without much success. I don't want to actually move the points (as seen in Rviz), merely reassign their coordinates relative to a different frame.


Originally posted by JediHamster on ROS Answers with karma: 995 on 2011-03-20

Post score: 1

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

pcl_ros::transformPointCloud is exactly what you want. It computes the positions of each point with respect to a different coordinate frame.


Originally posted by tfoote with karma: 58457 on 2011-03-20

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by JediHamster on 2011-03-20:
Ok, I think I've got it. The variant I needed was pcl_ros::transformPointCloud(destination_frame,from_cloud,to_cloud,TransformListener)

Comment by JediHamster on 2011-03-20:
It might be that I've been using the wrong variant. I have been explicitly calculating a transform from one frame to another, then applying it, but that's probably not what I should be doing.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.