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, 0.0 to 1.0 (default 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, 0.0 to 1.0 (default 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, 0.0 to 1.0 (default 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, 0.0 to 1.0 (default 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)