Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kassasin/fatrop

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FATROP

Fatrop is a constrained nonlinear optimal control problem solver that is fast and achieves a high numerical robustness.

The main features of the solver are:

  • high numerical robustness thanks to advanced numerical optimization techniques, inspired by Ipopt
  • fast by exploiting the optimal control problem structure through a specialized linear solver, based on a generalized Riccati recursion
  • effective handling of path equality and inequality constraints, without relying on penalty methods
  • ability to incorporate exact Lagrangian Hessian information
  • ability to be initialized from any, possibly infeasible, solution estimate
  • interfaced to rockit, which is a high-level optimal control problem specification framework, built on top of CasADi

Disclaimer

At this moment the easiest way to get specify fatrop problems is by using the rockit interface. See Install rockit with Fatropy interface for installation instructions. The fatrop-rockit-plugin is not very stable yet, and still under development. Apart form the rockit interface, we are working on a ocp specification framework, especially developed for specifying fatrop problems.

Installation instructions

At this moment Fatrop is mainly tested on Ubuntu Linux machines. There are two installation types:

Build and install Fatrop and Fatropy

(Recursively) clone this repository

git clone https://gitlab.kuleuven.be/robotgenskill/fatrop/fatrop.git --recursive
cd fatrop

Set the CMake flags, change the BLASFEO target to your system architecture (see table of https://github.com/giaf/blasfeo)

export CMAKE_ARGS="-DBLASFEO_TARGET=X64_AUTOMATIC -DENABLE_MULTITHREADING=OFF"

Build and install the Fatropy project

cd fatropy 
pip install .

Trouble shoot: make sure you're using the newest pip version (pip install --upgrade pip setuptools)

Build and install Fatrop only

(Recursively) clone this repository

git clone https://gitlab.kuleuven.be/robotgenskill/fatrop/fatrop.git --recursive
cd fatrop

Build and install the Fatrop project

mkdir build
cd build
cmake -DBLASFEO_TARGET=X64_AUTOMATIC ..
make -j

If you want to install Fatrop on your system

sudo make install

For non-x64 targets change the BLASFEO_target parameter according to the table of https://github.com/giaf/blasfeo

Install rockit with Fatropy interface

git clone https://gitlab.kuleuven.be/meco-software/rockit.git
git clone https://gitlab.kuleuven.be/u0110259/rockit_fatrop_plugin.git ./rockit/rockit/external/fatrop --recursive
cd rockit
pip install .

Examples

https://gitlab.kuleuven.be/robotgenskill/fatrop/fatrop_rockit_demo

https://gitlab.kuleuven.be/robotgenskill/fatrop/fatrop_benchmarks

Using Fatrop from C++: check file fatrop/executables/RunFatrop.cpp

Developers

Fatrop is developed by Lander Vanroye at the KU Leuven Robotics Research Group under supervision of Wilm Decre.

Contributors:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.9%
  • CMake 1.9%
  • Python 1.2%