Consider a mobile robot provided with a contact sensor that randomly travels in a closed environment, changing direction every time an obstacle is encountered. Is it possible to reconstruct the 2D map of the environment (and the location of the robot) using just the contact sensor, an odometer, a compass and one front camera (no lidar, laser and other depth sensors)? What techniques can be used?

  • $\begingroup$ You just need a camera to do mapping and localization. You have already tagged the answer to your question "visual odometry". Other sensors are good to have but not mandatory. $\endgroup$ Oct 22, 2019 at 14:06
  • $\begingroup$ Can you provide me some references for camera-only (or camera+odometer) methods? $\endgroup$
    – firion
    Oct 23, 2019 at 9:02
  • $\begingroup$ Please don't delete a questions that may help others and already has an answer. $\endgroup$
    – Mark Booth
    Oct 24, 2019 at 16:26

1 Answer 1


There countless implementations for the camera-only methods. Have a look at the following SLAM codes or demo videos.




Structure from motion

VITAMIN-E https://www.youtube.com/watch?v=yfKccCmmMsM

These are all hand-held SLAMs but can be adapted to your case as well. Feature initialization might be a problem but because odometry is available in your case, it won't be a problem.

Some extra sensors like odometer, compass and etc can be integrated in the pipeline. Just add extra cost function to the already existing optimization code(optimization-based ones) or system model(filtering-based ones).

  • $\begingroup$ I am interested in 2D map estimation (i.e. the perimeter). Which of these method is best suited? $\endgroup$
    – firion
    Oct 23, 2019 at 13:14

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.