International Space Apps Challenge に参加してきた話

4月20-21日に行われた、International Space Apps Challenge に参加してきました。そのレポートです。

International Space Apps Challenge とは

NASAJAXAなどの宇宙機関が公開するデータを活用した、宇宙に関するアプリケーションの開発・製作をするハッカソンです。"アプリケーション"はソフトウェアに限らずにより広く、原義に近い意味を持ちます。

NASAの呼びかけにより行われ、各国の宇宙機関(日本であればJAXA)も支援をしています。各国の宇宙機関が関わる唯一の宇宙ハッカソンであり、33ヶ国8000人を越える人々が参加する世界最大のハッカソンです。

日本では唯一、International Space Apps Challenge Tokyoとして東京で行われました。東京独自でハッカソン本番の1ヶ月前にアイディアソンを実施しています。その様子は記事など他のWebコンテンツになっているので、それを見ていただくのがよいと思います。

このエントリーでは、おいら視点でアイディアソンからハッカソンまでを書きます。

アイディアソン

3月24日に日本科学未来館で行われました。

全体を統括するファシリテータがいて、100人近い参加者の自由なアイディアが選別、ブラッシュアップ、統合を繰り返し、3時間程度で15ほどのアイディアになっていきました。この15個のアイディアごとにチームが作られてアイディアソンは終了。

おいらは、宇宙戦艦ヤマトに登場する反射衛星砲を模した「反射衛星砲ごっこ」というアイディアに乗りました。発案者を含めて4人です。ベースアイディアはあるものの、これをどうコンセプトとして固めるか、技術的にどう実現するかは1ヶ月の宿題です。

懇親会で他の参加者の方々と話をしてみると、年齢層がとても広く、つい数日前まで高校生だった子から、60くらいのおじさままで、宇宙好き、地学・天文好き、その他の科学・技術・ものづくりが好きな人が集まっていました。この人達と1ヶ月後に濃密な2日間を過ごせると考えるとワクワクが止まらないものです。

懇親会後、突発的にジオキャッシングが始まったのも印象的でした。

当日まで

人工衛星の軌道を使うことは明らかだったので、人工衛星の軌道計算について調べました。当初、軌道要素が分かればあとはケプラーの法則に毛が生えた程度で考えていましたが、文献を漁っているうちにそれほど単純でないことが分かりました。幸い、計算方法は広く知られているので、実際の計算式や既存のプログラムのソースコードを見ながら、模倣することができる程度には理解しました。

また、「反射衛星砲ごっこ」固有の物理・数理モデルの構築が必要で、それにあたって地理屋さん、天文屋さんが使う座標系や時間、各種パラメータについて学ぶ必要がありました。今回、一番苦労したところかもしれません。

そうこうしているうちに1ヶ月の時間が経ち、当日を迎えます。

当日

会場の東大駒場リサーチキャンパスに10時までに集合ということでしたので、それに間に合うルートをたどると6時に家を出ないといけないことが判明。5時起きのつもりでいたら、4時に起きてしまい、電車の中で寝ようと思っても寝れず。

9時半に会場到着。チームメンバーと再開。

10時全体ブリーフィングののち、チームごとの目標発表をして新規のメンバーを募集。当日3人加わった6人体制になりました。その後12時頃まで、チーム方針と2日間の作業のゴール設定のミーティング。

ちなみに、ハッカソン中のチーム間の移動、掛け持ちは自由で、チームの消滅、合流も自由です。イベントの趣旨によるもので、そのあたり運営サイドでは徹底している印象があって、それは後述する審査結果発表でも現れました。

「反射衛星砲ごっこ」の作業は大きく2手に分かれて、プログラム開発組と、プレゼンテーション組に。プログラム開発組はおいら含めて2人でそれぞれでフロントエンドとバックエンドを担当し、iPhoneの画面上にARで表示された人工衛星を選ぶと、そこに向けてビームを飛ばし反射して着弾するところまでを目指すことに。プレゼンテーション組は作品コンセプトを磨きあげて成果発表をよりよく見せるストーリづくりを目指しました。

おいらはプログラム開発組でバックエンド、特にビームがロックオンした人工衛星で反射して地上に着弾する軌跡、着弾点の計算を担当しました。

開発作業風景
https://secure.flickr.com/photos/earth2001y/8672816466/in/set-72157633301254791

夜になると、徐々に形ができてきます。プログラムも一部動いたり、プレゼンテーション組のコンセプト固めもだいたいできて実質プレゼンテーション準備に入っていきます。

自分の作業をしながら、近隣で作業をしているチームの様子もうかがい、進捗状況を交換しあいます。

22時を過ぎると一旦帰宅する人もでてきますが、おいらは泊まり込みで作業です。もっとも、地理的に考えて帰宅という選択肢は無いですが。

日付が変わって午前1時から、世界各地のハッカソン会場やNASAの飛行士とのハングアウトがありました。なんでこんな時間に・・・とは思いますが、よく考えてみれば時差があるのでヨーロッパは夕方、アメリカは午前です。日本が突出して疲弊していたのが印象的でした。話の内容は、おいらの英語力ではついていけません・・・。

ハングアウトはYouTubeに録画データが公開されています。

ハングアウトの時間
https://secure.flickr.com/photos/earth2001y/8671717079/in/set-72157633301254791/

午前4時すぎに一旦仮眠にはいりました。2時間ほど寝るともりでしたが、1時間程度で起きてしまいました。

仮眠に入る前の段階で、着弾点計算に必要なロジックの大部分はできていて、起床後はより現実に近いシチュエーションを与えながら、全体パスを通すようにします。が、午前8時すぎに実際の人工衛星の軌道要素(ちょうどこの時間に日本の近くを飛んでいたハッブル宇宙望遠鏡を選びました)を与えたところ突然計算があわなくなり、1時間以上デバッグに勤しむことに。結局、計算の途中で単位が合っていなかったことが原因でした。初歩的なミスで貴重な時間をロストしたのがもったいない。

9時頃には一時帰宅組が概ね復帰してきて、10時から全体ブリーフィング。2日目のスケジュールを確認します。

この頃になると、おいらのプログラムはひと通りの機能が動くようになったので、フロントエンドと結合するためのインタフェースづくりに入り、東大での開発作業終了時間である12時までにひととおりの作業を終えます。

その後はチームメンバーと一旦渋谷に出てカロリー摂取。午後の成果発表会会場に移動して、プログラムの最終調整です。もうここまでくるとチーム関係なく、会場全体が2日間・・・いやアイディアソンから1ヶ月を共に戦った仲間としての一体感で、疲れが吹き飛ぶほど和気あいあいとしています。成果発表前のピリピリした雰囲気はありません。

成果発表は各チーム持ち時間2.5分。ライトニングトークよりも短い時間で成果を発表していきます。どのチームもすばらしい出来でした。「反射衛星砲ごっこ」は「Beam of hope: Satellite Reflector」と名前を変えて成果発表を行いました。


Video streaming by Ustream

20日4時から21日22時まで途中1時間の仮眠だけ。その後どうなったかは想像に難くありませんね。

全体を通じての感想

審査結果の発表、表彰のさい形式上はチームメンバーの個人名がいっさい出てこなかったのが印象的でした。チームの出入りは自由であることも含め、ハッカソンイベント全体を通じて宇宙アプリのアイディアを掘り出すという趣旨に非常によく沿ってると思います。なにより、運営上のその徹底ぶりがすごいと思いました。

チームとしては入賞することはできませんでしたが、1ヶ月前にたまたま居合わせたメンバーでチームを組み、形あるものを作ったのは実に楽しい経験でした。

おいらが居た、見たのは日本ローカルな部分ばかりですが、同じようなドラマが同時多発で世界中で起きていたと考えると胸が熱くなります。また、世界同時多発イベントですが、時差の都合で日本が先頭を切っていきます。始まるのも最初なら、成果物が出るのも最初です。日本でおきることに世界中の会場が反応してて、その感覚も楽しかったです。

あと、このハッカソンを教えてくれた湯村さんが、Personal Geo-CosmosでLocal Awardで1位になったのが印象に残りました。特にこのアイディアは、アイディアソンでは賛同者が集まらず、一旦イジェクトされそうになったものを、発案者の湯村さんの強烈な推しでハッカソンに残ったものです。そんなアイディアが日本を代表する宇宙アプリとして認められることができたのは素晴らしいことだと思います。グローバルコンペティションでの活躍が楽しみです。

全日程終了後、チームメンバーと
https://secure.flickr.com/photos/earth2001y/8671726817/in/set-72157633301254791

技術解説

「着弾点をどのように計算しているのか?」というコメントがチーム内外からあったので、着弾点の計算方法をドキュメントに起こしました。

また、計算プログラムのソースコードGithubに置いてあります。こちらのコードは今後もゆるゆると開発を続けていきます。

人工衛星の軌道計算に必要な軌道要素は、NORADが観測にもとづいて算出・公開しています。*1

まとめ

International Space Apps Challenge に参加した話を書きました。

アイディアソンを経て即席で作られたチームでアイディアを形にしていく楽しい経験をしました。また、宇宙や天文をはじめとして、科学技術やものづくりが好きな人達が一同し、世界をネットワークしてハッカソンをするのはなかなか無い機会です。来年もぜひ参加したいと思います。

Beam of hope: Satellite Reflectorのアプリケーション自体は今後も開発を続けていき、サービスとして公開することを考えています。それにあたり、現在iPhone用しかないフロントエンドを他の端末にも移植すべく、AndroidでARアプリを作れる方を募集しています。また、アプリケーションサーバの構築・運用などインフラに強い方も募集しています。

*1:NORADアメリカとカナダの防衛組織であり、宇宙機関ではありません。そういう意味では、宇宙機関が公開するデータを使って・・・というイベント趣旨に沿っていない可能性が^^;