An Indirect Method for Optimal Guidance of a Glider R. Pepy1 1
B. Hérissé1
Onera – The French Aerospace Lab Palaiseau, France
Tuesday August 26, 2014
1/10
Motivation
Find the trajectory for a high speed glider from an initial state x0 with an initial velocity v0 to a goal state xf that maximizes the terminal velocity vf We propose an indirect method (i.e. a method where optimality conditions are determined by the calculus of variations) for solving the problem of trajectory optimization Unlike classical guidance laws, no approximations are needed With a good initial guess, it can be less expensive in computation time than a direct method Better accuracy with an indirect method than with a direct method
2/10
Problem Statement - System modelling The glider is modeled as a rigid body of mass m maneuvering in a vertical 2D plane The glider dynamics are (no thrust, gravity is neglected) x˙ = v cos θ z˙ = v sin θ fL θ˙ = mv v˙ = − fmD The density of air ρ is modeled as an exponential function decreasing with the altitude ρ(z) = ρ(0) e
− zz
r
where zr is a reference altitude. z −z − Hence, c = c0 e zr and d = d0 e zr
v θ G z x
fL = mcuv 2 fD = m(d + ηcu 2 )v 2 u ∈ [−1, 1] is the control related to the angle of attack.
3/10
Optimality conditions Optimal control problem : find the trajectory for a high speed glider from an initial state x0 = (x0 , z0 , θ0 ) with an initial velocity v0 to a goal state xf = (xf , zf , θf ) that maximizes the terminal velocity vf Optimality conditions are determined using Pontryagin’s Maximum Principle The resulting Ordinary Differential Equations (ODE) that solves the trajectory optimization problem for a glider is ′ x = cos θ ′ z = sin θ θ′ = c u u ′ = du ds u ′′ = d−η c u2 c u + cos θ 2η
(1)
zr
where c(z) is the maximum curvature at altitude z, d(z) is the drag and η is an aerodynamic efficiency factor. 4/10
Implementation
Shooting method Simple shooting method Initial guess on the unknown conditions: the control input u0 , its first derivative u0′ and the path length sf It is hard to find a first estimate of the unknown initial conditions Solutions are very sensitive to changes in the initial conditions
Input: Initial guesses on initial values u0 , u0′ , sf Output: Trajectory from x0 to xf that maximize vf 1: repeat 2: Integrate (1) on s = [0, sf ] to ˆf obtain x 3: Constraints evaluation in terminal conditions, evaluate the ˆf ) boundary condition ψ(x 4: Update initial values u0 , u0′ , sf ˆf ) < ǫ 5: until ψ(x
5/10
Results
Results obtained by our indirect method are compared with trajectories returned by the kappa guidance law [Lin, 1991] kappa guidance closed-loop guidance law designed for non-propelled rocket aims to maximize the final velocity numerous of approximations on the environment modeling trajectories provided by kappa guidance are only locally optimal trajectories returned by the kappa guidance tend to be impossible to follow by the real glider if the flight conditions change significantly between the start point and the end point
6/10
Results - Example 1
x0 = (100, 3000, 0)
5500
IMGG Kappa
xf = (20000, 3000, 0) Kappa guidance (dashed line)
Indirect shooting method the glider climbs to an altitude of 5000 meters to reduce the effect of the drag force along its trajectory trajectory length : 20404 m final velocity : 290 m/s
4500
z (m)
straight line which length is 19900 m control input u is always equals to 0 final velocity : 263 m/s
5000
4000
3500
3000
x0 2500
0
xf 0.5
1
1.5
x (m)
2
2.5 4
x 10
7/10
Results - Example 2 x0 = (100, 500, π/8)
16000
xf = (5000, 15000, π/8)
xf
14000
12000
10000
z (m)
The final state is at an altitude where the air density is low, the aircraft can not operate effectively Kappa guidance law
6000
4000
IMGG Kappa
2000
In the case of kappa guidance, the control input does not stay in the interval [−1, 1] The path cannot be followed by the real glider
x0 0
0
1000
2000
3000
4000
5000
6000
x (m) 1.5
IMGG Kappa 1
Indirect shooting method
0.5
u
It anticipates the loss of maneuverability and starts shaping the trajectory from the beginning of the flight It is able to find an admissible trajectory (i.e. the control input u ∈ [−1, 1])
8000
0
−0.5
−1
−1.5
0
2000
4000
6000
8000
10000
12000
14000
16000
s (m)
8/10
Perspectives 4
3
Real-time computation
2.5
xf
2
z (m)
The objective is to run the algorithm in real-time and to obtain a fully closed-loop guidance law Change the algorithm that searches for the minimum of the cost function Parallelization of the algorithm
x 10
1.5
1
0.5
0 −8000
−6000
−4000
−2000
x0 0 x (m)
2000
4000
6000
8000
1.5
Saturations, i.e. cases where |u| becomes greater that 1
1
0.5
0
u
Not taken into account by the current method The results of [Hérissé and Pepy, IEEE CDC ’13] could be used to address this problem
−0.5
−1
−1.5
−2
0
0.5
1
1.5
s (m)
2
2.5
3 4
x 10
9/10
Conclusion
Optimal trajectory between two states of a glider that maximizes its terminal velocity Equations of guidance are deduced using optimal control theory A simple implementation is performed using an indirect shooting method The results presented illustrate the performance of our indirect method compared to current fully closed-loop methods Future work will focus on improving the computation time and making the algorithm robust to initialization errors.
10/10