Skip to content

gjcliff/EKFSLAM-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Extended Kalman Filter SLAM From Scratch

Package List

This repository consists of several ROS packages

  • nuturtle_description - This package contains urdf files and basic debugging, testing, and visualization code for turtlebot3s.
  • nusim - This package contains ros nodes and launchfiles that display turtlebots inside a user-defined arena with user-defined obstacles.
  • nuturtle_control - This package enables control of the turtlebot via geometry_msgs/msg/Twist messages on the cmd_vel topic.
    • This package contains three nodes:
      • turtle_control - Manage the flow of information between all nodes. Convert twists into wheel command values, and motor encoder values into joint states.
      • odometry - Perform odometry calculations for the turtlebot, and publish them for other nodes to see
      • circle - Command the robot to move in a circle, and offer some additional movement related services (stopping and reversing)
  • nuslam - This package contains a node and a launch file that performs EKF SLAM using the turtlebot.

This repository also consists of a custom c++ library:

  • turtlelib - This library contains functions for performing geometry operations in se(2) space and displaying these operations in svg files for testing. This is a C++ library with unit tests for confirming functionality.

To run SLAM with simulated landmark data:
type in the following command:

$ ros2 launch nuslam slam.launch.py

To run SLAM with unknown data association from LIDAR:

$ ros2 launch nuslam unknown_data_assoc.launch.xml

To run SLAM on the turtlebot:
on the turtlebot, type in the following command:

$ ros2 launch nuslam turtlebot_bringup.launch.py

on your computer:

$ ros2 launch nuslam pc_bringup.launch.py

Also check out the post on my website about this project that explains a little more of what it's about: https://graham-clifford.com/SLAM-from-scratch/

Releases

No releases published

Packages

No packages published