Jump to content

Double Oscillator: Difference between revisions

From mintOC
 
(2 intermediate revisions by the same user not shown)
Line 15: Line 15:
<math>
<math>
  \begin{array}{lll}
  \begin{array}{lll}
  \displaystyle \min_{u} && \frac{1}{2}\int_0^T \left( x_0(t)^2 + x_1(t)^2 + u(t)^2 \right) \\
  \displaystyle \min_{u} && \frac{1}{2}\int_0^T \left( x_0(t)^2 + x_1(t)^2 + u(t)^2 \right) \mathrm{d}t \\
  \text{subject to} \\
  \text{subject to} \\
\quad \dot{x_0}(t) & = & x_2(t),\\
\quad \dot{x_0}(t) & = & x_2(t),\\
Line 27: Line 27:
</math>
</math>
</p>
</p>
The control <math>u</math> modulates the damping of the second mass.


== Parameters ==
== Parameters ==
Line 52: Line 54:
Here is one local solution to the above control problem.
Here is one local solution to the above control problem.


<gallery caption="Reference solution plots" widths="180px" heights="140px" perrow="1">
<gallery caption="Reference solution plots" widths="500px" heights="300px" perrow="1">
  Image:Double_Oscillator.png| States and discretized control for a local optimum.
  Image:Double_Oscillator.png| States and discretized control for a local optimum.
</gallery>
</gallery>

Latest revision as of 10:43, 28 November 2025

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)dtsubject 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),x0(0)=0,x1(0)=0,u(t)[1,1] t[0,T]

The control u modulates the damping of the second mass.

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

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