THEN Y is left
IF X is big and T is straight
THEN Y is straight
(6)
IF X is small
and T is straight and
X
l
is big THEN Y is left
(7)
IF X is small
and T is straight and
X
r
is big THEN Y is right
(8)
IF X is small and T is straight and
X
r
is big and X
l
is big THEN Y is right
(9)
where X denotes the weight of the next node on the
initial path, X
l
- the weight of the next node’s left
neighbor with respect to the current movement
direction, X
r
- the weight of the next node’s right
neighbor with respect to the current movement
direction, T is the angle between the vector
indicating the current movement direction and the
vector current position-target, Y is the angle for the
next step computed by the fuzzy system.
The angles are measured with respect to the
positive sense of Ox in a trigonometric sense. The
angular differences for the motion are computed
respecting clockwise orientation.
After each step, a new unconstrained path (or
next step) is constructed.
The rules basically act in the following way:
if the next supposed position (before applying
the fuzzy system) is under a great influence
from repulsion forces (it has a small weight)
and the target is situated to the right or left of
the current movement direction, move that
way (first two rules);
if the next supposed position has a small weight
and the target is on the current movement
direction, move left or right (45
o
) depending
on which neighbor is less influenced by
repulsion fields; if the both have big weights
(i.e. the target is straight ahead, but on that
path there are a series of obstacles and there
are not other obstacles in the scene), then the
wanderer is instructed to move right (it was a
random decision, both ways having the same
result) (last three rules);
if the target is on the current movement
direction and the next supposed position is
almost under no influence from the repulsion
forces, then the wanderer is instructed to keep
the current direction (3
rd
rule).
In a fuzzy system like this one, each rule adds its
influence to the final result (Yen, 2000), specifically
it adds (or subtracts) a few (or many depending on
the degree of satisfaction of that rule for the current
input) degrees to the angle that indicates the next
step to be taken. The result may very possible be
different from an accessible direction (in a square
based map, only angles that are multiply of 45
o
indicate one step neighbors). The next position will
be chosen as the possible direction closest to the
computed value.
2.3 Fuzzy Sets and Their Membership
Functions
It can be observed from the fuzzy rule base that the
system uses five fuzzy sets that have the linguistic
labels left, right, straight, small and big.
The five fuzzy sets are divided in two categories:
left, right, straight (Figure 3) – define
angles,
]
,
x ;
big (Figure 4), small – define weights
]
∞
,x .
The membership functions from the first
category have a Gaussian bell form, thus probability
density functions have been chosen to represent
them (Buckley, 2005). For the second category
fuzzy membership functions, cumulative distribution
Figure 3: straight membership function.
Figure 4: big membership function.
A FUZZY PATH FINDING ALGORITHM BASED ON ARTIFICIAL POTENTIAL FIELDS
231