Activity: Sumo

BACK TO POSTS

A classic robotics competition challenge. Have your rovers battle in the sumo ring. If a rover is disabled or leaves the ring for any reason it loses the match. There are many possible approaches to staying in the ring while pushing the opponent out. This challenge is a great opportunity to design attachments for your rovers.

Relevant Coding Skills

Branching
Iteration
Algorithm Design

Relevant Rover Concepts

Ultrasonic
IR
Colour
Motors

Activity Demonstration

Setup

The sumo exercise works best with a circular arena but any shape can work. The edges of the arena should be a clear contrast to the body of the arena so rovers can use colour sensors to detect when they are at the edge. We recommend the arena be 60-100cm in diameter with a 3-5cm edge. There are many variations of rules available online.

The Quick & Easy Setup

Use a desk as the arena floor and make the arena circle with coloured tape.

 

Here’s Our Approach

Note that this is a simple approach that should be improved upon. Try different tactics and include sensors like IR and Accelerometer to better find and push your opponent.

Stage 1: Stay Away From The Edge

First we will add a repeat while true loop as we want our code to run continuously. We can then use an IF statement to move backward and turn around if the colour sensor detects the edge of the ring.

Stage 2: Move Around The Ring

If the robot doesn’t detect the edge it should move in search of the opponent. We can use the ELSE part of the IF statement to move forward.

Stage 3: Push The Opponent

Staying in the ring is most important. After checking for the edge, we can use an ELSE IF (ELIF) in the IF statement to detect if an opponent is in front with the ultrasonic sensor. If it is close use a motor block to set our motors to full speed to charge the opponent.

Example Code

 

Related Posts

Previous
Previous

Activity: Turn Over Rover

Next
Next

Activity: Survey Bot