Skip to main content

L2 Standards - Robot Programming

L2 Programmers are a major step up from L1s. They have a solid foundation of OOP and a good understanding of creating robot code specifically. L2s will work on the current season's competition robot to develop its code during build season.

Responsibilities (overview):

  • Design computer vision algorithms and strategy

  • Develop the Java competition robot program and other high-level functions

  • Create program documentation as it relates to the competition Java program and maintain it throughout the life of the Robot

  • Work with the drive team to develop their preferred control scheme

  • Develop the competition autonomous routines in code/auto software (Choreo, Pathplanner, etc.)

Requirements:

  • Must have all the L1 skills

  • Must be able to write code in Java

  • IntelliJ IDEA, GitHub

 

Benchmarks

Knowledge Check
  1. Debugging & Diagnosing Errors

    • When given a common logic error that you will eventually encounter as an L2, you must be able to identify the source of the issue and how to fix it.

  2. Phoenix Tuner

    • Have a solid understanding of Phoenix Tuner, what it does, and some common things we do on it.

  3. Basic Vision

    • Not very intricate about the cameras or their implementation, but know the basics of setting up Limelights & Arducams/PhotonVision.

  4. Status Lights & Electrical

    • Common TalonFX status lights should be known at a glance to help narrow down where to solve the issue if there is one without needing to call over an electrical kid.

  5. Simulation

    • Understand AdvantageScope, how we test code on it, and be able to demonstrate yourself doing that.

  6. Understanding Unfamiliar Code

    • Look at a new repository's code for the first time and thoroughly explain what it does.

Practical Skills Check

  1. Code & Explain a Simple Subsystem with AdvantageKit

    • After working on OSB & the CADathon, you should be able to provide the general gist of each Akit file, and be able to write code down for methods/constructors when asked.

  2. Implement New Code on an Exisitng Repository & Git/GitHub

    • On a pre-established repository, be able to userstand the code on the fly to be able to make additions to the code, even if you weren't on the original development team.

    • Git/GitHub should become second nature, so have the knowledge to use GitHub and Git terminal commands whenever neccessary.

Assessing