unique solution, due to there could be more than one
configuration ˆq. We found that the method is lacking
in:
• Insufficient information to detect asymmetries and
the limits of the environment.
• No consider no-Gaussian Error information of sen-
sors.
• No consider Gaussian Error information of envi-
ronment map and sensors
So we propose in 3.1, 3.2 and 3.3 some operations
to overcome those problems.
3.1 Increasing the number of points
in PE vectors
To increase the number of points in PE vectors, we
chosed a specific exploration; the core is that the robot
must complete N small turns, until 2π radians. At
each position
5
q
j
, the robot takes readings from the
sensors (L
j
vector
6
) and with them, it can build the
extended robot (PEX
j
) respect to a local coordenate
system for the initial configuration q
0
by performing
a frame rotation.
PEX
j
=
Ã
P
0
+ L
j
.
"
... ...
cosθ
0
i
senθ
0
i
... ...
#!
.R(φ
j
)
(12)
Since, the N vectors of representative points
(PEX
0
, PEX
1
...PEX
N−1
) are referred to the same
coordinate system (refereed to q
0
) we can associate
them in a single vector, the new Total Vector of Points
of the Extended Robot (
~
PE
0
) with length s.N , which
contains the coordinates of the end of points for all
extended robots generated.
~
PE
0
=
~pe
0,0
...
~pe
sj+i,0
...
~pe
s.N−1,0
=
pex
0,0
...
pex
i,j
...
pex
s−1,N−1
(13)
This exploration has the additional advantage that
the final configuration q
N
of the robot is approxi-
mately equal to the initial configuration q
0
, so that if
our calculations are based on the initial configuration,
we will find the present configuration of the robot at
the moment of the calculation.
5
Applying the kinematics of the robot, the sequences of
configurations q
0
, q
1
... q
N−1
is invariant in two first ele-
ments x
j
and y
j
and only the third element, φ
j
, changes,
being φ
j
= j ∗ 2π/N. In addition q
0
is the configuration
0,0,0 and it is represented in the center of the A matrix
6
the matrix of distances L where each element l
i,j
cor-
responds to the reading of the sonar i in the configuration
q
j
.
3.2 Filtering the signals caught by
the sonars (L matrix)
In a real case, using the total vector of points
~
PE
0
to build the map of the extended robot, we obtained
a figure where it is not possible to find any similar-
ity between the environment map and the extended
robot, so the first conclusion is the errors are positive
generally or the measures captured by the sonars are
greater than the measures calculated by the model of
the environment.
We made a comparison of the measures captured by
the sonars with the theoretical values, calculated from
the model of the environment; for the theoretical val-
ues, we can observe 4 zones of local minima, also it
is possible to see the similarity between the theoret-
ical values and the caught ones by the sensors in the
zones of minimums. These zones of local minimums
correspond at the moments in which the sound waves
fall perpendicularly to the surface of obstacle. Conse-
quently we can conclude the readings closer to local
minimums, will be more reliable and we will accept
those values, discarding the other readings.
The filter algorithm for the length l
i,j
, is performed
by the following equation:
~
l
i,j
=
½
l
i,j
l
i,j
< l
i,j−1
AND l
i,j
< l
i,j+1
0 l
i,j
> l
i,j−1
OR l
i,j
> l
i,j+1
(14)
Now we can recalculate the PEX
j
matrix using the
new
~
L
j
matrix in the equation 12.
3.3 Rebuilding of the environment
map (W) and the extended robot
(A) maps.
To consider the inaccuracies in the process of build-
ing the map, we should to calculate the convolution
between the map and a mask, this mask matrix (e)
has the form like a probabilistic distribution. We use
the cosene function to approximate this probabilistic
distribution. The value of the central element is one,
the others elements have a value less thas one, in the
bounds of the mask matrix there are zeros values(fig
6).
~
W = W ⊗ e (15)
After the convolution, we obtein a new map of the
environment (
~
W), where there are greather values are
in the same place of the bitmap original, the lower
values are in the surroundings of the obstacles.
Similarly, we could consider the inaccuracies in the
extended robot maps, using the mask matrix (e).
~
A
k
= A
k
⊗ e (16)
ICINCO 2004 - ROBOTICS AND AUTOMATION
368