feathersdk.robot.actuator_systems.neck_system Module

class feathersdk.robot.actuator_systems.neck_system.NeckSystemConfig(*, module_name='neck_system', safe_stop_policy=SafeStopPolicy.COMPLIANCE_MODE, operating_frequency=30, actuators_share_same_endpoint=True)

Bases: ActuatorSystemConfig

Configuration for the neck system.

Parameters:
module_name: str

The name of the actuator system.

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.neck_system.TNeckSystemConfig

Type variable for the neck system configuration.

alias of TypeVar(‘TNeckSystemConfig’, bound=NeckSystemConfig)

class feathersdk.robot.actuator_systems.neck_system.NeckSystem(config, *args, **kwargs)

Bases: ActuatorSystem[TNeckSystemConfig], Generic[TNeckSystemConfig]

A neck system.

Parameters:

config (TActuatorSystemConfig)

class feathersdk.robot.actuator_systems.neck_system.RobstrideNeckSystemConfig(*, module_name='neck_system', safe_stop_policy=SafeStopPolicy.COMPLIANCE_MODE, operating_frequency=30, actuators_share_same_endpoint=True, pitch_motor, yaw_motor, multithreaded_calibration=True)

Bases: NeckSystemConfig

Parameters:
pitch_motor: RobstrideMotorConfig

The configuration for the pitch motor.

yaw_motor: RobstrideMotorConfig

The configuration for the yaw motor.

multithreaded_calibration: bool

Whether to calibrate the motors in a multi-threaded manner.

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

Bases: NeckSystem[RobstrideNeckSystemConfig]

Platform for controlling Robstride neck motors (pitch and yaw)

Parameters:

config (RobstrideNeckSystemConfig)

yaw_motor: RobstrideMotor[RobstrideMotorConfig]

The yaw motor.

pitch_motor: RobstrideMotor[RobstrideMotorConfig]

The pitch motor.

recalibrate(allow_load=None)

Recalibrate the neck system.

Parameters:

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

go_to(pitch=None, yaw=None, block=False)

Set target position for neck movement.

Parameters:
  • pitch (float, optional) – Target pitch angle in radians. None to keep current target.

  • yaw (float, optional) – Target yaw angle in radians. None to keep current target.

  • block (bool, optional) – If True, block until the response is received and we’ve checked that the value was successfully written. (Not waiting until the target position is reached)

set_speed(pitch_speed=None, yaw_speed=None, block=False)

Set the speed for the neck motors.

Parameters:
  • pitch_speed (float, optional) – The target speed for the pitch motor in radians per second. None to keep current speed.

  • yaw_speed (float, optional) – The target speed for the yaw motor in radians per second. None to keep current speed.

  • block (bool, optional) – If True, block until the response is received and we’ve checked that the value was successfully written. (Not waiting until the target speed is reached)

Return type:

None