feathersdk.robot.actuator_systems.neck_system Module¶
- class feathersdk.robot.actuator_systems.neck_system.NeckSystemConfig(*, module_name='neck_system', requires_urdf=False, safe_stop_policy=SafeStopPolicy.CANNOT_ENTER_SAFE_STOP, operating_frequency=30.0, actuators_share_same_endpoint=True, multithreaded_calibration=True)¶
Bases:
ActuatorSystemConfig- Parameters:
- 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¶
The type of the neck system configuration.
alias of TypeVar(‘TNeckSystemConfig’, bound=
NeckSystemConfig)
- class feathersdk.robot.actuator_systems.neck_system.NeckSystem(config, *args, **kwargs)¶
Bases:
ActuatorSystem[TNeckSystemConfig,TActuator],Generic[TNeckSystemConfig,TActuator]Controls the neck of the robot.
- Parameters:
config (TActuatorSystemConfig)
robot (FeatherRobot)
- class feathersdk.robot.actuator_systems.neck_system.TwoDOFRobstrideNeckSystemConfig(*, module_name='neck_system', requires_urdf=False, safe_stop_policy=SafeStopPolicy.CANNOT_ENTER_SAFE_STOP, operating_frequency=30.0, actuators_share_same_endpoint=True, multithreaded_calibration=True, pitch_motor, yaw_motor)¶
Bases:
NeckSystemConfig- Parameters:
module_name (str)
requires_urdf (bool)
safe_stop_policy (SafeStopPolicy)
operating_frequency (Annotated[float, Gt(gt=0.0), Lt(lt=1000.0)])
actuators_share_same_endpoint (bool)
multithreaded_calibration (bool)
pitch_motor (RobstrideMotorConfig)
yaw_motor (RobstrideMotorConfig)
- pitch_motor: RobstrideMotorConfig¶
The configuration for the pitch motor.
- yaw_motor: RobstrideMotorConfig¶
The configuration for the yaw motor.
- 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.TwoDOFRobstrideNeckSystem(config, *args, **kwargs)¶
Bases:
NeckSystem[TwoDOFRobstrideNeckSystemConfig,RobstrideMotor]Controls the neck of the robot using two Robstride motors (pitch and yaw).
- Parameters:
config (TwoDOFRobstrideNeckSystemConfig)
robot (FeatherRobot)
- yaw_motor¶
The yaw motor.
- pitch_motor¶
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