Rosanswers logo


I've been using fovis_ros mono_odometer with an asus xtion pro live successfuly, then I found ccny_rgbd, which is more lightweight.

The problem I'm having is that while fovis_ros works great, ccny_rgbd on the other hand gives me terrible odometry with the same hardware: amcl laser drifts very quickly out of the map, so it can not localize.

The only parameter I have changed from default visual_odometry.launch file is the "base_frame" which I changed from camera_link to base_link.

I also provide a base_link to camera_link transform manually, so that this transform reflects the position of the camera relatively to the base:

rosrun tf static_transform_publisher -0.035 0 0.12 0 0 0 base_link camera_link 40

So the camera is not exactly centered on the robotic base, it is a few centimeters distant from the middle of the robot.

This transform works great when used with gmapping, amcl, fovis_ros... so it looks ok to me.

I am wondering whether ccny_rgbd takes in count the relative position of the camera correctly with this transform. Is it supposed to work if the camera is not centered on the robotic base ?

Originally posted by micmac on ROS Answers with karma: 141 on 2013-04-22

Post score: 1


1 Answer 1


Rosanswers logo

I found my problem: it is because I am using a fake laser scan from an asus xtion, and this one worked only if I used original openni_launch instead of the ccny_openni_launch included in the package.

So I did remap the topics in the fake laser launch file so that the cloud points to /depth/points (as provided by ccny_openni_launch) instead of /camera/depth/points (as provided by original openni_launch), and it worked fine with the new ccny_openni_launch.

And also changing the calibration file to "calibration_asus_xtion_pro" in the cnny_openni_launch openni.launch file helped I guess.

Originally posted by micmac with karma: 141 on 2013-04-26

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

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