- Ava Zahedi
- Winter 2023
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
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"
- cmd_src - source of cmd_vel messages
turtlebot.control.demo.hw2.webm
turtlebot.live.demo.hw2.mp4
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.