Jump to content

Double Oscillator

From mintOC
Revision as of 09:58, 24 November 2025 by RobertLampel (talk | contribs)
Double Oscillator
State dimension: 1
Differential states: 4
Discrete control functions: 1


The Double Oscillator problem is a benchmark in constrained optimal control illustrating the control of coupled mechanical systems with damping and stiffness effects. This description is taken from [1].

It consists of two masses connected by springs and a damper, with one mass directly influenced by an external periodic force and the other influenced indirectly through the coupling and a controlled damping term. Both the state trajectory x() and the control u() are decision variables. The aim is to minimise a quadratic cost that balances state deviations and control effort, subject to input constraints and the system dynamics.

Mathematical formulation

minu120T(x0(t)2+x1(t)2+u(t)2)subject tox0˙(t)=x2(t),x1˙(t)=x3(t),x2˙(t)=k1+k2m1x0+k2m1x1+1m1sin(2πTt),x3˙(t)=k2m2x0(t)k2m2x1(t)c(1u)m2x3(t),x1(0)=0,x2(0)=0,u(t)[1,1] t[0,T]

Parameters

These fixed values are used within the model:

Symbol Value Description
m1 100 kg First mass directly affected by F(t)
m2 2 kg Second mass influenced by damping control
k1 100 N/m Spring connecting first mass to reference
k2 3 N/m Coupling spring between the two masses
c 0.5 Ns/m Damping affecting second mass
T 2π Duration of the motion
u - Modulates the damping of the second mass

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] Caillau, J.-B., Cots, O., Gergaud, J., & Martinon, P. OptimalControlProblems.jl: a collection of optimal control problems with ODE's in Julia. https://github.com/control-toolbox/OptimalControlProblems.jl/blob/main/ext/Descriptions/double_oscillator.md