Skip to content
This repository has been archived by the owner on Mar 4, 2019. It is now read-only.

Autonomous Update 1_11

arjunrao87 edited this page Jan 11, 2017 · 7 revisions

Housekeeping

  1. Overview of what the design is gonna look like and how we will have subsystems ( mill, hood, drive, intake, shooter, peg, climber ), actuators( pneumatics, servos ) and sensors ( encoders, camera ) on those. These are open to change.
  2. There will be new feature branches for each of these subsystems and you need to take ownership as per table below
  3. Autonomous mode strategy
  4. We have some wiggle room until the other teams catchup, so lets perfect the drive subsystem.
  5. Status of v1.0.0
  6. Once the drive system current version is fixed per steps below, send pull request to merge into "Develop" [Mahim]
  7. Always look at Issues tab and Projects tab and move issues.
  8. Schedule :
  • Now - 645 : Driver station + clean up v1.0.0
  • 645-745 : PID

Drive subsystem

  1. Lets get the Driver station connected to the basic setup we have and see whats happening
  2. Fix the current iteration as per the following steps
    • No need to have the joystick code in Robot.teleOpPeriodic(). Remove that!
    • We will have 4 speed controllers, not 2
    • Left side is non inverted, right is inverted
    • No joystick in subsystem code
  3. Next steps for the drive subsystem
  • Assign sensitivity to joystick
  • PID
    • Driving straight controller ( wheel optical encoders + NavX )
    • RotateToAngle controller ( wheel optical encoders + NavX )
    • Collision detection ( NavX )
  • Push important driving data to the Smart Dashboard
  • Add some logging to check drive system performance
  • Monitor CPU usage ( once PID controllers are integrated )

PID

  1. PID overview for Mahim, Arlenis
    • P, I, D, F
    • Difference between the theoretical PID and the programmatic PID
    • Important classes and terminologies in WPI lib
    • Using wheel encoders for the drive subsystem is the first task ( to determine 'distance' traversed )
    • Using NavX is the next task ( to determine 'heading' )
    • Not using "extends PIDSubsystem" and neither do I want to "implements PIDOutput" We will use our own PIDController objects
    • Still deciding strategy of placement of PIDController thread.
  2. Using NavX ( Collision detection, AutoBalance and RotateToAngle ) [ http://www.kauailabs.com/public_files/navx-mxp/apidocs/java/com/kauailabs/navx/frc/AHRS.html ] ( Example code : https://github.com/frc4571/ExternalLibrarySampleCode )

Subsystem ownership

  1. Drive( PID ) : Arlenis/Mahim
  2. Intake : Leslie
  3. Mill : Sharom
  4. Shooter ( Camera + PID ) : Mahim
  5. Peg ( PID ) : Arlenis
  6. Hood ( Math + PID ) : Mahim
  7. Climber : Sharom