Optimization of a Pendulum System using Optimica and Modelica

Pontus Giselsson
Dept. of Automatic Control, Lund University, Sweden

Johan Åkesson
Dept. of Automatic Control, Lund University, Sweden \ Modelon AB, Sweden

Anders Robersson
Dept. of Automatic Control, Lund University, Sweden

Ladda ner artikelhttp://dx.doi.org/10.3384/ecp09430094

Ingår i: Proceedings of the 7th International Modelica Conference; Como; Italy; 20-22 September 2009

Linköping Electronic Conference Proceedings 43:53, s. 480-489

Visa mer +

Publicerad: 2009-12-29

ISBN: 978-91-7393-513-5

ISSN: 1650-3686 (tryckt), 1650-3740 (online)


In this paper Modelica and Optimica are used to solve two different optimal control problems for a system consisting of a pendulum and a cart. These optimizations demonstrates that Optimica is easy to use and powerful when optimizing systems with highly non-linear dynamics. The optimal control trajectories are applied to a real pendulum and cart system; in open loop as well as in closed loop with an MPCcontroller. The experiments show that optimal trajectories from Optimica together with MPC feedback is a suitable control structure when optimal transitions through non-linear dynamics are desired.


Optimal control; Optimica; Modelica


[1] Johan Åkesson. Optimica—an extension of modelica supporting dynamic optimization. In In 6th International Modelica Conference 2008. Modelica Association; March 2008.

[2] Johan Åkesson; Tove Bergdahl; Magnus Gäfvert; and Hubertus Tummescheit. Modeling and optimization with modelica and optimica using the jmodelica.org open source platform. In Proceedings of the 7th International Modelica Conference 2009. Modelica Association; September 2009.

[3] Johan Åkesson; Magnus Gäfvert; and Hubertus Tummescheit. Jmodelica—an open source platform for optimization of modelica models. In Proceedings of MATHMOD 2009 - 6th Vienna International Conference on Mathematical Modelling; Vienna; Austria; February 2009. TU Wien.

[4] Karl Johan Åström and Katsuhisa Furuta. Swinging up a pendulum by energy control. Automatica; 36:278–285; February 2000. doi: 10.1016/S0005-1098(99)00140-5.

[5] L.T. Biegler; A.M. Cervantes; and A Wächter. Advances in simultaneous strategies for dynamic optimization. Chemical Engineering Science; 57:575–593; 2002. doi: http://dx.doi.org/10.1016/S0009-2509(01)00376-1.

[6] Python Software Foundation. Python Programming Language – Official Website; 2009. http://www.python.org/.

[7] Per-Ola Larsson and Rolf Braun. Construction and control of an educational lab process - the gantry crane. In Reglermöte 2008; Luleå; June 2008.

[8] Modelon AB. JModelica Home Page; 2009. http://www.jmodelica.org.

[9] Pontus Giselsson. Laboratory Exercise in Nonlinear Control and Servo Systems; 2009. http://www.control.lth.se/course/FRTN05/labs/lab3/lab3.html.

[10] Andreas Wächter and Lorenz T. Biegler. On the implementation of an interior-point filter line-search algorithm for large-scale nonlinear programming. Mathematical Programming; 106(1):25–58; 2006. doi: 10.1007/s10107-004-0559-y.

[11] Magnus Wiklund; Anders Kristenson; and Karl Johan Åström. A new strategy for swinging up an inverted pendulum. In Preprints IFAC 12th World Congress; volume 9; pages 151–154; Sydney; Australia; July 1993.

Citeringar i Crossref