Re: The history of "M&Y"

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

NXTネタ その24 まっすぐ進む

2009-03-19 | NXTねた

今回のノード大会ではNXTで挑戦したMですが・・・

新しいことに挑戦したMに、いくつもの障害が立ちふさがりました。

何でもないライントレースで誤発見したり、坂道を転げ落ちたり・・・つい、先日はモーターパワーを100にしたらバグり、50にしたら正常に動く・・・という、もうどうにでもしてくれ状態です。

そういえば、ロボット杉並21のロボット競技会でNXTマシンで参加したYに、審判からインタビューで「モーターのサーボ機能を使用していますか?」と質問があったのですが、Yは「サーボ」という言葉が分からずに、首をひねって「使っていません」と答えました。 メンターの私ですら、使い方を知りませんでした。

このモーターの使い方です。

Mはロボットを直進させると、必ず右に曲がることに気が付きました。

単に、右のモーターの方が弱いようです。

ですので、直進するときに、左のモーターパワーを少し弱めて設定していました。

   OnFwd( OUT_A,70 );
   OnFwd( OUT_C,75 );
こんな、感じです。


私も、「NXTは簡単に回転スピードを調整できるからすごい」などと考えていました。

しかし、それだけじゃないんです。

2つのモータを同期させて回転することができるんです。

こんなプログラムを作ってみました。

task main()
   {
   int ra,rc;

   ResetTachoCount( OUT_AC );
   OnFwd( OUT_AC,75 );
   Wait(4000);
   Off( OUT_AC );

   ra=MotorTachoCount( OUT_A );
   rc=MotorTachoCount( OUT_C );

   ClearScreen();
   TextOut(0,LCD_LINE1,"A=");
   NumOut(16,LCD_LINE1,ra);
   TextOut(0,LCD_LINE2,"C=");
   NumOut(16,LCD_LINE2,rc);

   Wait(4000);
   }

4秒間直進して、左右のモーターの回転数を表示します。

やってみると、

A=2113 

C=2053

と表示され、A(左)のモーターの方が多く回っていることが分かります。(右に曲がる)

次にモーターの記述を

   OnFwdSync( OUT_AC,75,0 );

に変えてみると。

A=2037 

C=2040

と、ほとんど変わらなくなります。(真っ直ぐに進みます。)

たったこれだけのことですが・・・感動です!

(同期を取ると、同じ時間でも進む距離が少なくなりますね。)

ロボットを真っ直ぐ進ませる・・・このごく当たり前のことができなかったのですが、それを簡単に実現してしまえるNXT恐るべしです。

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする