せっかく入手したジェスチャー入力コントローラ「Kinect for Xbox360」。本来の目的を忘れてまだ遊びたいが,分解せねばならない。技術者の協力を仰ぎながら,分解を試みた。
と,その前に,Kinectの仕組みを簡単におさらいしたい。Kinectは端末を持たずに,体の動きや音声だけでゲームを操作できる。例えばレーシング・カー・ゲームでは,両手でハンドルを動かす動作や体を傾けることで,ゲーム内の自動車を操作できる。ゲームだけではなく,各種コンテンツの選択や,動画/音楽コンテンツの操作にも利用可能だ。例えば,「Xbox,Play」としゃべると一時停止していたコンテンツを再生する。
こうした操作を可能にするのが,「3D深度センサ」と呼ぶ距離画像センサ,RGBカメラ(可視光センサ),マイク4個で構成する「アレイ・マイク」の組み合わせである(図1)。これらのセンサなどを用いることで人間の関節部分の動きなどを測定し,ユーザーの動作を検知する。
Kinectの技術の中核は距離画像センサ。同センサは,イスラエルPrimeSense Ltd.が提供するセンサ技術の参照デザインをベースにしている( PrimeSenseのサイト)。
この技術では,近赤外光を照射し,その反射光をCMOSセンサで検知し,演算処理することで対象物との距離を計測する。専用のSoCで,その制御や演算処理などを行う。
Microsoft社は,Kinectにおける距離画像センサの方式や,性能などの詳細を明らかにしていない。そこで,PrimeSense社の参照デザインなどから,ある程度推察してみた。
Kinectの距離画像センサは,既知のレーザ光パターンを画角内に照射し,そのパターンの幾何学的な歪み具合から,対象物までの距離や構造などを検知している模様だ(関連NEブログ)。
PrimeSense社の参照デザイン「1.08」では,距離が2m離れている場合,平面方向(x軸y軸)で3mm,奥行き方向(z軸)で1cmの分解能が得られる。遅延時間は平均40msとしている。
さて,簡単なおさらいはここまで。さっそくKinectを支える台座部分の分解から始めようと,ひっくり返すと,クラス1のレーザの搭載を示すシールがある(図2)。赤外光源にレーザを利用している証拠だ。
まず,台座の滑り止めシールをはがし,ねじをまわして台座部分の筐体の片側を取ると,金属板が目に飛び込んできた(図3)。「ねじが多いな」。金属板を見たある技術者はこうつぶやいた。確かに複数のねじのほか,とめ具とみられる部品がみられる。
次にねじを回して外し,金属板を移動させる。これで,台座部分の内部が見える。ここには,センサ搭載部を上下に動かす(チルト)モーターがあった(図4)。トルクをかせぐためのギア類も搭載されている。
続いて,この台座部を取り外し,各種センサを搭載したKinect本体部の分解に取り掛かろうとする。が,なかなか台座部が取れない。どうやら本体部を分解した後の方が,容易に台座を取り外すことができるようだ。
そこで,本体部の分解に取り掛かることにした。
(続く)