SlideShare a Scribd company logo
YATSUHAKA system(仮)
あるしおうね @AmadeusSVX
あなた誰?
ニコニコ技術部(自称)の「あるしおうね」と言います
「初音ミクとデートしてみた」や「ARフィギュア」等、
AR関連で色々作っています
何をしたの?
OculusRift DK2まで我慢できないので、
位置トラッキングシステムを作ってみました!
※由来:YATSUHAKA=八つ墓村です(おっさん向け)
位置トラッキングをどうしたいの?

速い 60fpsに追従したい

簡単 計測デバイスを置くだけでOK

柔軟 計測範囲に応じて1台~多数
何使ったの?

Wiiリモコン
ー内蔵のIRセンサで赤外線輝点を検出
 4点のx,y位置を出力可能

センサーバー×2(Wiiリモコン用)
ー2×2=4点の赤外線輝点をHMD上に作る
どうやったの?
1.WiiリモコンのIRセンサでHMDを撮る
2.4点がなす四角形が歪んで見える
3.四角の大きさと歪んだ形から、位置と回転を計算する
4.都合が悪いときには他のWiiリモコンを使う
で、何が分かったの?

いい所
ー確かに速い
ー計算が軽い
ー気軽に増やせる

悪い所
ー1台の範囲が狭い&遠くの精度も悪い
ー途切れやすい
ーぼっち限定(俺得)
今後どうするの?

勢いで作ったので未定です

DK2が出るまで気が向いたら遊びます

DK2が出てもまだDK1で遊べそう
FAQ 1

歪みから位置と回転って、どう計算するの?
ー歪み具合を表すHomographyという行列から抜き出します。
もしくは同一平面の3D点ー投影2D点の関係式を非線形で解きます

何でトラッキングが飛ぶの?
ー4点のうち一つでも欠けると計算できなくなるからです。Wiiリモコンの限界な 
 ので、2点でやれる様にしたかったのですが、こちらは一度真正面を向いて  
の初期化が必要なので今回4点にしました
※デモでの安定性を鑑みると、2点での計測の方が良いような気がしてきました。ただ、おそらく
こちらはこちらで内蔵ジャイロ/磁気センサのドリフトが問題になりそうです。

ちょっと遅れてますよね?
ーごめんなさい。ばらつきが大きいので、かなり強力にローパスかけてますorz
 現在HMD側のトラッカーは使ってないので、この辺も組み合わせたいですね
※デモ後確認してみたら、無駄に低fpsで動作していたことが判明しました。トラッキング自体は
高レートなため、60fps以上の維持は本来可能です。
FAQ 2

なんで頭傾け過ぎるとおかしくなるの?
ー4点の対応付け(どの点が四角形のどの位置か)を適当に行っているので、
傾けすぎると点の対応が90°ずれておかしくなります。トラッキングが継
続していれば、ずれないように対策することが可能です

重くないの?(物理的に)
ー今回の試作版は重いです…が、IR-LED×4を点灯させればいいだけなの
で、自作すれば軽くなります

もっとデモちゃんと動かないの?
ー準備不足でごめんなさいorz 特に、複数リモコンのハンドオーバーがうまく  
  いっていない場合がありましたが、「初期調整モード」と「動作モード」を分け
る必要があるなど、デモを通じて色々改善点も見つかったので、もうちょっとま
  しにしたいと思います。

More Related Content

What's hot

Summercamp2020 group2
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
openrtm
 
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -
Tomonori Takata
 
ロータリーエンコーダ
ロータリーエンコーダロータリーエンコーダ
ロータリーエンコーダWaneem
 
3dsMaxとAway3Dによるキャラクターアニメーション作成
3dsMaxとAway3Dによるキャラクターアニメーション作成3dsMaxとAway3Dによるキャラクターアニメーション作成
3dsMaxとAway3Dによるキャラクターアニメーション作成Katsushi Suzuki
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
Yuma Ohgami
 
Fuse18 dチーム
Fuse18 dチームFuse18 dチーム
Fuse18 dチーム
Yukinori Manome
 
Summercamp2020 group3
Summercamp2020 group3Summercamp2020 group3
Summercamp2020 group3
openrtm
 
CEDEC2014 SpriteStudio
CEDEC2014 SpriteStudioCEDEC2014 SpriteStudio
CEDEC2014 SpriteStudio
Jin-ichiro Okuda
 
Savonius Windmill by 3D printer with magnet
Savonius Windmill by 3D printer with magnetSavonius Windmill by 3D printer with magnet
Savonius Windmill by 3D printer with magnet
Iorn Doshow
 
建築VRを作る方法 | SketchUp研究会 第4回定例会
建築VRを作る方法 | SketchUp研究会 第4回定例会建築VRを作る方法 | SketchUp研究会 第4回定例会
建築VRを作る方法 | SketchUp研究会 第4回定例会
Tomonori Takata
 
Summer camp2019 group1
Summer camp2019 group1Summer camp2019 group1
Summer camp2019 group1
openrtm
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity Technologies Japan K.K.
 
Summer camp2018 group1
Summer camp2018 group1Summer camp2018 group1
Summer camp2018 group1
openrtm
 
Summercamp2020 group1
Summercamp2020 group1Summercamp2020 group1
Summercamp2020 group1
openrtm
 

What's hot (15)

Summercamp2020 group2
Summercamp2020 group2Summercamp2020 group2
Summercamp2020 group2
 
UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -UnityによるVR開発 - 入力デバイス編 -
UnityによるVR開発 - 入力デバイス編 -
 
ロータリーエンコーダ
ロータリーエンコーダロータリーエンコーダ
ロータリーエンコーダ
 
3dsMaxとAway3Dによるキャラクターアニメーション作成
3dsMaxとAway3Dによるキャラクターアニメーション作成3dsMaxとAway3Dによるキャラクターアニメーション作成
3dsMaxとAway3Dによるキャラクターアニメーション作成
 
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミングシェルスクリプトでセガサターンマシン語ベアメタルプログラミング
シェルスクリプトでセガサターンマシン語ベアメタルプログラミング
 
Fuse18 dチーム
Fuse18 dチームFuse18 dチーム
Fuse18 dチーム
 
Summercamp2020 group3
Summercamp2020 group3Summercamp2020 group3
Summercamp2020 group3
 
CEDEC2014 SpriteStudio
CEDEC2014 SpriteStudioCEDEC2014 SpriteStudio
CEDEC2014 SpriteStudio
 
Savonius Windmill by 3D printer with magnet
Savonius Windmill by 3D printer with magnetSavonius Windmill by 3D printer with magnet
Savonius Windmill by 3D printer with magnet
 
建築VRを作る方法 | SketchUp研究会 第4回定例会
建築VRを作る方法 | SketchUp研究会 第4回定例会建築VRを作る方法 | SketchUp研究会 第4回定例会
建築VRを作る方法 | SketchUp研究会 第4回定例会
 
Summer camp2019 group1
Summer camp2019 group1Summer camp2019 group1
Summer camp2019 group1
 
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
 
Summer camp2018 group1
Summer camp2018 group1Summer camp2018 group1
Summer camp2018 group1
 
Summercamp2020 group1
Summercamp2020 group1Summercamp2020 group1
Summercamp2020 group1
 
Ssaw08 1202
Ssaw08 1202Ssaw08 1202
Ssaw08 1202
 

20140330 yatsuhaka