0% found this document useful (0 votes)
30 views

SumoBot

Uploaded by

ae3857770
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views

SumoBot

Uploaded by

ae3857770
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Republic of the Philippines

CEBU TECHNOLOGICAL UNIVERSITY


M. J. Cuenco Avenue Cor. R. Palma Street, Cebu City, Philippines
Website: http://www.ctu.edu.ph E-mail: coedean@ctu.edu.ph
Phone: +6332 402 4060 loc. 1135

COLLEGE OF ENGINEERING

ECE DEPARTMENT

ECE-IPC 415
ROBOTICS TECHNOLOGY

PROJECT NO. 1

SUMO BOT

TITLE

ENGR. GILBERT M. SILAGPO Submitted by:


Submitted to: ALREIGN DEO R. MIEL
JOHN CLIFFORD A. MORATA
MARIA ANGELICA C. REYES
ELJUN VINCENT W. PEPITO

November 08, 2024

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.

Keywords- Automated, Sensors, Microcontroller, Robotics, Obstacle Detection, Robot Sumo


Wrestling, Strategy Development.

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.

III. SCHEMATIC DIAGRAM

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

Figure 2: Schematic Design of SumoBot


A. COMPONENTS

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.

Figure 3: Arduino Uno

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.

Figure 4: Motor Driver L298N


3. IR Sensor: Detects the edge of the sumo ring to prevent the bot from moving out of
bounds. It senses the difference in reflectivity between the black ring surface and
the white boundary line, enabling the bot to stop or change direction before crossing
the edge.

Figure 5: IR sensore module

4. Ultrasonic Sensor: Detects the distance to opponents or obstacles in front of the


sumo bot. It sends out ultrasonic waves and measures the time it takes for the waves
to return after hitting an object. This information helps the Arduino decide when to
approach, avoid, or engage with the opponent.

Figure 6: HC-SR04 Ultrasonic sensor

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.

Figure 7: Dc Gear Motors


6. Battery: Provides power to all the components in the sumo bot, including the
Arduino, motors, sensors, and motor driver. Ensuring a stable power supply is
crucial for the bot's performance.

Figure 8: Lithium-ion Battery

IV. INPUT SECTION


This section showcases the sumo robot (sumo bot) input section. The robot utilizes a
component such as the IR (Infrared) and Ultrasonic sensors which is very crucial for detecting
the environment and making decisions based on the sensor data. The inputs typically refer to
the information that is provided by the sensors, which is then processed by the robot’s control
system to determine what actions like movements, collision avoidance, and opponent detection.
4.1 IR (Infrared) Sensor
➢ The IR sensor is typically used for detection obstacles, identifying opponents,
and avoiding boundaries of the sumo ring. This sensor provides proximity
sensing capabilities, which allows the robot to make decisions such as avoiding
the edge of ring or adjusting its position for offensive or defensive maneuvers.
Since the sumo arena is usually a confined space, the IR sensor plays an
important role in helping the robot to navigate and react to its surroundings.
How it Works:
➢ The IR sensor emit an infrared light and is then measure the reflection of this
light. A strong reflection means or indicates the presence of an object, which
can be interpreted as an opponent or obstacle.
Figure 9: Shows the working principle of IR sensor
Electrical Specification:
• Supply Voltage (VCC): Typically operates at 3V to 5V.
• Current Consumption: Depends on the IR LED power, typically ranges from
tens of mA.
• Emission Wavelength: Typically, between 700 nm to 1000 nm.
• Detection Range: Varies based on emitter power and sensitivity; from
centimeters to meters.
• Response Time: Typically, microseconds to milliseconds depending on the
sensor design.
Use in Sumo Bot:
• Boundary Detection: IR sensors can help detect the sumo ring’s boundary
which is typically marked with high contrast materials and avoid the robot from
exiting the ring.
• Opponent Detection: When the IR sensor detects a strong reflection from the
opponent, it indicates the robot is close to the opponent.
4.2 Ultrasonic Sensor (HC-SR04)
➢ The Ultrasonic (HC-SR04) sensor is typically used in sumo robots (sumo bot)
for distance measurement, detecting and avoiding other sumo bots, and for
obstacle detection. This sensor uses sound waves to determine the distance
between the robots and objects in its environment, which is very critical for
making decisions like avoiding obstacles, detecting opponents, and positioning
itself in the ring.
How it Works:
➢ The HC-SR04 ultrasonic sensor measures the distance by emitting an ultrasonic
pulse or a high-frequency sound waves and calculating the distance to objects
based on the time it takes for the echo to return or to reflect back from an object.
This sensor consists of two main parts:
• Trigger Pin: This sends out an ultrasonic pulse when it’s
activated
• Echo Pin: This receives the reflected pulse and then measure the
time it takes to return or reflect back.

Figure 10: Shows the working principle of ultrasonic sensor


Electrical Specification:
• Supply Voltage (VCC): DC 5V
• Current Consumption: 15 mA
• Operating Range: Typically ranges from 2 cm to 400 cm or up to 4 meters
• Operating Frequency: 40 kHz
• Measuring Angle: 15° the sensor emits a cone-shaped wave, so only the objects
within the angle will be detected.
• Response Time: Typically, in milliseconds.
Use in Sumo Bot:
• Opponent Detection: The ultrasonic sensor can be used to measure the distance
of the opponent. If the distance is close or is small enough, the bot can engage
or push the opponent out of the ring.
• Obstacle Avoidance: The ultrasonic sensor helps to avoid obstacles; this
includes the edge of the sumo ring. If the distance to an obstacle is too small or
close, the bot will adjust its path accordingly.

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.

VI. OUTPUT SECTION


This section shows the output section of a motor driver, this refers to the part of the driver
which provides the electrical output signals to the motors. This section determines how the
motor are driven that’s based on the input signals and enable conditions provided to the driver.
Here, we utilized L298N and the table below shows the motors input/output and its functions.
Motor IN1 IN2 IN3 IN4 OUT 1 OUT 2 OUT 3 OUT 4 FUNCTION
(MOTOR (MOTOR (MOTOR (MOTOR
A) A) B) B)
A 0 0 X X Low Low X X Motor A -
Brake/Stop
A 1 0 X X High Low X X Motor A -
Forward
A 0 1 X X Low High X X Motor A -
Reverse
B X X 0 0 X X Low Low Motor B -
Brake/Stop
B X X 1 0 X X High Low Motor B -
Forward
B X X 0 1 X X Low High Motor B -
Reverse
Figure 11: Functional Table of L298N
VII. FLOW CHART

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.

Figure 12: Flowchart of Sumo Bot


VIII. PROGRAM

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.

/* Include libraries with functions that are needed. */


#include <NewPing.h>

/* Define pinout of Arduino to match physical connections */


#define PWMA 9 // ~PWM needed
#define AIN1 2
#define AIN2 3
#define PWMB 10 // ~PWM needed
#define BIN1 4
#define BIN2 5

#define IR_SENSOR A0 // Define the pin for the IR sensor


#define IR_THRESHOLD 500 // Threshold value to detect the white line

#define U_TRIG 11 // Ultrasonic Trigger pin


#define U_ECHO 12 // Ultrasonic Echo pin
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters)

NewPing sonic(U_TRIG, U_ECHO, MAX_DISTANCE);

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

Serial.begin(115200); // Open serial monitor at 115200 baud to see ultrasonic values


delay(500); // Pause 500ms before the match starts
}

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");

if (distance > 0 && distance <= 25) { // If opponent is within 25 cm


applyBrakes();
delay(100); // Pause briefly before attacking
break; // Exit the loop to start attacking
}

// Check if we are near the edge (white line) while searching


int irValue = analogRead(IR_SENSOR);
if (irValue > IR_THRESHOLD) { // If line is detected
applyBrakes(); // Stop rotating
goBackward(); // Move backward to avoid falling out of the ring
delay(500);
rotateRight();
delay(500);
}
}
}

void attackOpponent() {
goForward(); // Move forward to attack
delay(1000); // Push for 1 second

int distance = sonic.ping_cm(); // Check if opponent is still in range


if (distance > 0 && distance <= 25) {
goForward(); // Keep pushing if opponent is still close
delay(1000);
} else {
applyBrakes(); // Stop if opponent is out of range
}
}

// Motor control and basic behaviors

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

Figure A. Front View


SIDES

Figure B. Left View

Figure 2B. Right View


BACK

Figure C. Back View

BOTTOM

Figure D. Bottom View


X. CONCLUSION
The application of IR and Ultrasonic sensors in the sumobot provides a robust system so that
the robot can effectively navigate its surrounding, detect opponent, and create a competitive
strategy. The IR sensor ensures that the robot will remain inside the sumo ring by detecting the
boundary in order to avoid disqualification. Meanwhile, the ultrasonic allows the robot to track
and locate the opponent, enabling precise and aggressive attacks.
With the combination of these sensors, it balances both offense and defense, as the robot can
actively hunt for opponents while maintaining its position inside the ring. With these, the robot
should be able to outmaneuver as well as overpower an opponent within real-time decision
from its sensors data and efficient motor control. This project demonstrates the effective use of
these components and the importance of integrating multiple input sources to shape responsive
and intelligent robot behavior.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy