7.c. Collision-detecting sumo robot
This example extends the simple border-detecting sumo robot example described in the previous section, making use of the accelerometer in the Zumo Shield’s LSM303 3-axis compass module (described in section Section 3.d) to detect collisions. With the Zumo Shield Arduino library installed, the sketch file can be opened in Arduino by selecting File > Examples > ZumoShield > SumoCollisionDetect.
This program uses the X and Y components of the acceleration measured by the LSM303 to determine when it has made contact with an adversary robot in a sumo competition. When it detects contact, the Zumo speeds up, which should allow it to either more effectively push the opponent out of the ring or to escape the opponent if it collided at an undesired angle (from the rear or side). To read more about how this program works, please see the comments contained in