step.motion.motion_step¶
Base class for motion steps with a unified fixed-rate update loop.
All motion steps share the same async timing pattern: dt calculation, near-zero dt skip, sleep, and hard_stop cleanup. MotionStep owns this loop and exposes on_start / on_update / on_stop lifecycle hooks for subclasses.
Classes¶
Summary of the fixed-rate loop timing observed during one motion step. |
|
Base class for all motion steps. Handles the fixed-rate update loop. |
Module Contents¶
- class step.motion.motion_step.MotionLoopStats¶
Summary of the fixed-rate loop timing observed during one motion step.
- class step.motion.motion_step.MotionStep¶
Bases:
step.StepBase class for all motion steps. Handles the fixed-rate update loop.
- required_resources() frozenset[str]¶
Return the hardware resources this step requires exclusive access to.
For leaf steps (drive, motor, servo), return the resources this step directly uses. Composite steps override
collected_resourcesinstead to include children —required_resourcesstays empty for composites because they don’t touch hardware themselves.
- on_start(robot: raccoon.robot.api.GenericRobot) None¶
Called once before the loop. Override to set up motion/velocity.