Page 1

Behavio r-Based

Neuro -Fuzzy Co ntro ller fo r

Mo bile Ro bo t Navigatio n

Petru Rusu(1), Emil M. Petriu (1),

Thom E. Whalen (2), AurelCornell (3),

and Hans J .W. Spoelder(4)

(1)University of Ottawa, Canada

(2)Communications Research Centre Canada,

Ottawa, ON, Canada

(3)Brigham Young University, Provo, UT, USA

(4)Vrije Universiteit, Amsterdam, The Netherlands

University of Ottawa University of Ottawa

School of Information Technology and Engineering School of Information Technology and Engineering - -

Sensing and Modelling Research Laboratory Sensing and Modelling Research Laboratory

SMRLabSMRLab

IMTC 2002

IEEE Instrumentation and Measurement Technology Conf.

Anchorage, AK, USA, 21-23 May 2002

Page 2

Caster Caster

Left

wheelwheel

Right

wheelwheel

Front

side side

MovingMoving

directiondirection

Back

sideside

B1B1

W1C1F1O1

C2C2

F2F2

C3 C3

O2O2

F3 F3

C4C4

W2 W2

B2 B2

Contact sensors: Contact sensors:

C1-C4 C1-C4

Range sensors: Range sensors:

F1-F3 front sensors F1-F3 front sensors

O1-O2 oblique sensors O1-O2 oblique sensors

W1-W2 ‘wall’ sensorsW1-W2 ‘wall’ sensors

B1-B2 back sensorsB1-B2 back sensors

Left

Right

Front Back

W1C1F1O1

The sensors of the mobile robot

Page 3

Low-level

(primitive)

behaviorsbehaviors

Reaching 2D location (XY) Reaching 2D location (XY)

Open-Space Open-Space

Goto-XYGoto-XYFollow-Wall Follow-WallGo-TangentGo-Tangent

High-level

behaviorsbehaviors

Turn-CornerTurn-Corner Turn-Around Turn-Around

Goto-Target Goto-TargetFollow-Contour Follow-ContourDead-End Dead-End

Low-level

(primitive)

High-level

The hierarchy of the sensor-based robot behaviors

Page 4

Very-Close FIS

Very-Close FIS

Goto-XY FIS

Goto-XY FIS

Go-Tangent FIS

Go-Tangent FIS

Follow-Wall FIS

Follow-Wall FIS

Turn-Corner FIS

Turn-Corner FIS

Turn-Around Turn-Around

Select

high-level

behavior behavior

Primitive behavior processing Primitive behavior processing

High-level behavior processingHigh-level behavior processing

Select

appropriate

primitive

behaviors behaviors

Sensory

input input

Dead-reckoning

input input

Recommended

fuzzy turn anglefuzzy turn angle

Not Recommended

fuzzy turn anglefuzzy turn angle

Recommended

fuzzy turn angle fuzzy turn angle

Recommended

fuzzy turn angle fuzzy turn angle

Recommended

fuzzy turn angle fuzzy turn angle

Recommended

turn angle turn angle

Command

fusion

module module

Defuzzify module Defuzzify module

Crisp turn

angle command angle command

FIS = Fuzzy Inference System FIS = Fuzzy Inference System

Select

high-level

Select

appropriate

primitive

Sensory

Dead-reckoning

Recommended

Not Recommended

Recommended

Recommended

Recommended

Recommended

Command

fusion

Crisp turn

The architecture of the behavior-based controller

Page 5

O2 O2

Robot Robot

αα

ObstacleObstacle

Sensors used in Go-Tangent-Oblique-Sensor case.

F2

αα

F3F3

RobotRobot

Obstacle Obstacle

F2

Sensors used in Go-Tangent-Front-Sensor case.

NEURO-FUZZY IMPLEMENTATION OF

GO-TANGENT BEHAVIOR

Page 6

For Go-Tangent-Oblique-SensorANFIS, x is the distance to the

obstacle with the fuzzy set A = {short, medium, long}, y is the

speed towards the obstacle with the fuzzy set B = {slow, medium,

fast}. Output Fkis the turn angle for the k-th rule, and N = 9.

For Go-Tangent-Front-Sensor ANFIS both x and y are range values.

The fuzzy sets for x is A = {short, medium, long}, and for y is B = {short,

medium, long}. Ouput Fkis the turn angle for the k-th rule, and N = 9.

The fuzzy rule for a 2-input and 1-output first-order SugenoFLC:

IF x is AiAND y is BjTHEN Fk= pkx + qky + rk

for i = 1, ..,L; j = 1, …,M; k = 1, …,N; N = L x M

where x and y are the linguistic variables,Fkis the output for the k-th

rule, L is the size of the fuzzy set A, M is the size of the fuzzy set B,

and N is the size of the rule base.

=> We have experimented with several

types of membership functions for the

fuzzy sets A and B and with various

sizes for L and M. The triangular

membership functions and a size 3

for each of the two fuzzy sets,

L= M= 3, were found to be the

simplest and best suited for this case.

( )

=

+≤<−

−

−

22

,

2

1

,0

ij

ijj

ij

ij

ij

ijj

b

ax

b

a for

b

ax

otherwisej ijx

m

aij

aij

11

xj

xj

mij(x)

mij(x)

bij

bij

Page 7

Input MF Input MFRuleRule Output MFOutput MF SumSum Weighted sumWeighted sum Input InputOutputOutput

Range Range

SpeedSpeed

Turn

Angle Angle

//

ΣΣ

ΣΣ

A1 A1

A2A2

A3 A3

B1B1

B3 B3

B2B2

xx

yy

m (x)

m (x)

m (y)

m (y)

ΠΠ

ΠΠ

ΠΠ

ΠΠ

ΠΠ

ΠΠ

ΠΠ

F1F1

F2F2

F3F3

F4 F4

F5F5

F6F6

F7F7

F8F8

F9F9

Wi Wi

Wi Fi Wi Fi

Wi FiWi Fi

FF

Wi Wi

xy

xy

xy

xy

xy

xy

xy

xy

xy

ΠΠ

ΠΠ

Turn

xy

xy

xy

xy

xy

xy

xy

xy

xy

Neural Network identification of the Sugeno ANFIS

parameters {aij, bij} and {pk, qk, rk}

Page 8

The square elements represent the adaptive nodes depending on

the parameter set of the adaptive network. The circles represent

fixed nodes, which are independent of the parameter set.

The first layeris composed of adaptive nodes representing the

membership functions associated with each linguistic value.

The second layerimplements the fuzzy rules. It includes only

fixed nodes implementing a product P between the membership

degrees of the two inputs, µ (x) and µ (y), corresponding to the

two propositions in the antecedent of each fuzzy rule.

The third layerconsists of adaptive nodes, which include the

output membership function.

The other two layers consist of fixed nodes that implement the

weighted average for the output F representing the turn angle.

kk

N

k

Σ

kk

N

k

Σ

kk

N

k

Σ

rWqyW

(

pxW

(

F

•

=

••

=

••

=

++=

111

))

As the size of the rule base of the Sugeno FIS is N=9, we will have

to identify 27 consequent parameters {p1,…,p9, q1,…,q9, r1,…,r9}.

This will be done by a backpropagationNN using a training set

{x,y,F} of size P.

In the forward pass, the input membership functions are fixed and

the consequent parameters associated with the output are

calculated by applying the least square estimation. Using these

parameters, the NN estimates the turn angle. The difference between

this estimate and the turn angle’s value from the training set is then

backpropagated in a second pass when the premise parameters

associated with the input membership functions are calculated.

Page 9

The 29 points (range, speed, turn angle)data set used for training

Go-Tangent-Oblique-Sensor ANFIS. A checking data set was

obtained by applying a 10% random noise to the training data set.

The root mean squared errors of the output

over 25 training epochs .

Page 10

One result of the training is the generation of the set of premise

parameters {(aij, bij)i=1,2,3; j=1,2,3} of the membership functions.

The following figure shows the resulting membership functions

for the range input and respectively the speed input.

It may be interesting to note that, although the training started

with symmetric membership functions, their shape eventually

became asymmetric after training.

Page 11

The second result of the training is the generation of the set

of consequent parameters {(pk, qk, rk)k=1,2,,9} in the fuzzy

rules. With these parameters the Sugeno fuzzy rules are:

If (Range is Short and Speed is Slow)

then (TurnAngle = -3.253 x - 8.858 y + 1.561)

If (Range is Short and Speed is Medium)

then (TurnAngle = 4.215 x - 8.077 y + 1.133)

If (Range is Short and Speed is Fast)

then (TurnAngle = 0.006 x - 6.715 y + 2.008)

If (Range is Medium and Speed is Slow)

then (TurnAngle = 2.967 x - 9.659 y + 3.276)

If (Range is Medium and Speed is Medium)

then (TurnAngle = 2.241 x - 8.763 y + 0.933)

If (Range is Medium and Speed is Fast)

then (TurnAngle = -1.113 x - 7.021 y + 2.762)

If (Range is Long and Speed is Slow)

then (TurnAngle = 3.907 x + 4.525 y - 3.954)

If (Range is Long and S peed is Slow)

then (TurnAngle = 1.249 x + 3.560 y - 2.943)

If (Range is Long and Speed is Slow)

then (TurnAngle = -0.951 x +4.639 y - 3.477)

Page 12

The input-output characteristics of

Go-Tangent-Oblique-Sensor ANFIS.

Page 13

The input-output characteristics of

Go-Tangent-Front-Sensor ANFIS.

Page 14

We used the Rossum’s Playhouse simulation environment, [9].

We developed our own client application for the behavior-based

neuro-fuzzy controller. For a given set of endpoints, the simulation

environment monitors the time needed for each target search.

The speed of the robot was set at 0.4 m/s. The four test

environments varied in size from 10x10 m to 13x13 m.

Traveling between two opposite corners of any environment

following a path parallel with the walls, has required 60 seconds.

None of the target searches required more than 200 seconds.

The behavior-based robot controller has been tested in four

simulated maze-like indoor environments, for over 2,000 endpoints.