Example of the implementation of the SCQP method using the lin operator

Citation Author(s):
Alejandro
Astudillo
MECO Research Team, KU Leuven; DMMS Lab, Flanders Make
Joris
Gillis
MECO Research Team, KU Leuven; DMMS Lab, Flanders Make
Moritz
Diehl
Department of Microsystems Engineering (IMTEK) and the Department of Mathematics, University of Freiburg
Wilm
Decré
MECO Research Team, KU Leuven; DMMS Lab, Flanders Make
Goele
Pipeleers
MECO Research Team, KU Leuven; DMMS Lab, Flanders Make
Jan
Swevers
MECO Research Team, KU Leuven; DMMS Lab, Flanders Make
Submitted by:
Alejandro Astud...
Last updated:
Tue, 05/17/2022 - 22:18
DOI:
10.21227/q3xw-eg88
Data Format:
Research Article Link:
Links:
License:
0
0 ratings - Please login to submit your rating.

Abstract 

An example of the implementation of the SCQP method using the lin operator is included in the MAIN_example.py file. This file details an optimal control problem involving an inverted pendulum, solved with the sequential convex quadratic programming (SCQP) method, and is based on the example presented in the publication: R. Verschueren, N. van Duijkeren, R. Quirynen, M. Diehl, Moritz, "Exploiting Convexity in Direct Optimal Control: A Sequential Convex Quadratic Programming Method," Proceedings of the 2016 Conference on Decision and Control, 2016, pp. 1099 - 1104.
The source code of the proposed lin operator is included in the lin.py file. The user must have Python 3 and CasADi version 3.5.5 (latest stable version) installed in order to use this script. This script may be used within any implementation, toolbox or library that is based on CasADi expressions.

Instructions: 

lin.py : The user must have Python 3, CasADi version 3.5.5 (latest stable version) and numpy 1.18 installed in order to use this script. The operator must be used as 'lin(f)', where f is a CasADi expression (SX or MX).
MAIN_example.py : The user must have Python 3, CasADi version 3.5.5 (latest stable version) and numpy 1.18 installed in order to use this script. In addition, the file lin.py should be added to the Python path or be hosted in the same path as MAIN_example.py