rtabmap_ros + Kinect = 2D map. How to? (newbie)
Hi all, as the title suggests, I need help regarding RGB-D SLAM map creation (using RTAB-Map) -- apologies in advance if I get some terms wrong:
TL;DR Version:
I have a Kinect and ROS Indigo in Ubuntu 14.04 and want to create a 2D map. with no odometry/laser scans (only handheld Kinect) at first. Hardly any experience with ROS as well, so much handholding is needed.
Longer Version:
I'm working on creating a map for navigation of an autonomous robot. Because of time constraints, I'm actually not going to use the robot for now, but will start with using a Kinect by itself, so RGB-D SLAM sounds like the way to go. I found RTAB-Map and it seems like the perfect choice, but I'm having some problems with it (mainly due to me not entirely understanding how it works.) I'm looking to achieve the following:
- Scan the environment with the Kinect (I do this following this tutorial: Kinect Mapping though I would like to minimize lost odometry problems) (Note: I'm using Freenect since OpenNI doesn't seem to detect my Kinect. I'm not sure why.)
- Get the 2D projection of the 3D cloud map (Don't know how to get this, yet)
- Optionally (but preferred), figure out a way to select a vertical "slice" of data to get the 2D projection (i.e.: set a minimum-maximum height to detect obstacles)
- Save the optimized 2D projection as a map, like the ones seen on RTAB-Map demos.
I have almost no experience with ROS, so I need as much handholding as possible.
Could anyone help me do this (or point me in the right direction), please? Thanks in advance.
Edit:
Big thank you to matlabbe for the help (and sorry for not commenting sooner.) After much fighting with the OpenNI drivers, I got the commands above to work, but when adding a Map and then setting the rtabmap/proj_map topic, sometimes I get a "map not found" error.
When it does work, I find that the loop closure detection doesn't appear to be working: i.e., if I scan the area with the Kinect, pause for a while, and then rescan the area again, I get a cloud map that appears to be the same as the original scan, but skewed. It's probably my fault, as I'm not familiar with the software yet, but am I missing something?
If you look at the bottom of your Kinect, I would bet that it is a model 1473 Kinect. This model number doesn't work with openni for some reason. Here is some more info on it here.