More documentation can be found on https://nosnoc-py.readthedocs.io/en/latest/
nosnoc
is an open source Python software package for NOnSmooth Numerical Optimal Control.
A detailed overview of the theory and methods behind NOSNOC can be found in the course material of the Summer School on Direct Methods for Optimal Control of Nonsmooth Systems.
It is a structured reimplementation of the Matlab package NOSNOC (https://github.com/nurkanovic/nosnoc), but does not support all features in there (yet). Most importantly, time freezing is not implemented yet.
It implements the FESD (Finite elements with switch detection) method, which allows one to handle nonsmooth ODE systems accurately in simulation and optimal control problems.
More information can be found in the NOSNOC package (https://github.com/nurkanovic/nosnoc).
- Setup virtual environment:
virtualenv env --python=python3
- Source environment:
source env/bin/activate
- Install
pip install -e .
- In order to build docs also run:
pip -r docs/docs_reqirements.txt
- In order to run tests you should install the testing requirements:
pip -r requirements-test.txt
Finite Elements with Switch Detection for Direct Optimal Control of Nonsmooth Systems
A.Nurkanović, M. Sperl, S. Albrecht, M. Diehl
arXiv preprint 2022
NOSNOC: A Software Package for Numerical Optimal Control of Nonsmooth Systems
A.Nurkanović , M. Diehl
IEEE Control Systems Letters 2022