step.motion.drive_angle_dsl¶
Auto-generated step builders and DSL functions — DO NOT EDIT.
Source: drive_angle.py
Classes¶
Builder for DriveAngle. Auto-generated — do not edit. |
|
Builder for DriveAngleLeft. Auto-generated — do not edit. |
|
Builder for DriveAngleRight. Auto-generated — do not edit. |
Functions¶
|
Drive at an arbitrary angle with distance or condition-based termination. |
|
Drive at an angle to the left with distance or condition-based termination. |
|
Drive at an angle to the right with distance or condition-based termination. |
Module Contents¶
- class step.motion.drive_angle_dsl.DriveAngleBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveAngle. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_angle_dsl.drive_angle(angle_deg: float = _UNSET, cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None)¶
Drive at an arbitrary angle with distance or condition-based termination.
Decomposes the desired heading into forward and lateral velocity components, then runs a profiled PID controller in a rotated coordinate frame with heading maintenance and cross-track correction.
Requires a mecanum or omni-wheel drivetrain.
Angle convention (robot-centric):
0= forward,90= right,-90= left,180= backward.- Parameters:
angle_deg – Travel angle in degrees.
cm – Distance to travel in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination.
- Returns:
A DriveAngleBuilder (chainable via
.angle_deg(),.cm(),.speed(),.until(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import drive_angle # Drive diagonally forward-right at 45 degrees drive_angle(45, cm=30) # Drive pure right (same as strafe_right) drive_angle(90, cm=20)
- class step.motion.drive_angle_dsl.DriveAngleLeftBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveAngleLeft. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_angle_dsl.drive_angle_left(angle_deg: float = _UNSET, cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None)¶
Drive at an angle to the left with distance or condition-based termination.
Convenience wrapper around
DriveAnglethat negates the angle so that theangle_degparameter is always positive (pointing left).The angle is measured as degrees to the left of forward:
0= forward,45= forward-left diagonal,90= pure left.- Parameters:
angle_deg – Degrees to the left of forward (0 = forward, 90 = pure left).
cm – Distance to travel in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination.
- Returns:
A DriveAngleLeftBuilder (chainable via
.angle_deg(),.cm(),.speed(),.until(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import drive_angle_left # Drive diagonally forward-left at 45 degrees drive_angle_left(45, cm=30) # Drive pure left until sensor drive_angle_left(90, speed=0.6).until(on_black(s))
- class step.motion.drive_angle_dsl.DriveAngleRightBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveAngleRight. Auto-generated — do not edit.
- until(value: raccoon.step.condition.StopCondition)¶
- step.motion.drive_angle_dsl.drive_angle_right(angle_deg: float = _UNSET, cm: float = None, speed: float = 1.0, until: raccoon.step.condition.StopCondition = None)¶
Drive at an angle to the right with distance or condition-based termination.
Convenience wrapper around
DriveAnglethat passes the angle directly (positive = right in the robot frame).The angle is measured as degrees to the right of forward:
0= forward,45= forward-right diagonal,90= pure right.- Parameters:
angle_deg – Degrees to the right of forward (0 = forward, 90 = pure right).
cm – Distance to travel in centimeters. Omit to use condition-only mode.
speed – Fraction of max speed, 0.0 to 1.0.
until – Stop condition for early termination.
- Returns:
A DriveAngleRightBuilder (chainable via
.angle_deg(),.cm(),.speed(),.until(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import drive_angle_right # Drive diagonally forward-right at 45 degrees drive_angle_right(45, cm=30) # Drive pure right until sensor drive_angle_right(90, speed=0.6).until(on_black(s))