reachy_sdk.arm

Reachy Arm module.

Handles all specific method to an Arm (left and/or right) especially: - the forward kinematics - the inverse kinematics

class reachy_sdk.arm.Arm(joints, grpc_channel)

Arm abstract class used for both left/right arms.

It exposes the kinematics of the arm: - you can access the joints actually used in the kinematic chain, - you can compute the forward and inverse kinematics

Parameters:

joints (List[Joint]) –

forward_kinematics(joints_position=None)

Compute the forward kinematics of the arm.

It will return the pose 4x4 matrix (as a numpy array) expressed in Reachy coordinate systems. You can either specify a given joints position, otherwise it will use the current robot position.

Parameters:

joints_position (List[float] | None) –

Return type:

ndarray

inverse_kinematics(target, q0=None)

Compute the inverse kinematics of the arm.

Given a pose 4x4 target matrix (as a numpy array) expressed in Reachy coordinate systems, it will try to compute a joint solution to reach this target (or get close).

It will raise a ValueError if no solution is found.

You can also specify a basic joint configuration as a prior for the solution.

Parameters:
Return type:

List[float]

class reachy_sdk.arm.LeftArm(joints, grpc_channel)

LeftArm class, all the work is actually done by the ABC Arm class.

It exposes the kinematics of the arm: - you can access the joints actually used in the kinematic chain, - you can compute the forward and inverse kinematics

Parameters:

joints (List[Joint]) –

forward_kinematics(joints_position=None)

Compute the forward kinematics of the arm.

It will return the pose 4x4 matrix (as a numpy array) expressed in Reachy coordinate systems. You can either specify a given joints position, otherwise it will use the current robot position.

Parameters:

joints_position (List[float] | None) –

Return type:

ndarray

inverse_kinematics(target, q0=None)

Compute the inverse kinematics of the arm.

Given a pose 4x4 target matrix (as a numpy array) expressed in Reachy coordinate systems, it will try to compute a joint solution to reach this target (or get close).

It will raise a ValueError if no solution is found.

You can also specify a basic joint configuration as a prior for the solution.

Parameters:
Return type:

List[float]

class reachy_sdk.arm.RightArm(joints, grpc_channel)

RightArm class, all the work is actually done by the ABC Arm class.

It exposes the kinematics of the arm: - you can access the joints actually used in the kinematic chain, - you can compute the forward and inverse kinematics

Parameters:

joints (List[Joint]) –

forward_kinematics(joints_position=None)

Compute the forward kinematics of the arm.

It will return the pose 4x4 matrix (as a numpy array) expressed in Reachy coordinate systems. You can either specify a given joints position, otherwise it will use the current robot position.

Parameters:

joints_position (List[float] | None) –

Return type:

ndarray

inverse_kinematics(target, q0=None)

Compute the inverse kinematics of the arm.

Given a pose 4x4 target matrix (as a numpy array) expressed in Reachy coordinate systems, it will try to compute a joint solution to reach this target (or get close).

It will raise a ValueError if no solution is found.

You can also specify a basic joint configuration as a prior for the solution.

Parameters:
Return type:

List[float]