analyticalInverseKinematics
Description
The analyticalInverseKinematics
object generates functions that
computes all closed-form solutions for inverse kinematics (IK) for serial-chain manipulators
using an approach based on the Pieper method [1]. The object generates a
custom function to find multiple distinct joint configurations that achieve the desired
end-effector pose for a kinematic group of a rigid body tree robot model given that the
specified kinematic group represents an applicable six-DOF serial manipulator with a wrist and
compatible kinematic parameters. A wrist is defined as three consecutive revolute joints with
orthogonal axes.
These are the key elements of the solver:
Robot model — Rigid body tree model that defines the kinematics of the robot. Specify this model as a
rigidBodyTree
object when creating the solver.Kinematic group — Base and end-effector body names for a six-DOF serial chain that is part of the robot model. To set this parameter, use the
showdetails
function.Kinematic group type — Classification of joints connecting base to end effector.
To see all possible supported kinematic groups for your robot, use the showdetails
object function. To set a specific group from the list, click the Use this
kinematic group link for a kinematic group in the returned list.
To calculate inverse kinematics for a specific kinematic group, use the generateIKFunction
object function. To ensure your robot model and kinematic
group are compatible, check the IsValidGroupForIK property after selecting a kinematic group.
To generate numeric solutions, use the inverseKinematics
and generalizedInverseKinematics
objects.
Creation
Syntax
Description
analyticalIK = analyticalInverseKinematics(
creates an analytical inverse kinematics solver for a rigid body tree robot model,
specified as a robotRBT
)rigidBodyTree
object. The end effector is
the final body listed in the Bodies property of the robot
model. The robotRBT
argument sets the RigidBodyTree property.
analyticalIK = analyticalInverseKinematics(
sets the KinematicGroup property to the robotRBT
,'KinematicGroup',kinGroup)kinGroup
argument,
specified as a structure.
Properties
Object Functions
generateIKFunction | Generate function for closed-form inverse kinematics |
showdetails | Display overview of available kinematic groups |
Examples
References
[1] Pieper, Donald. The Kinematics of Manipulators Under Computer Control. Stanford University, 1968.
Extended Capabilities
Version History
Introduced in R2020b