レゴのマインドストームを使って、色んなロボットを作る教室です。
朝10:00から15:00まで、途中1時間の昼休みを挟んで、午前と午後2時間ずつ、子供にとっては結構ハードな教室でした。といっても、それだけたくさん遊んだのですが。
今回のテーマは「悪路走行」です。途中に坂道や障害物が置かれた2.4m×1.2m程度のフィールドの一端からスタートし、反対の端がゴールです。そしてフィールドにはボーナスポイントになる「缶」や「ピンポン玉」が置いてあります。。
ゴールまでの時間が短い方が得点が高いのですが、「缶」と「ピンポン玉」のボーナスポイントも捨てがたいポイントです。
午前中はロボット本体の組み立て、午後はプログラミングとタイム計測です。
まずは午前中のロボット組み立てです。今回のような悪路走行では、タイヤ方式よりもクローラー方式(いわゆるキャタピラ方式です)の方が安定して走破できそうです。でも、タイヤ方式の方がスピードが速く、タイムは稼げそうです。
先生たちがそのことを説明して、両タイプの見本を見せてくれました。
我が家ではこれまでずっとタイヤ方式のロボットばかり作っていたせいか、ハルトは目新しいクローラー方式を選びました。
さっそく今のロボットをばらして、クローラー・タイプに作り変えます。といっても、ほとんど先生のお手本のコピーですが。
先生の見本を見るために、見本が置いてある机と自分の机を行ったり来たりして、なんとか見本に良く似たロボットができました。途中で、細かい部分を覚えきれないのか、ハルトから
「スマホで写真撮ってよ」
との要請が。ということで、足回りのクローズアップを数枚撮って、それを見ながらなんとか完成です。
本人はこれで完成のつもりです。でも、インテリジェント・ブロック(マインドストームの本体です)の位置が高いので、重心が非常に高く、しかも前方に偏っているので、どう見ても坂道の下り側でひっくり返りそうです。
でも、それを先回りして教えてしまってはハルトのためにならないので、黙って様子見です。
さあ、完成したつもりのハルトは、さっそく直進だけのプログラムをダウンロードして試走です。
スタートッ!
最初は順調に直進(当たり前か!)、そして障害物「坂」の下り側で、見事に前のめりにひっくり返りました。
やっと、このままではダメだと気づいたようです。
そこでハルパパから「低重心化」を提案しました。
ハルトは、最初「せっかくできたロボットが壊れたらどうするの!?」と乗り気じゃなかったので、ハルパパが低重心化を決行しました。
それがこのロボットです。
午後はこのロボットの低重心化を進めつつ、プログラミングを平行して実施しました。
ハルパパは低重心化、ハルトがプログラム担当です。
それと、試走している様子を見てると、なんだか直進性もよくありません。また、回頭角度も試走の度に若干ふらつきます。どうやら、車体下部の剛性不足でクローラーの向きが安定してないことが原因のようです。
剛性不足はハルトでは対処できないので、ここもハルパパが担当しました。
今回のテーマでは、センサーの出番はなし。予め決めたとおりに前後進・旋回を繰り返すだけの単純なプログラムになりそうです(なるはずでした)。
ところがハルトが作ったプログラムを見てみると、なにやら沢山のブロックが並んでます。「うん?そんなに必要か?」と思いましたが、いきなり教えては面白くないので、とりあえずハルトのプログラムをダウンロードして試走です。
「う〜ん!? やっぱり」
なんだかムダの多い動きがアチコチに見られます。
移動の回数も多すぎるし。「缶」を倒すためのアームも、なんだか妙に長時間振り回しているし。
ハルトにアームのことを聞くと「念のため多めに回している。」とのこと。ちょっと慎重すぎかな。
で、もう一度作業机に戻って、コースを書いて作戦会議です。直進、回頭、後進をどのように組み合わせるのか、やっと全体像が把握できたようです。理解したハルトはプログラムを書きなおしてスッキリしたプログラムになりました。
後は、移動距離や回頭角度のチューニングだけです。
色々と移動距離をチューニングするのですが、あまり合理的ではなく「走らせては少し値を変えて」を繰り返してました。しかも、一度に何箇所も変更するから、どこがうまくいっていてどこが悪いのか、はっきりしません。
そこで、ハルパパがちょっと助け舟を出しました。
「最初の直進はタイル何枚分かな?」
やっと気づいたハルトは、タイル1枚分前進するためにはロボットのモーターを何回転すれば良いのか計算するようになりました。
回頭角度もほぼ同様にして決定して、90度回頭ができるモーター回転数を見つけ出ました。
それを元にさらに数回試走して、細かいチューニングだけになりました。
ここらで、そろそろタイム計測が始まりました。なんと、ハルトは1番手。まだチューニングが残ってますがタイム計測にチャレンジです。
最初の障害物「坂」はなんとかクリア。そして左90度回頭、これもオッケー。そして「缶」へ向かって直進。進路もほぼオッケー。でもここでの前進距離のチューニングが済んでなかったので壁に激突。「ウィンウィンウィン」とクローラーが余分に回った後、アームをブルンブルンと回して、見事「缶」を倒しました。
でも、ここで計算外のことが。
壁にぶつかったときにアーム回転用モーターが先に壁にぶつかり、車体の向きがだいぶ曲がっちゃったんです。アーム回転用モーターは車体の右側前方に突き出てるので、それが壁にぶつかった後もクローラーが回転を続けると、徐々に車体が右を向いちゃうんです。
そのため、その後の後退フェーズ以降はすべて車体の向きがずれたままです。当然、ゴールどころか、障害物の壁にぶつかったりして完走ならず。
でも、先生たちからは「超低重心で、カッコイイね。」とか、会場の子供達からは「戦車みたいでいいね。」とか、色々と嬉しい言葉をいただきました。
さっそく自分の作業机にもどって、チューニングです。
でも、2回目のタイム計測でも、チューニングが間に合わず完走できず。
これが2回目のタイム計測の様子です。
先生たちからは、「いい動きをしてるから、あとちょっとで完走できるよ。」とまたまた嬉しい言葉をかけてもらいました。
また作業机に戻って、移動距離のチューニングやアーム用モーターの取り付け位置の変更です。
3回目のタイム計測の直前にやっとアーム用モーターの位置を高くして壁激突をなんとか回避できる目処が立ちました。
そして3回目、ラストのタイム計測が始まりました。
坂の直後の左回頭まではバッチリ。左回頭までの移動距離も左回頭角度も微調整済なので、「缶」に向かう姿勢もドンピシャです。
そして肝心の壁激突も、・・・・・・・・
今回はアーム用モーターの位置を高くしたので、オッケー!
ここまでほとんど狂いはなしです。
「缶」をアームで跳ね飛ばしたら、そのまま後退です。車体下部の剛性を高めたので直進性も良くなり、ほぼ直線的にきれいに後退しました。
ここまでは満点です!
そして最後の右90度回頭。
アレッ!?
ちょっと早いよ! チョット!
車体はキレイにゴールラインを正面に捉えて前進を開始したんだけど、「缶」のあとの後退距離が数cm足りなかったので、キレイに「ピンポン玉」の横をかすめてゴール!
これが最後のタイム計測の様子です。
なんとか未完走だけは免れました。
先生が「あと1回転後退してたら、完璧だったのに残念!」
これを聞いたハルトはさっそく作業机に戻って、「先生が教えてくれたようにやってみる!」と、まだまだやる気満々です。 もうタイム計測は全部終わったのですが、やっとエンジン全開モードになったようです。
その後、タイム計測の発表と記念撮影があり、教室は終わりました。
でも、30分くらいはまだ残って作業しても良いとのアナウンスがあったので、ハルトは早速リトライです。
今度は「缶」の後の後退距離もバッチリ。「缶」と「ピンポン玉」の両方をクリアして完走できました。
その時、横で見ていた方々からも拍手をいただき、とても満足して終わることが出来ました。
ホントはもっといろんなことがありましたが、書ききれないので、今日はコレくらいにします。
長文、お付き合いありがとうございました。
ブログランキング参加中!
↓ ↓ ↓
にほんブログ村 その他趣味ブログ


