This repository provides the multi-robot ROS2 package, which creates a local trajectory for multiple mobile robots. Robots create subgoals to avoid collisions and deadlocks between robots, and then optimize trajectories to those subtgoals.
To generate proper subgoals, PIBT and V-RVO are used. More details are as follows.
Dependencies: This software is built on the Robotic Operating System (ROS). We assume that the followings are installed.
- Ubuntu (Tested on 20.04)
- ROS2 (Tested on ROS Foxy)
- CGAL library
- yaml-cpp library
- costmap_converter package
For installation of CGAL
, use the following commands:
sudo apt install libcgal-dev
For installation of yaml-cpp
, use the following commands:
sudo apt install libyaml-cpp-dev
Build: In order to install the multibot2
package, clone the latest version from this repository and compile the package.
cd ~/{your-ros-workspace}/src
git clone https://github.com/hchju777/multibot2.git
cd ..
colcon build
source install/setup.bash
ros2 launch multibot2_server multibot2_server_simul_launch.py
Spawn robots at once
ros2 launch multibot2_server multibot2_robots_sim_launch.py
Spawn a robot
ros2 launch multibot2_robot robot1_sim_launch.py
Press Scan
button to connect robots to server, then press Start
button.