Fuzzy Logic, Neural Networks, Evolutionary Algorithms ...nhreyes/MASSEY/159741/Lectures/Hybrid Fuzzy...

31
Synthesising Mr. Antony Gerdelan Dr. Napoleon Reyes, Ph.D. Computer Science, Massey University, Auckland, New Zealand Using a Fuzzy Logic, Neural Networks, Evolutionary Algorithms

Transcript of Fuzzy Logic, Neural Networks, Evolutionary Algorithms ...nhreyes/MASSEY/159741/Lectures/Hybrid Fuzzy...

Synthesising

Mr. Antony Gerdelan

Dr. Napoleon Reyes, Ph.D.

Computer Science, Massey University, Auckland, New Zealand

Using a

Fuzzy Logic, Neural Networks, Evolutionary Algorithms

*

Motivation: Autonomous Navigation Challenges

Central Idea: Integrating Complementary Path-

Finding Systems

Defining Robot Behaviours:

Target Pursuit, Obstacle Avoidance & Opponent

Evasion

Integrating the two complementary systems:

A Novel Hybrid Fuzzy A* Navigation System

Results & Analysis: Robot Soccer Simulations

Conclusions & Future Works

Simulations

3-D Hybrid Fuzzy A* Navigation System

Cascade of Fuzzy Systems

Robot Soccer Set-up

Colour objects

Fluorescent lampsOverhead

Camera

Exploratory environment is indoor – room totally obstructed from sunlight

Multiple monochromatic light sources – fluorescent / fluoride lamps

Colour Object Recognition (Recognition speed: < 33ms)*

*

We introduce a new algorithm that is

designed to handle the robot

navigation part of the robot soccer

system and incorporates several

behaviours

*

• allot time for vision, team strategy, path-planning

Time Constraints

Finding an Optimal Path in Real-time

• calculate shortest path dynamically

Local minima Problem

• prevent robot from being trapped

Inaccuracy of Sensors

• position, robot orientation, distance from target,

etc. could be inaccurate

• reactionary algorithm + optimal path planning

• allow for course correction dynamically

• simplify the path-planning algorithm to calculate

only a rough estimation of the route and let the

reactionary algorithm iron-out the complete path

Path-Finding With the A* Algorithm

*

S

Path-Finding With the A* Algorithm

*

Path-Finding in a Static Environment

• Generally not used in a dynamic environment for

these reasons

• Used in computer games for decades

•‘Tile-based’ environments (fixed nodes)

• Pre-calculation of paths (does not account for

dynamic obstacles)

Path-Finding With the A* Algorithm

*

Calculating h* values for a

computerised map:

•Start Node at (1,S1)

•Goal is (13,S13)

•Optimal Path (not

considering obstacles) is

from highest point to

lowest point

Heuristic Map (h*)

Path-Finding With the Modified A* Algorithm

*

Evasion Incorporated in

path planning layer:

•Must specify perceived

level of threat to areas of

environment

•A second computerised

map is created. Each

where each cell is

awarded an undesirability

value.

•Function specific to

problem must be created

to award u values. In our

case a teardrop effect

around hostile robots.

Undesirability Map (u*)

Path-Finding With the Modified A* Algorithm

*

Undesirability Map (u*)

Undesirability across

environment can also be

represented as a 3D map.

•Z-axis represent

undesirability value of

each cell.

•Higher peaks = more

undesirable areas.

•Similar to potential fields

approach, but also pre-

empts movements and

direction of travel of hostile

agents.

An Evasive Path-Finding Algorithm

*

The Modified A*. The Figure depicts the sum of (h* + u*)

Combining A* With

Undesirability Maps We

Inculcate an Evasive

Property into our path-

planning behaviour.

A new f* score:

f* = h* + u* + g*

•Balances undesirability u*

with heuristic h*

•Can be represented in 3D for

a hills-and-valleys effect

(pictured).

•Ranges of u* must be very

carefully balanced with h*

values

•g* components ensures

overall steepest downhill

(shortest) path

Complementary Path Finding Systems

*

• Reactive

• Very refined robot movement thanks to C.O.G.

calculation

• Limited long-term path-planning ability

Fuzzy Logic:

A* algorithm:

f* = h* + g*

• Very fast calculation thanks to heuristic h*

• Optimal long-term planning (finds best path if one

exists)

• Paths are very rigid – movement produced is not

natural or refined

Sensors

Environment Information

Nearest

Obstacle and

Final Target

Locations

Environment

Processor

The A* Algorithm

Path Planning Layer

Fuzzy Logic

Reactionary Layer

Map

Actuator Control

Module

Speed and Rotation

Motor Instructions

Next Waypoint

Actuators

Path-Finding With the A* Algorithm

*

Specially Modified A* for a Dynamic Environment

Demands of the Problem

• Environment not tile-basedA map (grid) must be created

• Obstacles move dynamically and so the path

can not be pre-calculatedPath must be continually recalculated to take into account moving

obstacles

Our Approach

• Entire path generated, but only the next path

point is passed down to the Fuzzy Logic layerNow, if a moving obstacle disrupts the planned path, it is re-

calculated on the fly

Path-Finding With the A* Algorithm

*

Specially Modified A* for a Dynamic Environment

Because we now only consider the next path

point:

The effective path can ‘cut corners’ in practice

For this reason, Dynamic A* Path Finding is

not effective alone as a navigation system.

Fuzzy Logic is required to smooth out the

effective path

*

S

Complementary Path Finding Systems

The Hybrid Fuzzy A* Navigation Algorithm

*

S

Disagreements between Layers

Real case scenarios

The A* Algorithm may

direct the robot to

take a straight path

between two close

obstacles, but the

Cascade of Fuzzy

Systems would

engage in obstacle

avoidance.

Complementary Path Finding Systems

*

Resolving disagreements between systems

The Fuzzy Logic layer must be able to navigate the

robot between any two path points generated by the A*

Planning Layer

Tweaking of Fuzzy Set Membership values to solve

some tricky navigation

*

S

Strength of the Hybrid Fuzzy A* Algorithm

Real case scenarios

The A* Algorithm

may direct the robot

to take a straight

path crossing the

obstacle, but the

Cascade of Fuzzy

Systems allow for

course corrections.

Obstacles may not be

perfectly sitting on just

one block (or cell). It

may be overlapping

several blocks at any

one time.

Cascade of Fuzzy Systems

Adjusted Speed

Adjusted Angle

Next Waypoint

N

Y

Adjusted Speed

Adjusted Angle

Fuzzy System 1: Target Pursuit

Fuzzy System 2: Speed Control for Target Pursuit

Fuzzy System 3: Obstacle Avoidance

Fuzzy System 4: Speed Control for Obstacle

Avoidance

ObstacleDistance <

MaxDistanceTolerance

and closer than Target

Actuators

Path planning Layer:

The A* Algorithm

Multiple Fuzzy Systems employ the various robot behaviours

Fuzzy System 1

Fuzzy System 2

Fuzzy System 3

Fuzzy System 4

Path Planning Layer

Central

Control

Target

Pursuit

Obstacle

Avoidance

Fuzzy Sets

Angles

Sub ranges for Small, Medium and Large Angles overlap

SMALL

MEDIUM

LARGE

*

Small Medium Large

Deg

ree

of

me

mb

ers

hip

Angle in degrees

Membership Functions

Taking advantage of Angle Symmetry

Fuzzy Sets for Angles

The approach developed takes advantage of the

Angle symmetry, and is equivalent to having 6 Fuzzy

Sets for the Angles.

*

SMALL

MEDIUM

LARGE

SMALL

MEDIUM

LARGE

Left Right

A simplified

approach that

reduces the

computational cost

without sacrificing

accuracy.

Fuzzy Sets

Distances

Sub ranges for Near, Far and Very Far Fuzzy Sets for Distances overlap*

De

gre

e o

f m

em

be

rsh

ip

Distances in cm.

Membership Functions

Near Far Very Far

NEAR

FAR

VERY FAR

Fuzzy Systems for Target Pursuit

NEAR FAR VERY FAR

SMALL Mild Turn Mild Turn Zero Turn

MEDIUM Med Turn Mild Turn Mild Turn

LARGE Sharp Turn Med Turn Med Turn

Next Waypoint

The A* Algorithm

NEAR FAR VERY FAR

SMALL Med Speed Fast Speed Very Fast

MEDIUM Slow Speed Med Speed Fast Speed

LARGE Very Slow Slow Speed Slow Speed

e.g. If the Distance from the Target is NEAR and

the Angle from the Target is SMALL

Then the robot should make a Mild Turn.

Fuzzy System 1 (Steering)

Fuzzy System 2 (Speed Adjustment)

e.g. If the Distance from the Target is NEAR and

the Angle from the Target is SMALL

Then the robot should move at a Medium Speed.

Angle

Speed

Fuzzy Systems for Obstacle Avoidance

NEAR FAR VERY FAR

SMALL Very Sharp Sharp Turn Med Turn

MEDIUM Sharp Turn Med Turn Mild Turn

LARGE Med Turn Mild Turn Zero Turn

Nearest Obstacle (Distance and Angle)

NEAR FAR VERY FAR

SMALL Very Slow Slow Speed Fast Fast

MEDIUM Slow Speed Fast Speed Very Fast

LARGE Fast Speed Very Fast Top Speed

e.g. If the Distance from the Obstacle is NEAR and

the Angle from the Obstacle is SMALL

Then turn Very Sharp.

Fuzzy System 3 (Steering)

Fuzzy System 4 (Speed Adjustment)

e.g. If the Distance from the Obstacle is NEAR and

the Angle from the Obstacle is SMALL

Then move Very Slowly.

Vision System

Angle

Speed

ADVANTAGES

*

In the robot soccer game, there are 11 robots to

control at the most.

SPEED

We are able to demonstrate that our algorithm can

control more than 30 robots at twice the required

speed of calculation.

*

The system is able to take advantage of A*’s

optimized path finding, as well as Fuzzy

Logic’s reactionary feature, allowing for a

significant improvement in speed and

adaptability to a harsh dynamic environment.

We have successfully developed a Hybrid

Fuzzy A* navigation system that inculcates

three adaptive robot behaviours:

• Target Pursuit

• Obstacle Avoidance

• Opponent Evasion

The algorithm developed is able to combine

the strengths of the two intelligent techniques,

as well as eliminate their weaknesses in one

Hybrid Fuzzy A* architecture

New Predictive quality behaviour has been

inculcated into the system with the addition of

a new parameter in the A* formula.

*

By tweaking the range of values assigned to

the undesirability feature we can vary the

degree of aggressiveness of the robots.

Ball Carrier – most evasive (high u* values)

Other Attackers – less evasive (low u* values)

Defender –not evasive (zero u* values)

*