step.motion.arc_dsl

Auto-generated step builders and DSL functions — DO NOT EDIT.

Source: arc.py

Classes

DriveArcLeftBuilder

Builder for DriveArcLeft. Auto-generated — do not edit.

DriveArcRightBuilder

Builder for DriveArcRight. Auto-generated — do not edit.

StrafeArcLeftBuilder

Builder for StrafeArcLeft. Auto-generated — do not edit.

StrafeArcRightBuilder

Builder for StrafeArcRight. Auto-generated — do not edit.

Functions

drive_arc_left([radius_cm, degrees, speed])

Drive along a circular arc curving to the left.

drive_arc_right([radius_cm, degrees, speed])

Drive along a circular arc curving to the right.

strafe_arc_left([radius_cm, degrees, speed])

Strafe along a circular arc curving to the left.

strafe_arc_right([radius_cm, degrees, speed])

Strafe along a circular arc curving to the right.

Module Contents

class step.motion.arc_dsl.DriveArcLeftBuilder

Bases: raccoon.step.step_builder.StepBuilder

Builder for DriveArcLeft. Auto-generated — do not edit.

radius_cm(value: float)
degrees(value: float)
speed(value: float)
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.StepBuilder

Builder for DriveArcRight. Auto-generated — do not edit.

radius_cm(value: float)
degrees(value: float)
speed(value: float)
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.StepBuilder

Builder for StrafeArcLeft. Auto-generated — do not edit.

radius_cm(value: float)
degrees(value: float)
speed(value: float)
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.StepBuilder

Builder for StrafeArcRight. Auto-generated — do not edit.

radius_cm(value: float)
degrees(value: float)
speed(value: float)
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)