5月から6月にかけて、ETロボコン2011の技術教育が各地区で行われています。技術教育では、開発環境・要素技術に関する教育、および、基本的なモデリングに関する教育が行われます。そして、技術教育が終わると、参加者の皆さんの活動も本格化することでしょう。今年も、アツい夏がすぐそこまで来ています。
さて今回は、今年のETロボコン2011の競技内容と開発環境についてご紹介します。
ETロボコンで使用するロボット
最初に、ETロボコンで使用するロボットをご紹介しましょう。
今年のETロボコン2011で使用するロボットの画像を図1に示します。ETロボコンで使用するロボットは、教育用レゴ マインドストームNXTで組み立てます。教育用レゴ マインドストームNXTはARMマイコンを搭載したNXTブロックとそれに接続するセンサとモータ、そのほかのギアやシャフト等のパーツをひとつのパッケージにしたレゴ社の製品です。
このロボットは大きく分類して、人間の頭脳に相当するNXTブロック、人間の目や耳に相当するセンサ、人間の手や足に相当するモータから構成されます。
まず、センサについて説明します。ロボットには、ジャイロセンサ、光センサ、超音波センサ、タッチセンサの4つのセンサが搭載されています。ジャイロセンサは、センサ自身の角速度を計測するもので、ロボットの傾き具合を知ることができます。光センサは周囲の明るさを計測するもので、地面の色の濃さを知ることができます。超音波センサは、超音波の発射部と受信部からなり、発射した超音波が前方の障害物に反射して返ってくるまでの時間を計測することができるものです。この計測時間と音速値を使うことにより、前方の障害物までの距離を知ることができます。タッチセンサは、センサのボタンが押されたことを知ることができます。
次に、モータについて説明します。モータは、ロボットの左右の車輪回転用、および、尻尾制御用の3つが搭載されています。NXTブロックのプログラムからモータへ回転方向(正転/反転)および回転速度を指示することができます。
最後に、NXTブロックについて説明します。NXTブロックには、ARMと呼ばれるマイコンが搭載されています。PCで作成したプログラムをNXTブロックに転送して、ARMマイコン上でプログラムを動作させることができます。また、NXTブロックをセンサやモータとケーブルで接続し、ARMマイコン上のプログラムでセンサの値を読むことや、モータへ回転動作を指示することができます。したがって、センサの値に従って、モータに適切な回転動作を指示するプログラムを作成すれば、ロボットを自律動作させることができます。
また、NXTブロックはBluetooth通信機能を内蔵しており、PCなどのBluetooth通信機器と通信を行うことも可能です。
ロボットのハードウェア部分は全チームで共通
このロボットの組立て手順は、ETロボコン実行委員会から参加者に提示されます。参加者は、提示された組立て手順に従ってロボットを組み立てる必要があります。つまり、全参加者が同じ仕様のロボットを使うことになります。また、このロボットは乾電池により駆動されますが、使用する乾電池も同じ製品を使うことになっています。したがって、ロボットのハードウェア部分については全参加者が共通となります。違いは各参加者が作成するソフトウェアのみです。ETロボコンは、まさにソフトウェア勝負のロボコンであり、これが大きな特徴のひとつとなっています。
ロボットの倒立制御とライントレース制御について
このロボットを走らせるためには、まずロボットを立たせる必要があります。しかし、ロボットの尻尾を上げた状態では、車輪が左右に2つしかないため、前後のどちらかに倒れてしまいます。まずは、ロボットを立たせるように左右の車輪を制御しなければなりません。読者の中には、そのような複雑な制御を行うプログラムは作成できないと思われる方も多いでしょう。しかし、心配する必要はありません。なぜなら、ETロボコンの参加者にはロボットの倒立制御を行うライブラリが提供されるからです。この倒立制御ライブラリを使えば、誰でも簡単にロボットを立たせることができます。
ちなみに、この倒立制御ライブラリでは、ジャイロセンサの値からロボットの傾き具合を知り、傾き具合に応じて左右の車輪(=モータ)を適切に回転させて、ロボットを立たせることを実現しています。たとえば、ロボットが前方にゆっくりと傾いている場合は車輪を前方へゆっくりと回す、あるいは、後方へ急激に傾いている場合は車輪を後方へ速く回す、などといった制御を行っています。一輪車に乗る場合の制御方法をイメージすると、理解できるかもしれません。
また、競技では、競技フィールド上の黒いラインをトレースして走ることになります。ライントレース制御のためには、まず、光センサの値からロボットが黒いライン上にいるのか、あるいはライン外の白いエリアにいるのかを判断します。そして、ライン上とライン外で、ロボットの進行方向を左右に切り替えることにより、ライントレースすることができます。
これはライントレース制御の基本ですが、ライントレースのスピードをいかに上げるかが上位入賞のためには重要です。たとえば、
- 光センサによるライン検出の精度を上げる
- カーブ部分では転倒しないようにスピードを緩め、直線部分ではスピードを上げる
- PID制御を採用する
など、アイデアはいくつもあるでしょう。その他に、ライントレース制御では、以下の点についても考慮すべきでしょう。
- 光センサは、会場の照明環境などの外乱の影響を受けやすい。外乱の影響を抑える、あるいは、環境の違いを吸収するような工夫が必要
- 実際のコースには、坂道となっている部分がある。この坂道部分では、光センサからコース面までの距離が平坦部分より短くなるため、光センサの値が変わることがある。坂道部分でのライン検出に工夫が必要
ETロボコンの競技ルール
競技フィールドはコースレイアウトを特殊技術で印刷し作成された布地であり、全体の大きさは5460mm×3640mm(約12畳)です。競技フィールドは、白い下地の上に黒い線が2本引かれており、この黒い線のそれぞれを、インコース、アウトコースと呼びます。インコースとアウトコースで相互の交差はありません。
このコースを、プログラムによる自律制御でロボットを走らせます。競技中にロボットに対して、エネルギー、力、情報などを与えてはいけません。他のロボコン競技では、ロボットをリモコン操作で動かすものもありますが、ETロボコンでは一切禁止しています。
コースはベーシックステージとボーナスステージで構成されており、スタートするとベーシックステージとなります。ベーシックステージはライントレースのスピードを競うものであり、スタート後ゴールするまでの時間を計測します。ベーシックステージをゴールすると、続いてボーナスステージにチャレンジできます。ボーナスステージは、難所と呼ばれる部分をクリアするための制御を競うもので、制限時間内に難所をクリアするとボーナスタイムを得ることができます。ボーナスステージの難所は、ルックアップゲート、ET相撲、シーソー、階段、ガレージインの5つがあります。
1回の競技は、2チームがインコースとアウトコースに分かれて並走します。2チームが同時にスタートし、両チームとも走行を終了したら、1回の競技は終了となります。競技結果は、ベーシックステージの計測タイムから、ボーナスステージで獲得したボーナスタイムを減算したリザルトタイムとなります。これを繰り返し、各チームがインコースとアウトコースを1回ずつ走ります。競技順位は、各チームのインコースとアウトコースのリザルトタイムの合計で決定します。もちろん、リザルトタイムの合計が小さい方が上位となります。
したがって、大会で上位入賞するためには、いかにライントレースのスピードを上げるか、そして、いかに難所を確実にクリアするかが勝負の別れ目となります。そのために、走行戦略や制御戦略をしっかりと検討し、モデリングしていくことが重要です。自分の考えた走行戦略や制御戦略を実装し、ロボットの動きとして具体的に見えたとき、大きな喜びを得られるでしょう。
今年の新たな難所について
難所のうち、今年新たに追加された、ルックアップゲートとET相撲について簡単に説明します。
ルックアップゲートは高さ235mmのゲートを通過するものです。ロボットの身長は245mmであり、ルックアップゲートより高いため、ルックアップゲートを通過するためには何らかの工夫が必要となります。
ET相撲は、図4のグレーのエリアに置かれたペットボトルを押し倒すか、エリア外に押し出すと難所クリアとなります。ペットボトルは、並走の相手チームがスタート直前に設置するため、ペットボトル位置を事前に知ることはできません。ペットボトル位置を何らかの手段で知る必要があります。他の難所も含め、どのようにすれば、それぞれの難所をクリアできるかを読者の皆さんも考えてみてください。
Bluetooth通信の解禁について
昨年までは、競技中のBluetooth通信は禁止としていました。しかし、今年のETロボコン2011では、競技中のBluetooth通信を解禁とすることにしました。Bluetooth通信により、ロボットとPCで連携して制御を行うことが可能です(ただし、PCを人手操作できません)。これは、ロボット+PCでひとつの自律制御システムであるという考え方によるものです。
これからの組込み機器はスタンドアロンに存在するだけでなく、通信により外部システムと連携してサービスを提供していくことが重要な要素となると考えています。このため、ETロボコンでも通信を積極的に取り入れていきたいと考えました。通信が解禁されることにより、モデリングの幅も広がると考えています。
ETロボコンの競技内容の変遷
今年の競技内容は、これまでに説明した通りですが、ここで、これまでのETロボコンの競技内容の変遷について、ご紹介したいと思います。
ETロボコンは、2002年にUMLロボコンとして始まったのですが、2002年のコースは、坂道や難所などはなく、黒線が引かれたのみで、単純にライントレース制御を競うものでした。2003年に「坂道」、2004年に最初の難所である「点線ショートカット」が採用されました。その後、ほぼ毎年、新たな難所を追加してきています。これは、参加者のモデリング技術が上がってきており、それに対応した難所を提供する必要があるためです。また、参加者には何年も継続して参加される方も多く、そのようなリピータ参加の方向けに新たな課題を提供するという意味合いもあります。
そうした対応がある中で、初めて参加するチームがモチベーション高く学習できるようにと競技レベルのセッティングには毎年たいへん悩みます。
そして、2010年には、本格的な3D難所である「シーソー」、「階段」を採用しました。これは、ロボットが教育用レゴ マインドストームNXTベースとなり、2009年までの規定走行体であった教育用レゴ マインドストームRCXベースに比べて、ロボットの基本性能が上がったことにも関係しています。今年は、「シーソー」、「階段」は継続とし、さらに新たな3D難所として、「ルックアップゲート」、「ET相撲」を追加しました。おそらく、これまでの歴史の中で、難易度は最も高いでしょう。今年の参加者の皆さんがどのように攻略してくるのか、たいへん興味深いところです。
なお、競技内容は、ETロボコン本部技術委員会で検討しています。毎年、年明けごろから、競技内容の検討を始めています。最初は、新たな難所や競技内容の変更点についての案をメールベースで議論します。その際は、参加者の皆さんからのアンケート回答も参考にしています。競技内容がある程度固まったら、合宿を行います。合宿では、試作したコースで実際にロボットを走行させて、検証を行いながら、競技内容を決めています。
こうして長い議論の末に、4月後半に競技規約を公開しています。ETロボコンは学生および社会人が参加するイベントであり、参加者のレベルは初心者から企業の中級エンジニアまでと幅広くなっています。したがって、どのレベルの参加者にも有効な技術教育の機会となるように、競技内容の検討を行っています。今後も、参加者の皆さんに有効な技術教育の課題を提供できるよう、頑張っていきたいと考えています。
ロボット制御用ソフトウェアの開発環境
それでは、次にロボットを制御するソフトウェアの基本開発環境についてご紹介しましょう。
ETロボコン実行委員会では、ロボット制御用ソフトウェアの基本開発環境としてnxtOSEKを参加者に提供しています。nxtOSEKは、自動車業界等で使用されているOSEK RTOS(TOPPERS ATK1)をNXTに移植したものです。参加者には、nxtOSEKに関する技術資料(開発環境のセットアップ方法、プログラム作成手順、サンプルプログラムなど)も提供しており、容易に開発を始めることができます。また、nxtOSEKの他に、TOPPERS JSP/ASP、leJOS、UTOSを使用することも認められています。これらのうち、leJOSのみJava言語での開発であり、その他はC/C++言語での開発となります。
なお、ETロボコンでは、倒立制御ライブラリを含む基本開発環境は非競争領域と定めています。ETロボコン実行委員会が準備・認定した開発環境を改変する場合、あるいは、準備・認定したもの以外を利用する場合は、事前に実行委員会の認定を得なければなりません。ここで、認定の条件は、全ての参加者が利用可能であること、および、利用するための技術情報が公開されていることです。
一方、アプリケーション部分は競争領域と定めています。したがって、アプリケーション部分の開発環境については制限がありません。アプリケーション部分の開発に、ソースコード自動生成機能を含むモデリングツールを利用することも可能です。特に今年は、開発支援スポンサー様より、高価なモデリングツールをETロボコン参加者向けに無償提供していただいています。積極的にモデリングツールを利用し、モデリングの効果を実感していただきたいと思います。
今年のETロボコン競技の注目点
今年のETロボコン2011の競技内容および開発環境についてご紹介してきました。今年新たに追加した難所やBluetooth通信について、どのようなモデルが出てくるのか、たいへん興味あるところです。また、昨年から継続した難所やライントレース制御について、新たなモデルが出てくるのかという点についても注目しています。ぜひ、「中の人」たちが驚くようなモデルが出てくることを期待したいと思います。
※:レゴ、レゴ マインドストームはレゴ社の登録商標です。