🚀 Collision Cones & Velocity Obstacles Interactive Demo

📐 Part 1: Understanding Collision Cones

What is a Collision Cone?

A collision cone represents all relative velocities that would cause two objects to collide within a given time. Think of it as a "danger zone" in velocity space.

Relative Velocity: v⃗rel = v⃗A - v⃗B
Collision when: |p⃗A(t) - p⃗B(t)| ≤ Rcombined

Position Space

Velocity Space (Collision Cone)

100
150
300
150
20
25

🎯 Real-World Example: Autonomous Vehicle

Imagine two self-driving cars approaching an intersection. The collision cone shows all relative speeds and directions that would result in a crash. The autonomous system must choose velocities outside this cone.

  • Red Cone: Dangerous relative velocities
  • Green Areas: Safe relative velocities
  • Cone Angle: Depends on object sizes and distance

🎯 Part 2: Velocity Obstacles (VO)

Beyond Static Collision Cones

Velocity Obstacles extend collision cones to handle moving obstacles. Instead of just relative velocity, we consider the actual velocities needed to avoid a moving obstacle.

VOAB = {v⃗A : ∃t > 0, p⃗A + tv⃗A ∈ p⃗B + tv⃗B ⊕ D}

Moving Objects Scenario

Velocity Obstacle Space

20
0
-15
10

🤖 Practical Example: Robot Navigation

A warehouse robot (blue) needs to avoid a moving cart (red):

  • Traditional approach: Stop and wait
  • VO approach: Predict future positions and choose safe velocity
  • Benefit: Continuous motion, higher efficiency

🤝 Part 3: Reciprocal Velocity Obstacles (RVO)

Shared Responsibility

When both agents are intelligent (like two robots), they should both contribute to collision avoidance. RVO splits the avoidance responsibility equally.

RVOAB = v⃗A + ½(VOAB - v⃗A)

👥 Multi-Agent Example: Drone Swarm

In a drone swarm, each drone uses RVO to avoid others:

  • Symmetric: Each drone takes equal responsibility
  • Oscillation-free: Prevents "dancing" behavior
  • Scalable: Works with hundreds of agents

⚙️ Part 4: Constraints in Velocity Selection

Real-World Limitations

Robots can't move at any velocity - they have physical and operational constraints that must be considered.

60
45°

🏭 Industrial Example: Robotic Arm

A robotic arm in a factory has multiple constraints:

  • Kinematic: Joint angle limits, max velocity
  • Dynamic: Actuator torque limits, stability
  • Task: Must reach target while avoiding obstacles
  • Safety: Emergency stop zones, human presence

🎓 Key Takeaways

Collision Cones: Show dangerous relative velocities in a geometric way

Velocity Obstacles: Extend cones to handle moving obstacles in real-time

RVO: Enables symmetric, oscillation-free multi-agent navigation

Constraints: Ensure solutions are physically realizable and operationally safe