OpenNIでKinectのチルトモーター(首)を動かす

OpenNIの奥深くに眠っている
USBに直接アクセスする関数を用いて、
Kinectの首(チルトモーター)を動かすことに成功したので
とりあえずサンプルを載せておきます。

確認した環境
PC: MacBook Pro
OS: 64bit Windows7 Ultimate
OpenNI: OpeNI Win32 1.4.0.2-dev (unstable build )

//--------------------------------------
#include <XnUSB.h>

enum
{
 VID_MICROSOFT = 0x45e,
 PID_NUI_MOTOR = 0x02b0
};

XN_USB_DEV_HANDLE dev;

int main() {

    int angle = キネクトの首の地面からの角度;
    const XnUSBConnectionString* pastrDevicePaths = NULL;
    XnUInt32 nCount = 0;
    XnUChar empty[1];

    xnUSBInit();
      xnUSBEnumerateDevices(VID_MICROSOFT, PID_NUI_MOTOR,&pastrDevicePaths,&nCount);
        xnUSBOpenDeviceByPath(*pastrDevicePaths, &dev);
          
          xnUSBSendControl
          (
             dev, 
             XN_USB_CONTROL_TYPE_VENDOR, 
             0x31,(XnUInt16)angle * 2, 
             0x0, empty, 0x0, 0
          );

        xnUSBCloseDevice(dev);
      xnUSBFreeDevicesList(pastrDevicePaths);
    xnUSBShutdown();
   
    return 0;
}
//--------------------------------------
広告

akatukisiden について

フリーランスプログラマ 使用言語はC++,C#とそのつなぎのC++/CLI 専門はクライアントアプリ開発
カテゴリー: Kinect, OpenNI タグ: , パーマリンク

OpenNIでKinectのチルトモーター(首)を動かす への1件のフィードバック

  1. Fumi.Iseki より:

    http://exout.net/blog/?p=303 と合わせて Windows でも LEDが操作できるようになりました.
    ありがとうございます (^^

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中