Main Content

Inverse Kinematics

Manipulator inverse kinematics, kinematic constraints

Inverse kinematics (IK) determine joint configurations of a robot model to achieve a desired end-effect position. Robot kinematic constraints are specified in the rigidBodyTree robot model based on the transformation between joints. You can use generalized inverse kinematics (GIK) to solve for configurations that satisfy constraints, such as an aiming constraint for a camera arm or a Cartesian bounding box on a certain rigid body link. Specify parameters for these constraints with the GIK Robot Constraints objects and pass them to a generalizedInverseKinematics object.

For more information about inverse kinematics, see the What Is Inverse Kinematics? page.


Inverse Kinematics DesignerDesign inverse kinematics solvers, configurations, and waypoints (Since R2022a)


expand all

analyticalInverseKinematicsSolve closed-form inverse kinematics (Since R2020b)
inverseKinematicsCreate inverse kinematic solver
generalizedInverseKinematicsCreate multiconstraint inverse kinematics solver
constraintAimingCreate aiming constraint for pointing at a target location
constraintJointBoundsCreate constraint on joint positions of robot model
constraintCartesianBoundsCreate constraint to keep body origin inside Cartesian bounds
constraintOrientationTargetCreate constraint on relative orientation of body
constraintPoseTargetCreate constraint on relative pose of body
constraintPositionTargetCreate constraint on relative position of body
constraintDistanceBoundsConstrain body within distance bounds of reference body (Since R2022a)
constraintRevoluteJointRevolute joint constraint between bodies (Since R2022a)
constraintPrismaticJointPrismatic joint constraint between bodies (Since R2022a)
constraintFixedJointFixed joint constraint between bodies (Since R2022a)


Inverse KinematicsCompute joint configurations to achieve an end-effector pose