step.motion.drive_dsl¶
Auto-generated step builders and DSL functions — DO NOT EDIT.
Source: drive.py
Classes¶
Builder for DriveForward. Auto-generated — do not edit. |
|
Builder for DriveBackward. Auto-generated — do not edit. |
|
Builder for StrafeLeft. Auto-generated — do not edit. |
|
Builder for StrafeRight. Auto-generated — do not edit. |
Functions¶
|
Drive forward with distance or condition-based termination. |
|
Drive backward with distance or condition-based termination. |
|
Strafe left with distance or condition-based termination. |
|
Strafe right with distance or condition-based termination. |
Module Contents¶
- class step.motion.drive_dsl.DriveForwardBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveForward. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_dsl.drive_forward(cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None, heading: float = None)¶
Drive forward with distance or condition-based termination.
Uses profiled PID motion control with a trapezoidal velocity profile. The robot accelerates, cruises, and decelerates while maintaining heading via IMU feedback. When
headingis given, the controller holds that absolute heading (degrees from heading reference) instead of the heading at start, preventing drift accumulation across consecutive drives.Requires
calibrate_distance()for distance-based mode. Requiresmark_heading_reference()when usingheading.- Parameters:
cm – Distance in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination (e.g.,
on_black(sensor)). Can also be chained via the.until()builder method.heading – Absolute heading in degrees from the heading reference to hold during this drive.
None(default) holds the heading at the start of the drive (relative mode).
- Returns:
A DriveForwardBuilder (chainable via
.cm(),.speed(),.until(),.heading(),.on_anomaly(),.skip_timing()).
Example:
drive_forward(25) # 25 cm, relative heading drive_forward(25, heading=90) # hold 90° absolute drive_forward(speed=0.8).until(on_black(s)) # until sensor
- class step.motion.drive_dsl.DriveBackwardBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveBackward. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_dsl.drive_backward(cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None, heading: float = None)¶
Drive backward with distance or condition-based termination.
Identical to
drive_forward()but in reverse. Uses profiled PID motion control while maintaining heading via IMU feedback. Supports the sameheadingparameter for absolute heading hold.Requires
calibrate_distance()for distance-based mode. Requiresmark_heading_reference()when usingheading.- Parameters:
cm – Distance in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination (e.g.,
on_black(sensor)). Can also be chained via the.until()builder method.heading – Absolute heading in degrees from the heading reference to hold during this drive.
None(default) holds the heading at the start of the drive (relative mode).
- Returns:
A DriveBackwardBuilder (chainable via
.cm(),.speed(),.until(),.heading(),.on_anomaly(),.skip_timing()).
Example:
drive_backward(20) drive_backward(20, heading=0) # hold 0° absolute drive_backward(speed=0.5).until(on_white(s))
- class step.motion.drive_dsl.StrafeLeftBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for StrafeLeft. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_dsl.strafe_left(cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None, heading: float = None)¶
Strafe left with distance or condition-based termination.
Requires a mecanum or omni-wheel drivetrain. The robot moves laterally to the left while maintaining heading via IMU feedback. Supports the same
headingparameter for absolute heading hold.Requires
mark_heading_reference()when usingheading.- Parameters:
cm – Distance in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination (e.g.,
on_black(sensor)). Can also be chained via the.until()builder method.heading – Absolute heading in degrees from the heading reference to hold during this strafe.
None(default) holds the heading at the start of the strafe (relative mode).
- Returns:
A StrafeLeftBuilder (chainable via
.cm(),.speed(),.until(),.heading(),.on_anomaly(),.skip_timing()).
Example:
strafe_left(15) strafe_left(15, heading=90) # hold 90° absolute strafe_left(speed=0.6).until(on_black(s))
- class step.motion.drive_dsl.StrafeRightBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for StrafeRight. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_dsl.strafe_right(cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None, heading: float = None)¶
Strafe right with distance or condition-based termination.
Requires a mecanum or omni-wheel drivetrain. The robot moves laterally to the right while maintaining heading via IMU feedback. Supports the same
headingparameter for absolute heading hold.Requires
mark_heading_reference()when usingheading.- Parameters:
cm – Distance in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination (e.g.,
on_black(sensor)). Can also be chained via the.until()builder method.heading – Absolute heading in degrees from the heading reference to hold during this strafe.
None(default) holds the heading at the start of the strafe (relative mode).
- Returns:
A StrafeRightBuilder (chainable via
.cm(),.speed(),.until(),.heading(),.on_anomaly(),.skip_timing()).
Example:
strafe_right(15) strafe_right(15, heading=0) # hold 0° absolute strafe_right(speed=0.6).until(on_black(s))