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

Whenever you feel ready, come talk to your controls leaders or mentors and we will take you out to take your test. It'll take around 30-40 mins to complete so plan & prepare in advance! There are 2 overarching sections, the Verbal Q&A and Practical Written Responses. For this test, you will need to use paper for written responses, your computer for the final section, and your brain! 

 

Resources

  • OSB code

  • Previous seasons robot code

  • This Wiki book

  • More coming in the future!

 

Good Luck and Happy Testing!