発想の転換:メカとの協調で正確に曲がる
前ページまでで、正確に曲がるプログラムの一実現方法について書いたが、実際にはもっと曲がる精度の求められるケースがある。FLL2006のミッションの1つに分子モーターというものがあった。この走行図の例を図3(1)に書く。
ミッションは図3(1)のスタート位置であるベースから出発して目的地まで行き、そこにある目的物の端の約3cm角の正方形の枠の中に分子模型を落として入れることが目的である。これを達成するためには、まずスタート位置から正確に目的地まで行かないとならない。
直線で行ければ良いが、途中に別のミッションである障害物があり、どうしても途中で曲がることが必要になる。スタート位置と曲がる位置A、位置Aと目的地とはそれぞれ約1m弱ほどの距離がある。求められる精度は1mの距離に対して目的の枠3cmに1cmのずれも許容されないほどである。しかもこれを最初のページで述べたように0.9以上の信頼性、すなわち10回試して9回以上成功するような精度で達成しなければならない。
前ページまでに書いたように、1m進んだ時に1cmの誤差に収めようとするならば、回転半径をロボットの車幅の6cmとして、回転時の許容誤差は距離で言うと1cm÷(1m÷6cm)=0.16mmとなり、回転センサを用いてもこの精度を出すことはできない。
そこで発想を転換し、もっと精度をあげるために考え出した方法が図3(2)のようなロボットである。こちらも試行錯誤の中で中三のメンバーが考案したものである。
舵の回転により正確に曲がり、さらにメカで補う
図3(2)のロボットの動作を図3(3)を使って説明する。図3(3)において舵は初期位置として、地面から浮いた状態にある。この状態でスタート地点から位置Aまで進む。ここでいったん止まり、図3(3)の矢印のように舵を左方向に回転させる。
これによりロボット前部が浮き上がり、非常に正確に一定角度向きを変えることができる。舵の先端にはタイヤがついており、地面に接すると回転するようになっている。またモーターの回転に対し舵のギヤ比を高くして、トルクを強くしている。これにより舵のタイヤが地面についた時の静止摩擦の影響を小さくし、回転摩擦によりロボット本体を回転させることができる。このあと舵のタイヤが浮くまで舵を回転させるので、舵の回転の角度の精度はそれほど高くなくても問題無い。
しかしながらこれでもさらに小さな誤差が出るので、図3(1)の位置Bにおいて再度補正を行う。ここでは、ロボット全体を左に回転させることにより一番先端のフリップの部分を直接目的物に当て、それ以上回転しないことを利用して角度の補正をしている。そのあとは再度直進し、目的物にロボットがあたると、枠の中にロボットが保持していた分子模型が落ちる仕組みとなっている。
今回は曲がるということを中心に、いかに高い精度で曲がるかをプログラム、メカを含めて書いたが、上記の例でもスタート位置から位置Aまでの約1mもの距離を正確に進めるのかという疑問をお持ちの方もいらっしゃるであろう。そこで、次回は最終回として、正確な距離を進むための仕組みについて解説していく。