1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

navigating mobile robots with a modular neural architecture Neural Comput & Applic (2003) pdf

12 193 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Navigating Mobile Robots With A Modular Neural Architecture
Tác giả Catarina Silva, Bernardete Ribeiro
Trường học Universidade de Coimbra
Chuyên ngành Computer Science
Thể loại Bài báo
Năm xuất bản 2003
Thành phố Coimbra
Định dạng
Số trang 12
Dung lượng 608,27 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

O 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 2

NN 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 3

detect 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 4

Some 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 5

1 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 6

All 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 7

of 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 8

in 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 9

The 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 10

decision 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

Ngày đăng: 27/06/2014, 18:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN