Skip to content

NU TurtleBot3 visualization, simulation, control, and SLAM. Quarter-long project for ME 495: Sensing, Navigation, and Machine Learning.

Notifications You must be signed in to change notification settings

avazahedi/nuturtlebot-slam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ME495 Sensing, Navigation and Machine Learning For Robotics

  • Ava Zahedi
  • Winter 2023

Package List

This repository consists of several ROS 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.

This repository also contains a custom C++ library

  • 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

Launch File Details

  • ros2 launch nuslam slam.launch.xml
    Command line arguments:
    • cmd_src - source of cmd_vel messages
      • Options are [teleop, circle, none], defaults to "none"
    • robot - choice of robot
      • Options are [nusim, localhost, none], defaults to "nusim"
    • use_rviz - whether or not rviz launches
      • Options are [true, false], defaults to "true"

Physical Testing

turtlebot.control.demo.hw2.webm
turtlebot.live.demo.hw2.mp4

SLAM in Simulation

turtlebot.slam.demo.hw3.webm

Landmark detection can be done with SLAM by launching ros2 launch nuslam landmark_detect.launch.xml.
A demo of this is shown in the nuslam package README.

About

NU TurtleBot3 visualization, simulation, control, and SLAM. Quarter-long project for ME 495: Sensing, Navigation, and Machine Learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published