高校生がRoboCup@Homeに出場した話

# はじめに
こんにちは、しがない高校生をしているbasalteです。
今回はRoboCup@Home Educationに高校生チームとして出場した話を書きます。
チーム立ち上げ、運営、マネジメント、ロボット開発まで色々と頑張りました。

# チーム立ち上げ
私はPyLoT Roboticsというチームを立ち上げ、1からロボット制作、ソフトウェア制作、資金集め等を行いました。
この記事はその記録です。ロボットの中身は別に詳しく書こうと思っています。

## ハードウェア制作
2023年8月ごろに出場を決め、結局機体が完成したのは3月中旬でした。
それまでに3回ほど作り直し、制作したハードウェアがこちらです。
骨組みにMDF(硬い軽い木材)と塩ビパイプを使用しているため、機体重量が約8kgとRoboCup@Homeの中でもとても軽く、制作費用もだいぶ抑えられています。

さらに簡単に分解できるため、スーツケースに収納してすべてのパーツを一人で輸送することができます。(Japan Openの時もすべて私一人で滋賀まで運びました。)


<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">今日も動かしてた <a href="https://t.co/ntQIO0aVbb">pic.twitter.com/ntQIO0aVbb</a></p>&mdash; basalte(ばざると) (@basalte1199) <a href="https://twitter.com/basalte1199/status/1779430997345620045?ref_src=twsrc%5Etfw">April 14, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

また、足回りにはルンバを使用しています。
これに関しては後から参加してくれたnyanzibaくんが詳しく解説しているのでそちらをご覧ください。
https://qiita.com/Nyanziba/items/4c1026b3c3cbbc20e44b

機体の接続には3Dプリンターのパーツを活用していて、印刷はこちらの場所を使用させていただきました。制作期間中度々お世話になり、本当にありがとうございます。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【ずっと3Dプリンター無料出力！】小中高校、高専生が自分で作った3Dデータは無料で3Dプリンター出力してあげています。北は北海道、南は九州までもう300件は超えているので遠慮は要らない。送料は負担してください。詳細はDMで。使う機械はこれ！キミのデータを待ってる！<br>(　・ω・)b <a href="https://t.co/cWRkwLxGsd">pic.twitter.com/cWRkwLxGsd</a></p>&mdash; 一般社団法人3Dデータを活用する会 (@3DGAN) <a href="https://twitter.com/3DGAN/status/1253562353578242048?ref_src=twsrc%5Etfw">April 24, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

また機体製作にあたり、ROBOTISの東海林さん、3DCameraで有名なTakumi-san、3DプリンターのYoshihiro Shibataさんのお力をお借りしました。本当にありがとうございます。

東海林さん
https://x.com/Toukairinn_FUZZ
Takumi-san
https://x.com/Takumi3Dcamera
Shibataさん
https://x.com/shiba_8ro

## ソフトウェア制作
こちらのナビゲーションの動作をはじめとして、RealSenseでの画像処理、Openmanipulator-xの制御、音声入出力等のプログラムを制作していました。(OSSをたくさん使用させていただいています)
反省点として、自分が大会直前までハードのお世話や事務作業でソフトに充てる時間が想像以上に少なくなってしまったことがあげられます。計画も同時に甘かったと思っています。
<blockquote class="twitter-tweet" data-media-max-width="560"><p lang="ja" dir="ltr">RoboCup@Home Educationの機体が完成しました！<br>Nav2で自律移動してます！ <a href="https://t.co/PpazgqtrwF">pic.twitter.com/PpazgqtrwF</a></p>&mdash; basalte(ばざると) (@basalte1199) <a href="https://twitter.com/basalte1199/status/1775094360083968432?ref_src=twsrc%5Etfw">April 2, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

## スポンサー集め
我々は大会に出場するための資金が圧倒的に足りません。なので、企業にスポンサーになっていただきました。
こちらからはSNS等での宣伝、ロボットにロゴ掲載等をリターンとして、二つの企業から活動資金をいただくことができました。

こちらは近日中に公開できるはずですが、確認が取れていないためこの記事には掲載しません。

# 大会期間！！！
## 4/26(Setup Day)
この日の朝に出発し、昼頃に会場に到着しました。
この日は無線LAN、電源周りを整え、フィールドのmapを取りました。
また、ポスターセッションをやりました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">明日のRoboCupに向けてポスターを印刷しました！<br>頑張ります！！ <a href="https://t.co/VZN9otoMtt">pic.twitter.com/VZN9otoMtt</a></p>&mdash; PyLoT Robotics (@PyLoTRobotics) <a href="https://twitter.com/PyLoTRobotics/status/1783419915724325228?ref_src=twsrc%5Etfw">April 25, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 
この日の夜、事件が起こります。制御用のPCが突然落ちるようになってしまったのです。時間が経つにつれ起動してから落ちるまでの時間が短くなっていき、最終的に何もできなくなってしまいました。

大会から1か月以上経った今でも復旧できておらず、マザーボードが壊れたという説が出ていますが原因はわかっていません。

## 4/27(1日目)
この日はCarry My Luggageの日でしたが、朝からPCが動かないことで競技のことに手が回っていませんでした。
結局PCの復旧を諦め、チームメイトのMacでロボットを動かすことになってしまいました。
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">1日目が終了しました！<br>色々な不具合に苦しめられていますがMacでROS2を動かしていました！<br>明日もよろしくお願いします！ <a href="https://t.co/JnLnyQYB5G">pic.twitter.com/JnLnyQYB5G</a></p>&mdash; PyLoT Robotics (@PyLoTRobotics) <a href="https://twitter.com/PyLoTRobotics/status/1784211106980036946?ref_src=twsrc%5Etfw">April 27, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> 

メンバーのnyanzibaくんがMacに入ったubuntuで一部の機能を再現してくれました。
もう少しで300点取れそうだった動作映像を載せておきます。追従されているのは私です。緑の板のあたりまで行ければ点が入ったのですが...惜しかったです。
<blockquote class="twitter-tweet" data-media-max-width="560"><p lang="ja" dir="ltr">RoboCup@HomeでのCarry My Luggageの様子です！<br>惜しくも点数は入りませんでした。 <a href="https://t.co/lAIcEW3PNc">pic.twitter.com/lAIcEW3PNc</a></p>&mdash; basalte(ばざると) (@basalte1199) <a href="https://twitter.com/basalte1199/status/1794669369945211050?ref_src=twsrc%5Etfw">May 26, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

## 4/28(2日目)
この日はReceptionistという今年から変更された新しい競技です。
私のマネジメントミスで非効率な開発の仕方をしてしまい、結局機体を動かせず0ポイントで終わってしまいました。
Macで音声の入出力ができず、他の多くのチームが点数を取っていたために悔しいです。

## 4/29(3日目)
この日はFinalというデモと自由発表ができるタスクです。
各チームそれぞれの強みを出すタスクを設定し、ロボットを動かします。
他チームの発表の中では、KITのスマホ連携とSOBITSの床障害物回避が面白かったです！
私も発表しました！(例によってロボットを動かすことはできませんでした。)
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">海城中学高等学校の後輩が RoboCup@Home Education の Open Challenge で発表中。<a href="https://twitter.com/hashtag/RoboCup?src=hash&amp;ref_src=twsrc%5Etfw">#RoboCup</a> <a href="https://twitter.com/hashtag/RoboCup?src=hash&amp;ref_src=twsrc%5Etfw">#RoboCup</a>@HomeEducation <a href="https://t.co/NJzyeffit6">pic.twitter.com/NJzyeffit6</a></p>&mdash; Tetsunari Inamura (@t_inamura) <a href="https://twitter.com/t_inamura/status/1784745820010741960?ref_src=twsrc%5Etfw">April 29, 2024</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


# 最後に
チームを1から作るということは想像以上に大変でしたが、たくさんの人を巻き込んでRoboCupに参加することができた経験はとても良いものでした。
ハードウェアを割としっかりと作れたことはとても大きかったと思っています。半面ソフトウェアの方はあまり手が回らず、マネジメントも反省点が多かったと思います。
PCが壊れるなどアクシデントもあり結果は振いませんでしたが、今後この借りを返していきたいと思っています。
何かあればtwitterの方で質問等していただけるとありがたいです。
https://twitter.com/basalte1199