/Probabilistic-Robotics

Solution to programming exercises in the book Probabilistic Robotics, Intro to Autonomous Mobile Robot on Edx.org, and Robot Mapping taught in University of Freiburg (http://ais.informatik.uni-freiburg.de/teaching/ws15/mapping/)

Primary LanguageMATLAB

Probabilistic Robotics

This repo contains my implmentation of 3 probabilistic robotic algorithm

The mathematical derivation of each algorithm (except EKF SLAM) is detailed in the corresponding folder's README.

Getting Started

This project requires Octave and [V-REP] (https://www.coppeliarobotics.com/).

To run EKF Localization,

  • Open V-REP scene via the file ./ekf-localization/scene/mooc_scene.ttt
  • Execute the script ./ekf-localization/code/Ex4_LineEKF/vrep/vrepSimulation.m

To run EKF SLAM,

  • Execute the script ./ch10-ekf-slam/ekf_slam_framework/octave/ekf_slam.m

To run Least-square SLAM,

  • Execute the script ./least-square-slam/lsslam_framework/octave/lsSLAM.m

EKF Localization

The comparison between EKF Localization and Odometry is shown below. In those figures, the grought truth and the estimated by either EKF or odometry is respectively denoted by the grey robot and the yellow robot. It can be seen that while the Odometry diverse from the ground truth after sometime, EKF Localization still manages to track the true state.

alt text

Fig.1 Odometry result

alt text

Fig.2 EKF Localization result

EKF SLAM

The result of using Unscented Kalman Filter SLAM in a simple simulated environment is shown below.

alt text

Fig.3 UKF SLAM result

Least-square SLAM

alt text

Fig.4 Applying LS-SLAM on DLR dataset