Jump to content

Hang Glider: Difference between revisions

From mintOC
Created page with "{{Dimensions |nd = 1 |nx = 4 |nw = 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 coeff..."
 
Line 31: Line 31:


with the auxiliary equations:
with the auxiliary equations:
<p>
<math>
<math>
v = \sqrt{v_x^2 + w^2}, \quad \\
\begin{align}
w = v_y - U_\text{updraft}(x), \\
r(t) &= \left( \frac{x(t)}{r_0} - 2.5 \right)^2. \\
L = \frac{1}{2} \rho S c_L v^2, \\
U_\text{updraft}(x) &= u_c\, (1 - r) e^{-r}, \\
D = \frac{1}{2} \rho S (c_0 + c_1 c_L^2) v^2, \\
w(t) &= v_y(t) - U_\text{updraft}(x), \\
U_\text{updraft}(x) = u_c\, (1 - r) e^{-r}, \\
v(t) &= \sqrt{v_x(t)^2 + w(t)^2}, \\
r = \left( \frac{x}{r_0} - 2.5 \right)^2,
D(t) &= \frac{1}{2} \rho S (c_0 + c_1 c_L(t)^2) v(t)^2, \\
L(t) &= \frac{1}{2} \rho S c_L(t) v(t)^2.
\end{align}
</math>
</math>
</p>


== Parameters ==
== Parameters ==

Revision as of 09:55, 25 November 2025

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 cL, which modulates the aerodynamic lift and influences the trajectory through the thermal region.

Mathematical formulation

minux(tf)subject tox˙(t)=vx(t),y˙(t)=vy(t),vx˙(t)=L(t)w(t)+D(t)vx(t)mv(t),vy˙(t)=L(t)vx(t)D(t)wmv(t)g,x1(t)0 t[0,T],x(0)=(x0,y0,vx,0,vy,0)T,y(tf)=yfvx(tf)=vx,fvy(tf)=vy,f

with the auxiliary equations:

r(t)=(x(t)r02.5)2.Uupdraft(x)=uc(1r)er,w(t)=vy(t)Uupdraft(x),v(t)=vx(t)2+w(t)2,D(t)=12ρS(c0+c1cL(t)2)v(t)2,L(t)=12ρScL(t)v(t)2.

Parameters

These fixed values are used within the model:

Symbol Value Description
α 3 Weight on state
β 0 Weight on squared state
γ 0.5 Weight on squared control
T 10 Final time

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/robbins.md