Next Article in Journal
Performance Analysis of Real-Scale 23 kV/60 MVA Class Tri-Axial HTS Power Cable for Real-Grid Application in Korea
Previous Article in Journal
Exploratory Experimental Study on the Mechanical Properties of Granite Subjected to Cyclic Temperature and Uniaxial Stress
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

On Obtaining Energy-Optimal Trajectories for Landing of UAVs

Institute of Robotics and Machine Intelligence, Faculty of Control Robotics and Electrical Engineering, Poznan University of Technology, ul. Piotrowo 3a, 60-965 Poznan, Poland
*
Author to whom correspondence should be addressed.
Energies 2020, 13(8), 2062; https://doi.org/10.3390/en13082062
Submission received: 21 March 2020 / Revised: 12 April 2020 / Accepted: 14 April 2020 / Published: 20 April 2020

Abstract

:
The optimization issues connected to a landing task of an unmanned aerial vehicle are discussed in the paper, based on a model of a mini-class drone. Three landing scenarios are considered, including minimum-time landing, landing with minimum energy consumption, and planned landing. With the use of classical dynamic programming techniques, including the minimum principle of Pontryagin, as well as the calculus of variations, the optimal altitude reference trajectories are found, to form the altitude control system in such a way as to mimic the profile of the reference trajectory by the actual altitude of the UAV. The simulation results conducted with the use of the Simulink Support Package for Parrot Minidrones verify the correctness and effectiveness of the method, and open the research directions for further analysis, especially to tune altitude controller in a way, as to track the reference profile. Up to this point, optimization tasks considered in the literature, with respect to the drones, were connected to swarm formation optimization, optimization of the take-off process or landing process limited to optimal path planning. This paper thus considers a new topic in the field.

1. Introduction

Recent years have brought an increased popularity of unmanned aerial vehicles (UAVs), which, due to their increasing popularity in the market, have wider and wider applicability areas, ranging from pure recreation to scientific research. The latter implies the need to improve control algorithms which govern behaviour of UAVs to increase their safety and reliability. This can also be understood in the context of energy consumption efficiency.
A variety of tasks carried out by UAVs is a challenge for control engineers [1] responsible for controller tuning of drones. During in flight conditions, the UAVs are required to perform both agile, as well as precise maneuvers, also including maneuvers in formations of UAV, making the issues more complicated [2]. However, during the landing process, the situation is different, and the drones should closely abide some reference trajectories to achieve efficient landing with respect to some performance indices. In addition, at any stage of the flight, it might be necessary to land due to environmental issues, or low battery state, and to execute the flying scenario on the basis of, for example, some state machine.
In 2016, the Department and Aeronautics and Astronautics (AeroAstro) from Massachusetts Institute of Technology (MIT) designed the Simulink Support Package for Parrot Minidrones as Matlab’s add-on [3]. The software enables one to design, simulate and test control strategies using real UAVs, and is dedicated to Rolling Spider and Mambo drones of Parrot. It can be also used, as in the current paper, to perform model-in-the-loop simulations, to verify the core idea of the paper, that is, generation of the optimal reference landing trajectory to achieve optimal energy consumption feature.
This paper aims at finding optimal landing trajectories for different landing scenarios, as well as focusing on giving directions for modifications of the altitude control system, to tune their controllers in such a way as to achieve optimal performance, which will be a next research stage.
In the literature, one can find multiple approaches to landing trajectory optimization; however, they are usually connected either to landing on a moving target, or approaching the landing spot with a non-zero horizontal velocity. This is not the case here, as this approach can be easily thought of as a pick-and-place stage of the landing/take-off procedure.
Various papers give interesting applications to the drones’ deployment, using optimization algorithms. For example, in Reference [4] a Hungarian algorithms is used on the basis of bipartie graphs to match drones to nesting stations, with the increasing interest for smart cities applications. In Reference [5], the authors have used reinforcement learning to obtain the solution, where the agent is able to learn the network topology and infer some information about the environment, in order to find the optimal trajectory that lets the UAV autonomously return to its landing spot within the flying time limit. Similarly, the authors of Reference [6] address trajectory planning issues for an aerial platform to identify and land on a moving car. In order to govern the behaviour of the UAV in real time, the model predictive control is adopted for a generated reference trajectory for the UAV, which are then tracked by the nonlinear feedback controller. The problem of flight path planning of the UAV landing on a moving vessel is discussed in Reference [7], where a method for calculating the optimal approach landing trajectory between an UAV and a small vessel is obtained on the basis of an iterative method. In Reference [8], an optimization task of landing swarms of UAVs is given. The paper is cited not in order to compare the approach presented therein, but to show the optimization has been used to find optimal position of the swarm, when reaching target position, not to generate a vertical take-off and landing-like (VTOL) trajectory of landing.
The author of Reference [9] considers the perched landing, on the contrary to a standard landing on a runaway, of a fixed-wing UAV, where the goal is to deliver the vehicle at point just above the runway surface with near-zero vertical velocity and finite horizontal velocity. During a perched landing, at a certain point in space it is required to have nominally zero vertical velocity and zero forward velocity. The authors of Reference [10] propose the optimization approach to obtain reference landing trajectories in an emergency situation for fixed-wing UAVs, and gives a good reference to the 2009 crash at Hudson River.
The authors of Reference [11] consider take-off trajectory optimization problems for a vertical takeoff and landing (VTOL) unmanned aerial vehicle. As in the case of this paper, the longitudinal kinematics equation and dynamics equation are established with atmospheric density, earth gravity, engine thrust and aerodynamic parameters taken into consideration. The objective function of the optimization problem is the fuel consumption and distance at the given time. Unfortunately, this study is performed for take-off procedure only. An increasing interest in VTOL UAVs, leading to the construction of hybrid structures, see Reference [12], might potentially lead to a further research in the topic at optimization in both take-off and landing stages.
As can be seen, a literature review, reveals that there is a need for the solution to the optimal landing task. The paper is structured as follows—Section 2 gives a simplified mathematical model of a quadrotor fitted to the vertical landing task, Section 3 provides details about model reduction to implement this task efficiently, in Section 4 some basic landing issues are presented, and Section 5, Section 6 and Section 7 describe minimum-time, minimum-energy, and velocity-penalised landing scenarios, respectively. In Section 8, a comparison of the obtained optimal reference trajectories is given. Section 9 gives an insight into the Simulink Support Package for Parrot Minidrones, to enable model-in-the-loop simulation, presenting the behaviour of the closed-loop system to track given reference trajectories, related to optimal performance. Finally, Section 10 gives a short summary of the work.

2. Simplified Mathematical Model of a Quadrotor

Let us describe a model of a Parrot Rolling Spider quadrotor driven by DC motors. In order to define position and orientation of this drone, global and local coordinate systems need to be introduced. The global system is described in NED convention (North-East-Down), and the local system has its origin in the geometrical center of the drone. Its axes, that is, x and y point towards the two adjacent motors, whereas the axis z points downwards. The orientation of the drone can be described using the Euler angles [13] as listed below. The coordinate system of a UAV and the Euler angles are depicted in Figure 1, with:
  • ϕ – angle w.r.t. the x axis (roll angle),
  • θ – angle w.r.t. the y axis (pitch angle),
  • ψ – angle w.r.t. the z axis (yaw angle).
The transformation between global and local coordinates requires one to multiply three rotation matrices R yaw , R pitch and  R roll , respectively, to obtain the final transformation matrix R W 2 B . In the transformations given below, the following notation has been adopted s ( α ) : = sin ( α ) , c ( α ) : = cos ( α ) , and:
R W 2 B = R yaw R pitch R roll = = c ( ψ ) s ( ψ ) 0 s ( ψ ) c ( ψ ) 0 0 0 1 c ( θ ) 0 s ( θ ) 0 1 0 s ( θ ) 0 c ( θ ) 1 0 0 0 1 s ( ϕ ) 0 s ( ϕ ) c ( ϕ ) = = c ( θ ) c ( ψ ) c ( ψ ) s ( θ ) s ( ϕ ) c ( θ ) s ( ψ ) s ( ϕ ) s ( ψ ) + c ( ϕ ) c ( ψ ) s ( θ ) c ( θ ) s ( ψ ) c ( ϕ ) c ( ψ ) + s ( θ ) s ( ϕ ) s ( ψ ) c ( ϕ ) s ( θ ) s ( ψ ) c ( ψ ) s ( ϕ ) s ( θ ) c ( θ ) s ( ϕ ) c ( θ ) c ( ϕ ) .
The backward transformation from local to global coordinates requires the matrix R W 2 B to be inverted,
R B 2 W = R W 2 B 1 = = c ( θ ) c ( ψ ) c ( θ ) s ( ϕ ) s ( θ ) c ( ψ ) s ( θ ) s ( ϕ ) c ( ϕ ) s ( ψ ) c ( ϕ ) c ( ψ ) + s ( θ ) s ( ϕ ) s ( ψ ) c ( θ ) s ( ϕ ) s ( ψ ) s ( ϕ ) + c ( ψ ) c ( ϕ ) s ( θ ) c ( ϕ ) s ( ψ ) s ( θ ) c ( ψ ) s ( ϕ ) c ( θ ) c ( ϕ ) .
Similarly, the transformation from local rotational speeds Ω ̲ = [ p , q , r ] T to Euler angle derivatives Θ ˙ ̲ = [ ϕ ˙ , θ ˙ , ψ ˙ ] T is possible when the inverse of Wronskian matrix W is used [13]:
Θ ˙ ̲ = W 1 Ω ̲ ,
W 1 = c ( θ ) s ( ϕ ) s ( θ ) c ( ϕ ) s ( θ ) 0 c ( ϕ ) c ( θ ) s ( ϕ ) c ( θ ) 0 s ( ϕ ) c ( ϕ ) .
According to the second Newton’s principle, the acceleration exerted by the unbalanced force F w on a body of a mass m is proportional to this force, and inversely proportional to its mass, that is,
F w = d d t ( m v ) .
Having assumed that F w = G T , where G is a gravity force vector, and T denotes the thrust vector generated by the propellers, Equation (5) can be extended to the form
v ˙ ̲ = 1 m 0 0 m g R B 2 W 0 0 T .
For the sake of brevity, the arrows above symbols will be henceforth omitted, as only numerical values will be considered. By substituting the matrix R B 2 W from Equation (2) to Equation (6), it is possible to obtain the acceleration vector in three axes of the local coordinate system of the UAV
v ˙ ̲ = x ¨ y ¨ z ¨ = 1 m T ( c ( ϕ ) s ( θ ) c ( ψ ) + s ( ϕ ) s ( ψ ) ) T ( c ( ϕ ) s ( θ ) s ( ψ ) s ( ϕ ) c ( ψ ) ) m g T ( c ( ϕ ) c ( θ ) ) .
The thrust T generated by the propellers can be calculated on the basis of formulae below:
T i = K a ω i 2 ,
K a = C t ρ ( h ) A r 2 ,
T = K a i = 1 n ( ω i 2 ) ,
where:
  • T i ( N ) – thrust of the i–th propeller,
  • T ( N ) – accumulated thrust of all propellers,
  • ω i ( rad s ) – rotational speed of the i–th propeller,
  • K a ( kg · m ) – aerodynamical constant,
  • C t – thrust constant,
  • ρ ( kg m 3 ) – air density,
  • h ( m ) – propeller height,
  • A ( m 2 ) – propeller area,
  • r ( m ) – propeller radius,
  • n – number of propellers.
The considered quadrotor ( n = 4 ) has six degrees of freedom, thus, in order to describe its state, 12 state variables are necessary [13],
x ̲ = [ x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 , x 8 , x 9 , x 10 , x 11 , x 12 ] T = = [ x , y , z , ϕ , θ , ψ , x ˙ , y ˙ , z ˙ , p , q , r ] T .
In Equation (11), the symbol x ̲ refers to a full state vector, whereas x and  x ˙ are position and velocity of the UAV, respectively, in axis x, and so forth.

3. Model Reduction

The analysis of the landing process requires the model to be simplified. It is assumed that the UAV does not move in XY plane and keeps a horizontal alignment, thus without any loss of generality it can be assumed that:
x = x ˙ = x ¨ = y = y ˙ = y ¨ = 0 ,
ϕ = θ = 0 .
This assumption is realistic, and present in multiple pick-and-place tasks, as eventually, the control system of the UAV should keep this alignment. When environmental disturbances take place, the UAV is likely to be moved away from the landing position, but when emergency or planned landing is executed, the precision of landing in a spot is not of prime importance. It is a trajectory of descend the most important factor, thus the precise location of landing is not. Abiding Equations (12) and (13) strictly, would stipulate no exogenous disturbances occur. This simplification is somewhat naturel for tilt-hex constructions, see Reference [14] where the accumulative thrust force can be exerted in non-vertical direction, without tilting the structure, to compensate for the disturbances.
It has also been assumed that all four motors have the same rotational speed, leading to simplifying Equations (7) and (10) to the form of:
T = 4 K a ω 2 ,
z ¨ = g T m = g 4 K a m ω 2 .
In order to enable any further analysis, the third coordinate system has been introduced, with the origin at the ground level, and the z axis pointing upwards. As the landing takes place while the altitude is not extremally high, it has been assumed that the air density does not vary, then:
ρ = const K a = const .
The symbolic expressions α and u have been defined as (:=):
α : = 4 · K a m ,
u : = ω 2 ,
T = α u ,
z ¨ = α u g ,
leading to the introduction of a simplified model of dynamics in the z axis
x ˙ 1 = z ¨ = α u g
x ˙ 2 = z ˙ = x 1
in the third coordinate system, with the output equation (state-space equations) y = x 2 .
The dynamical model of the UAV can be put in a matrix form (with the time indices omitted for brevity)
x ˙ ̲ = A x ̲ + B u ̲ ,
x ˙ 1 x ˙ 2 = 0 0 1 0 x 1 x 2 + α 1 0 0 u g
with the output equation
y = c ̲ T x ̲ = [ 0 , 1 ] x ̲ = x 2 .
As can be seen, it is a typical case of a system which is structurally unstable (as g 0 at all times), resembling many other dynamical structures, as a bicycle robot, subject to the same force, see Reference [15].

4. Landing Issues

The landing procedure is different from any control task of the UAV during the main phase of flight. The major difference is that reducing the current altitude to the ground level accepts no overshoots, which are typical in any transient processes during regulation tasks. The other issue is that different landing scenarios should be taken into consideration, as the UAV might undergo emergency landing or might land in a planned way. The first one can be given rise due to, for example, low battery levels or due to environmental issues. All the cases imply the landing trajectory h start h ground , to vary, where h start denotes the initial altitude of the UAV at the time instant t 0 , and  h ground denotes the ground level.
The following have been henceforth assumed:
z ( 0 ) = h start ,
z ( t f ) = z ˙ ( 0 ) = z ˙ ( t f ) = 0 ,
z ( t ) 0 ,
where z ( t ) denotes the position of the UAV in z axis in the third coordinate system.
Among the others, it is important to classify landing procedures in the following pattern:
  • minimum-time landing,
  • minimum-energy landing,
  • velocity-penalized landing,
as they arise from typical and emergency scenarios which can be potentially considered.
It is to be stressed that the generated reference trajectories should, in principle, be further fed to the altitude control loop to preserve desired behaviour of the UAV.

5. Minimum-Time Landing

The first scenario considered is the landing in the minimum time, which requires the optimization techniques to be adopted, and is connected to the following cost function:
J = 0 t f 1 d t = t f ,
where t f is the duration of the landing procedure (final time), with the assumption that the thrust can be generated upwards only, and the propellers have a limited rotational speed
0 u u max .
Following a standard routine for minimum-time problems, the following need to be calculated: G i = [ b ̲ i , A b ̲ i , A 2 b ̲ i , , A n 1 b ̲ i ] :
G 1 = α 0 0 0 1 0 α 0 = α 0 0 α ,
G 2 = 1 0 0 0 1 0 1 0 = 1 0 0 1 ,
det ( G 1 ) = α 2 ,
det ( G 2 ) = 1 .
to verify that the determinants of G 1 , G 2 are non zero for α 0 , and whether the minimum-time control is unique [16]. As known, such a scenario leads to a two-phase control: free falling phase, and braking phase with maximal u = u max  [16]. This is a common solution to minimum-time problems arising in control engineering practice, using for example, the minimum principle. The minimum-time control combined of two phases, makes use of the properties of the system, to allow maximum acceleration increase with no energy lost on rotating the propellers (motors stop), and the braking stage. In this sense, it resembles other approaches identified in the field, to use internal system properties to carry on control tasks, see Reference [17]. Below, t s denotes the switching time, t f   is the grounding time, and T max = α u max .
First landing phase : u = 0 x ˙ 1 = g Sec ond landing phase : u = T max x ˙ 1 = T max g
x 1 ( 0 ) = x 1 ( t f ) = 0 0 t s ( g ) d t + t s t f ( T max g ) d t = 0 , 0 = g t s + ( T max g ) ( t f t s ) , g t s = ( T max g ) t f ( T max g ) t s ,
T max t s = ( T max g ) t f , t f = T max ( T max g ) t s , γ = T max ( T max g ) , t f = γ t s .
Having assumed that assumptions Equations (25) and (26) hold and z ˙ ( t s ) = g t s , the velocity at the first phase of the landing procedure satisfies:
0 = h start + 0 t s ( g t ) d t + 0 t s ( z ˙ ( 0 ) ) d t + t s t f ( ( T max g ) t ) d t + t s t f ( z ˙ ( t s ) ) d t , 0 = h start 1 2 g t s 2 + 1 2 ( T max g ) ( t f t s ) 2 + z ˙ ( t s ) ( t f t s ) , h start = 1 2 g t s 2 1 2 ( g T max ) ( t f t s ) 2 g t s ( t f t s ) , h start = 1 2 g t s 2 + 1 2 ( g T max ) ( t f t s ) 2 + g t s ( t f t s ) , h start = 1 2 ( g T max ) ( γ 1 ) 2 + g ( 2 γ 1 ) t s 2 , h start = 1 2 ( g T max ) γ 2 + 2 T max γ T max t s 2 ,
and for ζ : = 1 2 ( g T max ) γ 2 + 2 T max γ T max :
h start = ζ t s 2 , ζ = 1 2 ( g T max ) γ 2 + 2 T max γ T max , ζ = 1 2 ( T max g ) T 2 ( T max g ) 2 + 2 T max 2 ( T max g ) T max ( T max g ) ( T max g ) , ζ = 1 2 T max 2 + 2 T max 2 T max 2 + g T m a x ( T max g ) , ζ = g T max 2 ( T max g ) , h start = ζ t s 2 t s = h start ζ .
The switching t s and grounding t f times satisfy:
t s = 2 h start ( T max g ) g T max ,
t f = T max ( T max g ) t s ,
t f = 2 h start T max g ( T max g ) .
On the basis of Equations (34) and (36), it is possible to provide the analytical formula for the landing trajectory
z ( t ) = x 2 * ( t ) = h start 1 2 g t 2 0 t < t s h start 1 2 g t s 2 g t s ( t t s ) + 1 2 ( T max g ) ( t t s ) 2 t s t < t f 0 t t f .
Sample landing trajectories for the Craig model have been presented in Figure 2 with the parameters of the Parrot Rolling Spider UAV and various initial altitudes:
C t = 0 . 0107 , ρ = 1 . 184 kg m 3 , r = 0 . 033 m , m = 0 . 068 kg , ω max = 2630 . 67 1 s .

6. Minimum-Energy Landing (False-zero Landing)

Minimum-energy landing is connected to the minimization of the performance index taking both altitude and control u effort (energy) into account, with the weight β and
J = 0 t x 2 + β u 2 d t ,
leading to the following optimization task:
min u J
s . t . x ˙ 1 = α u g
x ˙ 2 = x 1
The task has been solved using the minimum principle of Pontryagin by minimizing the following Hamiltonian function [16,18]:
H = x 2 2 + β u 2 + p 1 ( α u g ) + p 2 x 1 .
By transforming Equation (21) one gets:
x ˙ = α u g , u = 1 α ( x 1 ˙ + g ) , u ˙ = 1 α x 1 ¨ , u ¨ = 1 α x 1 ( 3 ) .
Using the terminal condition H * ( t ) = H * ( t f ) = 0 , and subject to no constraints imposed on u ( t ) :
δ H δ u = 2 β u + p 1 α = 0 , p 1 = 2 β α u , p 1 ˙ = 2 β α u ˙ , p 1 ¨ = 2 β α u ¨ , p 1 ¨ = 2 β α 1 α x 1 ( 3 ) , p 1 ¨ = 2 β α 2 x 1 ( 3 ) ,
with:
p 1 ˙ = δ H δ x 1 = p 2 , p 2 ˙ = δ H δ x 2 = 2 x 2 , p 1 ¨ = 2 x 2 , 0 = β α 2 x 1 ( 3 ) + x 2 , C : = β α 2 , 0 = C x 1 ( 3 ) + x 2 | d d t , 0 = C x 1 ( 4 ) + x 1 ,
x 1 = e r t , 0 = C e r t ( 4 ) + e r t , 0 = C r 4 e r t + e r t | : e r t , 0 = C r 4 + 1 , ψ : = 2 2 C 4 , r = ψ ( 1 + j ) ψ ( 1 j ) ψ ( 1 + j ) ψ ( 1 j ) .
A general formula describing x 1 ( t ) , x 2 ( t ) is given as:
x 1 ( t ) = e ψ t ( C 1 c ( ψ t ) + C 2 s ( ψ t ) ) + e ψ t ( C 3 c ( ψ t ) + C 4 s ( ψ t ) ) , x 2 ( t ) = ( x 1 ( t ) ) d t , x 2 ( t ) = C 1 e ψ t 2 ψ 2 ( ψ c ( ψ t ) + ψ s ( ψ t ) ) + C 2 e ψ t 2 ψ 2 ( ψ s ( ψ t ) ψ c ( ψ t ) ) + + C 3 e ψ t 2 ψ 2 ( ψ c ( ψ t ) + ψ s ( ψ t ) ) + C 4 e ψ t 2 ψ 2 ( ψ s ( ψ t ) ψ c ( ψ t ) ) , x 2 ( t ) = 1 2 ψ e ψ t ( C 1 C 2 ) c ( ψ t ) + ( C 1 + C 2 ) s ( ψ t ) + + e ψ t ( C 3 C 4 ) c ( ψ t ) + ( C 3 C 4 ) s ( ψ t ) + C 5 .
Using assumptions Equations (25) and (26), the integral constants can be found:
x 1 ( 0 ) = 0 C 1 + C 3 = 0 x 1 ( t f ) = 0 C 1 = C 2 = 0 } C 3 = 0 x 2 ( t f ) = 0 C 5 = 0 , x 2 ( 0 ) = h start , h start = 1 2 ψ ( C 3 C 4 ) + C 5 , C 4 = 2 ψ h start , x 2 ( t ) = h start e ψ t ( c ( ψ t ) + s ( ψ t ) ) .
Finally, the formula describing trajectories depicted in Figure 3 has been obtained. As can be seen, the altitude while landing, falls below zero due to the overshoot phenomenon, what is not acceptable, though definitely shortens the regulation time (typical regulation time vs. damping ratio interplay). In order to compensate for the latter, it has been established that x 2 ( t ) reaches the ground level at t = π ψ , and the landing phase can be splitted into two phases:
x 2 ( t ) = f ( t ) 0 < t π ψ 0 t > π ψ ,
where f ( t ) results from Equation (43) and reduces the altitude between h start 0 . In order to eliminate the impact of the overshoot on the landing phase, the ground level should be virtually raised so that the minimum of Equation (43) equals always zero, what explains the ’false zero’ name of the approach. The latter has been shown in Figure 4.
The latter implies that the conditions Equations (25) and (26) must be satisfied at all times where:
x 1 ( 0 ) = 0 x 1 ( π ψ ) = 0 x 1 ( t f ) = 0 x 2 ( 0 ) = h start x 2 ( π ψ ) = 0 x 2 ( t f ) = h e .
From relations Equation (46) one gets:
x 1 ( 0 ) = 0 C 1 + C 3 = 0 x 1 ( t f ) = 0 C 1 = C 2 = 0 } C 3 = 0 , x 2 ( t f ) = h e C 5 = h e , x 2 ( 0 ) = h start h start = C 4 2 ψ + h e , C 4 = 2 ψ ( h start h e ) , x 2 ( π ψ ) = 0 0 = e π 2 ψ ( C 4 ) + h e , e π ( h start h e ) = h e , h start = h e ( 1 + e π ) , h e = h start ( 1 + e π ) , C 4 = 2 ψ h start ( 1 h start ( 1 + e π ) ) , x 2 * ( t ) = { h s t a r t e ψ t ( 1 h start ( 1 + e π ) ) ( c ( ψ t ) + s ( ψ t ) ) + ( 1 h start ( 1 + e π ) ) 0 < t π ψ 0 t > π ψ
It is to be borne in mind that in order to use the trajectory evaluated, the correct value of β must be stipulated first, and subsequently used in the performance index  Equation (38). The evaluation of this parameter can be done iteratively by creating, at first, two vectors, which: include a set of initial altitudes, say ranging between 0.5 m up to 5 m with the step of 0.05 m , and the vector of 4000 equally-spaced samples of candidate β values in the range of 0 ; 3 × 10 12 . The choice of the final value of the parameter is based on evaluation of various trajectories for every pair of the above-mentioned parameters, according to relation Equation (38). Secondly, the samples with negative thrust force need to be removed, and finally, the value of β is based on the minimal value of J for consecutive initial altitude. The results of such iterative calculations is presented in Figure 5.
The function implementing the calculations in Matlab has been presented in Appendix A (Algorithm A1).
Once the final formula for the landing trajectory x 2 ( t ) is found, and accompanied by the optimal β , it is possible to calculate the trajectories for a specific test conditions. Sample trajectories have been presented in Figure 6.

7. Velocity-Penalized Landing

The trajectories presented in Section 5 and Section 6 can be used during emergency landing, when either time or energy considerations are of prime importance. In these cases, the landing process is fast, and coupled with a huge jerk or snap. However, during the planned landing phase it is useful to take the performance index penalizing the velocity of a drone in the z axis and taking energy considerations into account. During the calculations, a variational calculus approach with constraints is adopted [16], and a penalty taking control signal energy is included into the performance index, to shorten the landing time,
J = 0 t ( x 1 2 + β u 2 ) d t .
It is necessary to transform the cost function Equation (48) using Equations (21) and (22) into:
J = 0 t x 1 2 + β u 2 d t = 0 t x ˙ 2 2 + β x ˙ 1 α + g α 2 d t = = 0 t x ˙ 2 2 + β α x ˙ 1 + g 2 d t .
Having assumed that γ : = β α ,
J = 0 t x ˙ 2 2 + γ x ˙ 1 2 + 2 g x ˙ 1 + g 2 d t = = 0 t x ˙ 2 2 + γ x ¨ 2 2 + 2 g γ x ¨ 2 + γ g 2 d t .
In order to find the extremum of the functional Equation (49), it is necessary to satisfy the following Euler-Poisson equations for all the functions which are presented in Reference [18]:
δ f δ x i d d t δ f δ x ˙ i + d 2 d t 2 δ f δ x ¨ i + ( 1 ) n d n d t n δ f δ x i ( n ) = 0 ,
where x i ( n ) stands for the n-th order derivative of x i with respect to time. Abiding standard Euler notation, the sub-derivative expressions take the following form: for n = 1 one gets δ f δ x ˙ i , for n = 2 , δ f δ x ¨ i , and so forth.
On the basis of the sub-integral function in Equation (49), a Lagrangean must be defined at first. The term γ g 2 has not been included in the performance index, as it is a constant value and has no impact on the precise localisation of the extremum of the functional. In addition, the Lagrange multiplier λ is included into the formula and results from the assumption Equation (27) x 2 0 x 2 + κ 2 = 0 :
L ( t , x 2 , x ˙ 2 , x ¨ 2 , λ , κ ) = x ˙ 2 2 + γ x ¨ 2 2 + 2 g γ x ¨ 2 + λ ( x 2 + κ ) , L = 0 .
In order to formulate the Euler-Poisson equation, it is necessary to calculate the following derivatives of L:
δ L x 2 = λ , δ L x ˙ 2 = 2 x ˙ 2 , d d t δ L x ˙ 2 = 2 x ¨ 2 , δ L x ¨ 2 = 2 γ g + 2 γ x ¨ 2 , d 2 d t 2 δ L x ¨ 2 = 2 γ x 2 ( 4 ) , δ L δ λ = x 2 + κ 2 , d d t δ L λ = 0 , δ L δ κ = 2 λ κ , d d t δ L κ = 0 .
On the basis of the latter, and Equation (50), the final set the necessary conditions of optimality is formulated:
0 = λ 2 x ¨ 2 + 2 γ x 2 ( 4 ) 0 = x 2 + κ 2 0 = 2 λ κ .
Two cases need to be considered here, namely λ 0 and λ = 0 :
Case I ̲ - constraint Equation ( 27 ) is active ( z = 0 ) : λ 0 λ κ = 0 , κ = 0 , 0 = x 2 + κ 2 , x 2 = 0 .
Case II ̲ - constraint Equation ( 27 ) is inactive ( z > 0 ) : λ = 0 λ κ = 0 κ x 2 0 , , 0 = 2 x ¨ 2 + 2 γ x 2 ( 4 ) , 0 = γ x ¨ 2 ( 4 ) x ¨ 2 , x 2 = e r t , 0 = γ e r t ( 4 ) e r t ( 2 ) , 0 = γ r 4 r 2 , 0 = r 2 γ r 2 1 , ψ : = 1 γ , x 2 = C 1 t + C 2 + e ψ t C 3 c ( γ t ) + C 4 s ( γ t ) .
By using Equation (22), a time derivative of Equation (54) can be calculated:
x 1 = d d t ( x 2 ) , x 1 = C 1 ψ e ψ t C 3 c ( γ t ) + C 4 s ( γ t ) + e ψ t γ C 3 s ( γ t ) + γ C 4 c ( γ t ) ,
x 1 = C 1 + C 3 e ψ t ψ c ( γ t ) γ s ( γ t ) + C 4 e ψ t ψ s ( γ t ) + γ c ( γ t ) .
On the basis of the expressions from Equations (25), (26), (54) and (56), the integral constants C 1 ÷ 4 can be obtained:
x 1 ( 0 ) = 0 C 1 + C 3 ( ψ ) + C 4 γ = 0 x 1 ( t f ) = 0 C 1 = 0 } C 4 = ψ γ C 3 , x 2 ( 0 ) = h start C 2 + C 3 = h start x 2 ( t f ) = 0 C 2 = 0 } C 3 = h start , C 4 = ψ γ h start , x 1 * ( t ) = h start ( e ψ t ( ψ c ( γ t ) γ s ( γ t ) ) + ψ γ e ψ t ( ψ s ( γ t ) + γ c ( γ t ) ) ) ,
x 2 * ( t ) = h start e ψ t ( c ( γ t ) + ψ γ s ( γ t ) ) .
As in the case of minimum-energy landing, β should also be optimized using, preferably, the same method, though in this case β 0 ; 2 × 10 6 , and the cost function takes the form of Equation (48). The listing of a function implementing this idea is given in Appendix A (Algorithm A1). Figure 7 presents velocity-penalized landing trajectories for various initial altitudes.

8. Comparison of the Obtained Trajectories

The trajectories obtained in Section 5, Section 6 and Section 7 have been presented in Figure 8. As can be seen, the time of the landing phase and velocities differ as the function of the selected landing scenario. Having assumed that landing is terminated whenever the difference between the ground level and the current altitude does not exceed 0.01 m , the results have been given in Table 1. The value 0.01 m is arbitrary, and is reflected by the way the real Rolling Spider UAV is affected by disturbances, resulting from the air flow, and poor precision of its inertial measurement unit (IMU).
The methodology behind selecting the gain for the integral term in the PID controller is depicted in Figure 9. By comparing the experiments for various values of the I term gain, the value of 0.01 was selected to mimic relatively fast response time in hover state, while keeping good damping ratio of the control loop. It is a common practice in UAV that controllers actually act like PD controllers, when the I term has low gains.

9. Simulink Support Package for Parrot Minidrones

By using the Simulink Support Package for Parrot Minidrones in Matlab is was possible to simulate the behaviour of the drone in safe conditions, and to verify the obtained optimization results. The software enables one to obtain access to all the signals that would be available from the real machine, with the block diagram in the Simulink given in Figure 10.
The basic block diagram has been modified so that it is possible to provide the reference trajectory, see Figure 11. Its block diagram depicted using standard control blocks, is presented in Figure 10c. The position signal is connected here to the altitude component which is fed back from the estimator, see Reference [19]. This model, as well as many other mathematical models have been made available to the public by Mathematical Model Database, see Reference [20]. As the Simulink model is implemented in NED convention, the sign of the z coordinate in the Simulink block diagram has to be changed to the opposite.
The control system provided by the developer contains the altitude, XY position, yaw, roll and pitch controllers. According to Equation (7) the translation in z axis in independent from the movement in the horizontal plane, thus the modification of the altitude controller is possible without any changes in the remaining controllers.
In order to eliminate the steady-state error, an integral action has been added to the original PD controller, with the integral gain set as K I = 0.01 , see Figure 12, where the controller is given by ( e ( t ) = z ref ( t ) z ( t ) , as the tracking error, and z ref ( t ) as the reference signal),
u ( t ) = k P e ( t ) + k D d e d t ,
u ( t ) = k P e ( t ) + k I e ( t ) d t + k D d e d t .
In this configuration of the controller, P and D gains of the altitude controller have been found by a systematic search within the admissible values’ ranges, repeating the experiment to ascend to 2 m , hover, and descend the drone starting at 6 s from the altitude of 2 m to 0.5 m , to observe possible overshoot effects. The gain values have been given in Table 2. The corresponding trajectories from the closed-loop system are presented in Figure 13.

10. Summary

In this paper, we demonstrated the applicability of the idea of optimization of the landing process of the UAV to the model-in-the-loop simulation of the Rolling Spider drone. The encouraging performance of the model of the system for various optimization criteria is shown through simulations. The obtained results imply that it is possible to design the control loop in such a way, so that various frequency responses of the closed-loop systems can be obtained, to shape the system’s response to a specific altitude reference signal. In order to do the latter, the altitude controller parameters need to be identified to ensure optimal-like behaviour.
In the future work, the authors plan to move from model-in-the-loop to hardware-in-the-loop experiments, using a motion capture system to precisely measure the altitude of the Rolling Spider drone, in comparison to the reference altitude. Such a knowledge enables one conduct further experiments with more complex approaches, including auto-tuning for real UAV experiment. Carrying out such experiments would make the method portable in the sense that it could also work for other types of UAVs, as just a reference profile and the tuning method need to be used.
On the other hand, it is to be stressed that for unstable structures, as presented in Reference [21], it is possible to build a composite feedback linearization control scheme where using an inverse dynamic model a reference trajectory generator is built, and the polynomial approximation of the trajectory is utilized, what calls for multivariable nonlinear programming problems to arise, to fit the polynomial into the waypoints. This might also be an interesting step, requiring good identification of the model, at first. As a wider and wider spectrum of the UAVs being constructed and successfully deployed, Reference [22], including a spectrum of control approaches, potentially enables researchers to identify new, optimal, control approaches to increase the performance of the flying structures at various stages of flight, including optimal landing procedure.

Author Contributions

Conceptualization, D.H.; methodology, D.H., J.C.; software, J.C.; validation, D.H.; formal analysis, D.H.; investigation, J.C.; writing—original draft preparation, D.H., J.C.; writing—review and editing, D.H.; visualization, J.C.; funding acquisition, D.H. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by Poznan University of Technology grant number 0214/SBAD/0210, and the APC was funded by Poznan University of Technology.

Conflicts of Interest

The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript, or in the decision to publish the results.

Appendix A

Algorithm A1: Optimal β calculation
Require: Ts and trajGeneration and trajectory
  return BetaSet and J_mat and bbeta and hh
  % Ts - sufficiently small sampling period [s]
  % trajGeneration - handle to the function generating trajectories
  % trajectory - enum variable (trajectory identification)
  m=0.068;
  Tsim = 5;
  switch trajectory
   case cTrajectory.FalseZero
    bbeta = linspace(0,3e-12,4000);
   case cTrajectory.SpeedPenatly
    bbeta = linspace(0,2e-6,4000);
  end
  hh = 0.5:0.05:5;
  J_mat = zeros(length(bbeta), length(hh));
  for b_index = 1 to length(bbeta) do
   for h_index = 1 to length(hh) do
    [J_mat(b_index, h_index),TempMat] =
    trajGeneration(hh(h_index), m, Tsim, Ts, bbeta(b_index));
    nn = TempMat(:,5);
    if any(nn<0) then
     J_mat(b_index, h_index) = NaN;
    end if
   end for
  end for
  BetaSet = cell(length(hh),1);
  for index = 1 to length(hh) do
   [∼, a] = min(J_mat(:,index));
   BetaSetindex.beta = bbeta(a(1));
   BetaSetindex.h = hh(index);
  end for
Algorithm 2: Finding β for arbitrary altitude
Require: BetaSet and h_in
  return beta
  % BetaSet - set of coefficients generated with CalculateBeta
  % h_in - altitude of the UAV w.r.t. the final altitude [m]
  betaArray = [BetaSet:];
  hh = [betaArray.h];
  ind1 = find(hh==h_in);
  if ind1 then
   beta = betaArray(ind1).beta;
  else
   step = betaArray(2).h-betaArray(1).h;
   up = floor(h_in) + ceil( (h_in-floor(h_in))/step) * step;
   down = floor(h_in) + floor( (h_in-floor(h_in))/step) * step;
   [ ∼, indUp ] = min( abs( hh-up ) );
   [ ∼, indDown ] = min( abs( hh-down ) );
   weight_up = (h_in-down)/step;
   beta = betaArray(indUp).beta * weight_up + betaArray(indDown).beta   *(1-weight_up);
  end if

References

  1. Tognon, M.; Testa, A.; Rossi, E.; Franchi, A. Takeoff and landing on slopes via inclined hovering with a tethered aerial robot. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; pp. 1702–1707. [Google Scholar]
  2. Saska, M.; Kasl, Z.; Preucil, Z. Motion planning and control of formations of micro aerial vehicles. IFAC Proc. Vol. 2014, 47, 1228–1233. [Google Scholar] [CrossRef] [Green Version]
  3. Karaman, S.; Riether, F. Getting started with MIT‘s Rolling Spider MATLAB Toolbox, An MIT take-home lab for 16.30 Feedback Control Systems, Massachusetts Institute of Technology. 2016. Available online: http://fast.scripts.mit.edu/dronecontrol/wpcontent/uploads/2016/05/GettingStarted.pdf (accessed on 1 April 2020).
  4. Mirzaeinia, A.; Hassanalian, M. Minimum-Cost Drone–Nest Matching through the Kuhn–Munkres Algorithm in Smart Cities: Energy Management and Efficiency Enhancement. Aerospace 2019, 6, 125. [Google Scholar] [CrossRef] [Green Version]
  5. Bayerlein, H.; Kerret, P.D.; Gesbert, D. Trajectory Optimization for Autonomous Flying Base Station via Reinforcement Learning. In Proceedings of the 2018 IEEE 19th International Workshop on Signal Processing Advances in Wireless Communications (SPAWC), Kalamata, Greece, 25–26 June 2018; pp. 1–5. [Google Scholar]
  6. Baca, T.; Stepan, P.; Spurny, V.; Hert, D.; Penicka, R.; Saska, M.; Thomas, J.; Loianno, G.; Kumar, V. Autonomous landing on a moving vehicle with an unmanned aerial vehicle. J. Field Robot. 2019, 36, 874–891. [Google Scholar] [CrossRef]
  7. Tan, L.; Wu, J.; Yang, X.; Song, S. Research on optimal landing trajectory planning method between an UAV and a movin vessel. Appl. Sci. 2019, 9, 3708. [Google Scholar] [CrossRef] [Green Version]
  8. Dono, T.F. Optimized Landing of Autonomous Unmanned Aerial Vehicle Swarms; Naval Postgraduate School: Monterey, CA, USA, 2012. [Google Scholar]
  9. Crowther, W.J. Perched landing and takeoff for fixed wind UAVs. In Proceedings of the Unmanned Vehicles for Aerial, Ground and Naval Military Operations RTO AVT Symposium, Ankara, Turkey, 9–13 October 2000; pp. 19-1–19-10. [Google Scholar]
  10. Fang, X.; Wan, N.; Jafarnejadsani, H.; Sun, D.; Holzapfel, F.; Hovakimyan, N. Emergency Landing Trajectory Optimization for Fixed-Wing UAV under Engine Failure. In Proceedings of the AIAA Scitech Forum 2019, San Diego, CA, USA, 7–11 January 2019. [Google Scholar]
  11. Zhang, H.; Liu, C.; Xu, G. Take-off trajectory optimization of vertical take off and landing UAV. In Proceedings of the 36th Chinese Control Conference (CCC), Dalian, China, 26–28 July 2017. [Google Scholar] [CrossRef]
  12. Saeed, A.S.; Younes, A.B.; Cai, C.; Cai, G. A survey of hybrid Unmanned Aerial Vehicles. Prog. Aerosp. Sci. 2018, 98, 91–105. [Google Scholar] [CrossRef]
  13. Liu, H. Multivariable Control of a Rolling Spider Drone. Master’s Thesis, University of Rhode Island, Kingston, RI, USA. Available online: https://digitalcommons.uri.edu/theses/1064 (accessed on 12 March 2019).
  14. Ryll, M.; Bicego, D.; Franchi, A. Modeling and Control of FAST-Hex: A Fully-Actuated by Synchronized-Tilting Hexarotor. In Proceedings of the IEEE International Conference on Intelligent Robots and Systems, Dajeon, Korea, 9–14 October 2016; pp. 1689–1694. [Google Scholar]
  15. Horla, D.; Owczarkowski, A. Robust LQR with actuator failure control strategies for 4DoF model of unmanned bicycle robot stabilised by inertial wheel. In Proceedings of the International Conference on Industrial Engineering and Systems Management, Seville, Spain, 21–23 October 2015; pp. 998–1003. [Google Scholar]
  16. Horla, D. Metody obliczeniowe optymalizacji w zadaniach, 2nd ed.; Wydawnictwo Politechniki Poznanskiej: Poznan, Poland, 2016. (In Polish) [Google Scholar]
  17. Zhang, J.; Mcinnes, C.R. Using instability to reconfigure smart structures in a spring-mass model. Mech. Syst. Signal Process. 2017, 91, 81–92. [Google Scholar] [CrossRef] [Green Version]
  18. Athans, M.; Falb, P.L. Optimal Control: An Introduction to the Theory and Its Applications; McGraw-Hill: New York, NY, USA, 1966. [Google Scholar]
  19. Goslinski, J.; Giernacki, W.; Krolikowski, A. A Nonlinear Filter for Efficient Attitude Estimation of Unmanned Aerial Vehicle (UAV). J. Intell. Robot. Syst. 2019, 95, 1079–1095. [Google Scholar] [CrossRef] [Green Version]
  20. Giernacki, W.; Horla, D.; Sadalla, T. Mathematical Models Database (MMD ver. 1.0) Non-commercial proposal for researchers. In Proceedings of the 21st International Conference on Methods and Models in Automation and Robotics (MMAR), Miedzyzdroje, Poland, 24–27 August 2016; pp. 555–558. [Google Scholar]
  21. Zhang, J.; Mcinnes, C.R. Reconfiguring smart structures using approximate heteroclinic connections. Smart Mat. Struct. 2015, 24, 105034. [Google Scholar] [CrossRef] [Green Version]
  22. Hassanalian, M.; Abdelkefi, A. Classifications, applications, and design challenges of drones: A review. Prog. Aerosp. Sci. 2017, 91, 99–131. [Google Scholar] [CrossRef]
Figure 1. Coordinate systems and Euler angles.
Figure 1. Coordinate systems and Euler angles.
Energies 13 02062 g001
Figure 2. Minimum-time trajectories (for various initial altitudes—see the values at t = 0 ).
Figure 2. Minimum-time trajectories (for various initial altitudes—see the values at t = 0 ).
Energies 13 02062 g002
Figure 3. Minimum-energy trajectories—overshoot phenomenon.
Figure 3. Minimum-energy trajectories—overshoot phenomenon.
Energies 13 02062 g003
Figure 4. Virtual ground level shift.
Figure 4. Virtual ground level shift.
Energies 13 02062 g004
Figure 5. β values as a function of an altitude h.
Figure 5. β values as a function of an altitude h.
Energies 13 02062 g005
Figure 6. Minimum-energy landing trajectories (for various initial altitudes—see the values at t = 0 ).
Figure 6. Minimum-energy landing trajectories (for various initial altitudes—see the values at t = 0 ).
Energies 13 02062 g006
Figure 7. Velocity-penalized trajectories (for various initial altitudes—see the values at t = 0 ).
Figure 7. Velocity-penalized trajectories (for various initial altitudes—see the values at t = 0 ).
Energies 13 02062 g007
Figure 8. Comparison of a landing process.
Figure 8. Comparison of a landing process.
Energies 13 02062 g008aEnergies 13 02062 g008b
Figure 9. Performance of the altitude stabilization for various integral gains of the PID controller.
Figure 9. Performance of the altitude stabilization for various integral gains of the PID controller.
Energies 13 02062 g009
Figure 10. Matlab model of the Rolling Spider.
Figure 10. Matlab model of the Rolling Spider.
Energies 13 02062 g010
Figure 11. Building a signal generator to provide reference to the drone.
Figure 11. Building a signal generator to provide reference to the drone.
Energies 13 02062 g011
Figure 12. Primary and modified altitude controller structures.
Figure 12. Primary and modified altitude controller structures.
Energies 13 02062 g012
Figure 13. Comparison of behaviour of the model of the Parrot Rolling Spider in Matlab environment.
Figure 13. Comparison of behaviour of the model of the Parrot Rolling Spider in Matlab environment.
Energies 13 02062 g013aEnergies 13 02062 g013b
Table 1. Comparison of trajectories.
Table 1. Comparison of trajectories.
TrajectoryLanding Time to z < 0 . 01 m ( s ) Minimal Altitude ( m )
Minimum-time 0 . 871 4 . 4409 × 10 17
Minimum-energy 1 . 768 5 . 4839 × 10 9
Velocity-penalized 3 . 317 2 . 5135 × 10 3
Table 2. The gains used during the simulation.
Table 2. The gains used during the simulation.
GainsMinimum-TimeMinimum-EnergyVelocity-Penalized
K p 3.6956.4674.424
K d 0.6450.3760.259

Share and Cite

MDPI and ACS Style

Horla, D.; Cieślak, J. On Obtaining Energy-Optimal Trajectories for Landing of UAVs. Energies 2020, 13, 2062. https://doi.org/10.3390/en13082062

AMA Style

Horla D, Cieślak J. On Obtaining Energy-Optimal Trajectories for Landing of UAVs. Energies. 2020; 13(8):2062. https://doi.org/10.3390/en13082062

Chicago/Turabian Style

Horla, Dariusz, and Jacek Cieślak. 2020. "On Obtaining Energy-Optimal Trajectories for Landing of UAVs" Energies 13, no. 8: 2062. https://doi.org/10.3390/en13082062

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop