社会人になってロボコンに出場した

RoboCupの日本大会であるRoboCup Japan Open 2024に出場した。 活動自体は学生の頃からやってきたが、社会人になってからのほうがうまく立ち回れたと思うのでそこらへんについて少し書こうと思う。
再現性は保証できないので、参考程度に読んでもらえると良いかも知れない。

大会の振り返りについてはまた別に記事を書こうと思うが、忘れていても怒らないでほしい。

チームについて

ibisというプライベートチームに所属している。

www.ibis-ssl.tokyo

RoboCupは成り立ちがアカデミアなこともあり、全体的に研究室チームが多いが、サッカーの小型車輪リーグはロボットの製作費が安い(ほんまか?)こともあって近年日本のプライベートチームが増えている。 そんな中、ibisは2018,19年頃に設立された。当時学部4年くらいだったが、コロナや半導体不足、研究など色々なことがあって、正直あまり開発が進まなかった期間も長かった。 でも、社会人になって進捗のリズムをうまく掴み、今回のJapanOpen2024に向かって着実に進捗を積み重ねることができた。 チームメンバーは、社会人が継続的な趣味進捗を生み出すことの難しさ、趣味活動におけるモチベーションの重要性を深く理解してお互いに敬意をもって活動している。 進捗をだすとエラいと言ってもらえる心理的安全性と、確かな技術を背景として上を目指していけるポテンシャルのある素晴らしいチームだと思う。

大会結果について

1勝1敗2分けで予選落ち。 ただ、初出場にも関わらずほぼ不具合なしで、自分たちの思うような動きをして大会に切り込めたのでとても満足。 日本ロボット学会賞もいただけて、自己肯定感アゲアゲ。

表彰状に「大会を席巻する可能性を示しました」って書かれるの気持ちよすぎる。

さて、以降はこの結果に繋がった個人的な趣味開発体制について書いていく。

持続的開発

大会参加が決まるまでは正直漫然と開発しているところがあり、ルールへの準拠が全くできていなかったり重要なところに結構穴があったりした。 しかし、いざ大会に参加するとなるとそうも言ってはいられない。 AI班(に限った話ではないが)は1人しかいないため、まず大会までのロングスパートをかけることにした。 テーマは「持続可能な開発」である。瞬間風速は高くても続かなければ結局開発時間の総量は減ってしまう。 人員が自分しかいない現状に対し、相手は明らかに1人で開発するには大き過ぎるソフトウェアである。 したがって、とにかく長期的に見て開発時間の総量を増やす必要があった。

朝型開発

まず、始めたことは生活を朝型に直すことである。 それまでは夜に開発をしていたが、その時間を朝に移動した。 夜、つまり仕事のあとは仕事の疲れから休みたくなってしまったり、夕食の血糖値スパイクにやられてしまうことも少なくない。 また、一日の終わりなので、仕事中にあれやりたい、これやりたいとやりたいことが溜まったり買い物に洗濯など家事で時間がなくなってしまうこともあった。 これは自分が悪いのではなく、人間なら仕方ないよね、と開き直った上でたどり着いた答えが朝型開発である。 朝早くに起きて、最低限の身支度をし、近くのカフェに開店凸する。そこで朝食を採った後、PCを開いて3時間ほど作業をして、時間になったら家に帰って仕事をする。 正直、これが本当に続くのだろうか?と思ったのだがこれが意外と続いたので自分でも少し驚いた。

この生活はSSLの活動以外にも良い影響があった。 今まで、勤務時間の少し前に起き出して仕事をすることが多かったが、午前中はあまり脳が覚醒しておらずパフォーマンスが悪かったようである。 しかし、朝型生活を始めてから午前中に頭がハッキリするのが自分でもよく分かった。これならもっと早く始めておけばよかった。 ただ、朝型だと午前にかなり活動しているので昼頃には少し疲れて来る。 これに対しては昼休みに昼寝を挟むことで午後からもパフォーマンスを保つことができた。

仕事を終えた後の時間も精神的にかなり自由になった。 朝に進捗を出してしまっているので、家事に時間が取られてしまっても焦ることはないし、ゆっくりリラックスしても罪悪感に苛まれることもない。 ジムに行って運動不足を解消したり、さらに追い進捗を積み重ねることもできる。

計画的な開発

こうして開発習慣が身につき、また一つ良いことが起きた。 計画的な開発とタスクマネジメントが出来るということである。

今までは、開発時間の絶対総量が足りなかった。 そのため、タスクマネジメントをしようにも、「タスクマネジメントしている時間があるならさっさと進捗出さんかい!!」となるわけである。 趣味開発あるあるである。

しかし、開発時間の量が増えてくるとその壁を打ち破れる日がやってくる。 逆にタスクマネジメントをして計画的に開発をしないと統率が取れなくなってきたとも言える。 自分の場合は発生したタスクは全てGitHubのIssueに登録し、タスクの取捨選択・スケジューリングをして取り組んだ。 今までGitHubのモバイルアプリは2段階認証専用アプリだったのだが、タスクをすべてIssue化するようになってからはタスク管理アプリへと変貌を遂げた。

Issue化したタスクは、GitHubのProjectでガントチャートの如く計画を立てて実行した。 正直、Projectはやり過ぎだと思うが、それでも2ヶ月くらいは続けることができた。

github.com

うちのチームの場合、大会に出場することにしてから1,2ヶ月に1回くらいの頻度で自分の家に集まってロボットを動かす練習会をすることになっていた。 これが開発を引き締める良い締切になり、「次の練習会であれをやるんだ!」とモチベーションの面でも良い影響があった。

今後について

大会出場をきっかけに持続的な趣味進捗を生み出せる習慣が身についたのは大きな財産だと感じている。 ただ、ここに書いたことは仕事があまり忙しくないことであったり、在宅勤務・フルフレックスで働けることなどそれなりに多くの条件がそろって成り立っていることも同時に理解している。 朝型生活以外の部分に関しては、今後の状況に応じて変えていこうと思っているところである。

現状考えていることをいくつか書いてこの記事を終わりにする。

  • Projectでガントチャートを組むのはやり過ぎなのでやめる。趣味なのに義務感が出てくるので良くなかった。
  • GitHubのIssueのタスク管理では、ラベルを使った優先度管理を始めようと思っている。
  • 大会でのデスマーチを支える体力を維持したいので定期的な運動は欠かさないようにしたい。