1 / 25

Introduction to RVO

0521610X. Computer Simulation. Introduction to RVO. Members: 张皖渝 方洋 邵鹏程 王致远. 2019/5/31. School of Computer Science and Information Engineering Hefei University of Technology. Introduction Related Work Velocity Obstacles Reciprocal Velocity Obstacles Multi-Agent Navigation

dawson
Download Presentation

Introduction to RVO

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. 0521610X Computer Simulation Introduction toRVO Members: 张皖渝 方洋 邵鹏程 王致远 2019/5/31 School of Computer Science and Information Engineering Hefei University of Technology

  2. Introduction Related Work Velocity Obstacles Reciprocal Velocity Obstacles Multi-Agent Navigation RVO2 Library Experimental Results

  3. Introduction • The RVO algorithm is for real-time multi-agent navigation. • Using planning cycle, in which every agent makes a decision • The only information each agent is required to have about the other agents: • current position • current velocity • exact shape (which can be acquired by sensors).

  4. Related Work • Low level: VO, RVO, ORCA , RRVO VO: Better to kill a fault than to let it go, As long as it's possible to collide in the future, it's ruled out ORCA: provides sufficient conditions for collision-free motion by letting each agent take half of the responsibility of avoiding pairwise collisions. Considering the size of the speed,just linear programming,More efficient

  5. Related Work RRVO(Reciprocally-Rotating Velocity Obstacles) It is a state-of-the-art local collision avoidance technique. RRVO allows agents to actively rotate in order to avoid collision with each other.  The Reciprocal Velocity Obstacles approach works well in general, but can lead to deadlock when sufficiently large agents with opposing goals meet.  Reciprocally-Rotating Velocity Obstacles overcomes the deadlocking problem by permitting agents to rotate

  6. Related Work common velocity obstacles (CVO) finite-time-interval velocity obstacles (FVO) generalized velocity obstacles (GVO) hybrid reciprocal velocity obstacles (HRVO) nonlinear velocity obstacles (NLVO) probabilistic velocity obstacles (PVO)

  7. Related Work • RVO now has many plugins that can be used directly ,for instance , The A* Pathfinding Project for Unity 3D

  8. Related Work • RVONavmesh RVOObstacle

  9. Related Work • MOBA GAME

  10. Velocity Obstacles How to avoid a static obstacle? Take A as a point The radius of big circle equals = The radius of A plus the radius of B

  11. Velocity Obstacles How to avoid a dynamic obstacle? Assume that B is static Take A as a point

  12. Velocity Obstacles Is there any problem? • Kind of waste (Not considering time) • Oscillation Problem(choose the most directed velocities among free velocities)

  13. Reciprocal Velocity Obstacles To overcome the oscillation, we introduce RVO. • Assume that obstacles also try to avoid collision • Accumulate the average velocity of two: • The current velocity • A velocity that lies outside the other agent’s velocity obstacle

  14. Reciprocal Velocity Obstacles • Definition The apex of RVO is also the apex of average velocity of

  15. Reciprocal Velocity Obstacles • Generalized Reciprocal Velocity Obstacles • An equal share? More or less? How can we measure it? • In the example shown before, we assume both share the equal efforts • The idea is that agent A chooses a new velocity that is the weighted average of of its current velocity and of a velocity outside the velocity obstacle of agent B.

  16. Reciprocal Velocity Obstacles • Generalized Reciprocal Velocity Obstacles Once the weight is changed,thepositionof RVO is translated accordingly. The apex of RVO is always on the velocity of

  17. Multi-Agent Navigation • We want to apply RVO to agents as many as possible • The triangle area of RVO is the key Combine all the triangle areas related to different agents!

  18. Multi-Agent Navigation Is that always works? • Kinematic and dynamic constraints • There is no velocity available • To choose a velocity inside RVO but have a penalty Do we have to consider all the agents? • Set a neighbor region

  19. RVO2 Library • ExampleBlocks.cpp • ExampleCircle.cpp showing a demo with 250 agents initially positioned evenly distributed on a circle attempting to move to the antipodal position on the circle.Then, every 0.25 timesteps, the two-digit coordinates are printed on the screen until each agent reaches their destination.

  20. Begin Specify the global time step of the simulation Specify the default parameters for agents Add 250 agents store their goals on the opposite side of the environment Set the preferred velocity Updates the two-dimensional position and two-dimensional velocity Check if all agents have reached their goals End VI.RVO2 Library • ExampleCircle.cpp • The flow chart is as follows:

  21. VI.RVO2 Library • ExampleCircle.cpp • Example file showing a demo with 100 agents split in four groups initially positioned in four corners of the environment. Each agent attempts to move to other side of the environment through a narrow passage generated by four obstacles. There is no roadmap to guide the agents around the obstacles.

  22. Begin Specify the global time step of the simulation Add agents, specifying their start position, and store their goals Add (polygonal) obstacles, specifying their vertices Set the preferred velocity for each agent Updates the two-dimensional position and two-dimensional velocity Check if all agents have reached their goals • End VI.RVO2 Library • ExampleBlocks.cpp • The flow chart is as follows:

  23. VI.RVO2 Library • ExampleRoadmap.cpp • Example file showing a demo with 100 agents split in four groups initially positioned in four corners of the environment. Each agent attempts to move to other side of the environment through a narrow passage generated by four obstacles. There is a roadmap to guide the agents around the obstacles.

  24. Begin Specify the global time step of the simulation and Specify the default parameters for agents add agents and store goals on the opposite side of the environment Add (polygonal) obstacles, specifying their vertices in counterclockwise order Set the preferred velocity for each agent Lets the simulator perform a simulation step and updates the two-dimensional position and two-dimensional velocity of each agent Check if all agents have reached their goals • End VI.RVO2 Library • ExampleRoadmap.cpp • The flow chart is as follows:

  25. Experiment Results

More Related