1 / 22

Motion Planning for Retrieval Agents

Motion Planning for Retrieval Agents. Relevant Papers Better Group Behaviors using Rule-Based Roadmaps O. Burchan Bayazit, Jyh-Ming Lien, and Nancy M. Amato Steering Behaviors for Autonomous Characters Craig W. Reynolds. Motion Planning for Agents.

upton
Download Presentation

Motion Planning for Retrieval Agents

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Motion Planning for Retrieval Agents • Relevant Papers • Better Group Behaviors using Rule-Based Roadmaps • O. Burchan Bayazit, Jyh-Ming Lien, and Nancy M. Amato • Steering Behaviors for Autonomous Characters • Craig W. Reynolds

  2. Motion Planning for Agents • Objective: Given a known workspace and a pre-computed roadmap that ‘covers’ the space • Visit every node and edge at least once • Retrieve all scattered particles

  3. Assumptions • Agents have no prior knowledge of particle locations • Agents have omni-directional line of sight vision capabilities (not constrained by distance or angle) • There is no direct communication between agents but they communicate indirectly by encoding information in the roadmap • Global information • Node Positions • Geometry and location of obstacles

  4. Roadmap • Roadmap contains a set of nodes from which entire polygonal workspace is visible • Nodes represent feasible agent configurations • Edges represent feasible sub-paths • Roadmap is adaptive; edge weights are updated by agents

  5. Agent Strategies • Exploring • Objective is to traverse the roadmap until it finds a particle • Homing • Objective is to carry a discovered particle to a drop-off location

  6. Algorithms • Exploring Strategy • Each agent moves independently • All edges have equal weights to start with • At each node, an agent chooses an edge to follow based on the weights of the node’s attached edges. Similar to ant colony optimization, guarantees all nodes eventually get visited • The weight of the chosen edge is increased

  7. Algorithms • Exploring Strategy • AgentVar Node nextNode; • AgentVar Edge edge; • edge = node.probMinEdge(); • nextNode = edge.end; • agent.goal = nextNode.position; • edge.weight = edge.weight+1;

  8. Algorithms • Homing Strategy • Agent accesses global data to retrieve a path from its current position to the drop-off location

  9. Algorithms • Homing Strategy • AgentVar LinkedList path; • AgentVar Node nextNode; • AgentVar Node currentNode; • AgentVar Edge edge; • Path = global.getPath(thisPoint, dropOff) • while(!path.empty()) { • nextNode = path.getNextNode(); • edge = currentNode.getEdge(nextNode); • agent.goal = nextNode.position;

  10. Velocity-Aligned Local Coordinate Space Side Vector Forward Vector

  11. Agent: Physical Model • Based on a point mass approximation • Model Properties: • mass scalar • position vector • velocity vector • max_force scalar • max_speed scalar • orientation 2 basis vectors

  12. Agent Dynamics • Based on forward Euler integration method • At each time step behaviorally determined steering forces (limited by max_force) are applied to model

  13. Agent Dynamics • steering_force = truncate (steering_direction, max_force) • acceleration = steering_force / mass • velocity = truncate (velocity + acceleration, max_speed) • position = position + velocity • newForward = normalize(velocity) • newSide.x = newForward.y • newSide.y = newForward.x;

  14. Steering Behaviors • Seeking (targeting a goal) • Separation (from other agents) • Obstacle Avoidance

  15. Seeking Steering Behavior • desired_velocity = normalize (target - position) * max_speed • steering = desired_velocity - velocity

  16. Separation Steering Behavior • Agents considers agents in its neighborhood • Neighborhood is characterized by distance (defines when two agents are nearby) and angle (defines agent’s field of view) • Agents outside neighborhood are not considered

  17. Separation Steering Behavior • Compute repulsion force for each agent in neighborhood • repulsionForce = (-1/r)*normalize (neighborPosition – position) • Sum up repulsion forces from all neighbors • steeringForce += repulstionForce

  18. Separation Steering Behavior

  19. Obstacle Avoidance Steering • Implemented when an obstacle lies in the path of an agent (range specified by a ‘safe_distance’ parameter) • Goal is to maintain an imaginary rectangular free space in front of the agent • On encountering an obstacle, agent steers to the nearest visible node that lies in its general direction

  20. Obstacle Avoidance Steering

  21. Combining Behaviors • At each time step, select (in pre-determined sequence) one steering component to apply • Apply relevant weighting factors, max_force and max_speed, to each steering component

  22. Demo

More Related