SumoBot
SumoBot
COLLEGE OF ENGINEERING
ECE DEPARTMENT
ECE-IPC 415
ROBOTICS TECHNOLOGY
PROJECT NO. 1
SUMO BOT
TITLE
Date of submission
AlreignDeo.Miel@ctu.edu.ph JohnClifford.Morata@ctu.edu.ph
MariaAngelica.Reyes@ctu.edu.ph EljunVincent.Pepito@ctu.edu.ph
Abstract- This project will introduce the design and development of an autonomous Sumo
Bot (Sumo Robot) which can take part in traditional electronics robot sumo wrestling.
The bot is equipped with advanced sensors particularly the IR (Infrared) and Ultrasonic
for obstacle detection, to detect the edge of the rings and opponent tracking, allowing for
strategic movement and engagement. Leveraging off-lightweight quality assurance,
vigorous frame and microcontroller settle for instantaneous decision-making as well as
control. The Sumo bot’s performance is highly dependent on the quality of its
programming; precise coding will greatly enhance its strategic capabilities and overall
effectiveness in competition.
I. INTRODUCTION
Robots have come a long way in recent years, making their way to a myriad of new applications
than the world ever thought was possible. A fascinating part of this landscape is the domain of
robot sumo wrestling where in a competitive environment the robot built has to be able to not
only exhibit engineering skills but also strategic moves and quick real-time decisions. Like
traditional human sumo wrestling, sumo bots face off one-on-one and attempt to push their
opponent out of a ding surrounded by low barriers.
This project aims to design and develop an autonomous Sumo Bot using modern techniques
with better performance and adaptive in the gear. Our Sumo Bot design integrates a massive
array of environmental awareness sensors, in order to successfully compete. The intro explains
the rationale behind the Sumo Bot project, noting utility of it as a learning tool for people who
are into robots as well as applications in physical design. Through this endeavor, we aim to
deepen our understanding of robotics while providing insights into the complexities of
competitive automation.
II. OBJECTIVE
To design a robot that can autonomously compete in a designated ring by means of detecting
and pushing an opponent out of bounds and at the same time avoiding being pushed out. The
robot must effectively navigate its surrounding, make a quick decision based on the sensor
inputs, and use both of its design and programming to outmaneuver and outlast the other
competitors in sumo-style wrestling match.
Innovating a sumo bot involves designing a circuit that integrates several key components, this
includes a microcontroller primarily an Arduino, a sensor (mainly, IR and Ultrasonic), a motor
driver such as the L298N, a DC motors connected to a Wheel for movements, and a power
supply particularly the Lithium-ion battery. All of these components are attached to robots’
chassis, which help the Robot to operate autonomously. The connection for the development
of the sumo bot is shown in the block and schematic diagram.
Figure 1: Block Diagram of SumoBot
1. Arduino: Acts as the brain of the sumo bot. It runs the code that controls the bot's
movements, processes sensor data, and makes decisions on actions, like whether to
move forward, stop, or change direction based on obstacles and opponent detection.
2. L298N Motor Driver: Controls the direction and speed of the motors by receiving
commands from the Arduino. It acts as an interface between the Arduino and the
motors, allowing the bot to move forward, backward, left, or right based on the
Arduino’s instructions.
5. Motor: Drives the wheels to enable movement. The motors determine the speed and
maneuverability of the sumo bot, allowing it to advance, retreat, and change
direction to stay in the ring and push opponents out.
V. MICROCONTROLLER SECTION
SUMOBOT
In the sumobot, the application of both the Infrared (IR) and Ultrasonic sensors are used to
navigate the arena, detects opponent, and avoid the robot for possible disqualification by
staying within the ring. The microcontroller processes the data from these sensors to make
decisions in real time.
1. IR (Infrared) Sensors:
• Detects the edge of the ring. If the edge is detected particularly white line, the
robot reverses and rotates back into the ring in order not to be disqualified.
2. Ultrasonic Sensor:
• It measures the distance of the opponent within a range of 0 to 200 cm. The
robot initiates an attack when the opponent is detected within 25 cm.
Strategies Used:
✓ Opponent Detection and Attack:
• The ultrasonic sensor continuously scans and pings for an object within its
range.
• When its opponent is detected within 25 cm, the robot automatically advances
aggressively to push the opponent out of the ring.
✓ Edge Avoidance:
• If the IR sensor detects the white line of the ring, the robot applies brakes,
moves backward, and reorients itself into the ring.
✓ Search Pattern:
• If no opponent is detected, the robot rotates in place, scanning the area to
locate its opponent. During this time, it also monitors the IR sensor in order
not to leave the ring.
So, by integrating both IR and Ultrasonic sensors data, the robot can dynamically adjust its
movements, combining aggressive attacks with careful positioning to outmaneuver and
outlast it opponents in the sumo ring.
This section showcases our sumo bot’s flowchart. A flowchart for a sumo bot outlines the
sequence of its operations which guides the robot's behavior during its match. This flowchart
represents the logic of the sumo bot uses to detect its opponents, avoid boundaries, and decide
when to push or reposition itself. Figure 12, shows the detailed operation of our sumo robot.
This section shows the instructions or code programmed into the Sumo bot to direct how it
behaves when running on its microcontroller particularly Arduino. It employs a state machine
that decides how the robot reacts to sensor inputs, chooses behaviors and takes actions such as
moving, turning or performing against the opponents in an arena. Attached below is our Sumo
Bots programmed.
void setup() {
// Define pins for motors and sensors
pinMode(PWMA, OUTPUT);
pinMode(AIN1, OUTPUT);
pinMode(AIN2, OUTPUT);
pinMode(PWMB, OUTPUT);
pinMode(BIN1, OUTPUT);
pinMode(BIN2, OUTPUT);
pinMode(IR_SENSOR, INPUT); // Set IR sensor as input
void loop() {
// Ultrasonic sensor reading
int distance = sonic.ping_cm();
Serial.print("Ping: ");
Serial.print(distance);
Serial.println(" cm");
// Read the IR sensor to detect if we are near the edge (e.g., white line)
int irValue = analogRead(IR_SENSOR);
Serial.print("IR Sensor Value: ");
Serial.println(irValue);
if (irValue > IR_THRESHOLD) { // If IR sensor detects the white line (line detected)
goBackward(); // Move back to avoid falling out of the arena
delay(500); // Move back for 500ms
rotateRight(); // Rotate to face back into the arena
delay(500);
} else if (distance > 0 && distance <= 25) {
attackOpponent(); // Attack if the opponent is detected within range
} else {
findOpponent(); // Otherwise, keep searching for the opponent
}
}
void findOpponent() {
rotateLeft(); // Rotate to search for opponent
delay(100); // Brief delay to stabilize reading
while (true) {
int distance = sonic.ping_cm();
Serial.print("Searching, distance: ");
Serial.print(distance);
Serial.println(" cm");
void attackOpponent() {
goForward(); // Move forward to attack
delay(1000); // Push for 1 second
void goForward() {
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, 234);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
analogWrite(PWMB, 255);
}
void goBackward() {
digitalWrite(AIN1, LOW);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, 233);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 255);
}
void rotateRight() {
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 255);
digitalWrite(BIN1, LOW);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 255);
}
void rotateLeft() {
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, LOW);
analogWrite(PWMA, 255);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, LOW);
analogWrite(PWMB, 255);
}
void applyBrakes() {
digitalWrite(AIN1, HIGH);
digitalWrite(AIN2, HIGH);
analogWrite(PWMA, 255);
digitalWrite(BIN1, HIGH);
digitalWrite(BIN2, HIGH);
analogWrite(PWMB, 255);
}
IX. SUMO BOT DESIGN
A Sumo Bot Design refers to a type of robot that will participate in the sumo bot competitions
and its specific technical, frame and operational decisions. The design of a Sumo Bot requires
components from multiple disciplines such as its mechanical, electrical and Software
Engineering where each contributes to the performance capabilities of a Sumo Bot for a head-
to-head combat. In this section, different figures are displayed showcasing our Sumo Bots’
design.
FRONT
BOTTOM