Software
Basics
- Android Studio Setup Installing Android Studio and opening the FTC SDK on Windows and Mac.
- Basics of Motors and Servos Controlling DC motors, servos, and continuous rotation servos in Java.
- Basics of Wiring and Configuration Connecting motors, servos, and sensors to the hub and configuring them in the Driver Station app.
- Getting Started What FTC is and what you need before writing code.
- Subsystem Architecture and Code Organization Splitting robot code into one class per mechanism.
- Telemetry and Debugging Best Practices Finding problems with telemetry, isolation, and Logcat.
- Types of OpModes The difference between OpMode and LinearOpMode.
Sensors
- Color Sensor Reading RGB, HSV, and distance from the REV Color Sensor.
- Distance Sensor Reading the REV 2m Distance Sensor.
- Pinpoint Odometry Computer Reading field position and heading from the goBILDA Pinpoint.
- Touch Sensor Reading the REV Touch Sensor as a digital channel and using it as a limit switch.
- Universal IMU Guide Reading heading from the Control Hub IMU with the universal IMU interface.
Vision
Control
- Feedforward Control Adding feedforward terms to hold position against gravity and track velocity.
- PID Control Proportional, integral, and derivative control with a Java implementation and tuning steps.
- Understanding Loop Times What loop time is, what makes it slow, and how to measure it.
- Understanding Loop Times What loop time is, what makes it slow, and how to measure it.
Encoder Based
Miscellaneous
- Bulk Reads Reading all hub motor data in one command with LynxModule bulk caching.
- Common Practices Habits that keep FTC code readable and working at competition.
- FTC Dashboard & Live PID Tuning Changing constants and graphing telemetry from a browser while the OpMode runs.
- Mecanum Drivetrain The kinematics and code for a four motor mecanum drivetrain.