Skip to content

JirawatChayayan/robot_rmf_simmulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robot Fleet Management System

Description
This project implements a Robot Fleet Management system using ROS 2 Humble. It allows multiple robots to communicate, share information, and work collaboratively to complete tasks within an environment. The system is designed for automation in warehouses, factories, or any scenario requiring the coordination of multiple robots.


Special Thanks and Credit to Original Sources

I would like to extend my gratitude to the following projects and repositories, which have been invaluable resources:

  1. TurtleBot3 by ROBOTIS-GIT
    A fantastic resource for ROS-based robot development.

  2. Open RMF by open_rmf
    Providing crucial libraries for the development of multi-fleet robotic systems.

  3. RMF Demos by open_rmf
    Offering insightful demonstrations and examples on the use of RMF (Robotics Middleware Framework).

  4. RMF Traffic Editor by open_rmf
    A vital tool for editing and managing traffic schedules in robotic fleet management.

  5. ROSCON_Workshop Providing code for Open-RMF workshop at ROSCon 2022 Kyoto.

Table of Contents

  1. Installation
  2. Getting Started
  3. Usage
  4. Document
  5. Conclusion

Installation

Prerequisites

  1. Operating System: Ubuntu 22.04 (Jammy)
  2. ROS 2 Humble: Follow the installation steps here.
  3. Colcon build system: ROS 2 development tools like colcon are required.

Step-by-Step Instructions

Install ros package as below

sudo apt install ros-humble-cyclonedds
sudo apt install ros-humble-rmf-fleet-msgs
sudo apt install ros-humble-cyclonedds
sudo apt install ros-humble-rmf-fleet-msgs
sudo apt install ros-humble-rmf*
sudo apt install ros-humble-ament-python
sudo apt install ros-humble-ament-package 
sudo apt install ros-humble-ament-pycodestyle
sudo apt install ros-humble-nav2-bringup
sudo apt install ros-humble-navigation2
sudo apt install ros-humble-gazebo-ros-pkgs
python3 -m pip uninstall shapely
sudo apt install python3-shapely

Install python package as below

pip3 install flask==2.0.1
pip3 install Flask-CORS
pip3 install Flask-SocketIO==4.3.2
pip3 install websockets==13.1
pip3 install werkzeug==2.0.2
pip install setuptools==58.2.0
pip3 install fastapi==0.79.0
pip3 install uvicorn==0.18.2

Clone this repository to your workspace

cd <your_ws>/src
git clone https://github.com/JirawatChayayan/robot_rmf_simmulation.git .

Build your workspace

cd <your_ws>
colcon build

Add the following environment variable to your terminal (you can also add this to your ~/.bashrc)*

export SPAWN_ROBOT=3
export TURTLEBOT3_MODEL=burger

Getting Started

Starting gazebo and navigation stack for simulate

ros2 launch turtlebot3_bringup simulator_launch.launch.py 

result after run this launch file Screenshot from 2024-10-23 09-20-24

Starting freefleet server and robot management fleet

ros2 launch turtlebot3_bringup freefleet_and_rmf_server.launch.xml

result after run this launch file image

Starting control robot by RMF panel here image

Usage

Please try to play with Loop mode for delivery tasks (delivery mode is not yet implemented). Follow the image below for testing: image

Some robots will move to the goal like this: image

Document

ROSCon Open-RMF Workshop 2022

Conclusion

The Robot Fleet Management System project serves as a foundational framework for multi-robot coordination using ROS 2 Humble. With this system, various environments like warehouses and factories can benefit from automated robotic fleets. It provides scalability, flexibility, and adaptability through the use of open-source tools, and offers room for further improvements, including dynamic task allocation and real-world deployment. By leveraging the contributions from TurtleBot3 and Open RMF, the system is designed for both research and practical application.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published