*逆運動で動かすには [#o66404ae] **三角関数を使用する [#zdb959c7] 逆運動(IK)とは簡単に言ってしまえば指示された座標を元に関節の角度を求めるものです。~ 色々な計算手法がありますが、今回のロボットハンドでは三角関数だけで角度を計算してみたいと思います。 **2次元での角度算出 [#d90f6f7a] #ref(triangle2D.png) C点がID2、B点がID3の軸となり、A点がロボットハンドの先端になります。~ ABCを結ぶと三角形が出来上がりです。~ BCとABは軸間の長さになるので、ACが分かれば∠A、∠B、∠Cが算出可能となります。~ ACは三平方の定理から求めます。~ #ref(inclined_AC.png) これで三辺の長さが求まったので余弦定理で角度を算出しましょう。~ #ref(cosine.png) まずはこれを変形して∠Aのコサインを求めます。~ #ref(cosineA.png) コサインの値が取得できたので、これをアークコサインで角度に直します。~ ここでの角度はラジアンなので180倍してπ(円周率)で割れば度°(デグリー)に変換できます。~ 引き続き∠Bと∠Cを求めます。~ #ref(cosineBC.png) **3次元での角度計算 [#x04dbfff] では実際の座標を計算してみましょう。
(This host) = https://www.besttechnology.co.jp