This repository accompanies our ECC 2020 paper Chance-Constrained Sequential Convex Programming for Robust Trajectory Optimization: an algorithm for uncertainty-aware trajectory planning.
Free-flyer robot avoiding obstacles despite uncertain dynamics.
Python 3.5.2 is required. It is advised to run the following commands within a virtual environment.
python -m venv ./venv
source venv/bin/activate
Then, install the package as
pip install -r requirements.txt
pip install -e .
We provide examples for an uncertain free-flyer system and for the Astrobee robot navigating on-board the International Space Station.
cd exps/
python freeflyer_script.py
python astrobee_script.py
We report average computation times below, measured on a laptop equipped with an Intel Core i7-6700 CPU at 2.60GHz with 8GB of RAM. As it depends on the complexity of the scenario (number of obstacles, initial/final conditions) and on the number of inner SCP iterations, we report the total time, total number of SCP iterations, and average time (= total time / nb. SCP iters).
Total Time (Nb. SCP Iters) / Avg. | N = 35 | N = 30 | N = 25 | N = 20 |
---|---|---|---|---|
Freeflyer (CoM offset, 4 obs.) | 174ms (3) / 58ms | 152ms (3) / 51ms | 126ms (3) / 42ms | 104ms (3) / 35ms |
Astrobee (ISS env., 30 obs.) | 3.66s (6) / 0.61s | 2.40s (5) / 0.48s | 1.91s (5) / 0.38s | 1.53s (5) / 0.31s |
@inproceedings{lew2020ccscp,
title={Chance-Constrained Sequential Convex Programming for Robust Trajectory Optimization},
author={Lew, Thomas and Bonalli, Riccardo and Pavone, Marco},
booktitle={European Control Conference},
year={2020}
}