ARC2017: Obstacle Avoidance Driving Challenge

Obstacle Avoidance Driving Challenge (updated Oct 6, 2017)


Make a robot that avoids collision with obstacles in a small 2m x 2m arena.


Students can compete in teams with a maximum of 3 students per team.


This challenge is designed to encourage innovation and experimentation with a focus on evolutionary design and improvements. Students will have to prepare a car with 2 motors, 3 ultrasonic sensors, a motor controller, a chassis, a sensor module and a microcontroller. Each team will be tasked to complete the baseline car build and traverse an obstacle course from a starting position to a predetermined goal. For each attempt, each car will accumulate points for the amount of time spent on the course, any collisions etc. Furthermore, extra modules and sensors added to the car will accrue penalty points. The objective for each team is to complete the course and accrue the least number of points possible. The scoring system is designed to allow for teams to make strategic choices in order to come first at the end of the day by having the least number of points.

Skills Tested:

This challenge focuses on the robots decision making when navigating an unknown environment without a clear cut objective available. Unlike line tracing, there isn’t necessarily a clearly ‘correct’ direction to pick after coming to a decision point and the robot has to try to make the best choice based off what it knows.

Robot Limitations:

The competition is open in terms of robot design and implementation. Ideally each robot needs to be capable of:

  1. Moving under its own power
  2. Changing the direction of travel
  3.  Detecting the obstacles in its way
  4. Making the decision to either continue its path or change direction.
  5. Determine a suitable alternative direction either through additional sensors or recording of data.

Obstacle Course:

The course consists of a 2 by 2 meter arena with an exterior wall and contains several obstacles to be avoided by the robots.

The Arena also features a 30x30cm starting and finishing areas at opposite positions within the arena. The minimum height of  the obstacles is 15cm. A robots ‘run’ is considered complete when it has moved from the starting zone to the end zone. If a robot gets stuck or the team wishes to end the run early they are able to but will receive a penalty in time points for that run.


Each Team will have the opportunity to complete multiple runs of the course. The best scoring run will be used for that team’s final score.

While subject to change, the challenge will use a penalty scoring system where the objective is to score the least number of points. The penalty scoring system is proposed as the following:

  • +1 point for every second the car is on the course
  • +1 point for every collision

Further hardware penalties and bonuses are:

  • 3 sensors has a point multiplier of 1.0
  • For each sensor after the third, the multiplier increases by 0.3
  • For each sensor under three, 0.3 is subtracted from the multiplier.


The scoring and objectives allow for teams to come up with a number of strategies. For example, if a baseline car with 3 sensors is able to complete the course in 30 seconds without collision, the car attains 30 points. If a team adds another (fourth) sensor, and completes the course in 30 seconds again, the car attains 39 points. Essentially, the team must achieve the goal with a time of less than 23 seconds in order to achieve the same score. Alternatively, if a team is able to complete the course in 30 seconds but with only 2 sensors, they will be awarded 21 points.

The above example allows for teams to come up with strategies that will either focus on more hardware in order to achieve a faster time, or less hardware so that they are able spend more time trying to reach the goal.

Sample Code

Visit for tutorials on how to build similar robots and to find basic sample code to get you started for this challenge.

A Youtube video is also available at:

Robot kits as seen above are available for hire for the duration of the challenge based on availability.