⚠️ This repository is archived. For the latest version of RLSS, please email baskin.senbaslar@usc.edu.
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_simand3d_simmake build_rlss_tests: build testsmake test: run tests
- Set
base_pathto the rlss root folder inexamples/2d_config.jsonandexamples/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.



