Double Oscillator: Difference between revisions
RobertLampel (talk | contribs) Created page with "{{Dimensions |nd = 1 |nx = 4 |nw = 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 con..." |
RobertLampel (talk | contribs) |
||
| (9 intermediate revisions by the same user not shown) | |||
| Line 5: | Line 5: | ||
}} | }} | ||
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 [[#OCPjl | [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 [[#OCPjl | [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. | 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. | ||
| 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 21: | Line 21: | ||
\quad \dot{x_2}(t) & = & - \frac{k_1 + k_2}{m_1} \cdot x_0 + \frac{k_2}{m_1} \cdot x_1 + \frac{1}{m_1} \sin\left(\frac{2\pi}{T} \cdot t\right), \\ | \quad \dot{x_2}(t) & = & - \frac{k_1 + k_2}{m_1} \cdot x_0 + \frac{k_2}{m_1} \cdot x_1 + \frac{1}{m_1} \sin\left(\frac{2\pi}{T} \cdot t\right), \\ | ||
\quad \dot{x_3}(t) & = & \frac{k_2}{m_2} x_0(t) - \frac{k_2}{m_2} x_1(t) - \frac{c(1-u)}{m_2} x_3(t), \\ | \quad \dot{x_3}(t) & = & \frac{k_2}{m_2} x_0(t) - \frac{k_2}{m_2} x_1(t) - \frac{c(1-u)}{m_2} x_3(t), \\ | ||
\quad x_0(0) &=& 0, \\ | |||
\quad x_1(0) &=& 0, \\ | \quad x_1(0) &=& 0, \\ | ||
\quad u(t) & \in & [-1, 1] \ \quad \forall t \in [0,T] | |||
\quad u(t) & \in & [-1, 1] \ \quad \forall t \in [0, | |||
\end{array} | \end{array} | ||
</math> | </math> | ||
</p> | </p> | ||
The control <math>u</math> modulates the damping of the second mass. | |||
== Parameters == | == Parameters == | ||
| Line 35: | Line 37: | ||
! Symbol !! Value !! Description | ! Symbol !! Value !! Description | ||
|- | |- | ||
| align=center | <math> | | align=center | <math>m_1</math> || align=right | 100 <math>\mathrm{kg}</math> || First mass directly affected by <math>F( t )</math> | ||
|- | |- | ||
| align=center | <math> | | align=center | <math>m_2</math> || align=right | 2 <math>\mathrm{kg}</math>|| Second mass influenced by damping control | ||
|- | |- | ||
| align=center | <math>\ | | align=center | <math>k_1</math> || align=right | 100 <math>\mathrm{N/m}</math>|| Spring connecting first mass to reference | ||
|- | |||
| align=center | <math>k_2</math> || align=right | 3 <math>\mathrm{N/m}</math>|| Coupling spring between the two masses | |||
|- | |||
| align=center | <math>c</math> || align=right | 0.5 <math>\mathrm{Ns/m}</math>|| Damping affecting second mass | |||
|- | |- | ||
| align=center | <math> | | align=center | <math>T</math> || align=right | <math>2 \pi</math> || Duration of the motion | ||
|} | |} | ||
| Line 48: | 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=" | <gallery caption="Reference solution plots" widths="500px" heights="300px" perrow="1"> | ||
Image: | Image:Double_Oscillator.png| States and discretized control for a local optimum. | ||
</gallery> | </gallery> | ||
| Line 56: | Line 62: | ||
== References == | == References == | ||
<span id="OCPjl">[1]</span> 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/ | <span id="OCPjl">[1]</span> 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<br> | ||
[[Category:MIOCP]] | [[Category:MIOCP]] | ||
[[Category:ODE model]] | [[Category:ODE model]] | ||
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 and the control 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
The control modulates the damping of the second mass.
Parameters
These fixed values are used within the model:
| Symbol | Value | Description |
|---|---|---|
| 100 | First mass directly affected by | |
| 2 | Second mass influenced by damping control | |
| 100 | Spring connecting first mass to reference | |
| 3 | Coupling spring between the two masses | |
| 0.5 | Damping affecting second mass | |
| Duration of the motion |
Reference Solutions
Here is one local solution to the above control problem.
- Reference solution plots
-
States and discretized control for a local optimum.
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