Gulliver, our KHR-1 robot, is entered for the 2nd Anniversary Celebration events here in Tokyo next month. We only have a few weeks left to create, test, and debug all the combat moves we'll need. To make matters worse, we haven't even taken the remote control kit out of the box yet...
In addition to the dance steps we taught Gulliver last weekend, we've also got him doing a few basic karate-type moves - as you can see from the video below.
Unfortunately that won't help us very much in the actual competition. According to the published rules the first day consists primarily of a 2 meter sprint contest. The robots have to take a 'pose' and hold it (so that they don't get a running start), then try to walk/run down the 2 meter course when the start whistle/horn/gun goes off.
You get several attempts, and if your robot falls down, goes off the course, or is unable to cross the finish line in less than 60 seconds, then the distance it traveled towards the goal is recorded in lieu of it's time.
Only the top scoring robots get to come back the following day to battle it out in the ring. So, Gulliver is going to have to learn how to run fast, straight, and true just to be able to fight.
We've got a whole, long, laundry list of things to improve his skills, starting with the bottom of his feet. The larger foot plates are allowed for this competition and we plan to use them since it will definitely improve his stability. That being said, the plates are just polished aluminum which can be pretty slippery. So, we've been looking around for some creative material to help him gain a little more traction without putting a big load on his servos.
We need to create a basic set of movements and map those to the remote control button combinations in a way that seems both logic and natural. The key question we'd like to address is which buttons would we automatically push in the heat of battle, and then map the appropriate functions to those buttons. We'll dig deeper into those choices later in this series of posts.
Our initial short list of motions/movements can be broken down into four basic categories.
Recovery: It may seem pessimistic, but we're going to assume from the outset that our robot will fall down pretty often. He has to be able to get up off the floor and back into a combat pose whether he is laying prone on the floor, or flat on his back.
Movement: Assuming that he's standing up, he'll need to move around. The robot should be able to take a single step forward, back, left, and right. Once he can do that, we can create more complex moves by repeating and making minor adjustments to the single step movements.
Defense: Of course, we want our robot to attack, and attack pretty aggressively. But there are times when the best offense is a good defense. In observing many of the ROBO-ONE robots we've noticed that almost all of them have several defensive poses - positions that they go into when under attack. They usually try to lower their center of gravity and wait for the right opening to strike back at their opponent.
Attack: This category is probably the most interesting, but also involves the most risk and dynamic instability. When the robot throws a punch or strikes out at its opponent the COG moves rapidly and the resulting momentum will frequently cause the robot to tip over by itself. More important, if its punch is lucky enough to connect the impact may throw it off balance rather than knocking down the other robot.
We're also going to have to round up a sparring partner for Gulliver. Many of the Japanese robot builders use large plastic PET bottles filled with water. Of course we'll follow their example, but we also want to come up with something closer to what our robot will actually fight in the ring.
Realizing that time is extremely short, and that if we don't have some sort of plan we'll just waste the little time we have left, we put together the following chart and did a first pass at prioritizing the moves in order from 1st priority through 5th. At an absolute minimum, we have to create all the 1st and 2nd priority moves just to consider Gulliver to be functional at all. We're going to do our best to have all these moves, and perhaps some more, finished and tested at least a week before the competition so that we have time to play with them and map them into our brain. There won't be time to waste once the battle starts.
|Stand up||Assume we will fall down a lot.|
|Single Step||Basic movement routines|
|3 Steps||Repetition of the single step movements|
|Defense||Lower the COG|
|Punch-High||Basic punch routines|
|Punch-Low||Based on Punch-High routines|
|Swing-High||3||Similar to Yugo Custom?|
|Swing-Low||3||Based on Swing-High|
|Forward-Left||5||Based on Forward-Fwd|
|Forward-Fwd||4||Basic dive routine|
|Forward-Right||5||Based on Forward-Fwd|
|Backward-Left||5||Based on Backward-BCK|
|Backward-BCK||4||Basic dive routine|
|Backward-Right||5||Based on Backward-BCK|