Skip to main content

Introduction

Although the life of the formal 2020 season was cut short, the robot code as it stands can be used as a reference for the various software patterns and control methodologies used on Aces High.

Notable features

Year Specific

Library features

  • Calibration generation
  • Live data viewing
    • LabVIEW dashboards
    • Network tables
  • Lifetime statistics
  • Co-proc
    • Logging

Topics

System Design

System Design

Software Notes

Software Notes

Project structure

Project structure

Final thoughts

Would-be Planned Features

  • Vision skew correction (to allow us to find and hit the inner port)
  • 8 ball auto (by picking up the last two in the trench)
  • Turret near vs far gains. Code is there just not enabled

What I would've done better

  • Error handing. If a drive encoder fails. If the hood encoder failed. Turret not so worried about. If the navx failed
  • Turret was never properly tuned, but it worked so I didn't touch it.
  • Limelight pictures, pipeline tuning
  • Better dashboard - show motor temps
  • Make motor init as part of the state machine - that way subsystems can be disabled if need be and the rest of the software can't tell
  • I don't know why you have to call that method twice on the hood
  • Don't use Sparks
    • Initialization issues
    • Accelerator would just go backwards
    • Pain to test using PWM
  • Read the docs - hood encoder
  • Iron out autonomous selection before Saturday of competition

Things that were tremendously helpful (in order from greatest to least)

  • Writing and prototyping subsystems as they were built.
  • OutlineViewer/Shuffleboard telemetry
  • OutlineViewer constants management
  • OutlineViewer configuration recorders
  • Dashboards for tuning/debug
  • CheezyPath improvements
  • Chef laptop configuration
  • Unit tests
  • Poof's pose libraries