We wanted to implement obstacle avoidance on our robots so that they could modify their own trajectories during navigation in order to avoid collisions with goals and other robots on the field. Our idea was to create a circular exclusion zone around each of the goals with points on the circle.

Obstacle Avoidance Steps

  1. Get positions of obstacle and robot
  2. Detect possible collision
  3. Calculate points needed to avoid collision
  4. Move to calculated points

Math diagram for detecting if obstacle is within path (step 2)

Math diagram for maneuvering around obstacle (step 3)