見出し画像

全国大会に向けて諦めたこと

お久しぶりです。team.祥雲 A Editionキャプテンのmaluyuuです。A Editionの新機体発表直後に「諦めたこと」という一見、ネガティブなタイトルの記事ですが、これらはあくまでも試合に勝つための判断であり、全く後悔していません。そして、今回の諦めたことの一部について、ポスター提出後に「諦める」という判断を行ったのでポスターには採用したものとして記載されています。あらかじめご了承ください。


なぜ「諦めた」のか

ロボットを開発していると「あれやりたい」「これできたら強いのでは?」と沢山やりたいことが浮かぶと思います。しかしながらロボカップは競技である以上、開発期間は限られていますし、どんなに高度な知識を持っていても、どんなに画期的な技術を採用しても動かなければ負けなのです。試合で負ければ負けなのです。A Editionはやりたいことをブロック大会大会直前ギリギリまで開発した結果、S Editionに大敗するという失敗を犯しました。その反省を踏まえて「相手がいない時に確実に点を入れることができる」「試合開始時に絶対にロボットが2台いる」ことを最優先事項として「諦める」判断に至りました。

1.新メインボードを諦める

去年のオープンやライトのポスターを見ているとTeensyを採用しているチームがいくつかありました。それらを見て「僕たちも600MHzで幸せになりたい!」と考えたことはありませんか?流石に私たちの技術でどこかのチームみたいにJetson nanoの採用をすることが不可能なのは明らかですが、TeensyならArduino系なので採用できる気がしました。他にもTeensyにはmegaには使えないINPUT_PULLDOWNが使えるという利点があり、後に書くSeeeduinoとの連携のためにこれを採用しようと考えました。しかしながらそれを考えた時にはもう2月です。この時期にメインボードに変更を加えることは非常にリスキーであることは認識していたのでTeensy実装を始める前にmegaで十分に動作する状態まで仕上げ、メインボードを入れ替えるだけで簡単にTeensyとmegaの切り替えをできる状態にしました。メンダコ君の努力によりTeensy用の新メインボードが1週間ほどで納品され、全てのセンサーやモーターなどを制御できる段階まで持っていくことができました。しかしながらサッカー用のプログラムを動かそうとするとコンパスとOLEDのライブラリがモーター制御に干渉するという不具合が発生したのです。ライブラリの書き換えによってコンパスのライブラリの干渉は解決できたのですが、OLEDについては解決に至りませんでした。モーターに使うピンを変えれば解決しそうではあるのですが、その時点で大会2週間前を切っていること、解決するという確証がないこと、その時点で購入したTeensy4台の内3台が燃えていて予備がないことからTeensyの採用を見送りました。

2.ライン処理用のSeeeduino XIAO

私たちの機体にはラインセンサーが4つしか搭載されていません。アウトオブバウンズを防ぐために取る対策としてはラインセンサーの数を増やすことでライン読み取りの機会を増やすことが一般的です。しかしながら私たちにはプリント基盤を設計できるメンバーがいないのでその方法を取ることはできません。(え?プリント基盤の作り方を勉強しろよ?と思うかもしれませんが、2月からそんなことしてる時間はありません。僕以外は全員新米ロボカッパーです。)そこで私たちはSeeeduino XIAOでラインを読み取り、ラインを読み取るとdigitalWriteでHIGHをメインボードに対して出力して、信号を受け取ったメインボードは割り込み処理としてライン脱出を実行するというシステムを考えました。これを実現するにはプルダウン回路を組む必要があるのですが、私たちの機体はユニバーサル基盤で限界配線をしているため物理的なプルダウン回路を組むスペースがないのです!(そんなことある?!)そこで私たちはTeensyがINPUT_PULLDOWNが使えることに着目し、Teensyの開発を進めていましたが、Teensyの見送りによりこちらも見送りになりました。

3.Tof増設

これはブロック大会前の話になるのですが、過去のオープンのチームを調べているとTofを沢山搭載して敵避けするといったシステムを採用しているチームがありました。これを見て僕たちもTofを4方向から6方向に増やしてみました。確かに動きはするのですが、「遅い」「不安定」「すぐ落ちる!」最悪ですね。しかも、検証を適当にやってた結果、ブロック大会直前にハンドルの棒がTofに干渉するということが発覚しました。今振り返ると「バカじゃないの?」と思うのですが、僕以外は新米ロボカッパーなのです。僕も小学生の時にC-cubicで遊んでいたらライトで全国出場権をなぜかもらえただけなのでガチで研究してロボカップに挑むのは初めてなのです。技術力の高いチームに近づきたいという気持ちはあるのです。

最後に

今回の「諦める」という判断は良い結果をもたらすのかどうかわかりません。しかしながら私たちは、少なくとも僕はこの判断が良い結果をもたらすと信じています。この1年間、メカニックはメンダコ君1人で頑張ってくれました。設計には一部僕も携わりましたが、その設計を形にしてくれたのは全てメンダコ君です。僕の無茶な要求に完璧な設計で応えてくれてありがとう。ミルクティー君には関数制御によるボール追跡やPython経験者ということでOpenMVのプログラムを担当してもらいました。これらがなければここまで綺麗な制御はなかったと思います。やりたかったことを全て実現できたわけではありませんが、11年の歴史を持つteam.祥雲の中では歴代最高のロボットになったと確信しています。最後に僕はキャプテンとして、メインプログラマーとして、残りの期間で今回の機体を最大限に活かすために微調整に取り組みます。後悔のない大会にしよう。体調には気をつけてね。


この記事が気に入ったらサポートをしてみませんか?