step.calibration.deadzone.step_dsl¶
Auto-generated step builders and DSL functions — DO NOT EDIT.
Source: step.py
Classes¶
Builder for CalibrateDeadzone. Auto-generated — do not edit. |
Functions¶
|
Calibrate motor deadzone via UI-based human observation. |
Module Contents¶
- class step.calibration.deadzone.step_dsl.CalibrateDeadzoneBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for CalibrateDeadzone. Auto-generated — do not edit.
- step.calibration.deadzone.step_dsl.calibrate_deadzone(motor_ports: List[int] | None = None, start_percent: int = 1, max_percent: int = 30, settle_time: float = 0.3)¶
Calibrate motor deadzone via UI-based human observation.
The deadzone is the minimum power percentage required to overcome static friction and start the motor turning. BEMF readings are unreliable at low RPM, so this step ramps motor power from
start_percentupward and asks the operator to confirm when the wheel starts spinning. The result is stored as the motor’sff.kS(static friction) feedforward value.- Parameters:
motor_ports – List of motor ports to calibrate.
Nonecalibrates all drive motors.start_percent – Starting power percentage to test.
max_percent – Maximum power percentage before giving up.
settle_time – Seconds to wait after setting power before asking the operator.
- Returns:
A CalibrateDeadzoneBuilder (chainable via
.motor_ports(),.start_percent(),.max_percent(),.settle_time(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.calibration import calibrate_deadzone # Calibrate all motors with defaults calibrate_deadzone() # Calibrate only motors 0 and 1 calibrate_deadzone(motor_ports=[0, 1])