ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | Q&A
Ask Your Question

SLAM with 2D map?

asked 2013-05-22 13:00:20 -0500

CroCo gravatar image

updated 2014-04-20 14:09:50 -0500

ngrennan gravatar image

I'm an absolute beginner in ROS and SLAM and I need some help. I want to provide my project with SLAM to visualize my data ( 2D is enough ). I want to get data from 2D sensor ( laser or any cheap position sensor) and send this data remotely to the Master to visualize the data. The Master is a device provides (x,y,z, roll, pitch, and yaw) and the slave is quadrotor which holds the sensor. I'm using Glut and Glui as GUI. I've implemented remote virtual environment successfully. I'm using C++ in visual studio 2010, so I need to install ROS in it. I'm facing problems with the installation and I don't know even what should I need to install to carry out my project. Please suggest me from where should I start? What is the sensor that suits my project? What are the libraries should I familiarize myself with? I need only to implement SLAM not going further with theatrical concepts because this is a part of my project and not the main purpose.

edit retag flag offensive close merge delete

3 Answers

Sort by » oldest newest most voted

answered 2013-05-22 14:51:20 -0500

astaranowicz gravatar image

updated 2013-05-23 06:40:27 -0500

This probably won't be the answer you are looking for. However, I would suggest not to use Visual Studio or even Windows, IF you want to use ROS. ROS is still experimental in Windows and most packages that do SLAM or any type of mapping have been implemented in a Linux distribution.

I would suggest starting in Ubuntu and installing ROS in that environment. Then using the tutorials to get familiar with ROS. There are plenty of SLAM, Visual SLAM, and Quadrotor Packages out there. A simple search should bring you with plenty of resources to look through.


I'll add my comment here regarding your question in the answers. First, I would add Martin Gunther's answer as the correct answer. Second, GLUT is just an visualization library and it works both in Windows and Linux.

Actually, if you don't really need ROS, you could remove the ROS parts from a package that implemented SLAM using a Laser since it is C++ code. However, if you need ROS for the communications, Martin Gunther's answer is the most helpful.

edit flag offensive delete link more


@astaranowicz, thank you so much. I really envy you guys by knowing Linux. Unfortunately, I don't. Is it possible at least to connect kinect with 2d map by using slam in windows? I'm getting errors with windows. I've posted another post for this error.

CroCo gravatar image CroCo  ( 2013-05-25 01:05:49 -0500 )edit

Actually, I use the Microsoft Kinect SDK on Windows 7. It allows you to read the RGB image and the Depth Map (depth information per pixel), and using OpenCV for processing. You can try as a resource. As far as ROS, I'm at a lost with how to work with it in windows.

astaranowicz gravatar image astaranowicz  ( 2013-05-28 10:18:00 -0500 )edit

@astaranowicz, thank you so much for being helpful. So, it is enough to use OpenCV to implement SLAM after getting the data from the sensor? I made a successful connection with Kinect by using MRPT library however, I'm still struggling with SLAM problem. Could you please elaborate about it.

CroCo gravatar image CroCo  ( 2013-05-29 11:40:40 -0500 )edit

answered 2013-05-23 02:34:42 -0500

updated 2013-05-23 02:37:37 -0500

I agree 100% with @astaranowicz. Learning a little Ubuntu and then developing ROS software on Ubuntu is probably much easier than trying to get big parts of ROS to run on Windows. Heck, it's probably even easier to run 90% of the ROS nodes in a Ubuntu virtual machine on Windows, and only the bare essentials on the Windows host, than trying to get everything to run on Windows.

However, if you absolutely must use windows, have a look at the win_ros stack.

Regarding 2D SLAM on a quadrotor, check out the hector_quadrotor stack, they are basically doing exactly what you want.

Concerning the sensor, I think you'll need a small 2D laser scanner, such as a Hokuyo, provided your quadrotor can carry the weight.

edit flag offensive delete link more


@martin, thank you for the reply. I tried win_ros stack but I'm getting errors. I know there are a lot of people who are familiar with windows want to take advantage of ROS. I hope to start to get it work in windows.

CroCo gravatar image CroCo  ( 2013-05-25 01:12:32 -0500 )edit

answered 2013-05-22 17:02:22 -0500

CroCo gravatar image

Hello astaranowicz, Thanks for the reply. Unfortunately, I have to implement the project in windows by using visual studio 2010. I'm familiar only with windows. Is it complicated to implement SLAM for 2D in windows by using ROS with GLUT?

edit flag offensive delete link more



Please use the comment function instead of posting new answers.

Martin Günther gravatar image Martin Günther  ( 2013-05-23 02:21:23 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2013-05-22 13:00:20 -0500

Seen: 1,511 times

Last updated: May 23 '13