0% found this document useful (0 votes)
36 views12 pages

Final Report

The document summarizes a student robotics team's process of designing a sumo robot to compete in a competition. It describes how they generated initial design ideas, evaluated the options using a decision matrix, and decided on a final design incorporating front wedges and a rear sensor to help keep the robot in the ring. It then provides details on implementing the chosen design and testing it before the competition.

Uploaded by

api-490394340
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)
36 views12 pages

Final Report

The document summarizes a student robotics team's process of designing a sumo robot to compete in a competition. It describes how they generated initial design ideas, evaluated the options using a decision matrix, and decided on a final design incorporating front wedges and a rear sensor to help keep the robot in the ring. It then provides details on implementing the chosen design and testing it before the competition.

Uploaded by

api-490394340
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/ 12

SUMO ROBOT FINAL REPORT

GE 1501
Cornerstone of Engineering I
Mondays, Wednesdays, and Thursdays 9:15 AM
Due Thursday, December 5
Emma Lloyd, Saul Amkraut, Joseph Pak, and Lindsay Riggs

1
Abstract 3

List of Tables & Figures 3

Definitions 3

Introduction & Problem Definition 4


Problem Statement
Conditions & Constraints
Goals & Objectives

Generating Design Alternatives 6

Deciding the Course of Action 7

Final Design 8
Description of Design
Sketches

Conclusion 10
Performance
Reflection

Appendices 11
Program

2
Abstract
This report will provide the reader with a description of the design process of the group’s
robot created for the purpose of a sumo competition, including the generation of designs and the
creation of the final product. The project involved the refinement of one of two robots that had
competed in a first round of competitions in which only the robot’s code could be changed. This
round involved exterior additions, with a few guidelines and requirements. The first step was to
create a problem statement, clarifying the issue and understanding the objectives and constraints
of the competition. The next step involved the generation of ideas for the design of the robot,
including several methods of brainstorming in which several additions were considered for the
robot. Then, the design which we decided best solved the problem while still obeying the
constraints was chosen by quantifying our needs and evaluating the possible designs. Our final
design was implemented by dividing up the tasks with on person working on the coding and
implementing the back sensor, another creating the AutoCAD sketch for the ramp, and another
building the ramp, then reconvening to finalize the design. Although the design worked well in
preparation, we had some issues with malfunctioning parts during the competition and the robot
performed poorly in the competition.

List of Tables & Figures

Figure #1. 5
Figure #2. 6
Figure #3. 7
Figure #4. 8
Figure #5. 8
Table #1. 5

Definitions
Contrast Sensor​ - sensor that detects a change in value, measures light reflected by a target
Decision Matrix​ - method using assigned values to determine quantitative ratings of potential
designs or categories
Distance Sensor​ - sensor that uses sonar to determine the distance of an object
Duncker Diagram​ - graphic tool used to help define a problem and its possible solutions
Laser Cut​ - the use of a laser to cut through materials
Servo Motors​ - a device that can be turned to a specified position, used for the wheels

3
Introduction & Problem Definition
Problem Statement
The problem is that our robot needs to stay in the ring while pushing the other robots out.
This is important because we need to redeem ourselves in the next Sumo Bot competition.
Currently, available designs include both of our prior robot designs. Both of our original models
had basic builds with different coding as a strategy. One robot was coded to charge when it saw
an opponent and the other was coded to continuously move along the edge while staying inside
the ring. Current solutions, however, did not hold up during the first round of Sumo Bot battles
since they both got out. The users need a design that will hold their own in the next Sumo Bot
competition and win the bracket by pushing its opponents out of the ring. Our solution will push
the other robots out of the ring and will be offensive rather than defensive, but will stay inside
the ring, stay within the 45-inch distance that our sensors are still accurate, and not break any
regulations of the competition.

Conditions & Constraints


The main condition for our robot was to push the opposing robot out of the ring while it
stayed inside the ring. That was the goal of the project and how we could win a round. To win
the competition, we had to win round after round. Because the competition was set up as a
double-elimination competition, we could lose one round and still have a chance at winning the
competition. After losing one round, the robot would compete in the loser’s bracket, but, after
losing two rounds, the robot would be out of the competition. In the end, the winner of the
loser’s bracket competes against the winner of the winner’s bracket. The regulations provided the
few constraints on our robot design which included maximums on size and weight. The robot
wasn’t allowed to be heavier than three pounds or bigger than sixteen inches by twelve inches.
Those were the main regulations for our robots, which we had to comply with in order to be
allowed to compete.

Goals & Objectives


The main goal was to win the Sumo Bot competition, which involved winning as many
rounds as possible. We needed to avoid losing two rounds of the competition in order to stay in
the competition. Our robot needed to achieve this by staying within the ring while pushing the
opposing robot out of the ring. There are multiple strategies that we could use in order to push
our opponent out of the ring, but those will be analyzed and chosen in the later parts of this
report. There are two main ways of going about making strategies: offensive and defensive. In
the last Sumo Bot competition, we focused on the offensive when strategizing. We did very well

4
in that competition, but we could have done better if we had also combined some defensive
methods in with our offensive strategy. In this competition, we will try to better merge offensive
and defensive strategies in order to win the Sumo Bot competition.

Figure #1.​ The Duncker Diagram that we made to help redefine the problem.

5
Generating Design Alternatives
In the process of developing design ideas, we used a variety of methods. The first was
brainstorming, in which we listed various potential modifications to our robot. This included
wedges on the front and side of our robot, protection for the wheels and wires, a possible
attachment to the robot that could possibly tamper with their wires, an extra motor or battery for
added power, and an additional contrast sensor in the back of the robot.
We believed the front and side wedges would provide both defensive and offensive
benefits for pushing other robots and decrease the pushing capabilities of the opposing robot.
The wheel protection or a coating of some sort would also potentially do the same, but we
decided that the addition of such a modification would be too complicated and too time
consuming, so we decided against it in favor of devoting our time to other additions. Wire
protection was also decided against and deemed not vital to the robot’s such. The attachment that
would aim to rip out the opposing team’s wires was found to breach the regulations of the
competition, so that idea was scrapped as well. We never discussed in detail the addition of
another motor or battery and the idea was never developed. The back contrast sensor was
deemed of highly importance defensively, to prevent the robot from being pushed straight back
out of the ring, and we decided it should be implemented.

Figure #2.​ Grouping design ideas helps in the decision making process.

6
Deciding the Course of Action
In the process of deciding on our design solution, we used the Decision Matrix approach
in order to quantify and rank the top priorities for our final design.

Table #1.​ Decision Matrix for the design alternatives. Each column has a scale and each
design alternative was given a rating from 1-10.

Because the plows/wedges received the highest score of 214, we decided to mainly focus
on that aspect. Also, because the back sensor had a relatively high score, we decided to
implement that as well. However, we did not use an extra front motor, wheel protection, wire
protection, Although wheel protection did score higher, we believe that trying to configure a way
to protect the wheels would either break the guidelines/constraints for the robot. For wire
protection and another front motor, we thought that trying to implement these ideas would not
contribute much overall as they both lacked two out of the three categories.
To configure our final design, we used cardboard to model the ramp height and angle. It
was first modeled in SolidWorks, but a 3D printed model would have taken too much time, and
was deemed unnecessary for such a simple design. It was then designed in AutoCAD and laser
cut on acrylic, hot glued together, and screwed onto the front of the robot.
The back sensor involved some trial and error and was implemented by adjusting the
existing code for the side sensors. We tested the sensor before the competition on the sumo mat
by manually pushing it out of the ring and adjusting the delay as we saw fit. We also adjusted the
existing delay for the side sensors so that when it sensed the line it would rotate more towards
the center of the ring.
We also decided last minute to include a sheet of white paper on the bottom of the ramp
to interfere with our opponent’s sensor.

7
Final Design
Description of Design
Our final robot used the base model from the first round of the sumo competition with
several additional modifications. The front-facing distance sensor was removed. Our front ramp
was made from laser-cut acrylic hot-glued together and screwed onto the base. A sheet of white
paper was taped underneath the ramp in order to possibly impede the opposing robot’s contrast
sensors. Additionally, another contrast sensor was added to the back of the robot, making a total
of three; two on each side and one in the back. This was to prevent the robot from being pushed
out of the back of the ring.

Sketches
Figure #3. ​Preliminary sketch for the ramps.

Figure #4.​ Drawings done in AutoCAD for the side ramps of the robot, later converted
into a single front ramp. We decided to just go with the front ramp as after analyzing the size of
the robots, the side wedges would not be able to function as intended. Therefore, we switched to
one front ramp.

8
Figure #5.​ Final design for sumo robot.

9
Conclusion
Performance
Our robot did not perform as expected in the sumo competition. Although the back sensor
functioned properly in earlier tests, it, unfortunately, did not work as intended during the
competition. The cause of the issue is unknown, but the back contrast sensor was not properly
calibrated and would ‘sense’ white even when on the black mat, causing the robot to
continuously run through its back sensor loop and continuously spin instead of moving forward
as expected. However, the side contrast sensors did work as intended and prevented the robot
from leaving the ring until pushed out by the opposing robot. The white paper did serve to
interfere with the sensors of the opposing robot, but the extent to which both it and the ramp
would be effective in the competition was ultimately impossible to judge due to the
malfunctioning contrast sensor.

Reflection
After Sumo 1 we thought that making something that would either make the other robots
not work or something that would be able to push the other robots out of the ring without
damaging ours would work the best. We designed wedges that would go on the front and on the
sides as defense against the other robots as well as offense and we were ready to 3D print them.
After going to the 3D printer and realizing that it would take too long to print our design we
design an alternative to these 3D printed wedges, laser cut pieces that we would put together to
make the wedge that would ultimately go on the robot. We went forward with this plan and laser
cut our design for the pieces out of acrylic. Once everything was cut and the robot was ready for
them to be attached we discussed different ways in order to attach the wedge onto the robot.
The day before the competition we all met up to finish everything up in FYELC. We took
the pieces and used hot glue to attach all the pieces together. After realizing that Velcro wouldn’t
be strong enough to hold the wedge we drilled holes on the backing to screw it onto the front of
the robot.
After the competition we realized that just attaching something to the front didn’t make a
huge difference but what made the difference in our robot was having a color sensor in the back
giving more assurance that the robot wouldn’t go out of the ring. Looking back at the
competition we could have used the distance sensor as a mechanism for attacking opposed to
defense​.

10
Appendices
Program
#include <Servo.h> // servo library
Servo servo_R; //assign servos Right and Left Side of Robot
Servo servo_L;
Servo servo_B;
const int leftSensor = 10; // Assign sensor pins for two down sensors
const int rightSensor = 9;
const int backSensor = 8;
int lsensorState = 0; // Initialize sensor variable
int rsensorState = 0;
int bsensorState = 0;

void setup() { //do this setup once


pinMode(leftSensor, INPUT); // Declare assigned sensor pins as input
pinMode(rightSensor, INPUT);
pinMode(backSensor, INPUT);
servo_R.attach(12); // attach two servos to pins 12 and 13
servo_L.attach(13);
Serial.begin(9600); // set serial monitor baud rate for output sensor state testing

while (! Serial);
Serial.println("Speed 0 to 255"); }

void loop() { // start infinite loop to run robot


rsensorState = digitalRead(rightSensor); //read right sensor
lsensorState = digitalRead(leftSensor); //read left sensor
bsensorState = digitalRead(backSensor); //read back sensor

servo_R.write(0); //right motor clockwise (Full Speed forward)


servo_L.write(180); //left motor counterclockwise for forward

if (rsensorState == LOW) { //If right sensor detects white


servo_R.write(180); //right motor counterclockwise reverse
servo_L.write(0); //left motor Clockwise for reverse
delay(250); // .25 second delay

11
servo_L.write(0); //left motor Clockwise for reverse
servo_R.write(0); //right motor clockwise forward
delay(600); // .6 second delay
Serial.println("Right Sensor"); }

else if (lsensorState == LOW) { //If left sensor detects white


servo_R.write(180); //right motor counterclockwise reverse
servo_L.write(0); //left motor Clockwise for reverse
delay(250); // .25 second delay
servo_R.write(180); // spin right motor backwards
servo_L.write(180); // spin Left motor forwards
delay(600); // .6 second delay
Serial.println("Left Sensor") ; }

else if (bsensorState == LOW) { //If back sensor detects white


servo_R.write(0); // spin right motor backwards
servo_L.write(0); // spin Left motor forwards
delay(50); // .05 second delay
Serial.println("Back Sensor") ; }

else { //drive forward green lights on both sensors LOW


servo_R.write(0); //right motor clockwise forward
servo_L.write(180); //left motor counterClockwise forward
}

delay(100);
}//end of void loop

12

You might also like