Telemetry as Instrumentation
Use telemetry as a structured debugging interface instead of random printouts.
Use telemetry as a structured debugging interface instead of random printouts.
In this lesson, you will:
Telemetry is the robot's voice. It should not be a junk drawer of every variable; it should be instrumentation that answers the question the team is currently testing.
For any behavior, telemetry should reveal the path from driver input to robot output. A drive bug needs axes and powers. A lift bug needs state, target, position, and output. A vision bug needs raw scores and selected result.
Write telemetry in groups. Use prefixes such as drive/, arm/, vision/, or auto/. During practice, print more detail. Before competition, keep the values the drive team can actually use.
StructuredTelemetry.javaJava
telemetry.addData("arm/input/a", gamepad2.a);
telemetry.addData("arm/state", armState);
telemetry.addData("arm/target ticks", targetTicks);
telemetry.addData("arm/position ticks", armMotor.getCurrentPosition());
telemetry.addData("arm/output", lastOutput);
telemetry.update();Telemetry can lie by omission. If only the output is printed, the team cannot tell whether the input, state, or target was wrong. If too many values are printed, nobody reads them under pressure.
Pick one existing mechanism and replace vague telemetry with five labeled values: input, state, target, measurement, and output.
Check your understanding before moving on.
0 of 2 answered