feathersdk.robot.actuator_systems.actuator_system Module

class feathersdk.robot.actuator_systems.actuator_system.ActuatorSystemConfig(*, module_name, safe_stop_policy=SafeStopPolicy.COMPLIANCE_MODE, operating_frequency=30, actuators_share_same_endpoint=True)

Bases: RobotModuleConfig

Base configuration for an actuator system.

Parameters:
module_name: str

The name of the actuator system.

safe_stop_policy: SafeStopPolicy

The safe stop policy to use when encountering a dangerous state.

operating_frequency: float

The operating frequency of the actuator system.

actuators_share_same_endpoint: bool

Whether all actuators in the system share the same endpoint.

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.actuator_system.ActuatorSystem(config, *args, **kwargs)

Bases: RobotModule[TActuatorSystemConfig], Generic[TActuatorSystemConfig]

A collection of actuators, and the logic to manage them, that organize to perform a similar function.

This is a base class that should be subclasses by all actuator systems.

Parameters:

config (TActuatorSystemConfig)

is_initialized: bool = False

Whether the actuator system has been initialized.

property actuators_by_name: dict[str, Actuator[TActuatorConfig]]

Dictionary mapping actuator name to actuator in this system.

abstractmethod recalibrate(allow_load=None)

Recalibrate the actuators in the system.

Parameters:

allow_load (bool | None) – If True, allow the actuator 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

trigger_safe_stop()

Trigger safe stop for this actuator system.

Return type:

None

in_safe_stop()

Check if the actuator system is in safe stop.

Return type:

bool

exit_safe_stop()

Exits safe stop.

Return type:

None