- If you are using a Python virtual environment, edit setup.bash to point to the activate script of the virtual environment. One way to do that is:
python3_ver ()
{
python3 -V 2>&1 | sed -e 's/.*3.\([0-9]\).*/py3\1/'
}
mkdir -p .tox/
virtualenv --python=python3 .tox/$(python3_ver)
-
Install gurobi. Edit setup.bash to set GUROBI_LIB_PATH
-
Activate environment and install current package in edit mode
source setup.bash
pip install -e .
pytest
-
To run experiment where unicycle with mean CBF collides with the obstacle run
python -c 'from bayes_cbf.unicycle_move_to_pose import unicycle_mean_cbf_collides_obstacle; unicycle_mean_cbf_collides_obstacle()'
-
To run experiment where unicycle with Bayes CBF drives safely between the obstacles
python -c 'from bayes_cbf.unicycle_move_to_pose import unicycle_bayes_cbf_safe_obstacle; unicycle_bayes_cbf_safe_obstacle()'
-
To run experiment where unicycle gets stuck without learning run
python -c 'from bayes_cbf.unicycle_move_to_pose import unicycle_no_learning_gets_stuck; unicycle_no_learning_gets_stuck()'
-
To run experiment where unicycle passes safely through obstacles due to learning run
python -c 'from bayes_cbf.unicycle_move_to_pose import unicycle_learning_helps_avoid_getting_stuck; unicycle_learning_helps_avoid_getting_stuck()'
- To run pendulum example and compare MVGP with CoGP
from bayes_cbf.pendulum import learn_dynamics_matrix_vector
learn_dynamics_matrix_vector()
- To compare the computation requirement for MVGP vs CoGP vs diagonal
from bayes_cbf.pendulum import speed_test_matrix_vector
speed_test_matrix_vector()
@InProceedings{khojasteh2020probabilistic,
title = {Probabilistic Safety Constraints for Learned High Relative Degree System Dynamics},
author = {Khojasteh, Mohammad Javad and Dhiman, Vikas and Franceschetti, Massimo and Atanasov, Nikolay},
booktitle = {Proceedings of the 2nd Conference on Learning for Dynamics and Control},
pages = {781--792},
year = {2020},
editor = {Bayen, Alexandre M. and Jadbabaie, Ali and Pappas, George and Parrilo, Pablo A. and Recht, Benjamin and Tomlin, Claire and Zeilinger, Melanie},
volume = {120},
series = {Proceedings of Machine Learning Research},
month = {10--11 Jun},
publisher = {PMLR},
pdf = {http://proceedings.mlr.press/v120/khojasteh20a/khojasteh20a.pdf},
url = {https://proceedings.mlr.press/v120/khojasteh20a.html}
}
@article{dhiman2021TACControlBarriers,
author={Dhiman, Vikas and Khojasteh, Mohammad Javad and Franceschetti, Massimo and Atanasov, Nikolay},
journal={IEEE Transactions on Automatic Control},
title={Control Barriers in Bayesian Learning of System Dynamics},
year={2021},
volume={},
number={},
pages={1-1},
doi={10.1109/TAC.2021.3137059}
}