Neural Network Implementation Control Mobile Robot
UsingNeuralNetworkstoTrainUnmannedAerial
1. Using Neural Networks to Train Unmanned Aerial
Vehicle (UAV) Controller Data
ABSTRACT
This work proposes the use of neural networks for modeling of
a dynamical complex system. This model will be useful for the
development and utilization of the helicopter as an Unmanned Aerial
Vehicle (UAV). The treatment of the training commands, with
which the present results are achieved, and the feedforward
multilayer perceptron training network is examined through out this
work.
With the current Matlab software and neural network toolbox
support, we have been able to accomplish the creation of a specific
neural networks architecture; a feedforward multilayer perceptron
artificial neural network. Along with the ability to calculate and train
flight parameters such as yaw, pitch, and roll. In order to accomplish
this goal, we propose to a) Develop a neural network capable of
outputting x-y-z positions of an UAV during flight and b) Integrate
the output of the trained neural network into the robust UAV
controller.
BACKGROUND
There are many applications for an unmanned aerial vehicle
(UAV). Some of which are used for observations, mapping, mobile
target acquisition, and air-to-ground warfare missions for military
utility. For civil functions, purposes range from, but not limited to,
surveillance, inspections and imagery acquisition tasks. The type of
vehicle used ranges as well, but the most suitable vehicle for many
of the previously mentioned tasks is the helicopter for the reason that
is able to offer a good compromise between maneuverability,
forward-flight speed and the capacity of hovering.
For the development of a robust controller that permits for
autonomous flight, mathematical models of the helicopter’s flight
dynamics are vital. Flight dynamics have a choice to be modeled
with analytical, empirical, or mixed models. By combining the
analytical expressions and empirical approximations, the mixed
model is created that is able to reach a good compromise between
accuracy and speed. Also by using a multilayer perceptron
architecture, multiple layers of neurons with nonlinear transfer
functions allow the network to learn nonlinear and linear
relationships between input and output vectors (1), thus allowing the
network to produce output values outside -1 and 1 ranges;
comfortable qualified input data for the accurate target on UAV
controller.
This research aims at creating a successful feedforward network
with a multilayer perceptron architecture that will train empirical
flight data to be the input for the autonomous flight controller on a
UAV. By using the mathematical precision of Matlab, data is stored
as matrices to be trained and tested by a network created with the
programs command input feature.
Pablo Vazquez1, Dr. Amar Raheja, Ph. D.2, Dr. Subodh Bhandari, Ph.D.3, Dr. Fang “Daisy” Tang, Ph.D.2, Kevin Ortega2, Alexander Gutierrez2
1Citrus Community College, 2Computer Science Department, Cal Poly Pomona 3Aerospace Engineering Department, Cal Poly Pomona California State Polytechnic University, Pomona
OBJECTIVE
The goal of the project is to construct a robust nonlinear flight
controller using neural networks. With different
applications of neural networks, especially for the
networks ability to learn based on feedback data, it
is possible to implicate an artificial neural networks
into the control system of the aerial vehicle. One
type of artificial neural network that can
accommodate to the necessities of aerial maneuvers
is the multilayer perceptron, also known as MLP.
This type of artificial neural network was used to explore the
capabilities of neural networks delivering specific
commands to scheme the path of an unmanned aerial
vehicle before, during, and after flight. Real flight
data acquired from a human-piloted UAV will be
trained for a network and the same network will test
new flight data for accuracy results. Scripts with
commands for the creation, training, and testing of a
network using a feedforward algorithm will be
thoroughly crafted.
METHODS
Acquire flight data from human-piloted UAV
-Differentiate and separate flight data into specific parameters matrices; roll,
pitch, yaw
-Within each flight parameters matrix, distinguish between hovering states and
maneuver states; which row and columns from the specific parameter matrix
produced a change in movement in respect to the one of the three
parameters. These will be the input for the network to create an output that
will consequently be used for the input of the UAV controls.
Create network
-Use Matlab’s editing tool to write a script with a list of commands in order to
create a network (newff) with a feedforward algorithm that will train the row
and columns of a flight parameter matrix which produced change in
movement in respect to the one of three parameters
-The activation functions and properties for the new feedforward function
(newff) are as follows;
100 hidden layers
unbounded range of input data
“tansig” nonlinear transfer function followed by a linear “purelin” transfer
function allowing to ultimately produce unbounded range of outputs.
-Run the network on Matlab’s command window
-Train the data with the network
-Use the following row and columns within the respective parameter matrix that
produced new sets of movements to test the network on.
-Continue and repeat until all three parameter matrices have been trained and
tested
Store results
-Store the output of the network to be used for input for the UAV controls
Compare results
-Plot histograms of mean squared errors for each trained and tested inputs of the
network
-Plot regression of output targets and actual outputs from network.
-Plot expected outputs and network outputs
-Compare
RESULTS
The following results were obtained from a series of
training patterns with data collected on real flight sessions
using a human-piloted UAV. As justified earlier, a feedforward
multi-layer perceptron network is used as the architecture for
training flight data to be inputted to a robust UAV control
system. Shown below are the results of the “pitch” flight
parameters, the UAV’s ability to maneuver up or down by
changing the angle it flies toward to in respect to the z-axis.
This network has a mean square error (MSE) of about .8948,
with which the outputs are used to input on the UAV
controller.
CONCLUSIONS
To conclude, the results confirm the hypothesis that the multilayer perceptron
neural network is competent enough to understand flight dynamics of an
Unmanned Aerial Vehicle
Vision for a future project will be to incorporate the trained data into a flight
oriented controller for a UAV and perform simulations to test and improve its
precision.
Improve training results to reduce the error after each training.
Produce the development of a network particularly for understanding and training
flight dynamics
Fabricate a network architecture for a multilayer perceptron that produced precise
results that enables input for a robust control system on a UAV
RESULTS
The graphs illustrate the success of the training network. Figure 3.
represents the Error Plot for the “Pitch” data Network. It plots all the errors in the
network to calculate the mean squared error (MSE). The MSE measures the
networks performance based on the error, by calculating the networks target
minus the networks output. It is shown to have the majority of the errors
surrounding the zero error anticipation. An error closer to zero indicates good
results from the training network. The skewed results can be a cause from the
first unsuccessful attempts of the network to correctly train the flight data, until
finally reaching reasonable values close to zero error. Figure 4 depicts the
Regression Graph for the “Pitch” data Network. It plots the expected (target) data
values vs. the actual (network output) values after training. Most of the data is
clustered near the bottom left corner where the line-of-best-of-fit and expected
target line meet. This is a good sign. The outliers, however, stray off the line-of-
best-fit away from the targeted values. A possible cause for this is the skewed
errors that the network first began displaying before it reached an MSE relatively
close to 0. Figure 5 shows the “Pitch” data Network Performance Graph after
200 Epochs. It shows that the trained network minimized error (MSE) to increase
best performance and results possible. The line converges to the best MSE
possible, hence the good quality of results. These figures doesn't indicate any
major problems with the training, however there is still room to improve the
training network to the point where error is significantly close to 0 and the
training output reaches the same expected values

ACKNOWLEDGEMENTS
This work is supported by the Race to STEM Program at Citrus College
in collaboration with the Cal Poly Pomona Summer Research Program.
Thanks to Amar Raheja, Ph. D.; Fang “Daisy” Tang, Ph. D.; Sobodh
Bhandari, Ph. D.; Kevin Ortega and Alexander Gutierrez at the CPP
Science Lab for their collaboration.
Thanks to Professor Lucia Riderer and Marianne Smith, Ph.D. at Citrus
College for the opportunity to participate.
For additional information please contact: Amar Raheja, Ph.D. at
California State Polytechnic University, Pomona CA
{raheja}@csupomona.edu
Fig. 4 Regression Graph for “Pitch” data Network. Expected
(target) vs Actual (network output).
REFERENCES
[1] Demuth, howard, Mark Beale, and First . Neural Network Toolbox User's Guide. 4.
Natick: MathWorks, Inc, 2001. 1-1 - 13-36. Print.
[2] San Martin Munoz, Rodrigo, Claudio Rossi, and Antonio Barrientos Cruz. "Modeling
Identification of Flight Dynamics in Mini-Helicopters using Neural Networks."
http://cdn.intechopen.com. Universidad Politécnica de Madrid, n.d. Web. 10 July
2012. <http://http://cdn.intechopen.com/pdfs/5989/InTech-
Modelling_and_identification_of_flight_dynamics_in_mini_helicopters_using_neural
_networks.pdf>.
[3] San Martin, R., A. Barrientos, P. Gutierrez, and J. Del Cerro. "Unmanned Aerial
Vehicle (UAV) Modelling Based on Supervised Neural Networks."
http://www.disam.upm.es. Universidad Politécnica de Madrid, n.d. Web. 19 July 2012.
<http://http://www.disam.upm.es/~barrientos/Publications_files/ICRA%2006%20Unm
anned%20aerial%20vehicle%20%28UAV%29%20modelling%20based%20on%20su
pervised%20neural%20networks.pdf>.
[4] Thaler, Stephen L. "THE BRAIN OF THE TRULY AUTONOMOUS UAV."
www.dtic.mil. Imagination Engines, Inc., 2002. Web. 19 July 2012.
<http://http://www.dtic.mil/ndia/2002targets/thaler.pdf>.
[5] Barrientos, Antonio, Rodrigo San Martin, Pedro Gutierrez, and Jaime Del Cerro.
"NEURAL NETWORKS TRAINING ARCHITECTURE FOR UAV MODELING."
http://www.wacong.org. Universidad Politécnica de Madrid, n.d. Web. 19 July 2012.
<http://http://www.wacong.org/wac2006/allpapers/isora/isora_104.pdf>.
[6] Manerowski, Jerzy, and Daiusz Rikaczewski. "Modleing of UAV Flight Dynamics
Using Perceptron Neural Netwroks." www.ptmts.org. Air Force Institute of
Technology, 2005. Web. 19 July 2012. <http://http://www.ptmts.org.pl/2005-2-
manerowski-r.pdf>.
[7] Frantz, Natalie R.. (2005). SWARM INTELLIGENCE FOR AUTONOMOUS UAV
CONTROL.Available:http://edocs.nps.edu/npspubs/scholarly/theses/2005/Jun/05Jun_F
rantz.pdf. Last accessed 19th July 2012
Fig. 1 Basic Feedforward Multilayer Perceptron Neural Network
Architecture
Fig. 3 Error Plot for “Pitch” data Network. Clusters surrounding
Zero Error
Fig. 5 “Pitch” data Network Performance Graph. After 200 Epochs,
the Network minimized error (MSE).
Fig. 2 In-depth Network Architecture showing path of input
vectors through the Transfer Functions (tansig and purelin) to
produce an unbounded Output