Getting Started with FRC / Java Development
Zero to Robot is a step by step guide for FRC. Very good.
We use VS Code for our integrated developer environment (IDE)
We use GitHub for our code repositories.
WPILib is the main framework we use for software development running on the robot, This section gets you familiar with it.
WPILib javadocs
We have had a lot of success with the Command based design patternÂ
There are a bunch of sample programs that cover most of the functionality you need out of running a robot.
Additional vendor APIs we leverage are:
KauiLabs NavX for our Gyro
Rev Robotics
Swerve
Vision Processing - PhotonVisionÂ
Example Code - also see YAGSL example
A common way that we'll control mechanisms is through a control loop called PID. This article does a great job of explaining PID through the example of a flywheel shooter: https://trickingrockstothink.com/blog_posts/2019/10/19/tuning_pid.html.
To choose between multiple different autonomous modes, follow this explanation: https://docs.wpilib.org/en/stable/docs/software/dashboards/smartdashboard/choosing-an-autonomous-program-from-smartdashboard.html