駆動部と4輪プログラム
ここでは、駆動部となる後輪周りの解説と、4輪ロボット全体のプログラムを解説します。
ディファレンシャルギア
ディファレンシャルギアとは、電子制御工学科2年生で学ぶ機械要素の授業で勉強する「差動歯車」
のことです。4輪車が右左折する際に、内外輪の回転数が変化します。それをうまく調整してくれるのがディファレンシャルギア
です。
説明書には詳しく載っていませんがRISにも、付属でディファレンシャルギアはついています。
この4輪ロボットでもそれを使用しています。別にこれを装着したからといって、プログラムに変化がある
わけでは無いのですが、これを工夫して使用すれば面白い動きをする装置をつくることもできます。
駆動部
4輪ロボットの駆動部は上図の様になっています。
モーターの回転を何枚かのギアを伝わってトルクをあげて最後にディファレンシャルギアへ伝わり、タイヤが回転します。
真中に見える大きいギアがディファレンシャルギアです。
4輪ロボットを行動させるプログラムをつくる。
それでは次に実際に4輪ロボットを走行させるプログラムを作ります。
先ほどのステアリングのプログラムに後輪の駆動プログラムとそして、タッチセンサのプログラムを作成します。
プログラムとしては単純な、前進して物体に当たったらハンドルきって後退してまた前進する。といったものを作ります。
しかしそれだけでは工夫がないので、右のバンパ左のバンパと当たった時のハンドルの切り方を変えます。
そして障害物にぶつかって後退している最中にも後ろのバンパが当たったら停止するようにします。
後退している時は、トラックのようにぴーぴーぴーと音を鳴らします。
ダウンロード用プログラム(上記のプログラムをNQCファイルとして保存)
プログラム詳細解説
- メインタスク
メインタスクでは、センサのポート設定の後、タスク straghtをスタートさせます。
- タスク straght
straghtでは前左右タッチセンサの入力をまって、ステアリングをきりながら後退します。
そして後退する時に、ビープ音をならすback_beepタスクと後退中に後ろのタッチセンサを調べるrear_touchタスク
をスタートさせ、後退が終わると終了させます。
- サブルーチン back_right back_left
back_right leftでは、straghtタスクからの命令で前輪を左右に曲げます。
- サブルーチン インライン関数 vertical turn
これは前ページに出現したプログラムです。タイヤを垂直に戻します。
- タスク rear_touch
これは、前面バンパが障害物に当たって、ロボットが後退している時に後面のバンパが当たったらその時点で
後退を中止するタスクです。そのときバンパが当たったと同時に後退中のビープ音も止めます。
そしてプログラムが先頭に戻ります。
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台使用しての赤外線通信とその応用例の解説に入りたいと思います。