![]() |
while (1) butt.kick(); | |||||||
|
Design ProcessOur strategy was to construct a fast and reliable robot that would complete the game as quickly as possible while scoring the maximum number of points possible. This design objective necessitated a number of robot features.PointsIn order to maximize number of points (and because not all 20 balls could fit in goal 3), as many balls as possible needed to be dumped in goal 3 and the rest into goal 2. For this reason, our robot incorporated a ball sorter that could separate balls into a hopper that dropped balls into goal 3 and a shooter that fired balls into goal 2. However, it was important to make sure that all black balls are deposited into goal 3. To do this, a ball sensor was designed which could indicate whether a yellow or black ball was on the sorter.SpeedIn order to complete the game as quickly as possible, robust beacon detection and beacon following were developed. It was observed that beacon following allowed for shorter travel distances than tape following which was more roundabout. Two sets of stereo IR detectors were designed, so that the robot was capable of driving towards a beacon using bang-bang control. In addition, four tape sensors were included, in order to follow tape when it was needed, and also to detect tape in order to determine position on the game field. Tape following was implemented using bang-bang control.ReliabilityIt was observed that battery voltage had a large effect on the performance of the drive motors. In order to remove the effect of battery voltage, an encoder was installed on the robot wheels using a modified coin sensor. Robot drive speed was maintained using PID control, thereby removing the effect of battery voltage. PID control also allowed the robot to detect when it hit a wall and could not move (or had difficulty moving) by returning the requested duty cycle of the motors. A high duty cycle (>90%) indicated that a wall or some other obstruction had been hit. In addition, the robot also had the capability to "push through" obstructions by increasing motor duty cycle.A list of the robot features and game completion strategy follows. More detailed explanations of components and code can be found in the mechanical, electrical, and software design pages. Robot featuresSensors:IR: Our robot has two pair of “eyes” (IR detectors) one at the front and one at the shooter. Stereo pairs of IR detectors help the robot not only find a beacon but can also line up perfectly to that beacon (and follow it).Encoder: 2 encoders are mounted on the wheels (the resolution is 180 / revolution). This is a key feature as it provides feedback information on speed and allows us to design a very reliable PID speed control. Our robot performs the same way despite the fluctuation of battery! Ball Sensor: The robot can sense the color of the balls and sort them accordingly. More sensors: 4 tape sensors to detect black, greed and red tape, button to detect ball dispenser, and of course, a flash detector for the start. Actuators:Our robot use 2 Maxon motors for the wheels, one DC motor for the ball sorter, two door-lock motors for the hopper and the shooter.Control StrategiesTwo main strategies are: bang-bang control for tape following and beacon following, PID control for speed controlling.Game chronologyThe Robot does subsequently the following tasks during the game:
|