I'm doing a project with the iRobot Create 2. I want it to be able to map out a room and navigate to a point for example. My problem is that the robot doesn't have any distance sensors. What it can do is detect if there is an obstacle ahead of it or not (0 or 1) and it can measure how far it has traveled in millimeters. Any good techniques out there or best to buy an IR sensor?

  • $\begingroup$ Does it have any physical "bump" sensors (switches)? If so it may be possible to extend flexible "feelers" ahead of the main body. It might be a bit kludgy though. $\endgroup$
    – Andy
    Jul 22 '16 at 16:20
  • 1
    $\begingroup$ If we don't know what sensors it has we cannot help. Have you looked at this? $\endgroup$
    – TechAUmNu
    Jul 22 '16 at 16:23
  • $\begingroup$ Does the odometry account for wheels slipping? In other words, if the vehicle is pressed up against an obstacle and the wheels are spinning, will the sensor tell you that you are making forward progress? $\endgroup$
    – Ian
    Aug 2 '16 at 14:18

With footslam or actionslam it is possible to locate pedestrian and smartphones even they have no distance-sensor. It is an advanced stochastic technic which is derived from classical "sebastian thrun slam" but uses less input data. The precision is low and thats the reason why footslam is often used together with other localisation techniques like satellite GPS. But, a "footslam only" implementation is possible. Most research on this topic is done by DLR (Deutschen Zentrums für Luft- und Raumfahrt) which also has invented lots of similar algorithms like MagSlam oder WISLAM.

According to iRobot Create 2 sensors the irobot Create 2 has a "light bumper" as a sensor. To use this in a stochastic model the following sources may help:

  1. Hassan A. Karimi: Indoor Wayfinding and Navigation, 2015, page 125-139
  2. Dmytro Bobkov: Simultaneous Localisation and Mapping for 3D Pedestrian
  3. Michael Hardegger, Michael: Navigation based on FootSLAM using Inertial Sensors, 2012
  4. ActionSLAM on a Smartphone: At-Home Tracking with a Fully Wearable System, 2013

According my knowledge, there is no ready-to-run footslam-implementaton on github which can be used via out-of-the-box. But under the term "indoor mapping" there are a lots of opensource projects which are used together with smartphones.

  • $\begingroup$ Would you please expand your answer with a source or some math? This is an interesting problem, and OP might be able combine the FootSlam with localization using the Create 2 dock, which projects a cross on the ceiling of the room using IR. $\endgroup$
    – JSycamore
    Jul 28 '16 at 14:09
  • $\begingroup$ I see your point. According to a google search with "site:robotics.stackexchange.com footslam" there is no other answer before which explaines what footslam is. So a litte bit further information are necessary. $\endgroup$ Jul 28 '16 at 18:27
  • $\begingroup$ @ManuelRodriguez - Even if other answers existed on this site, all answers should ideally be fully documented. If you were to have found another answer that did explain the method, and you didn't want to re-explain it, you can link to that answer (with context). $\endgroup$
    – Chuck
    Jul 28 '16 at 21:15

I would suggest you better used some ultrasonic sensors. iRobot is compatible with both arduino and raspberry pi. There are lots of good and cheap sensors, for both platforms, along with some good examples on the net. You have to find a way to save the data though. That means two things: 1. you need extra space to save those (if in arduino) and 2. find a formula to create them. What you suggested with the travel per millimeters should definitely be into consideration. Sensors are to declare what and where is an obstacle. Another problem is making your robot "unerstand" in which point of the mapped area is it moving at a given time, so that it won't have to check again what an obstacle looks like. Last but not least, it has to know when to stop mapping a room. Start by letting it calculate the dimensions of the area it will be moving into (going round the walls).


"I want it to be able to map out a room and navigate to a point for example."

to map the room you need to localize the robot (thus you have to implement SLAM algorithm), unless you have a mean of recuperating the position of the robot (localizing it)

Navigation is another problem, I suggest you start working on the SLAM problem to map the environment later on you could tackle the navigation problem

" My problem is that the robot doesn't have any distance sensors."

you don't necessarily need a distance sensor (LIDAR for example), you can use a web cam and implement a kind of SLAM known as monocular SLAM


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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