駆動部と4輪プログラム

ここでは、駆動部となる後輪周りの解説と、4輪ロボット全体のプログラムを解説します。

ディファレンシャルギア

ディファレンシャルギアとは、電子制御工学科2年生で学ぶ機械要素の授業で勉強する「差動歯車」 のことです。4輪車が右左折する際に、内外輪の回転数が変化します。それをうまく調整してくれるのがディファレンシャルギア です。
説明書には詳しく載っていませんがRISにも、付属でディファレンシャルギアはついています。
この4輪ロボットでもそれを使用しています。別にこれを装着したからといって、プログラムに変化がある わけでは無いのですが、これを工夫して使用すれば面白い動きをする装置をつくることもできます。


駆動部


4輪ロボットの駆動部は上図の様になっています。
モーターの回転を何枚かのギアを伝わってトルクをあげて最後にディファレンシャルギアへ伝わり、タイヤが回転します。
真中に見える大きいギアがディファレンシャルギアです。


4輪ロボットを行動させるプログラムをつくる。
それでは次に実際に4輪ロボットを走行させるプログラムを作ります。 先ほどのステアリングのプログラムに後輪の駆動プログラムとそして、タッチセンサのプログラムを作成します。
プログラムとしては単純な、前進して物体に当たったらハンドルきって後退してまた前進する。といったものを作ります。
しかしそれだけでは工夫がないので、右のバンパ左のバンパと当たった時のハンドルの切り方を変えます。
そして障害物にぶつかって後退している最中にも後ろのバンパが当たったら停止するようにします。
後退している時は、トラックのようにぴーぴーぴーと音を鳴らします。


4輪ロボット走行サンプルプログラム


ダウンロード用プログラム(上記のプログラムをNQCファイルとして保存)


プログラム詳細解説


NQCのチュートリアル対応表
  • Play Sound():RCX内臓のスピーカで音を鳴らす関数。数種類ある。他に周波数等を指定する Play Tone()もある。→チュートリアル27ページ
  • start stop:タスクは複数を同時に実行できる。→チュートリアル22ページ


RCXへケーブルの接続の仕方
上記のプログラムを実行する際には、RCXへのケーブルの接続は右図の様に配置してください。
センサーポート2は一つのポートに2つのケーブルが接続されています。
ひとつのポートに複数のケーブルを接続する場合は、センサで得られる値が変化する場合があるので注意して下さい。
この場合の接続は、センサーポート2に合計3つのタッチセンサが接続されている事になっており、この時センサのとる値は3つのタッチセンサの内ひとつでもセンサが押されれば、センサ入力がONという値をとります。
この時、センサのモードの設定をRAWモードに設定していると値が0か1でなく、より細かい数値が検出されます。
詳しくはNQCチュートリアルの32ページを参照してください。
RAWモードでセンサがどのような値をとるか調べる時には、一度RAWモードで設定したプログラムをRCXにロードし、センサも接続した状態にします。
電源は入れたまま、プログラムはRUNしないでRCXのViewボタンで値を調べたいポートへ合わせて、センサを押したりしてみると値が確認できます。






これで4輪ロボットの構造解説とプログラミングは終了しました。
この4輪ロボットは、あくまで一例にすぎないので、よかったら参考にして頂いてより上級なロボットを開発してみてください。
この4輪ロボットの改造例として、ハードとしては、4輪駆動車にする、6輪車にする、後輪も操舵するようにする等
ステアリング機構もまだまだ未開発なので改良の余地があります。ステアリング機構の改良版のリンク
ソフトウェアとしては、光センサを使用して障害物を発見したり、初めからタイヤの角度が曲がっていても、垂直を検出できるようにしたり 、まだまだ様々な改造があります。

つぎのページからは、RCXを2台使用しての赤外線通信とその応用例の解説に入りたいと思います。