Following the HW team meeting on 1/23/18, here is how the intake will work.
Theory of operation.
The intake ingests a Cube and presses it against the frame of the robot. There is no notch in the frame to recess the Cube. When not in use, the intake should always be raised safely out of the way to prevent potential damage from field and robot collisions. The intake's job is only to retrieve a Cube. It does not deliver the Cube to its final destination; that's the job of the arm.
Mechanical and Electrical Details.
There are 2 arms on the intake, each mounted to a carriage plate that allows the arm to swivel by some amount on the horizontal plane. The amount of movement is limited such that when the 2 arms pinch the Cube, they hold it firmly. Each arm has some tension (from unknown material - spring, rubber band, tubing, etc) to put pressure on the Cube; but not so much pressure that it the arm can not be separated by lateral forces from a Cube's presence in the intake.
Each intake motor will turn at the same speed with 4 inch high grip wheels. The carriage is deployed up and down by a 3rd motor. In the Up (initial) position, the entire assembly is inside the robot perimeter. In the Down position, it is ready for use. There are no intermediate positions. Two limit switches protect the motor that moves the carriage up and down.
Two limit switches are mounted near the rear of the arms. When deployed in the Down position, these switches detect the presence of a Cube in the holding position. The 2 switches will be wired in series and will be connected to the RoboRio. They can also be connected to the intake motors to stop them.
Both intake motors are wired to their own motor controllers and have their own power connection on the PDP. Should we need to free up a connection on the PDP, we will drive both motors from one motor controller - this is legal for PG motors per FRC rules.
Optional feature - In the event that a Cube is ingested at a 45 degree angle, the 2 intake motors may not be capable of handling the Cube. This can be solved by either moving the robot laterally and re-engaging at a different angle, or by changing the speed on one of the intake motors to rotate the Cube into a different alignment.