|
Strategy |
||
|
Over the years, many people have commented that my sumo robots' line sensors must not be working very well. To which, I normally reply that the robot doesn’t have any line sensors. That comment results in looks of puzzled surprise. The fact is that sensing the line is not part of my sumo strategy, nor has it ever been! All of my sumo robots have always used the same, simple strategy. Step 1: find the opponent. Step 2: push. Finding the opponent is dependent on multiple start patterns, good object detection sensors, and sufficient speed to attack before the opponent has a chance to escape or take evasive action. Push is dependent upon maintaining contact with the other robot, keeping the other robot centered directly in front, and reacting intelligently to the opponent’s attempts to escape. |
||
|
Start Routines
|
||
|
Routine Videos To give a better idea of the start routines, videos of ExSpurt running each routine are given below. The red LED flashes from 1 to 8 times to indicate the routine being initiated. The Right hand push button starts the selected routine to the left and the left push button starts the routine to the right. Actually, the right push button is the BS2SX reset and a brief tap the left push button increments the start routine by one. The number of flashes for each routine is included in the videos. Also, to save some download time, the start delay has been reduced from five seconds to one second. Each start routine is dead reckoning and is designed to end up in the center of the ring running in a searching loop. If another robot is detected at any time during any start routine, the start routine is terminated and the first attack program is initiated. In the videos, once the start routine has completed, the remote kill switch is used to stop ExSpurt. 1 Left Search R/L (0:08 - 0.8Mb) 1 Right Search R/L (0:08 - 0.8Mb) 2 Left Run Away (0:08 - 0.8Mb) 2 Right Run Away (0:08 - 0.8Mb) 3 Left Back Away (0:08 - 0.8MB) 3 Right Back Away (0:09 - 0.8Mb) 4 Left Loop (0:09 - 0.8Mb) 4 Right Loop (0:08 - 0.8Mb) 5 Left Hit Spin (0:11 - 0.8Mb) 5 Right Hit Spin (0:11 - 0.8Mb) 6 Left Direct (0:11 - 0.8Mb) 6 Right Direct (0:09 - 0.8Mb) 7 Left Angle 45 (0:12 - 0.8Mb) 7 Right Angle 45 (0:11 - 0.8Mb) 8 Left Angle 90 (0:12 - 0.8Mb) 8 Right Angle 90 (0:13 - 0.8Mb) |
||
|
Sensors
|
||
|
Speed ExSpurt presently uses a top speed of about 48 inches per second. At that rate, it can make contact with the opponent in about 0.5 seconds after the start. What that means is that the opponent must take the correct evasive action immediately at the start. If the opponent has any drop down or flip routines to get in proper configuration, it probably won’t have time to move before contact is made. So, assuming that the opponent takes evasive action at the start, which way should it go? The attack could come from most any direction. So it becomes a guessing game between the two robot operators. Will the opponent do the same routine twice in a row or pick an alternative. Could we call this a chess match? Since most present sumo robots have only one starting alternative, picking the best attack is simple. Another positive result of high speed is that the chance of being attacked from the side or rear is very remote. For that reason, no side or rear sensors are provided. There will come a time when someone will build a faster and/or smarter sumo robot and I will have to modify my strategy. For now, 48 inches per second is fast enough but I do plan on experimenting with faster speeds in the near future. |
||
|
Search The underlying concept in push is that any direction that ExSpurt is pushing its opponent is toward the edge of the ring. Since any direction is good, no attempt is made to push the opponent toward the nearest edge. There are two programs that control push. The first program (Search) is designed to make initial contact with the opponent. After the start routine has terminated and no opponent has been detected, ExSpurt begins a search pattern in the middle of the ring. The search pattern is a simple loop. The speed of the loop is slow enough to spot the opponent entering the middle of the ring from the side, yet fast enough to prevent an opponent from catching ExSpurt's side or rear. Once an opponent is spotted, ExSpurt starts the chase. ExSpurt is designed to make fast, sweeping moves to close the distance to the opponent as quickly as possible. If contact with the opponent is lost, the search is continued in the direction that the opponent was last seen. |
||
|
Destroy The second program (Destroy) is designed to keep the opponent directly in front of ExSpurt. Therefore, quick changes of direction are specified. With the outside IR LEDs on the edges of the bumper, any minor slippage in the opponent to the right or left is immediately corrected. The next video shows ExSpurt pushing a very light Mr. Lego. ExSpurt can be seen overcorrecting each misalignment. With a typical (heavier and higher traction) opponent, the overcorrection disappears and the push looks much more linear. |
||
|
Evasion In the Destroy program, if contact with the opponent is lost, ExSpurt will assume that the opponent has spun to one side and is attacking from that side (that is a scenario that has actually happened in competitive matches). At that point, a backing maneuver is initiated to reacquire the opponent and restart the attack. The next video shows ExSpurt attacking a moving block, acquiring the target, losing contact, taking evasive action, and jumping between the Search and Destroy programs. This is how ExSpurt gets its exercise. |
||
|
Problems
|
||
|
Summary Nowhere in any of the above is there a need for edge detection sensors. Even great amounts of pushing power are not needed. What is needed is a great amount of speed to implement the start routines. The opponent must be engaged quickly and be defeated quickly before he has time to react. Early Brooksbots with molded urethane tires were assumed to be great pushers and later Brooksbots with kill switches were assumed to be remotely controlled, but neither is assumption is correct. Actually, the intelligence of the software and strategy has won most matches. Everything else is intended to be a diversion. |