inverseKinematics
Create inverse kinematic solver
Description
The inverseKinematics
      System object™ creates an inverse kinematic (IK) solver to calculate joint
      configurations for a desired end-effector pose based on a specified rigid body tree model.
      Create a rigid body tree model for your robot using the rigidBodyTree class. This model defines all the joint constraints that the solver
      enforces. If a solution is possible, the joint limits specified in the robot model are
      obeyed.
To specify more constraints besides the end-effector pose, including aiming constraints,
      position bounds, or orientation targets, consider using generalizedInverseKinematics. This object allows you to compute multiconstraint IK
      solutions.
For closed-form analytical IK solutions, see analyticalInverseKinematics.
To compute joint configurations for a desired end-effector pose:
- Create the - inverseKinematicsobject and set its properties.
- Call the object with arguments, as if it were a function. 
To learn more about how System objects work, see What Are System Objects?
Creation
Description
ik = inverseKinematicsRigidBodyTree property.
ik = inverseKinematics(PropertyName=Value)SolverAlgorithm="fminconsqp" uses
          the fmincon SQP solver as the inverse kinematics solver.
Properties
Usage
Description
[
          finds a joint configuration that achieves the specified end-effector pose. Specify an
          initial guess for the configuration and your desired weights on the tolerances for the six
          components of configSol,solInfo]
= ik(endeffector,pose,weights,initialguess)pose. Solution information related to execution of the
          algorithm, solInfo, is returned with the joint configuration
          solution, configSol.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
      System object as the first input argument. For
      example, to release system resources of a System object named obj, use
      this syntax:
release(obj)
Examples
References
[1] Badreddine, Hassan, Stefan Vandewalle, and Johan Meyers. "Sequential Quadratic Programming (SQP) for Optimal Control in Direct Numerical Simulation of Turbulent Flow." Journal of Computational Physics. 256 (2014): 1–16. doi:10.1016/j.jcp.2013.08.044.
[2] Bertsekas, Dimitri P. Nonlinear Programming. Belmont, MA: Athena Scientific, 1999.
[3] Goldfarb, Donald. "Extension of Davidon’s Variable Metric Method to Maximization Under Linear Inequality and Equality Constraints." SIAM Journal on Applied Mathematics. Vol. 17, No. 4 (1969): 739–64. doi:10.1137/0117067.
[4] Nocedal, Jorge, and Stephen Wright. Numerical Optimization. New York, NY: Springer, 2006.
[5] Sugihara, Tomomichi. "Solvability-Unconcerned Inverse Kinematics by the Levenberg–Marquardt Method." IEEE Transactions on Robotics Vol. 27, No. 5 (2011): 984–91. doi:10.1109/tro.2011.2148230.
[6] Zhao, Jianmin, and Norman I. Badler. "Inverse Kinematics Positioning Using Nonlinear Programming for Highly Articulated Figures." ACM Transactions on Graphics Vol. 13, No. 4 (1994): 313–36. doi:10.1145/195826.195827.




