This repository contains code for the "Safe guaranteed exploration for non-linear systems" work. The simulation details for the paper can be found here.
-
Clone the repository and install the dependencies, especially, acados, casadi and check requirements.txt.
-
To run the code, use the following command
python3 sagempc/main.py -i $i -env $env_i -param $param_i
where,
$param_i: Name of the param file (see params folder) to pick an algo and the env type $env_i : An integer to pick an instance of the environment $i : An integer to run multiple instances
E.g., the following command runs SageMPC on the cluttered environment with env_0 and i=2 instance
python3 sagempc/main.py -i 2 -env 0 -param "params_cluttered_car"
-
For visualizations/videos use the following script once your experiment is completed
python3 sagempc/video.py
Goal-directed safe exploration using Car dynamics in unknown, challenging environments.
a) A cluttered environment b) Environment with a large obstable
The car, depicted by the brown box, starts safely at the red star and needs to navigate through a priori unknown obstacles represented by the black region to minimize the loss function, shown by contours, which captures the task of reaching the goal location marked by the green star. Note that we see the black obstacle but the car doesn't know about it and needs to learn about it from samples. To explore the region, it collects measurements depicted by the red points and gradually grows its reachable returnable pessimistic set, shown by the black-yellow lines. Throughout the process, the car does not violate any of the safety-critical constraints, and the resulting safe trajectory traversed by the car is depicted by the blue line.
Similar video for the non-reachable goal environment (Fig. 12 c) is here.