Edisons エジソンズ
 
 

リンク

FLL関係団体等
First
First Japan
Lego Education
Lego clickblick
 
過去のFLLの記事等
09 Smart move

08 Climate connections
2008 World Festival
2008 OEC
2008全国大会
2008全国大会その2
2008全国大会その3
2008全国大会その4

2008全国大会その5

07 Power Puzzle
2007 OAC
2007全国大会

06 Nano Quest
2006 OEC
2006全国大会
2006全国大会その2

05 Ocean Odessay
2005全国大会

thinkIT連載記事
thinkIT1回目
thinkIT2回目
thinkIT3回目
thinkIT4回目
thinkIT5回目
thinkIT6回目
thinkIT7回目
thinkIT8回目
thinkIT9回目 

Edisons関連
Edisons関連動画
タウンニュース取材
早稲田大学125周年
横浜市大発表(53頁)

ブログ
ぶぶす日記

サイトマップへ

 

FLLファーストレゴリーグで勝つ!
by Edisons (エジソンズ)
ロボットを作る

Powered by
Edisons エジソンズ

 
 FLLファーストレゴリーグで最も華やかなロボット競技。しかし華やかさと裏腹で一番難しいのもこのロボット競技では無いでしょうか。

 ここでは、まずロボットの設計を基本から解説するとともに、大会に向けてどのようにロボット競技を進めたら良いかを説明したいと思います。

 

 

初歩からのロボット設計

 ここではまず、ロボットを設計する上で一番基本的なまっすぐ進むことと曲がることについてまずどうすべきかを書いてみます。

 まっすぐ進むロボット
 ロボットを作ってまず最初にぶちあたるのがこの壁です。いつかの大会でもJin佐藤さんにこの質問をしていたチームがあります。Edisonsでも最初のころ、いろいろ試してみました。右の車輪と左の車輪を別々のモーターで動かしていると、どうやっても難しいということがわかりました。
 ただその中で一つだけ良い方法が見つかりました。それは両方の車輪の軸をつなぐことです。簡単なことですが、両方の車輪の軸がつながっていれば、どう考えても左右にぶれそうにありません。ただ、そうすると今度はまっすぐにしか行かないという問題があります。2007年のPower Puzzleまではほぼほぼまっすぐ行けばほとんどのミッションはクリアできるようになっていました。しかしそうは言っても中にはどうしても曲がらなくてはできないミッションもあります。このまっすぐ行くのと曲がるのを両立させる方法が難しいのです。この解決案としてでてきたのが、下のアタッチメントの設計にでてくる「カートリッジ」という考え方です。もともとのベースロボットは左右独立で動作して曲がるように作っておき、カートリッジは上記のように軸をつなげてまっすぐにしか行かないようにし、カートリッジの上にベースロボットを載せるとカートリッジとベースロボットのギアがかみ合って、車輪を動かすモーターの動力を伝えるというものです。
 またこれと関係ある問題として、スタートした瞬間に方向がぶれることがあります。特にいきなりフルパワーでモーターを回したりするとこういうことが起こりやすくなります。そういう場合は滑らかにスタートするようにすこしずつモーターのパワーを上げていきます。

 同じ距離を進むことの難しさ
 仮に上記のようにまっすぐ進んだとしても、次に待ち受ける壁は何回か試すとプログラムやロボットは全く同じなのに、進む距離が微妙にずれるということです。摩擦などの影響によっても影響を受けますが、何と言っても電池電圧の影響が最も大きいです。下の図は単に一定距離を進んでモーターを止めるプログラムを何回も試した時の進む距離の分布です。(RCXのモーターを使用)電池電圧により距離が変わってくるのは、止めた時に勢いがついていて、電池電圧が高いほどスピードが出ているために、行き過ぎる距離が長いためです。また同じ電圧でも大きく差が出ることがわかると思います。これは主にタイヤの摩擦が微妙に毎回異なるためです。
 このグラフの範囲だけでも1.2mに対し7cmもずれることがわかります。

進む距離(mm)
kyori.jpg

 電池電圧(V)   

 
 このようなばらつきを避けるために何らかの工夫をしないと一定の距離で止まることができないことがわかります。 
 上記のように単に角度センサがある距離に達したらブレーキをかけるだけでは、誤差が出ます。
 そこでこの対策としては、止まるときも滑らかに止まるのが重要です。すなわちちょうど中間地点あたりから徐々にスピードを下げ、止まるポイントの直前はノロノロ走って位置を合わせるという方法です。
 もっと早く行く場合には止まるポイント直前で速さが0になるようにスピードをコントロールしますが、なかなか難しいです。

同じように曲がることの難しさ
 ロボットを作る上で最も難しいのが同じように曲がることです。何回試しても同じ角度で曲がるようにするのは非常に難しいのが実状です。これをどうするかというのに二つのアプローチがあります。
 一つ目はとにかく正確に曲がることを目指して工夫することです。
 正確に曲がるためにはロボット上の工夫とプログラム上の工夫の二つがあります。
 ロボットの工夫では、重心を駆動輪側に持ってくることが重要です。前輪は通常ゴムをはめないはげタイヤを使うことが多いかと思いますが、そちらがわになるべく摩擦をかけないようにするためです。
 プログラム上の工夫ではいくつかあります。
1)両輪を反対に回して曲がるのでなく、片側は固定にして、もう一つの車輪だけで曲がること
2)ゆっくり曲がること
3)曲がる前と後に止まる時間を作ること。つまり動きながら曲がるところに入ることが無いようにすることです。

 ここでは、まず1)について説明します。
 下の図は両輪の車幅がaのロボットで、後ろの駆動輪の右側の車輪を固定して、左側だけ動かして45度回転するケースです。この場合、回転の中心は赤い点のついている右側の車輪の中心です。
回転の半径はa、直径はその2倍の2×aになります。
 よって、左側の車輪の動かすべき距離は
a×2×3.14×45÷360=0.785×a
となります。
   rotate1.jpg  

 次に同じロボットで仮に両輪を逆方向に動かして回転する場合を考えます。この場合回転の中心は赤い点のついている左側と右側の車輪のちょうど中央の点になります。
回転の半径はa/2、直径はその2倍のaになります。
 よって、左側の車輪の動かすべき距離は
a×3.14×45÷360=0.393×a
つまり、先ほどの半分となります。
   rotate2.jpg  

 次に今度は車幅が半分のロボットで左の車輪だけを動かして回転する場合を考えます。この場合も回転の中心は赤い点のついている右側の車輪の中心の点になります。
 回転の半径はa/2、直径はその2倍のaになります。
 よって、左側の車輪の動かすべき距離は
a×3.14×45÷360=0.393×a
となります。
   rotate3.jpg  

 これら3つのケースを比較すると、最初のケースに比べて、2つ目と3つ目のケースは、同じ角度を曲がるのに、モーターを回す角度が半分になるということです。ここで考えなければならないのはモーターやギアのガタつきです。ガタつきはモーターに依存して、回転の方法には関係ないので、上記のどのケースでも同じようにきいてきます。従って2つ目や3つ目のケースのように半分の角度の方がこのガタつきの影響が大きくなります。
 このことから回転する時には、極力片方の車輪を止めて、もう片方の車輪だけで曲がることが精度向上につながります。また、後で出てきますが、ロボットの車輪の間隔が広い方が精度が出ることになります。

次に2)のゆっくり曲がることと3)の曲がりの前後で止まることは、共通の目的があります。これは車輪を滑らせないことです。普通は曲がる時に車輪を回すモーターの角度で調節します。ところが、車輪が滑るといくら正確にモーターを回しても、どれくらい曲がるか制御できなくなります。たとえば雪道の上で自動車のアクセルをいくら踏んでもも空回りして、前へ進むどころか、とんでも無い方向にスピンしてしまうことと似ています。ゆっくりと静かに回すことにより、極力すべりを防止して曲がることが精度向上につながります。

 二つ目はある程度の誤差をある程度は見込んで、他の工夫で吸収することです。
 これについては、後で述べる補正の必要性のところを見てください。

 

 

ベースロボットの作り方

 

 ロボットにはロボット本体(ベースロボットとも呼ぶ)と競技中に取り外しをするアタッチメントの2つに大きく分かれます。

 ここでは、まずベースロボットをどのように作るかについて書きます。
ただし、当然毎年のミッションに依存して、一番良いロボットは変わってきますし、アイディア次第でいくらでも良いものが作れますので、ここでは基本となる事項について書きます。

 ・速い
 フィールドが2.4mx1.2mもあるFLLでは、端から端まで行くのに時間がかかります。特にほとんどの年は、ベースが長辺の端にあるので、一番遠いフィールドの対角線の長さ2.7m動くことを想定する必要があります。当然速いロボットの方が有利となります。
 一般的に速いロボットを作るには
 (1)ロボットを軽くする。
 (2)ギア比を小さくする。
 (3)タイヤを大きくする。
 (4)プログラムでパワーを大きくする。
 (5)電池電圧を高くする。
等があります。(1)(2)により、非常に速いロボットを作れますが、逆にパワーが小さくなります。たとえば重いものを引きずったり、押したり、坂を登ったりするようなミッションにおいてはパワーが無いと達成できません。速いロボットはパワーが不足する場合があります。その年のミッションで最もパワーが必要になるミッションを見極め、それができる範囲で最も速いロボットを作るのが有利です。
 もう一つ重要なのは対角線が2.7mあると言ってもたかが2.7mです。速いロボットは加速するのに時間がかかる場合があり、必ずしも(1)(2)により速く設計したつもりでも、トータルとして見た場合にかえって時間がかかる場合があります。また、(2)のギア比を小さくすぎると、角度センサの1度に相当する距離が大きくなり、誤差が大きくなる、ギアのバックラッシュ(ガタつき)の影響が大きくなるという精度に不利な条件が出てきます。
 今までの世界大会に出ているロボットを見ても、NXTのモーターに車輪を直結しているものが多いことから見ても、このモーター直結となる1:1のギア比位が一番バランスが取れたものだと思われます。

・頑丈
 頑丈なロボットを作るには、まずシャーシを作ることが大事です。これは普通の車と同じ考え方でまず頑丈な車体があって、そこにしっかりモーターをつけ、そして車輪をつけるという順序です。作る順序としてどうしてもモーターに軸をつけて、車輪をつけて、何となく回りをうまくつながるように作ってしまいがちですが、シャーシがしっかりしていないと、
 ・モーターがぐらぐらして軸がこすれたりして、思いもよらない動きをしたり
 ・ロボット自体がもろくなったりして、何回も試している内にこわれたりする
ので要注意です。

・まっすぐ進む
 まっすぐ進むことはなかなか難しいですが、まずは極力左右対称に作ることです。他には無理矢理部品を接続したりすると、必ずひずみが出るので、必ず自然に部品が接続できるようにすることです。特に2台目を作った時に1台目と同じに作ったはずなのに、動きが違うことが起きやすくなります。
 それでもまっすぐ進むのはかなり難しいです。これについてはこの下に詳しく書きます。

・重心が駆動輪の近くにある
 重心に関しては、前後の関係が一番大事です。通常の4輪のロボットの場合、モーターに接続されている駆動輪の近くに重心が無いと、精度良く曲がれません。これは特に電池が弱くなって来た時に顕著に現れ、やるたびに曲がる角度が変わるということになります。
 この鍵は重い部品であるモーターとNXTの位置関係が一番きいてきます。逆に言うとモーターをつけて、NXTをそれに対してつける位置を調整することで、重心の位置を調整することができます。
 また重心が高いとその分曲がったときにぶれやすくなりますが、実際には一番重い部品であるNXTを低い位置につけるのがモーターとぶつかったり、操作がしにくくなるなどで難しいです。極端に高い位置にNXTをつけないようにする位しかありません。

・アタッチメントのつけはずしが素早く間違い無くできる
 アタッチメントを競技中に一度も交換しないなら良いですが、通常は何回か交換しますので、短時間で交換できるかが重要になります。一番シンプルなのは下記のようなビームをロボットの前後左右アタッチメントを取り付けたい位置に配置して、そこにアタッチメントを突き刺すものです。


 特にロボット側は一番左の緑の部品、アタッチメント側は直行軸コネクタを使うもの
    ロボット側は上記のような丸穴のビーム、アタッチメント側はペグを使うもの
が基本的なものです。

・安定性/幅が広い
 幅が広いと直進性は良くなり、ロボット全体も安定します。

・軽い
 NXTとモーター3つを使うと500gを切るのはかなり難しいです。
 ただし、世界大会に行くと、巨大なロボットが多く、特に多機能なものが多く見られます。

・充電しやすい/電池交換しやすい
 ロボットを作った後に、ロボットをそうとう壊さないと充電できない/電池を交換できないのに気づくことがあります。こうならないように作っている段階で良く考えましょう。
またNXTの場合NXTと各電気部品間の配線がかさばるのでその処理(引き回し)も考える必要があります。タイヤに引っ掛かって動かなくなるなど良くあります。また必ず2台目以後の本体ロボットも同じ引き回し方法になるようにします。


  補正の必要性
 上記のように直線で進む距離、曲がる角度等様々な条件で変わって来ます。従って何回も曲がっている内に、だんだん想定していた動きとずれてきてしまいます。そこで、何らかの方法で補正をする必要があります。
 補正には壁、ミッションを使ったものとセンサを使ったもの、戦略物資を使うものの三つがあります。

 壁、ミッションを使った補正は一番良く使うもので、逆に毎年のようにこれを使わないと正確に位置出しをすることが困難です。一番オーソドックスなのはアタッチメントのところに書いてあるローラーを使って、壁に沿っていくことです。これにより、少なくとも横方向はずれることは無くなります。これは単にベースからのスタートの時だけでなく、途中でもあらゆるところで活用した方が良い方法です。
 別の方法として壁を使った補正があります。これはロボットを勢いをつけて前進または後進して、ロボットの平らな面を壁にぶつけ壁にぴったりに角度を補正する方法です。何回かぶつけて完璧を期します。

 二つ目はセンサを使った補正です。
 たとえば光センサを使い、たとえば黒い線に来たら止まる、黒い線を検出したらあと何センチ進んで止まるというような形で使います。特に壁沿いに進みながら、黒い線を検出すると、前進方向、横方向とも完全に補正ができますので、ベースからスタートした時並に場所を完全に特定できます。
 タッチセンサで補正を行うこともあります。この場合は何かにタッチセンサが触れて押された時に、前進を止めるなどして使います。

 そして三つ目の補正は戦略物資を使ったものです。
戦略物資とはロボットやアタッチメント以外でロボットがベースから運んで行き、作戦上使うもののことです。たとえば壁をつくりたいところにロボットであらかじめ壁をベースから運んで行き、別の時にその壁に沿って行くというような使い方ができます。世界大会で何回も壁をせっせと運んで、長い目的地に達する壁を作っているチームを見たことがあります。その後、壁に沿って簡単に目的地に着くことができていました。

  光センサの使い方
 光センサはロボットが壁に沿って動いている時など角度が決まっている時は1つでも役に立ちます。しかし角度が決まっていない場合は2つ使わないと真価が発揮できません。1つですと止まって曲がり始める位置により角度が変わってしまうからです。2つつけて、たとえば両方が線をまたぐように調整するとロボットの角度を合わせることができます。
 また、光センサは回りの光の量により検出値が変わりますので、回りに囲いをつけて周囲からの光を遮断するのが良いです。さらにベースなど必ず白い(あるいは黒い)場所の値をプログラムで測定し、その値から一定値足した(あるいは引いた)値をコンテナ等に保存しておき、黒い(あるいは白い)部分のしきい値として使うと、会場での調整が不要となります。
 本当は光センサを斜めにつけるとより感度が良くなります。(この時も光センサの斜めにする向きにより感度が良くなる方向がある) しかし小さいロボットの中で斜めにつけるのは実際は難しいです。

 効率の良いプログラムの作り方
 プログラムで1進むのが何センチと意識していますか?ギア比やタイヤの直径から考えて、角度センサの何度分が1cmかというのはすぐに計算できます。
 

左のタイヤは直径が81.6mmです。
これをNXTのモーターに直結したとして、360°回転すると
81.6mm×3.14=256.224mm=25.6224cm進むことになります。
逆に1cm進む角度は
360°÷25.6224=14.05°
になります。
 よって、これを覚えておくと、
1cm進めるにはだいたい14°、10cm進めるにはだいたい140°、1m進めるにはだいたい1400°を設定すればいいのだとわかりますので便利です。直線部分についてはすぐにプログラムが作れます。ただし、他の物にぶつかったり、触っている場合、また曲がる場合には、摩擦でタイヤが滑るので、まったく違う値を設定する必要が出てきます。 

 もう一つ大事なのは、プログラムを改良するときに、必ず先にやるところから順番にやっていくことです。後の方を一生懸命改良しても、最初のところをちょっと変えて、向きが微妙にずれて、後ろのところの調整が全部やり直しということが良くあります。効率を考えるとなるべくこういう無駄を省くことです。

 動きを図に書いていますか?
 複雑なプログラムを書くのにまず頭の中を整理する必要があります。下の図のようにまず図に書いて見て、それに沿って一つ一つどうプログラムするかを考えていきます。
 どこまでどれくらいの距離を進んで、そこでどういう動作をし、つづけてどういうことをするというのを順々に書いていきます。これにより頭の中も整理され、きちんと書くとこれで半分くらいはプログラムができたようなものになります。 
 

 
 


アタッチメントの設計

 前の項ではベースロボットについて書きましたが、ここではミッション毎に取り外しをするアタッチメントについて書きます。

 アタッチメントはそれぞれのミッションに対して作るものなので、これを作れば全部に通じるというような王道的な話はありません。ただいくつかは基本事項がありますので、まずはそれを書きます。

・つけはずしの容易なアタッチメント
 ベースロボットの項でも書きましたが、アタッチメントの交換時間を縮めることは、全体の効率という上で非常に大事です。ただベースロボットをそれなりに意識して作れば、この改良をするのは比較的容易で、しかも大きな効果があります。通常はアタッチメント自体を作るのは、まず機能を果たすところから始めるので、どうしても簡単につけはずしするところは後回しになってしまいますが、一度できたところで必ず見直すと良いと思います。場合によってはこの工夫をするだけで30秒以上早くできるようになります。

・こわれにくいアタッチメント
 アタッチメントは普通は軽くつくるために壊れやすくなっています。しかも競技中はどうしても殺気立っていますので、乱暴に扱いがちです。ひどいと取り外す度に粉々になってしまうこともあります。壊れてもすぐ直しやすいアタッチメント(簡単に正しく直せるというのも重要なポイントです。)、そもそも壊れにくいアタッチメントを作ることが大事です。何回も練習をしていると、壊れやすいところはわかってきます。そこで壊れやすいところを補強します。
 さらには扱い方の工夫で逃げられる場合もあります。このアタッチメントの取り外しはここの部分を引っ張れば壊れないというようなものです。これをロボットの操作者に伝えます。


・アタッチメントで良く使うアイディア
 ここまでは、アタッチメントの一般的な話でした。
 ミッション毎に別々に作らなければならないとは言っても、アタッチメントを作るためには、良く使うアイディアがいくつかあります。これを変形して使うだけでも色々なことができます。
ここからはいくつかそういうアイディアを紹介します。

1、すだれ

 マットに置いてある物を取ってベースに持ち帰るのに、モーターを使わずにできる方法です。
 毎年一つ位はこれでできるミッションがあります。
  下の図で、まず最初は状態1からスタートします。
 軸A,Bはロボットと一体になっていて、緑色の矢印の方向にロボットが動いていきます。すだれは軸Aのまわりを時計回りには自由に回転できるようになっています。最初はすだれ自身の重みで軸Bにもたれかかるようになっています。すだれの長さ、軸Aの高さ、軸AとBの間隔を取るものによって調整します。
 ロボットがしだいに右に進んで行くと、次は状態2のようになり、まず取りたい物にすだれがさわって、だんだん時計まわりに回転して上がっていきます。そのまま取りたい物の上部をこすりながら進みます。
 そしてついに状態3のようにすだれが取りたい物の端まで来た途端に、状態4のようにすだれはすとんと自分の重さで落ちます。そこまで行ったら、ロボット止め、左側に動かします。
 すると状態5のように今度はすだれは軸Bに引っ掛かってもうそれ以上右に回転しないようになり、取りたい物は保持されます。このまま左に進んでいけば、状態6のように取りたい物を目的地まで運ぶことができます。



    状態1






    状態2






    状態3






    状態4






    状態5




 

    状態6


 

 実際にはすだれは左右に何本もつけます。たとえば下の写真を見るとたくさんのすだれが垂れ下がっているのがわかります。これならば少々左右にずれても玉が取れます。 また上の例のように四角い物を取りたい場合は、同じ長さのすだれをたくさんつけますが、下の写真のように丸い物を取る場合は、微妙に長さの異なるすだれをつけるなど色々工夫します。
 
             Climate Connectionsですだれを使って玉を取る例

 すだれにも弱点があり、小さいものや軽いものは苦手です。これはすだれの隙間からはみ出したり、物にあたってもすだれが上がらないでそのまま物を押して行ってしまうためです。

2、ローラー

 アタッチメントだけでなく、ロボットの定番的な要素として、このローラーがあります。ローラーが基本的には壁に沿って進んでいくためのものです。
 これだけでミッションをクリアできるわけではありませんが、毎年のように必ず使うものです。
 下の図で状態1でロボットは壁に向かって斜め上方向にすすんでいます。ロボットの左側には黄色いローラーがついており、黄色いローラーは自由に回転するようになっています。
 状態2で壁にぶつかったあと、状態3のようにローラーの働きで壁に沿って動いていきます。そして最終的には状態4のように壁に沿って動いていくことになります。
 この間プログラムは特に曲がるプログラムを書かなくてもまっすぐ進むプログラムが書いてあればこのように、ロボットの向きが自動的に補正される訳です。



 

   状態1







    状態2









    状態3






    状態4

    
 

 実際のローラーの写真を取ったものが下の写真になります。
 下の写真の壁に沿ってついている黄色い車輪のようなものがあるのをおわかりでしょうか?良くみると後ろにも同じようについています。これが壁に沿ってくるくる回ることにより、安定して壁に沿ってロボットが動いて行きます。また壁に対して斜めに突っ込んで来ても、ローラーがあれば壁に沿うことができます。ローラーは直径が大きければ大きいほど壁に大きな角度で突っ込んでも、その後壁に沿っていくことができます。逆にベースからスタートする場合で、最初からロボットが狙いでほとんど壁に沿った方向にできる場合で、そのあとずっと壁に沿わせて行きたいなど、直径の小さいローラーで十分です。
 

3、カートリッジ

 カートリッジとはロボット本体の下に下駄ばきのように履かせて、カートリッジ側は左右の車軸がつながっていることによりまっすぐ動くようになっているアタッチメントのことです。動力を伝えるためにロボット本体とカートリッジについている歯車がかみ合うようになっています。この方法は曲がりやすい場合とまっすぐ行きたい場合を簡単に変えられるので、世界大会を見ているとどこかしらのチームがこの発想を使っています。



 左の写真はカートリッジで、前輪、後輪とも左右の車輪が軸でつながっており、まっすぐ進むようになっています。また曲がりにくいように前輪、後輪ともゴムのタイヤになっています。右の写真はロボット本体と合体したところで、大きな歯車がかみ合ってモーターの動力を伝えるようになっています。上のロボットは左と右で別々に動くモーターとなっていて、曲がるミッションをするときにはカートリッジを使わずにロボット本体で動かします。

4、シーソー
 軸を通して、何かにあたると片方が押され、その反動でシーソーの反対側が逆方向に動いて何かする時に使います。これに輪ゴムを組み合わせると良いケースがあります。
 下の図で右の大きい箱は地面に固定され、上の小さい箱を落とすミッションがあったとします。
 状態1で赤い部分が左右に動きます。この形でロボットを右に動かします。
 状態2でシーソーの下の棒が右の箱に当たります。下の箱は地面に固定されていますので、シーソーの下の棒が下の箱にあたると、シーソーの下の棒が左に動き、支点の反対側についている上側の棒が右に動きます。
 すると状態3のように上の棒が上の箱を押すことができます。右側まで押しきると、上の箱を下に落とすことができます。ここでロボットは止まり、状態4のように今度は左に動かし、戻って行きます。

 応用として、下の箱が壁でその脇にある何かを動かしたり、シーソーがこの場合は上下になっていますが、左右にしたりすることができます。
 





状態1









状態2








状態3









状態4
 

5、くし
 上のすだれもそうですが、横にぶれることを見込んだ場合、たくさんの棒を出しておくことにより成功確率を高めます。これは何か取ってくるときのミッションに使えます。(逆に何かを置いてくるミッションの場合はそのミッションに合わせないとなりませんので、この方法は使えません。)
 

6、穴に通した戦略物資
 Edisonsでは2008年のClimate Connectionsの白熊で使いました、何かを置いて来る時に使います。また途中で曲がったり、戻ったりしても使えます。

 
 


大会に向けてのロボットの進め方


 大会を意識したロボットの進め方
 世界大会を入れると地方大会、全国大会、世界大会と3回の競技会を経験することになります。よほど簡単なミッションで無い限りは、世界大会で完全つまり常に400点満点を取るのは難しく、従って地方大会、全国大会の段階ではもっと完全を期すのは難しくなります。つまり各段階でそれなりの成果を出していく必要があります。
 ロボットを作っていくのは山登りに似ています。下の図をご覧ください。
 まずはどれかミッションを攻略しようと言うことで、構想を立て、こういう風にやってみようとはじめて、ロボット、プログラムを作ります。するとまずそれが何らかの形になって、動きだして来る時期があります。(下の図の開発期)。ここからさらに進むと、やってみてまずい点が見えてきて、改良が始まります。(下の図の改良期)しかし改良を繰り返していくと、次第に行き詰って来ます。これが下の図の限界改良期です。その内だんだん改良しているのだか、改悪しているのだかわからなくなります。うまく改良できた時にはAのようにうまくいくようになりますが、時にはスランプにおちいったようにBのように極端にできなくなる場合があります。ここで厄介なのが、作ってみないとAのような山の頂上の高さがどれくらいになるのかが、なかなかわからないことです。
 ここで大事なのはAのところで大会を迎えることです。Aは満点とは限りません。どちらかというと「実力を出し切る」状態です。Bのところで大会に臨むといわゆる「実力が発揮できなかった」状態となります。ですから大会の前でAのような頂上の状態にあると思った時には、改良をやめ、その状態を大会本番までキープする必要があります。
 

   通常十分な時間をかけていると、大会の時には限界改良期にいるはずです。ただ、実際地方大会を見ていると開発期にあるように見受けられるケースも多く、この場合はやはり時間の掛け方が不足していると言えます。ロボット競技はとにかく時間をかけないことには良いものはできません。逆に言うと限界改良期程度まで進んでいると、少なくとも地方大会を勝ち抜くチャンスはあると考えられます。

 上でも言いましたように、Aのところは満点とは限りません。そこで、Aの高さを限りなく満点に近づけて行くことが必要になります。ところが、限界改良期に入っていると、なかなか改良しても点数や成功確率が上がっていきません。その場合は再度作戦を見直し山を一旦下りてから登りなおすしかありません。これはエベレストに登ろうとして、いくら富士山の頂上付近でもっと上に登る方法が無いかを一生懸命探してもだめなことと似ています。一旦平地まで下りて、改めて山を登りなおさないと、もっと高い山には登れません。ただし、登ろうとしている山がエベレストなのか富士山なのかは改良期あたりまで来ないとわからないのが実状です。ですから山を登りなおす時には、前の方法のロボットやアタッチメントやプログラムを必ず保存した上で、新しい物を作ります。エベレストに登るつもりで登りはじめたら、富士山より低い山だったという場合も良くあることだからです。

 この意味で山を登りなおす好機は地方大会、全国大会を勝ち抜いた直後です。次の大会まで時間があり、リスクを賭けて登りなおした山が、前の山より万が一低くてもやり直しがきくからです。勝ち抜いた後はどうしても気が抜けてしまうものです。試験を終わった直後に次の試験勉強を始めるようなものですから。なかなか人間そういうことができにくいものです。しかし、大会直前に限界改良期でさんざん苦しんで、どこが悪いのか、どこを改良しないといけないかが一番はっきり身にしみてわかっているのもこの時期です。時間がたつと、苦しさは忘れてしまいます。この苦しさを突破するという志をエネルギーにして前に進むしかありません。

 実際に世界大会まで行くと、順々に高い山を3つ登っていくような感じになります。
ただ登り方は大会によって少しずつ異なります。
 地方大会は時間がありませんので、いくつも高い山が見えたとしても、確実に登れる山を探すことが重要になります。ミッションの中で、難しいものを見極め取捨選択するところから始めます。まずできるものを確実にこなすのが点数を取るコツです。ただ、やはり精度は重要で、確実にこなすというのは高い確率でできるようにするということも含みます。
 全国大会と世界大会は取り組み方は比較的似ており、全部のミッションをこなすことが基本となり、その上で成功確率を上げるのが基本スタンスになります。

 ミッションを理解する
 ミッションを理解することは、ミッションをクリアするための第一歩です。毎年ミッションは変わります。ミッションは毎年9月に発表されますが、発表と同時に内容を精読して理解することが重要です。通常最初は英語でしか発表されないので、英語を読まないとなりません。これが難物で実際ミッションキットが届くまでは読んでもなかなかどうなっているのか理解できないことも多いのが現実です。
 また理解した内容をチーム全員が共有することも重要です。つまり何をやらなければならないかを、全メンバーが同じように理解していることが基本となります。

 Edisonsの場合は・・・

 2008年 Climate Connectionsで作ったミッションとルールの説明資料
  の例。Wordファイルです。3.8MByteありますので、ダウンロードに時間
  がかかります。

 同じようにルールも微妙ですが毎年変わります。これも要注意で、その年のルールでやってはいけないこと、逆にやっていいこと(作戦としてつかえそうなこと)を整理しておく必要があります。

 ミッションキットが来たら組み立てる
 ミッションキットは日本の場合届くのが遅く、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回しかありませんので、どうなったらどうするというのをその場で考えるのは事実上無理です。ですから事前に通し練習により、いろいろなケースにどう対処したら良いかを学習しておくことの効果があります。

 実際の大会にて
 実際の大会で練習してきたことが、そのままできるでしょうか。答えは「非常に難しい」です。普段の練習と大会とでは、状態が微妙に違います。逆に言うと同じ状態というのはありえません。通常マットは練習を繰り返していると擦り切れて摩擦の大きい状態になってきます。また木の枠のがさがさ加減、果ては節がどこにあるのか(米国世界大会の木枠は特にひどく、がさがさで、しかもあちこちに節があります。)、会場の照明の強さ、ほこりの状態、電池の電圧何一つとっても微妙に異なります。このような条件の中で、本番で微妙に調整することが不可欠です。ただし時間がありませんし、練習の回数も限られていますので、本当に微妙な調節しかできませんし、場合により一発勝負的に調節することとなります。これに備えて、こういう場合はプログラム上のここを調節するというような場所を良く考えておくことが大事です。

 普段の動きを繰り返すという意味では、ロボット競技の直前にロボットの動きをイメージしながら手をこう動かすというようなイメージトレーニングが有効です。普段やっていることを反復できることが、実力を出すという意味でのポイントとなります。

 

 

ロボットの進める上で必要なもの


  部品

 部品は言わずと知れたレゴのテクニカルシリーズを中心としたものです。
 通常販売されている教育用のセットではかなり不足しています。
 
部品は以下のところで通信販売していますので、不足しているものは買い足します。

ホビーショップデジラ http://dgla.jp/shop/
 細かい部品まですべて扱っている

ラーニングシステム http://www.robolab.biz/entry/n-pre-order-all.htm
 教育用のセット販売、ソフトウェア、電気部品が中心

 特に軽く丈夫なアタッチメントを作るのに不可欠な長い軸や直行軸コネクタは大幅に不足していますので、相当買い足さないとならないでしょう。直行軸コネクタは便利ですが、壊れやすいので消耗品的に買う必要があります。なお、何年かFLLに参加していると、前の年のミッションキットが部品として使えますので、これがかなりの財産になります。またNXTのモーターもRCXのモーターに比較するとだいぶ丈夫にはなりましたが、回せない状態で無理に回したりするなどモーターに負担がかかる動作を繰り返すと、次第にパワーが落ちて使えなくなります。特に弱いパワーで動かなくなります。

 テクニカルの部品で大きいものを作ろうとすると2つの方法があります。
一つはビーム系の部品を使う方法で、もう一つはリフトアーム系の部品を使う方法です。どちらかに統一しないと、接続時に微妙にずれたりして、歪みますので、特にベースロボットはどちらを使うかを最初に決めた方が良いでしょう。
 うまく作るとリフトアーム系の方が丈夫に作れますが、接続の仕方がリフトアーム系の方が難しいです。


                 ロボットで良く使う部品 一覧

 1、リフトアーム


        
 リフトアームの直線の部品です。



 リフトアームの折れ曲がった部品です。
 この特に斜めに曲がったものはアタッチメントに使い、ミッションにきっちり合わせるために良く使います。
 直角のものはロボットなど構造を作る時に良く使います。



 薄いリフトアーム系の部品です。
 小さくて頑丈なものを作る時に使います。特に下列左から2つめと3つめの部品を良く使います。
 また上の列左から2番目の2つの穴のリフトアームは両方とも十字穴なので、リフトアームなどと並行につけることによって、そこに刺した軸が回らないようにするのに使います。
 さらに長さが5、6、7の長い薄いリフトアームはすだれを作るのに不可欠です。


 2、ビーム


    
 ビーム。リフトアームを中心に使う時はあまりこちらは使わないでしょう。

 3、軸


 軸は一番良く使う部品です。左から長さが2、3、4、5、6、7、8、10、12、右の2つはつばつきの軸です。特に長さ10と12の軸は軽くて大きなものを作るの時に沢山使いますので、部品として買い足しておいた方が良いでしょう。


 4、接続用部品

 上記のような基本部品を接続するのに様々な接続用部品があります。小さい部品もたくさんありますので、小さい箱等に良く整理していれた方が良いです。
 またロボットを作る時には、下記の順のように似たような部品の箱をまとめておき、部品を探しやすいようにして時間のロスを防ぎます。作っている時にはアイディアを頭の中で考えながら進めているので、部品を探す時間ばかりかかるとせっかくのアイディアを忘れてしまいがちです。更には、良く使う部品を中央、たまにしか使わない部品を端の方、本当に稀にしか使わない部品は別のところに置いておくなど、部品の配置を決めておくことにより、より作業をスムーズにすることができます。


 
 これらはブッシュと呼ばれるもので、軸を止める時に使います。薄いもの(左の黄色い方)と普通のもの(右の赤い方)があります。どちらも良く使います。




 これらはペグと呼ばれるものです。左側の写真の黒・タン・青のものは同じでビームの穴などに堅くはまります。同じ長さでも右側の写真の灰色のものは緩くはまりますので、接続した2つのものを回転させたいときに使います。特に写真の左側の長さ2と3のペグを大量に使います。



 この左側の写真はショートペグと呼ばれるもので、短く出ている方には薄いリフトアームをつけるときに使います。
 右側の写真はシャフト付き固定ペグと呼ばれるもので、軸とリフトアーム、ビームを接続するのに使います。



 左側の写真は各種のコネクタで、一番左のものは穴が丸、二番目と三番目は十字になっています。二番目と三番目は同じように使えます。
 右側の写真はアングルコネクタと呼ばれる部品で、上の列は左からだんだんと角度がゆるくなるように結合できます。アタッチメント等で斜め方向に接続したい時に使います。歪まないで使うには平行に2つ使うのが基本となります。右下の直線状に接続するのもの(写真の青い部品)は左の写真の二番目・三番目でも同じことができるので、真ん中の穴を使う用途以外は使いません。



 左の写真の左から一番目と二番目、三番目と四番目、右側の写真の二つはそれぞれ同じものです。直角方向に軸を出したりするのに特に一番左のものを多く使います。




 左の写真は左からストップブッシュ(黄色い部品)、直行軸コネクタの一種(赤い部品)、ハンドル付きブッシュ(灰色の部品)と呼ばれます。この3つの部品はアタッチメントを作るのに無くてはならないものです。特に中央の赤い部品は非常に便利で、これと軸だけ使うだけで、どんな形のものも作れてしまいます。また作った後も軸に沿って動かすことができますので、形を調整したり、位置を調整したりするのにも非常に便利です。ただ逆に言うとほんのちょっとした力で位置が変わったりしますので、まず最初にこれと軸で試作的に作っておき、大きさや位置が確定したところで、他の部品でしっかり作りかえるというような使い方もします。いずれにしてもロボットを作る上では最も追加で買っておいた方が良い部品です。一番左のストップブッシュはその名の通り、下側を穴に挿すと一番最短で上の方向に軸をつなぐことができます。ただこの時に問題は軸が回転してしまうことで、それを防止するにはこの部品を2つ並べて軸を2つ刺し、その間を薄いリフトアーム(穴が十字)で接続することです。一番右のハンドル付きブッシュは、真ん中の部品に短い軸がついたのと等価ですが、むしろ使うのは、アタッチメントを取り外し部分です。これを2つ並べて、上の十字の穴を通して軸をつなぎ、そこをアタッチメントの根元とします。下の十字をロボット本体に挿すことにより、抜くときに少々乱暴に抜いても、うまくはずれます。
 右の写真も直行軸コネクタの一種ですが、あまり使いません。






 これらも直行軸コネクタの仲間です。時に便利ですが、あまり頻繁には使いません。




 左の写真はもともとNXTのセットに入っていた部品で、NXTで新しくできてきた部品です。特に右の直角になっている方は、たとえば本体の四隅に使って、その間をビームやリフトアームで接続すれば、非常に丈夫に本体が作れます。したがってこれも買い足しておきたいところです。
 右の写真の青い部品もNXTのセットに入っている部品です。(2つは同じ部品を方向を変えて写したもの。)この部品は使用頻度は低いですが、先のU字型のところをアタッチメントをつけはずしに利用することができます。




 左の写真は同じ部品を向きを変えて写したもので、昔ながらのレゴブロック的な接続で直角方向に変換できる部品です。これはかなり丈夫に接続できるので、ロボットの内部等込み入った場所で、変換したい時などに使えます。
 右の写真はビームの長さ2つのもので、穴が左から十字一つ、丸一つ、丸二つの3種類あります。これらはロボット本体のアタッチメントをつけたいところに使うと効果的です。



 左から丸いブロックで中に十字の穴があいているもの、その薄いものです。これらは組み合わせて、中に軸を入れておくとブロックをただつなげるよりも強い構造ができます。左から3番目はその先につけ、主として地面との摩擦を少なく設置するために使います。一番右は一番左のものの大きなものです。左から3番目を除いてはあまり使いません。


 5、その他の部品



 左の写真は輪ゴムです。レゴの部品としての輪ゴムは使用が認められており、力をかけることができますからいろいろな仕掛けに使えます。良く使うのは最初はつっかえ棒で輪ゴムが伸びた状態にしておき、何か(ミッションとか壁とか)につっかえ棒が当たるとつっかえ棒が外れて、輪ゴムの力で何かの仕掛けが動くというものです。また押された仕掛けを元に戻したりなど使えます。
 右の写真はギアボックスで歯車の方向の変換に使いますが、滅多に使うことはありません。




 左の写真はフレキシブルホースと呼ばれているものです。堅くなく何かに触りたい時などに使います。もう少し堅くしたい時は、中に短い軸や右側の写真のような柔らかい軸を入れます。
 裏ワザとしては、左の写真のフレキシブルホースをタイヤの中に入れると、タイヤを堅くする効果が得られます。




 左の写真は堅くもなく、やわらかくも無い棒ですが、ほとんど有効に使えません。
 右の写真は玉で、ミッションには良く使われていますが、ロボットにはあまり使いません。(使えません。)ただこの玉を前輪として使って摩擦を小さくしているロボットがありました。



 これは出来合いの枠でしっかりしたものを作る時に使います。この部品とこれよりもう一回り大きい物があります。

 電池 充電池と乾電池

 ロボットに使う電池の種類として、NXTの場合は充電池と乾電池があります。充電池の方が電圧が低いのですが、NXT側の電池が入る場所に、良く見ると小さなスイッチがあり、充電池の場合はここが押されるようになっています。おそらくこれによって、何らかの補正を行っているものと思われます。
 乾電池の場合は、マンガン電池は全く役に立ちません。数回動かしただけで、あっという間にパワーが無くなってしまいます。必ずアルカリ電池を使いましょう。アルカリ電池は100円ショップで売っているA3が4本で100円のものでも十分使えます。ただ、種類によって若干特性が異なり、パワーの持ちの良いものと悪いものがあります。初期の電圧は9.2V程度で徐々に減って、実質上役にたつのは8.0V程度までです。もっと低い電圧まで使えますが、明らかにパワーが落ちてきます。
 この放電特性を測定したのが下記の図です。(ただしこれはRCXで測定)何回も約1.5m程度走行させての放電特性を測定しています。180回前後で一度上がっているのは昼休みで一時測定を休んだためです。このようにしばらく休むと多少復帰します。

 充電池の場合は、乾電池と比較すると多少は電池の減り方が穏やかなようですが、変化していくことには変わりません。初期電圧は8.7V程度で7.8V程度までが使える範囲です。8.0V位まで落ちると相当パワーが落ちてきます。

 プログラム設計ツール

 プログラムを設計するのに、大きく2つのプログラム設計ツールがあります。一つは教育用プログラムと呼ばれているもので、もう一つがRobolaboと呼ばれているものです。Climate connectionsの世界大会に行った時に他のチームがどちらを使っているかを見ましたところ、圧倒的に教育用プログラムが多かったです。
 しかしながら教育用プログラムはいくつか問題点があります。
・教育用プログラムはプログラム自体の整形を自分でやるのは良いのですが、好きな所にアイコンを追
 加しようと思うとできないケースがあり、設計作業をやっているのか整形作業をだましながら?アイコンを追加しているのかわからなくなってしまうようなケースがあること。
・バグらしきものがあり、プログラムで入っていても実行されないアイコンがあること。
・プログラムが大きくなり、ダウンロードじ時間がかかること。
 一方RoboLaboの方は、一定距離で自動的に止まるようなことは、自分で設計しなければならないこと。
などありますが、おおむね好きなように設計できるようです。またRCXで慣れていれば、使いやすいと思われます。
 なお、両方混在するとファームウェアが異なるために、入れ替えの時にNXTがハングアップして、リセットスイッチ等で何とか復活するものの、もう動かなくなってしまうのでは無いかというほど復旧が困難な状況に陥ったりするので、両方のプログラム設計ツール混在は絶対避けましょう。

 木での枠作り

 ミッションをセットするのに木の枠がどうしても必要になります。
 以下にEdisonsで作っている木の枠の作り方を示します。
 まず枠用の木材は2x4(ツーバイフォー:いわゆるツーバイフォー住宅に使われている木材です。材木の切り口が38mmx89mmになっています。)と呼ばれる木材を使って作ります。枠を作る場合、この89mmの方が高さの方になるように使います。長さが約2.6m以上のものが必要になりますが、近所のホームセンター等で1本1000円程度で入手できました。これを3本購入し、2本は長辺用、1本は短辺用として使います。長辺用は下の図のように2本で切る長さが異なりますので注意してください。1本はフィールドの長辺のサイズ、もう1本はフィールドの長辺のサイズ+78mmに切ります。一方短辺はフィールドの短辺のサイズに切ります。
 注意しなければならないのは、微妙にフィールドのサイズが変わる年があることです。これも3mmとか5mmとか、なぜそこまで微妙に変えないとならないか不思議なほどの違いです。これに合わせていちいち作り直さなければならないのは迷惑な話ですが、合わせないと本番と同じにならないので仕方がありません。結局毎年のように作り直すことになります。
 これを以下のように蝶つがい2つとパッチンというものをねじでとりつけます。これにより折りたたんで、車庫などに保管することができます。
 



 実際のパッチンと蝶つがいの所の写真です。左はパッチンの四角い金具が出ている方、この相手が右の写真の上から三つ目の木の上側についています。右の写真の上二つの木が、蝶つがいで接続されているのがわかります。

 


             FLLファーストレゴリーグで勝つ!に戻る