This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Symbolic Regression Method for Dynamic Modeling
and Control of Quadrotor UAVs

Wei Fang and Zhiyong Chen W. Fang is with the School of Information Science and Engineering, Central South University, Changsha, China. Z. Chen is with the School of Electrical Engineering and Computing, The University of Newcastle, Callaghan, NSW 2308, Australia. Z. Chen is the corresponding author [email protected].
Abstract

This paper presents a mathematic dynamic model of a quadrotor unmanned aerial vehicle (QUAV) by using the symbolic regression approach and then proposes a hierarchical control scheme for trajectory tracking. The symbolic regression approach is capable of constructing analytical quadrotor dynamic equations only through the collected data, which relieves the burden of first principle modeling. To facilitate position tracking control of a QUAV, the design of controller can be decomposed into two parts: a proportional-integral controller for the position subsystem is first designed to obtain the desired horizontal position and the backstepping method for the attitude subsystem is developed to ensure that the Euler angles and the altitude can fast converge to the reference values. The effectiveness is verified through experiments on a benchmark multicopter simulator.

I Introduction

The study of unmanned aerial vehicles (UAVs) has attracted considerable attentions due to their wide applications in many areas including formation control, disaster assistance, monitoring patrol, environmental detection, and so on. The main advantages of a quadrotor lie in its simple mechanical structure, capability of taking off and landing vertically and favorable maneuverability. However, its dynamic characteristics, due to strong coupling, underactuated property and nonlinearity, make designing a controller for position tracking become complicated.

An accurate model is a significant factor that determines the performance of a controller. First principle modeling and data driven modeling are the two main approaches for dynamic modeling; see, e.g., [1, 2, 3, 4, 5, 6, 7]. The first principle modeling approach uses physical principles to derive a dynamic model. In particular, it analyzes the forces applied on the aircraft rotors and other modules, and derives the quadrotor dynamic equations utilizing mechanics and aerodynamics laws. For example, significant aerodynamic effects caused by the deformation of rotor blades were considered in [2]. The dynamic model constructed by this approach is capable of reflecting the flight behavior for more situations. However, the derivation process and the analytical form of the dynamic equations are usually complicated and hence the controller design becomes challenging.

The other modeling approach is to identify a dynamic model based on the collected input excitation and output response data from a real system. It is worth nothing that the accuracy of an identified model particularly depends on the identification algorithms and the collected data. Various identification techniques have been proposed in literature such as neural networks [4, 5], fuzzy-logic [6], reinforcement learning [7], and local linear regression [8], etc. However, these methods usually suffer from drawbacks including local linearization (local linear regression), complicated calculation and low interpretability (neural networks). In particular, the purely data driven methods can accurately fit system dynamics, however, they only offer a black box model rather than analytical dynamic equations. Therefore, many advanced control theories based on analytical models cannot be used.

In this paper, we adopt symbolic regression to construct a dynamic quadrotor model, which can somehow overcome the aforementioned disadvantages. In particular, this data driven approach gives an analytical model that captures the physical characteristics of the quadrotor dynamics and hence model based control theories can be applied.

Symbolic regression is an automated calculation approach that attempts to explore the inherent relationships only from data and establishes an interpretable model. A model constructed by symbolic regression does not require a pre-specified structure, which offers symbolic regression various potential applications [9, 10, 11, 12, 13, 14]. For instance, a meta-heuristic algorithm was developed in [9] to distill experimental data captured from various physical systems into analytical natural laws, including Hamiltonians, Lagrangians and other laws of geometric. Symbolic regression was adopted to find potential relation under the oil production data and made predictions for the peak of oil production in [10]. The work in [11] discovered an underlying multi-parameter model of a system and that in [12] revealed the important factors of the carbon emissions intensity using symbolic regression

In terms of tracking control for a quadrotor, researchers have presented various control techniques, such as dynamic inversion control [15], adaptive control [16, 17], backstepping control [18], sliding-mode control [19, 20], LMI-based linear control [21], and so on. These controllers have their features. To the best of our knowledge, few works have mentioned utilizing symbolic regression to construct an analytic model and a model-based control law. Therefore, we propose a tracking control scheme based on the analytic model obtained by symbolic regression.

From the above discussion, the main contribution of this paper is to use symbolic regression to build an accurate analytic QUAV model, based on which a hierarchical control scheme is designed for position tracking incorporating backstepping and dual-loop control techniques. Extensive experimental results on a benchmark multicopter simulator demonstrate the effectiveness of the proposed symbolic regression based model and the associated controller.

II Dynamic Modeling

In this section, we provide some background of a quadrotor dynamic model, discuss how symbolic regression is used for dynamic modeling, and then verify the effectiveness of the approach. The Matlab and PixHawk based multicopter simulator developed by the BUAA Reliable Flight Control Group [22] is used throughout the paper as the benchmark experiment platform.

II-A A Quadrotor UAV Model

A QUAV model represents a nonlinear system of four inputs and six degrees of freedom. It is composed of four individual electric motors and an X-shape airframe, as shown in Fig. 1. The torque and thrust can be changed by adjusting the rotation speed of each propeller, thereby further accomplishing different motions.

Refer to caption
Figure 1: Schematic diagram of a quadrotor UAV

The dynamics of a quadrotor are explained using two reference frames. The inertial frame XeX_{e}-YeY_{e}-ZeZ_{e} is defined relative to the ground, with the gravity pointing along the positive direction of the ZeZ_{e} inertial axis. Let the vector [x,y,z]T3[x,y,z]^{\mbox{\tiny\sf T}}\in\mathbb{R}^{3} denote the position of the center of mass in the inertial frame. The velocity and Euler angles of the quadrotor with respect to the inertial frame are represented by the vector [x˙,y˙,z˙]T3[\dot{x},\dot{y},\dot{z}]^{\mbox{\tiny\sf T}}\in\mathbb{R}^{3} and [ϕ,θ,ψ]T3[\phi,\theta,\psi]^{\mbox{\tiny\sf T}}\in\mathbb{R}^{3}, respectively. The body frame XbX_{b}-YbY_{b}-ZbZ_{b} is associated with the orientation of the quadrotor, with the thrust direction always consistent with the negative direction of the ZbZ_{b} body axis. And the vector [wx,wy,wz]T3[w_{x},w_{y},w_{z}]^{\mbox{\tiny\sf T}}\in\mathbb{R}^{3} represents the angular velocity in the body frame. It is worthwhile pointing out that the roll and pitch angles are limited to (π/2,π/2-\pi/2,\pi/2) and the yaw angle is limited to (π,π-\pi,\pi), which is physically meaningful. Then, the complete 12 dimensional state vector is denoted as

ξ=\displaystyle\xi= [xyzx˙y˙z˙ϕθψwxwywz]T.\displaystyle\left[\begin{array}[]{cccccccccccc}x&y&z&\dot{x}&\dot{y}&\dot{z}&\phi&\theta&\psi&w_{x}&w_{y}&w_{z}\end{array}\right]^{\mbox{\tiny\sf T}}.

Let ξi\xi_{i}, i=1,,12i=1,\cdots,12, be the ii-th element of the vector ξ\xi. The control input uiu_{i} represents the rotation speed of each motor, for i=1,,4i=1,\cdots,4. Denote u=[u1u2u3u4]Tu=\left[\begin{array}[]{cccc}u_{1}&u_{2}&u_{3}&u_{4}\end{array}\right]^{\mbox{\tiny\sf T}}. The dynamic model is of the following form

ξ˙1\displaystyle\dot{\xi}_{1} =ξ4\displaystyle=\xi_{4}
ξ˙2\displaystyle\dot{\xi}_{2} =ξ5\displaystyle=\xi_{5}
ξ˙3\displaystyle\dot{\xi}_{3} =ξ6\displaystyle=\xi_{6}
ξ˙i\displaystyle\dot{\xi}_{i} =ζi(ξ,u),i=4,,12\displaystyle=\zeta_{i}(\xi,u),\;i=4,\cdots,12 (1)

with the some functions ζi(ξ,u),i=4,,12\zeta_{i}(\xi,u),\;i=4,\cdots,12, to be determined.

II-B Symbolic Regression Modeling

Symbolic regression (SR) is an established method that can effectively generate theories of causation in the form of mathematical equations from a collected data set. Unlike the traditional regression methods that require a fixed-form model derived from priori knowledge, SR automatically searches both the parameters and the form of equations. The expression of equations is composed of common functions (sin\sin, cos\cos, \sqrt{\cdot}), algebraic operators (++, -, ×\times, ÷\div), constants and relative variables. The selection of equations depends on its complexity and fitness. And the fitness function e(f(x),y)=i=1n|f(xi)yi|e(f^{*}(x),y)=\sum_{i=1}^{n}\lvert f^{*}(x^{i})-y^{i}\rvert is widely used in SR, where xx denotes the input variable and yy the output variable, nn is the amount of pairs of input-output data (xi,yi)(x^{i},y^{i}), and ff^{*} is the equation learned by SR. Since the computation complexity caused by a large search space, genetic programming (GP) [23] is typically implemented in SR. GP is a meta-heuristic algorithm that adopts the principle of biological evolution to update candidate solutions.

In the initial phase of modeling, we generate multiple groups of random propeller rotation speeds within different ranges as the input data set. Then, by applying the input data set on the UAV simulator, we collect the output data set which includes velocity, acceleration, angular velocity, and angular acceleration. To perform symbolic regression modeling, we import the input and output data into the Eureqa software, select the formula building-blocks, e.g., {constant,+,,×,÷,sin,cos}\left\{{\rm constant},+,-,\times,\div,\sin,\cos\right\} and the absolute error metric for training. As a result, the analytic equations through efficient training and sifting are obtained as follows,

ζ4(ξ,u)=\displaystyle\zeta_{4}(\xi,u)= 0.00768u1sin(ξ7)sin(ξ9)1.63e5u2u4\displaystyle-0.00768u_{1}\cdot\sin(\xi_{7})\cdot\sin(\xi_{9})-1.63e^{-5}u_{2}\cdot u_{4}
sin(ξ7)sin(ξ9)0.00665ξ8u1cos(ξ7)\displaystyle\cdot\sin(\xi_{7})\cdot\sin(\xi_{9})-0.00665\xi_{8}\cdot u_{1}\cdot\cos(\xi_{7})
cos(ξ9)1.63e5ξ8u2u4cos(ξ7)cos(ξ9)\displaystyle\cdot\cos(\xi_{9})-1.63e^{-5}\xi_{8}\cdot u_{2}\cdot u_{4}\cdot\cos(\xi_{7})\cdot\cos(\xi_{9})
ζ5(ξ,u)=\displaystyle\zeta_{5}(\xi,u)= 7.87e6u12sin(ξ7+ξ9)+7.78e6u22\displaystyle 7.87e^{-6}u_{1}^{2}\cdot\sin(\xi_{7}+\xi_{9})+7.78e^{-6}u_{2}^{2}
sin(ξ7+ξ9)+7.78e6u32sin(ξ7+ξ9)\displaystyle\cdot\sin(\xi_{7}+\xi_{9})+7.78e^{-6}u_{3}^{2}\cdot\sin(\xi_{7}+\xi_{9})
+7.78e6u42sin(ξ7+ξ9)0.0441\displaystyle+7.78e^{-6}u_{4}^{2}\cdot\sin(\xi_{7}+\xi_{9})-0.0441
ζ6(ξ,u)=\displaystyle\zeta_{6}(\xi,u)= 9.446.90e6cos(ξ7)(u12+u22+u32+u42)\displaystyle 9.44-6.90e^{-6}\cos(\xi_{7})\cdot(u_{1}^{2}+u_{2}^{2}+u_{3}^{2}+u_{4}^{2})
0.000289ξ62\displaystyle-0.000289\xi_{6}^{2}
ζ7(ξ,u)=\displaystyle\zeta_{7}(\xi,u)= sin(ξ7)sin(ξ8)cos(ξ8)ξ11+cos(ξ7)sin(ξ8)cos(ξ8)ξ12\displaystyle\sin(\xi_{7})\cdot\frac{\sin(\xi_{8})}{\cos(\xi_{8})}\cdot\xi_{11}+\cos(\xi_{7})\cdot\frac{\sin(\xi_{8})}{\cos(\xi_{8})}\cdot\xi_{12}
+ξ10\displaystyle+\xi_{10}
ζ8(ξ,u)=\displaystyle\zeta_{8}(\xi,u)= cos(ξ7)ξ11sin(ξ7)ξ12\displaystyle\cos(\xi_{7})\cdot\xi_{11}-\sin(\xi_{7})\cdot\xi_{12}
ζ9(ξ,u)=\displaystyle\zeta_{9}(\xi,u)= sin(ξ7)cos(ξ8)ξ11+cos(ξ7)cos(ξ8)ξ12\displaystyle\frac{\sin(\xi_{7})}{\cos(\xi_{8})}\cdot\xi_{11}+\frac{\cos(\xi_{7})}{\cos(\xi_{8})}\cdot\xi_{12}
ζ10(ξ,u)=\displaystyle\zeta_{10}(\xi,u)= 0.697ξ11ξ12+8.33e5(u22+u32u12u42)\displaystyle 0.697\xi_{11}\cdot\xi_{12}+8.33e^{-5}(u_{2}^{2}+u_{3}^{2}-u_{1}^{2}-u_{4}^{2})
ζ11(ξ,u)=\displaystyle\zeta_{11}(\xi,u)= 0.708ξ10ξ12+8.03e5(u12+u32u22u42)\displaystyle-0.708\xi_{10}\cdot\xi_{12}+8.03e^{-5}(u_{1}^{2}+u_{3}^{2}-u_{2}^{2}-u_{4}^{2})
ζ12(ξ,u)=\displaystyle\zeta_{12}(\xi,u)= 0.0219ξ10ξ11+4.86e6(u12+u22u32u42).\displaystyle 0.0219\xi_{10}\cdot\xi_{11}+4.86e^{-6}(u_{1}^{2}+u_{2}^{2}-u_{3}^{2}-u_{4}^{2}).

In particular, the functions ζi(ξ,u)\zeta_{i}(\xi,u), i=7,8,9i=7,8,9, represent the conversion relationship between {ξ˙7,ξ˙8,ξ˙9}\{\dot{\xi}_{7},\dot{\xi}_{8},\dot{\xi}_{9}\} and {ξ10,ξ11,ξ12}\{\xi_{10},\xi_{11},\xi_{12}\}, which are considered as known transform equations. The remaining functions are obtained from different training data via symbolic regression. For instance, in order to acquire the function ζ4(ξ,u)\zeta_{4}(\xi,u), we generate four groups of training data (2,000 samples) using the inputs in different ranges of 0-300rad/s, 0-700rad/s, 0-800rad/s and 0-1000rad/s. Both model validation and controller design are implemented on the equations learned from different training data, and the equation that performs the best is selected in the final model. The other functions in (1) are obtained in a similar way. It is worth mentioning that the propeller speeds for ui,i=1,,4,u_{i},i=1,\cdots,4, are constrained between 0 and 1000rad/s.

II-C Model Validation

To validate the learned dynamic model, a test data set is generated using the following excitation inputs for 10 seconds,

u1=\displaystyle u_{1}= 300+300sin(10t)\displaystyle 300+300\sin(10t)
u2=\displaystyle u_{2}= 300+300sin(10t+π/4)\displaystyle 300+300\sin(10t+\pi/4)
u3=\displaystyle u_{3}= 300+300sin(10t+π/3)\displaystyle 300+300\sin(10t+\pi/3)
u4=\displaystyle u_{4}= 300+300sin(10t+π/6).\displaystyle 300+300\sin(10t+\pi/6).

The reliability of the model is evaluated by comparing the six target variables (x¨,y¨,z¨,w˙x,w˙y,w˙z)\ddot{x},\ddot{y},\ddot{z},\dot{w}_{x},\dot{w}_{y},\dot{w}_{z}) obtained from the actual system and the SR model, respectively, and the result is shown in Fig. 2.

Refer to caption
Figure 2: Comparison of the SR model with the actual system

Generally speaking, symbolic regression can discover the accurate model equations beneath data, especially for angular acceleration wx˙,wy˙,wz˙\dot{w_{x}},\dot{w_{y}},\dot{w_{z}}, which indicates that symbolic regression is an effective modeling approach. Moreover, the RMSE, MAE and R2R^{2} indexes are applied to quantitively reflect the approximation ability of SR; the results are summarized in Table I. The accuracy of the analytic model is negatively correlated with the values of RMSE, MAE and |1R2||1-R^{2}|.

Table I: Testing errors for the learned SR model
Variable RMSE MAE R2R^{2}
   x¨\ddot{x} 0.2632 0.2053 0.9707
   y¨\ddot{y} 1.2655 0.8021 0.8781
   z¨\ddot{z} 0.4011 0.2745 0.9907
   w˙x\dot{w}_{x} 0.0034 0.0028 1.0000
   w˙y\dot{w}_{y} 0.0013 0.0011 1.0000
   w˙z\dot{w}_{z} 6.7079e56.7079e^{-5} 5.7108e55.7108e^{-5} 1.0000

III Control Design Scheme

In this section, we focus on the controller design for position and attitude tracking simutaneously. However, due to the underactuated property of a quadrotor, it is difficult to directly control the six state variables {x,y,z,ϕ,θ,ψ}\left\{x,y,z,\phi,\theta,\psi\right\} simultaneously. Therefore, the state variables to be controlled are chosen as x,y,zx,y,z and ψ\psi.

Let xd,yd,zd,ψdx_{d},y_{d},z_{d},\psi_{d} be the desired trajectories for x,y,z,ψx,y,z,\psi, respectively. With

ex=xdx,ey=ydy,ez=zdz,eψ=ψdψ\displaystyle e_{x}=x_{d}-x,\;e_{y}=y_{d}-y,\;e_{z}=z_{d}-z,e_{\psi}=\psi_{d}-\psi

the control target is to achieve the following asymptotic tracking behaviors

limtex(t)=0,limtey(t)=0\displaystyle\lim_{t\rightarrow\infty}e_{x}(t)=0,\;\lim_{t\rightarrow\infty}e_{y}(t)=0 (2)

and

limtez(t)=0,limteψ(t)=0.\displaystyle\lim_{t\rightarrow\infty}e_{z}(t)=0,\;\lim_{t\rightarrow\infty}e_{\psi}(t)=0. (3)

Given the reference position trajectory xd,yd,zdx_{d},y_{d},z_{d} and the attitude angle ψd\psi_{d}, we can derive the reference attitude angles ϕd,θd\phi_{d},\theta_{d} and hence the control laws for u1,u2,u3,u4u_{1},u_{2},u_{3},u_{4} from a backstepping control scheme. To avoid complex calculation, we employ a hierarchical control strategy consisting of the outer-loop control for horizontal position as well as the inner-loop control for attitude and altitude. The block diagram of the overall control system is shown in Fig 3.

Refer to caption
Figure 3: Structure of the overall control system

III-A Outer-loop controller design

The objective of this part is to design a proportional-integral (PI) controller for the outer loop subsystem to ensure the roll and pitch angles to be automatically tuned to drive the quadrotor to the desired horizontal position xd,ydx_{d},y_{d}. Based on (1), the horizontal position subsystem is described as follows:

ξ˙1\displaystyle\dot{\xi}_{1} =ξ4\displaystyle=\xi_{4}
ξ˙2\displaystyle\dot{\xi}_{2} =ξ5\displaystyle=\xi_{5}
ξ˙4\displaystyle\dot{\xi}_{4} =ζ4(ξ7,ξ8,ξ9,u)\displaystyle=\zeta_{4}(\xi_{7},\xi_{8},\xi_{9},u)
ξ˙5\displaystyle\dot{\xi}_{5} =ζ5(ξ7,ξ9,u)\displaystyle=\zeta_{5}(\xi_{7},\xi_{9},u) (4)

where ξ7=ϕ\xi_{7}=\phi and ξ8=θ\xi_{8}=\theta are regarded as the virtual controls to this subsystem.

More specifically, we aim to solve the desired angle trajectories for ξ7\xi_{7} and ξ8\xi_{8}, i.e., ξ7d=ϕd\xi_{7d}=\phi_{d} and ξ8d=θd\xi_{8d}=\theta_{d}, from the following equations

ζ4(ξ7d,ξ8d,ξ9,u)=kpxe˙x+kixex+x¨d\displaystyle\zeta_{4}(\xi_{7d},\xi_{8d},\xi_{9},u)=k_{px}\dot{e}_{x}+k_{ix}e_{x}+\ddot{x}_{d}
ζ5(ξ7d,ξ9,u)=kpye˙y+kiyey+y¨d.\displaystyle\zeta_{5}(\xi_{7d},\xi_{9},u)=k_{py}\dot{e}_{y}+k_{iy}e_{y}+\ddot{y}_{d}. (5)

The solutions to (6) can be explicitly expressed as follows

ξ7d=\displaystyle\xi_{7d}= sin1((kpye˙y+kiyey+y¨d+0.0441)\displaystyle\sin^{-1}((k_{py}\dot{e}_{y}+k_{iy}e_{y}+\ddot{y}_{d}+0.0441)
/(7.87e6u12+7.78e6u22+7.78e6u32\displaystyle/(7.87e^{-6}u_{1}^{2}+7.78e^{-6}u_{2}^{2}+7.78e^{-6}u_{3}^{2}
+7.78e6u42))ξ9\displaystyle+7.78e^{-6}u_{4}^{2}))-\xi_{9}
ξ8d=\displaystyle\xi_{8d}= (kpxe˙x+kixex+x¨d+0.00768u1\displaystyle(k_{px}\dot{e}_{x}+k_{ix}e_{x}+\ddot{x}_{d}+0.00768u_{1}
sin(ξ7d)sin(ξ9)+1.63e5u2u4\displaystyle\cdot\sin(\xi_{7d})\cdot\sin(\xi_{9})+1.63e^{-5}u_{2}\cdot u_{4}
sin(ξ7d)sin(ξ9))/(0.00665u1cos(ξ7d)\displaystyle\cdot\sin(\xi_{7d})\cdot\sin(\xi_{9}))/(-0.00665u_{1}\cdot\cos(\xi_{7d})
cos(ξ9)1.63e5u2u4cos(ξ7d)cos(ξ9)).\displaystyle\cdot\cos(\xi_{9})-1.63e^{-5}u_{2}\cdot u_{4}\cdot\cos(\xi_{7d})\cdot\cos(\xi_{9})). (6)

When ξ7\xi_{7} and ξ8\xi_{8} achieve ξ7d\xi_{7d} and ξ8d\xi_{8d}, respectively, (to be elaborated in the next subsection), the closed-loop system (4) with ξ7=ξ7d\xi_{7}=\xi_{7d} and ξ8=ξ8d\xi_{8}=\xi_{8d} becomes

0\displaystyle 0 =e¨x+kpxe˙x+kixex\displaystyle=\ddot{e}_{x}+k_{px}\dot{e}_{x}+k_{ix}e_{x}
0\displaystyle 0 =e¨y+kpye˙y+kiyey\displaystyle=\ddot{e}_{y}+k_{py}\dot{e}_{y}+k_{iy}e_{y} (7)

With proper selection of the parameters kpxk_{px}, kixk_{ix} kpyk_{py}, and kiyk_{iy}, the control objective (2) can be achieved.

The design of ξ7d\xi_{7d} and ξ8d\xi_{8d}, as a virtual controller to the system (4), is of a PI structure containing the proportional terms kpxe˙xk_{px}\dot{e}_{x} and kpye˙yk_{py}\dot{e}_{y} and the integral terms kixex=kixe˙xk_{ix}e_{x}=k_{ix}\int\dot{e}_{x} and kiyey=kiye˙yk_{iy}e_{y}=k_{iy}\int\dot{e}_{y}, as well as feedforward compensation.

III-B Inner-loop controller design

In this part, a backstepping controller is designed to ensure ξ7=ϕ\xi_{7}=\phi and ξ8=θ\xi_{8}=\theta achieve ξ7d=ϕd\xi_{7d}=\phi_{d} and ξ8d=θd\xi_{8d}=\theta_{d}, respectively, for the objective (2) as explained in the previous subsection, that is,

limteϕ(t)=0,limteθ(t)=0\displaystyle\lim_{t\rightarrow\infty}e_{\phi}(t)=0,\;\lim_{t\rightarrow\infty}e_{\theta}(t)=0 (8)

for

eϕ=ϕdϕ,eθ=θdθ.\displaystyle e_{\phi}=\phi_{d}-\phi,\;e_{\theta}=\theta_{d}-\theta.

Also, it is to ensure the objective (3). In other words, this subsection is concerned about the subsystem governing

[ξ3ξ6ξ7ξ8ξ9ξ10ξ11ξ12]T\displaystyle\left[\begin{array}[]{cccccccc}\xi_{3}&\xi_{6}&\xi_{7}&\xi_{8}&\xi_{9}&\xi_{10}&\xi_{11}&\xi_{12}\end{array}\right]^{\mbox{\tiny\sf T}} (10)
=\displaystyle= [zz˙ϕθψwxwywz]T\displaystyle\left[\begin{array}[]{cccccccc}z&\dot{z}&\phi&\theta&\psi&w_{x}&w_{y}&w_{z}\end{array}\right]^{\mbox{\tiny\sf T}} (12)

and the control objectives are (3) and (8) where zd,ψdz_{d},\psi_{d} are the desired trajectories and ϕd\phi_{d} and θd\theta_{d} designed in (6).

We introduce the following coordinate transformation

[ϕ˙θ˙ψ˙]=R[wxwywz]\begin{bmatrix}\dot{\phi}\\ \dot{\theta}\\ \dot{\psi}\\ \end{bmatrix}=R\begin{bmatrix}w_{x}\\ w_{y}\\ w_{z}\\ \end{bmatrix} (13)

with

R=[1sin(ϕ)sin(θ)cos(θ)cos(ϕ)sin(θ)cos(θ)0cos(ϕ)sin(ϕ)0sin(ϕ)cos(θ)cos(ϕ)cos(θ)],R=\begin{bmatrix}1&\frac{\sin(\phi)\sin(\theta)}{\cos(\theta)}&\frac{\cos(\phi)\sin(\theta)}{\cos(\theta)}\\ 0&\cos(\phi)&-\sin(\phi)\\ 0&\frac{\sin(\phi)}{\cos(\theta)}&\frac{\cos(\phi)}{\cos(\theta)}\end{bmatrix},

then the variables [ϕ¨,θ¨,ψ¨]T[\ddot{\phi},\ddot{\theta},\ddot{\psi}]^{T} can be obtained as follows:

[ϕ¨θ¨ψ¨]=R[w˙xw˙yw˙z]+R˙[wxwywz].\begin{bmatrix}\ddot{\phi}\\ \ddot{\theta}\\ \ddot{\psi}\\ \end{bmatrix}=R\begin{bmatrix}\dot{w}_{x}\\ \dot{w}_{y}\\ \dot{w}_{z}\\ \end{bmatrix}+\dot{R}\begin{bmatrix}w_{x}\\ w_{y}\\ w_{z}\\ \end{bmatrix}. (14)

Now, the subsystem governing the states (12) can be equivalently transformed to a systems governing the following new state vector

s=\displaystyle s= [zϕθψz˙ϕ˙θ˙ψ˙]T.\displaystyle\left[\begin{array}[]{cccccccc}z&\phi&\theta&\psi&\dot{z}&\dot{\phi}&\dot{\theta}&\dot{\psi}\end{array}\right]^{\mbox{\tiny\sf T}}. (16)

Let sis_{i} be the ii-th element of ss, for i=1,,8i=1,\cdots,8. Now, the dynamics for ss can be reorganized as follows

s˙1\displaystyle\dot{s}_{1} =s5\displaystyle=s_{5}
s˙2\displaystyle\dot{s}_{2} =s6\displaystyle=s_{6}
s˙3\displaystyle\dot{s}_{3} =s7\displaystyle=s_{7}
s˙4\displaystyle\dot{s}_{4} =s8\displaystyle=s_{8}
s˙i\displaystyle\dot{s}_{i} =γi(s,f),i=5,,8\displaystyle=\gamma_{i}(s,f),\;i=5,\cdots,8 (17)

where

γ5(s,f)=\displaystyle\gamma_{5}(s,f)= 9.446.9e6cos(s2)f10.000289s52\displaystyle 9.44-6.9e^{-6}\cos(s_{2})\cdot f_{1}-0.000289s_{5}^{2}

and γi(s,f),i=6,7,8\gamma_{i}(s,f),\;i=6,7,8 can be derived in a similar manner (with the details omitted). The vector f=[f1f2f3f4]Tf=\left[\begin{array}[]{cccc}f_{1}&f_{2}&f_{3}&f_{4}\end{array}\right]^{\mbox{\tiny\sf T}} represents the new control variables defined as follows

f1=u12+u22+u32+u42\displaystyle f_{1}=u_{1}^{2}+u_{2}^{2}+u_{3}^{2}+u_{4}^{2}
f2=u22+u32u12u42\displaystyle f_{2}=u_{2}^{2}+u_{3}^{2}-u_{1}^{2}-u_{4}^{2}
f3=u12+u32u22u42\displaystyle f_{3}=u_{1}^{2}+u_{3}^{2}-u_{2}^{2}-u_{4}^{2}
f4=u12+u22u32u42.\displaystyle f_{4}=u_{1}^{2}+u_{2}^{2}-u_{3}^{2}-u_{4}^{2}. (18)

Let

s1d=zd,s2d=ϕd,s3d=θd,s4d=ψd\displaystyle s_{1d}=z_{d},\;s_{2d}=\phi_{d},\;s_{3d}=\theta_{d},\;s_{4d}=\psi_{d}
ei=sidsi,i=1,,4.\displaystyle e_{i}=s_{id}-s_{i},\;i=1,\cdots,4.

Now, the objectives (3) and (8) are converted to design of fii=1,,4f_{i}\;i=1,\cdots,4 for (17) such that

limtei(t)=0,i=1,,4.\displaystyle\lim_{t\rightarrow\infty}e_{i}(t)=0,\;i=1,\cdots,4. (19)

The design follows a backstepping procedure, see, e.g., [24]. First, we consider the Lyapunov function candidates

Vi(ei)=12ei2,i=1,,4.V_{i}(e_{i})=\frac{1}{2}e_{i}^{2},\;i=1,\cdots,4. (20)

The derivative of Vi(ei)V_{i}(e_{i}) along the trajectory of (17) satisfies

V˙i(ei)=eie˙i=ei(s˙idsi+4).\dot{V}_{i}(e_{i})=e_{i}\dot{e}_{i}=e_{i}(\dot{s}_{id}-s_{i+4}). (21)

Here, si+4s_{i+4} is the virtual control whose desired value is

s(i+4)d=s˙id+ciei.s_{(i+4)d}=\dot{s}_{id}+c_{i}e_{i}. (22)

Let

δi=s(i+4)dsi+4.\delta_{i}=s_{(i+4)d}-s_{i+4}. (23)

Now, we consider the Lyapunov function candidates involving both eie_{i} and δd\delta_{d} as follows

Wi(ei,δi)=12ei2+12δi2,i=1,,4,W_{i}(e_{i},\delta_{i})=\frac{1}{2}e_{i}^{2}+\frac{1}{2}\delta_{i}^{2},\;i=1,\cdots,4, (24)

whose time derivative satisfies

W˙i(ei,δi)\displaystyle\dot{W}_{i}(e_{i},\delta_{i})
=\displaystyle= eie˙i+δiδ˙i\displaystyle e_{i}\dot{e}_{i}+\delta_{i}\dot{\delta}_{i}
=\displaystyle= ei(s˙idsi+4)+δi(s˙(i+4)ds˙i+4)\displaystyle e_{i}(\dot{s}_{id}-s_{i+4})+\delta_{i}(\dot{s}_{(i+4)d}-\dot{s}_{i+4})
=\displaystyle= ei(s(i+4)dcieisi+4)+δi(s˙(i+4)dγi+4(s,f))\displaystyle e_{i}(s_{(i+4)d}-c_{i}e_{i}-s_{i+4})+\delta_{i}(\dot{s}_{(i+4)d}-\gamma_{i+4}(s,f))
=\displaystyle= ei(δiciei)+δi(s˙(i+4)dγi+4(s,f))\displaystyle e_{i}(\delta_{i}-c_{i}e_{i})+\delta_{i}(\dot{s}_{(i+4)d}-\gamma_{i+4}(s,f))
=\displaystyle= ciei2+δi(ei+s˙(i+4)dγi+4(s,f)).\displaystyle-c_{i}e_{i}^{2}+\delta_{i}(e_{i}+\dot{s}_{(i+4)d}-\gamma_{i+4}(s,f)).

Letting

γi+4(s,f)=\displaystyle\gamma_{i+4}(s,f)= ei+s˙(i+4)d+ci+4δi\displaystyle e_{i}+\dot{s}_{(i+4)d}+c_{i+4}\delta_{i}
=\displaystyle= sidsi+s¨id+ci(s˙idsi+4)\displaystyle s_{id}-s_{i}+\ddot{s}_{id}+c_{i}(\dot{s}_{id}-s_{i+4})
+ci+4(s˙id+ci(sidsi)si+4)\displaystyle+c_{i+4}(\dot{s}_{id}+c_{i}(s_{id}-s_{i})-s_{i+4}) (25)

gives

W˙i(ei,δi)=ciei2ci+4δi2.\displaystyle\dot{W}_{i}(e_{i},\delta_{i})=-c_{i}e_{i}^{2}-c_{i+4}\delta_{i}^{2}.

If the two parameters cic_{i} and ci+4c_{i+4} are selected as positive constants, one has the target (19) achieved.

The control input ff can be solved from the equation (25) for i=1,,4i=1,\cdots,4. For example, the input f1f_{1} which stabilizes the altitude subsystem is thus presented as follows

f1=\displaystyle f_{1}= (s1ds1+s¨1d+c1(s˙1ds5)+c5(s˙1d\displaystyle(s_{1d}-s_{1}+\ddot{s}_{1d}+c_{1}(\dot{s}_{1d}-s_{5})+c_{5}(\dot{s}_{1d}
+c1(s1ds1)s5)9.44+0.000289s52)\displaystyle+c_{1}(s_{1d}-s_{1})-s_{5})-9.44+0.000289s_{5}^{2})
/(6.9e6cos(s2)).\displaystyle/(-6.9e^{-6}\cos(s_{2})).

The inputs f2,f3,f4f_{2},f_{3},f_{4} can be solved in a similar manner. And the control laws u1,u2,u3,u4u_{1},u_{2},u_{3},u_{4} can be solved from (18).

IV Numerical Experiments

In this section, the feasibility of symbolic regression modeling and the effectiveness of the proposed control scheme are validated on the benchmark quadrotor simulator developed in [22]. Ttwo cases of experiments are conducted. The main parameters of the QUAV are listed in Table II.

Table II: Main parameters of the QUAV
Param Value Units Definition
   mm 1.4 kg Mass
   gg 9.8 m/s2 Gravity
   JxxJ_{xx} 0.0211 kg\cdotm2 Inertia moment
   JyyJ_{yy} 0.0219 kg\cdotm2 Inertia moment
   JzzJ_{zz} 0.0366 kg\cdotm2 Inertia moment
   dd 0.2250 m Fuselage radius
   CtC_{t} 1.105e51.105e^{-5} N/(rad/s)2 Thrust coefficient
   CmC_{m} 1.779e71.779e^{-7} N\cdotm/(rad/s)2 Moment coefficient

Case I: The reference trajectories of the position and yaw angle are chosen as xd(t)=3sin(0.5t+π3)x_{d}(t)=3\sin(0.5t+\frac{\pi}{3}), yd(t)=3sin(0.5t2π3)y_{d}(t)=3\sin(0.5t-\frac{2\pi}{3}), zd(t)=0.2tz_{d}(t)=-0.2t, and ψd(t)=0\psi_{d}(t)=0. With the initial condition: x(0)=0x(0)=0, y(0)=0y(0)=0, z(0)=0z(0)=0, ψ(0)=0.\psi(0)=0. The backstepping gains are specified as

c1=11.52,c2=28.00,c3=16.63,c4=6.54,\displaystyle c_{1}=11.52,c_{2}=28.00,c_{3}=16.63,c_{4}=6.54,
c5=8.40,c6=27.50,c7=15.54,c8=5.49.\displaystyle c_{5}=8.40,c_{6}=27.50,c_{7}=15.54,c_{8}=5.49.

The position and yaw angle tracking trajectories are shown in Fig. 5, from which we can conclude that the QUAV can track the references with satisfactory performance. Moreover, the actual and desired position trajectories in 3-D space are shown in Fig. 5, which also demonstrate the accuracy of the model and the effectiveness of associated controller.

Refer to caption
Figure 4: Actual and desired trajectories x,y,zx,y,z and ψ\psi in Case 1
Refer to caption
Figure 5: Position tracking trajectories in 3-D space in Case 1

Case II: The control objective in this case is to achieve vertical take-off at a fixed horizontal position for the QUAV. The initial condition and the control gains are same as Case I. The reference trajectories are considered as xd(t)=2x_{d}(t)=2, yd(t)=4y_{d}(t)=4, zd(t)=0.3tz_{d}(t)=-0.3t, ψd(t)=0.\psi_{d}(t)=0. The experimental result is presented in Fig. 6. It is observed that the tracking errors asymptotically converge to a small range within 4 seconds, and the final steady-state errors are approximately zero.

Refer to caption
Figure 6: Actual and desired trajectories x,y,zx,y,z and ψ\psi in Case 2

V Conclusions

In this paper, we have proposed a novel modeling approach utilizing symbolic regression to construct the dynamic model of a QUAV. Based on the model constructed by symbolic regression, the PI and backstepping techniques were adopted to design a controller for time-varying position tracking. We have demonstrated the stability of the control system through theoretical analysis. Subsequently, simulation studies have shown that the proposed control scheme can achieve superior tracking performance, and symbolic regression is especially effective. Future work can focus on considering external disturbance, e.g., [25], and developing a robust control scheme based on symbolic regression.

References

  • [1] N. S. Vanitha, L. Manivannan, T. Meenakshi, and K. Radhika, “Stability analysis of quadrotor using state space mathematical modeling,” Materials Today: Proceedings, 2020.
  • [2] Y. R. Tang, X. Xiao, and Y. Li, “Nonlinear dynamic modeling and hybrid control design with dynamic compensator for a small-scale UAV quadrotor,” Measurement, p. S026322411730324X, 2017.
  • [3] N. Abas, A. Legowo, Z. Ibrahim, N. Rahim, and A. M. Kassim, “Modeling and system identification using extended Kalman filter for a quadrotor system,” Applied Mechanics and Materials, vol. 313-314, pp. 976–981, 2013.
  • [4] T. Dierks and S. Jagannathan, “Output feedback control of a quadrotor UAV using neural networks.,” IEEE Transactions on Neural Networks, vol. 21, no. 1, pp. 50–66, 2009.
  • [5] S. Bansal, A. K. Akametalu, F. J. Jiang, F. Laine, and C. J. Tomlin, “Learning quadrotor dynamics using neural network for flight control,” in 2016 IEEE 55th Conference on Decision and Control (CDC), pp. 4653–4660, 2016.
  • [6] S. A. Salman, V. R. Puttige, and S. G. Anavatti, “Real-time validation and comparison of fuzzy identification and state-space identification for a UAV platform,” in IEEE International Symposium on Computer Aided Control System Design, 2006.
  • [7] J. L. Junell, T. Mannucci, Y. Zhou, and E. Van Kampen, “Self-tuning gains of a quadrotor using a simple model for policy gradient reinforcement learning,” in AIAA Guidance, Navigation, & Control Conference, 2016.
  • [8] I. Grondman, M. Vaandrager, L. Busoniu, R. Babuska, and E. Schuitema, “Efficient model learning methods for actoc-critic control,” IEEE Transactions on Systems Man & Cybernetics Part B, vol. 42, no. 3, pp. 591–602, 2012.
  • [9] M. Schmidt and H. Lipson, “Distilling free-form natural laws from experimental data,” Science, vol. 324, no. 5923, pp. 81–85, 2009.
  • [10] G. Yang, X. Li, J. Wang, L. Lian, and T. Ma, “Modeling oil production based on symbolic regression,” Energy Policy, vol. 82, no. jul., pp. 48–61, 2015.
  • [11] S. P. Chenna, G. Stitt, and H. Lam, “Multi-parameter performance modeling using symbolic regression,” in 2019 International Conference on High Performance Computing & Simulation (HPCS), 2019.
  • [12] X. Pan, M. K. Uddin, B. Ai, X. Pan, and U. Saima, “Influential factors of carbon emissions intensity in oecd countries: Evidence from symbolic regression,” Journal of Cleaner Production, vol. 220, no. MAY 20, pp. 1194–1201, 2019.
  • [13] E. Vladislavleva, T. Friedrich, F. Neumann, and M. Wagner, “Predicting the energy output of wind farms based on weather data: Important variables and their correlation,” Renewable Energy, vol. 50, no. FEB., pp. 236–243, 2013.
  • [14] X. Wu, B. Xiao, and Y. Qu, “Modeling and sliding mode-based attitude tracking control of a quadrotor UAV with time-varying mass,” ISA Transactions, 2019.
  • [15] A. Das, K. Subbarao, and F. Lewis, “Dynamic inversion with zero-dynamics stabilisation for quadrotor control,” Iet Control Theory & Applications, vol. 3, no. 3, pp. 303–314, 2009.
  • [16] Z. Chen and J. Huang, “Attitude tracking and disturbance rejection of rigid spacecraft by adaptive control,” IEEE Transactions on Automatic Control, vol. 54, no. 3, pp. 600–605, 2009.
  • [17] Z. Chen and J. Huang, “Attitude tracking of rigid spacecraft subject to disturbances of unknown frequencies,” International Journal of Robust & Nonlinear Control, vol. 24, no. 16, pp. 2231–2242, 2015.
  • [18] F. Chen, R. Jiang, K. Zhang, B. Jiang, and G. Tao, “Robust backstepping sliding-mode control and observer-based fault estimation for a quadrotor UAV,” IEEE Transactions on Industrial Electronics, vol. 63, no. 8, pp. 5044–5056, 2016.
  • [19] L. Luque-Vega, B. Castillo-Toledo, and A. G. Loukianov, “Robust block second order sliding mode control for a quadrotor,” Journal of the Franklin Institute, vol. 349, no. 2, pp. 719–739, 2012.
  • [20] B. Zhao, B. Xian, Y. Zhang, and X. Zhang, “Nonlinear robust sliding mode control of a quadrotor unmanned aerial vehicle based on immersion and invariance method,” International Journal of Robust & Nonlinear Control, vol. 25, 2016.
  • [21] T. Ryan and H. Jin Kim, “LMI-based gain synthesis for simple robust quadrotor control,” IEEE Transactions on Automation Science & Engineering, vol. 10, no. 4, pp. 1173–1178, 2013.
  • [22] Q. Quan, Introduction to Multicopter Design and Control. Springer Singapore, 2017.
  • [23] B.-T. Zhang and H. Mühlenbein, “Balancing accuracy and parsimony in genetic programming,” Evolutionary Computation, vol. 3, no. 1, pp. 17–38, 1995.
  • [24] Z. Chen and J. Huang, “Global robust stabilization of cascaded polynomial systems,” Systems & control letters, vol. 47, no. 5, pp. 445–453, 2002.
  • [25] Z. Chen, “A remark on sensor disturbance rejection of nonlinear systems,” IEEE Transactions on Automatic Control, vol. 54, no. 9, pp. 2206–2210, 2009.