fastdev.robo.single_articulation

Module Contents

class fastdev.robo.single_articulation.SingleCPUArticulation(spec: fastdev.robo.articulation_spec.ArticulationSpec | Sequence[fastdev.robo.articulation_spec.ArticulationSpec], device: fastdev.robo.articulation.Device = 'cpu')[source]

Bases: fastdev.robo.articulation.Articulation

Use Pinocchio as the backend for single articulation.

Parameters:
pin_model[source]
pin_data[source]
forward_kinematics_pinocchio(joint_values: jaxtyping.Float[numpy.ndarray, num_dofs], joint_names: Optional[List[str]] = None, root_poses: Optional[jaxtyping.Float[numpy.ndarray, 4 4]] = None, clamp_joint_values: bool = True) jaxtyping.Float[numpy.ndarray, num_links 4 4][source]

Forward kinematics using Pinocchio.

Parameters:
  • joint_values (np.ndarray) – Active joint values of shape (num_dofs,).

  • joint_names (List[str], optional) – Names corresponding to the joint_values. If provided, values will be reordered to match the internal active joint order.

  • root_poses (np.ndarray, optional) – Root pose transformation of shape (4, 4). Defaults to identity.

  • clamp_joint_values (bool, optional) – Whether to clamp joint values to joint limits. Defaults to True.

Returns:

Link poses in the world frame of shape (num_links, 4, 4).

Return type:

np.ndarray