What 2D SLAM implementations (preferably included in ROS) can be used with simple distance sensors like IR or ultrasonic rangefinders?

I have a small mobile platform equipped with three forward facing ultrasonic sensors (positioned at 45 degrees, straight ahead, and -45 degrees), as well as a 6-DOF accel/gryo and wheel encoders, and I'd like to use this to play around with a "toy" SLAM implementation. I don't want to waste money on a Kinect, much less a commercial laser rangefinder, so methods that require high-density laser measurements aren't applicable.


2 Answers 2


The actual implementation of SLAM won't care about whether you are using high fidelity laser range finders or cheaper ultrasonic sensors. Both are providing range measurements with the biggest difference being the uncertainty. Of course ultrasonic sensors work on different principles so there is more to it than that, but both are providing range measurements so you could swap between either one and much of your SLAM algorithm won't change.

The biggest challenge will likely be identifying landmarks or features in the environment that will form the map. With a Kinect or sweeping laser scanner you can pick out and track features relatively easily. However, with only 3 ultrasonic sensors whose field of view is rather wide and are subject to echoes and other complications, you will have a hard time recognizing objects or features in the environment.


Use single ultrassonic sensor with DOF mechanism & try use arduino board, create a node for gmapping use ultrasonic simple arduino code swap the variable in gmapping node code. Once you get distance it would easy for you to publish these variable of a network you can use as you want.

The most difficult task is swapping variable in arduino code. You must use your programming skills for swapping these variable.

One thing I'm not sure about rate of "distance variable", it would be sufficient or not for gmaaping. Maybe by using laser sensor rate of distance variable is higher.


Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.