/Mobile-Robot-Navigation

Primary LanguageC++Apache License 2.0Apache-2.0

Mobile Robot Navigation


Cover

Table of Contents

About the Project

This repository contains simulations of mobile robots moving through indoor scenes in Gazebo. It includes building a mobile robot as well as sensor models, localizing the robot's position, and using Nav2 for indoor navigation.

Getting Started

Prerequisites

This project is based on the C++ version of ROS2. To prepare your PC you need:

  • Install Ubuntu 22.04 on PC or in Virtual Machine Download the ISO Ubuntu 22.04 for your PC
  • Install ROS Humble on your Ubuntu 22.04
  • Install Gazebo 11 on your Ubuntu 22.04
  • Install libraries that are not included in the standard ROS 2 package. Install them with:
sudo apt-get update && sudo apt-get install -y \
     ros-humble-ros2-controllers \
     ros-humble-gazebo-ros \
     ros-humble-gazebo-ros-pkgs \
     ros-humble-ros2-control \
     ros-humble-gazebo-ros2-control \
     ros-humble-joint-state-publisher-gui \
     ros-humble-robot-localization \
     ros-humble-tf-transformations
  • Install Nav2 on your Ubuntu 22.04

Usage

To Launch the Simulation of the Robot

  1. Clone the repo
git clone 
  1. Build the ROS 2 workspace
colcon build
  1. Source the ROS 2 Workspace
. install/setup.bash
  1. Launch the Gazebo simulation
ros2 launch mrobot_bringup mrobot.launch.py

To launch Nav2

  1. Open a new terminal and source the ROS2 Workspace
. install/setup.bash
  1. Launch the Nav2
ros2 launch mrobot_nav2 mrobot_nav2.launch.py

Roadmap

TODOS:

  • Realization of VIO (Visual Inertial Odometry)
  • Project management with Docker

Contributing

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

Acknowledgements