WestlakeLEARN
FTC / Java

First Tech Challenge

FTC / Java

01 · Java for FTC
  • OpMode Anatomy and Hello Robot
  • Variables, Math, and Decisions
  • Methods, Classes, and Robot Helpers
02 · FTC Hardware Essentials
  • Hardware Map and RobotHardware
  • Motors, Servos, and Sensors
  • IMU, Encoders, and Bulk Caching
03 · TeleOp and Mecanum
  • Robot-Centric Mecanum Drive
  • Field-Centric Driving
  • Driver Ergonomics and Safe TeleOp
04 · Subsystems and Commands
  • Subsystem Lifecycle
  • Enums and Finite State Machines
  • Command-Based OpModes
05 · From Timed Steps to Actions
  • Timed and Encoder Autonomous
  • Autonomous State Machines
  • Actions and Sequencing
06 · PID and Feedforward2/3
  • PID Basics
  • Feedforward and PIDF
  • Dashboard Tuning Workflow
07 · Motion Profiling
  • Motion Profile Concepts
  • Implementing a Profiled Mechanism
  • Testing Profiles and Failure Modes
08 · OpenCV and AprilTags
  • VisionPortal Camera Setup
  • OpenCV Color and Region Processors
  • AprilTags and Field Pose
09 · Setup and Tuning
  • Road Runner 1.0 Install and Drive Class
  • Feedforward Tuning
  • Localization and Validation
10 · Trajectories, Actions, and MeepMeep
  • Action Builder and Trajectories
  • MeepMeep Preview
  • Full Road Runner Autonomous
11 · Git, Debugging, and Competition Readiness
  • Git Workflow for FTC Teams
  • Telemetry-First Debugging
  • Competition Readiness Checklist
12 · Driver Control
  • Driver Control
13 · Autonomous Build
  • Simple Autonomous
14 · Debugging
  • Debugging with Telemetry

06 / PID and Feedforward

Feedforward and PIDF

Add known model terms so PID does less work.

70 minControlPID and Feedforward

You will

  1. 01Explain the role of feedforward.
  2. 02Identify static, velocity, and acceleration terms.
  3. 03Use feedforward plus feedback for smoother control.

Why Feedforward and PIDF matters

This lesson is about feedback and prediction. Students should understand target, measurement, error, output, and the difference between reacting to error with PID and predicting required effort with feedforward.

Starting point

Feedback corrects; feedforward predicts

PID reacts to error after it appears. Feedforward estimates the power needed for desired motion before the mechanism falls behind. Road Runner tuning uses this idea through kS, kV, and kA.

kS, kV, and kA have physical meaning

kS overcomes static friction, kV maps desired velocity to voltage, and kA maps desired acceleration to extra voltage. Students should connect these to robot behavior, not memorize them as mystery constants.

Build path

Begin with a safe, slow, observable mechanism. Graph target, actual value, error, and output. Tune one idea at a time: proportional response first, damping second, feedforward when the team can describe the physical effort the mechanism needs.

For this specific lesson, students should first restate the goal in robot terms, then identify the value or behavior they expect to observe, then run the smallest test that proves the idea. The lesson should feel like a guided lab: predict, run, observe, explain, and only then extend.

PIDFOutput.java · Java

double feedback = kP * error + kD * derivative;
double feedforward = kS * Math.signum(targetVelocity)
        + kV * targetVelocity
        + kA * targetAcceleration;

double output = feedback + feedforward;
motor.setPower(Math.max(-1.0, Math.min(1.0, output)));

Debugging and failure modes

Control bugs come from both code and physics. A bad encoder sign, sticky mechanism, saturated output, or impossible target can look like a tuning problem. The lesson should teach students to inspect measurements and constraints before increasing gains.

Practice

For a mechanism or drivetrain tuning log, label which behavior kS, kV, and kA affect. Add telemetry for feedback, feedforward, and total output.

Checks

  • Feedforward and feedback are displayed separately.
  • The sign of kS matches the desired direction.
  • The final output is clamped before motor command.

Check your understanding

Module check

Which term helps overcome static friction?

0 of 1 answered

References

Road Runner 1.0 DocsRoad Runner 1.0 installation, tuning, actions, and trajectory reference.Game Manual 0Community FTC programming, control, and robot design reference.FTC DashboardTelemetry, config variables, and tuning support.

Finished reading?

Mark this lesson complete.

You'll move on to “Dashboard Tuning Workflow” next.

PID BasicsDashboard Tuning Workflow