制約の範囲で最高のロボットを作る
FLLのロボット競技では、10個程度のミッションが設定され、それらを2分30秒以内でどこまで遂行できるかを競う。ミッションの難易度に応じた得点が設定され、合計点が競技の得点となる。時間をあけて3回のラウンドを行い、最も高い得点が採用される。
FLLの対象とするロボットは、使用部品などに一定の条件が課されている。その基本的な構成を紹介していこう。
最初にマインドストームの基本構成を紹介しよう。マインドストームは、コントローラ、モーターや各種センサの機能部品、多様なブロックなどにより構成される。コントローラはCPUとメモリを含み、モーターへの出力ポート3つ、センサからの入力ポート3つを有する。コントローラの電源は、単三乾電池(または充電池)6個である。昨年から、従来のRCXタイプより高性能版のNXTタイプの使用も可能となったが、今回の連載ではRCXタイプを対象とする。
ロボットに使用できる部品には制限がある。1つのコントローラと3個のモーター、タッチセンサ2個、光センサ2個、回転センサ3個、ランプ1個の他、無制限のレゴブロック(レゴブロックセットに含まれるものであれば、ゴムやベルトなども使用可能だ。ただし、接着や加工などは不可)である。
ロボット競技のミッションの内容からロボットの構造は、基本的に車両型である。駆動用モーターは、実際の車のように1個でも可能であるが、走行方向制御の容易さから、2個を使って左右の車輪に接続するのが普通である。ギアを介して接続すると、ギア比によって、速度とパワーの制御を行うことができる。また、必要に応じ、各種センサを装着する。
なお、すべてのミッションを遂行可能な、人間の手のような汎用のロボットを作ることはできないので、ミッションに応じた操作機構(アタッチメント)を複数製作し、ミッションごとに着脱する。
ロボットがクリアすべきミッションとは?
次に、FLLのロボット競技種目(ミッション)であるが、毎年異なるので、本連載では、昨年度行われたFLL2006の例を中心に紹介する。
ロボット競技は、周囲を高さ9cm程の壁に囲まれた一畳程のフィールド内で行われる。このフィールド上にほぼ同じ広さの「フィールドマット」が敷かれ、その上に後述のミッションを構成する各種の障害物(Mission Models)が設置される。これらの障害物もレゴブロックを用いて組み立てられる。
フィールドの一角には40cm平方(実際には、スタート時のロボットの高さも40cm以下に制限されている)のベースがあり、この部分がロボットのスタート位置となる。図2では、右手前にベースがある。競技会では、このフィールド2面を点対称の関係となるように並べ、2チームの対戦形式で行う。
各ミッションは、所定の箇所を押したり引いたり、物体を移動したり、回収したりするものであり、すべてのミッションを完遂すると400点となる。以降の記事でロボットのプログラム制御の詳細について説明するミッションについて、ここで紹介しておこう。
1つ目が「個々の原子操作(Individual Atom Manipulation)」だ。揺れる台の上に、背の高い白い原子と背の低い赤い原子とが、各8個交互に並んでいる。このうち、3個以上の白い原子を台から落とすものである。ただし、赤い原子を落とすと、無得点となる。
2つ目が「スペースエレベーター(Space Elevator)」だ。2つの競技フィールドの中心に配置されたエレベーターの下部の足を両チーム側から押すことにより、人が乗っている籠を降ろす(反対側の籠を上げる)ものである。したがって、このミッションは、対戦相手も遂行しないと得点とはならない。そこで、一方のチームのみが何らかの手段により強制的に籠を降ろす(上げる)ことも許容されている。
3つ目が「分子モーター(Molecular Motor)」でATP分子(小物)をベースから障害物まで運び、所定の枠内に落とすものである。
各ミッションの遂行では、ロボットは自律走行する。すなわち、ベースからスタートし、障害物のところまで走行した後、所定の操作を行い、ベースに戻る。ロボットに手を触れることができるのはベース内のみである。したがって、戻ってきたロボットに対し、次のミッションのためにアタッチメントを交換し、次のプログラム番号(第2回以降で紹介予定)を選択し、再びスタートさせる。
次はFLLにおけるプログラミングを紹介する。 次のページ