0
$\begingroup$

Rosanswers logo

Hello everyone, I am new to the ROS community.

I am a student at University of California, Santa Cruz and currrently working on a project which requires 3D mapping of the room. In short, my project is to create a robot which rides along a rail on the ceiling with an arm an a Kinect mounted on it. My subteam and I are responsible for mapping the room with the Kinect and controlling the arm and the cart on the ceiling.

Before joining this project, my team and I have no prior experience with ROS or computer vision. After many hours of tutorials, reading and experimenting with the point cloud library, we managed to learn how the sensor work.

Our next goal is to be able to reconstruct a 3D map of a room. After some research, there are many methods of doing this, such as, RGBDSLAM, Octomap, and OpenCV libraries. I was hoping the ROS community can guide us to picking the simplest way we can map a room with a Kinect, given we can have multiple Kinects and can access the entire room. The project is a proof of concept and we do no require much optimization for computational speed.

My first attempt at this would be Octomap, but having some trouble compiling. If anyone can lend us any guidance, that would greatly appreciated.

Thank you.


Originally posted by p.wong on ROS Answers with karma: 41 on 2013-02-18

Post score: 4


Original comments

Comment by dejanpan on 2013-02-18:
In my POV there isn't a one package in ROS that will just work out of the box. OctoMap, last I checked, was about the representation of the space and not 3D reconstruction. The best I have seen working though were large scale KinFu from PCL and https://github.com/ccny-ros-pkg/ccny_rgbd_tools.

Comment by rasoo on 2016-08-17:
Hi there, did you managed to create the map successfully. I am having Robotino and a kinect sensor, ubuntu 14.4 and ROS Indigo version. In my robot there is no laser scanner. Kinect publishes pointclou2 version data and Distance sensors publishesh pointcloud data. Also odeometry data is available...

Comment by rasoo on 2016-08-17:
But I am not able to create a map and having trouble. Can anyone please suggest me how can I do this. Thanks in advance.

$\endgroup$

3 Answers 3

0
$\begingroup$

Rosanswers logo

People have already suggested rgbdslam, so I will offer my (also obviously biased) suggestion - check out ccny_rgbd. It provides tools for processing, visual odometry and mapping form RGB-D data. I just added support to export in serveral formats, including colored octomaps (see the pictures).

There are installation and usage instructions in the wiki pages.


Originally posted by Ivan Dryanovski with karma: 4954 on 2013-02-18

This answer was ACCEPTED on the original site

Post score: 4


Original comments

Comment by p.wong on 2013-02-19:
Thank you everyone for the replies, I really appreciate it. I managed to get rgbdslam running, but it is giving me issues. The 3d map generated looked very low in resolution, and I wasn't able to get a 360 of the room. I will try out ccny_rgbd and rgbd6dslam to see if I get better results.

Comment by p.wong on 2013-02-19:
Thank you everyone for the replies, I really appreciate it. I managed to get rgbdslam running, but it is giving me issues. The 3d map generated looked very low in resolution, and I wasn't able to get the 360 room.

$\endgroup$
0
$\begingroup$

Rosanswers logo

My (obviously biased) suggestion would be to use rgbdslam. In the latest version it can be used very easily to create an octomap for you. Since you have no experience in ROS, the GUI will greatly help you. If you use Ubuntu 11.10 or 12.04, you can just follow the installation walkthrough on the rgbdslam wiki page for ROS+RGBDSLAM+OctoMap. As described there, the octomap library can be installed from binary packages and doesn't have to be compiled (there are no rgbdslam binaries though).


Originally posted by Felix Endres with karma: 6468 on 2013-02-18

This answer was NOT ACCEPTED on the original site

Post score: 4

$\endgroup$
0
$\begingroup$

Rosanswers logo

I just tried RGBDSlam a few weeks ago as a handheld scanner with very bad results. The error drift is increasing dramatically which will result in very badly aligned scan matches. Another problem is, that this algo uses rgb information only for scan matching, so if your room doesn't provide enough features, the internal scan matcher (ICP I guess) will not work properly. Also there is a memory cap which will crash the program without warning. The kinfu largscale from pcl (you need to checkout pcl unstable and compile from source) worked much better, but requires at least 2GB GPU-Ram

(unbiased suggestion)


Originally posted by stfn with karma: 287 on 2013-02-18

This answer was NOT ACCEPTED on the original site

Post score: 3


Original comments

Comment by Felix Endres on 2013-02-19:
There is no default internal scan matcher, so that probably explains your problems. RGBSLAM needs features. One can enable gicp matching with a parameter, but I haven't tested it for a long time. There is no memory cap, except the one of your system (I can fill my 16GB without crashing).

Comment by stfn on 2013-02-19:
Of course there is some kind of default scan matcher: RANSAC/ICP. How else would you register the current scan and update the camera pose. Anyway, I'm just saying the error drift was big in our scan, despite the online graph optimization.

Comment by stfn on 2013-02-19:
Either the environment didn't provide good feature points, or the odometry calculated by the acc-sensor is bad resp. not used, or the algorithm just doesn't work that accurate.

Comment by Felix Endres on 2013-02-19:
What I meant is that there is (per default) no scan matcher apart from the one using the feature correspondences. So if you don't have features, it won't work. There is also no use of any odometry.

$\endgroup$

This site is temporarily in read-only mode and not accepting new answers.