RoboRAVE神戸大会2024に参加してきました

AI

9月23日(月)にRoboRAVE神戸大会2024に参加してきました。

昨年に引き続きの参加です。

昨年の記事はこちら

競技

今回参加させていただきました競技は

a-MAZE-ing Challenge(アメイジング チャレンジ)

LineFollowing Challenge(ラインフォロイング チャレンジ)

Showcasing(ショーケイシング)

の3部門になります。

SumoBot Challenge (スモーボット チャレンジ)は不参加でした。

今回は、うちの教室からは参加者が3名ということなので、それぞれ担当を分けて準備を進めて行きました。ここでは様子というよりは、大会前、大会中、その後に取り組んだ考え方や結果などをまとめたいと思います。

a-MAZE-ing Challenge(アメイジング チャレンジ)

木の板で作られた細い道を落ちずにどこまで進めるか、という競技です。ゴールまで進んだら残り時間が点数になります。

実際に走らせているところです。

ロボットは上の方に小さくあります。

今回の作戦は、急加速と急ブレーキの廃止、でした。

台形制御とまではいきませんが、走り出すときや止まる手前で一段階スピードを落とすことで、車体がブレるのを防ぎ、それでもできるだけ目で見て減速している区間が短くて済むように、という調整をしています。

LEGOのプログラミングブロックを使っている場合、それぞれの移動量を指定できるブロックは勝手にブレーキがかかります。SpikeやInventorではブレーキの利き方を緩やかにできたりしますが、それでも動作の切り替わりに必要以上の停止部分が入ってしまい、それがロスになっているだろうな、と。この辺は仕様がわからない以上、憶測でしかないのですが、明らかに止まっている時間(動作の切り替えの待機時間)が長いです。

そういうことで、回転数などで進めるブロックは使わず、全て移動開始と停止、あとはモーターの回転を読み取って速度を変える感じのプログラムブロックだけで動かしてもらいました。

練習では、それをうまく使えばタイヤを大きくするか、歯車で速度を上げてもある程度走れるのでは?と思っていましたが、なかなか安定したプログラムにならず、基本形での勝負に落ち着きました。

本番では、手が滑ったのか、プログラムの中に変なブロックが混ざってしまい、第1走目は動くこともなく終了。落ち着いて見ていたらすぐに気づく内容ですが、動かない=モータートラブルと思い込んでしまったことが遠回りのきっかけになったようです。結局は、チームのメンバーの誰も原因に気づかないまま、プログラムを巻き戻して走れていたときに戻したようですが、この辺もまだまだ修行が必要だな、と感じました。

それ以降は、第4コーナーの手前までは走り切ることができたようで、無事成果は出せたようです。

本番の限られた時間の中でどうやって修正していくかというのもありますが、少ないサンプル(練習)から、ロボットの改善点をどう見抜いていくか、という力も必要なんだろうなというところが反省点です。

LineFollowing Challenge(ラインフォロイング チャレンジ)

黒い線の上を走りゴールにボールを入れて戻ってくる競技で、これがクリアできれば、引き続きボールをどれだけ入れるかというチャレンジができ、入れた分だけボーナスがもらえます。

ライントレースは最悪でもP制御だけでもいけるだろうと思っていましたが、せっかくなのでPID制御を学んでいけということにして、練習ではまず動画や他に参考になる動画を見てもらい、そこから実際に曲がりくねった道を走らせながら、それぞれの作り方、調整の仕方(どんなずれ方をしたらどこを治せば良いか)などを練習してもらいました。

PIDの動画

一応、当日にプログラムを作れなかったら使用禁止ということにしていましたが、特に問題なく実装できたようです。

あとは、いかにボールを入れる部分をバランスよく作るか、で苦労していたようです。基本的には、タイヤの上に重心が来るようにしてタイヤのグリップを無くさないように、移動のはずみで転けたりしないように、あたりは注意を入れておきましたが、初代は本番と比較して重量が5倍くらいはあって全く進まないところからのスタートでした。完成したのが前日なだけに、見た目が酷いものですが、LEGO以外のものを使うということがあまりなかったので、新鮮な感じでした。

本番は、PID制御の調整に加え、カラーセンサーの位置の調整もして細い線にもしっかり対応できていたようです。タッチセンサーや超音波センサーを置いてきたのは、私のミスでもありますが・・・、その辺も考えさせておくべきでしたね。タイマーで無理やり止めるところまで気づけたのは、良いポイントだったと思います。

4回の試技全てで完走できていて、しっかりボーナスにもチャレンジできていました。4回目は、最初の帰り道でコースアウトするという一番時間をロスする失敗をし、(行って帰ってくることが完遂できなければボーナスがないので、実質最初からやり直しです)そこまでは仕方ないにしても、その後に時間がないのにボールを入れる方に時間を使って、その結果ボールが詰まってあまり出てこないという事態になり、こちらも焦りが狂わせたなという感じです。

Showcasing(ショーケイシング)

RoboRAVE神戸オリジナル部門であり、作った作品の評価をいただく競技です。

今年はAIカメラを使って物の分別ということですが。

背景には色々な想いがあったようですが、Pythonの技術であったり、他で用意されているライブラリーをどう使うかであったり、エラー処理であったり。技術力的な点での力不足が響き、そこまでの実現には至らずでした。

元々、来年の卒業を意識してその土台を作っていこうという段階だったので、規模的な話は問題にはしてませんでしたが、普段の時間の使い方や物事の調べ方、自分の基礎知識の鍛え方などのこれから何をするにも大事になる入り口は学べたのではないかと思います。

実際には相当迷走していて、1週間前くらいでもこの感じで進めるのなら辞退したほうがいいのかもしれない、くらいには考えていました。

会場では色々な質問を受け思うところはあったようで、実際に来年に向けてどうするかという意識が向いたのが1番の収穫だったと思います。

結果

無事、出場した3部門でそれぞれに賞をいただきました。

小学生が主な大会で周りがどうであれ自分のやるべきことをやる、慢心せず時間いっぱい修正をし、競技の終了になるまで少しでも点をとりにいき自己ベストを高めていくというのは良い姿勢だったと思います。この辺は教えてできる物じゃないから、これができるならまだまだ成長するなと感じました。

問題点は、とにかく経験不足、練習不足による冷静さの欠け具合で、マシントラブルやルールを理解した攻略法の立て方、チームでの立ち回りの仕方などはまだまだ改善の余地がたくさんありそうです。サポートメンバーまで熱くなってトラブル解消ができないのは、本当に経験不足の賜物だと感じました。

本番はそれだけ普段より舞い上がる物ですが、そんな時こそそれまでの経験に基づく知識とそれを引っ張り出せる冷静さが必要です。勢いだけでは運での勝負になりますし、受験やこれからの大舞台などのことも考えると、ただ練習してただ実力をつけるというのではなく、その効果をより高くするための立ち回りとはどんなものかというのを感じ取って欲しいなと思います。

雑感

中学生のチームを率いたということもあり、2度目の子も居たということで、実際的な指導はほとんどしていません。世の中にはこういう技術があるよ?という感じの紹介はしていますが、使えるなら使えば良いし、ダメなら他の方法でという感じです。それよりも、スケジュール管理(という名の、いつできるの?という圧かけ)であったり、問題は何?という声かけによる意識づけであったり、本番は自分で作れるようにということでの突き放しであったり、流れだけは作っておいて、それに乗るか反るかも込みでほぼ自由にやってもらった感じです。

おかげで練習時間は相当ずれ込みましたが、それも込みで良い経験になったと思います。今の世の中、ここまで頑張るってあるんでしょうか、というのはよく考えたりしているところです。泥臭いことを避け、綺麗なやり取りで問題を避けているようなやり方では、人間力は下がっていくだけなのに、と。

同時に、ロボットの大会で気軽に参加できる場が少なくなってしまい、題材は充実してきているのに、子供達が外で学ぶ環境はまだまだ足りないな、と感じています。

RoboRAVE神戸は、競技であっても、みんなで成長するというのをテーマにされていて、これは私も強く賛同する一つになっています。交流する時間が全くないまま終わっていく大会は色々と見てきましたが、休憩中や採点中に色々な子たちがやりとりしているのは、本当にいい雰囲気の大会だと思います。

次回、他の子達の成長も楽しみに思いつつ、それに負けないくらい濃い1年を過ごしてもらって、その成果を発揮できればと思います。