▼ヘッドマウントディスプレイメモ▼
ヘッドマウントディスプレイ
iWear VR 920
3軸角度センサ付きヘッドマウントディスプレイ。
サイトよりSDKを入手することで、プログラムで角度を取得できるようになる。
自分の顔の向きとロボット(i-SOBOTなど)の頭の向きをシンクロさせることもできる。
開発環境を整える
Visual C++ 2008 Express Edition
マイクロソフトの統合開発環境。無償で利用できる。
サイトからダウンロードしてインストール。
VR920SDK
iWearのSDKのパッケージ。無償で利用できる。
サイトでユーザー登録することにより、メールにダウンロードURLが送られてくる。
ダウンロードしてインストール。
ライブラリパスの設定
- Visual C++を起動。
- メニュー「ツール→オプション」を選択してダイアログを開く。
- ツリー「プロジェクトおよびソリューション→VC++ディレクトリ」を選択。
- 「ディレクトリを表示するプロジェクト」で「インクルードファイル」を選択し、以下のパスを追加。
C:\IWEARSDK\inc
![]()
- 「ディレクトリを表示するプロジェクト」で「ライブラリファイル」を選択し、以下のパスを追加。
C:\IWEARSDK\lib
![]()
はじめてのヘッドマウントディスプレイアプリケーションの作成
ヘッドマウントディスプレイの角度を取得するアプリケーションを作成する。
プロジェクトの作成ライブラリの追加
- メニュー「ファイル→新規作成→プロジェクト」
- ツリー「Visual C++→Win32」の「Win32コンソールアプリケーション」を選択。
- プロジェクト名に「TrackerEx」と入力しOKボタンを押す。
- 完了ボタンを押す。
- ソリューションエクスプローラのプロジェクト名を右クリックし、プロパティを選択。
- ツリー「構成プロパティ→リンカ→入力」を選択。
- 追加の依存ファイルにlibファイルを追加。
iwrstdrv.lib
iweardrv.lib
ソースコードの記述
以下のソースコードを記述。
TrackerEx.cpp #include "stdafx.h" #include <windows.h> #define IWEARDRV_EXPLICIT #include <iweardrv.h> //メイン int _tmain(int argc, _TCHAR* argv[]){ //初期化 HMODULE m_hIwear=LoadLibrary(_T("IWEARDRV.DLL")); if (m_hIwear) { IWROpenTracker =(PIWROPENTRACKER)GetProcAddress(m_hIwear, "IWROpenTracker"); IWRCloseTracker=(PIWRCLOSETRACKER)GetProcAddress(m_hIwear,"IWRCloseTracker"); IWRZeroSet =(PIWRZEROSET)GetProcAddress(m_hIwear, "IWRZeroSet"); IWRGetTracking =(PIWRGETTRACKING)GetProcAddress(m_hIwear, "IWRGetTracking"); } //トラッカーと接続 IWROpenTracker(); int input; printf("input 0:ZeroSet,1:GetTracking,9:Exit\r\n"); while (true) { scanf("%d",&input); //角度を0で初期化 if (input==0) { IWRZeroSet(); } //角度の表示 else if (input==1) { long yaw=0,pitch=0,roll=0; IWRGetTracking(&yaw,&pitch,&roll); printf("yaw=%d,pitch=%d,roll=%d\n",yaw,pitch,roll); } //終了 else if (input==9) { break; } } //トラッカーと切断 IWRCloseTracker(); return 0; }
ビルド・実行
メニュー「デバッグ→デバッグ開始」を選択。
画像がウィンドウで表示され、キーを押すと終了となる。
小型無線カメラ
RC-12
鉄道模型用の小型無線カメラ。
頭にテープで装着。
無線カメラを付けると臨場感抜群。
空中マウス
MX AIR
空中で操作可能なマウス。
Eee PC+ヘッドマウントディスプレイで立ちながらのロボット制御時に、
空中でも使えるマウスはかなり役立つ。
−戻る−