You are on page 1of 11

Analog Integrated Circuits and Signal Processing

https://doi.org/10.1007/s10470-018-1159-8(0123456789().,-volV)(0123456789().,-volV)

ANFIS based quadrotor drone altitude control implementation


on Raspberry Pi platform
Anuar Dorzhigulov1 • Batyrgali Bissengaliuly1 • Billie F. Spencer Jr.2 • Jong Kim3 • Alex Pappachen James1

Received: 15 December 2017 / Revised: 3 March 2018 / Accepted: 6 March 2018


Ó Springer Science+Business Media, LLC, part of Springer Nature 2018

Abstract
The unmanned aerial vehicles can have complicated dynamics and kinematics that governs the flight of such multirotor
devices. PID type controllers are one of the most popular approaches with Raspberry Pi 3 platform for stability of the flight.
However, in dynamic environment they are limited in performance and response times. The autonomous tuning of the
controller parameters according to the state of the environment with assistance of the adaptive neuro-fuzzy inference
system is a well known approach. This paper provides implementation details and feasibility of such a controller with
Raspberry Pi 3 platform for use in geological wireless sensing environments. The proposed neuro-fuzzy controller is
developed for a Raspberry Pi 3 platform and tested on a physical quadrotor drone and compared to the conventional PID
controller during flight.

Keywords Neuro-fuzzy  ANFIS  Quadrotor  Control  Drone stabilization

1 Introduction dominate the UAV implementations due to its rotor con-


figuration that simplify the control dynamics. However, the
The Proportional Integral Derivative (PID) [3] type con- PID controller faces the challenge of optimizing and tuning
trollers are extensively used as a linear and easy to the parameters in these quadrotor implementations [1].
implement controller in Raspberry Pi platform for use in There are several ways to optimize and tune PID
unmanned aerial vehicles (UAVs). The quadrotor designs parameters such as: Cohen–Coon method, Ziegler–Nichols
method, Tyreus–Luyben method, Autotune method, Fer-
tick method, Ciancone and Marline method, and Internal
& Alex Pappachen James Model Control [11]. Several of the optimization algorithms
alex.james@nu.edu.kz; apj@ieee.org such as Bat Algorithm, Bacterial Foraging Optimization,
Anuar Dorzhigulov Genetic Algorithm, Bee Swarm, Bat Algorithm, Ant Col-
adorzhigulov@nu.edu.kz ony Optimization, and Shuffled Frog–Leaping can also be
Batyrgali Bissengaliuly used [9]. The optimization algorithms often are sensitive to
batyrgali.bissengaliuly@nu.edu.kz noise and natural variability that effects the system
Billie F. Spencer Jr. dynamics, and have a large impact on the stability of the
bfs@illinois.edu system. In the recent years, there has been a renewed
Jong Kim interest in using neural networks and fuzzy logic in the
jong.kim@nu.edu.kz design and estimation of PID parameters. The adaptability
1
Department of Electrical Engineering, School of Engineering, of neuro-fuzzy controller to incoming data representative
Nazarbayev University, Astana, Kazakhstan 01000 to dynamically changing environment is seen as useful for
2
Department of Civil and Environmental Engineering, the design of UAVs [7, 8, 10].
University of Illinois Urbana-Champaign, 2213 Newmark In this paper, we propose and report the implementation
Civil Engineering Bldg, 205 N. Mathews, Urbana, IL 61801, details of adaptive neuro fuzzy inference system (ANFIS)
USA that requires less trainable parameters and analyze the
3
Department of Civil Engineering, School of Engineering,
Nazarbayev University, Astana, Kazakhstan 01000

123
Analog Integrated Circuits and Signal Processing

performance of the ANFIS architecture as a part of the ðx  cÞ2


adaptive control system of the quadrotor drone. fGauss ðxÞ ¼ exp ð2Þ
r2
The function that describes the boundary conditions of
2 Adaptive neuro-fuzzy inference system the fuzzy set is called a membership function (MF). The
overview values of the fuzzy MF are typically distributed between 0
and 1, while the range of x parameter, that belongs to this
ANFIS architecture combines the inference principles of MF known as ‘universe of discourse’ or ‘universe’ X.
the fuzzy logic and learning properties of the ANN. The primary usage of the fuzzy sets is the conditioning
of the certain system output sets through so called fuzzy If-
2.1 Fuzzy logic principles Then rule:
if X 2 fAg; then Y 2 fBg ð3Þ
There can be natural phenomenon that cannot be properly
modeled without certain degree of unprobabilistic uncer- The first part, X 2 fAg is called antecedent or premise,
tainty. The one way of modeling such uncertainties is to and the last part Y 2 fBg is called consequence or con-
use fuzzy logic. Classical fuzzy system will utilize the clusion. Simple example of fuzzy If-Then rule: ‘‘If the
linguistic values, which are not precise or numerically color of iron is red, then metal temperature is high.’’ In this
representable, such as ‘higher’, ‘lower’, ‘warmer’, etc. example X is color, A is red, Y is temperature and
These values are based on the system knowledge of the B is high.
human experts. Fuzzy values, or fuzzy sets, has no strict One rule can incorporate multiple premise parameters,
(also known as crisp) numerical boundaries. In fuzzy sets so certain output set can be consequent of the multiple
these boundaries gradually decay. For example, Eq. 1, input conditions at once. Based on principle of the fuzzy If-
represents the strict numerical set A, which contains all Then rules the nonlinear approximation of the system
values of some parameter x, that are greater than 0. In other model can be obtained, but accurate modeling requires
words, set A has a strict numerical boundary of 0. precise set up of the rules by the mentioned experts. In
addition, the accuracy of such fuzzy modeling, can be
A ¼ fx j x [ 0g ð1Þ affected by the number and complexity of the rules that are
However, if the set A was fuzzy, the boundary condition considered for system description.
([0 in that case) would be continuously decaying function, The strong dependency on external experts to tune the
as it shown in Fig. 1. In this example the boundary of the rules is one of the major disadvantages of the classical
fuzzy set is represented as Gaussian function with mean c, fuzzy logic application. The way to address this issue is to
standard deviation r and parameter x, Eq. 2. introduce self adjustment of the rule conditions and input/
output parameters through learning algorithms.

2.2 Learning

1 The availability of the labeled input–output data pairs


provides an opportunity to iteratively adjust the system
0.8
model. The model parameters are adjusted based on the
difference (or error) between expected output and obtained
Belonging to the set A

output for a given input. This is a core adaptation principle


0.6
Fuzzy set used to train ANNs. The similar learning methodologies
Strict set can be applied to the fuzzy network.
0.4

2.2.1 Back-propagation
0.2

The back-propagation algorithm is the methodology to


0 recursively obtain the gradient vector of error measure in
each node of the vector with respect to the certain nodal
-10 -8 -6 -4 -2 0 2 4 6 8 10
x parameter. It is based on the following logic:

Fig. 1 Difference of the boundary condition representation for strict


and fuzzy set A and some random parameter x, which is partly
belongs to A

123
Analog Integrated Circuits and Signal Processing

change in the parameter a by Jang [4]. Example of the ANFIS network of 2 inputs
# and 2 membership function per input is given in Fig. 2, and
related input space segmentation by 4 If-Then rules for this
change in the output of the node with a
network is presented on Fig. 3. Generally, it is recom-
# mended to use Sugeno-type inference system, where the
change in the overall output consequent parameters of the fuzzy rules are given as a
# polynomial function:
change in the error if X 2 A and Y 2 B; then Z ¼ f ðX; YÞ
It means that change in some parameter a produces where f ðX; YÞ ¼ pX þ qY þ r
change in the error, so the error can be propagated back in Layer 1 The function of each node of the first layer is to
the network to the node containing this parameter. Based produce the output based on the associated input and MF,
on the derivative error measure at this node, the parameter Eq. 4
a can be adjusted to minimize overall system error.
Back-propagation is core principle of training the pre- Out1;i ¼ lAi ðXÞ; where i is node with X input
ð4Þ
mise (membership function) parameters of the ANFIS Out1;i ¼ lBi ðYÞ; where i is node with Y input
architecture. For detailed explanation of integrating back-
Each membership function l can be given as appropriate
propagation, refer to the [4].
parameterized function, such triangular or trapezoidal.
However, due to the differential nature of the gradient
2.2.2 Least-square estimator
descent, it is recommended to use differentiable alterna-
tives, such as Gaussian, sigmoidal or generalized bell
The gradient descent based on a back-propagation of an
functions. Parameters that describe the shape of those
error is considered to be computationally slow learning
functions are called premise (or antecedent) parameters,
algorithm. However, as it will be presented later, the output
and updated during backpropagation error correction.
of the ANFIS is linearly dependent on the consequent
parameters, so the alternative fast linear learning algorithm Layer 2 The function of nodes in this layer is to calculate
is used for those parameters instead of gradient decent in the product of the all membership functions outputs asso-
order to accelerate the training of the network. This type of ciated with certain one certain rule, Eq. 5. Produced output
the linear training for ANFIS was originally proposed and can be considered as the firing strength or the weight of the
described in details in [4]. rule, associated with this node.
Out2;i ¼ lAi ðXÞ  lBi ðYÞ ð5Þ
2.3 ANFIS architecture
Layer 3 The third layer nodes normalize the weight of
Combination of the fuzzy inference systems with learning each rule, Eq. 6
principles of the artificial neural networks resulted in wi
adaptive neuro-fuzzy inference system, originally proposed Out3;i ¼ wi ¼ P ð6Þ
i wi

Fig. 2 ANFIS network for 2


inputs, X and Y, and two MFs
per each input

П N CP
X
П N CP
Σ Out
П N CP
Y
П N CP

Layer Layer Layer Layer Layer


1 2 3 4 5

123
Analog Integrated Circuits and Signal Processing

Y Gradient decent is still used to update the antecedent


parameters. Based on the differential chain rule, the fol-
lowing general Eq. 10 is used to obtain the differential
error with respect to the antecedent parameter, where i is a
range of the rules that are associated with the membership
B2 2 4 function, containing a as a parameter, Out5;d is desired
output, ol
oa is partial derivative of the membership function
to the parameter alpha.
!
B1 ol 1 X
1 3 oEp
oa
¼ 2ðOut5;d  Out5 Þ
oa l
wi ðfi  Out5 Þ
i

X ð10Þ
1
Both types of learning are integrated into the ANFIS
A1 A2 network. Moreover, both learning types provides an
1 opportunity to integrate offline, online and batch learning
methods.

2.4 ANFIS advantages

Fig. 3 Segmentation of input space for a network shown in Fig. 2 Fuzzy nature of the ANFIS allows operating both fuzzy
and crisp inputs and outputs with minimal adjustment of
the default network architecture. In addition, the ANFIS
Layer 4 Layer 4 is used for multiplication of normalized
poses as great nonlinear generalization property as machine
rule weight with corresponding consequent parameter f.
learning tool. Moreover, fewer adjustable parameters and
Typically, there is two popular forms of the consequent
applicability of linear learning techniques result in accel-
parameters: based on the first order or zero order Sugeno
erated learning, especially compared to the classical
fuzzy models 7.
ANN [5]. Finally, the If-Then rules can be extracted from
Out4;i ¼ wi fi ; where trained network, which will allow to the possible human
fi ¼ ðpi X þ qi Y þ ri Þ for first order model; or ð7Þ operator to interpret the ANFIS approximated system
fi ¼ ri ; for zero order model model, given the number and complexity of the rules are
not overwhelming for such human operator.
Layer 5 Typically, this layer is consist of single node, that
produces output as a summation of all output signals of the 2.5 ANFIS disadvantages
previous layer, Eq. 8
X The main disadvantage of the default ANFIS architecture is
Out5 ¼ wi fi ð8Þ
i
poor scalability with number of inputs and number of MFs.
For example, using the grid segmentation of input space
will require M N discrete rules to describe the system, where
As it can be seen from Eq. 8, the overall system output M is number of MFs per input and N is number of inputs.
is linearly dependent on the sum of the consequent This issue is also known as the ‘‘curse of dimensionality’’,
parameters of each rule, Eq. 9 so practical application of the ANFIS is limited to the
several discrete inputs. One way of addressing this problem
Out5 ¼ w1 fþ w2 f2 þ    þ wn fn
can be to experiment with different segmentation
¼ ðw1 XÞp1 þ ðw1 YÞq1 þ ðw1 Þr1 þ    ð9Þ methodologies, however, it will require more complex
þ ðwn XÞpn þ ðwn YÞqn þ ðwn Þrn algorithm to select the number and type of the MFs for
preliminary system description. In addition, there is still
Assuming fixed antecedent parameters, the input array
dependence on the external experts to setup initial ANFIS
and normalized rule weights wi will be constant, so overall
conditions and rules. Finally, the dependence on the com-
output is linearly dependent on consequent parameters
putationally heavy gradient decent to adjust part of the
p1 ; q1 ; r1 ; p2 ; q2 ; r2 ; . . .; pn ; qn ; and rn . Based on this
parameters is still limiting the speed of the adaptation,
assumption, the LSE method is viable option to adapt
especially if the online learning for the highly dynamic
consequent parameters.

123
Analog Integrated Circuits and Signal Processing

system is desired, so some faster alternative should be responsible for the variable thrust generation. Wires which
considered for a complex ANFIS architecture. correspond to three phases of the motors are connected to
the 30A Multirotor ESCs which are mounted on four arms
of the frame. Depending on a variation of connection of
3 ANFIS implementation these wires motors can rotate either clockwise or counter-
clockwise. Motors are connected to ESCs in a way such
ANFIS based flight control framework is computationally that the front left and rear right motors rotate in clockwise
demanding, especially comparing to the default controllers, direction, whereas front right and rear left motors rotate in
such as PID, so the hardware requirements are considerably counterclockwise direction. Each ESC uses its own fast
higher. As a result, the flight control is implemented on a frequency switching system based on MOSFET to control
Raspberry Pi 3 microcomputer. Compact size, low weight, the ratio of power ON/OFF, thus controlling the power
controllable power consumption and adequate computa- supply and consequently the speed of the motor. ESCs are
tional hardware and software make Raspberry Pi 3 a rea- connected to the output pins 1–4 of NAVIO2 in order to
sonable candidate for proposed application. acquire input signals obtained by RC receiver, which is
connected to the PPM/SB pin 0, and processed by rasp-
3.1 Raspberry Pi 3 and Navio2 berry pi. Power to the whole system is supplied by
Lithium–Polymer (LiPo) battery attached to the bottom of
Raspberry Pi is popular platform for implementation the lower plate. The four cells battery supplies 14.8 V and
robotic designs and projects (Fig. 4). Available hardware 5000 mAh with a discharge capacity of maximum 50 C.
allows to easily interface such small computer with wide The block diagram of electrical components of quad-
range of sensor and actuator. In addition, the computational copter provided below in Fig. 5 demonstrates connection
resources and software supports popular programming of microcontrollers and sensors, and how signal processing
languages and environments, such as Python, C/C??, Java is done. Target values of roll, pitch, yaw and thrust are
and many more. Moreover, the Unix based nature of the determined and transmitted by RC to the PWM/S Bus input
operational system allows high level of the software cus- pin of the Navio2 in a form of PPM signal. Further, this
tomization. Popularity of the Raspberry Pi microcomputers signal is calibrated regarding to the actual, measured values
as a compact platform for robotics projects lead to the obtained by sensors integrated to the Navio2. Two sensors,
development of specialized compatible hardware and specifically MPU9250 9DOF IMU and LSM9DS1 9DOF
software, designed to streamline the development process IMU, that contains 3-axis gyroscope, 3-axis accelerometer
of such projects. Navio2 by Emild is a great example of and 3-axis magnetometer are used for finding yaw, pitch
dedicated hardware/software package used for such appli- and roll characteristics of quadcopter. The reason behind
cation. It contains all required sensory hardware required using two sensors of the same functionality is to acquire
for optimal quadrotor drone flight control. Moreover, more accurate data for stability of the quadcopter. The
Navio2 software source files are made openly available by altitude of UAV is measured by built-in MS5611 Barom-
Emild, so there is an opportunity to customize it based on eter with accuracy of 10 cm, which in its turn affect the
the needs of the application. signal responsible for thrust generation in order to ensure
The UAV designed for this project is based on a classic steady ascending/descending. U-blox M8N Glonass/GPS/
x type model of quadrotor. Four brushless motors with Beidou with antenna attachable to the Navio2 is responsi-
fixed propellers are mounted on the ends of arms, and are ble to keep quadcopter within the set course. These mea-
sured and target signal values are collected by raspberry pi
3 and processed to compute the final signals that will be
sent to four ESCs of quadcopter from pins 1 to 4 of Navio
2.

3.2 Raspberry Pi implementation, ANFIS metrics


and performance

Proposed implementation of the ANFIS network was


developed in the python3 environment and deployed on
Raspberry Pi 3 platform. Once on deployed, the developed
software has undergone numerous testing in order to ana-
lyze the operational performance and compatibility. Firstly,
Fig. 4 Raspberry PI and Navio 2 implemented into the UAV system the ability to handle the learning process was investigated,

123
Analog Integrated Circuits and Signal Processing

Fig. 5 Block diagram of electrical components of quadcopter

both offline and online. Finally, the comparison with offline manner to give a prediction of the chaotic time
commonly used PID controller should be made in terms of series, based on the number of past samples. In Eq. 11
the accuracy, response time and overall stability. there is a configuration of the inputs that have been used to
Primary way to compare both control techniques is to verify the ANFIS performance on Raspberry Pi.
analyze the stabilization parameters, such as settling time, ½xðt  18Þ; xðt  12Þ; xðt  6Þ; xðtÞ; xðt þ 6Þ ð11Þ
overshoot and amount of oscillation around the settling
point. It can be done by comparing the response to the The results of the offline learned ANFIS network pre-
change of the control signal. diction can be seen on a Fig. 6. It has been simulated for 4
inputs and 2 membership functions per input, resulting in
3.3 Performance of the offline and online 16 total rules with grid partitioning of the input space. It
learning produces RMS error of 0.065.

There are two major types of learning methods of the


neural networks: offline and online.

3.3.1 Offline learning

This type of the learning based on the cumulative error


produced by the whole training dataset. As a result, the
network parameters are adjusted only after the end of the
dataset, when cumulative error for a training dataset is
calculated. The same dataset can be used multiple times, to
increase the training accuracy for the given dataset, where
each training iteration is called epoch.
The performance of the offline learning and trained
network can be analyzed based on the prediction of the
nonlinear systems, such as chaotic time series. The offline
ANFIS learning has been tested on the Mackey–Glass
differential delay. The goal was to train ANFIS network in Fig. 6 The prediction made by the ANFIS after 20 epochs of the
offline training on Raspberry Pi 3

123
Analog Integrated Circuits and Signal Processing

3.3.2 Online learning

This type of learning is used to update the network


parameters based on the instantaneous error produces by
the current input–output data pair without taking into
account the cumulative error of the whole training dataset.
Similiar prediction test has been performed for the
online learning as it has been done for offline. Online
prediction results can be seen on a Fig. 7. Produced RMS
error is 0.188.
The effect of the additional online training of the pre-
liminary offline trained network has been studied. The
results can be seen on a Fig. 8 with a RMS error of 0.104.
As it can be seen from the presented results, the best Fig. 8 The prediction made by the ANFIS after 20 epochs of the
performance is given by the offline training. However, if offline training followed by 1 epoch of online learning on Raspberry
Pi 3
there is no good training data available, online learning is
still can be considered for prediction. The combined
learning resulted in reduced accuracy, compared to the
4.1 Quadrotor dynamics overview
offline learning.
Firstly, the overall trust generated by each motor is given in
Eq. 12, where x is a speed of the motor and b is lift
constant.
4 Control system overview
T ¼ bx2 ð12Þ
The designing of the autonomous control and stabilization
It should be noted that it is generally accepted for a Z
system of the quadrotor UAVs is one one the most chal-
axis to point downwards, so the total upward thrust is given
lenging segments of the overall drone design. The kine-
in Eq. 13, where mg is the total weight of the drone and Ti
matics and dynamics governing the flight mechanics of
is the thrust generated by each motor.
such devices are highly complex and nonlinear. Moreover,
it is underactuated system, meaning it is impossible to X
4

directly and independently control with only four available Ft ¼ mg  Ti ð13Þ


i¼i
motors all six degrees of freedom, such as angles of pitch,
roll, yaw and position with respect to the XYZ axes. Due to Next, is to give the torque generated by the drone in
the such complications related to the control, the dynamics each direction of XYZ, Eq. 14, where r is arm length, Di is
of the quadrotor flight should be analyzed at least on a a drag produced by each motor and k is drag constant.
fundamental level. sx ¼ rbðx24  x22 Þ
sy ¼ rbðx21  x23 Þ
ð14Þ
sz ¼ D1  D2 þ D3  D4
Di ¼ kx2i
Finally, the state vector of the drone is given in Eq. 15,
where x; y; z; hr ; hp ; hy are degrees of freedom parameters,
XYZ coordinates and angles, and x, _ y, _ h_r , h_p , h_y are
_ z,
respective rates of change of the previous parameters.
X ¼ ðx; y; z; hr ; hp ; hy ; x;
_ y; _ h_r ; h_p ; h_y Þ
_ z; ð15Þ

4.2 PID control

Typical stabilization technique of the quadrotor drone is to


use PID control for each angle of the rotation. Based on the
Fig. 7 The prediction made by the ANFIS after 1 epoch of online measurements of the current angles and their respective
training on Raspberry Pi 3

123
Analog Integrated Circuits and Signal Processing

rate of change and comparing to the difference to the membership functions per each input. It has been trained
desired values, D, the controllers adjust the speed of the for 50 epochs and the results can be seen on a Fig. 9. The
motors to correct the pose of the UAV. performance of the proposed controller has been tested on
It has been proposed by numerous simulation to use PD the simulated response to the varying altitude change
controller instead of PID, due to the simplification of the command.
math and more robust stabilization [2, 6]. Based on this The same test has been done on the conventional PD
approach, only the the proportional and derivative coeffi- (Kp ¼ 15, Kd ¼ 8) controller (Fig. 10).
cients Kp and Kd for each rotational angles are used, so the
control equations are presented in the Eq. 16.
sx ¼ Kpr ðDhr Þ þ Kdr ðDh_r Þ
5 Discussion
sy ¼ Kp ðDhp Þ þ Kd ðDh_p Þ
p p As it can be seen from the obtained results, the conven-
ð16Þ
sz ¼ Kpy ðDhy Þ þ Kdy ðDh_y Þ tional PID-type controllers tend to be more reliable for a
_ smaller step change, or certain step change they were
T ¼ Kpz ðDZÞ þ Kdz ðDZÞ
preliminary tuned to maintain, while ANFIS network tends
The contribution of the each controller to speed of the to produce more desirable results for a sharper altitude
each motor is given in Eq. 17. change with minimal overshoot and small rise time.
However, noticeable altitude overshoot is produced for the
x 1 ¼ sy þ sz þ T
smaller change command. This issue could be caused by
x2 ¼ sy þ sz þ T the lack of the training data available specifically for a
ð17Þ
x 3 ¼ sx þ sz  T smaller error scenarios, or under-training. However, it
x4 ¼ sx þ sz  T should be noted that excessive amount of the training will
lead to the over-fitting, when the network will produce
excellent result during training, but fail to operate with the
4.3 ANFIS assisted control same performance for alternative dataset.
The performance of the ANFIS could be improved even
The purpose of the ANFIS in this setup is to design and further by increasing the diversity of the training data, for
implement the alternative for the PID/PD controller, which wider range of the experiments, and with more rigorous
would be able to optimally perform in dynamic environ- training, with taking over-fitting into account. As alterna-
ment. Firstly, the appropriate training data should be tive, the online learning method performance can be con-
obtained. The PID controlled quadcopter can be used to sidered, in order to be less dependent on dedicated training
obtain training input–output pairs, where inputs are error dataset.
and error rate, while the output is produced change in the It should be noted, that online training should be consid-
motor speed. The data can be obtained for different cases ered for the mobile platform, such as Raspberry Pi, so there
with different optimal PID parameters. For example, for a are some additional concerns that should be addressed in the
altitude controller the optimal PID response can be logged future work such as computational power and battery life.
for a command to increase the hovering altitude by 1 m, or
to decrease it by 0.5 m with different PID parameters. Computational power Raspberry Pi 3 is a microcomputer
Logging this data for multiple response experiments could with a limited capacity of the computational power. It is
produce an appropriate training data for a ANFIS con- vital to optimize the allocation of this resource. Firstly, the
troller. Similar to the altitude controller, the training data computational requirements to maintain all four ANFIS
can be produced for pitch, roll and yaw ANFIS controllers. based controllers (altitude, pitch, roll and yaw) operational
The proposed method of the training data acquisition has should be considered. Moreover, additional resources will
been done to collect the training data for a ANFIS altitude be required for onboard online learning and tuning of the
controller. It is based on the different experiments with PD control parameters. Lastly, additional drone functionality
controllers: to increase the flight altitude by 0.5, 1, 1.5 and should be taken into account. It could be desired for drone
2 m and the same values for a decreasing flight altitude, PD to be able to act as a remote sensor node or video signal
altitude controllers parameters presented in Table 1. transmitter, so amount of the available resources for a
Training data has been collected and ANFIS altitude con- controllers could be even more limited.
troller validation has been done in MATLAB and Simulink Battery Quadcopter drone is mobile platform, so the
environment. energy supply is limited. As a consequence of the addi-
The ANFIS network has been trained offline based on tional computational power of the ANFIS network
the generalized bell membership function, with 5

123
Analog Integrated Circuits and Signal Processing

Table 1 Training PID controller parameters


0.5 m ascend 0.5 m descent 1 m ascend 1 m descent 1.5 m ascend 1.5 m descend 2 m ascend 2 m descent

Kp 95 105 145 110 115 120 250 280


Kd 33 32 45 30 40 35 90 90

2.5 The availability of the robust and adaptive drone con-


Altitude
2 Altitude command
troller will broaden application range of the small UAVs.
Stable autonomous drone could be designed to execute
1.5
Altitude, m

remote geosensing routines. Self adjustable drones are cap-


1 able to maintain designed travel trajectory and execute
programmed tasks, even in presence of the dynamic distur-
0.5
bances, such as wind, rain and snow. Multiple drones could
0
5 10 15 20 25 30 35 40 45 be used to automatically cover and map large areas of land
Time, s and be used as a remote mobile platform for sensory data
collection and processing, as it was originally intended for
Fig. 9 The simulated ANFIS based altitude controller
this project. Such reliable controller will allow to optimize
the seismic data collection from sensor nodes, due to the
2.5
Altitude stable distance between wireless sensor transmitters and
2
Altitude command drone receivers. This parameter is vital for this project,
because of large data that should be collected and limited
Altitude, m

1.5
data rate available for ZigBee based transmitter/receiver
1 protocols, it is desired to maximize the data exchange rate.
0.5

0
0 5 10 15 20 25 30 35 40 45 6 Conclusion
Time, s
Adaptive neuro-fuzzy network system is considered as
Fig. 10 The simulated PD (Kp ¼ 15, Kd ¼ 8) based altitude controller
alternative to the conventional PID controller for quadcopter
UAV flight control and stabilization. It has been shown, that
operation and maintenance the energy consumption tends
such architectures could be used as a generalized altitude
to be higher, which limits the aerial coverage.
controller, especially if the sharp altitude changes are
As it can be seen, one of the main issues related to the desired. Future work of this project could go into several
physical implementation of the ANFIS controllers is higher direction. Firstly, simulate and test the ANFIS performance
computational requirements compared to the conventional for other flight controllers (pitch, roll, yaw). Next, deploy
PID-type controllers, especially considering online learn- ANFIS based controllers on a physical Raspberry Pi drone,
ing. One way of the addressing this issue is to limit the and examine the limitations of both software and hardware.
amount and complexity of membership functions. Defi- Moreover, alternative types of the neuro-fuzzy architectures,
nitely, the accuracy could be compromised, but still such such as Cooperative-ANFIS or Evolving neuro-fuzzy net-
trade-off could be beneficial overall. Additionally, the works, could be tested for the same controller application and
alternatives for gradient descent learning could be consid- considering following properties: fast convergent learning,
ered, such as metaheuristic algorithms. online adaptation, small computational complexity. Finally,
Classic ANFIS architecture could be modified even development of the dedicated neuro-fuzzy analog hardware
more, by introduction of the evolutionary principles, so the planned for processing all ANFIS related data and algo-
whole structure of the network could be altered, not just rithms. The neuromorphic circuits, based on the CMOS
certain antecedent and consequent parameters. As a result, technology, memristors and crossbar arrays, are considered
the effects of the dynamic environment on a flight, such as for neuro-fuzzy circuit implementation. It is expected that
dynamically changing wind or weather conditions, could integration of such specialized hardware into quadrotor
be minimized. drone framework will reduce the processing load on the
Raspberry Pi and Navio2.

123
Analog Integrated Circuits and Signal Processing

References Batyrgali Bissengaliuly is in his


fourth year of studies towards a
1. Babu, V. M., Das, K., & Kumar, S. (2017). Designing of self B.Eng. degree in Electrical and
tuning PID controller for AR drone quadrotor. In 2017 18th Electronic engineering at
international conference on advanced robotics (ICAR) (pp. Nazarbayev University. Cur-
167–172). https://doi.org/10.1109/ICAR.2017.8023513. rently working as a Research
2. Bhatkhande, P., & Havens, T. C. (2014). Real time fuzzy con- Assistant at Nazarbayev
troller for quadrotor stability control. In 2014 IEEE international University, involved into the
conference on fuzzy systems (FUZZ-IEEE) (pp. 913–919). https:// UAV design and real-time
doi.org/10.1109/FUZZ-IEEE.2014.6891787. sensing of geosensory data.
3. Eressa, M. R., Zheng, D., & Han, M. (2016). PID and neural net Primary research interest is the
controller performance comparison in UAV pitch attitude control. microelectronics and embedded
In 2016 IEEE international conference on systems, man, and microcontrollers.
cybernetics (SMC) (pp. 000762–000767). https://doi.org/10.1109/
SMC.2016.7844333.
4. Jang, J. S. R. (1993). Anfis: Adaptive-network-based fuzzy
inference system. IEEE Transactions on Systems, Man, and Billie F. Spencer Jr. is the Nathan
Cybernetics, 23(3), 665–685. https://doi.org/10.1109/21.256541. M. and Anne M. Newmark
5. Jang, J. S. R., & Sun, C. T. (1995). Neuro-fuzzy modeling and Endowed Chair in Civil Engi-
control. Proceedings of the IEEE, 83(3), 378–406. https://doi.org/ neering at the University of
10.1109/5.364486. Illinois at Urbana-Champaign
6. Khatoon, S., Nasiruddin, I., & Shahid, M. (2017). Design and (UIUC). Civil Engineering at
simulation of a hybrid PD-ANFIS controller for attitude tracking Illinois is the number one
control of a quadrotor UAV. Arabian Journal for Science and ranked department in the USA.
Engineering, 42(12), 5211–5229. Prof. Spencer’s research has
7. Liu, F., Wang, H., Shi, Q., Wang, H., Zhang, M., & Zhao, H. been primarily in the areas of
(2017). Comparison of an ANFIS and fuzzy PID control model structural health monitoring,
for performance in a two-axis inertial stabilized platform. IEEE structural control, cyberinfras-
Access, 5, 12951–12962. tructure applications, stochastic
8. de Oliveira, H. A., & Rosa, P. F. F. (2017). Adaptive genetic fatigue, stochastic computa-
neuro-fuzzy attitude control for a fixed wing UAV. In 2017 IEEE tional mechanics, and natural
international conference on industrial technology (ICIT) (pp. hazard mitigation. Dr. Spencer has directed more than $50M in
726–731). IEEE. funded research and published more than 500 technical papers/re-
9. Ribeiro, J. M. S., Santos, M. F., Carmo, M. J., & Silva, M. F. ports, including two books. He was the first to study and design
(2017). Comparison of PID controller tuning methods: Analyti- magnetorheological (MR) fluid dampers for protection of structures
cal/classical techniques versus optimization algorithms. In 2017 against earthquakes and strong winds, overcoming the inherent lim-
18th international Carpathian control conference (ICCC) (pp. itations of existing passive energy dissipation systems, as well as
533–538). https://doi.org/10.1109/CarpathianCC.2017.7970458. power-dependent active control systems, which are in common use
10. Seyedtabaii, S. (2017). New flat phase margin fractional order today. He led NSF’s George E. Brown Network for Earthquake
PID design: Perturbed UAV roll control study. Robotics and Engineering Simulation (NEES) system integration project, which
Autonomous Systems, 96, 58–64. constituted the nation’s first engineering cyberinfrastructure initiative.
11. Shahrokhi, M., & Zomorrodi, A. (2013). Comparison of PID He is the PI on the NEES MUST-SIM facility at the University of
controller tuning methods. Department of Chemical & Petroleum Illinois focusing on hybrid simulation. His most recent research on
Engineering: Sharif University of Technology, Tehran. structural health monitoring systems and smart wireless sensors
integrates advanced computing tools with smart sensors, to provide a
functional platform with self-interrogation capabilities.
Anuar Dorzhigulov has finished
his B.Eng. and M.Sc. degree Jong Kim is a Professor of Civil
from Nazarbayev University Engineering at Nazarbayev
Electrical and Electronic engi- University (NU). He has a Ph.D.
neering department in 2015 and degree in Civil Engineering and
2017 respectively. Currently is licensed Professional Engi-
working as a Research Assistant neer in Civil Engineering and a
at Nazarbayev University, Construction Management. He
involved into the design of the has published more than 100
quadcopter UAVs and neuro- technical papers in academic
morphic systems for control for journals and conferences, as
geosensing monitoring and 3D well as 2 technical books. Fur-
mapping. Primary research thermore, he has been a
interest is the bio-inspired reviewer for more than 10 aca-
algorithms, systems and demic journals. He has con-
circuits. tributed to develop 5 successful
construction technologies (officially designated as ‘‘New Korean
Excellent Technology Patents’’). He has been acting as a project
proposal evaluator for the National Research Foundation of Korea,

123
Analog Integrated Circuits and Signal Processing

the Korea Agency for Infrastructure Technology Advancement, the Computing and Information Sciences, IEEE Transactions on Circuits
Korea Institute of Construction Technology, and the Korea Envi- and Systems 1, IEEE Access, IEEE Transactions on Emerging Topics
ronmental Industry and Technology Institute. He has also been acting in Computational Intelligence, and IET CPS (special issue) journals.
as an advisory member for the Ministry of Security and Public He is a Senior Member of IEEE, Life Member of ACM and Senior
Administration (South Korea), the Ministry of Land, Infrastructure Fellow of HEA. More see http://biomicrosystems.info/alex/.
and Transport (South Korea), the Ministry of Environment (South
Korea), and other government agencies. His research areas of interest
are primarily in geotechnical engineering, pavement engineering, and
construction materials. Prof. Kim has strong professional experience
in these areas and has participated actively in more than 100 projects
as a research assistant, research engineer, and principal/co-principal
investigator over the last 25 years.

Alex Pappachen James works on


brain-inspired circuits, memris-
tor circuits, algorithms and sys-
tems, and has a Ph.D. from
Griffith School of Engineering,
Griffith University. He is cur-
rently the chair of Electrical
Engineering department at
Nazarbayev University and the
chair of IEEE Kazakhstan sub-
section. He has a sustained
experience of managing indus-
try and academic projects in
board design, VLSI and pattern
recognition algorithms, and
semiconductor industry. He is Associate Editor of Human-centric

123

You might also like