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¶
Classes¶
Simplified Link following DH notation. |
|
Chain of Link forming a kinematic chain. |
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)¶
- 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.