Skip to lesson
Westlake RoboticsLearn
Vault

FIRST Tech Challenge

Loading progress…

  • P Control Basics
  • PD Control and Damping
  • Integral Control and When Not to Use It
  • PIDF and Feedforward
  • Dashboard Tuning Workflow

PD Control and Damping

Use derivative behavior to reduce overshoot.

PID and Feedforward ControlControl

In this lesson, you will:

  • Identify overshoot.
  • Add damping carefully.
  • Avoid noisy derivative values.

Concept narrative

Derivative response reacts to how error is changing. In FTC mechanism tuning, this often acts like damping that helps reduce overshoot and oscillation.

Robot mental model

A mechanism with only P may rush past the target. D asks whether the mechanism is approaching too quickly and subtracts some output before it overshoots.

Implementation walkthrough

Start from a working P controller. Calculate error change over time or use velocity when appropriate. Add a small D term and graph before/after behavior.

PDController.javaJava

double derivative = (error - lastError) / dt;
double output = kP * error + kD * derivative;
lastError = error;

Common mistakes and debugging

Derivative amplifies noise. If measurement is noisy, D can make output twitch. If loop time is inconsistent, derivative math gets worse.

Practice

Add a D term to the P lift controller and compare overshoot across three target moves.

Checkpoint

  • Overshoot is measured.
  • D is tuned after P.
  • Noisy output is recognized.
  • The test record includes the setup, prediction, and observed result.
  • A teammate can repeat the check from the saved evidence without guessing.

Reflection check

Check your understanding before moving on.

What does the derivative term estimate in a PD controller?
Why is an inconsistent loop interval a problem for (error - lastError) / dt?

0 of 2 answered

References

Game Manual 0FTC community reference for programming, controls, and robot design.FTC DashboardLive telemetry, graphs, config variables, and camera streaming.
Loading lesson progress
Previous lessonP Control BasicsNext lessonIntegral Control and When Not to Use It