Skip to content

nosnoc/nosnoc_py

Repository files navigation

nosnoc

More documentation can be found on https://nosnoc-py.readthedocs.io/en/latest/

About

nosnoc is an open source Python software package for NOnSmooth Numerical Optimal Control.

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).

Installation

  1. Setup virtual environment:
virtualenv env --python=python3
  1. Source environment:
source env/bin/activate
  1. Install
pip install -e .
  1. Docs In order to build docs also run:
pip -r docs/docs_reqirements.txt

Literature - theory and algorithms

FESD

Finite Elements with Switch Detection for Direct Optimal Control of Nonsmooth Systems
A.Nurkanović, M. Sperl, S. Albrecht, M. Diehl
arXiv preprint 2022

NOSNOC

NOSNOC: A Software Package for Numerical Optimal Control of Nonsmooth Systems
A.Nurkanović , M. Diehl
IEEE Control Systems Letters 2022

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages