Home - HeSunPU/grid_slam GitHub Wiki

Welcome to the grid_slam wiki! This is a course project proposed for COS513 and MAE434 in Princeton University. The code was mainly developed in Matlab while I also use some c++ open source codes for ICP algorithm.

Introduction to SLAM

The simultaneous localization and mapping problem, which is also known as SLAM problem, asks if it is possible for a mobile robot can build a map of an unknown environment by spontaneous exploration and precisely locate itself at the same time. The SLAM problem is usually formulated as the picture below.

Illustration of SLAM problem(from reference[2])

In the mathematical model, 4 types of quantities are defined at each step k:

  1. : the state vector consisting of the location and orientation of the robot at time k;
  2. : the control input which drive the robot at time k;
  3. : the observations at time k from different sensors, including sonar, laser and camera;
  4. : the map describing the locations of landmarks, which is usually assumed as time invariant;

2 of these quantities, and , are known in the model. By the definition of the problem, we need to achieve two goals based on those knowledge, that is estimating and step by step.

Project Description

Our goal is to achieve a SLAM algorithm using data from several different sensors, including sonar, laser and camera. We plan to first replicate the results of published papers on the dataset with single sensor, and then we will move to the real data collected by our own robot, which is more noisy and involves several different kind of data.

Dataset

The dataset we are exploring currently is ACES3, Austin Dataset. It is an laser range finder dataset. Other available datasets can be found on OpenSLAM website. Those datasets are collected by various types of sensors. For example, TUM datasets are Kinect based and UCI Mobile Robots datasets are sonar based. Those dataset can be used for our further exploration before implementing on the real robot.

Reference

  1. Klingspor, Volker, Katharina J. Morik, and Anke D. Rieger. "Learning concepts from sensor data of a mobile robot." Machine Learning 23.2-3 (1996): 305-332.
  2. Durrant-Whyte, Hugh, and Tim Bailey. "Simultaneous localization and mapping: part I." Robotics & Automation Magazine, IEEE 13.2 (2006): 99-110.
  3. Bailey, Tim, and Hugh Durrant-Whyte. "Simultaneous localization and mapping (SLAM): Part II." IEEE Robotics & Automation Magazine 13.3 (2006): 108-117.
  4. Davison, Andrew J., et al. "MonoSLAM: Real-time single camera SLAM." Pattern Analysis and Machine Intelligence, IEEE Transactions on 29.6 (2007): 1052-1067.
  5. Fuentes-Pacheco, Jorge, José Ruiz-Ascencio, and Juan Manuel Rendón-Mancha. "Visual simultaneous localization and mapping: a survey." Artificial Intelligence Review 43.1 (2015): 55-81.
  6. Xi, Baiyu, et al. "Simulation research for active simultaneous localization and mapping based on extended kalman filter." Automation and Logistics, 2008. ICAL 2008. IEEE International Conference on. IEEE, 2008.
  7. Steux, Bruno, and Oussama El Hamzaoui. "tinySLAM: A SLAM algorithm in less than 200 lines C-language program." Control Automation Robotics & Vision (ICARCV), 2010 11th International Conference on. IEEE, 2010.
  8. [Moravec, Hans P., and Alberto Elfes. "High resolution maps from wide angle sonar." Robotics and Automation. Proceedings. 1985 IEEE International Conference on. Vol. 2. IEEE, 1985.](Moravec, Hans P., and Alberto Elfes. "High resolution maps from wide angle sonar." Robotics and Automation. Proceedings. 1985 IEEE International Conference on. Vol. 2. IEEE, 1985.)
  9. Thrun, Sebastian, Wolfram Burgard, and Dieter Fox. Probabilistic robotics. MIT press, 2005.
  10. Montemerlo, Michael, et al. "FastSLAM: A factored solution to the simultaneous localization and mapping problem." AAAI/IAAI. 2002.
  11. Montemerlo, Michael, and Sebastian Thrun. "FastSLAM 2.0." FastSLAM: A Scalable Method for the Simultaneous Localization and Mapping Problem in Robotics (2007): 63-90.