=============================================================================
モーションセンサデータ取得コンポーネント version 1.0 2011/08/25
東京大学　情報理工学系研究科　情報システム工学室　次世代プロジェクト担当
Mail: itngr@jsk.t.u-tokyo.ac.jp
=============================================================================

-----概要-----

株式会社ロジカルプロダクト製の9軸モーションセンサ(IMU)のデータを取得し，
出力するコンポーネントです．

-----コンポーネント動作に必要なハードウェア-----

-- 9軸ワイヤレスモーションセンサ（株式会社ロジカルプロダクト様ご提供）

-----コンポーネントの使い方-----

-- ハードウェア接続
あらかじめコンポーネントを立ち上げるPCにIMUを接続しておきます．
USBポートに接続可能な専用の機器を用います．
有線接続・無線接続どちらでも可能ですが，それに応じてconfファイルを書き換える必要があります．

-- confファイルの設定
以下の説明に従って，必要に応じてNxWMSReaderTest.confの内容を書き換えます．
   NxWMSReader0.ProductID: 1
    IMUの種類を表す番号．通常版は1，低G版は3．
   NxWMSReader0.ModuleID: 1
    IMUの識別番号．デフォルトは1．専用ソフトウェアにより変更可能．
   NxWMSReader0.Frequency: 500
    1秒間における実行ループの回数．
   NxWMSReader0.Comunication: Wired
    IMUの接続方法．Wiredで有線，Wirelessで無線
   NxWMSReader0.axis_x/y/z
    軸方向の入れ替え設定．それぞれx/y/z/-x/-y/-zが設定可能．
   NxWMSReader0.accs_offset.axis_x/y/z
    結果出力並進成分オフセットベクトル．デフォルトはゼロベクトル．
   NxWMSReader0.ConvMat.xx/xy/xz/yx/yy/yz/zx/zy/zz
    結果出力回転成分調節行列．デフォルトは単位行列．
   NxWMSReader0.deviceconfig.devicename: /dev/ttyUSB0
    IMUからのデータを受信するUSBデバイス名

-- コンパイル
../idlでmakeした後，このディレクトリでmakeを行ってください．
以下のようなファイルが生成されます．
1. ./build/bin/NxWMSReaderComp
2. ./build/lib/NxWMSReader.so
3. ./build/bin/NxWMSReaderTest.conf (このディレクトリにあるファイルのコピー)
4. ./build/bin/rtc.conf (上位ディレクトリにあるファイルのコピー)

-- 起動方法
例えば以下のように起動できます．
% cd ./build/bin
% ./NxWMSReaderComp
RTSystemEditorなどでのActivateを行い，動作を実行できます．

-----コンポーネントの入出力-----

-- OutPort

*TimedMotion3DSensorData out_result

センサから得られた加速度・角速度・地磁気の3次元の値を出力します．

TimedMotion3DSensorDataは，

============================================================

  struct ThreeAxisData
  {
    double x;
    double y;
    double z;
  };

  struct Motion3DSensorData
  {
    ThreeAxisData accs;
    ThreeAxisData gyros;
    ThreeAxisData mags;
  };

  typedef sequence<Motion3DSensorData> Motion3DSensorDataList;

  struct TimedMotion3DSensorData
  {
    // Time stamp.
    RTC::Time tm;
    // Sequence of motion sensor data.
    Motion3DSensorDataList motion3dsensors;
  };

============================================================

のように定義されております．

-----ライセンス-----

本ソフトウェアは new BSD License に基づき配布されます．
詳しくは../LICENSE.txtファイルをご覧ください．
