4: 2013-08-05 (月) 13:10:51 yoshida | 5: 2013-08-06 (火) 20:21:18 yoshida | ||
---|---|---|---|
Line 61: | Line 61: | ||
** まとめ [#o814be71] | ** まとめ [#o814be71] | ||
- | 指定された座標から角度を算出してモーションでアーム部分を動かすことができるようになりました。~ | + | Chapter10ではFREEDOM III libraryに用意された関数を使用してモーションを動かしてみました。~ |
- | 範囲外の座標が指示された場合は途中で計算が破綻をきたしますが、acosの前に値のチェックを入れることで回避することができます。又、atan2はx、y共に0の場合エラーとなりますので、こちらも事前にチェックを行っておきましょう。~ | + | 又、指定された座標から角度を算出しました。今回は一つの考え方を説明しましたが、IKによる計算方法は様々な手法が考えられており、ほとんどが専門の知識を必要とします。これを機に調べてみるのも良いかも知れません。 |
- | さて、IKで角度を算出することはできましたが、実際にモーションとして使用するには移動にかかる時間の指定や軌道の計算、速度の調節等様々な処理が必要となります。自前で用意するには大変なので、今回はFREEDOM III libraryに用意された関数を使用しました。~ | + | |
** 課題 [#xf0a3d27] | ** 課題 [#xf0a3d27] | ||
- | 取り外したハンド部分のAX-12+を分解してアーム部分を延長してみましょう。~ | + | 範囲外の座標が指示された場合、プログラムの途中で計算が破綻をきたします。これを回避するよう、プログラムを修正して下さい。~ |
- | 産業用のロボットアームに近い構成にすることができます。~ | + | ヒントは計算の破綻は決まった関数(acos/atan2)で起こります。~ |
+ | 又、取り外したハンド部分のAX-12+を分解してアーム部分を延長することで、産業用のロボットアームと同様の構成にすることができます。~ | ||
#ref(agenda_arm.png) | #ref(agenda_arm.png) | ||
- | 又、これまでのプログラムでは指定座標のXが-(マイナス)になるとD1が反転してしまいます。これを反転させないようにするにはどうすればよいでしょうか。~ | ||
- | ヒントは指定座標からD3をベクトルとし、Y軸を面として考えることです。 | ||
[[FDIII-HC Starter Kit Guide>LEARNINGGUIDE]]へ戻る | [[FDIII-HC Starter Kit Guide>LEARNINGGUIDE]]へ戻る |