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

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