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
-
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.
-
-
Phoenix Tuner
-
Have a solid understanding of Phoenix Tuner, what it does, and some common things we do on it.
-
-
Basic Vision
-
Not very intricate about the cameras or their implementation, but know the basics of setting up Limelights & Arducams/PhotonVision.
-
-
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.
-
-
Simulation
-
Understand AdvantageScope, how we test code on it, and be able to demonstrate yourself doing that.
-
-
Understanding Unfamiliar Code
-
Look at a new repository's code for the first time and thoroughly explain what it does.
-
Practical Skills Check
-
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.
-
-
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!