ROS wrapper for CL-CBS with some extra functionality like parameter reconfiguration and the ability to drive through multiple waypoints. Follows the structure and format of MuSHR Coordination.
If you don't already have a full installation of ROS, follow the instructions at https://wiki.ros.org/Installation to install ROS on your system.
Install OMPL:
sudo apt-get install libompl-dev
Clone this repo and build:
cd ~/catkin_ws/src/
git clone --recurse-submodules https://github.com/arnavthareja/clcbs_ros.git
cd ~/catkin_ws
catkin_make
If you want to launch the map server in launch/init_clcbs.launch
, install the MuSHR platform. To disable the map server, edit the map_server
arg in launch/init_clcbs.launch
to have a value of 0.
Open 3 terminals.
Terminal 1:
roscore
Terminal 2:
roslaunch clcbs_ros clcbs_ros.launch
Terminal 3:
roslaunch clcbs_ros init_clcbs.launch
In a new terminal:
rviz -d ~/catkin_ws/src/clcbs_ros/rviz/clcbs.rviz
Make sure to start rviz before launching init_clcbs.launch
.
/{car_n's name}/init_pose (geometry_msgs/PoseStamped)
The initial position of car_n. car_n's name is taken from the config file used in both clcbs_ros.launch
and init_clcbs.launch
.
/clcbs_ros/obstacles (geometry_msgs/PoseArray)
A list of obstacles in the environment to avoid.
/clcbs_ros/goals (clcbs_ros/GoalPoseArray)
The goal poses for the cars to drive to.
/{car_n's name}/waypoints (geometry_msgs/PoseArray)
The navigation plan outputted for car_n. car_n's name is taken from the config file used in both clcbs_ros.launch
and init_clcbs.launch
.
/{car_n's name}/marker (visualization_msgs/Marker)
Markers for visualization of car_n's inputted goal poses. car_n's name is taken from the config file used in both clcbs_ros.launch
and init_clcbs.launch
.
/clcbs_ros/border (visualization_msgs/Marker)
The boundary of the environment for visualization.
std_msgs/Header
Header
float64
scale
float64
minx
float64
miny
float64
maxx
float64
maxy
geometry_msgs/PoseArray[]
goals