reachy.parts.arm

Arm part module.

Implements a Right and a Left Arm.

Module Contents

Classes

Arm

Arm abstraction class.

LeftArm

Left Arm part.

RightArm

Right Arm part.

reachy.parts.arm.hands
class reachy.parts.arm.Arm(side, io, dxl_motors, hand)

Bases: reachy.parts.part.ReachyPart

Arm abstraction class.

Parameters
  • side (str) – ‘right’ or ‘left’

  • io (str) – port name where the modules can be found

  • dxl_motors (dict) – config of the dynamixel motors composing the arm

  • hand (str) – name of the Hand to attach (‘force_gripper’, ‘orbita_wrist’ or it can be None if no hand are attached)

Provides high-level access to:
  • ordered list of motors

  • forward and inverse kinematics

fans
teardown(self)

Clean up before closing.

__repr__(self)

Arm representation.

forward_kinematics(self, joints_position, use_rad=False)

Compute the forward kinematics of the Arm.

Parameters
  • joints_position (ndarray) – angle joints configuration of the arm (in degrees by default)

  • use_rad (bool) – whether or not to use radians for joints configuration

Note

the end effector will be the end of the Hand if one is attached.

inverse_kinematics(self, target_pose, q0=None, use_rad=False, maxiter=10)

Approximate the inverse kinematics of the Arm.

Parameters
  • target_pose (ndarray) – 4x4 homogeneous pose of the target end effector pose

  • q0 (ndarray) – joint initial angle configurations (used for bootstraping the optimization)

  • use_rad (bool) – whether or not to use radians for joints configuration

  • maxiter (int) – maximum number of iteration to run on the optimizer

Note

the end effector will be the end of the Hand if one is attached.

enable_temperature_monitoring(self)

Enable the automatic motor cooling procedure.

The specified motors temperature will be watched and when they reached a specific threshold, the fan will automatically be turned on. When the temperature goes below a lower threshold, they will turn off.

disable_temperature_monitoring(self)

Disable the automatic motor cooling procedure.

_temperature_monitoring(self)
class reachy.parts.arm.LeftArm(io, hand=None)

Bases: reachy.parts.arm.Arm

Left Arm part.

Parameters
  • io (str) – port name where the modules can be found

  • hand (str) – name of the Hand to attach (‘force_gripper’, ‘orbita_wrist’ or it can be None if no hand are attached)

dxl_motors
class reachy.parts.arm.RightArm(io, hand=None)

Bases: reachy.parts.arm.Arm

Right Arm part.

Parameters
  • io (str) – port name where the modules can be found

  • hand (str) – name of the Hand to attach (‘force_gripper’, ‘orbita_wrist’ or it can be None if no hand are attached)

dxl_motors