wahab2009
wahab2009
Wahidin Wahab
Department of Electrical Engineering
Faculty of Technology, University of Indonesia
Depok, Indonesia
wahidin.wahab@ui. ac.id
I. INTRODUCTION
Autonomous mobile robot has been used in many useful Figure 1. Obstacle detection sensors
applications in helping human task. Such as bomb detector,
nuclear waste carrier and disposal, building patrol etc. Robot is
designed and preprogrammed to do a spesific task
automatically, as such the robot needs an intelligent algorithm
to control robot movement. an artificial neural network, that
has learning capability is required for dealing with different
and/or dynamic environtment.
In this paper, the design of a neural network controller is
discussed, the neural network is used to determine the robot
heading angle based on a set of sensors measure-ments.
Controllers have to move the robot to navigate in an unknown
environtmen to find a target without hitting any obstacle.
⎡ S3 ⎤
⎢S ⎥
vmaks ⎢ 4⎥ (1)
v1 = × [1 1 6 1 1] ⎢ S5 ⎥
10 × Smaks ⎢ ⎥
⎢ S6 ⎥ Figure 5. Structure of ANN of the Obstacle avoidance controller
⎢⎣ S7 ⎥⎦
2
Back-propagation algorithm is used for neural networks for epoch > 1, the bisa is :
training. It starts with the Initialization of weights, and
determine the maximum number of epoch, target error, and Δb 2k = mc × Δb 2 k (old ) + αβ 2 k (11)
learning rate (α). Then initialize epoch = 0, and MSE = 1. Do
the following steps when (Epoch < Maximum Epoch), and e) For each hidden unit (zj, j = 1, 2, 3, ..., p) adds its
(MSE > Target Error) : delta input from upper layer units :
1) increase epoch, Epoch = Epoch + 1 m
2) Do these steps for each trained coupled element: δ _ in j = ∑ δ 2k w jk (12)
a) Each input unit (si, i = 1, 2, 3, ..., n) gets signal xi and k =1
forward them into all unit in upper layer (hidden layer). Then multiply this value with its activated function
b) Add the weighted input signals to each unit in hidden derivative to calculate error information :
layer (Zj, j = 1, 2, 3, ..., p) as follows :
n
δ 1 j = δ _ in j f ' ( z _ in j ) (13)
z _ in j = b1 j + ∑ si vij (3)
i =1
ϕ1ij = δ 1 j s j
Use activation function to calculate output signal : β1j = δ 1j
z j = f ( z _ in j ) (4) Then calculate weight correction used to correct vij :
for epoch =1, the weight correction is :
And forward them into upper layer (output layer).
c) Add the weighted output signals to each output unit Δvij = αϕ1ij (14)
(ζk, k = 1, 2, 3, ..., m) as follows :
for epoch > 1, the weight correction is :
n
ζ _ ink = b2k + ∑ z j w jk (5)
Δvij = mc × Δvij (old ) + αϕ1ij (15)
j =1
Then use activated function to calculate output signal ζk: Then calculate bias correction used to correct b1j :
for epoch = 1, it is :
ζ k = f (ζ _ ink ) (6)
Δb1 j = αβ 1 j (16)
And forward those signal into upper layer (output units)
For epoch > 1 is :
d) Each output unit (ζk, k = 1, 2, 3, ..., m) gets target
forms that connected to the input forms, then calculate error :
Δb1 j = mc × Δb1 j (old ) + αβ 1 j (17)
δ 2k = ( tk − kk ) f ' (ζ _ ink ) (7)
f) At each output unit (ζk, k = 1, 2, 3, ..., m) correct its
ϕ 2 jk = δ k z j bias and weight (j = 0, 1, 2, ..., p) :
for epoch = 1, the correction value is : At each hidden units (zj, j = 1, 2, 3, ..., p) correct its bias
and weight (i = 0, 1, 2, ..., n) :
Δw jk = αϕ 2 jk (8)
vij (new) = vij (old ) + Δvij (20)
while for epoch > 1, the weight correction value is :
b1 j ( new) = b1 j (old ) + Δb1 j (21)
Δw jk = mc × Δw jk (old ) + αϕ 2 jk (9)
3) Calculate MSE.
Then calculate bias correction to correct b2k :
for epoch = 1, the bias is : Input-output data for training are collected by placing the
mobile robot in a room and move it manually, then reading and
Δb 2 k = αβ 2k (10) saving the sensor and heading angles data for every sampled
3
time. Fig. 6 shows robot movement in five different training
room models.
4
The second behaviour is called the turning left-preference
behavior, as the robot moves it prefers to turn left when the
robot doesn’t detect any obstacle nearby, as shown in Fig. 13b.
Fig. 14 shows robot movement on an unknown room
environment. In this case, it is shown that the robot is
successfull to reach the target.
Fig. 15 shows a condition when robot can not find the target
which is placed behind a small opening that is too small for
the robot to pass through. This condition will happen if the
target position is unreacheable by sensors as shown in Fig. 16.
and the path to the target is not enough to let the robot pass
through.
Figure 12. Robot path from (1,1) into the target at (11,1),
with and without noise
Figure 15. Robot path when it can not reach the target
5
and without noisy signals from its sensors are the same path
which concluded that the algorithm is relatively capable of
handling noisy sensor conditions. The robot will always be able
to reach the target if the target position is detectable by sensors
and the size of the opening to the target is appropriately larger
than the size of the robot.
ACKNOWLEDGMENT
The author wish to thanks his student, Mr. Falah Arbio
Yasin, a final year student who had helped to run the
simulations and preparing the graphs.
REFERENCES
[1] M.I.Gufron, ”Perancangan dan simulasi sistem kemudi otomatis robot
bergerak otonom dengan menggunakan Fuzzy Logic Controller”, Final
Project, Faculty of Engineering University of Indonesia 2001 (in
Indonesian)
Figure 16. Target can not be detected by target sensor
[2] A.Mufti , ”Penerapan algoritma genetika pada penjejakan lintasan serta
pengendalian gerak robot otonom”, Final Project, Faculty of Engineering
University of Indonesia, 2003 (In Indonesian)
[3] S. Kusumadewi, ”Membangun Jaringan Syaraf Tiruan Menggunakan
VI. CONCLUSION MATLAB & EXCEL LINK”, 1st edition, Graha Ilmu, Yogyakarta,
2004.(in Indonesian)
Robot navigation is successfully managed by two ANN [4] D. Janglová, ”Neural Networks in Mobile Robot Motion”, in Intl.
controller, which are called the obstacle avoidance controller Journal of Advanced Robotic Systems, Vol. 1 No. 1, pp. 15-22.
and the target position controller. The neural network [5] J.Holland, “Designing Autonomous Mobile Robots”, Elsevier Inc.,
controllers have some interresting behavior in the environtment Tokyo, 2004.
that is never been given in its training sessions. These [6] P. Stone, “Intelligent Autonomous Robotics”, 1st ed., Morgan and
behaviour are uniquely shown when the robot is placed in an Claypool Publishers, 2007
environment which is very different from the training
conditions. The robot movement path for the conditions with .