articles:ik_numerical

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
articles:ik_numerical [2021/10/01 23:03] – [関節パラメタの変化量を求める] Takashi Suehiroarticles:ik_numerical [2021/10/23 16:36] (現在) – [1. 手先の位置姿勢,ヤコビ行列の計算] Takashi Suehiro
行 211: 行 211:
 そこで2自由度アームでの[[articles:jacobian_matrix#逆運動学の数値解法]]の原理で説明したように そこで2自由度アームでの[[articles:jacobian_matrix#逆運動学の数値解法]]の原理で説明したように
 目標に少しずつ近づくようにステップを刻むことにする. 目標に少しずつ近づくようにステップを刻むことにする.
 +ステップ幅を大きく取れば収束は早くなるが安定性が下がるというトレードオフの関係になっている.
  
 刻むべきステップ幅$s$をどのようにするかは一般には難しい問題である. 刻むべきステップ幅$s$をどのようにするかは一般には難しい問題である.
行 222: 行 223:
  
 このステップの刻み幅を適用する際にも位置と姿勢の重み付けを考慮することでバランスが取れた形で解に収束させることができる. このステップの刻み幅を適用する際にも位置と姿勢の重み付けを考慮することでバランスが取れた形で解に収束させることができる.
 +
 +
 ===== 逆運動学解の計算手順 ===== ===== 逆運動学解の計算手順 =====
 繰り返しも多くなるが計算手順を整理する. 繰り返しも多くなるが計算手順を整理する.
行 238: 行 241:
             \right)     \tag{1}             \right)     \tag{1}
 $$ $$
-==== 1. 初期解の設定 ==== +まずこれに対して適当な初期姿勢の関節パラメタ$\boldsymbol{q}_0$を定め 
-これに対して適当な初期姿勢の関節パラメタ$\boldsymbol{q}_0$を定め +((その時点の関節パラメタとすることが多い.そうすることにより複数ある解の中でその時点の関節パラメタに近い解が得られる可能性が高くなる)). 
-((その時点の関節パラメタとすることが多い.そうすることにより複数ある解の中でその時点の関節パラメタに近い解が得られる可能性が高くなる)), + 
-その手先位置姿勢を順運動学計算で求め,+==== 1. 手先の位置姿勢ヤコビ行列の計算 ==== 
 + 
 +$\boldsymbol{q}_i$に対してその手先位置姿勢$^0T_{\mathrm{h}i}$およびヤコビ行列$J_i$を計算する. 
 + 
 +手先の位置姿勢を以下のように表す.
 $$ $$
-^0T_{\mathrm{h}0} = \left( \begin{array}{c}  +^0T_{\mathrm{h}i} = \left( \begin{array}{c}  
-              \begin{array}{c} ^0A_{\mathrm{h}0} \\+              \begin{array}{c} ^0A_{\mathrm{h}i} \\
                     \begin{array}{c} 0 & 0 & 0 \end{array}                     \begin{array}{c} 0 & 0 & 0 \end{array}
               \end{array}               \end{array}
                     &                     &
-              \begin{array}{c} ^0\boldsymbol{d}_{\mathrm{h}0} \\ 1 \end{array}+              \begin{array}{c} ^0\boldsymbol{d}_{\mathrm{h}i} \\ 1 \end{array}
             \end{array}             \end{array}
             \right)    \tag{2}             \right)    \tag{2}
 $$ $$
-とする. 
  
 ==== 2.目標との差の計算 ==== ==== 2.目標との差の計算 ====
行 310: 行 316:
 $$ \Delta \boldsymbol{p}_i = \frac {s}{| \boldsymbol{p}_i|} \boldsymbol{p}_i $$ $$ \Delta \boldsymbol{p}_i = \frac {s}{| \boldsymbol{p}_i|} \boldsymbol{p}_i $$
  
-==== 4. 関節パラメタの変化量を求める ==== +==== 4.関節パラメタの変化量を求める ==== 
 +解に近づけるためのステップ$\boldsymbol{p}_i$に対応する関節パラメタの変化量を重みをつけたヤコビ行列の擬似逆行列を用いて解く. 
 +$$ 
 +\Delta \boldsymbol{q}= (DJ_i)^+ \Delta \boldsymbol{p}_i 
 +$$ 
 +得られた変化量を現在の関節パラメタに加え(($\Delta\boldsymbol{p}_i$の向きが解の方向に向いているので「加え」でよい))関節パラメタを更新する. 
 +$$ 
 +\boldsymbol{q}_{i+1} = \boldsymbol{q}_i + \Delta \boldsymbol{q} 
 +$$
  
 +更新された$\boldsymbol{q}_{i+1}$を用いて,収束するまで1から4を繰り返す.
  • articles/ik_numerical.1633096984.txt.gz
  • 最終更新: 2021/10/01 23:03
  • by Takashi Suehiro