はむへい’s diary

ねむいです。

#procon30 参加記

はじめに

 もう終わってからだいぶ経っているのですが、第30回高専プロコンに自由部門で参加したので、思い出しながら参加記を書いてみようと思います。YoutubeHack Uチャンネルに配信のアーカイブが残ってるので、興味があったらそっちも見てみてください。

なにをつくったか

 レゴで作品を作ると、センサーでそのブロックを認識して、3Dゲームに反映されてVRで遊べるというものです。 (プレゼン)
 4月にアイデア出しをしたのですが、それがかなり難航しまして、予選資料の提出の時期ギリギリに出たアイデアがこれでした。自由部門のリーダーによると、顧問からはこのアイデアについて反対を受けていたらしいのですが、無理矢理やることにしたらしいです。つよいなぁ。
 開発のタスクは、3Dゲーム、ブロックの情報を管理するサーバー、ブロックの認識、筐体制作って感じで分類することができて、僕はブロックの認識を担当しました。

ブロックの認識について

センサーにはRealSense D415を用いました。普通のカメラでは、写っている範囲のピクセルの色情報を取得できる(つまり写真が撮れる)と思うのですが、それに加えてピクセルそれぞれの距離情報も取得できるものです。
f:id:hamuhei4869:20191027201610p:plain
↑こんな感じで、深さを取得することができます。1280 × 720の大きさの深さ画像を30fpsで取得できるらしいです。すげえ。
 このセンサーを1台用いて上からブロックを認識しました。(はじめは複数台のセンサーを使おうと思っていたのですが、サンプルのコードが動かなくて真面目に原因の調査もせずにやめてしまいました...。) その深さ情報から3次元の座標が得られるので、ブロックが置かれる台の、どの辺りがどのくらいの深さかというのを特定してブロックを認識しました。
 ブロックの形状認識は9月始めの段階でできていて、そこからちょっとだらだらして、色の認識まで全部終わってマージされたのが10月に入った辺りだったかな。あんまり精度が出なくてやべえ〜〜〜って言いながら結局この辺りから最後まで精度は改善されませんでしたね。

-2日目(木曜日)

 台風19号の関係で、本戦に出場するメンバーだけ明日に輸送するぞ!となり。本当は土曜日に飛行機で行く予定だったのですが、金曜日に新幹線で行くことになりました。先輩たちが便の振替とかキャンセルをめっちゃ頑張っててすごかった。

実際この判断は正しくて、土曜日は飛行機が飛びませんでした。

-1日目(金曜日)

 前述の通り、今日出発ということになっていました。13時くらいに東京駅集合で新大阪で乗り換えを挟んで鹿児島中央駅まで新幹線で、そこから在来線で1時間ちょっと揺られて都城へ。全部合わせて8時間くらい、結構な強行軍だと思うのですが、全部の区間で座ることができて意外と疲れはそんなにでした。車内ではちょっとしたタスクをやったりアニメを見たりしていました。

0日目(土曜日)

 高専プロコンは前日に受付を済ませる必要があるので、だいたいの高専が開催日の前日(つまり今日)に移動すると思うのですが、我々は昨日移動を済ませてしまったので、暇。という感じでした。(タスクも昨日電車の中で終わらせてしまっていたし)
 都城は快晴で、テレビで東京の様子を眺めたりしてました。お昼ご飯に親子丼を食べました。あと、髪を切ったりしましたね。床屋さん(美容院?区別がつきません...)の息子が都城高専に在籍しているらしく、学科の違いとか進学先とかの違いで話が弾みました。

1日目(日曜日)

 いよいよ高専プロコン開幕です。開会式を終え、デモブースへ向かいます。デモの審査は明日なのでそんなに忙しくないのですが、一般の人への展示を行いました。子供が結構遊んでくれて嬉しかった。

午後に入って認識の精度がめっちゃ落ちたのですが、おそらく太陽の光の当たり方によってRGBの値が大幅に変化したんじゃないかなあって思ってます。(深さの認識はうまくいっていたので)(この対策してないのガバガバすぎひんか...?)

その日の夜はエンカした人々とラーメンを食べました。おいしかった。

f:id:hamuhei4869:20191104220214j:plain

明日デモ審査があって、それの練習に付き合っていたのもあって、この日はかなり遅くに寝ました。眠かった...

2日目(月曜日)

 デモ審査は3回あって、1回目は少し認識に失敗してしまったのですが(でも、そこまで悪い雰囲気はなかった気がします)、2回目と3回目は自分らが満足のいくデモができたのではないかと思っています。
マニュアル審査(自分らが作ったマニュアルどおりに動くかどうかの審査)は時間が切れるまでは完璧に動いていたので、満点に近い数字がもらえたと思います。
正午辺りに、競技部門が決勝進出とか、優勝とか聞こえてきて、つえ〜ってなってた。

閉会式

 最優秀賞と企業賞 × 2をもらえました。

また、学校としても東京高専は3部門制覇しました。

本当によかった、発表前はかなりブルーになっていたというか、こんな↓感じの負のツイートを垂れ流すやつになっていました。 f:id:hamuhei4869:20191104214802p:plain

発表順が競技部門 -> 課題部門 -> 自由部門だったので、競技と課題の受賞が確定した状態で自分らの発表を待つことになり、かなり辛かったです...。

この日の夜は打ち上げをしました。

3日目

何もしなかったのであんまり書くことがないです。shibh308さんと一緒に行動しました。

感想

 認識部分の開発は殆ど自分がやりました。タスクを分割することが難しかったので、当初の予定通りといえばそうなのですが、今思えばもうちょっと人に割り振ることもできたかなあって思います。(この辺りのマネジメントをするのが面倒だったというのが大きかったのかな。)

 チーム開発は楽しいなって感じました。今回の作品は動くフローがわかりやすく別れていたので、それぞれをそれぞれで開発してマージ、みたいなのはとても開発してる感じがあってよかった。
 今回このような結果を取れたのは、移動や宿泊の手配をしてくれた先輩方や、パンフレットやプレゼンの監督をしてくださった先生方等、多くの人に支えられたおかげだと思います。本当にありがとうございました。
 プロコンは今年で引退する予定なので、来年は開発に多分携わらないのですが、観戦しに行きます。
 #procon31で会いましょう!!!!

links

https://www.youtube.com/watch?v=wtwmTxAGg5E

https://www.youtube.com/watch?v=AawH3L6bfSU

https://www.youtube.com/watch?v=FOi_t-h9DXg&t=

https://www.youtube.com/watch?v=E2jj-3nB6XQ

https://www.youtube.com/watch?v=iyP65AwYa80&t=6s

https://www.youtube.com/watch?v=jVUPNk1f05Q&t=3130s