RLSS is a real time trajectory replanning algorithm for multi robot teams. RLSS combines A*-based discrete search with QP based trajectory optimization where linear separations enforce safety.
RLSS,
- computes provably executable trajectories for differentially flat robots
- enforces safety as hard constraints
- can work in real-time (1-10 Hz)
- requires perfect sensing of only the positions of robots and obstacles
- does not depend on communication for safety
Please use the following entry to cite RLSS:
@article{senbaslar2021rlss,
author = {{{\c{S}}enba{\c{s}}lar}, Bask{\i}n and {H{\"o}nig}, Wolfgang and {Ayanian}, Nora},
title = "{RLSS: Real-time Multi-Robot Trajectory Replanning using Linear Spatial Separations}",
journal = {arXiv e-prints},
keywords = {Computer Science - Robotics},
year = 2021,
month = mar,
eid = {arXiv:2103.07588},
pages = {arXiv:2103.07588},
archivePrefix = {arXiv},
eprint = {2103.07588},
primaryClass = {cs.RO}
}
RLSS depends on Eigen3, Boost. It also depends on ILOG CPLEX C++, GUROBI as optimization libraries.
git clone -b master https://github.com/usc-actlab/rlss/
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_RLSS_EXAMPLES=ON -DENABLE_RLSS_JSON_BUILDER=ON ..
make -j4
cd $GUROBI_HOME/src/build
make
cd $GUROBI_HOME/lib
rm libgurobi_c++.a
ln -s ../src/build/libgurobi_c++.a libgurobi_c++.a
make 2d_sim
: build 2D simulator examplemake 3d_sim
: build 3D simulator examplemake build_rlss_examples
:2d_sim
and3d_sim
make build_rlss_tests
: build testsmake test
: run tests
- Set
base_path
to the rlss root folder inexamples/2d_config.json
andexamples/3d_config.json
- Dependencies for 2D visualizer
pip3 install matplotlib sudo apt install ffmpeg pip3 install numpy
- For 2D visualization run:
cd build ./2d_sim (outputs vis.json) python3 ../tools/vis/2d/run.py vis.json
- 3D visualizer requires ROS and rviz.
- Dependencies for 3D visualizer
pip3 install rospkg pip3 install sympy pip3 install numpy BEZIER_INSTALL_PREFIX=./ BEZIER_NO_EXTENSION=true pip3 install bezier==2020.5.19
- For 3D visualizer run:
(terminal A) cd build (terminal A) ./3d_sim (outputs vis.json) (terminal B) roscore (terminal C) rosrun rviz rviz (rviz) Add > MarkerArray (topic: visualization_marker_array) (rviz) Set background color to white (terminal A) python3 ../tools/vis/3d/run.py (terminal A) start vis.json (reads vis.json and displays the result in rviz)
3D visualizer accepts several command line commands for visualization.
start <simulation_output>
: Starts the visualization for the simulation output filestop
: Stops the current visualizationforward
: Run visualization forwardbackward
: Run visualization backwardpause
: Pause visualizationstep
: Move 1 step in visualizationunpause
: Unpause visualizationhelp
: List available commandsexit
: Exit visualizer
The ROS integration of RLSS is developed in a separate repo: rlss_ros.