Skip to content

philip-huang/mr-shortcut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-Robot Shortcut Benchmark

Docker Build and Test GitHub Pages

Project Page ArXiv

This is the repository for our paper "Benchmarking Shortcutting Techniques for Multi-Robot Arm Motion Planning".

Sneak Peek: 10× Faster Multi-Robot Shortcutting

Visualization of upcoming fast shortcutting pipeline

Our new fast collision checker sets a new bar, delivering a real-time multi-robot-arm motion shortcutter with 10× gains over the strongest existing pipelines. Full paper and code release are available here

Installation

Build the docker image and run it inside docker

cd docker && bash build.sh

If you are not using the docker file, the following setup has been tested on Ubuntu 20.04 with ROS Noetic. You may need to install some system dependencies

Follow the ros tutorial to create a workspace tutorial For building code, I use catkin tools, which are documented here

then use the script mr-shortcut/mr-shortcut/scripts/build.sh to compile, and

Download the dataset

The dataset of RRT-generated and CBS-generated trajectories are avaiable here.

To automatically download and extract the dataset, run cd mr-shortcut/mr-shortcut/scripts and bash download_dataset.sh.

Alternatively, you can manually download and extract them under mr-shortcut/mr-shortcut/outputs

Run example

To validate the installation, you can run the following example with two GP4 robot arms with 1 second of shortcutting.

roslaunch mr-shortcut dual_gp4.launch shortcut_time:=1.0

Benchmark shortcutting on different environments

I have included several launch files for running planner in different environments, which are panda_two, panda_three, panda_four, panda_two_rod, and panda_four_bin.

A script to run all evaluations in parallel and reproduce the results in our paper. We used a AMD Threadripper 3990X CPU and evaluate 10 processes in parallel. Run

cd mr-shortcut/scripts
python benchmark.py

We also provide a script, mr-shortcut/scripts/plot.py to generate the plots in our paper. Check the script for more details on the plot options. For example, run

cd mr-shortcut/scripts
python plot.py plot_comp

To generate a comparison of makespan improvement for cbs-generated trajectories (Fig. 4) in our paper.

Code Structure

  • docker: dockerfile and setup script
  • env: robot environments (URDF, moveit configuration packages)
  • mr-shortcut: implementation of shortcutting algorithms and utilities
    • include: API of the library

      • instance.h: Class for the planning scene
      • logger.h: Utilities for logging
      • planner.h: Implements a multi-robot planning interface
      • SingleAgentPlanner.h: Implements the single agent planning algorithm
      • tpg.h: Implements the Temporal Plan Graph execution policy and post-processing algorithm
      • shortcutter.h: Implements various shortcutting algorithms
    • src: Code for the library and executable

      • demo_node.cpp: Executable for testing single-step planning
    • launch:

      • dual_gp4.launch, panda_two.launch, panda_two_rod.launch, panda_three.launch, panda_four.launch, panda_four_bins.launch: Launch files for testing the single agent planning
    • scripts:

      • benchmark.py: Python scripts for benchmarking motion planning/TPG processing in parallel
      • plot.py: Visualize the results
    • outputs: Trajectoreis and outputs

      • cbs: CBS-generated trajectories stored in csv file
      • tpg : RRT-generated trajectories stored in custom TPG-formated files

Citation

If you find this repository useful for your research, kindly cite the following work

@inproceedings{Huang2025BenchmarkingShortcut,
        title     = {Benchmarking Shortcutting Techniques for Multi-Robot Arm Motion Planning},
        author    = {Huang, Philip and Shaoul, Yorai and Li, Jiaoyang},
        year      = {2025},
        booktitle = {IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)}
      }

About

Benchmarking Shortcutting Techniques for Multi-Robot Arm Motion Planning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors