奮闘記【19】 ロボットアームの平行移動

2018年10月19日 8:55:34 by fdkltd

どうもhataです

前回までにできなかった計算式が完成したので、ようやくグリッパを目的の位置まで直線的に動かせるようになりました。

肩部のサーボの回転軸の中心から上向き鉛直方向をy軸、その軸からアームのある方向に90°倒した直線をx軸として、アームがホームポジションにある時のセンサの位置を原点として、各部サーボの角度から計算できるグリッパの移動座標を(x,y)とする計算式を作りました。その計算式から逆算して、x,yの値から各部サーボの角度を求める式を作りました。検算のためにExcelの関数を使って任意の位置座標から各部の角度を求められるものを作りました。それを使って角度の求めやすい値を入力して正しく計算で来ている事が分かりました。

次に、マイコンに計算式を実装しました。マイコンの計算式が正しく動作しているかシリアルモニタの計算結果とExcelの計算結果を照らし合わせながら確認作業を行いました。そうすると計算が合わない部分があり、調べてみると変数のサイズが足りていないので計算の途中でオーバーフローを起こし、正しい値になっていないことが分かりました。変数の型が大きいサイズに変更することで解決しました。その後、グリッパ部の座標に値を入力し、目的位置に移動している事を確認しました。

最後にグリッパ部にある距離センサを用いて、ボタンを1回押すごとに値を取得し、その数値分グリッパが直進するというプログラムを制作しました。ロボット本体は先輩がすでに完成させてくれているので、次週は八尾ロボコンで使う本番向けのプログラムの方針の決定と制作を行います。