Steering Behaviors
-
Upload
jessica-mcgowan -
Category
Documents
-
view
64 -
download
3
description
Transcript of Steering Behaviors
Steering Behaviors
● What are Steering Behaviors means of locomotion for autonomous agents
and robots. largely independent can be combined improvisational and reactive
Steering Behaviors
● What Steering Behaviors are NOT action plan searching puzzle-solving anything needed global information
Steering Behaviors
primarily based on: Steering Behaviors For Autonomous Characters
by: Craig Reynolds
Presented by: Kevin M. Kelly
Steering Behaviors
Flocking
● Designed for Computer Animation (Reynolds '87)
Flocking
● Steering behaviors grew from “Flocking”● Craig Reynolds “Boids”
Three separate steering behaviors combined● Separation● Cohesion● Alignment
Combined by simple vector addition● Flocking Demo:
http://www.red3d.com/cwr/boids/
Current Uses
● Now used for many purposes Computer animation in movies Video games Simulations Robotics
Steering Behaviors
● Architecture from theInternational GameDevelopers Association
Parts of the Steering Architecture
● Steering World Interface provides information about the world
● Steering Behaviors the behaviors themselves – each output
independent steering goals● Arbitrator
combine the steering goals (this is very difficult)● Actuator
Actual movement code – specific to the application
Arbitrator
● The arbitrator is the most difficult part of using steering behaviors
● Flocking used the simplest form of arbitrator simple combination
● Other types of arbitration Prioritized (much like Brooks's actuated control) Heuristic
● application dependent Reverse
● select best one of each Round Robin
● each gets a turn
Vehicle Model
● Simple Vehicle Model (could be 2D or 3D) a “Mass Point” Has the following attributes
● mass● position● velocity● max_force● max_speed● orientation
updated at each time step
Vehicle Model
● Steering behaviors give a force or acceleration vector
● Could extrapolate to more complex vehicles
Examples (single behavior)
● Seek● Flee● Evasion● Pursuit● Wander● Arrival● Obstacle Avoidance● Containment● Wall Following● Path Following
Seek and Flee
● http://www.red3d.com/cwr/steer/SeekFlee.html
Pursue and Evade
● http://www.red3d.com/cwr/steer/PursueEvade.html
Wander
● http://www.red3d.com/cwr/steer/Wander.html
Arrival
● http://www.red3d.com/cwr/steer/Arrival.html
Obstacle Avoidance
● http://www.red3d.com/cwr/steer/Obstacle.html
Containment and Wall Following
● http://www.red3d.com/cwr/steer/Containment.html
● http://www.red3d.com/cwr/steer/Wall.html
Path Following
● http://www.red3d.com/cwr/steer/PathFollow.html
Examples (combined behaviors)
● Crowd Path Following● Leader Following● Unaligned collision avoidance● Queuing● Flocking
Crowd Path Following
● Weighted Combination of Path Following Separation
● http://www.red3d.com/cwr/steer/CrowdPath.html
Path Following
Separation
Leader Following
● Combination of Separation Arrival (point slightly behind the leader)
● http://www.red3d.com/cwr/steer/LeaderFollow.html
Arrival
Separation
Unaligned Collision Avoidance
● Combination of Containment Unaligned Collision Avoidance
● http://www.red3d.com/cwr/steer/Unaligned.html
Containment
Unaligned Collision Avoidance
Queuing
● Combination of Seek Containment Separation
● http://www.red3d.com/cwr/steer/Doorway.html
Containment
SeparationSeek
Flocking
● Combination of Alignment Cohesion Separation
● http://www.red3d.com/cwr/boids/
Cohesion
SeparationAlignment
Conclusions
● Simple behaviors can create realistic looking effects
● Looks more natural than fully planned● Easy combination created for Flocking does not
work with everything