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.
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
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.
Fig.1 Odometry result
Fig.2 EKF Localization result
The result of using Unscented Kalman Filter SLAM in a simple simulated environment is shown below.
Fig.3 UKF SLAM result
Fig.4 Applying LS-SLAM on DLR dataset