290 likes | 552 Views
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
E N D
Steering Behaviors • What are Steering Behaviors • means of locomotion for autonomous agentsand 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
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 Seek Separation Containment
Flocking • Combination of • Alignment • Cohesion • Separation • http://www.red3d.com/cwr/boids/ Separation Alignment Cohesion
Conclusions • Simple behaviors can create realistic looking effects • Looks more natural than fully planned • Easy combination created for Flocking does not work with everything