Odometry(オドメトリRTC)

概要

本コンポーネントは、台車を制御するコンポーネントから、現在の車輪角度などの情報を取り込み、ロボットの自己位置姿勢推定(オドメトリ)値を算出するコンポーネントです。

算出に際して、自己位置姿勢推定モジュールからの現在位置姿勢推定情報と、その後も常に更新された当情報、車輪回転角度を入力し、オドメトリ値の補正等を行います。 最終的に算出した自己位置姿勢推定(オドメトリ)値を自己位置姿勢推定モジュールに出力します。

なお、「差動駆動型移動台車ロボットの駆動輪を結ぶ車軸の中心」をオドメトリ値と定義しています。

本コンポーネントは、移動知能モジュール群に含まれます。

../../_images/odometry.png

動作確認OS

  • Linux Ubuntu10.04 LTS
  • Windows 7

依存ライブラリ

  • OpenRTM-aist : OpenRTM-aist-1.0.0-RELEASE(C++) または OpenRTM-aist-1.1.0-RELEASE(C++)

データポート

名前 フローポート データ型 説明
CurrentWheelAngle InPort TimedDoubleSeq 車輪回転角度(絶対値)、data[0]:左車輪回転角度[rad]、data[1]:右車輪回転角度[rad]
LocalizedPosition InPort IIS::TimedPose2D ローカライズ後の自己位置姿勢、x:X位置[m]、y:Y位置[m]、theta:姿勢角[rad]、id : ID用配列(未使用)、error:エラーコード用配列(未使用)、tm:タイムスタンプ[sec][nsec]
OdometryPosition OutPort IIS::TimedPose2D オドメトリによる自己位置姿勢、x:X位置[m]、y:Y位置[m]、theta:姿勢角[rad]、id : ID用配列(未使用)、error:エラーコード用配列(未使用)、tm:タイムスタンプ[sec][nsec]

コンフィギュレーション

名前 データ型 デフォルト値 設定範囲 説明
leftWheelID int 0 無し 左駆動輪のID番号
rightWheelID int 1 無し 右駆動輪のID番号
radiusOfLeftWheel double 0.1 無し 左駆動輪の車輪半径[m]
radiusOfRightWheel double 0.1 無し 右駆動輪の車輪半径[m]
lengthOfAxle double 0.441 無し 左右駆動輪間の長さ[m]
radiusOfBodyArea double 0.45 無し 車体全体を円で囲んだ場合の半径[m]、安全を考慮したエリア定義用

デフォルト値の他に実機Reference Hardware ver2用のコンフィギュレーションが定義されています。

システム構成例