Optional Fatrop solver
Fatrop is a fast solver for trajectory optimization. Fatrop can be used to speed up the calculation of trajectory invariants and the generation of trajectories from the invariants.
This installation step is entirely optional, but it is recommended if you intend to use invariants-py
for online applications. If Fatrop is not installed, the default IPOPT
solver is chosen automatically.
Linux installation
To proceed with the installation of Fatrop, clone the following repository:
git clone https://github.com/meco-group/fatrop.git --recursive
cd fatrop
Set the CMake flags. If your device does not use an x64 system architecture, then you should change the BLASFEO_target
parameter (see table of https://github.com/giaf/blasfeo).
sudo apt-get install cmake
export CMAKE_ARGS="-DBLASFEO_TARGET=X64_AUTOMATIC -DENABLE_MULTITHREADING=OFF"
Build and install the Fatropy project:
cd fatropy
pip install --upgrade pip setuptools
pip install .
Finally, install Rockit with the 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
cd rockit
pip install .
To test whether the whole installation of Fatrop is successful, the following commands in Python should work:
import fatropy
import rockit
ocp = rockit.Ocp()
ocp.method(rockit.external_method('fatrop'))