v1

V1 physical interface implementation.

Package Contents

Classes

V1PhysicalInterface

Implementation of PhysicalInterface for V1 modular robots.

class V1PhysicalInterface(debug: bool, dry: bool)

Bases: modular_robot_physical.physical_interfaces._physical_interface.PhysicalInterface

Inheritance diagram of modular_robot_physical.physical_interfaces.v1.V1PhysicalInterface

Implementation of PhysicalInterface for V1 modular robots.

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.

enable() None

Start the robot.

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.

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.

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.

Raises:

NotImplementedError – Always.

abstract get_imu_orientation() pyrr.Vector3

Get the orientation from the IMU.

Raises:

NotImplementedError – Always.

abstract get_imu_specific_force() pyrr.Vector3

Get the specific force from the IMU.

Raises:

NotImplementedError – Always.

abstract get_camera_view() numpy.typing.NDArray[numpy.uint8]

Get the current view from the camera.

Raises:

NotImplementedError – If the Camera is not supported on this hardware.