Jump to content

Cart Pendulum: Difference between revisions

From mintOC
No edit summary
Line 65: Line 65:


== References ==
== References ==
<span id="openmdao">[1]</span> Multidisciplinary Optimal Control Library: https://openmdao.org/dymos/docs/latest/examples/moon_landing/moon_landing.html
<span id="openmdao">[1]</span> Multidisciplinary Optimal Control Library: https://openmdao.org/dymos/docs/latest/examples/cart_pole/cart_pole.html <br>
<span id="OCPjl">[2]</span> OptimalControlProblems.jl: https://github.com/control-toolbox/OptimalControlProblems.jl/blob/main/ext/Descriptions/moonlander.md
[[Category:MIOCP]]
[[Category:MIOCP]]
[[Category:Bang bang]]
[[Category:Bang bang]]

Revision as of 08:55, 3 February 2026

Cart Pendulum
State dimension: 1
Differential states: 3
Discrete control functions: 2


The Cart Pendulum problem concerns a pendulum hinged to a mobile cart. The control objective is to transition the pendulum from a downward position to a stabilized, inverted state above the cart. In this formulation, the objective function is defined by a composite of least-squares terms that penalize the required horizontal motion, the distance of the pendulum's angle from the upward position, and the required control.

The implementation here is taken from [1]. Its dynamics are given by a four-dimensional ODE model.

Mathematical formulation

minu0tfαx(t)2+β(θ(t)π)2+γu(t)2dtsubject tox˙(t)=x˙(t),θ˙(t)=θ˙(t),x¨(t)=u+mgsin(θ)cos(θ)+mθ˙2sin(θ)M+m(1cos(θ)2),θ¨(t)=gsin(θ)u+mgsin(θ)cos(θ)+mθ¨2sin(θ)M+m(1cos(θ)2)cos(θ),x(0)=0,θ(0)=0,x˙(0)=0,θ˙(0)=0,x(t)[2,2] t[0,tf],u(t)[30,30] t[0,tf],

Parameters

These fixed values are used within the model:

Symbol Value Description
α 10 Objective coefficient for x
β 50 Objective coefficient for θ
γ 0.5 Objective coefficient for u
tf 4 Horizon of the control problem
M 1 Weight of the cart
m 0.1 Weight of the pendulum
g 9.81 Gravitational acceleration

Reference Solutions

Here is one local solution to the above control problem.

Miscellaneous and Further Reading

This formulation and a detailed description can be found in [1].

References

[1] Multidisciplinary Optimal Control Library: https://openmdao.org/dymos/docs/latest/examples/cart_pole/cart_pole.html
[2] OptimalControlProblems.jl: https://github.com/control-toolbox/OptimalControlProblems.jl/blob/main/ext/Descriptions/moonlander.md