From DEW Robotics
Jump to: navigation, search
The control system is implemented by the Electrical and Programming teams, who are charged with providing motor controllers, sensors, and programming to enable the robot to meet competition goals. Control.jpg

("The Amazing Machine", The Franklin Institute)

2013 Control System

Competition Season Code

Punchlist for February 19 - February 27

  1. Caterpillar
    1. Debug compressor code issues
    2. Confirm timing of engaging sequence for front leg
    3. Confirm sequence WITHOUT DRIVE MOTOR: front prox, front LS, mid prox, mid LS, back LS
    4. Confirm sequence WITH DRIVE MOTOR, preferably on pyramid with safety rope
    5. Confirm beginning and ending of climb sequence; modify code if needed
    6. Test entire climbing procedure on pyramid with safety rope
  2. Shooter
    1. Confirm shooting sequence, including timing
    2. Confirm elevation control
    3. Test shooting
  3. Arm
    1. Gather angle data for docking positions
    2. Implement PID control of motor
    3. Test
  4. Targeting
    1. Test on driver station with shooter for accuracy
  5. Dashboard and User Interface
    1. Gather controls needed on dashboard
    2. Build custom dashboard
    3. Confirm UI for driver and operator
  6. Autonomous
    1. Use dashboard control for switches
    2. Implement primitives
    3. Test
  7. Integration
    1. Build entire robot project
    2. Test


In Week 2, we brainstormed the software module breakdown:

  • Caterpillar
    • Caterpillar front leg (1)
    • Caterpillar back legs (2)
    • Skid Extender
  • Drive
    • pivot drive (4)
    • Ocelot
  • UI (User Interface)
  • Shooter
  • Feeder
  • Compressor




  • Front Leg
    • Sensor indicates corner proximity
    • LS indicates down
    • Solenoid Claw grab/release
    • Solenoid Foot down/up (dual acting)
  • Middle Leg
    • Sensor indicates corner proximity
    • LS indicates down
    • Solenoid Claw grab/release
  • Back Leg
    • LS indicates down
    • Solenoid Claw grab/release
  • Skid Extender
    • Solenoid Extend/Retract (dual acting)


User story: driving up the pole

  • When the robot is turned off, the front foot is wherever it was last and all claws are Grab. The skid extender is wherever it was last.
  • When you turn on the robot, the front foot should be down. All claws should be released. Skid extender should be retracted.
  • Drive up to the pole, using camera to align the pole with the first caterpillar leg.
  • Drive up the pole.
  • Grab the pole with the front claw
  • Press the climb button and hold it.
  • As long as the climb button is held, the robot will climb until it reaches the top.
  • If the driver lets go of the climb button, the robot will stop.
  • If the operator hits an emergency override button the robot will stop.

User story: beginning sequence

  • Grab the pole with the front claw (the front foot is already down)
  • Start the motor
  • after a bit, grab the pole with the second claw
  • after a further time, grab the pole with the third claw

User story: ending sequence

  • When you detect third horizontal pole, disengage the front leg
  • drive for a little bit (until the front hits the top part of the pyramid)
  • stop the motor

User story: manual intervention

  • Once the robot gets to the top of the pole, the driver will manually control the robot to get to the optimum scoring position.
  • If the robot gets unaligned during the ascent, the driver will be able to control the the skid extender, motor, and three legs.
  • We may give the foot and leg control to the drivers during the manual intervention. This will depend on the meetings we have with the drive team.


User Stories

  • The motor can be turned on or off by the user, and the velocity of the motor at its shooting speed is always the same.
    • The motor takes time to reach its correct shooting speed.
    • At the moment, no motor reversal is planned.
  • Press the trigger, and it shoots the Frisbee.
  • If you keep the trigger pressed, it will push out all of the Frisbees in the magazine as fast as possible (as it takes the motor to speed up again).
  • If you don't keep the trigger pressed, but press it again before the motor speeds up to the correct speed, it will not shoot until the motor speeds up.
  • If you set the elevation up or down, the shooter platform's elevation changes to each predetermined height.



  • ARM (Motor + Encoder PID controlled)
    • Feed position
    • Dunk position
    • Floor position
  • GRIPPER (Solenoid)
    • Open/Closed
  • FRISBEE DETECTOR (Limit switch)
    • True/False

User Stories

User story: normal feeding

  • Go to "feed position"
  • Set gripper to "open"

User story: floor pickup

  • Operator lowers arm to "floor position"
  • Driver scoops the Frisbee
  • Operator sets gripper to "closed"
  • Operator raises arm to "feed position"
  • Operator sets gripper to "open," Frisbee slides into magazine

User story: dunking

  • Operator puts arm into "four frisbee feed position," sets gripper to "open"
  • Human player loads four Frisbees
  • Operator sets gripper to "closed"
  • Caterpillar finishes
  • Operator sets arm to "dunk position"
  • Operator sets gripper to "open"

User story: automatic floor pickup (OPTIONAL - LOW PRIORITY)

  • Operator lowers arm to "floor position"
  • Gripper automatically opens
  • Driver scoops Frisbee into feeder
  • Frisbee detector detects Frisbee, gripper automatically closes
  • Operator raises arm to "feed position," gripper automatically releases when position is reached