In this paper a new neural modular constructive approach to navigate mobile robots in unknown envi-ronments is presented.. Keywords Constructive algorithms Æ Mobile robot navigation Æ Mo
Trang 1O R I G I N A L A R T I C L E
Catarina Silva Æ Bernardete Ribeiro
Navigating mobile robots with a modular neural architecture
Received: 28 March 2002 / Accepted: 3 July 2003 / Published online: 14 November 2003
Springer-Verlag London Limited 2003
Abstract Neural architectures have been proposed to
navigate mobile robots within several environment
def-initions In this paper a new neural modular constructive
approach to navigate mobile robots in unknown
envi-ronments is presented The problem, in its basic form,
consists of defining and executing a trajectory to a
pre-defined goal while avoiding all obstacles, in an unknown
environment Some crucial issues arise when trying to
solve this problem, such as an overflow of sensorial
information and conflicting objectives Most neural
network (NN) approaches to this problem focus on a
monolithic system, i.e., a system with only one neural
network that receives and analyses all available
infor-mation, resulting in conflicting training patterns,
long training times and poor generalisation The work
presented in this article circumvents these problems by
the use of a constructive modular NN Navigation
capabilities were proven with the NOMAD 200 mobile
robot
Keywords Constructive algorithms Æ Mobile robot
navigation Æ Modular neural networks Æ Sensor fusion
1 Introduction
There has been an increasing interest in the development
of intelligent mobile robots, i.e., robots that are able to
learn to navigate and act in complex, possibly unknown,
environments This interest grew with the realisation
that a mobile robots application environments are
usually dynamic, leading to the search for new solutions
for mobile robot navigation
When attempting to satisfy the requirements of such
a control system, it is often difficult to find a unique
control law that applies in all relevant regions of the parameter space [1] and that can evaluate all the infor-mation available The overflow of inforinfor-mation is indeed
a major problem in mobile robot control
Neural networks (NNs) adaptive, noise filtering and generalisation capabilities have made them an obvious instrument for controlling mobile robots Traditional approaches use monolithic neural networks Monolithic systems are composed of just one NN that receives all data, learning the solution mapping Monolithic NNs present some problems, due to the usually conflicting tasks that exist in mobile robot navigation These can be handled by following a modular strategy, applying the divide and conquer principle and using functional task division This approach leads to NNs that are known as Modular Neural Networks (MNNs) [2] An MNN consists of a multiplicity of NNs organised in a way that improves both the systems overall performance, and the effectiveness of the training and architecture determi-nation [3]
Monolithic NN training is normally a tedious pro-cedure and it is usually difficult to justify the obtained parameters One of the most serious criticisms of NN is the fact that one does not know what is happening inside
it In other words, an NN behaves like a black box A considerable benefit that can emerge from MNNs is an interpretable and relevant neural representation of the systems behaviour [4]
Another step towards clarifying NNs is the use of constructive algorithms as an approach for the incre-mental construction of potentially near-optimal NN architectures Such algorithms help overcome the need for the ad hoc and often inappropriate network topol-ogy choices that result from the use of algorithms that search for a suitable weight setting in an otherwise a priori fixed network topology [5]
This article presents a constructive MNN architecture that performs the navigation control of a real mobile robot Sect 3 states the questions underlying the prob-lem of mobile robot navigation Sect 5 justifies the need for MNN architectures Sect 6 presents the constructive
Neural Comput & Applic (2003) 12: 200–211
DOI 10.1007/s00521-003-0383-y
C Silva ( &) Æ B Ribeiro
Centro de Informa´tica e Sistemas,
Universidade de Coimbra, 3030 Coimbra, Portugal
E-mail: catarina@dei.uc.pt
Trang 2NN algorithms, highlighting the potential improvements
obtained by their use Sect 7 describes the modular
architecture developed, and Sect 10 presents the
con-structive method applied Sect 15 reports experimental
results for this system, in both a simulated environment
and a real mobile robot Sect 16 draws final conclusions
and suggests possible extensions
2 Mobile robot navigation
As mentioned above, mobile robot navigation consists
of the definition and execution of a trajectory to a
pre-defined goal, while avoiding all obstacles, in an
un-known environment There are a number of questions
that arise when trying to navigate a mobile robot:
– how to get information on the environment
– how to deal with the various types of data
– what restrictions should be put on trajectory planning
– how to detect and avoid unknown obstacles
Environmental information is usually gathered
through sensors in the mobile platform As there are
several types of sensors, care has to be taken when
receiving online data Once an acceptable data
inter-pretation has been found, the next step is to determine
the trajectory There are several approaches to this task,
and they can be broadly divided into two groups:
– global planning-based navigation, where, without
having dynamic knowledge of the environment, a
trajectory planner determines the best path from the
start position to the goal position;
– reactive navigation, using sensorial information to
determine the robots path online
Global planning-based navigation relies on the
hypothesis that the robots action environment is
suffi-ciently static to trust an a priori planning However, this
hypothesis is rarely true, as the environment is usually
much too changeable Examples of these environments
are factories or public spaces, like airports
Reactive based navigation takes a different approach
Assuming that the mobile platform navigates in a truly
dynamic environment, as it usually does, this strategy
discards global planning, supporting the robots
navi-gation in sensorial information and behaviour patterns
that are already known, or that are developed or
learned This approach can lead to adaptive systems,
with a certain level of learning [6] In this work we focus
on the problem of navigating a NOMAD 200 mobile
robot in an unknown environment, thus assuming a
reactive approach
2.1 The NOMAD 200 mobile robot
This section describes the mobile robot that was used as
a test bed for our experiments We shall first describe the
robot, then the simulator
The NOMAD 200 is a wheeled cylindrical robot, whose diameter is about 46 centimetres, illustrated in Fig 1 The robot can move forwards or backwards with varying speed and turn right or left a variable number of degrees The robot has also a dead-reckoning system for keeping track of its orientation and position The dead-reckoning system determines the robots present position from a previous one with information regarding the path and velocity taken between the two positions This information is gathered by monitoring the platform traction wheels This data can have great relevance, since
it is easy to obtain and can be gathered with negligible delay Moreover, it is always available and its update frequency is higher than other sensors
The robot has 16 ultrasonic sensors and 16 infrared sensors for observing the surrounding environment Ultrasonic and infrared sensors are evenly distributed around the robot, yielding a 22.5 degree angle between any two adjacent sensors
There are two sensors installed in each direction: an ultrasonic and an infrared sensor, distributed according
to Fig 2 The redundancy is only apparent, since the sensors ranges are very different While infrared sensors
Fig 1 The NOMAD 200 mobile robot
Fig 2 The Location of NOMAD 200 sensors
Trang 3detect obstacles up to 60 cm, the ultrasonic sensors
range is from 50 cm to 650 cm Therefore, in every
evaluation, for each one of the 16 possible sensorial
directions, only one type of sensor will be used, as will be
explained in Sect 7
The NOMAD 200 simulator has been used during
initial experiments in order to set up the required NN
system architecture It accurately models each of the
NOMADs motion and sensing capabilities It also
provides tools to test user-developed programs and
recreate specific interactions within a user-defined
envi-ronment
An illustration of the user interface screen is shown in
Fig 3 This interface makes it possible to show both the
pure simulation environment, and the representation of
the robots real trajectory, as will be shown in the results
section
3 MNNs
The building block of any NN is the neuron The
organisation of neurons in layers and the
interconnec-tion of these layers are the next steps to be taken in the
neural architecture For this concept to be applied, the
NN must be provided with sufficient resources (i.e., the
correct architecture considering the input space) and,
obviously, an algorithm capable of learning the
input-output mapping by updating the NN weights
Unfor-tunately these requirements are far from being accessible
[4]
The basic organisation just described can go one step
further Specifically, an NN can consist of a multiplicity
of networks organised in a modular structure [2] As
already mentioned, modularity can be viewed as a
manifestation of the principle of divide and conquer,
which allows us to solve complex problems, by diving
them into smaller sub-problems (modules), easier to
solve and combining their individual solutions to
achieve the final solution
The use of global NNs (as the back propagation NN)
and clustering NNs (as the radial basis function NN) can
lead to various advantages and drawbacks [4] Com-bining the two approaches to retain the best of each one
is possible using an MNN
Nevertheless, the application of the modular concept
to an NN has to be systematised, thus:
1 Task decomposition into sub-tasks;
2 Module organisation;
3 Module integration (communication)
A global NN, as the multi-layer perceptron (MLP), is characterised by the fact that all its nodes are involved in each pattern processing This is the main difference when comparing with clustering NNs, where only a part of their structure is involved in each pattern processing The use of clustering NNs requires relatively few learning trials and tends to yield interpretable repre-sentations, whereas the global NN converges very slowly (or does not converge at all) and still has the black-box problem However, the clustering NN tends to be memory intensive, while global NNs have the advantage
of smaller storage requirements and better generalisa-tion performance
It therefore seems very interesting to combine the desirable features of each approach, as a way of com-puting the information to obtain a better neural learning system
A modular approach can also be justified on a bio-logical basis In the human brain specific areas have been identified, responsible for specific tasks that do not per
se solve any particular problem However, in combina-tion, those specific areas accomplish greater tasks, not foreseeable if the particular areas are examined sepa-rately An example of this situation is seen in the visual cortex, where the operations it performs are achieved by its division into different regions, each responsible for a smaller sub-task
One of the important improvements achieved by MNNs is better generalisation A common approach in neural networks is to use architectures as small as pos-sible to obtain better generalisation, because the ability
of feed-forward NNs to generalise is inversely propor-tional to the number of weights involved [7]
Fig 3 The simulation
environment
202
Trang 4Some other advantages are gained by using MNNs.
Firstly, dividing a task into sub-tasks will avoid the
problems of temporal and spatial crosstalk [1]
Tempo-ral crosstalk occurs when a single NN is trained with
different training sets in two different moments in time
to perform two different tasks Usually the net forgets
how to execute the first task, altering the previously
trained weights Spatial crosstalk occurs when an NN is
trained simultaneously for the two tasks, resulting in
incoherent training patterns and long training times In
either case the outcome is poor generalisation capability
Finally, modularity can result in learning economy,
since some modules can be reused or modified without
altering the other modules, as will be demonstrated in
this work in Sect 10 This economy can become crucial
when hardware implementations are intended, since
MNNs can facilitate the hardware realisation of neural
networks [8]
There are several types of modular networks:
coop-erative, competitive, sequential and supervisory [3] In
all of them there is an implicit division of tasks They
differ in the way the modules interact Whereas in
cooperative modular networks all modules cooperate in
the final decision, in competitive NNs the modules
compete to win the chance to provide the solution In
sequential MNNs the modules solutions are used
sequentially to achieve the final solution, the
computa-tion of one module depending on the preceding one
Supervisory networks have the task of supervising one
or more modules [3]
Having reflected on the many advantages of using a
modular approach to mobile robot navigating problem,
emphasising the reasons that led to our choice, we
should now look at other successful approaches, whose
merit should not be ignored These are: unsupervised
learning methods [9], and reinforcement learning
pro-cedures [10] Unlike supervised learning, these methods
do not rely on a training set to learn Instead they learn
more autonomously
In reinforcement learning the only output that is
available is the measure of the performance the NN is
achieving: whether it is rewarded or punished This
reinforcement signal is much less informative than a set
of examples and it can be delayed, i.e., the success or
failure obtained can result from past control signals A
greater disadvantage of reinforcement learning is the
fact that it is a slow process, largely owing to its
sto-chastic nature
Unsupervised learning depends on the input
distri-bution to cluster the examples These procedures rely on
the possibility that these more autonomous learning
methods (non-supervised) can achieve behaviours not
foreseeable with a human supervisor
Sharkey et al [10] classify the self-learning of
autonomous robots as a worthwhile scientific adventure,
presenting real-life situations where intelligence emerges
both from the interplay with the environment and the
gradual development of actions representations in the
world
4 Constructive NNs
Recently several NN learning models have been pro-posed for a wide range of applications Of them, the MLP, trained with the standard back-propagation (BP) algorithm, is the most common
The BP algorithm searches for the solution using an
a priori determined topology Usually, this procedure is only useful when the topology is correctly determined for the specific problem [11] If the chosen topology is too small, the network will not be able to learn the problem solution; however, if the topology is too large
a memorisation process can occur, generating overfit-ting
Research has therefore been conducted with the aim
of optimising the NN dimension for each [12, 13] problem Generally, there are two approaches to this optimisation problem One starts with a bigger than necessary network, that is trained until an acceptable solution is found Then, useless hidden units are re-moved or pruned, using a pruning algorithm [14] The other approach is constructive algorithms, which start with a minimum configuration network and then add hidden units until an acceptable solution is reached Pruning algorithms have several disadvantages [11]: – it is often difficult to determine the appropriate initial network size;
– most of the training time is spent with larger than necessary networks;
– consequently it is not computationally efficient; – the solution found may not be the smallest possible for the defined performance
Constructive approaches avoid most of these prob-lems Thus, a constructive approach was followed to define the modular architecture that best handles the mobile robot navigation problem, which can be classi-fied as a regression problem, whether a constructive modular architecture is used or not Before explaining the constructive approach followed, a formalisation of the regression problem is presented
In regression problems, a d-dimensional input space, X, is defined, composed of independent vari-ables, and there is a scalar variable, Y, denominated answer (this is a simplification, because the answer can have one or several dimensions) A regression surface,
h, describes the desired relation between the variables
X and Y The constructive process tries to find the
NN architecture that best represents the h function [2] Determining the NN architecture that is able to approximate the objective function can be seen as a problem of searching in a function space [11], where the search space, the start state, goal state and the control strategy are defined by the constructive process
The search space is a sub-space of a function space, which is usually a space where a norm, | |, is defined and satisfies certain conditions:
Trang 51 ktk=0, if and only if t=0;
2 kktk=|k|ktk, for any scalar k;
3 kt+xk £ ktk+kxk
The norm gives a notion of the distance in the
space: if x, t are vectors in the normed space, then
the distance from x to t (and vice-versa) will be
kt)xk Different norms, and consequently different
spaces, are used to represent and solve different kinds
of problems
As an exhaustive search is computationally
prohibi-tive, the search space is only a sub-space of the function
space and is determined by the way new units are
gen-erated
Notice that, unlike conventional methods with
fixed-sized networks, constructive algorithms have two search
levels The first one searches the best NN architecture
and the second searches, within the defined architecture,
for the best set of weights
The initial state deals with the network before the
constructive algorithm takes place Usually this initial
network does not have hidden units or connections The
training is carried out in this initial structure and hidden
units are added and connected as long as the
perfor-mance is not satisfactory
The final states are acceptable problem solutions,
good approximations for function h This evaluation
depends on the problem on hand The distance measure
depends on the defined space norm For two functions h,
g, defined in an input space X, a uniform distance can be
used, according to Eq 1:
h g
If h is the objective function and g is the constructive
network implemented function, the uniform distance
emphasises the x values for which the approximation is
worst (with a larger absolute error), using these
approximations as a distance measure, assuring the
absolute correction for error boundaries
Another error measure often used is the Lpdistance,
in Eq 2:
h g
Z
X
h xð Þ g xð Þ
where l is the input space distance and p is a real
number, p‡1 If p=2, Euclidean distance is obtained In
Eqs 1 and 2, the distance measure is used in all the
space, not only in the training patterns, because the
greatest interest in the NN test lies not in the training
examples, but in its generalisation capabilities
There can be several final states, i.e., it is possible
that several networks approximate the objective
func-tion with the same precision or error The advantage
of this fact is that it is only necessary to find one of
these networks The main obvious disadvantage is that
different network configurations represent different
functions, leading to the representation of different
realities
The generation and test methodology is used in all
NN constructive processes to:
1 generate the network according to a control strategy that defines the solution search;
2 test the generated network;
3 if it is acceptable, end the process; if not, return to point 1
The search for the best set of weights can be accomplished through several optimisation algorithms
In topology matters, constructive methods always search for the smaller networks first, increasing their size only if necessary Besides having better generalisation capabil-ities, smaller networks also present other benefits: – computational costs, measured by the number of arithmetic operations, are of O(W), where W repre-sents the number of network weights Therefore, smaller networks are more efficient, not only in training, but also online;
– a smaller network is more easily described by a rule set and is easier to interpret
In this work we explore a class of constructive algo-rithms that systematically determine the NN architec-ture Constructive algorithms aim to improve generalisation and simplify learning through the dy-namic creation of problem-specific NN architecture A review of constructive NN algorithms can be found in [11]
5 Modular architecture
Mobile robot navigation has a considerable number of issues that can be analysed and studied, as was pointed out in Sect 3 In this work we focus on the problem of navigating a mobile robot to a defined goal in an un-known environment, minimising navigation time and positioning error [15, 16] Navigation systems can be broadly divided into two types of situations: where there
is an environment map or where there is not This map can exist prior to the planning, or can be built while the robot navigates in the environment There are several real situations where the existence of a map is not an objective and has little relevance to solving the problem These situations occur when the robots environment is too dynamic, which makes a maps construction too costly to compute In these conditions, the robot may not maintain a map, using its sensorial information to reach the desired objective
This is the situation we propose to examine, using an
NN The first approach is usually a monolithic network, but a deeper evaluation clouds the effectiveness of this approach [17, 18] In fact, the large amount of available sensorial information can make distinguishing the rele-vant information a problem Therefore, a monolithic
NN that receives all available information can have very long training times and poor generalisation capabilities,
as we have corroborated empirically [19]
204
Trang 6All these factors, and all the MNNs features
sug-gested in Sect 5, emphasise the usefulness of MNNs in
mobile robot navigation The first step is to functionally
divide our proposed task into sub-tasks Mobile robot
navigation was divided in two main tasks that proceed
directly from the problem definition, presented earlier in
this section:
– obstacle detection and avoidance;
– objective direction
This division is easily justifiable, since to fulfil mobile
robot navigation one has, firstly, to detect and avoid all
obstacles in the way, and secondly, to reach an objective
The evidence that these two tasks can be contradictory,
i.e., that one can lead the robot in a different direction
from the other, strengthens the modular concept
appli-cation to the problem, because, as was mentioned in
Sect 5, temporal and spatial crosstalk can occur when a
problem has contradictory objectives
These two tasks and the modules interconnection
structure will now be described Figure 4 presents the
defined architecture
5.1 The obstacle detection and avoidance module
This task has the objective of detecting and avoiding
unknown obstacles in the robots environment This
module will play a central role in the resolution of the
problem, since it will receive and fuse all the sensorial
information available
5.1.1 Handling sensorial Information
The NOMAD 200 mobile robot has two types of sensors
aligned in each of the 16 sensorial directions: an infrared
sensor and an ultrasonic sensor The difference in their
ranges can be used to optimise the information in each
of the 16 possible sensorial directions Ultrasonic sen-sors are used to give global information about the area, but when the robot is close to obstacles, it uses infrared sensors The reason for this is that an ultrasonic sensor cannot give the distance to an obstacle when it is less than 50 centimetres Thus, when the output of the ultrasonic sensor is 50 centimetres or less, the infrared sensor, in that specific direction, will be used Moreover,
an ultrasonic sensor output that exceeds 100 centimetres
is always set to 100 centimetres This truncation occurs because objects whose distance is greater are not con-sidered for obstacle avoidance, since they carry little information and are very often the result of multiple reflections of the ultrasonic wave Eq 3 displays these refinements
Sensor¼
infrared; ultrasonic sensor650;
100; ultrasonic sensor>100; ultrasonic; otherwise:
8
<
5.1.2 Internal structure The obstacle detection and avoidance module has 16 possible inputs, corresponding to the 16 possible sen-sorial directions presented in Fig 2 As can be inferred,
a system of cardinal points has been assigned to the sensorial directions available, dividing the inputs into four quadrants (North, East, South and West) Con-sidering that the robot always faces North, it could be said that it is not a real cardinal system, but a pseudo-system, because our cardinal points are not static Although all the sensors are evenly distributed, the four quadrants do not have the same level of imporance
In fact, as the robot always faces North, this will be the quadrant with a higher probability of collision, and consequently the most important as far as the obstacle detection and avoidance module is concerned Because
Fig 4 The modular
architecture
Trang 7of its relevance, therefore, the North quadrant will have
a specialised module that will monitor and manage the
available sensors within its action range
The North module uses all available sensors, i.e., the
five sensors shaded in Fig 2 (NW, NNW, N, NNE and
NE) The training set for the North module was derived
from actual trajectories driven by the supervisor in
simulated environments It consists of 120 sets of
sen-sorial information and the desired direction associated
with it, codified according to Table 1 The test set was
derived in the same way and has 38 samples The
codi-fication was carried out using two outputs for the North
module There are three available output directions,
since it is also possible not to consider the North
quadrant as an option The output codification was
constructed using Gray code1, reducing the error when
there is a failure in one output
The other three modules (East, South and West) are
smaller and identical, making it possible to construct
just one module and replicate the other two, taking
advantage of the learning economy that underlies the
modular structure
Each one of these three modules watches one of the
other quadrants and has three sensorial inputs that
correspond to three sensorial readings of the respective
quadrant, as illustrated in Fig 4 There is only one
output neuron, which indicates the confidence that there
is an obstacle in that quadrant The supervisor used the
robots simulator to define the training set by defining
trajectories in different scenarios The training set was
composed of 30 patterns
An integrating module was defined to integrate the
four modules (North, East, South and West), (see
Fig 4) The integrating module is a neural network with
5 inputs: two from the North module and one from each
of the other three modules It has three output neurons,
which codify the direction to be followed according to
Table 2 The training set for the integrating module was
generated by the supervisor and consisted of 32 training
examples that constitute all possible combinations of the
5 binary inputs Notice that, although the training set is
binary, when the module is online, the inputs will be
continuous since they will result from other NNs
This integrating module was first tested separately In
the test, a goal was not defined and the robots objective
was to wander indiscriminately, detecting and avoiding
unknown obstacles The results were very satisfactory,
because, as can be seen in Fig 5, the robot was able to wander without colliding with obstacles
5.2 The objective direction module The objective direction module computes the direction heading to the goal, considering the goal position, the robots actual position (xi,yi) and the robots orientation,
hi The desired orientation is computed according to
Eq 4:
ho¼ at anyo yi
xo xi
where (x0,y0) is the objectives position and h0represents the angle to the objective The rotation the robot must perform, h, is obtained by Eq 5
The direction is also codified according to Table 2
5.3 The navigation module
At this stage, the structures of the obstacle detection and avoidance module and the objective navigation module have been completely defined It remains to be deter-mined how the resulting outputs will be combined To solve this issue, a navigation module was built, as shown
in Fig 4 This module receives nine inputs: three outputs derived from each of the two previous modules and three extra sensor values These sensorial inputs are obtained
Table 1 Codification of the North output
Table 2 Obstacle detection and avoidance module codification
Fig 5 Tests with the obstacle detection and avoidance module
1 Binary code in which only one bit changes from one state to the
other.
206
Trang 8in the objective direction, as a way to introduce more
information regarding that specific and important
direction For instance if the direction heading to the
goal is West, S1 will be the sensorial value in WNW
direction, S2 the sensorial value in W direction and S3
the sensorial value in WSW direction (see Fig 2)
All these sensorial values are subjected to the
han-dling procedure described in Sect 9 and are further
scaled to [0,1], so that all inputs to the navigation
module are in this interval This module thus has nine
inputs and three outputs that codify the direction to
follow according to Table 2
5.4 The supervisory and angular memory modules
At this stage the systems architecture is defined Most
navigation situations presented to the architecture
de-fined in Fig 4 were successfully solved, as will be shown
in Sect 15 There are, however, a few situations where
the robot exhibited a cyclic behaviour in simulation
environments To circumvent these situations, two
changes were introduced to deal with the specific
situa-tions that were detected when the obstacles were much
larger than the robots dimensions or when they
pre-sented peculiar configurations Figure 6 presents three
examples of these situations, in which the robot is unable
to reach the desired objective, exhibiting cyclic
behav-iour Figure 7 shows a simulator image, where the robot
is unable to surmount the obstacle to reach the goal
(placed behind it)
Thus, two additional modules were defined to cope
with situations where the proposed architecture failed:
the supervisory module and the angular memory
mod-ule The addition of these modules further serves to
demonstrate the modular approach advantages
The supervisory module was developed to detect
obstacles whose dimension was much larger than the
robots dimension, because a somewhat erroneous
behaviour was detected when such obstacles were
pres-ent The modules algorithm is represented in Fig 8
Analysing the algorithm, we can conclude that when this
neural module detects that the robot is in the presence of
a large obstacle, an obstacle contour mode is activated
When this is not the case, the normal functioning mode
is used This normal mode was called navigation mode,
because it is essentially driven by the outputs of the navigation module (see Fig 4) The supervisory module training set was composed of 80 examples, and the test set had 25 examples These examples had two inputs: – one that reflects the degree of convergence between the output of the navigation module and the output of the obstacle detection and avoidance module;
– the other presents a probability of the robot having a cyclic behaviour
The output of the supervisory module was binary, indicating which functioning mode should be pursued: navigation or obstacle contour mode
Fig 6 Examples of non-circumventable obstacles
Fig 7 A simulation example of the robots cyclic behaviour
Fig 8 The supervisory modules algorithm
Trang 9The obstacle contour mode favours the outputs of the
obstacle detection and avoidance module to establish the
direction to follow, as a strategy to contour the large
obstacle that the robot is faced with
With the introduction of the obstacle contour mode
the systems architecture abandons its co-operative
nat-ure and becomes competitive (see Sect 5), in the sense
that there can be two functioning modes that compete to
navigate the robot
When the functioning mode changes from
naviga-tion to obstacle contour and vice versa, there is a
possibility of repeatedly making mistakes The angular
memory modules objective is to detect such situations
To do this, the module keeps track of the angular
directions followed when there is a change in the
functioning mode, to detect cycles in the trajectory
Using a circular memory, the transition points are
memorised and when a repetition is found an
alterna-tive direction is followed, as a way to break the cycle
This module is not an NN, because its main feature is a
memorisation one
6 Module construction
The topology and parameters of all the NN modules
defined so far were constructed and not determined ad
hoc This section explains how the NN modules were
constructed
A dynamic node creation [11] method, initially
pro-posed by Ash [20], was used with a variant of the BP
algorithm In this algorithm, sigmoid units are added,
one at a time, in the same hidden layer Every time a new
unit is added, the training procedure takes place
These algorithms are simple, since they are based on
the iterative learning algorithm application, maintaining
all the advantages of the constructive methods described
in Sect 6 The learning algorithm used was a variant of
the BP algorithm, with a momentum coefficient, c and a
variable learning coefficient, a The learning coefficient,
a, was updated according to the expression in Eq 6,
where k represents the iteration
a kð Þ ¼
a kð 1Þ=2 k2 3; 7; 10; 31f g 103;
a kð 1Þ otherwise:
8
<
For the momentum term, c, the test was carried out
with values in [0,1], with a 0.05 step
As already mentioned, NN constructive algorithms start with an initial configuration and add neurons until some criterion is satisfied Each neural module presented
in the architecture had its initial configuration deter-mined by the number of inputs, the number of outputs and the number of initial hidden units
Table 3 summarises the results obtained, giving the number of training patterns, the final configuration achieved and the mean square error (MSE) obtained, for each NN module
7 Results
This section presents the results for several simulated and real environments In each figure, the robot is rep-resented by a darker circle at the end of the defined trajectory as in [21] The other end is its initial position Figures 9 and 10 show simulated environments, similar to real ones with several small obstacles that interfere with the robots navigation In these examples the objective is reached by the base modular architec-ture As can be observed, the objective is reached while avoiding all the small obstacles in these cluttered envi-ronments
Figures 11, 12, 13 and 14 are further examples of simulated navigation that show how the defined archi-tecture deals with some situations through the supervi-sory module, since the robot was faced with large obstacles In these three examples the supervisory module determines that there is a large obstacle, and the obstacle contour mode is switched on Once the obstacle
is overcome, the supervisory module switches back to navigation mode and the objective can be easily reached Figures 15 and 16 show complex environments that are solved by the changes made to the base architecture (Sect 13) It can be seen that the robot does not reach the objective in a straightforward manner In these two examples, the peculiarity of the obstacles misleads the robot in its first attempt, but the angular memory module keeps track of the decisions made and prevents repetition of the mistake when the robot reaches the
Fig 9 The trajectory defined with the base architecture
Table 3 Results obtained with the dynamic node creation method
208
Trang 10decision point the second time (in both cases it is the
point where it turns inside the obstacle)
Figures 17, 18 and 19 show simulator images of real
trajectories, taken by the NOMAD 200 mobile robot
All three snapshots demonstrate that the robot is agile,
even in narrow confines Figure 20 presents a real
tra-jectory being performed in a cluttered environment by
the NOMAD 200 mobile robot
All the situations presented to the robot, in simula-tion and real environments were successfully dealt with, i.e., the final goal was reached When the supervisory or angular modules had to step in, there was, as mentioned,
a cyclic behaviour that was broken
Fig 11 The trajectory defined by the architecture with the
supervisory module (from right to left)
Fig 10 The trajectory defined with the base architecture
Fig 12 Leaving an alley (the supervisory module)
Fig 13 Entering an alley (the supervisory module)
Fig 14 The trajectory defined by the architecture with the supervisory module
Fig 15 The path defined with the supervisory module and the angular memory module