search and escape in “the snorks world” guillaume poncin gregory kron monday, june 9 th 2003
Post on 19-Dec-2015
217 views
TRANSCRIPT
Search and Escape in “The Snorks World”
Guillaume PoncinGregory Kron
Monday, June 9th 2003
Overview Storyline Implementation
The World The Snorks The Sglurlbsch
Demonstration Testing
Once upon a time… The Snorks moved out of the sea, into a rectangular world
with polygonal obstacles (it seemed more sunny) They do not know the place very well so they really want to
stay with one another
However they are faced with a new kind of predator, the Sglurlbsch, which they badly fear.
Sglurlbsch’s life is much more interesting since these Snorks came: he wants to track them down and bring all of them at once in his cave to store food for the winter.
But Sglurlbsch is really dumb. We have to help him out or it will have to eat vegetables all winter long…
Implementation – The World
3D world where agents move in 2D Rectangle with polygonal obstacles Loaded from text file with coordinates of
vertexes Using OpenGL for display
Implementation – The Snorks
Their move is determined by 5 forces: Attraction: they want to be together (1/r2) Repulsion: they do not want to be too close (1/r7) Fear: they are afraid of the Sglurlbsch (1/r2) Obstacle: they do not go towards obstacles (1/r7) Randomness: part of their move is random
Optimization: use a precalculated grid of the closest edges for each cell in the world to speed up the computation of obstacle distances.
Implementation – The Snorks Parameters of forces
Weight factor Characteristic radius Maximum radius of influence Randomness angle
Other parameters Number of Snorks Starting position Speed
Implementation – The Sglurlbsch
The Path-Planner: PRM Randomly places milestones in free
space Search for the best path using A* with
the Euclidean distance to the goal as heuristic
Smoothing of the path
Implementation – The Sglurlbsch
We decided to decouple the search
Group the Snorks together Pick the closest Snork (or group) and go towards it Then make it join the second closest Snork (or group)
Make the flock reach the cave
A time is allocated with each mission before a new plan is issued (~0.5 sec)
Implementation – The Sglurlbsch
Pay attention to: Go around the Snorks when needed
Not go too fast on the PRM to keep the Snorks in a group
Sglurlbsch
snorks
Goal
Implementation – The Sglurlbsch
Parameters for the search: Is the closest snork far ? Has the group joined the other one ? Is the group flocking ? Time before a new mission is issued Distance of a milestone for bypassing
Visibility-limited Sglurlbsch The Sglurlbsch only knows milestones
that it has already seen
When it does not know how to reach its goal, it explores by going to a random distant milestone.
It knows where the Snorks are thanks to their smell.
Multiple Sglurlbsch Each of them has an autonomous plan
They cooperate during the flocking phase, without explicitly coded behavior
Results & Experiments Real time simulation with high resolution display
Good time performance on relatively complex worlds
Manages to move a large number of actors to the goal even if slightly inhomogeneous in speed
The speed of the Sglurlbsch can be smaller or greater
No collision with obstacles even though no explicit test for the Sglurlbsch
Limitations No local planning to anticipate the movements
of the Snorks
No explicit cooperation when more than one follower
Precompute the PRM, may result in slow initialization for complex worlds
Only one color of Snorks…
Snapshot…
Snapshot…