More than Just Lines on a Map: Best Practices for U.S Bike Routes
Seal bot - Demolition Derby 2012 Winner
1. SEALbot
Demolition Derby 2012
Anderson Rocha Tavares
Gabriel de Oliveira Ramos
Renato de Pontes Pereira
S´rgio Montazzolli Silva
e
Ana L. C. Bazzan
{artavares,goramos,rppereira,smsilva,bazzan}@inf.ufrgs.br
Programa de P´s Gradua¸˜o em Computa¸˜o
o ca ca
Instituto de Inform´tica
a
Universidade Federal do Rio Grande do Sul
Porto Alegre, Brasil
July 2nd, 2012
2. SEALbot
Introduction
Its strategy is based on four behaviors:
S - Stuck
E - Evade
A - Attack
L - Look for opponents
In order to select a behavior, a scoring mechanism is used to rank
each behavior based on the car sensors, identifying the most relevant
for the current environment state
Demolition Derby 2012 2/11
3. SEALbot
Stuck behavior
Stuck
When stuck in the wall or by opponents
What to do?
If stuck in the wall: reverse gear, full throttle, steer to track axis
If SEALbot is face to face with an opponent: reverse gear, full throttle
If an opponent is hitting the SEALbot’s side: start evade behavior.
It must go away from the wall as soon as possible to avoid being hit
Demolition Derby 2012 3/11
4. SEALbot
Evade behavior
Evade
When an opponent’s potential attack is detected
What to do? Run away, fast! (keeping on the track’s axis)
Keeps itself at maximum speed on track’s axis, making it harder to
being hit
Demolition Derby 2012 4/11
5. SEALbot
Attack behavior
Attack
When an opponent is detected (and if it can be reached)
What to do? Attack!
It takes into account the distance and orientation of each opponent to
choose the one that is most likely to get damaged.
Two kinds:
Frontal attack: when the opponent is ahead
Do line of sight chase
Steer in proportion of the angle to opponent
Full throttle when aligned with opponent
Drops acceleration when angle to opponent is high (do sharp turns)
Side attack: when the car is running side by side with an opponent
Steers in direction of angle to opponent
Demolition Derby 2012 5/11
6. SEALbot
Look for opponents behavior
Look for opponents
When no opponent is visible
What to do? Go for a ride (moderate acceleration, driving on track
axis)
It is usually selected when the others behaviors are not available
Demolition Derby 2012 6/11
7. SEALbot
Score
Behaviors are scored from -1 to 1:
S - if stuck is 1 otherwise is -1
E - fuzzy
A - fuzzy
L - always 0
The higher one is selected as current behavior
Demolition Derby 2012 7/11
8. SEALbot
Fuzzy
Scores only Evade and Attack behaviors
Each opponent is scored and the higher one is selected (both for
Evade and Attack)
Considers the following opponents’ properties:
Angle (between SEALbot’s front and opponent)
Distance (from the opponent)
Direction (of the opponent)
Properties are normalized
Score the opponents from -1 to 1
Demolition Derby 2012 8/11
9. SEALbot
Fuzzy rules
Frontal attack: the score increases when opponent:
approaches the SEALbot’s front (or they are side by side)
and gets closer
and its direction is inverse or the same of SEALbot
Side attack: the score increases when opponent:
is side by side with SEALbot
and gets closer
and its direction is the same of SEALbot
Evade: the score increases when opponent:
approaches the SEALbot’s rear
and gets closer
and its direction is the same of SEALbot
Demolition Derby 2012 9/11
10. SEALbot
Additional information
Gear ratio has been optimized to achieve higher speed (up to 220
Km/h)
Current gear 1 2 3 4 5 6
Up on (rpm) 8500 9000 9500 9500 9500 -
Down on (rpm) - 3300 6200 7000 7300 7700
Demolition Derby 2012 10/11
11. SEALbot
Demolition Derby 2012
Anderson Rocha Tavares
Gabriel de Oliveira Ramos
Renato de Pontes Pereira
S´rgio Montazzolli Silva
e
Ana L. C. Bazzan
{artavares,goramos,rppereira,smsilva,bazzan}@inf.ufrgs.br
Programa de P´s Gradua¸˜o em Computa¸˜o
o ca ca
Instituto de Inform´tica
a
Universidade Federal do Rio Grande do Sul
Porto Alegre, Brasil
July 2nd, 2012