Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

NXTネタ その27 超信地旋回

2009-04-19 | NXTねた

久しぶりのNXTねたです。


レスキューのロボットは、被災者を発見したあとに、再び黒線をたどるために、ロボットを回転させて黒線を見つけるチームが多いです。

M&Y」もそうしています。

そのために、普通は左右のモータをお互いに逆回転して、その場で旋回します。(これを「超信地旋回」と言うらしいです。)


もし、左右に回転しても黒線が見つからないときには、再び最初の姿勢になるようにしているようなのですが・・・きちんと前を向きません。

タイヤと床がスリップしているというのも、原因の一つとは思いますが・・・

単純な話、右に90度回転、左に180度回転、右に90度回転したときに、もとの方向に向いていなければなりません。 しかし、やっぱりちょっとズレます。


どうも、NXTのモーターにも、「個性」があるようです。

左右のモーターの同期を取って真っ直ぐ前に進むのは

OnFwdSync( OUT_AC,75,0 );

とするか、進む距離が決まっていれば

RotateMotor( OUT_AC,75,1080 );

とすれば、まあまあ真っ直ぐに進みます。


ところが、左右のモーターを逆回転させる「超信地旋回」をやると、とたんに回転数が合わなくなります。

調査の結果、同期を取って真っ直ぐ進むを指定した場合には左右のモータの回転角度は0.1%程度のズレです。 しかし、同期を取って「超信地旋回」をすると、14%もズレてしまいます。 

やっぱNXTはその程度か!


ロボットを持ち上げて、「超信地旋回」を実行すると、左右の回転数は、ほぼ同じになります。

つまり、「同期を取る」指定で回転させても、モーターに負荷が掛かると、単に回転量が少なくなります。 片方のモーターの回転量が少なくなったとしても、もう片方はそれには合わせないよ。 ということみたいです。


いろいろ実験した中では、「超信地旋回」に有効なのは、「同期を取る」のではなくモーターのスピードを一定に保つ指定でした。

OnRevReg( OUT_A,75,OUT_REGMODE_SPEED );

OnFwdReg( OUT_C,75,OUT_REGMODE_SPEED );

こうすると、左右の回転角度は、2.5%のズレでした。


2009.6.7追記

表題を超信地回転から超信地旋回に変更しました。

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« おはよう日本 | トップ | やっぱり・・・ »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

NXTねた」カテゴリの最新記事