
Motiveソフトウェアで3次元計測したトラッキングデータにネットワーク経由でアクセスするNatNet SDKや、カメラの制御・2DオブジェクトのトラッキングなどMotiveソフトウェアを使用せずに開発するためのCamera SDK、さらにはMotive APIといった開発ツールについて紹介します。
NatNet SDK

Motiveソフトウェアで取得したトラッキングデータ(位置・姿勢データ)をリアルタイムでネットワーク配信するクライアント/サーバ型のSDKです。

参考事例
東京工業大学ではNatNetSDKを活用し、3次元倒立振子の安定化制御を行いました。
SDKの内容
- NatNetライブラリ
C++ネイティブのネットワーク用ライブラリ(ヘッダ・静的ライブラリ(.lib)・動的ライブラリ(.lib / .dll)) - NatNetアセンブリ
.NET用アセンブリ(NatNetML.dll)を.Net対応クライアントへ組み込めます。 - サンプルアプリケーション
コードに素早く組み込むことのできるサンプルプロジェクトと実行可能なファイルが用意されています。 - MatNet interface to MATLAB
マーカー・剛体・スケルトンをライブストリーミングできるように.NET Interfaceとサンプルプログラ(MatNet.m)が用意されています。 MatNetサンプルはMATLABモジュールを必要としないMATLABのコア部から直接動作します。
APIの構造
- NatNetクライアント
NatNetサーバー(Motive)と通信するためのクラス。 - NatNetデータタイプ
NatNetパケットにはカプセル化された構造データが入っています。 - NatNet アセンブリ
.NETコンポーネントから呼び出すことができるマネージド(.NET)のクラスライブラリ。NatNetアセンブリは本来のNatNetライブラリをラップし、.NET互換環境(VB.NET、C#、MatLab等)で使用するためにNatNetClientおよびNatNetデータタイプを提供します。
データタイプ
- マーカーセットデータ
識別されたマーカーとその座標(x,y,z)。 - 剛体データ
ユニークなID、座標、回転角が入ったデータ、またその剛体を定義する際に使用された識別されたマーカーデータ。 - スケルトンデータ
階層構造を持った剛体の集合体。 - フォースプレートデータ
力とモーメントのデータの再ブロードキャスト。 - デバイスデータ
DAQデバイスなどのアナログデバイスからデータを再ブロードキャスト。
Camera SDK

フルカメラコントロール、2Dオブジェクトデータ、カメラ同期、6自由度のベクタートラッキングを含む無料のカメラSDKです。サンプルアプリケーションがSDKインストーラの一部にパッケージングされています。詳しくはこちら。
参考事例
株式会社タクラム・デザイン・エンジニアリングでは、Camera SDKとOptiTrackカメラ一台で自身の影が動き出すエンターテインメントを創りました。
特徴・機能
C++に対応
C++インターフェースで様々なソフトウェア言語やシステムに組み込み可能です。
カメラの制御
Camera SDKは以下のようなカメラ機能、メソッド、コールバック、プロパティにアクセスできます。
- ビデオモード(オブジェクト、セグメント、プレシジョン、ローグレースケール、モーションJPG)
- フレームレート(フレームデシメーション調整)
- 露出(自動露出調整)
- 自動ゲイン調整
- ハードウェアマスク
- イメージサイズウィンドウ調整
- しきい値
- イルミネーション
- フィルタースウィッチャー
- ハイパワーモード(Flex 3/Flex 13のみ)
- LEDステータス調整
オブジェクトデータ
カメラビューでとらえられる最大512個までの2Dオブジェクトはトラッキングあるいはフィルタリングするために以下のような情報として取り出すことが可能です。
- 位置(加重X,Y座標)
- エリア
- 幅・高さ
- 真円率
- レンズの歪みによる影響を除去する機能
6自由度のベクタートラッキング
Camera SDKには基本的なVector Tracking*が含まれ、メーカーが提供するTrackClipという特定のマーカー配列をもつ剛体を使用し、6自由度を取得することができます。
*Vector Trackingは3つのマーカーを使用して1台のカメラで6自由度のトラッキングを行うことができる独自の技術です。
複数カメラの同期
シャッターとフレームの露出を同時に行うことで複数カメラを同期させることができます。各カメラからそれぞれのフレームを取得する代わりに、同期したフレームを取得し、カメラが正しく同期されていることを確認するためにグループを作成します。
ソースコード付きサンプルアプリケーション
サンプルアプリケーションにはソースコードとドキュメントが付属しており、最良の実践モデルとしてお役立ていただけます。サンプルアプリケーションは以下の通りです。
- カメラスタートアップとリスティング
- フレーム同期
- イメージプロセッシング
- MJPEGビューワ
- グレースケールイメージのプロセス
- 6自由度Vector Tracking
Motive API
Motive APIではC / C ++を使用してMotiveの様々な機能にアクセスすることが可能です。
参考事例
アクセスできること
- カメラの制御
- フレームの制御
- 点群の三次元化エンジンの制御
- 三次元化されたマーカーデータの取得と使用
- 剛体のトラッキング
- クエリ結果の提供
- ネットワーク経由でのデータストリーミング
アクセスできないこと
- 詳細なハードウェア制御(カスタマイズされたハードウェアの同期など)
- データ収録・再生
- 外部機器からの制御(フォースプレートやNI-DAQなど)
- スケルトンの機能
要件
- Windowsのみ
- 有効なMotiveのライセンス+USBハードウェアキー
Others
サポートコンテンツ
購入後のお問い合わせ(ユーザーサポート)
ご購入後の技術的なご質問やトラブルシューティングは、下記フォームよりお問い合わせください。
ご利用対象と回答目安について
- 本窓口は「製品導入後30日以内のお客様」または「サポートプログラム加入中のお客様」専用のお問い合わせ窓口です。それ以外のお客様からの質問にはお答えしかねますのでご了承ください。
- 基本的に3営業日以内にご返答させていただきますが、夏季休業・年末年始休業などの際にはご返答が遅れることがあります。
