PAGE TOP

 OpenRTC-aist »

   
Home Task Navi HRI REST_API
移動知能モジュールパッケージ (OpenNavigation) >> MotorControl(移動台車制御RTC)

MotorControl(移動台車制御RTC)

概要

本コンポーネントは、OpenHRP3の速度指令から左右車輪の目標角速度を計算し、PD制御により左右車輪への出力を求めます。
当コンポーネントはOpenHRP3内での差動駆動型移動台車ロボットを走行させるために両輪のトルク値を算出するためのものであり、シミュレーション時のみの使用を想定しており、ロボット実機を走行させるためのコンポーネントではありません。
ロボット中心(差動駆動型移動台車ロボットの駆動輪を結ぶ車軸の中心と定義)の並進速度と旋回速度を入力し、内部で左右車輪(駆動輪)の目標回転角度と目標角速度を出力します。 また、内部で保持・算出している現在の車輪回転角度と角速度も用いて、PD制御にて両輪のモータトルク値を算出します。
二つのサービスポートから走行/停止などの指令、PD制御ゲインパラメータの動的変更指令と、Bump障害物検知指令を取得します。
本コンポーネントは、移動知能モジュール群に含まれます。

動作確認OS

  • Linux Ubuntu10.04 LTS
  • Windows 7

依存ライブラリ

  • OpenRTM-aist : OpenRTM-aist-1.0.0-RELEASE(C++)
  • OpenHRP3 : OpenHRP バージョン3-3.1.1
または、
  • OpenRTM-aist : OpenRTM-aist-1.1.0-RELEASE(C++)
  • OpenHRP3 : OpenHRP バージョン3-3.1.3

データポート

18%15%15%52%
名前フローポートデータ型説明
TargetVelocityInPortIIS::TimedVelocity並進と旋回の目標速度[m/s]
InCurrentWheelAngleInPortTimedDoubleSeq車輪回転速度[rad]
InSimulatedPositionInPortTimedDoubleSeqシミュレーション位置姿勢
OutSimulatedPositionToInventGUIOutPortTimedDoubleSeqシミュレーション位置姿勢
TorqueOutPortTimedDoubleSeq車輪回転速度[rad]
OutCurrentWheelAngleOutPortTimedDoubleSeqシミュレーション位置姿勢
OutSimulatedPositionToLocalizationOutPortTimedDoubleSeqシミュレーション位置姿勢
InventGUIPorvServicePort走行/停止などの指令と、PD制御ゲインパラメータの動的変更指令などを取得する(未使用)
BumpProvServicePortBump障害物検知指令を取得する(未使用)

コンフィギュレーション

18%15%15%15%37%
名前データ型デフォルト値設定範囲説明
PGainLdouble2.00.0以上左車輪モータのPゲイン
PGainRdouble2.00.0以上右車輪モータのPゲイン
DGainLdouble5.00.0以上左車輪モータのDゲイン
DGainRdouble5.00.0以上右車輪モータのDゲイン
SimulatedOffsetXdouble0.0固有値初期化時シミュレーション原点位置オフセット(△X[m])[※1]
SimulatedOffsetYdouble0.0固有値初期化時シミュレーション原点位置オフセット(△Y[m])[※1]
SimulatedOffsetAngledouble0.0固有値初期化時シミュレーション原点姿勢オフセット(△θ[rad])[※2]
leftWheelIDint0固有値左駆動輪のID番号
rightWheelIDint1固有値右駆動輪のID番号
radiusOfLeftWheeldouble0.1固有値初期化時 左駆動輪の車輪半径
radiusOfRightWheeldouble0.1固有値初期化時 右駆動輪の車輪半径
lengthOfAxledouble0.441固有値初期化時 左右駆動輪間の長さ
radiusOfBodyAreadouble0.45固有値初期化時ロボット車体全体を円で囲んだ場合の半径。安全を考慮したエリア定義用
※1 「シミュレーション位置オフセット」値
モデルの原点が「差動駆動型移動台車ロボットの駆動輪を結ぶ車軸の中心」と一致していない場合に、X,Y方向のズレを調整するためパラメータです。
※2 「シミュレーション姿勢オフセット」値
モデルをどの軸の正方向を姿勢角度が0度となるように定義しているかにより、OpenHRP3から取得する姿勢角度とオドメトリの姿勢角度でズレが生じます。例えば、X軸正方向を0度となるように定義してあれば問題無いが、Y軸正方向を0度となるように定義されていれば、オドメトリの姿勢角度と90度のズレが生じます。このずれの角度をオフセット値とし、補正を行うパラメータです。