Skip to content
forked from hbx233/ekf_slam

A Sparse Line-Based EKF SLAM System for Indoor Environment

Notifications You must be signed in to change notification settings

khshmt/ekf_slam

 
 

Repository files navigation

Sparse Line-Based EKF SLAM System for Indoor Environment

1. Introduction:

This project implemented an EKF SLAM system for indoor differential robot, which use laser range finder as its main sensor. Assume no prior knowledge of environment, can simultaneously build a map of sparse lines and localize robot, no limitation of map size.

2. V-REP Simulation Environment:

This project V-REP 3.5.0 as the simulation environment, the scene file is provided in scene/scene.ttt

3. Prerequisites

Built and tested on Ubuntu 16.04

Dependencies:

  1. ROS Kinetic
  2. Eigen: 3.3.5

4. Run Example:

  1. Launch roscore
roscore
  1. Open V-REP software and open the provided scene file /scene/scene.ttt
  2. launch EKF SLAM system
roslaunch ekf_slam ekf_slam.launch

Then use 'W' 'A' 'S' 'D' to control robot to move up, left, down and right

5. Mathematical Derivation

The complete mathematical derivation of whole system can be found in Mathematical Derivation.pdf file

6. Result:

The white line is ground truth of robot trajectory, and the yellow line is posterior estimation of robot trajectory.

Figure 1 Normal trajectory

Figure 2 Trajectory with unexpected collision

The trajectory contains four unexpected collision. When collision occurs, the posterior estimation will not be as accurate as normal, but the system can recover from collision error afterwards, which shows the robustness of the system

About

A Sparse Line-Based EKF SLAM System for Indoor Environment

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.5%
  • CMake 2.5%