step.motion.arc_dsl¶
Auto-generated step builders and DSL functions — DO NOT EDIT.
Source: arc.py
Classes¶
Builder for DriveArcLeft. Auto-generated — do not edit. |
|
Builder for DriveArcRight. Auto-generated — do not edit. |
|
Builder for StrafeArcLeft. Auto-generated — do not edit. |
|
Builder for StrafeArcRight. Auto-generated — do not edit. |
Functions¶
|
Drive along a circular arc curving to the left. |
|
Drive along a circular arc curving to the right. |
|
Strafe along a circular arc curving to the left. |
|
Strafe along a circular arc curving to the right. |
Module Contents¶
- class step.motion.arc_dsl.DriveArcLeftBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveArcLeft. Auto-generated — do not edit.
- step.motion.arc_dsl.drive_arc_left(radius_cm: float = _UNSET, degrees: float = _UNSET, speed: float = 1.0)¶
Drive along a circular arc curving to the left.
The robot drives forward while simultaneously turning counter-clockwise, tracing a circular arc of the given radius. The motion completes when the robot has turned by the specified number of degrees.
- Parameters:
radius_cm – Turning radius in centimeters (center of arc to robot center).
degrees – Arc angle in degrees (how much the robot turns).
speed – Fraction of max speed (default 1.0). The sign sets the travel direction: positive drives the arc forwards, negative drives it backwards along the same circle (the arc centre stays on the same side, the robot reverses and its heading turns the opposite way). The magnitude is clamped to [0.01, 1.0].
- Returns:
A DriveArcLeftBuilder (chainable via
.radius_cm(),.degrees(),.speed(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import drive_arc_left # Quarter-circle left with 30 cm radius drive_arc_left(radius_cm=30, degrees=90) # Gentle wide arc at half speed drive_arc_left(radius_cm=50, degrees=45, speed=0.5)
- class step.motion.arc_dsl.DriveArcRightBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for DriveArcRight. Auto-generated — do not edit.
- step.motion.arc_dsl.drive_arc_right(radius_cm: float = _UNSET, degrees: float = _UNSET, speed: float = 1.0)¶
Drive along a circular arc curving to the right.
The robot drives forward while simultaneously turning clockwise, tracing a circular arc of the given radius. The motion completes when the robot has turned by the specified number of degrees.
- Parameters:
radius_cm – Turning radius in centimeters (center of arc to robot center).
degrees – Arc angle in degrees (how much the robot turns).
speed – Fraction of max speed (default 1.0). The sign sets the travel direction: positive drives the arc forwards, negative drives it backwards along the same circle (the arc centre stays on the same side, the robot reverses and its heading turns the opposite way). The magnitude is clamped to [0.01, 1.0].
- Returns:
A DriveArcRightBuilder (chainable via
.radius_cm(),.degrees(),.speed(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import drive_arc_right # Quarter-circle right with 30 cm radius drive_arc_right(radius_cm=30, degrees=90)
- class step.motion.arc_dsl.StrafeArcLeftBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for StrafeArcLeft. Auto-generated — do not edit.
- step.motion.arc_dsl.strafe_arc_left(radius_cm: float = _UNSET, degrees: float = _UNSET, speed: float = 1.0)¶
Strafe along a circular arc curving to the left.
The robot strafes laterally (to the right) while simultaneously turning counter-clockwise, tracing a circular arc of the given radius. The motion completes when the robot has turned by the specified number of degrees.
Internally uses a profiled PID on heading and derives the lateral velocity from the angular velocity command:
vy = |omega| * radius. This produces coordinated acceleration along the arc.- Prerequisites:
Requires a mecanum or omni-wheel drivetrain capable of lateral motion.
- Parameters:
radius_cm – Turning radius in centimeters (center of arc to robot center).
degrees – Arc angle in degrees (how much the robot turns).
speed – Fraction of max speed (default 1.0). The sign sets the travel direction: positive drives the arc forwards, negative drives it backwards along the same circle (the arc centre stays on the same side, the robot reverses and its heading turns the opposite way). The magnitude is clamped to [0.01, 1.0].
- Returns:
A StrafeArcLeftBuilder (chainable via
.radius_cm(),.degrees(),.speed(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import strafe_arc_left # Quarter-circle strafe arc to the left with 30 cm radius strafe_arc_left(radius_cm=30, degrees=90) # Gentle wide strafe arc at half speed strafe_arc_left(radius_cm=50, degrees=45, speed=0.5)
- class step.motion.arc_dsl.StrafeArcRightBuilder¶
Bases:
raccoon.step.step_builder.StepBuilderBuilder for StrafeArcRight. Auto-generated — do not edit.
- step.motion.arc_dsl.strafe_arc_right(radius_cm: float = _UNSET, degrees: float = _UNSET, speed: float = 1.0)¶
Strafe along a circular arc curving to the right.
The robot strafes laterally (to the left) while simultaneously turning clockwise, tracing a circular arc of the given radius. The motion completes when the robot has turned by the specified number of degrees.
Internally uses a profiled PID on heading and derives the lateral velocity from the angular velocity command:
vy = |omega| * radius. This produces coordinated acceleration along the arc.- Prerequisites:
Requires a mecanum or omni-wheel drivetrain capable of lateral motion.
- Parameters:
radius_cm – Turning radius in centimeters (center of arc to robot center).
degrees – Arc angle in degrees (how much the robot turns).
speed – Fraction of max speed (default 1.0). The sign sets the travel direction: positive drives the arc forwards, negative drives it backwards along the same circle (the arc centre stays on the same side, the robot reverses and its heading turns the opposite way). The magnitude is clamped to [0.01, 1.0].
- Returns:
A StrafeArcRightBuilder (chainable via
.radius_cm(),.degrees(),.speed(),.on_anomaly(),.skip_timing()).
Example:
from raccoon.step.motion import strafe_arc_right # Quarter-circle strafe arc to the right with 30 cm radius strafe_arc_right(radius_cm=30, degrees=90)