Beacon Sensing Turret
An IR phototransistor sits in each of the two V-shaped holders in the top level of the turret and plugs directly into the circuit board below it. Each of the pieces holding the detectors have a 15 degree field of view (slightly narrower than the 20 degree stable range of the phototransistor). The tick marks on the top plate covering the detectors allow for individual calibration of the angle at which each "eye" is pointed. This whole structure sits on top of a servo (Hitec HS-311), with a lazy Susan to support the load.
Beacon Detectors' Field of View
Relative angular position of beacon is detected by using two IR detectors with intersecting fields of view. If the left detector, right detector, or both detectors can detect a specific beacon, then that beacon is known to be to the left, to the right, or directly in front of the robot, respectively. If a particular beacon is no longer in the field of view of the detectors, it's relative location can be inferred by it's most recent location in the detectors' field of view -- if the beacon was previously to the left, then it is probably now lost left, etc.
Aiming and Arced Movement
The ability to rotate the turret is used for angular compensation when
aiming at the hoop, as well as to execute arced movements about the
playing field during full-court games (necessary so that we don't drag against the side wall as we travel). In general, beacon detection is
done by turning the entire robot, with the turret locked, until both
detectors see the beacon. At this point the beacon is "straight ahead"
with respect to the turret orientation.
|
By changing the angle of the turret with respect to the rest of the robot, the final robot (and shooter) orientation can be adjusted. For example, to aim our shooter at the hoop when shooting from under a dispenser, we need to pivot the turret by about 13 degrees to compensate for the offset between the hoop beacon boundary (the robot detects the first edge it sees) and the hoop itself.
|
To drive in an arc during a full-court game, we simply angle the turret so that the robot "thinks" it is driving directly at the beacon, when in fact it is arcing around it. Whenever the robot loses sight of the beacon, it turns to realign the detectors to the beacon. After sufficient progress (measured by tape crossings), the turret straightens out and the robot drives directly to the beacon. See the animation below for more clarification. This method for implementing arced turns proved to be simple, cheap and effective, without the need for encoders or reliance on dead reckoning.