Main Content

モバイル ロボットの運動学的方程式

一輪、二輪、差動駆動、アッカーマンのモデルを含む、モバイル ロボットの運動学的方程式の詳細を学習します。このトピックは、それぞれの運動モデルの変数と固有の方程式をカバーしています [1]。これらのモデルを使用してさまざまなモバイル ロボットをシミュレートする例については、モバイル ロボットのさまざまな運動学モデルのシミュレーションを参照してください。

変数の概要

ロボットの状態は 3 要素ベクトル [x y θ] として表されます。

与えられたロボットの状態について次のようになります。

  • x:グローバルなビークルの x 位置 (メートル)

  • y:グローバルなビークルの y 位置 (メートル)

  • θ:グローバルなビークルの向き (ラジアン)

アッカーマンの運動学の場合、状態にさらにステアリング角度が含まれます。

  • ψ:ビークルのステアリング角度 (ラジアン)

一輪、二輪、および差動駆動のモデルでは、一般化された制御入力が共有され、次が受け入れられます。

  • v:ビークルの速度 (メートル/秒)

  • ω:ビークルの角速度 (ラジアン/秒)

運動学的方程式で表される他の変数は次のとおりです。

  • r:車輪半径 (メートル)

  • ϕ˙:車輪回転数 (ラジアン/秒)

  • d:トラック幅 (メートル)

  • l:ホイール ベース (メートル)

  • ψ:ビークルのステアリング角度 (ラジアン)

一輪の運動学

一輪の運動学的方程式では、中心軸の周りをピボットする単一の回転する車輪をunicycleKinematicsオブジェクトを使用してモデル化します。

一輪モデルの状態は [x y θ] です。

変数

  • x:グローバルなビークルの x 位置 (メートル)

  • y:グローバルなビークルの y 位置 (メートル)

  • θ:グローバルなビークルの向き (ラジアン)

  • ϕ˙:車輪速度 (メートル/秒)

  • r:車輪半径 (メートル)

  • v:ビークルの速度 (メートル/秒)

  • ω:ビークルの向首角速度 (ラジアン/秒)

運動学的方程式

名前と値の引数 VehicleInputs に応じて、車輪速度のみを入力するか、ビークルの速度と向首角速度を入力できます。この入力の変化は方程式に影響します。

車輪速度の方程式

[x˙y˙θ˙]=[rcos(θ)0rsin(θ)001][ϕ˙ω]Unicycle Equation of Motion

ビークルの速度と向首角速度の方程式 (一般化)

一般化された入力が速度 v=rϕ˙ およびビークルの向首角速度 ω として与えられる場合、方程式は次のように単純化されます。

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

二輪の運動学

二輪の運動学的方程式では、フロント ステアリング角度を制御入力として受け入れる乗用車型ビークルをbicycleKinematicsオブジェクトを使用してモデル化します。

二輪モデルの状態は [x y θ] です。

変数

  • x:グローバルなビークルの x 位置 (メートル)

  • y:グローバルなビークルの y 位置 (メートル)

  • θ:グローバルなビークルの向き (ラジアン)

  • l:ホイール ベース (メートル)

  • ψ:ビークルのステアリング角度 (ラジアン)

  • v:ビークルの速度 (メートル/秒)

  • ω:ビークルの向首角速度 (ラジアン/秒)

運動学的方程式

名前と値の引数 VehicleInputs に応じて、ビークルの速度をステアリング角度または向首角速度のいずれかとして入力できます。この入力の変化は方程式に影響します。

ステアリング角度の方程式

[x˙y˙θ˙]=[cos(θ)0sin(θ)0tan(ψ)l1][vω]

ビークルの速度と向首角速度の方程式 (一般化)

この一般化された形式では、向首角速度 ω をステアリング角度 ψω=vltanψ の関係で関連付けることができます。この場合、ODE は次のように単純化されます。

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

差動駆動の運動学

差動駆動の運動学的方程式では、左右の車輪が独立して回転できるビークルをdifferentialDriveKinematicsオブジェクトを使用してモデル化します。

差動駆動モデルの状態は [x y θ] です。

変数

  • x:グローバルなビークルの x 位置 (メートル)

  • y:グローバルなビークルの y 位置 (メートル)

  • θ:グローバルなビークルの向き (ラジアン)

  • ϕ˙L:左車輪の速度 (メートル/秒)

  • ϕ˙R:右車輪の速度 (メートル/秒)

  • r:車輪半径 (メートル)

  • d:トラック幅 (メートル)

  • v:ビークルの速度 (メートル/秒)

  • ω:ビークルの向首角速度 (ラジアン/秒)

運動学的方程式

名前と値の引数 VehicleInputs に応じて、車輪速度をステアリング角度または向首角速度のいずれかとして入力できます。この入力の変化は方程式に影響します。

車輪速度の方程式

[x˙y˙θ˙]=[r2cos(θ)r2cos(θ)r2sin(θ)r2sin(θ)-r/dr/d][ϕ˙Lϕ˙R]Differential-Drive Equation of Motion

ビークルの速度と向首角速度の方程式 (一般化)

一般化された形式では、入力が速度 v=r2(ϕ˙R+ϕ˙L) およびビークルの向首角速度 ω=rd(ϕ˙R-ϕ˙L) として与えられます。ODE は次のように単純化されます。

[x˙y˙θ˙]=[cos(θ)0sin(θ)001][vω]Unicycle Equation of Motion

アッカーマンの運動学

アッカーマンの運動学的方程式では、アッカーマン ステアリング機構をもつ乗用車型ビークル モデルをackermannKinematicsオブジェクトを使用してモデル化します。この方程式では、タイヤが同心円を追従するようにトラック幅に基づいて車軸タイヤの位置を調整します。これは、数学的には、入力がステアリングの向首角速度 ψ˙ でなければならず、一般化された形式はないことを意味します。

アッカーマン モデルの状態は [x y θψ] です。

変数

  • x:グローバルなビークルの x 位置 (メートル)

  • y:グローバルなビークルの y 位置 (メートル)

  • θ:グローバルなビークルの向き (ラジアン)

  • ψ:ビークルのステアリング角度 (ラジアン)

  • l:ホイール ベース (メートル)

  • v:ビークルの速度 (メートル/秒)

運動学的方程式

アッカーマン運動学モデルでは、ODE は次のようになります。

[x˙y˙θ˙ψ˙]=[cos(θ)0sin(θ)0tan(ψ)/l001][vψ˙]

参考文献

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

これらのモデルを使用してさまざまなモバイル ロボットをシミュレートする例については、モバイル ロボットのさまざまな運動学モデルのシミュレーションを参照してください。