Main Content

Differential Drive Kinematic Model

差動駆動の運動学モデルを使用したビークルの動きの計算

  • ライブラリ:
  • Robotics System Toolbox / Mobile Robot Algorithms

  • Differential Drive Kinematic Model block

説明

Differential Drive Kinematic Model ブロックは、簡略化されたビークル運動をシミュレートする差動駆動型ビークル モデルを作成します。このモデルは、単一の固定車軸と、指定のトラック幅 Track width 分離れた車輪をもつビークルを近似します。各車輪は速度入力 L/dt および R/dt を左右の車輪それぞれに使用して独立して駆動できます。ビークルの速度と向きは、車軸の中央を基準に定義されます。

Differential drive kinematic model diagram with x, y, theta, velocity, track width, and wheel radius labeled

端子

入力

すべて展開する

ビークルの左車輪の速度。ラジアン/秒単位で指定します。

依存関係

この端子を有効にするには、Vehicle inputs パラメーターを Wheel Speeds に設定します。

ビークルの右車輪の速度。ラジアン/秒単位で指定します。

依存関係

この端子を有効にするには、Vehicle inputs パラメーターを Wheel Speeds に設定します。

ビークルの速度。メートル/秒単位で指定します。

依存関係

この端子を有効にするには、Vehicle inputs パラメーターを Vehicle Speed & Heading Angular Velocity に設定します。

ビークルの角速度。ラジアン/秒単位で指定します。正の値はビークルを左にステアリングし、負の値はビークルを右にステアリングします。

依存関係

この端子を有効にするには、Vehicle inputs パラメーターを Vehicle Speed & Heading Angular Velocity に設定します。

出力

すべて展開する

ビークルの現在の位置および向き。[x y theta] ベクトルとしてメートルおよびラジアン単位で指定します。

ビークルの現在の線形速度および角速度。[xDot yDot thetaDot] ベクトルとしてメートル/秒単位およびラジアン/秒単位で指定します。線形速度および角速度は、state 出力の微分を取得することにより計算されます。

パラメーター

すべて展開する

モデル入力コマンドの形式

  • Wheel Speeds — 2 つの車輪の角速度。ラジアン/秒単位で指定します。

  • Vehicle Speed & Heading Angular Velocity — メートル/秒単位のビークルの速度。ラジアン/秒単位の向首角速度とともに指定します。

ビークルの車輪の半径。メートル単位で指定します。

車輪速度範囲は、ビークルの最小車輪速度と最大車輪速度を指定する 2 要素ベクトル [MinSpeed MaxSpeed] です。ラジアン/秒単位で指定します。

左車輪から右車輪までのトラックの長さ。メートルで指定します。

ビークルの初期の xy 位置と向き θ。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。詳細については、シミュレーション モード (Simulink)を参照してください。

  • コード生成 — 生成される C コードを使用してモデルをシミュレートします。シミュレーションをはじめて実行すると、Simulink® によってブロック用の C コードが生成されます。モデルが変更されない限り、この C コードは後続のシミュレーションで再利用されます。

調整可能: No

参照

[1] Lynch, Kevin M., and Frank C. Park. Modern Robotics: Mechanics, Planning, and Control 1st ed. Cambridge, MA: Cambridge University Press, 2017.

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入