The following videos offer several possibilities for more advanced autonomous control of a Sumo Bot. Please contact Daniel Lipin at dlipin@hackleyschool.org if you have ideas for additional programs.
Goal: Randomized turns when coming into contact with a black line
One problem with the simple Sumo Bot program is that it is predictable. Opponents know how much your robot will turn once it detects a black line at the edge of the board. This program update utlizes a random number generator block to vary the amount of seconds a robot turns after it detects the edge of the board and moves backwards.
Utilize the random number generator to make your robot more 'unpredictable'.
Goal: Protect the rear
Adding a sensor to the back of the robot (touch, ultrasonic, color) will allow it to react to an attack on what is usually an unprotected part of the robot.
Goal: Use two eyes to find your opponent
This program uses two ultrasonic sensors to detect whether an opponent is to the left or right of the robot. It then causes the robot to turn until it is facing the opponent, allowing it to then drive straight towards it. This powerful program gives a robot the ability to 'find' its opponent much more quickly than the simple Sumo Bot program.
This video takes you through the logic of the program so that you better understand how it works (and how you can manipulate it).
Only allows robot to move based on two ultrasonic readings. Do this before you incorporate it into the main Sumobot program.
Convert the 'Two Eyes' program into a MyBlock and insert it into the simple Sumo Bot Program.
Use more complex mathematical manipulation of the ultrasonic sensor data to instruct the robot to move along a spectrum from left to right, rather than just hard left/right.
Goal: 4 - Motor Driving Sumo Bot
The idea is simple. If your robot uses four motors to push forwards, then you should be able to overwhelm an opponent that uses two motors to push back against you. Building instructions for this robot can be found in the Building page.
You can simplify each driving instruction into a simple MyBlock.