今朝、車のエンジンをかけると暖房が入りました。
あの初夏の勢いはどこに行ってしまったのでしょう。
寒い・・・
ということで今晩は鍋でした。
しかし、鍋はやっぱり暑い・・・
しかし、鍋はやっぱり暑い・・・
さて昨晩悩んでいた逆運動学ですが、じっと眺めている内に手抜きの方法を見つけました。
何をしようとしているかは、もうお分かりかと思いますが、
こんなものです。
何をしようとしているかは、もうお分かりかと思いますが、
こんなものです。

サーボで動く三軸の簡単なアームロボットです。
これにペンを持たせて2Dプロッタを作ろうと思っています。
そのためには各サーボの角度をうまくコントロールする必要があるのですが、逆運動学はムズイのです。
もっと簡単に手抜きな方法はないかと考えてみていい方法を見つけました。
もっと簡単に手抜きな方法はないかと考えてみていい方法を見つけました。
まず、アームのベースのZ軸を原点として右にX軸、上にY軸だとすると
目標座標(X,Y)までの距離(L)は、SQRT(X^2+Y^2)で求まります。
そうするとZ軸の回転(θ1)は、ACOS(X/L)で求まります。
目標座標(X,Y)までの距離(L)は、SQRT(X^2+Y^2)で求まります。
そうするとZ軸の回転(θ1)は、ACOS(X/L)で求まります。
これでアームは目標座標にピッタリ向くはずです。
あとは目的の位置(距離)までアームを曲げればよいわけです。
あとは目的の位置(距離)までアームを曲げればよいわけです。
ここで2つのアームは同じ長さだとすると、中点距離は、L/2となります。(当たり前)
アームの長さ(AL)は元々分かっていますので付け根の角度(θ2)は、ACOS((L/2)/AL)で求まります。
そうすると残りの角度(θ3)は、π-(θ2*2)で求まるのです。
アームの長さ(AL)は元々分かっていますので付け根の角度(θ2)は、ACOS((L/2)/AL)で求まります。
そうすると残りの角度(θ3)は、π-(θ2*2)で求まるのです。

ベースの高さ(h)の問題はペン先の高さを調整することでクリアできます。
これなら簡単で分かりやすいです。
どうせ大した精度は出ません。
以前、卓上CNCを作った事がありますが、フレームの精度や剛性の問題であまり精度は出ませんでした。
以前、卓上CNCを作った事がありますが、フレームの精度や剛性の問題であまり精度は出ませんでした。
まして今回はラジコンのサーボを使うので精度なんて無いに等しいと思います。
まっお手軽工作の目安程度に線引きをしてくれればOKということにします。
まっお手軽工作の目安程度に線引きをしてくれればOKということにします。
まだ続きます。