2016年10月4日火曜日

KITハッカソンはすごい!!① ~モノづくりができるハッカソン~

KITハッカソンに参加してきました!!!
  
以前KITハッカソン参加に参加したときは、ウエアラブル傘Kasadasというプロダクトを作りました。
ウエアラブル傘を作るために電子部品が必要だと運営の中沢先生に相談したところ、部品を提供
してくれたおかげで作ることが出来ました!!!

今回はさらにパワーアップ!!
スポンサーのマルツー電波がフリーパーツショップを開いて頂けました!!!
Raspberry Pi、Arduino、TWE-Liteから各種センサーなどパーツが勢ぞろい!!
モノづくりをしたい人には夢のようなハッカソンです!! 

このハッカソンを開催してくれた中沢先生、福田さん、白山の関係者の方々、誘ってくれたチームメンバー、その他運営の皆様、大変ありがとうございました!!

②ではネタ話をしようと思います!次回の記事お楽しみに!

面倒見のいいハッカソン

このハッカソンは3日間あります。
1日目は金沢工業大学のアントレプレナーズラボという、おしゃれな場所で行われます。
この日は協賛企業のプロダクトのハンズオンがあるのが特徴です。
技術力が心配な人でも、成長でき、プロダクトの開発も1日目でできるようになります!

2,3日目から、本格的にプロダクト開発が始まります。
2日目からは、白山という自然がいっぱいの場所でハッカソン!!

ハッカソンというと、大体スマホアプリケーション開発や、WEBサービス製作、良くてもはんだごてをしてIoT等デバイス開発ですが、、、、、、、

白山なので、自分のチームはドローンを飛ばして空撮でプロダクトのPVを作ることができたり、他のチームは位置情報アプリケーションを作って実際にデモすることができたり、外で木材の加工までできました!

もちろん送迎バス付きです。金沢駅と金沢工業大学でバスのピックアップがあるので、県外の方でも参加できそうです!

食べ物

このハッカソンは、1000円先に支払うのですが、2日目からの白山会場での食べ物が豪華!!!(1日目は持参)
まず、ハッカソン中には3食支給され、手作りカレーが出ます!!とってもおいしく、ついお代わりをしてしまいました!!
もちろんお菓子+ドリンク付き!!

懇親会は、なんとジビエ肉が振る舞われた、炭火串焼、ジビエ肉汁、ジビエ肉オムレツ?が堪能できました!おいしかったです!
お酒も飲み放題だったそうです。僕はノンアルコールビールを飲みました。


チーム

チームメンバーは、KITの大学生のドローンプロジェクトの人2名とIT企業のエンジニア2名と僕です。KITドローンプロジェクトのリーダーがメンバーとして僕を誘ってくれました!
全員ドローン大好きメンバーだったので、すぐに打ち解けることができました!!!
メンバーと話していると、「もしかして@ken_demuさんですか?」と聞かれました。
twitterアカウントが認識されていたそうです。KITドローンプロジェクトで、自分がQiitaに投稿したドローンの記事が話題になっていたそうです。
http://qiita.com/kendemu/items/600210a2dd1954c9f2b8


審査員とプレゼンの方法決め

作るプロダクトは、ドローンをScratchでプログラミングできるアプリ、がすぐに決定しました。
ですが、今回気を付けなければいけない点があります。。。。。。

審査員が白山の近隣の一般住民30名(大人)です。
このことは、2日目に判明しました。そして、ハッカソンの開催場所は三方を緑山で囲まれています。主催者の中沢先生は、「審査員は技術者ではないです。白山の一般住民です。」 と、アドバイスがありました。


 

※1日目は、アントレプレナーズラボというおしゃれで先端的な場所でハッカソンが開催されていました








役割担当はこんな感じです。
1. 空撮PV製作 + デザイン素材製作 + プレゼン製作 : KITドローンプロジェクトのメンバー
2. アプリケーション製作 : 自分
3. UI部分製作 : 企業のエンジニア
4. Scratchのサンプルコード製作 + かっこいいデモ製作 : KITドローンプロジェクトのリーダー



ドローンを小学生から簡単にプログラミングできるためのアプリ

今回自分たちのチームが作ったのは、
ドローンを小学生から簡単にプログラミングできるためのアプリです!!
(Scratchというブロックプログラミング言語を用いるため)
 

 


アプリ最新版のデザイン(これに離着陸ボタン + 真ん中にドローンのカメラ映像が映る)
開発途中のアプリ画面


Electronというクロスプラットフォームアプリケーション開発プラットフォームを使うことによって、アプリケーションのUIとアプリケーションの機能の部分の並列開発を行うことができたため、短時間で(3日間)完成度の比較的高いアプリケーションを作ることができました。

デモ
Leap Motion

Leap Motionというデバイスを使うことによって、Scratchでプログラミングして、手の動きでドローンを操るという魔法のデモを行いました。

Leap Motionとは何か
Leap Motionは赤外線カメラを使うことにより、手専用でリアルタイムで使えるスキャナーとして働きます。
 
なんで赤外線だと手がスキャンできるかというと、赤外線距離センサというものがあり、これで赤外線によって物体との距離が計測できます。人が近づいたら○○する、という機能を持ったデバイスは結構このセンサが使われています。赤外線センサは簡単に市販で入手できるので、「人が近づいたら○○する」という機能を持ったデバイスはArduinoなど各種マイコン・マイコンボード + 赤外線センサなどを組み合わせれば比較的簡単に作ることができます。
(物理的な仕組みは以下を参照:https://ja.wikipedia.org/wiki/%E8%B5%A4%E5%A4%96%E7%B7%9A%E3%82%BB%E3%83%B3%E3%82%B5)

そして、赤外線センサを大量につなげば、赤外線カメラの出来上がりです。これによって、赤外線で取得できる距離情報から3次元的にものをスキャンすることができます。

ですが、ものを3次元的にスキャンできるからと言って、手をコンピュータが認識できるわけではありません。手を認識するには、機械学習を使います。
これは、大量の3Dデータを集め、その中から手の3Dデータを事前に大量に集め、手であるかどうか判定する関数や関節位置を予測する関数を大量のデータから生み出すことによって(正確には近似、詳しくは最小二乗法と最急降下法を参照) 、手を認識することが可能になります。
大量の手の3Dデータを集めて、関数を生みだせば(予測)、数学的に手が定義できるため、数学を理解できるコンピュータが3Dデータから手を認識することが可能になるというわけです。
機械学習はプログラムか回路で実現します。
 
開発工程
Electronを使っているため、コア部分にはNode.jsを用いるのでnpmモジュールによる拡張性とScratchとアプリケーションを連携させるためのHTTP API群の高速開発を実現し、UI部分にはHTML5を用いることでWEBデザインと同じ要領でデザインを詰めることができました。
Githubとgit flowブランチモデルを採用したため、機能拡張と過去のバージョンのアプリケーションの保持も簡単にできました!
連絡などは口頭 + slackで行いました。
slackはエンジニア向けチャットツールで、コードをシンタックスハイライト付きで貼り付けたり、githubのレポジトリの更新通知などを行うことができます。

0 件のコメント: