collectively solving the kidnapped robot problem · 2011-10-03 · collectively solving the...
Post on 10-Mar-2020
8 Views
Preview:
TRANSCRIPT
Collectively solving the kidnapped robot
problem
Daniel Kostro and Matthew Parkan, EPFL, 2010
??
Who is involved?
the robots the death arena
8 distance sensors
(infrared)
camera
compass
emitter/receiver
map of the arena
odometry
painted in blue
red walls
green cylinders
homogenous (more or less)
lighting
Why am I following him…
What is the problem?
The robots must localize themselves efficiently from any
starting position in the arena
How do we solve it?
Using particle filter localization
θtθ
ty
tx
?
?
)(
)(
)(Remember, the robot has an
accurate and precise compass
odometric information
Our particle filter localization method…
particle filter
obstacle avoidance &
identification
position estimate
Obstacle avoidance & identification
1.The robot moves forward at a random angle
towards the obstacle (wall, cylinder, other
robot)
2.The robot senses the proximity of an
obstacle using IR sensors. It turns to
face it then moves slightly backwards
3.The robot identifies the obstacle using
camera (color threshold) and compass
(bearing intervals)
4.The robot enters obstacle avoidance
state (rule based algorithm) and moves
away
>NORTH WALL PROXIMITY
>CYLINDER PROXIMITY
odometric information
Our particle filter localization method…
particle filter
obstacle avoidance &
identification
position estimate
Odometry (dead reckoning)
wrv
tvd
),()( 2Ntt
robot speed translation error εt at time step t
rotation error εθ at time step t
μ = 0 and ζ2(t) = δd (t)
),( 2N
μ = 0 and ζ2 = 0.01
travelled distance
odometric information
Our particle filter localization method…
particle filter
obstacle avoidance &
identification
position estimate
(0,1.5) (1,1.5)
(0,0) (1,0)
y
x
rcyl
N
Authorized zones
(xi,yi)
There are small buffer zones
near obstacles
δc,min
Xmin= 0 Xmax= 1
ymin= 0 ymax= 1.5
Authorized zones
δc,max
δw,min
δw,max
Authorized zones (with formulas)
22
pcpcpccp yyxxPPd
If rc + δc,min < dcp < rc + δc,max
→ particle is invalid → relocate particle to valid position
If xmax – δw,max < xp < xmax + δw,min || xmin + δw,min < xp < xmin + δw,max
|| ymax – δw,max < yp < ymax - δw,min || ymin + δw,min < yp < ymin + δw,max
→ particle is invalid → relocate particle to valid position
Cylinder intersection is tested
Wall intersection is tested
The particle filter in action
has the same velocity (with some
noise) as its associated robot, so
particle positions propagate like this:
Each particle i with position (xi,yi):
can only be located inside
authorized zones which are regularly
redefined by obstacle identification
)sin()()()( dttytty tii
)cos()()()( dttxttx tii
Bayesian filtering isn’t used (this
means all the particles have the same
weight)
is given a random initial position in
the arena
Initial forbidden zones and particle
distribution
Once an obstacle is identified, the
forbidden zone is redefined and the
particles are repositioned in the new
authorized zone
Each relocated particle is given
coordinates of a randomly chosen valid
particle
In addition, if all particles are
invalid they are reinitialized (given
new random valid positions distributed
in the whole arena)
Forbidden zones and particle distribution after East wall
identification
Robot particle information exchange
1.Two robots meet, locally broadcast the
positions of their respective particles and
compare them
2. Particles which are too far apart are
recentered (centroids of clouds get closer)
Through iterative obstacle identification and particle repositioning, the
robots get a pretty good estimate of their true position
How is the performance evaluated?
valid
N
i
i
pN
x
x 1
valid
N
i
i
pN
y
y 1
the position accuracy
the time taken to attain a position accuracy of 0.05 (~1.4 robot radius)
r
r
r
p
p
p
y
x
y
x
accuracy
We measure:
the number of times all the particles were reinitialized
the position precision (standard deviation) isn’t used in the evaluation
Difference between particle cloud centroid and real robot position
The Movie
Results
1 2 4 6 8 100
10
20
30
40
50
60
70
Robot performance
Number of robots
tim
e (
s)
1 2 4 6 8 100
0.002
0.004
0.006
0.008
0.01
0.012
0.014
0.016
0.018
Robot reinitializations
Number of robots
Nu
mb
er
of re
initia
liza
tio
ns p
er
se
c
1 2 4 6 8 100
0.02
0.04
0.06
0.08
0.1
0.12
Robot encounters
Number of robots
Nu
mb
er
of ro
bo
t e
nco
un
ters
pe
r se
c
Number of runs:
100 with 1 robot
50 with 2 robots
25 with 4 robots
20 with 6, 8, 10 robots
Results are highly variable (no significant difference)
However, a lower number of robots seems to work better
Conclusion & remarks
•Our particle filter approach generally allows to get a good estimate
of positions (though the time taken is highly variable).
•There doesn’t seem to be an optimal number of robots adapted to the
size of the given arena.
Issues:
•Alot of problems with obstacle identification (e.g. robots facing
green cylinders would see through, on some occasions)
•We had to reverse to Webots 6.1.5 to visualize particles, and used
6.2.4 to evaluate performances
Further study:
•Compare performance with/without communication
•Effects of robot speed
>Thank you
top related