Hang Glider: Difference between revisions
RobertLampel (talk | contribs) |
RobertLampel (talk | contribs) |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 19: | Line 19: | ||
\quad \dot{x}(t) & = & v_x(t),\\ | \quad \dot{x}(t) & = & v_x(t),\\ | ||
\quad \dot{y}(t) & = & v_y(t), \\ | \quad \dot{y}(t) & = & v_y(t), \\ | ||
\quad \dot{ | \quad \dot{v}_x(t) & = & - \frac{L(t) \cdot w(t) + D(t) \cdot v_x(t)}{mv(t)}, \\ | ||
\quad \dot{ | \quad \dot{v}_y(t) & = & \frac{L(t) \cdot v_x(t) - D(t) \cdot w}{mv(t)} - g, \\ | ||
\quad x(t) & \geq & 0 \ \quad & \forall t \in [0, | \quad x(t) & \geq & 0 \ \quad & \forall t \in [0, t_f], \\ | ||
\quad v_x(t) & \geq & 0 \ \quad & \forall t \in [0, | \quad v_x(t) & \geq & 0 \ \quad & \forall t \in [0, t_f], \\ | ||
\quad x(0) & = & (x_0, y_0, v_{x,0}, v_{y,0})^T, \\ | \quad x(0) & = & (x_0, y_0, v_{x,0}, v_{y,0})^T, \\ | ||
\quad y(t_f) & = & y_f \\ | \quad y(t_f) & = & y_f \\ | ||
\quad v_x(t_f) & = & v_{x,f} \\ | \quad v_x(t_f) & = & v_{x,f} \\ | ||
\quad v_y(t_f) & = & v_{y,f} \\ | \quad v_y(t_f) & = & v_{y,f} \\ | ||
\quad c_L(t) & \in & [0., 1.4] \ \quad & \forall t \in [0, | \quad c_L(t) & \in & [0., 1.4] \ \quad & \forall t \in [0, t_f], \\ | ||
\quad t_f & \geq & 0 | \quad t_f & \geq & 0 | ||
\end{array} | \end{array} | ||
| Line 89: | Line 89: | ||
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:Hang_Glider.png| States and discretized control for a local optimum. The initial guess for <math>t_f</math> was chosen as 100. | Image:Hang_Glider.png| States and discretized control for a local optimum. The initial guess for <math>t_f</math> was chosen as 100. | ||
</gallery> | </gallery> | ||
| Line 97: | Line 97: | ||
== 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/glider.md<br> | ||
[[Category:MIOCP]] | [[Category:MIOCP]] | ||
[[Category:ODE model]] | [[Category:ODE model]] | ||
Latest revision as of 12:23, 18 February 2026
| Hang Glider | |
|---|---|
| State dimension: | 1 |
| Differential states: | 4 |
| Discrete control functions: | 2 |
The Hang Glider problem is a classical benchmark in optimal control. This description is taken from [1].
It consists of steering a hang glider from an initial horizontal position and altitude to a target altitude while maximising the horizontal distance travelled. The glider dynamics incorporate lift, drag, gravity, and the effect of a thermal updraft. The control variable is the lift coefficient , which modulates the aerodynamic lift and influences the trajectory through the thermal region.
Mathematical formulation
with the auxiliary equations:
Parameters
These fixed values are used within the model:
| Symbol | Value | Description |
|---|---|---|
| 0 | Initial horizontal position | |
| 1000 | Initial altitude | |
| 900 | Final altitude | |
| 13.23 | Initial horizontal velocity | |
| 13.23 | Final horizontal velocity | |
| -1.288 | Initial vertical velocity | |
| -1.288 | Final vertical velocity | |
| 2.5 | ||
| 100 | ||
| 0.034 | ||
| 0.069662 | ||
| 14 | Wing area | |
| 1.13 | Air density | |
| 100 | Mass of the glider | |
| 9.81 | Gravitational constant |
Reference Solutions
Here is one local solution to the above control problem.
- Reference solution plots
-
States and discretized control for a local optimum. The initial guess for was chosen as 100.
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/glider.md