Edward Scissor Lift

Client: Geared Reaction Robotics Club
Task: Design Production Development Quality Assurance
Skills: Java Writing
This robot was designed, built, and programmed by the Geared Reaction Robotics team. As team captain and lead programmer, I was a major contributor to the design of control systems and automation. Through preparation and thorough testing, we were able to develop the highest scoring autonomous program for the FTC West Super Regional Championship.

Autonomous:

Robot starts on the ramp

  1. Starting Position
    1. Initialize servo positions and calibrate gyro sensors
    2. Set baseline intensity for ball counter sensors
    3. If drift is greater that 2°, re-calibrate the necessary gyro sensors
  2. Move backward down the ramp while monitoring the tilt angle with gyros
    1. Gyros allow monitoring tilt and rotation with high resolution
    2. Encoder readings are used as a failsafe in case of gyro failure
  3. When the tilt angle returns to near 0°
    1. Turn back and forth to correct for potential slippage from the ramp
    2. Reset the drive motor encoder values
  4. When the floor is reached several things happen:
    1. Begin extending the scissor lift to the 60 cm goal height
    2. Slow down and latch on to the rolling goal
  5. When the robot reaches the rolling goal:
    1. Wait until the lift is fully extended and dump the small ball
    2. Back up in an arc away from the wall
    3. Turn around 152° anticlockwise
    4. Begin driving backward toward the floor parking zone
  6. 60cm rolling goal reaches the line between the parking zone and the 90cm:
    1. Release the 60cm rolling goal
    2. Turn around and drive backward to the 90cm rolling goal
    3. Advance the ball conveyor to move the large ball to the hopper
  7. When the robot reaches the 90cm rolling goal
    1. Latch on, drive forward slightly, release, drive backward, latch again to realign the goal for scoring
    2. Extend the scissor lift simultaneously with the previous task
    3. Score the large ball into the 90cm rolling goal
  8. Drive back to parking zone while pushing the 60cm and pulling the 90cm goals

Teleop: During teleop, our robot uses several automated routines and an exponential control equation to provide ease of control:

  • Exponential control allows the driver to control the robot precisely at low speeds, while retaining high speed operation capability.
  • The robot monitors the number of balls collected:
    • Indicates number of balls with a colored wheel (black = 0, green = 5)
    • Adjusts the base brightness to account for changes in lighting
  • Count of automatically collected balls is retained from autonomous
  • When the ball count reaches five, several automated actions happen:
    • Reverse the belt for one second to avoid controlling extra balls
    • Extend the scissor lift to the selected preset position (or default if none selected)
    • Don’t allow collection of additional balls until balls have been released
  • Although operation of the ball collection subsystem can be fully automated, the driver still has override control over all aspects:
    • Can trigger start of ball collection
    • Can reverse the collection conveyor
    • Control and fine adjustment of scissor lift height
    • Extend lift to selected preset by pressing in thumbstick