Deep Impact Sumo Robot (Old Project – 2007)

Deep Impact Sumo Robot (Old Project – 2007)

Deep Impact Sumo Robot

I watched videos of how to develop the project, Japanese sumo robots as fast as it can be extremely sharp turn in the thought of how make. And Deep Impact was born:) it has 2 edge contrast sensor, 2 ultrasonic sensor and 6 infrared sensors. It uses six Faulhaber dc gear motors.

Robot Body

The body of the robot must be big to take 6 dc motor and big enough to hold 12 cell battery and It had to be practical to use and most appropriate way. At first, I made cardboard body shapes . I thought to be height 6 cm in the robot, but I thought it would be better after 8 Cm. The body was made from DKP metal. Outside of the inclined plane on the front of the robot chassis 2mm spring steel was used.

2mm iron (steel) plate has been made with as laser-cut picture on the above. Then, after stell bended and finally sumo chassis finished.
The body has 2 parts, including the top cover and the main body. later merged with the main body of resources on the front of the inclined plane.

Sumo Robot’s Videos:

Faulhaber DC Motors

I used 6 faulhaber dc motors you can find It’s pdf here M2233_EN. These motors are like jewelleries. They have reduction ratio about 15:1.

Sumo Robot’s Sensors

Robot has two Parallax ping ultrasonic sensors and five Sharp IR sensors. For 2011 that sensors were good to sense opponent robots but for nowadays (2015 Update) Ultrasonic sensor choice is very wrong due to slow response times.

Program

Robot’s program is written in picbasic.

@ Device pic16F628A
@ Device INTRC_OSC_NOCLKOUT
@ device MCLR_off
‘a2 sagir
‘a3 solir
CMCON = 7
x var word
y var word
t var word
p var word
z var byte
v var byte
‘***********************
CMCON = 7
RawToCm CON 2257 ‘ 1 / 29.034 (with **)
IsHigh CON 1 ‘ for PULSOUT
IsLow CON 0
Pingb7 var portb.7
pinga1 var porta.1
tetikzaman con 1
rawDist VAR Word ‘ raw measurement
cmsag VAR Word
cmsol VAR Word
‘***********************
output 0 ‘ Motorlar
output 1
output 2
output 3
output 4
‘***********************
input porta.2 ‘Kizilotesi
input porta.3
‘***********************
input porta.6 ‘kontrast
input porta.7
‘***********************
sayim:
for x = 1 to 5
high portb.4
low portb.0
low portb.1
low portb.2
low portb.3
pause 500
low portb.4
low portb.0
low portb.1
low portb.2
low portb.3
pause 500
next
‘***********************
basla:
sonarsol:
GOSUB Get_Sonarsol ‘ get sensor value
cmsol = rawDist ** RawToCm

sonarsag:
GOSUB Get_Sonarsag ‘ get sensor value
cmsag = rawDist ** RawToCm

anadongu:
if cmsag if cmsag60 then sagus
if cmsag>60 And cmsol if porta.6 = 1 and porta.7 = 1 then geri
if porta.6 = 1 and porta.7= 0 then solkon
if porta.7 = 1 and porta.6 = 0 then sagkon
if porta.2 = 1 and porta.3= 0 then solir
if porta.3 = 1 and porta.2 = 0 then sagir
low portb.0
high 1
low portb.2
High 3
goto basla
‘***********************
ileri:
low portb.0
high 1
low portb.2
High 3
goto basla
‘***********************
geri:
high portb.0
high portb.1
high portb.2
high portb.3
pause 300
for y = 1 to 50
low portb.0
high portb.1
high portb.2
high portb.3
pause 10
next
goto basla
‘***********************
solkon:
high portb.0
high portb.1
high portb.2
high portb.3
pause 300
for t= 1 to 20
if porta.2=0 and porta.3=1 then sagir
if porta.2=1 and porta.3=0 then solir
high portb.0
high portb.1
low portb.2
high portb.3
pause 10
next
goto basla
‘***********************
sagkon:
high portb.0
high portb.1
high portb.2
high portb.3
pause 300
for p = 1 to 20
if porta.2=0 and porta.3=1 then sagir
if porta.2=1 and porta.3=0 then solir
low portb.0
high portb.1
high portb.2
high portb.3
pause 10
next
goto basla
‘***********************
solir:
low portb.0
high portb.1
high portb.2
high portb.3
goto basla
‘***********************
sagir:
high portb.0
high portb.1
low portb.2
high portb.3
goto basla
‘***********************
Get_Sonarsag:
Pingb7 = IsLow ‘ make trigger 0-1-0
PULSOUT Pingb7, tetikzaman
PULSIN Pingb7, IsHigh, rawDist ‘ measure echo pulse
rawdist = rawdist * 5 ‘ convert to uS
pause 1 ‘ remove return trip
RETURN
‘***********************
Get_Sonarsol:
Pinga1 = IsLow ‘ make trigger 0-1-0
PULSOUT Pinga1, tetikzaman ‘ activate sensor
PULSIN Pinga1, IsHigh, rawDist ‘ measure echo pulse
rawdist = rawdist * 5
pause 1 ‘ remove return trip
RETURN
‘***********************
Sagus:
high portb.0
high portb.1
low portb.2
high portb.3
Goto basla
‘***********************
solus:
low portb.0
high portb.1
high portb.2
high portb.3
goto basla
‘***********************

Do you want to Make Sumo Robot?

Look to our shop!

Visit our shop and find best products for sumo robot and mini sumo robot projects.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these <abbr title="HyperText Markup Language">HTML</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>