reachy.parts.kinematic
¶
Kinematic forward and inverse utility module.
Allow the creation of kinematic chain (following a simplified DH notation)
Compute the forward kinematic
Provide optimization via scipy for inverse approximation
Module Contents¶
Functions¶

Create homogenous matrix given a 3D translation vector. 

Compute euclidian distance between two 3D position. 

Compute rotation distance between two 3D rotation. 

Compute distance between two pose. 

class
reachy.parts.kinematic.
Link
(translation, rotation, bounds)¶ Bases:
object
Simplified Link following DH notation.
 Parameters

class
reachy.parts.kinematic.
Chain
(links)¶ Bases:
object
Chain of Link forming a kinematic chain.

property
bounds
(self)¶ Get bounds for each link.

forward
(self, joints)¶ Compute forward kinematics of the chain given joints configurations.
 Parameters
joints (
ndarray
) – N*J array joint rotation angle for each link (in radians) Returns
4x4 homogeneous matrix pose of the end effector
 Return type
Warning
this is a vectorized version of the forward!

inverse
(self, poses, q0s, maxiter=10)¶ Approximate the inverse kinematics of the chain given end pose.
 Parameters
Warning
this is a vectorized version of the forward!

_inverse
(self, target, q0, maxiter)¶

property

reachy.parts.kinematic.
translation_matrix
(translation)¶ Create homogenous matrix given a 3D translation vector.

reachy.parts.kinematic.
position_dist
(P, Q)¶ Compute euclidian distance between two 3D position.

reachy.parts.kinematic.
rotation_dist
(P, Q)¶ Compute rotation distance between two 3D rotation.

reachy.parts.kinematic.
pose_dist
(M1, M2, threshold= 1)¶ Compute distance between two pose.
The distance is defined as the sum of the position distance and the rotation distance where 1° of error is equal to 1mm error distance.