|
大会を意識したロボットの進め方 世界大会を入れると地方大会、全国大会、世界大会と3回の競技会を経験することになります。よほど簡単なミッションで無い限りは、世界大会で完全つまり常に400点満点を取るのは難しく、従って地方大会、全国大会の段階ではもっと完全を期すのは難しくなります。つまり各段階でそれなりの成果を出していく必要があります。 ロボットを作っていくのは山登りに似ています。下の図をご覧ください。 まずはどれかミッションを攻略しようと言うことで、構想を立て、こういう風にやってみようとはじめて、ロボット、プログラムを作ります。するとまずそれが何らかの形になって、動きだして来る時期があります。(下の図の開発期)。ここからさらに進むと、やってみてまずい点が見えてきて、改良が始まります。(下の図の改良期)しかし改良を繰り返していくと、次第に行き詰って来ます。これが下の図の限界改良期です。その内だんだん改良しているのだか、改悪しているのだかわからなくなります。うまく改良できた時にはAのようにうまくいくようになりますが、時にはスランプにおちいったようにBのように極端にできなくなる場合があります。ここで厄介なのが、作ってみないとAのような山の頂上の高さがどれくらいになるのかが、なかなかわからないことです。 ここで大事なのはAのところで大会を迎えることです。Aは満点とは限りません。どちらかというと「実力を出し切る」状態です。Bのところで大会に臨むといわゆる「実力が発揮できなかった」状態となります。ですから大会の前でAのような頂上の状態にあると思った時には、改良をやめ、その状態を大会本番までキープする必要があります。
 |
通常十分な時間をかけていると、大会の時には限界改良期にいるはずです。ただ、実際地方大会を見ていると開発期にあるように見受けられるケースも多く、この場合はやはり時間の掛け方が不足していると言えます。ロボット競技はとにかく時間をかけないことには良いものはできません。逆に言うと限界改良期程度まで進んでいると、少なくとも地方大会を勝ち抜くチャンスはあると考えられます。
上でも言いましたように、Aのところは満点とは限りません。そこで、Aの高さを限りなく満点に近づけて行くことが必要になります。ところが、限界改良期に入っていると、なかなか改良しても点数や成功確率が上がっていきません。その場合は再度作戦を見直し山を一旦下りてから登りなおすしかありません。これはエベレストに登ろうとして、いくら富士山の頂上付近でもっと上に登る方法が無いかを一生懸命探してもだめなことと似ています。一旦平地まで下りて、改めて山を登りなおさないと、もっと高い山には登れません。ただし、登ろうとしている山がエベレストなのか富士山なのかは改良期あたりまで来ないとわからないのが実状です。ですから山を登りなおす時には、前の方法のロボットやアタッチメントやプログラムを必ず保存した上で、新しい物を作ります。エベレストに登るつもりで登りはじめたら、富士山より低い山だったという場合も良くあることだからです。
この意味で山を登りなおす好機は地方大会、全国大会を勝ち抜いた直後です。次の大会まで時間があり、リスクを賭けて登りなおした山が、前の山より万が一低くてもやり直しがきくからです。勝ち抜いた後はどうしても気が抜けてしまうものです。試験を終わった直後に次の試験勉強を始めるようなものですから。なかなか人間そういうことができにくいものです。しかし、大会直前に限界改良期でさんざん苦しんで、どこが悪いのか、どこを改良しないといけないかが一番はっきり身にしみてわかっているのもこの時期です。時間がたつと、苦しさは忘れてしまいます。この苦しさを突破するという志をエネルギーにして前に進むしかありません。
実際に世界大会まで行くと、順々に高い山を3つ登っていくような感じになります。
ただ登り方は大会によって少しずつ異なります。
地方大会は時間がありませんので、いくつも高い山が見えたとしても、確実に登れる山を探すことが重要になります。ミッションの中で、難しいものを見極め取捨選択するところから始めます。まずできるものを確実にこなすのが点数を取るコツです。ただ、やはり精度は重要で、確実にこなすというのは高い確率でできるようにするということも含みます。
全国大会と世界大会は取り組み方は比較的似ており、全部のミッションをこなすことが基本となり、その上で成功確率を上げるのが基本スタンスになります。
ミッションを理解する ミッションを理解することは、ミッションをクリアするための第一歩です。毎年ミッションは変わります。ミッションは毎年9月に発表されますが、発表と同時に内容を精読して理解することが重要です。通常最初は英語でしか発表されないので、英語を読まないとなりません。これが難物で実際ミッションキットが届くまでは読んでもなかなかどうなっているのか理解できないことも多いのが現実です。
また理解した内容をチーム全員が共有することも重要です。つまり何をやらなければならないかを、全メンバーが同じように理解していることが基本となります。
同じようにルールも微妙ですが毎年変わります。これも要注意で、その年のルールでやってはいけないこと、逆にやっていいこと(作戦としてつかえそうなこと)を整理しておく必要があります。
ミッションキットが来たら組み立てる ミッションキットは日本の場合届くのが遅く、10月中旬にならないと来ないこともしばしばです。年により異なりますが、ミッションキットは組み立てるのに20〜30時間くらいかかります。つまり4人で5時間とか5人で6時間集中して組み立ててやっとできるくらい時間がかかります。ただ組み立てないことには始まりませんので、必ず来たらすぐに組み立てます。ここで重要なのは、一か所でも間違えたらだめだということです。たかが部品1個といえども、違うものをつけたり、位置が一個でもずれていたり、色が違ったりしないように細心の注意を払って組み立てることが必要です。これはちょっとした違いでもミッションをクリアできるできないが変わってくるからです。せっかく一生懸命練習をして、いざ大会に臨んだら、やらなければいけないことが違っているために、作ったロボットが全く役に立たなかったと言うのでは、何のためにやっているのかわかりません。 この意味でもう一つ大事なことは、毎回の練習終了時に大切にしまうことです。壊れた場合は必ず組立ての説明をもう一度見ながら間違いの無いように組み立てます。 疲れてくるとミッションを壊して遊んでしまったりしますが、これだけは決してやってはいけません。
ミッションを攻略する方法を考える まずはミッション1つずつ、どうやってクリアするかを考えます。中にはちょっとやそっとではクリアする方法を思いつかないものもあります。また同時に複数のミッションのこれとこれを組み合わせれば一緒にできそうだという構想を立てます。ただこの時点ではやってみないとわからないというのが正直なところでしょう。
上にも書きましたが、まず確実にできそうなものを確実に行い、その上でうまく行ったものを統合していく方法を地道に進めるしかありません。
ベースロボットを作る ベースロボットはミッションの発表よりも前に作りだしても一向に構いません。チームによっては世界大会が終わるや否や、次の年に向けてベースロボットをどう作ろうかと構想を練りだします。ベースロボットの作り方は「ロボットの設計の基本」を参照してください。
ベースロボットは最低でも2台作る 部品が少ないとできないかもしれませんが、万が一落としたりして壊れることに備えて、また一度に複数のアタッチメントを考えられるように、さらに2人が一度に練習できるように、最低2台はベースロボットを作ると良いでしょう。台数は多くあればあるほど効率は良くなります。ここでまた重要なのは、ミッションキットと同じように2台のロボットは完全に同じ物を作ることです。同じ物を作ろうとしても、間違えてしまうことも良くあります。よくよく注意して作ることが肝要です。
|
Edisonsの場合には・・・ Climate
Connectionsではベースロボットは4台作りました。それぞれブロックの色を少しずつ変えて赤号、黄色号、黒号、灰号などと名付けていました。
また地方大会(関東大会)から全国大会の間でベースロボットを大幅に変えました。だいたい地方大会でその年のミッションの素性が見えてきますので、それに合わせて大変更、小変更はともかくとして、ベースロボットを変えることが多いものです。
|
各ミッションをクリアするための作戦を立てる
まずはどのミッションを試すかを決め、場合により一度に行うミッションを決め、そのためにどういう動きが必要かを考えます。
これは大きく3つのステップから成り立ちます。
ステップ1:そのミッションまでどうやって正確にたどりつくのか
ステップ2:ミッションにたどりついたらどうクリアするのか
ステップ3:次にミッションまでどうやって正確にたどりつくか
以後一遍に行うミッションの分だけステップ2と3を繰り返す。
ステップ4:どうやってベースまで帰ってくるのか
もし1つのミッションしか行わない場合は、ステップ3は無く、ステップ1→ステップ2→ステップ4の流れとなります。しかもステップ1とステップ4はほぼ同じような考え方が使えます。
さらにこれらを組み合わせるとステップ1、3、4はロボットの移動、ステップ2はミッションのクリアと大きく2つに分類されます。
ロボットの移動は後にも述べますが、曲がる回数が少ないこと、途中で補正ができることが正確さを出すコツになります。
一方ミッションのクリアは、メカ的に行うのか/モータを使って行うのか、モータを使う場合向きが縦なのか横なのか/回転なのか移動なのか/動く方向はどちらなのか/どういう動きをするのかを決めないとなりません。特にFLLではモーターは3つしか使うことが許されていませんので、両方の車輪を動かすモーター(EdisonsではAモーター、Cモーターと呼んでいます。)とミッションをクリアするためのモーター(EdisonsではBモーターと呼んでいます。以後Bモーターという言葉に注意して下さい。)という使い方が一般的です。このBモーターを全部のミッションでどう使うかという分析をすることが大事です。それによりベースロボットの作り方が変わってきます。(ただベースロボットをどんな向きや動きにも対応できるように作っておくという方法もあります。)
それを実現するためのアタッチメントを作る
まずは実現するためのアタッチメントの設計をします。アタッチメントはまずは構想を立てます。どんな風に取ったり、持ち上げたり。ということで試作を作ります。これをプロトタイピングと呼びます。ここである程度素性が良ければ、本格的に作り出します。
アタッチメントの場合は頑丈に作れば良い場合もありますが、柔軟に作った方がうまくいく場合もあります。特に動きのぶれが常について回りますから、それを吸収するために、わざと柔軟に作った方がうまくいく場合があります。
プログラムを作る ロボットの設計の中でロボット本体やアタッチメントを作るメカ的な要素とプログラム的な要素とに分けて言うと、FLLの場合はメカ的な要素の方が大きいように思えます。如何に優れたプログラムを作っても、メカがだめだとうまくいかないということです。ただこれはプログラムを軽視して良いということでなく、優れたメカに優れたプログラムが組み合わさって、はじめて良いロボットができることを意味します。逆にプログラムは奥が深く、難しいプログラムを書こうと思えば可能です。そういう意味で言うとプログラムを極めるのは大変です。
プログラムを作る上で大事なことはわかりやすいプログラムにすることです。作った子供だけでなく、他の誰が見てもここで何をやっているのかがわかるような書き方をこころがけます。Robolaboを
使うと、まとまった動作を一列に書いて、また次のまとまった動作をその下の一列に書くことによって見やすいプログラムとすることができます。またコメントを書いておくことも必須です。「ここで右に90度曲がる」「アームをおろしてxxを取る」「ベースに戻る」などを実際のプログラムで動作をするところに書いておきます。
そして、プログラムは毎回きちんとセーブしておきます。
これもセーブしておく「もの」を決めておきます。最近はUSBメモリが安価に入手できますので、専用のものを作っておくと良いでしょう。そこにセーブする入れ方も法則を作っておかないとどれが一番最新のものかわからなくなってしまいます。日付などでいつ作ったものかわかるようにしておくと良いでしょう。
試しては微調整する この段階は非常に重要です。今までの経験上、初めて作って一発でうまく動くということはありえません。何となく動くまでに5〜10回の改良をし、さらに正確に動くには30回位改良してやっと本物になるという感じです。ですからこの改良には非常に忍耐力が必要になります。上で山登りと書きましたが、ここでも小さな山登りをしていくことを考えてください。微調整はメカを修正する場合とプログラムを修正する場合と両方の場合があります。
FLLでは精度が要求されます。ためにうまくいく程度では全く歯が立ちません。ここが難しいところで、普通の遊びなら何回かやって一発うまくいったところで、気持ちが満足して終ってしまうものです。ところが、FLLでは何回やってもうまくいくレベルにまで達しないとならず、一発うまく行ったレベルはほんの通過点でしかありません。むしろやっとスタート台に立てた位のイメージです。そこからの改良につぐ改良を経ないと、何回やってもうまくレベルになりません。
狙いのつけ方
ロボットを動かすのに、何かを狙ってスタートすることは良くあることです。このためにスタート位置を毎回同じ場所にして、同じ方向を向けてスタートをしなければなりません。この時に重要なのは、スタート位置を決める時は真上からのぞいて合わせることです。また方向を合わせるのにロボットの進む方向に狙いをつける人の向きを合わせることが重要です。斜めからねらうのは良くありません。また、三角定規のようなものを作ってロボットの位置を合わせる方法がありますが、経験的に人間が上記のようにきちんと狙った方が正確にできるようです。
作ったものは大切にとっておく これもなかなかできそうで、最初はできません。世界大会まで行くと、最終的には8か月にも渡ってロボットを作ることになります。その間改良に改良を重ねるわけです。こんなに苦労して作ったロボットやアタッチメントも壊すのは5分もかかりません。一度壊したら二度と同じものは事実上作れません。同じものを作るのにやはり何カ月もかかるでしょう。 最初のうちはあまりこの事実に気づきません。「また同じものをすぐ作れるさ」と思ってしまいがちです。ところがこれは大間違いで、同じものを作るのには同じくらいの時間がかかるものです。ですから保管する入れ物を作り、一度作ったものは必ず練習の終りにそこに大事に保管します。
通し練習 通し練習とは、全部のやろうとしているミッションを順番に全て行う練習のことです。通し練習をすることにより時間の短縮とともに、様々なうまくいかなかったケースにどうとっさに対応するかを体に学習させます。当然やりかたも競技と同じで3、2、1、legoで始め、時間も計ります。 元々ロボット競技の時間は2分30秒しかありませんから、その時間を如何に有効に使うかを考えないとなりません。時間を短縮するためにはこの通し練習を行う効果は非常に高いので、是非行うことをお勧めします。 地方大会に行くと、あちこちで、どれを最初にやろうかという話が聞こえてきます。つまり本番の時点でもどれを先に行うかという作戦立てができていないわけです。通し練習をするためには必然的にどれを先に行うかを考えていないとできませんので、その意味でも通し練習をできるようになるということだけでもあるレベルに達したということになります。 通し練習をやるためには、まずロボットを操作する人を決めないとなりません。FLLではロボットを操作する人は2人に限定されます。(途中で入れ替わっても良いが、2008年から部品を持って交替することが禁止されたので、入れ替わる分時間のロスになり、この方法を使わない方が良い。)複雑な操作の場合には習熟するのに時間がかかります。
|
Edisonsの場合には・・・ 2008年のClimate
Connectionのミッションは数が多く、ロボットで途中4回ベースに戻ってきて、アタッチメントを交換する作戦になりました。つまり最初のスタートも入れると5回スタートする形になりました。交換するアタッチメントは毎回ほぼ3つ位ありました。またプログラムも毎回異なるものでした。このような条件で通し練習で習熟するのに10時間程度を要していました。 |
時間短縮の分析 最初に通し練習をするときには非常に時間がかかるものです。というのもロボットの動きも無駄が多く、アタッチメントを交換するのにどこにつけるとか、どちら向きにつけるとか、2人の内のどちらが何をやるかの役割分担ができていないためです。
通し練習を最初にした時には、
・ロボットの動いている時間と、
・ベースでアタッチメントを交換したりプログラムを変更している時間
を計ります。通常成功する場合が一番時間がかかるので、ミッションに失敗した時は何回かやって成功した場合の時間で計算します。通し練習をすることにより、目安として、ロボットの動いている時間は2/3に、ベースでアタッチメントを交換したり、プログラムを変更している時間は1/3位にできます。すなわち両方とも同じ位の時間がかかっていたとすると、約半分にできるということです。
|
Edisonsの場合には・・・ 2008年のClimate
Connectionのミッションでは数が多いため、関東地区大会では全部のミッションを行うことができませんでした。このような状態でも、一番最初に通し練習をした時には6分程度かかっていました。関東地区大会では、結局練習とロボット改良をしましたが、全部できないにも関わらず、5回スタートすると2分30秒におさまらず、結局5個のうちの1つをあきらめざるを得ませんでした。 全国大会では、同じ5回でもミッションのまとめ方を組みなおしして、一応全部のミッションを試行することができるようになりました。この時も当初は5分以上かかっていましたが、通し練習を重ねた結果まず3分程度でできるようになりました。しかしここからなかなか2分30秒以内にできるように短縮できませんでした。もう手際を良くして短縮するのは限界に近くなっていました。そこで、アタッチメントの付け外しを徹底的にやりやすくなるように改良しました。その結果取り外し時間が20秒程度短縮され、さらに取り外しの練習した結果さらに10秒短縮され、ぎりぎりで2分30秒に入るようになりました。 下の写真は全国大会直前の時間チェック状況です。なんとかぎりぎり2分30秒に入っていることがわかります。
さらに世界大会までにもう一度ミッションの組み合わせを見直しました。そして同じ5回スタートしますが、(全部成功すれば)2分10秒でできるようになりました。ここまで短縮できると仮にどれか一回失敗したとしてももう一度試行することができます。もう一度試す時も常にどれをやり直したら一番点が高くなるかを意識してやり直します。これも本番の時にその場ではとても考えられないので、通し練習を通じて、あれをやり直したら何点、これをやり直したら何点という感覚を頭に入れておき、色々なケースでの対処方法を体に叩き込んでおく必要があります。 |
 |
ケーススタディー 何回も通し練習をしていくと、これは普通何分何秒にスタートすれば、最後まで間に合うというのが自然に身についてきます。そうすると、仮に失敗した時にもどれをもう一度やった方が良いかということを考えることができます。このような失敗した時の実践経験が大会の時に生きます。大会では本番3回しかありませんので、どうなったらどうするというのをその場で考えるのは事実上無理です。ですから事前に通し練習により、いろいろなケースにどう対処したら良いかを学習しておくことの効果があります。
実際の大会にて 実際の大会で練習してきたことが、そのままできるでしょうか。答えは「非常に難しい」です。普段の練習と大会とでは、状態が微妙に違います。逆に言うと同じ状態というのはありえません。通常マットは練習を繰り返していると擦り切れて摩擦の大きい状態になってきます。また木の枠のがさがさ加減、果ては節がどこにあるのか(米国世界大会の木枠は特にひどく、がさがさで、しかもあちこちに節があります。)、会場の照明の強さ、ほこりの状態、電池の電圧何一つとっても微妙に異なります。このような条件の中で、本番で微妙に調整することが不可欠です。ただし時間がありませんし、練習の回数も限られていますので、本当に微妙な調節しかできませんし、場合により一発勝負的に調節することとなります。これに備えて、こういう場合はプログラム上のここを調節するというような場所を良く考えておくことが大事です。
普段の動きを繰り返すという意味では、ロボット競技の直前にロボットの動きをイメージしながら手をこう動かすというようなイメージトレーニングが有効です。普段やっていることを反復できることが、実力を出すという意味でのポイントとなります。
|