# Vision-Based Nonlinear Control of Quadrotors Using the Photogrammetric Technique

Authors: José Trinidad Guillén-Bonilla; Claudia Carolina Vaca García; Stefano Di Gennaro; María Eugenia Sánchez Morales; Cuauhtémoc Acosta Lúa
Journal: Mathematical Problems in Engineering
 (2020)

---

## Abstract

This paper presents a controller designed via the backstepping technique, for the tracking of a reference trajectory obtained via the photogrammetric technique. The dynamic equations used to represent the motion of the quadrotor helicopter are based on the Newton–Euler model. The resulting quadrotor model has been divided into four subsystems for the altitude, longitudinal, lateral, and yaw motions. A control input is designed for each subsystem. Furthermore, the photogrammetric technique has been used to obtain the reference trajectory to be tracked. The performance and effectiveness of the proposed nonlinear controllers have been tested via numerical simulations using the Pixhawk Pilot Support Package developed for Matlab/Simulink.


---

## Body

## 1. Introduction

The technology of unmanned aerial vehicles (UAVs) is developing rapidly, based on the integration of many technologies in the mechanical structure, energy management, communication, control, etc, [1]. UAVs are widely used in many applications in civilian as well as in military contexts. For instance, UAVs provide great advantages in geographical information acquisition and safety purposes, as well as significant benefits when used for inspection and detection purposes. Furthermore, UAVs are becoming more and more accessible due to technological developments that enable their increasing use in different and broad application areas.Different mathematical models can be used to design a controller for UAVs. In [2–4], a Newton–Euler model was presented. Furthermore, the studies in [5, 6] considered quaternions to describe the angular kinematics, whilst the study in [7] applied the Euler–Lagrange equations to obtain the whole quadrotor mathematical model. Regarding the control of quadrotors, many control techniques were proposed. The linear quadratic regulator control and proportional integral derivative control were proposed in [8, 9]. However, the stability of these methods cannot be guaranteed when the quadrotor moves away from its equilibrium configuration. Compared to linear control, the nonlinear control can ensure global stable flight for a quadrotor. Examples of nonlinear control techniques used to design a controller for a quadrotor are the sliding mode and the backstepping techniques [10–13]. The backstepping and adaptive control [14] were applied to the quadrotor flight control. In [15, 16], an observer-based adaptive fuzzy backstepping controller was designed for trajectory tracking of a quadrotor subject to wind gusts and parametric uncertainties. In [17], a robust adaptive attitude tracking control for a quadrotor was proposed. In [18], a control trajectory tracking was designed via the sliding mode technique and using neural networks to optimize the controller parameters through a network learning process which is based on the control process.To design vision-based controllers, researchers used different methods for the recognition of objects, trajectories, road lanes, etc. In [19], an INS/vision-based autonomous landing system on stationary platforms was proposed, whereas in [20], mobile platforms were used for the landing of quadrotors. In [21], the position of a quadrotor was estimated by the detection of a set of concentric circles. In [22], a controller, based on computer vision techniques applied to helipad recognition, was proposed, in which the visual recognition of a black and white pattern of the helipad was exploited. In [23], a computer vision system was developed for the automatic estimation of the position and attitude of a helipad fixed on a mobile platform. In [24], a trajectory tracking problem for a vision-based quadrotor control system via super twisting sliding mode controller was proposed. Also, the study in [25] proposed a neuroadaptive integral robust controller for the tracking of ground moving targets in the presence of various uncertainties, via an Image-Based Visual Servo (IBVS) framework. The authors of [26] presented a predictive control algorithm for autonomous approaches of quadrotor helicopters to a window using a reference image captured with a photographic camera. The target is selected by an operator in a reference image which is sent to the vehicle. Besides, the authors of [27] proposed an adaptive sliding mode controller based on the backstepping technique for a tracking problem using a monocular algorithm to obtain the accurate location information of the quadrotor and its reference. In the same context, the work in [28, 29] developed a vision-based attitude dynamic surface controller, constructing an IBVS to ensure that the visual target remains in the camera’s field of view all the time.In this paper, a controller for the tracking of a reference trajectory is designed via the backstepping technique. The quadrotor model is divided into four subsystems for the altitude, longitudinal, lateral, and yaw motions, and a control input is designed for each subsystem. Furthermore, the photogrammetric technique is used to obtain the reference trajectory to be tracked. The performance and effectiveness of the proposed nonlinear controllers are tested via numerical simulations using the simulation software called Pixhawk Pilot Support Package (PSP), which predicts accurately the real dynamic quadrotor helicopter behavior. The main contributions of this article are as follows:(i)
The backstepping technique is used to design a controller capable of tracking a reference position and yaw of a quadrotor(ii)
The photogrammetric technique is used to obtain the reference trajectory(iii)
The performance and effectiveness of the proposed controller have been tested in PSPThe paper is organized as follows: Section2 introduces the description and the mathematical model of the quadrotor. In Section 3, the control problem is formulated, whilst in Section 4, the nonlinear controller is designed. In Section 5, the reference trajectory is obtained via the photogrammetric technique, and some numerical simulations implemented in PSP are presented. Some comments conclude the paper.


## 2. Mathematical Model of a Quadrotor

The quadrotor considered in this work consists of a rigid frame equipped with four rotors. The rotors generate the propeller forceFi=bωp,i2, proportional to the propeller angular velocity ωp,i, i=1,2,3,4. Propellers 1 and 3 rotate counterclockwise, and propellers 2 and 4 rotate clockwise.Let us indicate withRCO,e1,e2,e3 and RΓΩ,ϵ1,ϵ2,ϵ3 the frames fixed with the Earth and the quadrotor, respectively, and Ω is coincident with the center of mass of the quadrotor (see Figure 1). The absolute position of quadrotor in RC is described by p=x,y,zT, whereas its attitude is described by the Euler angles α=ϕ,θ,ψT, with ϕ,θ,ψ∈−π/2,π/2 being the pitch, roll, and yaw angles, respectively. The sequence 3–2–1 is here considered [30]. Moreover, v=vx,vy,vzT and ω=ω1,ω2,ω3T are the linear and angular velocities of the center of mass of the quadrotor, expressed in RC and in RΓ, respectively.Figure 1
Quadrotor orientation using Euler angles.The translation dynamics, expressed inRC, and rotation dynamics, expressed in RΓ, of the quadrotor are(1)p˙=v,v˙=1mℛαFprop+1mFgrav+1mFd,α˙=Mαω,ω˙=J−1−ω˜Jω+τprop−τgyro+Md,where m is the mass of the quadrotor, J=diagJx,Jy,Jz (expressed in RΓ) is the inertia matrix of the quadrotor, and(2)ω˜=0−ω3ω2ω30−ω1−ω2ω10,is the so-called dyadic representation of ω. Furthermore,(3)Fprop=00∑i=14Fi,Fgrav=00−mg,τprop=τ1τ3τ2=lF2−F4lF3−F1cF1−F2+F3−F4=lu3lu2u4,are the input forces and moments produced by the propellers, where l is the distance between center of mass CG to the rotor shaft and c is the drag factor. Moreover, Fgrav in (3) is the force due to the gravity, expressed in RC.The vectors expressed inRΓ are transformed into vectors in RC by the rotation matrix(4)ℛα=cθcψsϕsθcψ−cϕsψcϕsθcψ+sϕsψcθsψsϕsθsψ+cϕcψcϕsθsψ−sϕcψ−sθsϕcθcϕcθ,where c∗=cos∗, s∗=sin∗, and ∗=ϕ,θ,ψ.The angular velocity dynamics are expressed using the matrix(5)Mα=1sϕtgθcϕtgθ0cϕ−sϕ0sϕscθcϕscθ,with tg∗=tan∗, sc⋄=sec∗, and ∗=ϕ,θ,ψ.Considering small angles, matrix (5) can be approximated by the identity matrix, i.e., Mα=I3x3. This assumption is justified by the fact that the movements of the quadrotor are slow and soft [4].The rolling torqueτ1 is produced by the forces F2 and F4. Similarly, the pitching torque τ3 is produced by the forces F1 and F3. Due to Newton’s third law, the propellers produce a yawing torque τ2 on the body of the quadrotor, in the opposite direction of the propeller rotation. Moreover,(6)τgyro=∑i=14−1i+1Jpωpω˜ϵ3,is the gyroscopic torque due to the propeller rotations, with Jp being the propeller moment of inertia with respect to its rotation axis, and ωp=ωp,1−ωp,2+ωp,3−ωp,4 is the so-called rotor relative speed. Finally, Fd and Md are the forces and torques due to the external disturbances, here assumed negligible.Now, using (1) and (3) and under the small angle assumption, the mathematical model of the quadrotor can be expressed by(7)x¨=1mcϕsθcψ+sϕsψu1,y¨=1mcϕsθsψ−sϕcψu1,z¨=−g+1mcϕcθu1,ϕ¨=Jy−JzJxθ.ψ˙−JpJxωpθ.+lJxu3,θ..=Jz−JxJyϕ˙ψ˙+JpJyωpϕ˙+lJyu2,ψ¨=Jx−JyJzϕ˙θ.+1Jzu4,where the control variables uj, j=1,2,3,4, are defined as (3). The values of the parameters used in (7) are defined in Table 1.Table 1
Quadrotor’s coefficients and variables.
VariableValuem1.1 kgl0.223 mJx6.825×10−3 kg m2Jy6.825×10−3 kg m2Jz12.39×10−3 kg m2Jp6×10−5 kg m2g9.81 m/s2c1.1×10−6 N s2rad−2xmymzmvxm/svym/svzm/sϕdegθdegψdegωϕdeg/sωθdeg/sωψdeg/s


## 3. Formulation of the State Feedback Control Problem

The control problem is to ensure the asymptotic converge of the variablesχ=x,y,z,ψ to some reference trajectories χref=xref,yref,zref,ψref. In view of the control of the quadrotor, the following coordinate change is considered: ϕ˙=ωϕ, θ.=ωθ, and ψ˙=ωψ (ωϕ≃ω1, ωθ≃ω2, ωψ≃ω3), and the system of equations (7) became(8)x˙=vx,v˙x=1mcϕsθcψ+sϕsψu1,y˙=vy,v˙y=1mcϕsθsψ−sϕcψu1,z˙=vz,v˙z=−g+1mcϕcθu1,ϕ˙=ωϕ,ω˙ϕ=Jy−JzJxωθωψ−JpJxωpωθ+lJxu3,θ.=ωθ,ω˙θ=Jz−JxJyωϕωψ+JpJyωpωϕ+lJyu2,ψ˙=ωψ,ω˙ψ=Jx−JyJzωϕωθ+1Jzu4.Clearly, model (8) is composed of rotational and translational dynamics. Figure 2 shows that the input control u1 does not influence the rotational dynamics but only the translational ones and can be used to impose z⟶zref. Furthermore, in the spirit of the backstepping technique, the ϕ,θ,ψ can be used to impose x⟶xref, y⟶yref. In turn, ϕ,θ,ψ are influenced by the inputs u3,u2,andu4, which can be used to impose ϕ⟶ϕref, θ⟶θref, and ψ⟶ψref. Hence, the following four subsystems will be considered: the altitude subsystem S1, the latitudinal subsystem S2, the longitudinal subsystem S3, and the yaw subsystem S4:(9)S1=z˙=vzv˙z=−g+1mcϕcθu1,S2=x˙=vxv˙x=1mcϕsθcψ+sϕsψu1θ.=ωθω˙θ=Jz−JxJyωϕωψ+JpJyωpωϕ+lJyu2,S3=y˙=vyv˙y=1mcϕsθsψ−sϕcψu1ϕ˙=ωϕω˙ϕ=Jy−JzJxωθωψ−JpJxωpωθ+lJxu3,S4=ψ˙=ωψω˙ψ=Jx−JyJzωϕωθ+1Jzu4.Figure 2
Connection between rotational and translational dynamics.The controller design for each subsystem will be carried out in the following section.


## 4. Design of the Nonlinear Controller

The translation dynamics in equation (7) are dependent on the ϕ, θ, and ψ angles. In the next sections, a nonlinear control is used for each subsystem to solve the control problem.


### 4.1. Altitude Control

In this section are established the altitude control and its stability proof via Lyapunov function. For this purpose, it is considered that the altitude controlS1 subsystem is(10)z˙=vz,v˙z=−g+1mcϕcθu1.The control aim is to maintain the quadrotor at a desired constant altitudezref, with vz,ref=z˙ref. To this aim, setting the tracking error for the altitude control as(11)ez,1=z−zref,ez,2=vz−vz,ref+kz,1ez,1,the dynamic errors are(12)e˙z,1=−kz,1ez,1+ez,2,e˙z,2=−g+1mcϕcθu1−v˙z,ref+kz,1ez,2−kz,1ez,1+vz,ref−z˙ref.The proposed altitude controlu1 is(13)u1=mcϕcθg+v˙z,ref−kz,1ez,2−kz,1ez,1+vz,ref−z˙ref−k3ez,1−k4ez,2,where cϕ≠0 and cθ≠0. Therefore, using altitude control (13) in (12), the altitude error dynamics became(14)e˙z,1e˙z,2=Azez,1ez,2,Az=−kz,11−k3−k4.For the stability analysis of system (14), the following Lyapunov function candidate is proposed:(15)Vzez=12ezTPzez,ez=ez,1ez,2,Pz=pz,11pz,12pz,12pz,22,where Pz=PzT>0. Deriving Lyapunov function (15), one obtains(16)V˙zez=ezTAzTPz+PzAzez,where Pz is taken as solution of the Lyapunov equation(17)AzTPz+PzAz=−Qz,Qz=q1,z00q1,z,with Qz=QzT>0 being fixed. Using (17) into (16), one finally obtains(18)V˙zez=−ezTQzez≤λminQzez2≤−αVzez,with α=2λminQz/λmazPz and Pz as solution of (17). Therefore, by [31], Vzez≤e−αtVez0, so that the tracking errors converge globally exponential to zero.


### 4.2. Longitudinal Motion Control

In this section, the longitudinal motion is studied making use of the subsystemS2 and using the backstepping technique. One considers the tracking error ex,1=x−xref, where vx,ref=x˙ref, and the error dynamics(19)e˙x,1=vx−x˙ref,or, equivalently,(20)e˙x,1=−kx,1ex,1+vx−x˙ref+kx,1ex,1=−kx,1ex,1+ex,2,kx,1>0,where(21)ex,2=vx−vx,ref,is the velocity error and(22)vx,ref=x˙ref−kx,1ex,1,is the reference velocity. Successively, one works out the velocity error dynamics as(23)e˙x,2=1mcϕsθcψ+sϕsψu1−x¨ref+kx,1e˙x,1=−kx,2ex,2+1mcϕsθcψu1+1msϕsψu1−x¨ref−kx,12ex,1+kx,1+kx,2ex,2,with kx,2>0, where u1 is given by (13). For the stabilization of ex,2, the reference value for sθ can be fixed as follows:(24)sθ,ref=mcϕcψu1x¨ref+kx,12ex,1−kx,1+kx,2ex,2−sϕsψcϕcψ,where cϕ≠0 and cψ≠0, so that(25)e˙x,2=−kx,2ex,2+1mcϕcψu1eθ,1,eθ,1=sθ−sθ,ref,θref=arcsinsθ,ref.To impose such a reference for θ, one considers the tracking error eθ,1 and its derivative:(26)e˙θ,1=−kθ,1eθ,1+cθωθ−θ.refcθref+kθ,1eθ,1=−kθ,1eθ,1+cθeθ,2,with kθ,1>0, where(27)ωθ,ref=1cθθ.refcθref−kθ,1eθ,1,is the reference angular velocity and(28)eθ,2=ωθ−ωθ,ref,is the angular velocity error. Therefore, one works out the velocity error dynamics as(29)e˙θ,2=Jz−JxJyωϕωψ+JpJyωpωϕ+lJyu2−ω˙θ,ref.Finally, one determines the input controlu2 as(30)u2=−Jz−Jxlωϕωψ−Jplωpωϕ+Jylω˙θ,ref−kθ,2Jyleθ,2,so that the velocity error dynamics become(31)e˙θ,2=−kθ,2eθ,2,with kθ,2>0.


### 4.3. Lateral Motion Control

In this section is designed the controller for the lateral motion along they-axis of the quadrotor, using the same procedure followed in Section 4.2. One starts with the tracking error(32)ey,1=y−yref,and the dynamics(33)e˙y,1=vy−y˙ref=−ky,1ey,1+vy−y˙ref+ky,1ey,1,ky,1>0,=−ky,1ey,1+ey,2,ey,2=vy−vy,ref,with vy,ref=y˙ref−ky,1ey,1. The dynamics of ey,2 are(34)e˙y,2=v˙y−v˙y,ref=−ky,2ey,2−1mcψu1eϕ,1,sϕref=mcψu1−y¨ref−ky,12ey,1+ky,1+ky,2ey,2+sψcψcϕsθ,eϕ,1=sϕ−sϕref,ϕref=arcsinsϕref,with ky,2>0, cψ≠0, and u1 given by (13). Furthermore, the angular error dynamics are(35)e˙ϕ,1=−kϕ,1eϕ,1+cϕωϕ−ϕ˙refcϕref+kϕ,1eϕ,1=−kϕ,1eϕ,1+cϕeϕ,2,with kϕ,1>0 and(36)eϕ,2=ωϕ−ωϕ,ref,ωϕ,ref=1cϕϕ˙refcϕref−kϕ,1eϕ,1.Finally, the angular velocity error dynamics are(37)e˙ϕ,2=Jy−JzJxωθωψ−JpJxωpωθ+lJxu3−ω˙ϕ,ref,so that the control input is(38)u3=−Jy−Jzlωθωψ+Jplωpωθ+Jxlω˙ϕ,ref−kϕ,2Jxleϕ,2,with kϕ,2>0.


### 4.4. Yaw Motion Control

Considering the subsystemS4, and the errors(39)eψ,1=ψ−ψref,eψ,2=ωψ−ωψ,ref,one works out the error dynamics as(40)e˙ψ,1=ωψ−ψ˙ref=−kψ,1eψ,1+eψ,2,ωψ,ref=ψ˙ref−kψ,1eψ,1,e˙ψ,2=Jx−JyJzωϕωθ+1Jzu4−ω˙ψ,ref,ω˙ψ,ref=ψ¨ref+kψ,12eψ,1−kψ,1eψ,2,with kψ,1>0. Therefore, with the control(41)u4=−Jx−Jyωϕωθ+Jzω˙ψ,ref−kψ,2Jzeψ,2,kψ,2>0,one finally obtains the yaw error dynamics as(42)e˙ψ,1e˙ψ,2=−kψ,110−kψ,2eψ,1eψ,2.The global exponential stability can be inferred analogously to what is done in Section4.1.


## 4.1. Altitude Control

In this section are established the altitude control and its stability proof via Lyapunov function. For this purpose, it is considered that the altitude controlS1 subsystem is(10)z˙=vz,v˙z=−g+1mcϕcθu1.The control aim is to maintain the quadrotor at a desired constant altitudezref, with vz,ref=z˙ref. To this aim, setting the tracking error for the altitude control as(11)ez,1=z−zref,ez,2=vz−vz,ref+kz,1ez,1,the dynamic errors are(12)e˙z,1=−kz,1ez,1+ez,2,e˙z,2=−g+1mcϕcθu1−v˙z,ref+kz,1ez,2−kz,1ez,1+vz,ref−z˙ref.The proposed altitude controlu1 is(13)u1=mcϕcθg+v˙z,ref−kz,1ez,2−kz,1ez,1+vz,ref−z˙ref−k3ez,1−k4ez,2,where cϕ≠0 and cθ≠0. Therefore, using altitude control (13) in (12), the altitude error dynamics became(14)e˙z,1e˙z,2=Azez,1ez,2,Az=−kz,11−k3−k4.For the stability analysis of system (14), the following Lyapunov function candidate is proposed:(15)Vzez=12ezTPzez,ez=ez,1ez,2,Pz=pz,11pz,12pz,12pz,22,where Pz=PzT>0. Deriving Lyapunov function (15), one obtains(16)V˙zez=ezTAzTPz+PzAzez,where Pz is taken as solution of the Lyapunov equation(17)AzTPz+PzAz=−Qz,Qz=q1,z00q1,z,with Qz=QzT>0 being fixed. Using (17) into (16), one finally obtains(18)V˙zez=−ezTQzez≤λminQzez2≤−αVzez,with α=2λminQz/λmazPz and Pz as solution of (17). Therefore, by [31], Vzez≤e−αtVez0, so that the tracking errors converge globally exponential to zero.


## 4.2. Longitudinal Motion Control

In this section, the longitudinal motion is studied making use of the subsystemS2 and using the backstepping technique. One considers the tracking error ex,1=x−xref, where vx,ref=x˙ref, and the error dynamics(19)e˙x,1=vx−x˙ref,or, equivalently,(20)e˙x,1=−kx,1ex,1+vx−x˙ref+kx,1ex,1=−kx,1ex,1+ex,2,kx,1>0,where(21)ex,2=vx−vx,ref,is the velocity error and(22)vx,ref=x˙ref−kx,1ex,1,is the reference velocity. Successively, one works out the velocity error dynamics as(23)e˙x,2=1mcϕsθcψ+sϕsψu1−x¨ref+kx,1e˙x,1=−kx,2ex,2+1mcϕsθcψu1+1msϕsψu1−x¨ref−kx,12ex,1+kx,1+kx,2ex,2,with kx,2>0, where u1 is given by (13). For the stabilization of ex,2, the reference value for sθ can be fixed as follows:(24)sθ,ref=mcϕcψu1x¨ref+kx,12ex,1−kx,1+kx,2ex,2−sϕsψcϕcψ,where cϕ≠0 and cψ≠0, so that(25)e˙x,2=−kx,2ex,2+1mcϕcψu1eθ,1,eθ,1=sθ−sθ,ref,θref=arcsinsθ,ref.To impose such a reference for θ, one considers the tracking error eθ,1 and its derivative:(26)e˙θ,1=−kθ,1eθ,1+cθωθ−θ.refcθref+kθ,1eθ,1=−kθ,1eθ,1+cθeθ,2,with kθ,1>0, where(27)ωθ,ref=1cθθ.refcθref−kθ,1eθ,1,is the reference angular velocity and(28)eθ,2=ωθ−ωθ,ref,is the angular velocity error. Therefore, one works out the velocity error dynamics as(29)e˙θ,2=Jz−JxJyωϕωψ+JpJyωpωϕ+lJyu2−ω˙θ,ref.Finally, one determines the input controlu2 as(30)u2=−Jz−Jxlωϕωψ−Jplωpωϕ+Jylω˙θ,ref−kθ,2Jyleθ,2,so that the velocity error dynamics become(31)e˙θ,2=−kθ,2eθ,2,with kθ,2>0.


## 4.3. Lateral Motion Control

In this section is designed the controller for the lateral motion along they-axis of the quadrotor, using the same procedure followed in Section 4.2. One starts with the tracking error(32)ey,1=y−yref,and the dynamics(33)e˙y,1=vy−y˙ref=−ky,1ey,1+vy−y˙ref+ky,1ey,1,ky,1>0,=−ky,1ey,1+ey,2,ey,2=vy−vy,ref,with vy,ref=y˙ref−ky,1ey,1. The dynamics of ey,2 are(34)e˙y,2=v˙y−v˙y,ref=−ky,2ey,2−1mcψu1eϕ,1,sϕref=mcψu1−y¨ref−ky,12ey,1+ky,1+ky,2ey,2+sψcψcϕsθ,eϕ,1=sϕ−sϕref,ϕref=arcsinsϕref,with ky,2>0, cψ≠0, and u1 given by (13). Furthermore, the angular error dynamics are(35)e˙ϕ,1=−kϕ,1eϕ,1+cϕωϕ−ϕ˙refcϕref+kϕ,1eϕ,1=−kϕ,1eϕ,1+cϕeϕ,2,with kϕ,1>0 and(36)eϕ,2=ωϕ−ωϕ,ref,ωϕ,ref=1cϕϕ˙refcϕref−kϕ,1eϕ,1.Finally, the angular velocity error dynamics are(37)e˙ϕ,2=Jy−JzJxωθωψ−JpJxωpωθ+lJxu3−ω˙ϕ,ref,so that the control input is(38)u3=−Jy−Jzlωθωψ+Jplωpωθ+Jxlω˙ϕ,ref−kϕ,2Jxleϕ,2,with kϕ,2>0.


## 4.4. Yaw Motion Control

Considering the subsystemS4, and the errors(39)eψ,1=ψ−ψref,eψ,2=ωψ−ωψ,ref,one works out the error dynamics as(40)e˙ψ,1=ωψ−ψ˙ref=−kψ,1eψ,1+eψ,2,ωψ,ref=ψ˙ref−kψ,1eψ,1,e˙ψ,2=Jx−JyJzωϕωθ+1Jzu4−ω˙ψ,ref,ω˙ψ,ref=ψ¨ref+kψ,12eψ,1−kψ,1eψ,2,with kψ,1>0. Therefore, with the control(41)u4=−Jx−Jyωϕωθ+Jzω˙ψ,ref−kψ,2Jzeψ,2,kψ,2>0,one finally obtains the yaw error dynamics as(42)e˙ψ,1e˙ψ,2=−kψ,110−kψ,2eψ,1eψ,2.The global exponential stability can be inferred analogously to what is done in Section4.1.


## 5. Simulation Results

The photogrammetric technique has been used for measuring the important physical quantities in both ground and flight testing, including attitude, position, and shape of objects. To generate the trajectory reference(43)preft=xreftyreftzreft,a photogrammetric technique was applied to analyze a natural scenery, with(44)xreft=f1xt,yt,zt,yreft=f2xt,yt,zt,zreft=f3xt,yt,zt,and with fi, i=1,2,3, functions of xt,yt,zt. The selected scenario is a serial array of trees, where all trees have approximately the same separation. Figures 3 and 4 show the trees’ frontal and lateral views, respectively. Using the photogrammetry, the following estimations were determined: Wf=0.85 m for the trees’ width, Tt=2.72 m for the distance between the two trees, and Ws,1=0.75 m and Ws,2=0.522 m for the widths of the two trees.Figure 3
Frontal view of the natural scene.Figure 4
Lateral view of the natural scene.For this application, the reference trajectory has two important characteristics:(1)
The altitude is constant(2)
The reference trajectory is periodic over thex–y plane(3)
The reference trajectory avoids the collision between the quadrotor and the treesTherefore, the reference position was set equal to(45)preft=xreftyreftzreft=vx,reftArefsin2πfrefxreft1=0.5t4.25sin0.250πxreft1,with vx,ref=0.5 m/s, Aref being the amplitude, and fref being the frequency of the periodical function, such as(46)fref=1Tref=12Ws,1+Ws,2+Tt=0.125cycles/m,where Tref is the period. Figure 5 shows the reference trajectory for xref∈0,18 m.Figure 5
Reference trajectorypreft.The behavior of the controllers designed in Section4 has been tested with numerical simulations on the quadrotor described by equation (1). The parameters used are given in Table 1, whilst the variables and gains used in the controllers are given in Table 2. In order to simulate the controller for each subsystem, the software developed by the PSP for Simulink was used. The reason for choosing the PSP software was due to the performance of this software in predicting the dynamic quadcopter behavior, which is very close to the real behavior. In fact, the PSP software is proven to represent accurately the quadrotor dynamics. In order to appropriately implement the controllers, the reference trajectory was sampled as in Figure 6.Table 2
Controllers’ gains values.
kz,1=0.5k3=120k4=120q1,z=1kx,1=5kx,2=2kθ,1=25kθ,2=46ky,1=5ky,2=2kϕ,1=25kϕ,2=32kψ,1=5kψ,2=9Figure 6
Sampled reference trajectorypref.The simulations results of the closed-loop system are shown in Figures7 and 8, where the quadrotor’s initial conditions have been set equal to p0=0,0,0T, v0=0,0,0T, α0=0,0,0T, and ω0=0,0,0T. Figure 7 shows the quadrotor altitude and yaw, zt and ψt, ensured by the controllers (13) and (18). Regarding the latter, the most significative tracking error is 0.5 rad immediately after the initial time.Figure 7
(a) Quadrotor’s altitudezt (solid) and reference altitude zreft (dashed); (b) quadrotor’s yaw angle ψt (solid) and yaw angle reference ψreft (dashed).
(a)(b)Figure 8
(a) Longitudinal motion of the UAVx (solid) and the reference x1,ref (dash); (b) latitudinal motion of the UAV y (solid) and the reference y1,ref (dash).
(a)(b)Figure8 shows the quadrotor x and y positions ensured by the controllers (30) and (38). The x position achieves its reference value in 3 s, and the y position achieves its reference value in 6 s. The overall controller performance is accurate and fast. Moreover, this performance could be improved using also integral terms in the controllers.


## 6. Conclusion

In this paper, a controller based on the backstepping technique has been designed for the position and yaw control of a quadrotor helicopter. The quadrotor dynamics have been divided into four subsystems, each with a control input and an output variable. The overall controller leads to satisfactory results. The photogrammetric technique on a scenario with fixed obstacles, due to some trees, has been used to determine the scene geometry and to fix the position reference trajectory. The numerical simulations of the proposed controllers have been implemented using the PSP, ensuring an accurate approximation of the real quadrotor dynamics, and the results show a good performance and effectiveness of the proposed control law. Future work will regard the real implementation of the proposed controller.



---

*Source: 5146291-2020-11-17.xml*