PyBulletInverseKinematics.inverse_kinematics
- PyBulletInverseKinematics.inverse_kinematics(robot, frame_WCF, start_configuration=None, group=None, options=None)[source]
Calculate the robot’s inverse kinematic for a given frame.
- Parameters:
- robot
compas_fab.robots.Robot The robot instance for which inverse kinematics is being calculated.
- frame_WCF: :class:`compas.geometry.Frame`
The frame to calculate the inverse for.
- start_configuration: :class:`compas_fab.robots.Configuration`, optional
If passed, the inverse will be calculated such that the calculated joint positions differ the least from the start_configuration. Defaults to the zero configuration.
- group: str, optional
The planning group used for determining the end effector and labeling the
start_configuration. Defaults to the robot’s main planning group.- options: dict, optional
Dictionary containing the following key-value pairs:
"link_name": (str, optional ) Name of the link for which to compute the inverse kinematics. Defaults to the given group’s end effector."semi-constrained": (bool, optional) WhenTrue, only the position and not the orientation offrame_WCFwill not be considered in the calculation. Defaults toFalse."enforce_joint_limits": (bool, optional) WhenFalse, the robot’s joint limits will be ignored in the calculation. Defaults toTrue."high_accuracy": (bool, optional) WhenTrue, the solver will iteratively try to approach minimum deviation from the requested target frame. Defaults toTrue."high_accuracy_threshold": (float, optional) Defines the maximum acceptable distance threshold for the high accuracy solver. Defaults to1e-6."high_accuracy_max_iter": (float, optional) Defines the maximum number of iterations to use for the high accuracy solver. Defaults to20."max_results": (int) Maximum number of results to return. Defaults to100.
- robot
- Yields:
- Raises: