Drafted collectorAlignment module: State machine for positioning the robot
over the sample using OpenCV and feedback from the microcontrollers.

One issue is we need to know which camera is being used at the linux level
or else the robot doesn't know when to stop or slow down in time. The top
and bottom cameras pretend to be like a single camera using the current
API, so whatever speed the robot is going when it is perfectly centered
with the TBCAM's it will also be going at that speed when it switches to
the PIECAM. This will likely lead to the robot passing straight past the
sample, regardless of the PIECAM framerate, due to the fact that the rover
has some derivative factor in its PID speed control preventing it from
stopping on a dime. A solution would be to provide a single helper
function to poll which camera is currently in use so a slow enough speed
can be used as the sample enters the field of vision of the PIECAM