Skip to content

In this project, we implement and compare multiple SLAM algorithms on a TurtleBot to autonomously map and navigate a simulated map provided via Gazebo

Notifications You must be signed in to change notification settings

alko08/ProbRobFinal

Repository files navigation

Project Motivation

Simultaneous Localization and Mapping (SLAM) is a core problem in mobile robotics, enabling robots to autonomously navigate and understand unknown environments by building a map of the environment while simultaneously estimating the robot's position within that map. This capability is crucial for applications ranging from robotic exploration and autonomous navigation to service robots in dynamic environments. The ability of the robot to navigate in its environment based on the map generated by SLAM will be useful in evaluating its ability to perform loop closure.

Robots deployed in environments like office building or houses similar to the house world simulated in Gazebo must deal with challenges such as dynamic obstacles (e.g., people moving around and various obstacles in the scene), varying environmental features, and complex layouts. Successfully navigating and mapping such an environment demonstrates the effectiveness of modern SLAM algorithms and sensor fusion techniques. The ability to localize in this environment will provide valuable insights into the deployment of autonomous robots in similar real-world environments, while giving us real world experience!

Project Definition

In this project, the goal was to implement and compare multiple SLAM algorithms on a TurtleBot - a mobile robot platform - to autonomously map and navigate a medium-sized, fairly complicated simulated world map provided via Gazebo. The TurtleBot was simulated with multiple sensors—including a LIDAR, RGB-D camera, and stereo vision—to gather data about its virtual environment. This project combined mapping and probabilistic localization techniques to allow the robot to create an accurate map while continuously updating its own position relative to its surroundings. Furthermore, during the navigation phase, which we used to evaluate the performance of the SLAM algorithm with respect to accuracy metrics, the localization of the the robot was probabilistically determined via an adaptive particle filter and a probabilistic planning algorithm used to determine trajectory to goal.

Dependencies and Installation

  • sudo apt-get install ros-noetic-dwa-local-planner
  • sudo apt install ros-noetic-slam-toolbox
  • sudo apt install ros-noetic-turtlebot3
  • sudo apt install ros-noetic-navigation2
  • sudo apt install ros-noetic-gazebo-*
  • sudo apt install ros-noetic-cartographer
  • sudo apt install ros-noetic-gmapping
  • sudo apt install ros-noetic-hector

Important Commands

Whenever you open a new terminal session, you should run the command export TURTLEBOT3_MODEL=burger or otherwise set it as an environment variable. Whenever changes are made to your launch file(s), you should run the command source devel/setup.bash from the folder catkin_src.

About

In this project, we implement and compare multiple SLAM algorithms on a TurtleBot to autonomously map and navigate a simulated map provided via Gazebo

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •