feathersdk.robot.actuator_systems.three_wheel_swerve_system Module¶
Bases:
ActuatorSystemConfigConfiguration for the navigation system.
- Parameters:
module_name (str)
safe_stop_policy (SafeStopPolicy)
operating_frequency (float)
actuators_share_same_endpoint (bool)
The name of the navigation system.
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Bases:
Generic[TNavigationSystemConfig],ActuatorSystem[TNavigationSystemConfig]A navigation system.
- Parameters:
config (TActuatorSystemConfig)
- class feathersdk.robot.actuator_systems.three_wheel_swerve_system.ThreeWheelSwerveSystemConfig(*, module_name='navigation_system', safe_stop_policy=SafeStopPolicy.DISABLE_ACTUATORS, operating_frequency=10.0, actuators_share_same_endpoint=True, turning_center_motor, turning_right_motor, turning_left_motor, drive_center_motor, drive_right_motor, drive_left_motor, rotation_tolerance=0.02, rotate_in_place_angles={}, rotate_in_place_directions={}, multithreaded_calibration=True)¶
Bases:
NavigationSystemConfig- Parameters:
module_name (str)
safe_stop_policy (SafeStopPolicy)
operating_frequency (Annotated[float, Gt(gt=0.0), Lt(lt=1000.0)])
actuators_share_same_endpoint (bool)
turning_center_motor (RobstrideMotorConfig)
turning_right_motor (RobstrideMotorConfig)
turning_left_motor (RobstrideMotorConfig)
drive_center_motor (RobstrideMotorConfig)
drive_right_motor (RobstrideMotorConfig)
drive_left_motor (RobstrideMotorConfig)
rotation_tolerance (Annotated[float, Gt(gt=0.0), Lt(lt=0.5)])
multithreaded_calibration (bool)
- safe_stop_policy: SafeStopPolicy¶
The safe stop policy to use when encountering a dangerous state.
- turning_center_motor: RobstrideMotorConfig¶
The configuration for the turning center motor.
- turning_right_motor: RobstrideMotorConfig¶
The configuration for the turning right motor.
- turning_left_motor: RobstrideMotorConfig¶
The configuration for the turning left motor.
- drive_center_motor: RobstrideMotorConfig¶
The configuration for the drive center motor.
- drive_right_motor: RobstrideMotorConfig¶
The configuration for the drive right motor.
- drive_left_motor: RobstrideMotorConfig¶
The configuration for the drive left motor.
- rotation_tolerance: float¶
The absolute tolerance in radians for turning motors to be considered at the target position.
- rotate_in_place_angles: Dict[str, float]¶
The angles in radians to point the turning motors to when rotating in place. Key is the motor name.
- rotate_in_place_directions: Dict[str, Literal[1, -1]]¶
The directions in which the turning motors are rotating in place. Key is the motor name.
- model_config: ClassVar[ConfigDict] = {'frozen': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class feathersdk.robot.actuator_systems.three_wheel_swerve_system.ThreeWheelSwerveSystem(config, *args, **kwargs)¶
Bases:
NavigationSystem[ThreeWheelSwerveSystemConfig]A three wheel swerve system.
- Parameters:
config (ThreeWheelSwerveSystemConfig)
- turning_center_motor: RobstrideMotor¶
The center turning motor. Turning motors control the angle the wheels are facing (yaw).
- turning_right_motor: RobstrideMotor¶
The right turning motor. Turning motors control the angle the wheels are facing (yaw).
- turning_left_motor: RobstrideMotor¶
The left turning motor. Turning motors control the angle the wheels are facing (yaw).
- drive_center_motor: RobstrideMotor¶
The center drive motor. Drive motors control the speed of the robot.
- drive_right_motor: RobstrideMotor¶
The right drive motor. Drive motors control the speed of the robot.
- drive_left_motor: RobstrideMotor¶
The left drive motor. Drive motors control the speed of the robot.
- recalibrate(allow_load=None)¶
Recalibrate the three wheel swerve system.
- Parameters:
allow_load (bool | None) – If True, allow the system to load calibration state from file instead of recalibrating. If None, use the per-actuator config’s allow_load_calibration value.
- Return type:
None
- orient_and_move(angle, motor_velocity)¶
Orient and move the robot to the target orientation and velocity.
- Parameters:
- Return type:
None
- rotate_in_place(motor_velocity)¶
Rotate the robot in place to the target orientation.
- Parameters:
target_motor_velocity – The target velocity of the drive motors in radians per second. Not the actual angular velocity of the robot.
motor_velocity (float)
- Return type:
None
- set_speed(motor_velocity)¶
Set the speed for the drive motors. Keeps their current angles.
- Parameters:
motor_velocity (float) – The target velocity of the drive motors in radians per second. Not the actual velocity of the robot. Must be between 0 and the maximum velocity.
- Return type:
None
- on_power_event(event)¶
Handle power events from the BatterySystem.
- Parameters:
event (PowerEvent)
- disable()¶
Disable the motors
- Return type:
None