concepts.dm.crowhat.manipulation_utils.manipulator_interface.GeneralArmArmMotionPlanningInterface#

class GeneralArmArmMotionPlanningInterface[source]#

Bases: object

General interface for robot arms. It specifies a set of basic operations for motion planning:

  • ik: inverse kinematics.

  • fk: forward kinematics.

  • jac: jacobian matrix.

  • coriolis: coriolis torque.

  • mass: mass matrix.

Methods

coriolis(qpos, qvel)

differential_ik_qpos_diff(current_qpos, ...)

Use the differential IK to compute the joint difference for the given pose difference.

fk(qpos)

get_joint_limits()

get_nr_joints()

ik(pos[, quat, qpos, max_distance])

jacobian(qpos)

mass(qpos)

Attributes

__init__()#
__new__(**kwargs)#
coriolis(qpos, qvel)[source]#
Parameters:
Return type:

ndarray

differential_ik_qpos_diff(current_qpos, current_pose, next_pose)[source]#

Use the differential IK to compute the joint difference for the given pose difference.

Parameters:
Return type:

ndarray

fk(qpos)[source]#
Parameters:

qpos (Tuple[float, ...] | List[float] | ndarray)

Return type:

Tuple[Tuple[float, float, float] | List[float] | ndarray, Tuple[float, float, float, float] | List[float] | ndarray]

get_joint_limits()[source]#
Return type:

Tuple[ndarray, ndarray]

get_nr_joints()[source]#
Return type:

int

ik(pos, quat=None, qpos=None, max_distance=None)[source]#
Parameters:
Return type:

ndarray

jacobian(qpos)[source]#
Parameters:

qpos (Tuple[float, ...] | List[float] | ndarray)

Return type:

ndarray

mass(qpos)[source]#
Parameters:

qpos (Tuple[float, ...] | List[float] | ndarray)

Return type:

ndarray

property joint_limits: Tuple[ndarray, ndarray]#
property nr_joints: int#