_physical_interface
Module Contents
Classes
Abstract implementation for interfacing with hardware.  | 
- class PhysicalInterface
 Bases:
abc.ABC
Abstract implementation for interfacing with hardware.
- abstract set_servo_targets(pins: list[int], targets: list[float]) None
 Set the target for multiple servos.
This can be a fairly slow operation.
- Parameters:
 pins – The GPIO pins.
targets – The target angles.
- abstract enable() None
 Start the robot.
- abstract disable() None
 Set the robot to low power mode.
This disables all active modules and sensors.
- abstract get_battery_level() float
 Get the battery level.
- Returns:
 The battery level as a number between 0.0 and 1.0.
- Raises:
 NotImplementedError – If getting the battery level is not supported on this hardware.
- abstract get_multiple_servo_positions(pins: Sequence[int]) list[float]
 Get the current position of multiple servos.
- Parameters:
 pins – The GPIO pins.
- Returns:
 The current positions.
- Raises:
 NotImplementedError – If getting the servo position is not supported on this hardware.
- abstract get_imu_angular_rate() pyrr.Vector3
 Get the angular rate from the IMU.
- Returns:
 The angular rate.
- Raises:
 NotImplementedError – If the IMU is not supported on this hardware.
- abstract get_imu_orientation() pyrr.Vector3
 Get the orientation from the IMU.
- Returns:
 The orientation.
- Raises:
 NotImplementedError – If the IMU is not supported on this hardware.
- abstract get_imu_specific_force() pyrr.Vector3
 Get the specific force from the IMU.
- Returns:
 The specific force.
- Raises:
 NotImplementedError – If the IMU is not supported on this hardware.
- abstract get_camera_view() numpy.typing.NDArray[numpy.uint8] | None
 Get the current view from the camera.
- Returns:
 The camera view.
- Raises:
 NotImplementedError – If the Camera is not supported on this hardware.