TurtleBot3 Simulation, Control, and SLAM
Description
This project was done throughout the winter quarter and includes 4 packages and a library for NU TurtleBot visualization, simulation, control, and SLAM.
Live Demo
Teleoperating the TurtleBot via cmd_vel messages. In this demo, the TurtleBot is commanded to move in a circle.
Simulation Demo w/ SLAM
Moving around obstacles and using SLAM to correct the position estimate of the TurtleBot.
- Red: actual robot position
- Blue: robot position based on odometry
- Green: robot position estimate based on SLAM
Packages
- nuturtle_description
- This package contains urdf files and basic debugging, testing, and visualization code for the WI2023 ME 495 robots.
- nusim
- This package provides a simulated robot environment and uses rviz2 for visualization for a red NU turtlebot.
- nuturtle_control
- This package enables control of the turtlebot via messages on the cmd_vel topic.
- nuslam
- This package allows the turtlebot to perform SLAM with an Extended Kalman Filter implementation.
- turtlelib - A library for handling transformations in SE(2) and other turtlebot-related math.
- rigid2d - vectors, twists, and transformations in 2D
- diff_drive - kinematics for a differential drive robot in 2D
- kalman - Extended Kalman Filter implementation with data association
- circle_fit - circle fitting algorithm given a cluster of points