
IEEE/CAA Journal of Automatica Sinica
Citation: | S. P. Madruga, A. H. B. M. Tavares, S. O. D. Luiz, T. P. Nascimento, and A. M. N. Lima, “Aerodynamic effects compensation on multi-rotor UAVs based on a neural network control allocation approach,” IEEE/CAA J. Autom. Sinica, vol. 9, no. 2, pp. 295–312, Feb. 2022. doi: 10.1109/JAS.2021.1004266 |
IN the last decade, there has been a substantial growth in the usage of unmanned aerial vehicles (UAV) in a series of applications [1]. They are widely used to perform difficult or dangerous missions, military ones [2], or to make civilian tasks more efficient, like package delivery. The research of modeling and control techniques for this type of vehicles, especially the quadrotors, has also grown considerably [1]. A quadrotor dynamic model is usually an under-actuated nonlinear system [3]. Quadrotor UAVs are considered classic unstable dynamical systems [4], hence, the study of suitable algorithms to improve stability and reduce the influence of disturbances is indispensable.
A control allocation algorithm aims at computing a control input that ensures that the commanded virtual control is produced by the set of effectors and actuators at all times. This objective would fail to be met if the commands require forces beyond the capabilities of the actuators due to saturation or other physical limitations such as aerodynamic effects [5].
The use of control allocation offers the advantage of a modular design where the motion control algorithm can be designed without detailed knowledge about the actuators. Issues such as input saturation, rate constraints, actuator fault tolerance, power efficiency, etc., could be managed within the control allocation algorithm [5]. The resulting control laws specify which total control effect to produce but not how to produce it, and hence the need for control allocation arises [6].
Conventional multirotor UAVs have the rotors in parallel directions to collectively counteract gravity and optimize flight time. Consequently, these aircrafts have under-actuated dynamics due to the coupling between the horizontal translational and rotational dynamics [7]. As a result, the control of a quadrotor tends to present a high sensibility when subjected to an input constraint [8]. Therefore, control allocation is necessary for setting suitable commands for each rotor, so that it generates the desired control effect, that is, the forces and torques, while presenting an acceptable performance and respecting the constraints imposed by the minimal and maximal angular velocities and hence the maximum and minimum forces and torques [8].
In the classic quadcopter modeling used for most control techniques, the control allocation is often performed through the control effectiveness matrix, usually named mixing matrix or allocation matrix. It provides an invertible relation between mechanical conjugates and motor rotation speeds. This matrix results from a model simplification that neglects important aerodynamic effects that influence thrust forces and torque behavior, especially regarding small aircraft or aggressive maneuvering [9]. As a matter of fact, this negligence leaves the quadcopter subject to saturation, and the torque and thrust commands sent by the controller are not properly generated by the actuators, because the motors cannot achieve the necessary rotation speed.
In this sense, a new control allocation method was proposed to consider aerodynamic effects, most notably those regarding blade flapping and inflow effects as described in [10], based on a function fitting neural network to replace the classic mixing matrix. This method allows us to improve the controller performance without the need for directly using aerodynamic effects equations in the control algorithm or the allocation problem. Furthermore, network training is performed offline, and the in-flight control allocation depends only on the virtual control inputs and some state-space variables, which will be detailed further in this paper.
While it is true that there are several results regarding UAV control in the literature, we did not find works approaching the problem of the error inserted by the disregard of aerodynamic effects in the control allocation, which is the target of this paper. Even the robust controllers available in the literature and mentioned in the next section, still use the classic mixing matrix, forcibly inserting an error in the rotation speeds established at the motors and hence in the control performance.
Thus, the main contributions of this paper are:
1) We propose the use of a classic neural network as a novel control allocation approach that takes into account the aerodynamic effects.
2) The proposed method can be used to improve the performance of quadrotor controllers in general, since it removes the error introduced by the classic allocation matrix.
3) Our experimental results verified that neglecting aerodynamic effects in the control allocation has a direct negative impact in the flight performance;
4) Several aspects of the system were improved with the new control allocation, including the decrease in the allocation error, the increase in the controller performance, and a better overall signal quality.
Dynamic models with minimum complexity for quadrotors are well documented in the literature [11]. These models generally use six-degree-of-freedom (6-DOF) rigid-body equations and a highly simplified rotor dynamics as a function of the square of motor speed. The treatment of quadcopter dynamics around steady-state conditions has often ignored rotorcraft aerodynamic effects due to its complex physical modeling [12]. In certain circumstances similar to hover flight, these effects could be neglected. Nevertheless, they can prove to be very relevant during agile maneuvers [9] or in the case of small aircrafts [13], [14]. Davis and Pounds [13] sought to understand and exploit the aerodynamic effects acting on a small-scale quadrotor to regulate relative position, attitude, and velocity without extrinsic sensors. Ning et al. [14] investigated the aerodynamics and aeroacoustics of propellers for small unmanned aerial vehicles. Powers et al. [15] demonstrated that the dynamic response and performance of a micro UAV are greatly influenced by its aerodynamics, and the introduction of these effects into controllers is also discussed. They show that the controller performance can be improved when considering aerodynamic effects into the model.
Pounds et al. [16], [17] have included some aerodynamic effects modeling in the rotor dynamics equations to enhance model accuracy. The authors adopted a generalized flapping dynamics structure, based on helicopter theories, to model the rotor flapping phenomenon. Bristeau et al. [18] studied the aerodynamic role of the propellers. Hoffman et al. [19] and Huang et al. [9] modeled aerodynamic effects associated with blade flapping, airflow distribution, and thrust generation, to derive a model that can cover extreme maneuvers.
Cai et al. [11] introduced a frequency-domain modeling methodology that can be applied to various multi-rotor aerial vehicles. Niemiec and Gandhi [20] created a dynamic simulation for a 2 kg quadcopter, where several inflow models were used to analyze the behavior of the aircraft in trim, in hover, and forward flight. Kantue and Pedro [12], [21] used a radial basis functions neural network (RBF-NN) for model identification of an unmanned quadcopter in accelerated flight to estimate rotor dynamics parameters from an unknown flapping dynamics model.
The works presented above are mainly about modeling the aerodynamic effects that impact multirotor aircraft systems. However, the literature is still lacking in regard to techniques to actually take these effects into account in the quadrotor system, especially when it comes to the control allocation, which none of the previous works mention.
Omari et al. [22] present the design and evaluation of a nonlinear control scheme for a six-rotor helicopter that takes the first-order drag effects into account explicitly, and a hierarchical nonlinear controller is designed to actively compensate for the nonlinear effects caused by these drag forces. Note that, even though a dynamic model including the blade flapping and induced drag forces is presented in this paper, the corresponding traditional mixing matrix for a six-rotor helicopter is still employed by the authors. Even if the controller takes into account the drag forces, the control allocation completely neglects their existence, jeopardizing some of the controller’s performance when converting its commands to the actuators’ rotation speeds.
Chebbi et al. [23] use a polynomial regression to obtain the control allocation of a coaxial multirotor. However, the problem the authors are trying to solve in this work differs from the one we attack in our paper. They try to estimate a model that will solve the interference between the propellers in a pair of coaxial motors. Again, even though they estimate a thorough model of the actuators’ nonlinear effects, they neglect them in the control allocation.
Johansen and Fossen [5] and Alves [8] present the fundamentals of control allocation theory. A survey regarding different control allocation algorithms and applications to aerospace, maritime, automotive, and other application areas is presented in [5], while the applications of several methods of control allocation to an experiment with a differential-drive mobile robot and simulations of a quadrotor UAV and a Remotely Operated Underwater Vehicle are presented in [8].
Most recently, the interest in control allocation applied to multirotor vehicles has increased, given the rise in the usage of this type of aircraft. Kirchengast et al. [24] showed the comparison of different control allocation techniques, as well as Alves [8], but this time they are applied to a laboratory setup which emulates the rotational dynamics of a quadrotor, though not to a real quadcopter. Monteiro et al. [25] also analyzed control allocation algorithms to countermeasure saturation in the actuators, however, they generalized the classic direct control allocation (DCA) to suggest new methods, called partial control allocation (PCA) [25].
Doman and Oppenheimer [26] stated that forces and moments produced by the vehicle’s aerodynamic control surface are often nonlinear functions and that this limits most control allocation algorithms applications, since they are based on the assumption that the control variable rates are linear functions. The authors then presented a mixed optimization control allocation scheme that minimizes the norm of the error and the deviation of the control input from a preferred value, to attack the inaccuracies introduced by these linear assumptions.
In addition, Smeur et al. [27] dealt with the problem of actuator saturation for Incremental nonlinear dynamic inversion (INDI) controlled flying vehicles. The authors integrated the Weighted Least Squares optimization-based control allocation algorithm into INDI, which allows for prioritization among roll, pitch, yaw, and thrust. The conventional application area for control allocation algorithms is over-actuated mechanical systems, however, the principles of control allocation are general and can be applied to under-actuated systems subject to saturation and nonlinear effects.
The main technique most control allocation algorithms have in common is solving a constrained optimization problem [28], and this process is usually performed on-line [29], requiring computational resources from embedded systems [5]. Even though their computational complexity is mostly within the capabilities of today’s computer technology, some works highlight the advantages of requiring a low computational power on-line [30] such as the method we propose in this paper.
The control allocation theory establishes that it can be used to treat actuator saturation problems or other disturbances which may affect their optimal functioning [5]. However, at the moment of this research, there are no works proposing to specifically compensate aerodynamic effects inside the control allocation, replacing the traditional control effectiveness matrix and thus mitigating the allocation error.
Neural networks have been receiving wide attention in the control field, being proposed especially for identification and control of nonlinear dynamic plants [31]. A common application of neural networks to controllers is as an adaptive element to dynamic inversion plants, as stated by Cao et al. [32], Jiang et al. [33], and Wang et al. [31]. Likewise, Ansari et al. [34], [35] employed a baseline controller with a dynamic inversion in the inner loop for attitude tracking and body rates stabilization, with the addition of a Radial Basis Function Neural Network to estimate the unknown attitude dynamics of the quadrotor.
According to Achermann et al. [36], small UAVs are particularly susceptible to wind drag because of their relatively low mass and their operation at low altitudes where the wind environment can be more complex. The authors proposed an approach for predicting high-resolution wind fields using a deep convolutional neural network to generate 3D wind estimates. In a similar topic, Shi et al. [37] presented a deep-learning-based robust nonlinear controller called Neural-Lander that improves control performance of a quadcopter during landing, since near-ground trajectory control is difficult for multi-rotor drones, due to the aerodynamic effects caused by interactions between multi-rotor airflow and the environment. Verberne and Moncayo [38] described the design of an extension of the Nonlinear Dynamic Inversion control architecture for wind disturbance rejection in quadrotor UAVs, followed by the application of adaptive artificial neural networks to correct inversion errors caused by wind disturbance.
Neural networks have also been used for fault-tolerant control design in quadcopters, as in the works of Abbaspour et al. [39] and Song et al. [40]. The former used a neural network adaptive structure for fault detection and isolation combined with a nonlinear dynamic inversion technique to compensate for faults in the actuators, while the latter combined the radial basis function neural networks with virtual parameter estimating algorithms to develop an indirect neural network-based adaptive fault-tolerant control scheme. Finally, Reddinger and Gandhi [41] trained a predictive neural network to estimate power as a function of the redundant control settings for a range of flight speeds for a compound helicopter. This neural network is used as a surrogate model for a gradient-based optimization to allocate the redundant control settings with a minimized power requirement.
Note that even though neural networks are used to identify aerodynamic models, the application of a neural network to perform the control allocation of a quadrotor control system is still uncommon in the literature, specially considering aerodynamic effects, which is an application our research did not find in the most relevant works in this area of study.
The traditional quadrotor model assumes that the aircraft is built as a rigid structure, usually in form of X, with four arms, as shown in Fig. 1, where the axis convention used in this paper is presented. The angles use the Tait-Bryan convention, where the movement of rotation around the
Since our system is under-actuated, a control allocation algorithm is needed to send the appropriate commands to the actuators. The controller commands virtual control inputs [5] for the roll, pitch, and yaw torques, as well as the thrust force. The control allocation then transforms these mechanical conjugates into angular velocities commands for the four motors.
Table I shows the influence of the angular velocities of the motors in the resulting motion of the aircraft. Here,
Type of motion | ω1 | ω2 | ω3 | ω4 |
Thrust (Tz) | ↑ | ↑ | ↑ | ↑ |
Roll (ϕ) | ↓ | ↑ | ↑ | ↓ |
Pitch (θ) | ↓ | ↓ | ↑ | ↑ |
Yaw (ψ) | ↓ | ↑ | ↓ | ↑ |
In our control allocation, the objective is to produce actuator commands that will generate resultant torques and thrusts on the UAV body as close as possible to the requested control signals, also called virtual control inputs. In this sense, we provide here an overview of the notations used throughout this paper, for better understanding of the upcoming sections.
Definition 1: The virtual control inputs
Remark 1: In each of the four actuators
Definition 2:
Definition 3: The vector
Assumption 1: If
[Tτ]=˜F(u). | (1) |
Hence, the desired control allocation must perform the inverse operation, using the virtual control inputs
u=˜F∗(Tc,τc) | (2) |
where
Using this notation, the control allocation algorithm goal is to achieve
Remark 2:
Remark 3:
The dynamic and kinematic behaviors of the UAV can be described by the following equations [42]:
˙r=v | (3) |
˙v=1mRilTB+[00g]+1mRilFd | (4) |
˙Ψ=S(Ψ)Ω | (5) |
˙Ω=J−1(−Ω×JΩ+τ) | (6) |
where
1) The linear position vector
2) The angular position vector
3) The linear velocity vector
4) The angular velocity vector in the body-frame
Note that the linear position
Furthermore,
Ril=RzRyRx | (7) |
Ril=[c(ψ)−s(ψ)0s(ψ)c(ψ)0001][c(θ)0s(θ)010−s(θ)0c(θ)]×[1000c(ϕ)−s(ϕ)0s(ϕ)c(ϕ)] | (8) |
Ril=[c(ψ)s(θ)c(ψ)s(θ)s(ϕ)−s(ψ)c(ϕ)s(ψ)c(θ)s(ψ)s(θ)s(ϕ)+c(ψ)c(ϕ)−s(θ)c(θ)s(ϕ)c(ψ)s(θ)c(ϕ)+s(ψ)s(ϕ)s(ψ)s(θ)c(ϕ)−c(ψ)s(ϕ)c(θ)c(ϕ)] | (9) |
where
S(Ψ)=[1sinϕtanθcosϕtanθ0cosϕ−sinϕ0sinϕsecθcosϕsecθ]. | (10) |
There are several aerodynamic and gyroscopic effects that can modify the force model introduced in (3)–(6), the most important of them being the ones called blade flapping and induced drag, which are of significant importance in understanding the natural stability of quadrotors. These effects are particularly relevant because they induce forces in the
While disturbances caused by drag forces are already included in the basic model in (4) as an additive term, the inclusion of blade flapping equations is not so straight-forward. This phenomenon is caused by the flapping effect generated in the blades of the propellers by horizontal translation of the rotor in the air. During the translation of the rotor, one blade (called the advancing blade) will move in the direction of translation, while the other (the retreating blade) will move opposite to the direction of motion. The net velocity of the advancing blade will increase, and that of the retreating blade will decrease with respect to the air. This creates a disparity of lift between the advancing side of the rotor and the retreating side of the rotor (see Fig. 3) [17].
According to Pounds et al. [17], a rotor blade balances the lift imbalance (aerodynamic force), centripetal force, and blade weight force by allowing free rotation around a hinge or flexure, and this is known as rotor or blade flapping. The advancing blade will rise, the retreating blade will fall, as in Fig. 3, and therefore the rotor plane will tilt in an effort to meet a new equilibrium. Increasing translational velocity leads to increasing rotor tilt. When the rotor plane tilts, the thrust force generated by the blades is correspondingly tilted, resulting in a horizontal component that opposes the direction of translation.
Allowing the rotor blade to bend is very important in the mechanical design of the quadcopter. A rotor that is too rigid can cause transmission of these aerodynamic forces directly through to the rotor hub and may result in a mechanical failure of the motor mounting or the airframe itself [43]. Leishman [44] also states that if the rotor disc is perfectly rigid, the helicopter will flip, as was the case in early experiments.
As aforementioned, rotor flapping causes the rotor plane to tilt and hence the thrust force will also be tilted and will have a horizontal component. The total thrust
TB=4∑i=1TBi | (11) |
TBi=Ti[−cos(b1,s,i)sin(a1,s,i)sin(b1,s,i)−cos(a1,s,i)cos(b1,s,i)]B | (12) |
with
Relative air speed at propeller i: vBra,i | Ω×rBprop,i+R−1av |
Planar components: μi | √vBx,ra,i2+vBy,ra,i2/|ωid2| |
Non-dimensionalized normal inflow: li | |vBz,ra,i|/|ωid2| |
Sideslip azimuth relative to x-axis x: ji | arctanvBx,ra,ivBy,ra,i |
Sideslip rotation matrix: Jss,i | [cos(ji)−sin(ji)sin(ji)cos(ji)] |
Longitudinal flapping: βlf,i | JTss,i[((83θb0+2θb1)−2li)/(1/μi−μi/2)0] |
a1,s,i | βx,lf,i−16Q/(γaero|ωi|) |
b1,s,i | βy,lf,i−16P/(γaero|ωi|) |
In this table,
The constant
Propeller i’s positions: rBprop,i | [±0.0441±0.0441−0.0159]T |
Rotor radius: d/2 | 0.0330 |
Lock number: γaero | 0.6051 |
Blade root angle: θb0 | 0.2548 |
Blade twist angle: θb1 | −0.1361 |
Finally, the vector of torques
τ=4∑i=1(rBprop,i×TBi+Qi[001]B) | (13) |
where
These aerodynamic effects are neglected in most models, assuming
Overlooking these effects results in
TB≈[00T]T | (14) |
where
[Tcτϕcτθcτψc]≈αT[1111ry,1ry,2ry,3ry,4rx,1rx,2rx,3rx,4αQαT−αQαTαQαT−αQαT][ω21ω22ω23ω24]. | (15) |
Definition 4 (Mixing Matrix Control Allocation (MMCA)): The control allocation performed by means of a matrix that provides an invertible relation between squared motor speeds and the plant input
If we write (15) as
[Tcτϕcτθcτψc]=B[ω21ω22ω23ω24] | (16) |
the angular velocities would then be determined as
[ω21ω22ω23ω24]=B−1[Tcτϕcτθcτψc] | (17) |
where
Remark 4: Assuming the angular velocities
The new control allocation technique explained further along in this paper proposes precisely to perform the inversion of (11) and (13), by means of a function fitting neural network that models
Additionally, expanding (13), we obtain the following:
[τϕτθτψ]=4∑i=1([Tziryi−TyirziTxirzi−TzirxiTyirxi−Txiryi]+Qi[001]B) | (18) |
which gives us, for each actuator
τϕ=4∑i=1(Tziry−Tyirzi) | (19) |
τθ=4∑i=1(Txirzi−Tzirxi) | (20) |
τψ=4∑i=1(Tyirxi−Txiryi+Qi). | (21) |
In (19)–(21), we make explicit the influence of the thrust components on
The block diagram for the position and attitude control system is shown in Fig. 4. It is composed of an external PD trajectory control loop and an internal PID loop that controls the attitude which must be achieved so that the desired path is followed. Altitude or height control is also made through a PID controller.
The Trajectory Generator block sends the path commands
We have the following expressions for the attitude PID controller, where
τϕc=Kpeϕ+Ki∫eϕdt+KdP | (22) |
τθc=Kpeθ+Ki∫eθdt+KdQ. | (23) |
As aforementioned, the attitude controller commands are generated by the PD trajectory controller, shown in (24) and (25). Note that we need to perform a rotation around the z-axis (
θcmd=Kp(cos(ψ)ex+sin(ψ)ey)+Kdvx | (24) |
ϕcmd=Kp(−sin(ψ)ex+cos(ψ)ey)+Kdvy. | (25) |
The yaw control is made separately, as in (26), where
τψc=Kpeψ+KdR. | (26) |
Finally, the height control is performed through a PID, as shown below:
Tzc=Kpez+Ki∫ezdt+Kdvz. | (27) |
Since we aim to compare two different control allocation methods in this paper, the following assumption is naturally required.
Assumption 2: For the same controller design, simply replacing the traditional mixing matrix control allocation with the neural network control allocation here proposed does not harm the control project.
In order to verify this assumption, we designed a simple controller for the quadrotor system with the mixing matrix and tested to see if the project criteria were maintained when replacing it with the novel neural network control allocation we propose further ahead in this paper.
We set the project criteria of 1 s rising time (
Rise time (tr) | Settling time (ts) | Overshoot | |
Mixing Matrix | 0.605 s | 3 s | 14.9% |
Neural Network | 0.6 s | 3 s | 14.6% |
Kp | 0.0092 | ||
Ki | 0.0097 | ||
Kd | 0.003 |
The controllers were implemented in discrete-time, with the Bogacki-Shampine method, which is a requirement for it to be deployed to the hardware for real robot experiments afterwards. The step size was of
The obtained step response behaviors are presented in Fig. 5 and detailed in Table IV, for the traditional mixing matrix control allocation and the novel neural network control allocation. We can infer, comparing both step responses, that Assumption 2 is in fact true, as the difference between them is negligible. Therefore, it is possible to use the new control allocation approach and apply it to more elaborate maneuvers to observe the results. The PD-PID controllers were used here merely as a tool to perform the experiments and simulations, and are not the focus of the contributions of this paper.
Generally speaking, a control allocation solves an undetermined, typically constrained, system of equations [29]. The input to the control allocation block is the total control effect to be produced, or the virtual control input
g(u(t))=τc(t) | (28) |
where
Bu(t)=τc(t) | (29) |
with B being called the control effectiveness matrix of dimensions
It is important to stress that, when it comes to the process of control allocation, the terminology used depends on the application in mind, so the control allocator can also be known as control mixer, control blender, control selector, or control distributor [6]. Therefore, the control effectiveness matrix can be referenced by several notations. In quadcopter applications, it is usually called mixing matrix, referencing the control mixer; the control inputs are the thrusts and torques, and the actuator commands are the angular velocities
The traditional formulation of the linear control allocation problem is the system (30), which consists of (28) with the application of the actuator constraints [5], [6].
{Bu=τcumin<u<umax. | (30) |
There are three possible outcomes when solving (30):
1) There is an infinite number of solutions;
2) There is one unique solution;
3) No solution exists.
Many proposed control allocation methods correspond to different ways of computing the solution for a certain allocation objective, which most of the times is to avoid actuator saturation, rather than different objectives. The majority of well-established control allocation algorithms depend on numerical optimization to solve the control allocation problem. In this work, we briefly mention and describe the principal allocation methods according to Härkegård [6].
Optimization-based control allocation methods rely on a pragmatic interpretation of the control allocation problem, which states: for the system (30), determine a feasible control input so that this system is satisfied. If there are several solutions, pick the optimal one. In direct control allocation, the choice of control input is made unique by geometric reasoning. In daisy chain control allocation, the allocation suite is divided into groups, which are successively employed to generate the total control effort. All of these alternatives can be solved using numerical algorithms.
The main problem approached when using control allocation in the literature is the saturation of actuators in over-actuated systems. The principles of control allocation are however general and can be used to optimize other disturbances in the systems, from power or fuel consumption to aerodynamic effects [5], which is the case of this paper.
The problem of allocating the proper angular velocities to the rotors, which will generate the commanded virtual thrust and torques, is solved with an analytical inversion of (11) and (13), which transforms the angular velocities into thrust and torques,
We need therefore a solution to perform the opposite operation,
Definition 5 (Neural Network Control Allocation (NNCA)): The control allocation performed by means of a function fitting neural network that provides a transformation
That is, as in Section III-A,
u=˜F∗(Tc,τc). | (31) |
Function fitting is the process of training a neural network on a set of inputs with the aim of producing an associated set of target outputs. After the network has been created with the desired hidden layers and the training algorithm, the neural network must be trained using a set of training data. Once the neural network has fitted the data, it forms a generalization of the input-output relationship. The trained network can therefore be used to generate outputs for a new set of inputs that was not used in training. Neural networks are good at fitting functions. There is proof that a fairly simple neural network can fit any practical function [45], [46].
The proposed function fitting neural network is composed of a two-layer feed-forward network with sigmoid hidden neurons and linear output neurons. This structure was chosen since it can fit multi-dimensional mapping problems arbitrarily well, provided consistent data and enough neurons in its hidden layer are given. In this case, 20 neurons were used for the first step of the training, and 10 neurons for the second one, as described below.
The neural network control allocation approach has a two-step training process in order to take into account the aerodynamic effects, as well as achieving desirable training performance and mean squared error (MSE) order. The second step of the training process is independent from the mixing matrix.
In the mathematical model presented in Section III-C, we do not represent uncertainties caused by nonlinear terms. Nonetheless, the curve fitting provided by the neural network imposes an approximation error influenced by uncertain nonlinear terms.
With the purpose of minimizing the effect of these uncertainties, we aimed for a certain MSE order based on recent works in the literature regarding curve-fitting using neural networks [47]-[49]. To achieve this goal, we used our two-step training process, as will be described next. The references found in literature used radial basis function (RBF) networks for the curve-fitting. Considering that, we first trained RBF neural networks using the same mentioned two-step training method. Our objective was to compare the MSE of these RBF results to the MSE of the network structure we are using and see if they agree with the results found in the literature [47]-[49]. The complete neural network training is described next and summarized in Table V.
1st training: Bayesian-regularization (20 neurons, 64004 samples) | 2nd training: Levenberg-Marquadt (10 neurons, 34136 samples) | ||
Sample division | Dataset | Mean-squared error | Mean-squared error |
70% | Train | 3.28812×10−2 | 4.4857×10−4 |
15% | Validation | – | 5.98463×10−4 |
15% | Test | 4.09559×10−2 | 4.50975×10−4 |
For the RBF networks, the training process was the same as below, with the exception of the training algorithm, which was performed using the MATLAB function newrbe(). In the first training, the RBF network obtained an MSE of
● First Training
1) An open-loop simulation of the quadrotor system without any controller was performed, using pseudo-random binary sequence (PRBS) pulses with amplitude
2) The collected angular velocities data were applied to the aerodynamic effects equations (11) and (13) aiming to collect the real mechanical conjugates (
3) The input-output data (
With the first training, we obtained a mean squared error of the order
● Second Training
1) A new set of input-output data were collected from a closed-loop simulation with the first trained network as the control allocation method and a PD-PID error controller.
2) 3-2-1-1 maneuvers were used as attitude commands, and the network obtained in the first step converted the virtual control commands (
3) Once more, the collected angular velocities data were applied to the aerodynamic effects equations (11) and (13) aiming to collect the real mechanical conjugates (
4) The input-output data (
Both training steps were carried out for a maximum of 1000 epochs or until the validation error failed to decrease for 6 iterations, and we obtained Regression values of
The whole training process was performed offline, meaning that during the flight this allocation method requires low computational power, because the network is already trained and no update is made on-line. The classic mixing matrix was only used in the first step of the training to collect data.
While the mixing matrix control allocation uses only the thrust and torques to perform the matrix inversion and obtain the squared angular velocities, more variables were added to the neural network training process for the purpose of obtaining a better fit, according to the aerodynamic effects modeled in Section III-C. See Fig. 7, which details the input and output variables used in training. Therefore we used 10 input elements (
The platform used in the flight experiments was a PARROT Mambo minidrone, illustrated in Fig. 1, which contains a downward-facing camera for positioning using optical-flow odometry, an ultrasonic sensor, a barometric sensor, and an inertial measurement unit (IMU). All these sensors are used for stabilization purposes. The minidrone dimensions are
We evaluated the proposed method by comparing the mechanical conjugates at the output of the controller (the virtual control commands
Our position reference consisted of a set of waypoints for the quadrotor to follow. They formed a square with a
The test scenario was planned for a minidrone, which is a type of aircraft especially susceptible to aerodynamic effects influence, as aforementioned. The path was designed to induce mildly abrupt roll and pitch maneuvers (the corners of the square, that is, the waypoints) that would also allow an adequate observation of said effects. The behavior of the quadrotor throughout the trajectory however was not intended to be aggressive as mentioned in previous works in the literature, because we wanted to highlight the importance of the consideration of aerodynamic effects in the control allocation even without aggressive maneuvers. Note the trajectory used in this experiment differs from the maneuvers used for the neural network training explained in Section IV-A, hence the training does not need to be repeated for each specific maneuver. Furthermore, Table III shows some constants relative to the quadcopter in use, which were obtained from the documentation made available by the manufacturer. These constants are used in the aerodynamic effects modeling in Table II.
Fig. 8 shows the three-dimensional representation of the commanded and followed trajectory, with take-off and landing, for the mixing matrix and neural network control allocations. Figs. 9 and 10 show the trajectory projection in the
The respective mean squared error (MSE) calculations for each axis are shown in Table VI, for angular and linear positions. For every case except the yaw angle and position z, the MSE is smaller when using the neural network, especially in the case of the roll angle, where we had the most improvement when using the new control allocation.
MSE Roll | MSE Pitch | MSE Yaw | |
Mixing Matrix | 7.3017×10−4 | 4.7728×10−4 | 3.2070×10−6 |
Neural Network | 1.4444×10−4 | 4.2851×10−4 | 7.2123×10−5 |
MSE x | MSE y | MSE z | |
Mixing Matrix | 0.0372 | 0.0347 | 0.0163 |
Neural Network | 0.0300 | 0.0300 | 0.0176 |
The performance of the UAV during the roll angle maneuver can be seen in Fig. 12, for the mixing matrix, and in Fig. 13, for the neural network control allocation. The mixing matrix approach shows a much noisier behavior and a higher amplitude variation when compared to the neural network control allocation approach, where the adherence of the output to the commands is much more reliable, stable, and therefore preferable for the quadcopter flight. The difference between the reference signals in both cases is due to the consideration of the aerodynamic effects in the control allocation algorithm.
Figs. 14 and 15 show the comparison between the commanded virtual roll torques, which are commanded at the output of the controller. These figures also show the achieved roll torques at the aircraft, which were calculated using (13) with experimental flight data. Fig. 14 refers to the experiment with the mixing matrix, while Fig. 15 uses the neural network control allocation. The amplitude of the roll torques when using the neural network is smaller, requiring less effort from the quadrotor. Also, a comparison between the allocation errors for both cases is shown in Fig. 16, proving that the neural network allocation considering aerodynamic effects significantly reduces the allocation error.
Likewise, Figs. 17 and 18 present the corresponding comparison for commanded virtual thrusts and achieved thrusts, for mixing matrix and neural network control allocations, respectively. We note a similar behavior as the roll torque case mentioned above. There are less noisy oscillations when using the neural network, as well as smaller amplitudes. Fig. 19 shows the allocation errors for the two methods, where the error when applying the neural network control allocation is several times smaller (in the order of
Finally, Figs. 20 and 21 show the thrust
Measures were also taken during the flight experiments to minimize the error due to nonlinear uncertainties, since they were performed in a controlled indoors environment. The uncertain nonlinear terms were not directly treated in the modeling presented in this paper, as it was not the focus of this work. However, the practical results discussed here already show the advantages of the proposed method. In a future work, an approach considering these uncertainties could be included.
In this paper, we demonstrated that the disregard of aerodynamic effects in the quadrotor control intending to simplify the process of converting the conjugates at the controller output to angular velocities to be commanded to the rotors greatly affected the flight performance, most specifically thrust and torque behaviors. We proposed that the aerodynamic effects could be taken into account by applying a more refined control allocation process that used a function fitting neural network to transform virtual control inputs into actuator commands. The control algorithm, which was a PD-PID controller, did not need to acknowledge the aerodynamic equations directly.
The network training was performed offline, requiring very low computational power when compared to other optimization-based control allocation algorithms. The neural network required a two-step training process that was independent of the classic simplified allocation method on its second step. The first training was performed in an open-loop system, via PRBS pulses. A second training was executed with the purpose of refining the network in an equivalent closed-loop system, and in this case, the allocation was implemented using the open-loop trained neural network alongside the PD-PID error controller.
The experimental flight results showed that the aircraft behavior was smoother when using the neural network control allocation approach, the allocation error was smaller and the signals were less noisy, that is, the consideration of aerodynamic effects into the system interfered directly and positively with the quadrotor performance. Finally, the performance of the controller also improved with the use of the neural network control allocation, as well as the quality of the thrust and torque signals.
The focus of this paper was the control allocation technique, not the controller project itself, which will be the focus of future works that will consider the aerodynamic effects in a nonlinear dynamic inversion controller using neural networks.
Assumption 3: The thrust
TBi=Ry(a1,s,i)Rx(b1,s,i)αTω2i[00−1] | (32) |
where
Ry(a1,s,i)Rx(b1,s,i)=[c(a1,s,i)0s(a1,s,i)010−s(a1,s,i)0c(a1,s,i)][1000c(b1,s,i)−s(b1,s,i)0s(b1,s,i)c(b1,s,i)] | (33) |
Ry(a1,s,i)Rx(b1,s,i)=[c(a1,s,i)s(a1,s,i)s(b1,s,i)s(a1,s,i)c(b1,s,i)0c(b1,s,i)−s(b1,s,i)−s(a1,s,i)c(a1,s,i)s(b1,s,i)c(a1,s,i)c(b1,s,i)] | (34) |
Ry(a1,s,i)Rx(b1,s,i)[00−1]=[s(a1,s,i)c(b1,s,i)s(b1,s,i)−c(a1,s,i)c(b1,s,i)]. | (35) |
Note that, with this development, we can actually rewrite (12), shown in [10], using (35), as a function of the rotation of the flapping angles, as in (32) shown in Proposition 3.
Lemma 1: The longitudinal and lateral flapping angles
a1,s,i=exvra,i|Pxyvra,i|(|ωir|Θ−2|Pzvra,i||ωir|2|Pxyvra,i|−|Pxyvra,i|2)−16Qγaero|ωi| | (36) |
and
b1,s,i=−eyvra,i|Pxyvra,i|(|ωir|Θ−2|Pzvra,i||ωir|2|Pxyvra,i|−|Pxyvra,i|2)−16Pγaero|ωi| | (37) |
where
Proof: Now, analyzing the other terms on Table II, let us start with the sideslip rotation matrix
Jss,i=Rz(ji) | (38) |
JTss,i=RTz(ji)=[cos(ji)sin(ji)0−sin(ji)cos(ji)0001] | (39) |
JTss,i=Rz(−ji)=[cos(−ji)−sin(−ji)0sin(−ji)cos(−ji)0001]. | (40) |
It is important to remember that (39) and (40) are equivalent because the inverse of a rotation matrix is equal to its transpose. Therefore, we can rewrite the longitudinal flapping
βlf,i=Rz(−ji)[(83θb0+2θb1)−2li1/μi−μi/200]. | (41) |
Now for the planar components
μi=√vBx,ra,i2+vBy,ra,i2|ωid2| | (42) |
therefore,
μi=|vBxy,ra,i||ωid2|. | (43) |
Also,
li=|vBz,ra,i||ωid2|. | (44) |
Hence, if
vra,i=vxy,ra,i+vz,ra,i=Pxyvra,i+Pzvra,i | (45) |
and, from (43) and (44),
|vra,i|=√|vxy,ra,i|2+|vz,ra,i|2 | (46) |
|vra,i|=√μi|ωir||vxy,ra,i|+li|ωir||vz,ra,i| | (47) |
where
Now, taking
cos(ji)=vxy,ra,i[100]|vxy,ra,i||[100]|=vx,ra,i|vxy,ra,i| | (48) |
sin(ji)=vy,ra,i|vxy,ra,i| | (49) |
we can rewrite the rotation matrix
Rz(−ji)=1|vxy,ra,i|[vx,ra,ivy,ra,i0−vy,ra,ivx,ra,i0001]. | (50) |
If we consider
Rz(−ji)=1|Pxyvra,i|[ex⋅vra,iey⋅vra,i0−ey⋅vra,iex⋅vra,i0001]. | (51) |
Using
μi=|Pxyvra,i|ωir | (52) |
li=|Pzvra,i||ωir| | (53) |
and
[a1,s,ib1,s,i0]=βlf,i−[16Q/γaero|ωi|16P/γaero|ωi|0] | (54) |
[a1,s,ib1,s,i0]=1|Pxyvra,i|[ex⋅vra,iey⋅vra,i0−ey⋅vra,iex⋅vra,i0001]×[(83θb0+2θb1)−2li1/μi−μi/200]−[16Q/γaero|ωi|16P/γaero|ωi|0]. | (55) |
Corollary 1: Finally, from Assumption 3 and Lemma 1, it is possible to write an expression for
TBi=Ry(exvra,i|Pxyvra,i|(|ωir|Θ−2|Pzvra,i||ωir|2|Pxyvra,i|−|Pxyvra,i|2)−16Qγaero|ωi|)×Rx(−eyvra,i|Pxyvra,i|(|ωir|Θ−2|Pzvra,i||ωir|2|Pxyvra,i|−|Pxyvra,i|2)−16Pγaero|ωi|)×αTω2i[00−1] | (56) |
where
Therefore, the thrust
The authors thank PPgEE, DEE-UFCG, CAPES and CNPq for the award of research grants and study fellowship during these investigations
[1] |
T. P. Nascimento and M. Saska, “Position and attitude control of multi-rotor aerial vehicles: A survey,” Annu. Rev. Control, vol. 48, no. 1, pp. 29–146, Aug. 2019.
|
[2] |
P. G. Fahlstrom and T. J. Gleason, Introduction to UAV Systems. 4th ed. Chichester, UK: John Wiley & Sons, 2012.
|
[3] |
Y. Bouktir, M. Haddad, and T. Chettibi, “Trajectory planning for a quadrotor helicopter,” in Proc. 16th Mediterranean Conf. Control and Automation, Ajaccio, France, 2008, pp. 1258−1263.
|
[4] |
M. T. Hussein and M. N. Nemah, “Modeling and control of quadrotor systems,” in Proc. 3rd RSI Int. Conf. Robotics and Mechatronics, Tehran, Iran, 2015, pp. 725−730.
|
[5] |
T. A. Johansen and T. I. Fossen, “Control allocation–A survey,” Automatica, vol. 49, no. 5, pp. 1087–1103, May 2013. doi: 10.1016/j.automatica.2013.01.035
|
[6] |
O. Härkegård, “Backstepping and control allocation with applications to flight control,” Ph.D. dissertation, Linköping University, Sweden, 2003.
|
[7] |
R. Rashad, J. Goerres, R. Aarts, J. B. C. Engelen, and S. Stramigioli, “Fully actuated multirotor UAVs: A literature review,” IEEE Robot. Autom. Mag., vol. 27, no. 3, pp. 97–107, Sept. 2020. doi: 10.1109/MRA.2019.2955964
|
[8] |
J. G. Alves, “Control allocation applied to robots subject to input constraints,” Ph.D. dissertation, Universidade Federal do Rio de Janeiro, Brazil, 2019.
|
[9] |
H. M. Huang, G. M. Hoffmann, S. L. Waslander, and C. J. Tomlin, “Aerodynamics and control of autonomous quadrotor helicopters in aggressive maneuvering,” in Proc. IEEE Int. Conf. Robotics and Automation, Kobe, Japan, 2009, pp. 3277−3282.
|
[10] |
F. Riether, “Agile quadrotor maneuvering using tensor-decomposition-based globally optimal control and onboard visual-inertial estimation,” Ph.D. dissertation, Massachusetts Institute of Technology, Cambridge, Massachusetts, 2016.
|
[11] |
G. W. Cai, T. Taha, J. Dias, and L. Seneviratne, “A framework of frequency-domain flight dynamics modeling for multi-rotor aerial vehicles,” Proc. Inst. Mech. Eng. Part G:J. Aerosp. Eng., vol. 231, no. 1, pp. 30–46, Jan. 2017. doi: 10.1177/0954410016648348
|
[12] |
P. Kantue and J. O. Pedro, “Grey-box modelling of an unmanned quadcopter during aggressive maneuvers,” in Proc. 22nd Int. Conf. System Theory, Control and Computing, Sinaia, Romania, 2018, pp. 640−645.
|
[13] |
E. Davis and P. E. I. Pounds, “Direct sensing of thrust and velocity for a quadrotor rotor array,” IEEE Robot. Autom. Lett., vol. 2, no. 3, pp. 1360–1366, Jul. 2017. doi: 10.1109/LRA.2017.2668471
|
[14] |
Z. Ning, R. W. Wlezien, and H. Hu, “An experimental study on small UAV propellers with serrated trailing edges,” in Proc. 47th AIAA Fluid Dynamics Conf., Denver, Colorado, 2017, pp. 1−17. DOI: 10.2514/6.2017-3813
|
[15] |
C. Powers, D. Mellinger, A. Kushleyev, B. Kothmann, and V. Kumar, “Influence of aerodynamics and proximity effects in quadrotor flight,” in Experimental Robotics, J. Desai, G. Dudek, O. Khatib, and V. Kumar, Eds. Heidelberg: Springer, 2013, pp. 289−302.
|
[16] |
P. Pounds, R. Mahony, J. Gresham, P. Corke, and J. Roberts, “Towards dynamically-favourable quad-rotor aerial robots,” in Proc. Australasian Conf. Robotics and Automation, N. Barnes and D. Austin, Eds. Australia: The Australian Robotics and Automation Association Inc., 2004, pp. 1−10.
|
[17] |
P. Pounds, R. Mahony, and P. Corke, “Modelling and control of a large quadrotor robot,” Control Eng. Pract., vol. 18, no. 7, pp. 691–699, Jul. 2010. doi: 10.1016/j.conengprac.2010.02.008
|
[18] |
P. J. Bristeau, P. Martin, E. Salaün, and N. Petit, “The role of propeller aerodynamics in the model of a quadrotor UAV,” in Proc. European Control Conf., Budapest, Hungary, 2009, pp. 683−688.
|
[19] |
G. Hoffmann, H. M. Huang, S. Waslander, and C. Tomlin, “Quadrotor helicopter flight dynamics and control: Theory and experiment,” in Proc. AIAA Guidance, Navigation and Control Conf. Exhibit, Hilton Head, South Carolina, 2007, pp. 1−20. DOI: 10.2514/6.2007-6461
|
[20] |
R. Niemiec and F. Gandhi, “Effects of inflow model on simulated aeromechanics of a quadrotor helicopter,” in Proc. AHS 72nd Annual Forum, West Palm Beach, Florida, 2016, pp. 1−13.
|
[21] |
P. Kantue and J. O. Pedro, “Nonlinear identification of an unmanned quadcopter rotor dynamics using RBF neural networks,” in Proc. 22nd Int. Conf. System Theory, Control and Computing, Sinaia, Romania, 2018, pp. 292−298.
|
[22] |
S. Omari, M. D. Hua, G. Ducard, and T. Hamel, “Nonlinear control of VTOL UAVs incorporating flapping dynamics,” in Proc. IEEE/RSJ Int. Conf. Intelligent Robots and Systems, Tokyo, Japan, 2013, pp. 2419−2425.
|
[23] |
J. Chebbi, F. Defaÿ, Y. Brière, and A. Deruaz-Pepin, “Novel model-based control mixing strategy for a coaxial push-pull multirotor,” IEEE Robot. Autom. Lett., vol. 5, no. 2, pp. 485–491, Apr. 2020. doi: 10.1109/LRA.2019.2963652
|
[24] |
M. Kirchengast, M. Steinberger, and M. Horn, “Control allocation under actuator saturation: An experimental evaluation,” IFAC-PapersOnLine, vol. 51, no. 25, pp. 48–54, Sept. 2018. doi: 10.1016/j.ifacol.2018.11.080
|
[25] |
J. C. Monteiro, F. Lizarralde, and L. Hsu, “Optimal control allocation of quadrotor UAVs subject to actuator constraints,” in Proc. American Control Conf., Boston, MA, USA, 2016, pp. 500−505.
|
[26] |
D. Doman and M. Oppenheimer, “Improving control allocation accuracy for nonlinear aircraft dynamics,” in Proc. AIAA Guidance, Navigation, and Control Conf. Exhibit, Monterey, California, 2002, pp. 1−10. DOI: 10.2514/6.2002-4667
|
[27] |
E. Smeur, D. Höppener, and C. De Wagter, “Prioritized control allocation for quadrotors subject to saturation,” in Proc. Int. Micro Air Vehicle Conf. Flight Competition, Toulouse, France, 2017, pp. 37−43.
|
[28] |
G. J. J. Ducard and M. D. Hua, “Discussion and practical aspects on control allocation for a multi-rotor helicopter,” in ISPRS-International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 2011, pp. 95−100. DOI: 10.5194/isprsarchives-XXXVIII-1-C22-95-2011
|
[29] |
O. Härkegård, “Dynamic control allocation using constrained quadratic programming,” Journal of Guidance,Control,and Dynamics, vol. 27, no. 6, pp. 1028–1034, Nov.–Dec. 2004. doi: 10.2514/1.11607
|
[30] |
T. Schneider, G. Ducard, R. Konrad, and S. Pascal, “Fault-tolerant control allocation for multirotor helicopters using parametric programming,” in Proc. Int. Micro Air Vehicle Conf. Flight Competition, Braunschweig, Germany, 2012.
|
[31] |
Y. Wang, H. B. Zhang, and D. F. Han, “Neural network adaptive inverse model control method for quadrotor UAV,” in Proc. 35th Chinese Control Conf., Chengdu, China, 2016, pp. 3653−3658.
|
[32] |
S. Cao, L. C. Shen, R. S. Zhang, H. C. Yu, and X. K. Wang, “Adaptive incremental nonlinear dynamic inversion control based on neural network for UAV maneuver,” in Proc. IEEE/ASME Int. Conf. Advanced Intelligent Mechatronics, Hong Kong, China, 2019, pp. 642−647.
|
[33] |
F. Jiang, F. Pourpanah, and Q. Hao, “Design, implementation, and evaluation of a neural-network-based quadcopter UAV system,” IEEE Trans. Ind. Electron., vol. 67, no. 3, pp. 2076–2085, Mar. 2020. doi: 10.1109/TIE.2019.2905808
|
[34] |
U. Ansari, A. Bajodah, and M. Hamayun, “Quadrotor control via robust generalized dynamic inversion and adaptive non-singular terminal sliding mode,” Asian J. Control, vol. 21, no. 3, pp. 1237–1249, May 2019. doi: 10.1002/asjc.1800
|
[35] |
U. Ansari and A. H. Bajodah, “Quadrotor control using neuro-adaptive robust generalized dynamic inverasion,” in Proc. 8th Int. Conf. Systems and Control, Marrakesh, Morocco, 2019, pp. 1−6.
|
[36] |
F. Achermann, N. R. J. Lawrance, R. Ranftl, A. Dosovitskiy, J. J. Chung, and R. Siegwart, “Learning to predict the wind for safe aerial vehicle planning,” in Proc. Int. Conf. Robotics and Automation, Montreal, QC, Canada, 2019, pp. 2311−2317.
|
[37] |
G. Y. Shi, X. C. Shi, M. O’Connell, R. Yu, K. Azizzadenesheli, A. Anandkumar, Y. S. Yue, and S. J. Chung, “Neural lander: Stable drone landing control using learned dynamics,” in Proc. Int. Conf. Robotics and Automation, Montreal, QC, Canada, 2019, pp. 9784−9790.
|
[38] |
J. Verberne and H. Moncayo, “Robust control architecture for wind rejection in quadrotors,” in Proc. Int. Conf. Unmanned Aircraft Systems, Atlanta, GA, USA, 2019, pp. 152−161.
|
[39] |
A. Abbaspour, K. K. Yen, P. Forouzannezhad, and A. Sargolzaei, “A neural adaptive approach for active fault-tolerant control design in UAV,” IEEE Trans. Syst. Man Cybern.:Syst., vol. 50, no. 9, pp. 3401–3411, Sept. 2020. doi: 10.1109/TSMC.2018.2850701
|
[40] |
Y. D. Song, L. He, D. Zhang, J. Y. Qian, and J. Fu, “Neuroadaptive fault-tolerant control of quadrotor UAVs: A more affordable solution,” IEEE Trans. Neural Netw. Learn. Syst., vol. 30, no. 7, pp. 1975–1983, Jul. 2019. doi: 10.1109/TNNLS.2018.2876130
|
[41] |
J. P. Reddinger and F. Gandhi, “Neural network and machine learning allocation of redundant controls for power optimization on a compound helicopter,” in Proc. AHS Int. 73rd Annu. Forum & Technology Display, Fort Worth, Texas, USA, 2017, pp. 1−13.
|
[42] |
F. Sabatino, “Quadrotor control: Modeling, nonlinear control design, and simulation,” M.S. thesis, KTH, Stockholm, Sweden, 2015.
|
[43] |
R. Mahony, V. Kumar, and P. Corke, “Multirotor aerial vehicles: Modeling, estimation, and control of quadrotor,” IEEE Robot. Autom. Mag., vol. 19, no. 3, pp. 20–32, Sept. 2012. doi: 10.1109/MRA.2012.2206474
|
[44] |
G. J. Leishman, Principles of Helicopter Aerodynamics with CD Extra. Cambridge: Cambridge University Press, 2006.
|
[45] |
K. Hornik, M. Stinchcombe, and H. White, “Multilayer feedforward networks are universal approximators,” Neural Netw., vol. 2, no. 5, pp. 359–366, Jul. 1989. doi: 10.1016/0893-6080(89)90020-8
|
[46] |
A. N. Gorban and D. C. Wunsch, “The general approximation theorem,” in Proc. IEEE Int. Joint Conf. Neural Networks, Anchorage, AK, USA, 1998, pp. 1271−1274. DOI: 10.1109/IJCNN.1998.685957
|
[47] |
R. Gonzalez-Diaz, E. Mainar, E. Paluzo-Hidalgo, and B. Rubio, “Neural-network-based curve fitting using totally positive rational bases,” Mathematics, vol. 8, no. 12, Dec. 2020. doi: 10.3390/math8122197
|
[48] |
M. Li, S. Wibowo, and W. Guo, “Nonlinear curve fitting using extreme learning machines and radial basis function networks,” Comput. Sci. Eng., vol. 21, no. 5, pp. 6–15, Sept.–Oct. 2019. doi: 10.1109/MCSE.2018.2875323
|
[49] |
M. T. El-Melegy, “Random sampler M-estimator algorithm with sequential probability ratio test for robust function approximation via feed-forward neural networks,” IEEE Trans. Neural Netw. Learn. Syst., vol. 24, no. 7, pp. 1074–1085, Jul. 2013. doi: 10.1109/TNNLS.2013.2251001
|
[1] | Zhenzhen Luo, Xiaolu Jin, Yong Luo, Qiangqiang Zhou, Xin Luo. Analysis of Students’ Positive Emotion and Smile Intensity Using Sequence-Relative Key-Frame Labeling and Deep-Asymmetric Convolutional Neural Network[J]. IEEE/CAA Journal of Automatica Sinica. |
[2] | Tao Wang, Qiming Chen, Xun Lang, Lei Xie, Peng Li, Hongye Su. Detection of Oscillations in Process Control Loops From Visual Image Space Using Deep Convolutional Networks[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(4): 982-995. doi: 10.1109/JAS.2023.124170 |
[3] | Rong Zhao, Jun-e Feng, Dawei Zhang. Self-Triggered Set Stabilization of Boolean Control Networks and Its Applications[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(7): 1631-1642. doi: 10.1109/JAS.2023.124050 |
[4] | Xiangqian Yao, Hao Sun, Zhijia Zhao, Yu Liu. Event-Triggered Bipartite Consensus Tracking and Vibration Control of Flexible Timoshenko Manipulators Under Time-Varying Actuator Faults[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(5): 1190-1201. doi: 10.1109/JAS.2024.124266 |
[5] | Yuhan Zhang, Zidong Wang, Lei Zou, Yun Chen, Guoping Lu. Ultimately Bounded Output Feedback Control for Networked Nonlinear Systems With Unreliable Communication Channel: A Buffer-Aided Strategy[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(7): 1566-1578. doi: 10.1109/JAS.2024.124314 |
[6] | Qinchen Yang, Fukai Zhang, Cong Wang. Deterministic Learning-Based Neural PID Control for Nonlinear Robotic Systems[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(5): 1227-1238. doi: 10.1109/JAS.2024.124224 |
[7] | Chi Ma, Dianbiao Dong. Finite-time Prescribed Performance Time-Varying Formation Control for Second-Order Multi-Agent Systems With Non-Strict Feedback Based on a Neural Network Observer[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(4): 1039-1050. doi: 10.1109/JAS.2023.123615 |
[8] | Lifu Wang, Zhaofei Li, Lianqian Cao, Ge Guo, Zhi Kong. Controllability of Multi-Relational Networks With Heterogeneous Dynamical Nodes[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(12): 2476-2486. doi: 10.1109/JAS.2024.124404 |
[9] | Lifu Wang, Zhaofei Li, Ge Guo, Zhi Kong. Target Controllability of Multi-Layer Networks With High-Dimensional Nodes[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(9): 1999-2010. doi: 10.1109/JAS.2023.124152 |
[10] | Yufeng Lian, Xingtian Xiao, Jiliang Zhang, Long Jin, Junzhi Yu, Zhongbo Sun. Neural Dynamics for Cooperative Motion Control of Omnidirectional Mobile Manipulators in the Presence of Noises: A Distributed Approach[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(7): 1605-1620. doi: 10.1109/JAS.2024.124425 |
[11] | Jianquan Yang, Chunxi Yang, Xiufeng Zhang, Jing Na. Fixed-Time Sliding Mode Control With Varying Exponent Coefficient for Modular Reconfigurable Flight Arrays[J]. IEEE/CAA Journal of Automatica Sinica, 2024, 11(2): 514-528. doi: 10.1109/JAS.2023.123645 |
[12] | Lanfeng Hua, Kaibo Shi, Zheng-Guang Wu, Soohee Han, Shouming Zhong. Sliding Mode Control for Recurrent Neural Networks With Time-Varying Delays and Impulsive Effects[J]. IEEE/CAA Journal of Automatica Sinica, 2023, 10(5): 1319-1321. doi: 10.1109/JAS.2023.123372 |
[13] | Lifu Wang, Zhaofei Li, Guotao Zhao, Ge Guo, Zhi Kong. Input Structure Design for Structural Controllability of Complex Networks[J]. IEEE/CAA Journal of Automatica Sinica, 2023, 10(7): 1571-1581. doi: 10.1109/JAS.2023.123504 |
[14] | Dongdong Yue, Simone Baldi, Jinde Cao, Qi Li, Bart De Schutter. Distributed Adaptive Resource Allocation: An Uncertain Saddle-Point Dynamics Viewpoint[J]. IEEE/CAA Journal of Automatica Sinica, 2023, 10(12): 2209-2221. doi: 10.1109/JAS.2023.123402 |
[15] | Xiaohua Ge, Qing-Long Han, Jun Wang, Xian-Ming Zhang. A Scalable Adaptive Approach to Multi-Vehicle Formation Control with Obstacle Avoidance[J]. IEEE/CAA Journal of Automatica Sinica, 2022, 9(6): 990-1004. doi: 10.1109/JAS.2021.1004263 |
[16] | Wei He, Xinxing Mu, Liang Zhang, Yao Zou. Modeling and Trajectory Tracking Control for Flapping-Wing Micro Aerial Vehicles[J]. IEEE/CAA Journal of Automatica Sinica, 2021, 8(1): 148-156. doi: 10.1109/JAS.2020.1003417 |
[17] | Yuncheng Ouyang, Lu Dong, Lei Xue, Changyin Sun. Adaptive Control Based on Neural Networks for an Uncertain 2-DOF Helicopter System With Input Deadzone and Output Constraints[J]. IEEE/CAA Journal of Automatica Sinica, 2019, 6(3): 807-815. doi: 10.1109/JAS.2019.1911495 |
[18] | Cheng Peng, Yue Bai, Xun Gong, Qingjia Gao, Changjun Zhao, Yantao Tian. Modeling and Robust Backstepping Sliding Mode Control with Adaptive RBFNN for a Novel Coaxial Eight-rotor UAV[J]. IEEE/CAA Journal of Automatica Sinica, 2015, 2(1): 56-64. |
[19] | Qiming Zhao, Hao Xu, Sarangapani Jagannathan. Near Optimal Output Feedback Control of Nonlinear Discrete-time Systems Based on Reinforcement Neural Network Learning[J]. IEEE/CAA Journal of Automatica Sinica, 2014, 1(4): 372-384. |
[20] | Xiaoming Sun, Shuzhi Sam Ge. Adaptive Neural Region Tracking Control of Multi-fully Actuated Ocean Surface Vessels[J]. IEEE/CAA Journal of Automatica Sinica, 2014, 1(1): 77-83. |
Type of motion | ω1 | ω2 | ω3 | ω4 |
Thrust (Tz) | ↑ | ↑ | ↑ | ↑ |
Roll (ϕ) | ↓ | ↑ | ↑ | ↓ |
Pitch (θ) | ↓ | ↓ | ↑ | ↑ |
Yaw (ψ) | ↓ | ↑ | ↓ | ↑ |
Relative air speed at propeller i: vBra,i | Ω×rBprop,i+R−1av |
Planar components: μi | √vBx,ra,i2+vBy,ra,i2/|ωid2| |
Non-dimensionalized normal inflow: li | |vBz,ra,i|/|ωid2| |
Sideslip azimuth relative to x-axis x: ji | arctanvBx,ra,ivBy,ra,i |
Sideslip rotation matrix: Jss,i | [cos(ji)−sin(ji)sin(ji)cos(ji)] |
Longitudinal flapping: βlf,i | JTss,i[((83θb0+2θb1)−2li)/(1/μi−μi/2)0] |
a1,s,i | βx,lf,i−16Q/(γaero|ωi|) |
b1,s,i | βy,lf,i−16P/(γaero|ωi|) |
Propeller i’s positions: rBprop,i | [±0.0441±0.0441−0.0159]T |
Rotor radius: d/2 | 0.0330 |
Lock number: γaero | 0.6051 |
Blade root angle: θb0 | 0.2548 |
Blade twist angle: θb1 | −0.1361 |
Rise time (tr) | Settling time (ts) | Overshoot | |
Mixing Matrix | 0.605 s | 3 s | 14.9% |
Neural Network | 0.6 s | 3 s | 14.6% |
Kp | 0.0092 | ||
Ki | 0.0097 | ||
Kd | 0.003 |
1st training: Bayesian-regularization (20 neurons, 64004 samples) | 2nd training: Levenberg-Marquadt (10 neurons, 34136 samples) | ||
Sample division | Dataset | Mean-squared error | Mean-squared error |
70% | Train | 3.28812×10−2 | 4.4857×10−4 |
15% | Validation | – | 5.98463×10−4 |
15% | Test | 4.09559×10−2 | 4.50975×10−4 |
MSE Roll | MSE Pitch | MSE Yaw | |
Mixing Matrix | 7.3017×10−4 | 4.7728×10−4 | 3.2070×10−6 |
Neural Network | 1.4444×10−4 | 4.2851×10−4 | 7.2123×10−5 |
MSE x | MSE y | MSE z | |
Mixing Matrix | 0.0372 | 0.0347 | 0.0163 |
Neural Network | 0.0300 | 0.0300 | 0.0176 |
Type of motion | ω1 | ω2 | ω3 | ω4 |
Thrust (Tz) | ↑ | ↑ | ↑ | ↑ |
Roll (ϕ) | ↓ | ↑ | ↑ | ↓ |
Pitch (θ) | ↓ | ↓ | ↑ | ↑ |
Yaw (ψ) | ↓ | ↑ | ↓ | ↑ |
Relative air speed at propeller i: vBra,i | Ω×rBprop,i+R−1av |
Planar components: μi | √vBx,ra,i2+vBy,ra,i2/|ωid2| |
Non-dimensionalized normal inflow: li | |vBz,ra,i|/|ωid2| |
Sideslip azimuth relative to x-axis x: ji | arctanvBx,ra,ivBy,ra,i |
Sideslip rotation matrix: Jss,i | [cos(ji)−sin(ji)sin(ji)cos(ji)] |
Longitudinal flapping: βlf,i | JTss,i[((83θb0+2θb1)−2li)/(1/μi−μi/2)0] |
a1,s,i | βx,lf,i−16Q/(γaero|ωi|) |
b1,s,i | βy,lf,i−16P/(γaero|ωi|) |
Propeller i’s positions: rBprop,i | [±0.0441±0.0441−0.0159]T |
Rotor radius: d/2 | 0.0330 |
Lock number: γaero | 0.6051 |
Blade root angle: θb0 | 0.2548 |
Blade twist angle: θb1 | −0.1361 |
Rise time (tr) | Settling time (ts) | Overshoot | |
Mixing Matrix | 0.605 s | 3 s | 14.9% |
Neural Network | 0.6 s | 3 s | 14.6% |
Kp | 0.0092 | ||
Ki | 0.0097 | ||
Kd | 0.003 |
1st training: Bayesian-regularization (20 neurons, 64004 samples) | 2nd training: Levenberg-Marquadt (10 neurons, 34136 samples) | ||
Sample division | Dataset | Mean-squared error | Mean-squared error |
70% | Train | 3.28812×10−2 | 4.4857×10−4 |
15% | Validation | – | 5.98463×10−4 |
15% | Test | 4.09559×10−2 | 4.50975×10−4 |
MSE Roll | MSE Pitch | MSE Yaw | |
Mixing Matrix | 7.3017×10−4 | 4.7728×10−4 | 3.2070×10−6 |
Neural Network | 1.4444×10−4 | 4.2851×10−4 | 7.2123×10−5 |
MSE x | MSE y | MSE z | |
Mixing Matrix | 0.0372 | 0.0347 | 0.0163 |
Neural Network | 0.0300 | 0.0300 | 0.0176 |