Docs / RaptCore / Tuning

Tuning the follower

20 min readUpdated Sep 2026Edit on GitHub ↗

● Layout preview — the docs open with the first release; this text is a placeholder

Before you start

Tune on a charged battery, on the same field tiles you compete on. The follower reads every gain from FollowerConfig, so keep one config per robot.

TipOpen RaptDash first — every gain on this page is live-tunable there, so you never redeploy between tries.

1. Feedforward

Feedforward does most of the work. Get it right and the PID terms only clean up small errors.

FollowerConfig.java
// Example values — measure your own drivetrain
config.kV = 0.0132;
config.kA = 0.0021;
config.kStatic = 0.06;
config.useVoltageCompensation = true;

2. Translational PID

Run the straight-line test OpMode and raise kP until the robot overshoots, then back off by a third.

GainStartWatch for
kP0.08Oscillation at the end of the path
kD0.004Jitter while cruising
kI0Leave at zero unless you have steady drift

3. Heading

Heading uses its own PID plus a rate feedforward. Tune it with the spin test — the robot should hold its angle through a full strafe.

Heads upIf heading drifts only at high speed, check wheel slip before adding gain.

4. Verify in the sim twin

Run the regression replays. If every fixture stays under the drift limit, your constants are ready for the real field.