On The Small(er) Scale
Mini sumo is something I’ve been interested in for a long time. The basic premise is simple: two robots are in a ring, and have to push each other out without falling out. There are a lot of rules, which are detailed here, but only a few really matter to me. I’m not going to try to make my robot fly, after all.
The two critical requirements (mechanically, at least) are that the robot must be no bigger that 10cm x 10 cm and weigh no more than 500g. So I have to work small.
Updates as I work. This is a build log, after all.
The Design In Brief
I designed Asymmetry in QCAD to fit within the size and weight limits of the competition. Yo can download the mechanical design files here.
It uses a sliced design, with the interior being made of plates of 6mm Sintra. There are ten pieces: three center braces, a left brace, a right brace, a tongue, a left side plate, a right side plate, a front plate, and a top plate. All of the pieces except the front and top plates will be cut on my CNC machine.
For motors, I’m using faulhaber gearmotors with the right angle box removed. They’re bigger than I would like, but they’re what I had laying around.
For wheels, I used these awesome wheels from solarbotics.They have great grip, and…
They fit perfectly on my motors.
As for electronics, I’m not sure yet how that will play out.
I got the center braces cut today.
They all came out well, although the cutter ran into the middle one when it popped out of the material. Other than that, they’re all alike, to a 0.005″ tolerance. Not shabby.
The motors are a slip fit into the holes. They’re not aligned with each other, which doesn’t effect performance. Well, the robot can’t tilt forwards or backwards, so I guess I just have to keep it upright.
Starting to see why it’s called Asymmetry?
Completing The Undercarraige
Today I cut out the rest of the undercarriage. So I have a gratuitous picture of the CNC machine cutting the left brace.
These are the rest of the pieces. From top to bottom: left brace, right brace, and the tongue.
The braces are a press fit on the tongue.
With the center braces added, we have a complete undercarriage. Click on the above picture for more. Everything is out of alignment, but I’ll make sure it’s perfect before I glue it.
Next up, the side plates, front plate, and top plate!
I cut the side panels today. Not much to ‘em.
The side panels attach to the inside braces, which press fit onto the tongue. I didn’t want to glue on the panels yet, so I attached them with very strong double-stick tape.
With the side panels on, you can get a feel for the shape and size of the robot. All it’s missing now are the front and top panels.
Front And Top Panels, Brains
Starting off with a sidenote, I got the side panels glued to the side braces. The white around the edges is residue I’m too lazy to sand off.
Back to the topic, I got the top and front panels cut.
When assembled, it looks like a little black box. It is a little black box. With wheels. Note that there are no holes in the front and side panels for the sensors yet. Also note that nothing except the undercarriage is glued in place.
The inside of the robot is pretty spacious. I have 3x3x1.2 inches of space. I’m curious to see how much battery I can fit in there.
This is my protoboard so far. The power supply is in the upper left corner. Right below it is the H-Bridge motor driver. In the middle is the ATMEGA328P. It’s pretty messy, and is going to get a whole lot messier when I add the opponent sensors. I think I’ll eventualy mill a PCB with all SMD components, but knowing me this will probably be the final board.
The two ribbon cables coming off the top are the front floor sensors.
These are what I’m using for floor sensors. They’re small IR reflectors, and have a range of about 4mm. They give a very clean difference between the black of the arena and the white border. I have two in the front now, but may add more in the back.
I got the edge sensors glued on to the frame. It’s not too pretty, but it functions well and no one is going to see it. I hope not, anyway.
This also means that the board is permanently attached to the robot. I guess I’m not going to make a routed PCB. Probably.
The front and side panels now have proximity sensors. They each have a range of about 50cm, which should be good enough.
There’s a rat’s nest of wires on the back of each of the panels. This is going to be a nightmare to solder, especially considering that due to the design of the robot, I have to glue on the sides before I can solder the sensors to the board. Oh boy. We’ll see how that turns out.
Back From The Dead
Prior to my previous thoughts, I turns out that I actually didn’t fry the whole mainboard. I needed a cool demo for my school’s tech club, and so I pulled out Asymmetry and started debugging. It turns out that the motor driver circuitry and some of the power supply was dead, so it was a quick fix to get it back up and running. Every last sensor works, so I put in some code and set it off traipsing around our table at a activities fair. It got a fair bit of attention, which was cool. Soon (yeah, right) I’ll get some actual code written and do some trials. Until then, it will go back to sitting on the shelf staring at me.