2014年振り返り

LINEで送る
Pocket

2014年も終わりということで、今年は振り返りを書こうと思います。

今年はどうなるかと思って不安だったのですがなかなか面白い1年になったかと思います。
マイコンを使って無線でLEDを自動制御することやレーザーを使った演出や今までのようにセンサーを使った演出もよりたくさん経験できました。
2014年頭でやってみたいと思ったことは一通りできた良い1年になりました。


まずはLEDやってる関連でお誘いいただいた某ショーレストランでのLED衣装と装置の設置とか制御ソフト・ハードの開発から光り方含めてなかなかハードでしたが全般ですごい良い経験ができました。

特にハードでは中山さん、まりすさんにすごくお世話になりました。
また、現場では無茶なことにもこたえてくれたゆきちゃんありがとうございました。
お話をいただいて一緒にご協力していただいた加藤さんもありがとうございました。
このお仕事で関わったみなさま、また何かありましたらぜひ。


そのあとは前々から興味のあったTMCNで発表。→Project Daftyに見事に巻き込まれるという経験をしました。fabcafeさまにも色々とお世話になり、Fab Meetup vol.9でも発表させていただきました。http://fabcafe.com/tokyo/events/g00f1b7bf

https://www.facebook.com/TokyoMotioncontrolNetwork

TMCNでは参加が決まったのが直前とか、発表のタイミングとかいろいろ勝手に運命を感じる流れでおもしろかったです。

Project Daftyでは以前にやっていたScience Nonfictionのコンテンツを見てもらっていたようで、自分が関わったコンテンツを誰かが見ていてくれているということをようやくちゃんと実感できました。

で、Project Daftyはこちら。4分ちょいくらいから。

直前までバタバタでしたがみなさまありがとうございました!

参考(TMCNで発表してきました、という記事です):
http://blog.hi-farm.net/2014/05/09/tokyo-motion-control-network-8/


TMCNの流れでNaked様にて開催されたイベントにて軽く発表させてもらいまして、それきっかけで新たな出会いがありました。
その一つがIntegral VisionさまのKAGURAです。こちらは9月中旬にロンドンで開催されました。

NADA Project Vol2 – Kagura – Full version from Takayuki Baba on Vimeo.

デジハリの授業にちょっと顔を出してしゃべる→何か困ってそう→ちょっと口出しする→やっぱり自分でやりたくなって結構がっつり参加、
みたいな定番の結末でした。
この時期は別件の仮押さえ予定などがあったり他の事情もあって現地には行けなかったのともっと早い段階から参加できなかったのが心残りです。。。
次回あれば是非!よろしくお願いします。


これとはちょっと別ですが、7月上旬にはLive & Event産業展に出展の手伝いをしてきました。
こちらもScience Nonfictionのコンテンツをこの展示会向けにアレンジしたものになりました。
音楽イベント系の展示会とか初めてでしたが展示会ならではのハプニングもあり、こちらもとても楽しかったです。
ゼロシーセブンさまとTachytelicさまの共同出展でした。
こちら来年はあるのかな??

http://www.live-event.jp/ja/HOME/

そして夏休み最終日、科学技術館にて1日限りの限定イベントを行ってきました。
映像はこちら。

子供向けインタラクティブレーザーでございます。
Kinect(実際はXtion Pro live)の前に立つとレーザーでアバターが出て、映像中のボールを触ると得点!というもの。
小学生だけじゃなく、もっと小さいお子様にも体験してもらえました。


夏頃はこれと同時にレーザー屋さんとしてこのへんのお手伝いもしました。

で、この流れでORANGE RANGEのテブラ DE ゴメンツアーでもお手伝いしました。
ホールの現場での経験ができたことは本当に感謝です。また今後もあるといいなあ。

他にもなかなか面白い使い方があったのですがどこかでみてもらえるといいなあ。
※画像が見えない場合はこちら


これをやりつつ、別の案件も走っていて、、、本当に夏から冬にかけては色々と重なっていました。 一つ、非公開イベントだけど3分半のショーにてモーションセンサーで音楽と映像とレーザーをコントロールする、というコンテンツを発表しました。 これ個人的には音楽も映像もすごいお気に入りのショーなんですが、、、、いつかどこかで発表したい!! 非公開なので何をどこまでいえばよいかわからないのですが関わったみなさま本当にありがとうございました! 途中すごい心配おかけしてしまったかと思いますがみなさまのおかげで無事乗り越えることができました。 うーん、やっぱり表に出したいなあ。 技術的なチャレンジもあったので今後もどこかで活かせるのではないかと思います。 インタラクティブレーザーはもっと強化したいと思いました。 すごいモザイクですがとりあえず。

secret


そして何と言っても!初海外初南半球初アフリカ! タンザニアにてレーザーと映像やってました!

もともとPANDA1/2は好きで曲を聴いたりライブ見に行ったりustを見たりしていたのですがジェームズパンダJrさんがやっているバーに何回か飲みに行って話をしているうちにタンザニアに行かないかい?というお誘いをいただきました。
お話をいただいた時点ではロンドンが初海外になる予定でしたが結果的には初海外がタンザニアというのはなかなか良かったのではないかと思っています。
本番ではいろいろとあり心残りな事もありますのでまた機会つくっていきたい!

時間がなかったので直前のリハやらができなかったのと、バーで何回か話したくらいだったのに打ち合わせとか演出プランを現地で考えたりして作り上げるのはなかなか楽しかったです。
その後のトークショーも出たかったなー。日程が被ってたので残念!
パンダさん、佐藤さんほか現地でお世話になったみなさまありがとうございました!

かなり良い思い出になっております。


その他・・・・
・イベント色々と参加させていただきましてありがとうございました!

・レーザーとLED衣装で関わっているRAM RIDERさんですが、実は内部的にはパワーアップしまくっていて、
・LED衣装の無線化対応がおわり
・反応もかなり改善
・自動化機能も実装済み

ということで来年以降は今まで以上にぴちっとコントロールできたライブができるかと思うと楽しみで仕方がありません。
やればやるほど人がいらなくなる、というものなのでちょっと複雑な気持ちはありますけどね!

・もっとうまくできたはずのhalloweenイベントは絶対別の形でお返ししたいしTMCNを通じた良い出会いやレーザーの経験、タンザニアという海外での経験を活かし、新しいこともやりつつ今年広げたことをしっかりとレベルあげしたいと思っています。
参考までに。

他にもかけない事などありますがとても充実した一年になりました。

来年はこれ以上にまた面白いことができるといいなあ。
何か困ったことがありましたらお気軽にお声がけくださいね!

特に、LEDやレーザーといった光の演出とセンサーとの組み合わせのインタラクティブな演出をより深めてやっていきたいですね。
ライブ以外でもできるようになると面白そうですね。

来年もよろしくお願い致します。

hi-farm
武内 満

OpenNIのライセンスが気になったので聞いてみた

LINEで送る
Pocket

KinectやXtionを使ってアプリ開発するときには、Kinect for WindowsのSDKであれば
Kinect for Windowsのデバイスを買い、Windowsアプリを作るのであればライセンスの心配をする事はありません。
一方のOpenNIはLGPLやらGPLやらと書いていて、GPLの解釈については動的リンクでもソースコードの公開義務があるとする解釈もあり商用案件で使うにはやはり躊躇してしまいます。

とはいえOpenNIになじんでいたのでOpenNIの開発元の一つである、primesenseにメールで直接問い合わせました。

返答がこれ。

The LGPL constraint that you are mentioning only applies if you are modifying OpenNI using it source code. If you are using OpenNI as-is, then you do not need to uncover anything about your own code! OpenNI is FREE for commercial use, but softwares using OpenNI do not need to inherit the LGPL license. For examples, NiTE is not LGPL nor open source, it’s a Primesense proprietary software.

要するに、「OpenNIをそのまま使うのであればソースコードを公開する必要は無いよ、実際NiTEはオープンじゃないし」
って事で公認がもらえたと思ってるので商用案件でもOpenNIを導入して良さそうですね!

その後も少しやりとりしていると、Apache ライセンスに変えるか検討しているようでした。

ライブでのKinect使用例

LINEで送る
Pocket

少し前の話になりますが、2011/12/22にageHaにて行われた
「m-flo presents BONENKAI」でBoxステージでのPanty & Stocking OrchestraのライブにてKinect+OpenNIを使った演出を行いました。

ちょっとわかりにくいですが、右下にいるアーティストの動き(この画像はTeddyLoidさん)にあわせてスクリーン上のロボットが動く、というものです。OpenNI Unity Wrapperを使いました。

pso_kinect

より効果的に見せるための課題など反省点は色々ありますが、まずは問題なく本番で使う事ができて一安心です。

今年2012年はよりパワーアップしたものをお届けするべく頑張りますのでよろしくお願いします。

OpenNIのUnityWrapper

LINEで送る
Pocket

このエントリはOpenNI Advent Calendar 2011 : ATNDの12月24日分です!!


さてクリスマスイブですが、
少し前からOpenNIにはUnityWrapper版が存在していますのでそれについて紹介します。

unity_screenshot

最近話題になっている、ゲームの開発環境のUnity3Dというものがあり、OpenNIのサイトからUnity3Dで使うためのUnityWrapperをダウンロードできます。

追記:
2013/06/12時点では(もう少し前からだったと思います)OpenNI公式のUnityWrapperは配布していません。
有料ではありますがこちらのZigfuを使えば同じ事+それ以上の事が出来ます。

opennidownload


Unity3Dについて:

Unity3D ( http://unity3d.com/unity/ ) とはゲーム開発ツールであり、WindowsとMacのどちらでも開発する事が可能です。
IDEがあるのでステージの画面を見ながら次々とオブジェクトを配置するだけでゲームの世界を簡単に作る事ができます。
プログラムはJavascriptとC#(mono)で書く事ができるのでweb開発者や.NETの開発者にも取っ付きやすいのではないでしょうか。
MacでもC#で記述する事ができます。

また、一人でグラフィックやサウンドやモデリング、プログラムを行うのは大変ですが、Unity3DではAsset Storeというものが用意されており、これを利用する事で必要な素材を入手する事ができるので気軽にゲーム開発を進める事ができます。

Unity3Dの無料版、有料版、ライセンスについて

無料版と有料版があり、無料版では制限はいくつかありますが、WindowsとMacで実行できますし、有料版にアップグレードする事でAndroidやiOSに対応させる事も可能です。
詳しいライセンスなどはUnity3Dのサイト( http://unity3d.com/unity/licenses )か、「強火で進め」さまのサイトが詳しいです。( http://d.hatena.ne.jp/nakamura001/20110710/1310292561


Unityのダウンロードからインストール

それでは、Unityをダウンロードしましょう。

http://unity3d.com/unity/download/より、Unityをダウンロードし、流れに沿ってインストールしてください。
インストール後、先ほどOpenNIのサイトからダウンロードしたファイル(Unity OpenNI toolkit 0.9.7.1.unitypackage )をダブルクリックしImport Packageより一式をunityにインポートします。
importが完了すると、Projectタブにこのようなファイル群が表示されます。
unity_project

OpenNI/Sample Scenes以下にすぐに試せるようなサンプルシーンが入っていますのでダブルクリックしてシーンを開き、三角の再生ボタンを押して次々と試してみるとUnity3D+OpenNIの可能性を試せると思います。
Unity_IDE

私はライブなどで使ったりしていますが、骨格をちゃんと映していれば問題なく現場でも使えます。今のUnityWrapperだと全身映す前提のコードになっているので、上半身だけ認識などに変更する事でより柔軟なアプリケーションが開発できます。

ではそれぞれのサンプルのキャプチャやサンプル動画をのせておきます。


サンプルのシーンについて

MultipleSkeletons:
僕は一人なので試せませんでしたが、複数人のスケルトンを認識できるサンプルだと思います。
MutipleSkeletons
NIGUIControl:
NIGUIControl
NIInputControl:
すごく地味なのですが、手を動かすと黒い四角が追従します。XBoxでもあるような、手で操作するゲームはこれを使うと作れそうですね。

SimpleGame:
上からふってくるボールにタッチするゲームです。実際に動いたりジャンプするとそれにあわせて画面も動きます。一番運動している感じになりそうですね。

SingleSkeleton:
スケルトンの情報をもとに画面のキャラクターが動きます。

せっかくなのでスケルトンをサンタにかえてみましたよ。サンタ気分で小さく踊ってみました。
あ、サンタのデータはAsset Storeで購入可能ですよ!

※この記事は、下記の環境で確認しました。

OpenNI 1.5.2.7
NITE 1.5.2.7
Unity3D 3.4.2f3

[修正]スケルトン認識ポーズいらずのOpenNI1.4.0.2がリリースされました!

LINEで送る
Pocket

OpenNIの新しいバージョンがunstableながら出たようです。(バージョンは1.4.0.2)
http://75.98.78.94/
※ググった結果の一番上なんですけどなんでIPアドレスなんだろう。。。

今回からなんとOpenNIでスケルトン認識する時の例のポーズがいらなくなった、という大きすぎるアップグレードがあります。
「かおるんダイアリー」様が早速デモ動画をアップされています。
http://d.hatena.ne.jp/kaorun55/20111121

MSのSDKでは画面から外れた時の暴れっぷりや全身が映っていないときの反応がちょっと荒かった印象がありましたが、OpenNIの方は比較的ましな感じがしています。

今はSensorKinectの人にも問い合わせしているので進展があれば追記します。

早速試したかったのですが、僕の環境では実行しようとしても
Segmentation fault: 11
が出てしまい実行できませんでした。

あまりにもわからなかったのでOpenNIのGoogleGroupで質問してみたところ、
Kinectの時に使っているドライバ、SensorKinectが新しいバージョンに対応していないからだそうです。

これはOpenNI使う時はKinectじゃなくてXtion使えよ、っていうことなんでしょうかね。。。

追記:
動作することを確認しました。
すみません。僕が使っていたSensorKinectが古かったようです。

ここにあるバージョン(5.0.5.1で確認しました)を使うと無事動作しました。
OpenNI, SensorKinect、NITE、入れていればOpenNIのサイトにあるSensorをアンインストールし、KinectをUSBから抜いて再度インストールすると問題なく動作するようになりました。
(NITEは先ほどリリースされた1.5.0.2をインストールしました。)
https://github.com/avin2/SensorKinect

さあ、これで試せるよ!

備考:
動作確認バージョン:
OpenNI: 1.4.0.2
NITE: 1.5.0.2
SensorKinect 5.0.5.1
Mac OS X 10.7 Lion
デバイス: Kinect

撮影するための環境が無くて僕とKinectの距離が近かったのでスケルトンが暴れていますが、実際はもう少しましだと思います。

これになったことでスケルトンを使ったアプリを作りやすくなりましたが、暴れることが以前より多くなった(当然)ので、こういったノイズデータをハンドリングする必要がありそうですね。

KinectをOpenNI / Macで使ったときにはまった事1

LINEで送る
Pocket

KinectをOpenNIを使えばunstable版ではありますが、Macでも使う事ができます。
で、普段のWebやPC、Mobileのアプリとは異なりハードウェア的な観点で注意しないと行けない事があり、ちょっとハマってしまった事があったので書いておきます。

今までまったくもって普通に動いていたアプリが突然すごくカクカクと動いてしまっていたのですが、ソースコード上の無駄をどれだけそぎ落としても、Kinectのデータ更新を別スレッドで行うようにしてもカクつきがまったく改善されなく、原因がわからなくて途方に暮れていたところ、試しにUSBの差し口を変更した所今までどおり高速に動作するようになりました。
どうやら状態によって通信速度が変わる事が考えられます。

MacBook ProのUSBポートは内部的には同じもののはずだからどちらに差したからと言って通信速度が変わることはないと思っていたのですが、そんな事も無かったです。

Kinect自身はUSBでPCと繋いでデータを受信します。KinectはXtion Proなどのデバイスとは違い、USBだけでは正しく動作しないのでコンセントにさす必要もあるのですが、電気の供給が不足しているときにも動きがカクカクしてしまう事がありました。

USBを差し替える前後の違いが分かるように動画をアップしましたので気になる方はご覧下さい。

はまりどころを抜けて、こんな感じのサンプルを作りました。

MacでのOpenNIのアンインストール

LINEで送る
Pocket

Windows上でのOpenNIのアップデートでは結構苦戦した経験があり、自分のMacでは更新しないようにしていたのですが、OpenNIのアップデートで治るのなら、という不具合に出会ってしまったのでこの度更新する事にしました。

基本的なところですが、そのときのアンインストールのやり方を残しておきます。

※ちなみに、新たにインストールする場合は、こちらのサイトを参考にして下さい。非常に分かりやすくまとめられています。

http://www.cyber.t.u-tokyo.ac.jp/~take/kinect/openni-mac-kinect.html

1. OpenNIのアンインストール

OpenNIをアンインストールします。Terminalで作業を行います。

  1. OpenNIをインストールしたフォルダ(OpenNI-Bin-v….の様な名前です。)に移動します。
  2. “sudo ./install.sh -u” と入力すると、OpenNIがアンインストールされます。

2. SensorKinectのアンインストール

ドライバであるSensorKinectをアンインストールします。

  1. SensorKinectをアンインストールしたフォルダに移動します。
  2. “sudo ./install.sh -u”と入力すると、アンインストールできます。

これで無事にアンインストールが完了しましたので、上記リンク先のサイトの通りにインストールを行って下さい。

./Ni-SimpleViewerなどが実行できるようになれば、インストール完了です。

KinectとOpenNIとVJと – 1. Kinectとは何か

LINEで送る
Pocket

こんにちは。
ここしばらくKinectで何かをする事が多かったので、忘れないうちに記事を残しておこうと思います。

Kinectとは?

kinect
Kinectとは、MicrosoftがXbox360向けに発売したゲームデバイスです。
従来と違い、距離センサーなどを搭載した事で、全く何のコントローラーを持つ事無く人のジェスチャーでゲームを楽しむ事ができます。

どんな事ができるのかは、この動画をみると分かりやすいと思います。

これがもし、Xboxだけでしか使えないものであればここまで流行る事も無かったと思うのですが、あまりにも安価なセンサーデバイスだったため、世界中のハッカーが勝手にハックしてKinectの情報をプログラムで扱えるようになりました。

センサー部分を開発している、イスラエルのPrime Sensor社がOpenNIというライブラリを公開したことは、Kinectのパーツを実際に作っているところからの公開であり、準公式とも言えそうなライブラリの登場に非常に興奮したものです。
C++, C#で利用する事ができます。
http://www.openni.org/

また、Microsoft自身もSDKを公開するとの事ですが、僕はMac使いなため、OpenNIを使う事に変わりないと思います。
http://japanese.engadget.com/2011/02/21/kinect-sdk/

他にもOpenFrameworksで使われるためのofxkinectというアドオンもあります。
https://github.com/ofTheo/ofxKinect

MicrosoftのKinectに関するページ:
http://www.xbox.com/ja-JP/kinect

先ほども書いたように、Mac使いである僕はC++(OpenFrameworks)+OpenNIという方法でKinectをいじり始めるのでした。
続く。

MacでOpenNIのサンプルをビルドする

LINEで送る
Pocket

とてもありがたい事にOpenNIもMac版がunstableながらもリリースはされていて、それで遊ばないのはもったいないので遊んでいます。

初歩的ではありますが、サンプルソースをXCodeでビルドするまでの手順を残しますよ。
これを経験しておけば、独自アプリ作る時の足がかりにはなると思います。

1. XCodeでC++プロジェクトを作成、ここではOpenNICPP1という名前にしました。
→XnCPPWrapper.hを使う、ということなので、素直にC++プロジェクトとして作成しました。

2. XCodeのプロジェクトファイルの情報→ビルド の編集
「検索パス」の「ヘッダ検索パス」に/usr/include/niと/OpenNI/Includeを設定します。再帰的でなくて構いません。(/OpenNI/Includeにはダウンロードした時のIncludeフォルダが該当します。)

3. 「ライブラリ検索パス」 に「/OpenNI/Lib」を設定する

4. フレームワークに「GLUT.framework」「OpenGL.framework」、「libOpenNI.dylib」を設定する。libOpenNI.dylibは当然として、GLUTやOpenGLは描画に使っています。

この後は、main.cppの内容をNiSimpleViewer.cppの内容と置き換えて、ビルド。

ひとまずはこれでビルドできたのでこれからちゃんと勉強します。
荒削りな情報で申し訳ございませんが、まだまだMacでOpenNIやっている情報が少なかったので書かせていただきました。

もし何かあればお気軽にご質問下さいね。