Shallow Blue began life as an OOPic-based PARTS Mark III from http://www.junun.org, and was extensively modified for several months leading up to a competition on December 9th, 2006. The base specs for the Mark III can be had on the Junun site mentioned above. Modifications from the stock Mark III include: 1 - New chassis components to lower the CG and overall height. 2 - Sensor mounting bar on the front scoop to allow multiple sensor configurations to be set up easily, with no further machine work required. 3 - Tigerbotics urethane tires, which increase the available traction by quite a bit. 4 - The addition of two Sharp GP2Y3A001K0F IR range switches, mounted to the front sensor bar looking left and right. I had a third to mount to the rear of the robot, but I ran up against the limit of how much the on-board +5V regulator can manage. (In all, 7 IR devices are being driven even without the rear sensor.) 5 - All batteries were replaced with a single 7.4V LiPoly battery pack. This offers more voltage and current capacity, and shaves 100g off the robot's weight. 6 - Ballasted to 485g with a 103g brass block that can be adjusted forward and aft to tune how much of the weight is on the wedge. 7 - A very recent addition is a piece of 0.011" plastic sheet screwed onto the front wedge so the contact with the dohyo surface is as low as I can get it. Not much room for another wedge to get under it! Software: Initially Shallow Blue used a very straightforward algorithm in order to run. That's gone by the wayside along with most of the stock chassis parts. It now makes pretty heavy use of the OOPic's virtual circuits, though it's not a completely VC-based program (more's the pity). With the exception of the two forward-looking IR rangefinders, which do define a very small state machine, it's completely event-driven. This is a departure from how I usually program, so I've stumbled a lot along the way. Some key features of the software: 1 - A real start button and 5-second countdown timer using an internal clock rather than delay loops. Using the power switch as a start button didn't take into account the time necessary for the OOPic to power up, load its boot code, etc. I always started late! 2 - The ability to cancel out of any maneuver in the event one of the sensors detects an opponent. 3 - The ability to calibrate the edge sensors to a given playing surface (though this isn't currently being used.) 4 - An attempt at modularity, should any other sensors be added (though I'm pushing my limits on the voltage regulator already.) 5 - A recent one: in the event a target is in view, ignore edge and side sensors. #5 from the software may require some explanation: Early on I noticed that if I came at an opponent at an angle, one of the side sensors might be able to see it, even if both forward sensors had a lock. This would cause the robot to turn 90 degrees to face the "side" opponent. Very quickly, I decided to disable side sensors when an opponent is in view. Later at a tuning session for Robofest Hawaii 2006, I lost a round because my opponent had a white wedge, and Shallow Blue popped up on top of it. It treated it like an edge detect and backed up, giving ground! Two changes came of this: Shallow Blue now has a white wedge (label maker tape), and it ignores edge detects if the forward sensors have an opponent in view. One other point bears mentioning: Despite having a CG below the wheel axles and having it fairly far forward of the wheel axles, Shallow Blue still has a tendency to roll over on its back if it loses the "whose wedge is lower?" game in a head-on. I tried several solutions to this, and basically couldn't find one that fit the bill. I tried a wheelie bar in the back, but all that did was make it easier for an opponent to slide me out of the ring. I tried a friction bar in back, but I didn't have a soft enough rubber to really make it worthwhile. I even tried a micro-switch, but by the time I could do anything about it, I'd been pushed out of the ring. (Micro-switches aren't very high traction devices.) With three days left to Robofest Hawaii, I gave this one a miss, even if it wound up being my Achilles heel in the end (which it didn't). Prior to competition I did go back and revisit this problem, with some help from the folks at http://www.minisumo.org.uk which resulted in #7 in the mechanical modifications list. The international rules allow for an unsharp edge from a piece of material no thinner than 0.010" to contact the dohyo surface. Essentially they want a 0.005" radius, at least, on anything that contacts the surface. I found some plastic shim that I cut to shape and bolted to my wedge. It's got just enough flex to let the front come in good contact about a millimeter ahead of the metal wedge. (Thank goodness I built to 9.8cm instead of 10.0cm!) So far it appears to work well. I was able to put all of this into practice in competition at Robofest 2006 in Hilo, Hawai'i. Shallow Blue placed second, beat out by Black Dolphin, another Mark III I've had a hand in. Lessons learned from Shallow Blue were used to improve Black Dolphin, so this didn't come as a surprise to me. For what it's worth Black Dolphin was programmed by my wife, so the two are similar in construction but utterly different in software. It was fun to see how the two compared in real competition. I love this stuff!! At this point Shallow Blue is more or less complete. I have no plans to modify it in the forseeable future. Not unless someone builds a robot that can trounce it 100% of the time, and if I come up with a brainstorm that will let me address the particular weakness that lets that happen. But for now I'm more than happy with it, and with what I've been able to accomplish. Update 4 Jan 2007 -- I've stopped making changes on Shallow Blue. Until I build a bot that beats it, I'm planning to leave it almost (ALMOST) as-is. To that end I published Shallow Blue's source code on the project homepage as well as on the OOPic and MiniSumoMarkIII Yahoo! mailing lists. Even if I do make additional changes in the future, I don't expect much to change in terms of software. The remaining changes still on the books are to replace the Sensor Board with a lighter breakout for the digital I/O ports, to further lower the MPU board (I have another 1/4" or so I can drop it without hitting the servos), and make up for the change in weight in ballast on the bottom. I *might* change the servos out for higher speed models, but with a $100 price tag on that particular mod, I'd rather put that kind of money toward another robot. In any case all of the details for Shallow Blue and Black Dolphin are online now, including Shallow Blue's source. If you have any questions, please feel free to ask me. 10 March 2007 Update - I'm entering Shallow Blue into the UNI mini-sumo mail-in competition. Hope it hasn't grown rusty since Robofest! The competition is in April, which is coming up awfully fast. I'll get it in the mail in the next week or so, and will be tuned in to the competition when it happens. Here's hoping! 4 April 2007 Update - Shallow Blue and its box of support goodies are on their way to Iowa! Yahooo! I can't wait to see how this turns out. For what it's worth, here's my $0.02 plug for mail-in competition: Even though I do have a job and do make money, 99.99% of it goes toward living expenses, clothes for the kids, etc. I do robotics as a hobby. As such, I can't afford to drop a thousand dollars on a plane ticket and hotel bill in order to watch my robot get trounced for three minutes in a faraway land. We're trying to start a robot club in our community. So far most of our members are in the same situation I am in: enough money (maybe) to support the hobby, not enough to support the airline industry. Mail-in competitions like the one UNI is hosting means people like me get to compete! Mail-in competitions are the only way I'll ever be able to pit my creations against anyone outside our local club, or other builders on the island where I live. It's a rare opportunity (this is UNI's second competition of this sort... ever...) But with luck and a lot of hard work, maybe it won't be so rare for very much longer. Please, if you are hosting a robotics event, be it mini-sumo, line following, or a whole host of others, consider opening your competition to mail-in entries. People like me want to play, too! 13 April 2007 Update - Shallow Blue's box made it to UNI without any big holes, dings, or dents, so now I'm playing a waiting game to find out if the electronics and battery made it intact. (Still sweating the battery, though no one noticed any funky smells (like burned bot!)) April 26th is the date of the competition. Iowa time it starts at 8am and ends at noon. Hawai'i time it starts at 3am and ends at 7am. I'm planning to set my alarm for 5am and catch the first half of the action from the UNI video archive. 27 April 2007 Update - I'm officially retiring Shallow Blue. I'm no longer coding on the OOPic, so it doesn't really represent where I am with robot development. I'm planning to strip Shallow Blue for parts and build a new mini sumo robot using an Orangutan as the MPU. For now there will be no change in the basic strategy. It'll be an exercise to see how well Orangutan-lib can be used in a real-world application. Plus, it'll give me the chance to run two almost identically matched mini sumos, but one with an Orangutan and the other with an OOPic. Tom
Description: Autonomous Mini-Sumo Robot
This project has the following developers:
- tbenedict is a Lead Developer.