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

odometry feedback from ICP algorithm

asked 2014-04-08 01:25:34 -0600

Dani C gravatar image

I have a Fotonic E70P (ToF camera) publishing a Pointcloud2 topic. So I would like to know a good way to reconstruct a 3D scene through ICP and get published an odometry topic. Could any of the available software for RGBD cameras be used? RGBDSLAM for instance? Or using PCL directly?

I am using ubuntu 12.04 with Hydro and ethzasl_icp_mapping is not available for my version.


edit retag flag offensive close merge delete

4 Answers

Sort by » oldest newest most voted

answered 2014-04-10 21:23:47 -0600

sai gravatar image

Among the open source implementations, RGB-D SLAM, DVO ( ), MRS-MAP ( ) show the state-of-the-art performance on RGB-D cameras. They all rely extensively on the RGB information. CCNY_RGBD is also promising too.

I am not aware if your device (Fotonic) provides the RGB data or not. If not, then you can try calibrating a RGB camera with Fotonic sensor. And then run any the above mentioned methods by renaming the appropriate topics.

But one of the drawback is that they accumulate error over time and there is need to revisit the place to improve the accuracy.( loop closure ) .

I am not sure of what is your target environment and the trajectory you might follow. I would suggest you to first try these open source implementations on Kinect (as setting up the system would be easy and fast), look for the accuracy of the odometry estimates. Based on this you can decide if you would like to use these existing implementations for your task.

Good luck and report what your observations are and your results!

edit flag offensive delete link more

answered 2014-04-08 07:41:07 -0600

Tom Moore gravatar image

updated 2014-04-08 08:16:23 -0600

If I understand what you're after, you just want to use point cloud data and ICP to generate odometry messages. You shouldn't need to do any scene reconstruction for this; just take in the PointCloud2 messages, pass them into pcl's ICP algorithm (example here), get the resulting transform, fill out an odometry message, and publish. Or are you saying you want to do both scene reconstruction and odometry estimation?

edit flag offensive delete link more

answered 2014-04-08 07:59:41 -0600

There´s a multitude of possibilities for doing what you want, but be aware that what you describe is a pretty hard problem with no solution being available that really works out of the box under all circumstances. You can just try simple PCL based registration as suggested by @TheWumpus , you can run a VSLAM approach like ethzasl_ptam or more RGB-D focused approaches like FOVIS, ccny_rgbd and RGBD SLAM. Another option is adapting the PCL Kinfu implementation. All those will show varying performance depending on amount of features visible, shape of the environment, speed of sensor movement and other factors of course.

edit flag offensive delete link more

answered 2014-05-11 23:25:06 -0600

Dani C gravatar image

Thank you all for the ideas. I am trying the package loam_back_and_forth but I am still not shure where can I input my point_cloud2. It designed for 2d moving LIDARS and i'm diving into the code.

edit flag offensive delete link more


You should probably take a look at, as the sensor used there is much closer to the one you use.

Stefan Kohlbrecher gravatar image Stefan Kohlbrecher  ( 2014-05-12 00:38:17 -0600 )edit

Question Tools

1 follower


Asked: 2014-04-08 01:25:34 -0600

Seen: 1,877 times

Last updated: May 11 '14