inverseKinematics
逆運動学ソルバーの作成
説明
inverseKinematics
System object™ は、指定された剛体ツリー モデルに基づいて目的のエンドエフェクタ姿勢のジョイント コンフィギュレーションを計算するための、逆運動学 (IK) ソルバーを作成します。rigidBodyTree
クラスを使用して、ロボットの剛体ツリー モデルを作成します。このモデルは、ソルバーが強制するすべてのジョイント拘束を定義します。求解が可能な場合、ロボット モデルで指定されているジョイント制限に従います。
照準拘束、位置の範囲、方向ターゲットなど、エンドエフェクタ姿勢以外の拘束をさらに指定するには、generalizedInverseKinematics
の使用を検討してください。このオブジェクトにより、複数拘束の IK の解を計算できます。
IK の閉形式解析解の詳細については、analyticalInverseKinematics
を参照してください。
目的のエンドエフェクタ姿勢に対するジョイント コンフィギュレーションを計算するには、以下を実行します。
inverseKinematics
オブジェクトを作成して、そのプロパティを設定します。関数と同様に、引数を指定してオブジェクトを呼び出します。
System object の機能の詳細については、System object とはを参照してください。
作成
説明
は、逆運動学ソルバーを作成します。このソルバーを使用するには、ik
= inverseKinematicsRigidBodyTree
プロパティで剛体ツリーモデルを指定します。
は、1 つ以上の ik
= inverseKinematics(Name,Value
)Name,Value
のペアの引数によって指定された追加オプションを使用して、逆運動学ソルバーを作成します。Name
はプロパティ名で、Value
は対応する値です。Name
は一重引用符 (''
) で囲まれていなければなりません。名前と値のペアの引数を複数、任意の順序で、Name1,Value1,...,NameN,ValueN
のように指定できます。
プロパティ
使用法
説明
[
は、指定したエンドエフェクタ姿勢を達成するジョイント コンフィギュレーションを探します。コンフィギュレーションの初期推定と、configSol
,solInfo
] = ik(endeffector
,pose
,weights
,initialguess
)pose
の 6 成分に対する許容誤差の重みの目標値を指定します。アルゴリズムの実行に関連する解の情報 solInfo
が、ジョイント コンフィギュレーションの解 configSol
とともに返されます。
入力引数
出力引数
オブジェクト関数
オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj
という名前の System object のシステム リソースを解放するには、以下の構文を使用します。
release(obj)
例
参照
[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.