Design and Realization of Experimental Autonomous Driving System
Based on Neural Network Control
Qingfu Kong
1, a
, Fanming Zeng
2, b
, Jiechang Wu
3
and Jiaming Wu
4
1
College of Power Engineering, Naval University of Engineering, Wuhan, 430033, China.
2
College of Power Engineering, Naval University of Engineering, Wuhan, 430033, China.
3, 4
Naval University of Engineering, Wuhan, 430033, China.
a
[email protected],
b
[email protected]
Keywords: autonomous driving, neural network control, slot car, intelligent vehicle.
Abstract. Intelligent vehicle is an attractive solution to the traffic problems caused by automobiles.
An experimental autonomous driving system based on a slot car set is designed and realized in the
paper. With the application of a wireless camera equipped on the slot car, the track information is
acquired and sent to the controlling computer. A backpropogation (BP) neural network controller is
built to imitate the way of player’s thinking. After being trained, the neural network controller can
give the proper voltage instructions to the direct current (DC) motor of the slot car according to
different track conditions. Test results prove that the development of the autonomous driving
system is successful.
Introduction
Autonomous driving is a very important researching field of the ITS (Intelligent Transportation
Systems). It means that no participation of the driver is required while driving. After decades of
efforts, great progress has been made to advance the reliability and security of autonomous driving.
It is reported that four driverless vehicles drove successfully over 13,000 km from Italy to China as
an attempt to test the feasibility of autonomous driving in 2010 in the VIAC Challenge (The VisLab
Intercontinental Autonomous Challenge) [1].
In this paper, an experimental autonomous driving based on a slot car set is designed and
realized. The slot car used to be operated through a joystick by the player, but here it is fully
controlled by a computer. That is to say, the control computer is applied to imitate the player’s way
of thinking; it can finally give the correct instruction to the slot car according to different track
conditions. The general goal of the experiment is that, on the premise of safe driving, the slot car
controlled by the computer can finish the race in a time as short as possible. To achieve this goal, a
neural network controller is built in the computer to imitate the player’s way of thinking.
Construction of the hardware platform
A photograph of the hardware platform is illustrated in figure 1. It is composed of six subsystems:
the slot car set, track information acquisition subsystem, track information transmission subsystem,
information processing subsystem, motor control subsystem and speed measuring subsystem [2].
The slot car set. The slot car set consists mainly of two parts: racing track and slot car. The t.
Design and Realization of Experimental Autonomous Driving Syst.docx
1. Design and Realization of Experimental Autonomous Driving
System
Based on Neural Network Control
Qingfu Kong
1, a
, Fanming Zeng
2, b
, Jiechang Wu
3
and Jiaming Wu
4
1
College of Power Engineering, Naval University of
Engineering, Wuhan, 430033, China.
2
College of Power Engineering, Naval University of
Engineering, Wuhan, 430033, China.
3, 4
Naval University of Engineering, Wuhan, 430033, China.
a
[email protected],
b
2. [email protected]
Keywords: autonomous driving, neural network control, slot
car, intelligent vehicle.
Abstract. Intelligent vehicle is an attractive solution to the
traffic problems caused by automobiles.
An experimental autonomous driving system based on a slot car
set is designed and realized in the
paper. With the application of a wireless camera equipped on
the slot car, the track information is
acquired and sent to the controlling computer. A
backpropogation (BP) neural network controller is
built to imitate the way of player’s thinking. After being
trained, the neural network controller can
give the proper voltage instructions to the direct current (DC)
motor of the slot car according to
different track conditions. Test results prove that the
development of the autonomous driving
system is successful.
Introduction
Autonomous driving is a very important researching field of the
ITS (Intelligent Transportation
Systems). It means that no participation of the driver is required
while driving. After decades of
efforts, great progress has been made to advance the reliability
3. and security of autonomous driving.
It is reported that four driverless vehicles drove successfully
over 13,000 km from Italy to China as
an attempt to test the feasibility of autonomous driving in 2010
in the VIAC Challenge (The VisLab
Intercontinental Autonomous Challenge) [1].
In this paper, an experimental autonomous driving based on a
slot car set is designed and
realized. The slot car used to be operated through a joystick by
the player, but here it is fully
controlled by a computer. That is to say, the control computer is
applied to imitate the player’s way
of thinking; it can finally give the correct instruction to the slot
car according to different track
conditions. The general goal of the experiment is that, on the
premise of safe driving, the slot car
controlled by the computer can finish the race in a time as short
as possible. To achieve this goal, a
neural network controller is built in the computer to imitate the
player’s way of thinking.
Construction of the hardware platform
A photograph of the hardware platform is illustrated in figure 1.
It is composed of six subsystems:
5. http://www.ttp.net
sides of the guiding groove through short contact wire under the
car’s body, and the DC motor will
be driven by this voltage so that the slot car moves forward.
During its driving process, the slot car
needs only the control of driving speed, which is accomplished
by the control of the voltage
between the sides of the guiding groove. The control of driving
direction is achieved by the guiding
groove on the lane.
Figure 1. Photograph of the hardware platform.
Track information acquisition subsystem. During automobile
driving, the information of the
environment must firstly be acquired so that proper driving acts
can be executed. For the same
reason, the track information must firstly be acquired by a
certain sensor for realizing autonomous
driving in the experiment. After discussion and analysis on
several common used sensors, a camera
is chosen for track information acquisition in this experiment.
The camera has a 1mm pinhole lens
with a 62° viewing angle. It is placed on the front of the slot car
6. and its position can be adjusted to
both up and down and left and right.
Track information transmission subsystem. The track
information acquired by the camera needs
to be sent to the controlling computer for further processing.
There are usually two methods for
information transmission: transmission with wire and wireless
transmission. Considering that the
camera is placed on the slot car and moves with the car, it is
more convenient to adopt the wireless
transmission means. In the experiment a wireless camera is
chosen for both track information
acquisition and track information transmission, whose
photograph is presented in figure 2.
Figure 2. Photograph of the slot car with the wireless camera.
Information processing subsystem. The information processing
subsystem is just like the brain of
the player by manual operation mode. The tasks of this
subsystem include the following aspects:
receiving the images transmitted from the wireless camera and
other necessary information for
1954 Industrial Instrumentation and Control Systems
7. realizing autonomous driving, data processing of the acquired
information, giving corresponding
output variables for the slot car’s driving with a certain
controlling algorithms. In this experiment,
the software Matlab is chosen as the programming environment
because it meets most of the
functional requirements of these above tasks. Additionally,
considering that output signals of the
image acquisition subsystem and image transmission subsystem
are analogue signals, but only
digital signals can be processed by the computer, it should be
taken into account for a conversion
from analogue signal to digital signal. In order to reach this
goal, a video card is used between the
computer and the wireless receiver.
Motor control subsystem. Because the slot car is driven by a DC
motor, the controlling of the
speed of the slot car is equivalent to the controlling of the rotate
speed of the motor. For a DC motor
the rotate speed of the motor is decided mostly by the motor
voltage and the motor current. By
means of changing the motor voltage, the rotate speed of the
motor can be adjusted. So in the
8. experiment, instructions of the motor voltage will be given by
the controlling computer in order to
change the speed of the slot car. There is also a problem of
signal conversion here. Because
instructions from the computer are digital signals and the motor
voltage should be analogue signals,
so a Data Acquisition (DAQ) card is used here. Considering of
the voltage consistence, an amplifier
is placed between the output of the DAQ card and the track
voltage interface.
Speed measuring subsystem. It is essential in the experiment
that the speed of the slot car should
be measured. In order to achieve this goal, a speed sensor is
applied to be equipped in the slot car.
The measured electrical signal is sent to the control computer
per wireless communication. Finally,
the speed of the slot car is calculated by means of data
processing in Matlab software platform in
the control computer.
Figure 3 shows the main construction of the hardware platform
of the experiment.
Figure 3. Construction of the hardware platform.
9. Design and realization of the software platform
The work of developing the software platform of the experiment
focus on these three aspects:
information collecting, bending information processing, neural
network controller developing [3, 4].
Information collecting. The essential information for
autonomous driving in the experiment
consists of two categories: the bending information of the track
and the speed information of the
Applied Mechanics and Materials Vols. 241-244 1955
slot car. The former is designed to be extracted from the images
acquired and transmitted by the
wireless camera; the speed information is designed to be
directly obtained from the measured speed
parameter.
Bending information processing. The task of bending
information processing is to extract certain
feature parameters from the raw bending information data. The
first task here is to determine the
parameters that can best describe and represent the bending
information of the track in the images
10. captured by the camera. After detailed analysis and discussion,
the following parameters are
determined to be chosen as the feature parameters of the
bending information in the experiment:
number of the marks, shape centers of the identifying marks and
angle of the regression line. The
extracting algorithm of feature parameters are developed with
following steps: (1) Receiving a
greyscale image and turning the acquired greyscale image into a
binary image; (2) Labelling and
calculating all connected components in the binary image; (3)
Calculating the size of each labelled
component through scanning the whole image and sorting the
labelled components; (4) Calculating
the number of the marks by means of getting rid of interference
from the labelled components; (5)
Dividing the image area into three parts and calculating the
shape centers of all identifying marks in
each part; (6) Making the judgment according to certain rules.
That is to say, when the size
difference between the biggest mark and the second biggest
mark is smaller than a threshold, three
comprehensive shape centers of these two marks are taken as
the feature parameters; otherwise,
11. only the three shape centers of the biggest mark are taken as the
feature parameters; (7) Calculating
the regression line and the corresponding angle of the largest
component; (8) Outputting these eight
feature parameters of this image and then getting a new
greyscale image and repeating the
processing steps above. A result of the image processing block
is shown as examples in figure 4,
with which the effectiveness of the algorithm for image
processing can be proved.
Figure 4. A result of the bending information processing.
Design and realization of the neural network controller. In the
experiment, a neural network
controller is adopted to imitate the player’s way of thinking. It
is used to give the correct instruction
to the slot car according to different track conditions. With
consideration of its advantages for
control system, a BP network is determined to be adopted for
building the neural network controller
in the experiment.
Determination about the input layer. According to the principle
that the number of the neurons
in the input layer is determined by the number of the inputs
12. offered by the problem, nine neurons
are chosen to build the input layer of the BP network. In which
eight inputs are arranged for the
bending information of the track and one input for the
calculated speed: (1) One input for the
number of identification marks in the image; (2) Six inputs for
the coordinates of three shape
centers; (3) One input for the angle of the regression line; (4)
One input for the calculated speed.
1956 Industrial Instrumentation and Control Systems
Determination about the output layer. According to the principle
that the number of the
neurons in the output layer is constrained by the number of
outputs required by the problem, only
one neuron for the voltage output is needed for the output layer
of the BP network.
Determination about the hidden layers. With the consideration
that a two-layer BP network
can represent any functional relationship between the inputs and
the outputs if enough neurons are
included in the sigmoid layer, a hidden layer with five neurons
is chosen for the network in this
13. experiment after many tests.
The structure of the designed BP network controller in the
experiment is illustrated in figure 5.
Figure 5. Structure of the neural network controller.
Training and validation of the neural network controller. The
neural network controller
should first be trained and validated in order that it has the
ability to finish its function. The
selection of training data plays a very important role on the
final performances of the network. In
this experiment, the row training data is acquired by means of
storing certain parameters under
manual operating mode. The parameters include ten variables:
nine inputs and one output. All these
ten parameters are first normalized and stored with an array
structure. Then a certain algorithm is
developed to find out the optimal data from the raw data
according to the ninth parameter of the row
data, also the measured speed value of the slot car. All the
chosen optimal data are finally combined
to build the training data set, with which the neural network
controller is trained.
14. In order to test the performances of the trained network, a
comparison between the outputs of the
network (blue curve) and the original outputs (red curve) with a
certain validating data set is carried
out. The result is shown in figure 6, from which the validation
of the developed neural network
controller is proved.
Test results of the experimental autonomous driving
In order to test the performance of the developed autonomous
driving system, 20 competitions are
carried out between the autonomous driving slot car and an
other slot car under manual driving
mode. Among these 20 competitions, the autonomous driving
slot car won 14 competitions and the
manual driving slot car won 2 competitions. 4 competitions are
broken out because that the manual
driving slot car is thrown off the track. That is to say, the
autonomous driving slot car won 18
competitions in all 20 competitions. It is observed in the
experiment that the average speed of the
autonomous driving slot car reaches nearly 2.5 m/s. From the
test results it can be seen that the
development of the autonomous driving system is very
successful and effective.
15. Applied Mechanics and Materials Vols. 241-244 1957
Figure 6. Validation of the neural network controller.
Summary
An experimental autonomous driving based on a slot car set is
introduced in the paper. A wireless
camera is equipped on the slot car to acquire the track
information. In order to imitate the way of
play’s thinking, a neural network controller is built in the
control computer. Test results have
proved the effectiveness of the developed autonomous driving
system.
References
[1] M Bertozzi, L Bombini, A Broggi, The VIAC Challenge:
Setup of an Autonomous Vehicle for
a 13,000 km Intercontinental Unmanned Drive, R. VisLab,
University of Parma, ITALY, 2009.
[2] Qingfu Kong, Development of Image Analysis and Design of
the Neural Controller for the
Laboratory Experiment “Autonomous Driving”, D. University of
German Defence Force, Germany,
16. 2011.
[3] F Kay, J Bergholz, Driver Assistant Systems, M. Institute of
Automotive Engineering,
University of Braunschweig, Germany, 2006.
[4] K Yi, M Woo, S Kim, An Experimental Investigation of a
CW/CA System for Automobiles
Using Hardware-In-Loop Simulation, J. Proceedings of the
American Control Conference, USA,
1999, pp. 724-728.
1958 Industrial Instrumentation and Control Systems
Industrial Instrumentation and Control Systems
10.4028/www.scientific.net/AMM.241-244
Design and Realization of Experimental Autonomous Driving
System Based on Neural Network
Control
10.4028/www.scientific.net/AMM.241-244.1953
http://dx.doi.org/www.scientific.net/AMM.241-244
http://dx.doi.org/www.scientific.net/AMM.241-244.1953