In the spirit of sumo, I named my robot Stampy.
As the opponent robot continues to drive, it will start to tilt over. As this happens, Stampy changes direction and continues to push the opponent the rest of the way over. Its not about pushing the opposing robot out of the ring, but instead flipping it over. Just watch the video before continuing:
This is the cheapest and simplest method for a robot to locate and follow other objects.
if sharp IR detects object
scanning IR turns left
else //no object detected
scanning IR turns right
//robot motion code
As shown, the scanner goes left if it sees a googly-eyed robot. If it doesnt detect it, the scanner turns right until it does. As a result, the scanner converges on the left edge of the googly-eyed robot:
The algorithm is guaranteed to converge on a stable point if the scanner locates the object from the left edge. But if the object is detected on the right edge, there is no convergence. This can potentially cause a problem:
The solution: if the sensor misses the object and rotates to the right to its maximum position, tell the scanner to reset its angle to the far left. There is also the solution of using two scanners so that there is a convergence on both the left and right edges of the object. But for the purposes of sumo I couldnt do this.
My commented sumo robot source code is available for download.
The other method is similar to stealth aircraft - use flat surfaces and sharp angles to deflect the sonar. I extended the ramp across the entire robot frontal area for sonar reflection, and use black foam wheels for light and sound absorption (plus, foam is good for traction). These methods will significantly decrease the detectable range of your robot.
Active Sensor Avoidance
Standing Up to Save Space
For a ramp based sumo robot, you want all the weight up at the front (to push the ramp down). So when in vertical position, all the weight is high up. To go to horizontal position, Stampy simply drives backwards for half a second.
Feel free to explore the 3D CAD by clicking with your mouse:
My next step was to prepare my parts for CNC machining. Most of the parts are fairly simple and do not require CNC, but I wanted more practice at CNC and for it to look professional. I used EdgeCAM for CNC simulation and G-Code generation:
I have included the G-Code for both of those parts. It was written for the Haas Mill, but with minor modifications it would work on any CNC machine. Note that the part called Frame had additional holes drilled into it, and two fillets (located by the servo) removed with a mill bit, with a desktop drill press.
all of the parts disassembled
attached sides, bottom, and servos
attached battery by velcro, and attached the lower ramp
screwed in wheels, and added spacers for electronics mount
added upper ramp, attached electronics, attached velcro for scanner
attached scanner, remachined the side Frame (there were errors), and painted ramp black with acrylic paint
time to CAD: 2 hours 40 minutes
Additional notes on time:
Cost/List of Parts
But if I were to go out and purchase parts, this would be the rundown:
Cerebellum Microcontroller: $60 (no longer sold)
HS-311 Servo: $10
Sharp IR: $15
HDPE, Aluminum, Copper Sheeting: $20
1800mAh 6V NiMH Battery: $13
2 Foam Wheels: $8
Spacers, screws, velcro: $10
Two HS-225MG Servos: $28 each
Acrylic paint: $5
Has this site helped you with your robot? Give us credit -
link back, and help others in the forums!
Society of Robots copyright 2005-2013