Maker Faire Tokyo 2016 おつかれさまでした!
Maker Faire Tokyo 2016 お疲れ様でした&見て頂けた方ありがとうございました!
当日は自作の全方向移動型ラジコン戦車を出展していたんですが、本当に直前まで本体の開発や動画の作成等をしていたため、全然告知が出来ませんでした。
それでもたくさんの方に見て頂けてとても嬉しかったです。
会場で上映していた動画をアップロードしたので貼り付けておきます。
ラジコン戦車完成までの道のりは、別途当ブログでまとめていこうと思います。
youtube版はこちら
今更旧Raspberry Pi Zeroをセットアップした時のメモ
Maker Faire Tokyo 2016に向けて、もう一つ何かを作る必要が出てきたので、発売当初に買ったまま放置していたRaspberry pi Zero(以下、パイゼロ)のセットアップを行った。
現在のパイゼロは、カメラモジュール用の端子が付いているが、自分が買ったものはそれより古い初期バージョンなので端子は付いていない。
以下は、セットアップの際に行った作業のメモ書きである。
続きを読むMaker Faire Tokyo 2016受かった
タイトル通り受かりました。
全方向移動ラジコン戦車の完成品を出展する予定です。
仕事が忙しいけど、頑張るぞー。
teamLab主催インタラクティブ・プログラミング・ハッカソン
5/28〜6/5にかけて、teamlab主催のインタラクティブ・プログラミング・ハッカソンに参加してきた。
結果、チームラボ賞を貰う事が出来た。
概要
ルールは「とにかく子供のテンションを最高にする作品を作る」のみ。
プロジェクターやkinectは借りることができるが、それ以外に必要なものがあればなんでも使っていいらしい。
優勝賞品は、CASIOのプロジェクター。
作ったもの
ボールを壁に投げて、ぶつかった所にスプラ◯ゥーンのようにインクをぶちまける。
飛び散ったインクの色に応じて様々な生き物が飛び出す。
インクの色が混ざるとレアな生き物が飛び出すことがある。
生き物にボールをぶつけると弾けてエフェクトが飛び出す。
といった単純明快な作品。
構成
- プロジェクター
- 加速度センサー(ボールの衝突検知)
- kinect(ボールの位置検出)
- webカメラ(ボールの色検出)
- PCその1(kinectと加速度センサーの制御)
- PCその2(メインアプリとプロジェクターへの投映)
PCその1には、kinectと加速度センサーがつながっている。 PCその2には、プロジェクターとWebカメラがつながっている。 PCその1とその2は、USBでつながっている。 メインのアプリは、openFrameworksで作られている。
仕組み
壁の後ろに加速度センサーを貼り付け、ボールが衝突した時の振動を検知する。
検知したら、kinectの方で円形を検出してボールの座標を取得する。
ボールの座標と衝撃の強さを、シリアル通信でPCその2へ送信する。
PCその2では、メインアプリが動いている。
メインアプリは、座標の位置へインクを描画したり、生き物を動かしたり音を鳴らしたりする。
PCその1から、座標データが送られてきたら、webカメラの画像から座標の位置周辺の大まかな色を取得し、インクの色としてぶちまける。
ぶちまけたインクの色に応じて、様々な生き物が出現する。
担当箇所
webカメラの画像処理周りと生き物の挙動を少し担当。
今回初めてopenFrameworksを使ったが、思った以上に簡単に使えて驚いた。
openFrameworksのアドオンのOpneCVで画像処理をしたが、カメラに映った傾いた壁の画像を4点指定して射影変換して真っ直ぐな壁の画像を作るのが、凄く簡単にできた。
画像のピクセルデータも配列でアクセスできるし、なんかDirectX初期の頃みたいな感覚が蘇った。
画像処理するならOpenCV!
結果と感想
一定時間毎に作品を変えて遊んでもらう形だったが、延々ボールを投げ続ける子供がいて嬉しかった。
惜しくも優勝は逃したものの、チームラボ賞をゲット。
賞品はチームラボTシャツだった。
今回、審査員が子供ということで、建前を抜きにした純粋かつ公正な審査だったと思う。
子供の動くものに対する好奇心と、そのリアクションの良さは素晴らしい。
正直な所、我々の作品は誤検出でボールが当たった所と違う場所にインクが付いてしまったりしていたが、子供はそんな事お構いなしで必死になってボールを投げ続けていた。
あまりにも子供達が楽しそうに触ってくれるので、作った大人達が感動するという不思議な光景もちらほら。
Webサービス全盛の昨今、お客さんの反応がダイレクトに見られる経験は中々に貴重だと思う。
また子供向けのハッカソンがあったら参加したい。
オール3Dプリントラジコン戦車(仮)製作日記 その4
随分日が空いてしまったが、ラジコン戦車製作の進捗メモ。
WEBから操作
Raspberry PiをWEBサーバーとして、スマホのブラウザからカメラのストリーミングやBluetoothのOn/Off、モーター制御プログラムのOn/Offなど各種の操作ができるようにした。
中身は、node.js+expressという構成で、一応レスポンシブデザイン対応で、スマホから見てもボタンやストリーミング画面が小さくならないようにしている。
最終的に、無線LAN親機+DHCPサーバとしてスマホから直接接続できるようにして、持ち運びやすくする予定。
足回り改修
今までタミヤのハイパワーギヤーボックスHEを使っていたが、どうしても3つあるギアボックスのうち、一つだけやたらギアが硬い物があってまっすぐ走れなくなっていた。
仕方がないので、ダイセンのロボサイトモーターとオムニホイールに交換した。
それに伴い、モーター固定用のフレームも設計しなおし。
ちょうど3Dプリンタも故障していた為、DMM.makeで出力。
しかし、いざ組み合わせてみたら既存のフレームと干渉する事が判明。
ホビーソーで干渉部分を切り取ったが、普段日曜大工とかしないので非常に疲れた。
123Designでパーツの干渉を事前に検出することは可能なんだろうか?
それができれば今回みたいなミスは無くせると思うが…。
なんとか組み合わせての動作確認。
久し振りのラジコン戦車進捗。足周りを変えたので動作テスト。まっすぐ走れるようになった気がする。
これによってまっすぐ走れるようにはなった気がする。
しかし、ギア比によってどのくらいの速度とトルクなのかわからなかったため、ギア比1/60のものを買ってしまったが、そのせいか結構速度が落ちてしまった感じ。
マブチモーターのように、おいそれと買い直せる値段ではないので今回はこのまま行こうと思う…。
今回の改修に掛かった費用のことは考えたくない…。
Maker Faire Tokyo 2016
今年もMaker Faire Tokyoがやってくる。
今まで客として参加してたが、今回はMaker枠で、今作ってるラジコン戦車を出展してみたいと思っている。
申し込み締め切りは5/9までなので、それまでになんとか形にしたい。
頑張れ自分!
プロジェクションシューティングゲームを作ってみた
モバイルプロジェクターとスマホを組み合わせて投影式の3Dシューティングゲームを作ってみた。
まずは動画から。
暗くてわかりにくいが、壁の中を懐中電灯で照らして、敵を撃破するようなゲームになっている。
ゲームルール
実験なのでゲームと呼ぶにはあまりにも単純だが、
前方から迫ってくる敵の方にカメラを向けて狙い、画面をタッチでショット発射。
目の前まで敵が迫ってくるとダメージ。
3回ダメージを食らうとゲームオーバー。
一応徐々に敵が増えて難しくなるようにはしている。
仕組み
仕組みは非常に単純。
スマホとモバイルプロジェクターを一緒に持つ。
スマホの傾きをジャイロセンサで検出し、ゲーム中のカメラの向きに反映させる。
その映像をスマホからHDMIケーブルで接続したモバイルプロジェクターで壁に投影。
見たい方向にスマホとプロジェクターを向けることで、懐中電灯の光で壁の中の世界を覗いているような感覚を味わえる(当社比)
ゲーム部分はUnity製。
最大の利点は、必要機材がモバイルプロジェクターとスマホと接続ケーブルだけなので取り回しが非常に楽な点。
壁と暗闇があればどこでもプレイ可能。
今回はiPhone6Plusを使用した。
ちなみに、画面の左下に見えるのはカメラの向きのリセットボタン。
作ってみて
壁の中を覗いてるような感覚はまぁまぁ出せたと思う(動画ではわかりにくいのが辛い)
iPhone6Plusのジャイロセンサはそこそこ精度はいいが、やはり急激な変化には追従できないようで若干ずれる。
まぁ簡単に作れるのでそこら辺はトレードオフか。
当初はスマホにヘッドホンを付けて左右の音で敵が出てくる方向を察知できるようにしたかったが、HDMI接続のせいで音声がプロジェクターのモノラルスピーカーで再生されてしまった。
プロジェクターにもヘッドホン端子はあったがノイズが酷いのと音声がモノラルになってしまっていて聞き分けできなかった。
敵の出現音がソナー音っぽいのはその名残。
まぁ簡単に作れるのでそこら辺はトレードオフか(2回目)
初めはメディアアート的な作品にするつもりだったが、気がついたらゲームになっていたのは職業病だと思う。
使用素材など
シェーダー
壁や敵の格子状の模様は、こちらのシェーダーを参考に頂点&フラグメントシェーダーに書き起こし、輪郭線を追加した。
効果音
Rez Infinite with シナスタジアスーツ体験
Rez Infinite
去年の12月に開催されたPlayStation Experience 2015にて、発表されたRez Infinite。
RezがPlayStation VRで蘇ることよりも、音に合わせて全身がピカピカ光る銀色の『シナスタジアスーツ』とPlayStation VRを身につけた水口哲也氏の姿が、レトロフューチャーが一周回って現実に現れたような感じで心を奪われた。
自分はレトロフューチャー好きでLED好きなのでシナスタジアスーツがすっごく欲しいと思ったが、市販する見込みは無いらしいと聞いてがっかりした。
シナスタジアスーツを体験するチャンス
それから数カ月後、六本木ヒルズで開催される MEDIA AMBITION TOKYOにてRez Infiniteとシナスタジアスーツの体験が出来ると知って行ってみた。それが昨日。
シナスタジアスーツは2層構造になっていて、音に合わせて振動させる振動素子が全身に散りばめられている内層と、音に合わせてLEDが光る外層がある。
今回は振動する内層のみを装着して体験することが出来た。
それでも、スタッフ二人がかりで全身に振動素子のバンドを装着していく必要があり、ちょっと宇宙飛行士になったような気分だった。
シナスタジアスーツを装着した後は、PlayStation VRを頭にかぶる。
メガネをつけていたのでちょっと圧迫感があった。
左右の目の距離や高さなどを調整し、さらにヘッドホンを装着する。
PlayStation VRとヘッドホンで外界からほぼシャットダウンされた状態でプレステのコントロラーを渡される。
目の前には、Rez ∞のロゴが表示されており、頭を左右に振ると視界が動かせた。
Press Any Buttonと表示されているので適当にボタンを押してゲームスタート。
頭の動きでロックカーソルが動かせるのが凄く直感的で楽しい。
振動は序盤は割と静かだが、音楽の低音に合わせてドッドッドッドッと揺らされる感覚は、ライブやクラブ等で大音量のスピーカーから発せられる音圧で全身が揺さぶられるような感覚に近い。
しばらく進むとボス戦に突入。
途中、ボスが後ろに回り込むが、ただの演出かと思って前を向き続けていたら一向に前に戻ってこないので、あれ?と思い振り返ったらずっと後ろで走り続けていた。
あぁ、振り向いて戦わなきゃいけないのかーと元のRezとの違いにちょっと戸惑いつつもクリア。
時間にしたら5分くらいだと思うが、はじめは振動を感じていたが、途中から振動に慣れたというか音楽と一体化してるかのような不思議な浮遊感があった。
プレイ後そんなに動いていないはずなのに結構汗をかいていた。
正直VRはあまり興味がなかったが、Rez Infiniteを体験したらPlayStation VRが欲しくなった。
というか、シナスタジアスーツ欲しいなぁ。
でも、後ろの配線とか機材を見ると一般販売は難しそうだ。
シナスタジアスーツを体験したい人向けの注意
MEDIA AMBITION TOKEYOでは、他の展示品は自由に閲覧できるが、Rez Infiniteは整理券を持っている人間のみが体験できるので注意が必要。
整理券は、当日17時半頃に配られる事になっているが、自分が行った時は、16時頃から既に並び始めてる人がいた。
また、スーツの装着の手間が掛かることから1日8人位しか体験できないらしいので、どうしても体験したい人は17時半よりも早めに行くことをお勧めする。
ちなみに、MEDIA AMBITION TOKEYOは3月21日までなので、猶予は今日明日しかない。
まだの人は急げ!
写真
あとは現地で撮った写真をどうぞ。
Rez Infinite - Synesthesia suit