MyEnigma

とある自律移動システムエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ロボティクスのための車両ダイナミクスの基礎

目次

 

はじめに

ロボットの中には、二足歩行ロボットや、

ドローンなど色々な移動システムを持ったロボットが

沢山存在していますが、

その中でも最も一般的なものは

車輪を移動システムとした車両型ロボットでしょう。

  

多くのロボットは自動車と同じ機構をしており、

駆動輪を回して前に進み、

ステアリングで曲がる機能を持っています。

 

そのようなロボットを精密に制御するためには、

いわゆるビークルダイナミクスという

車両の運動学の知識が必要となります。

Vehicle dynamics - Wikipedia, the free encyclopedia

 

今回は、車両ロボットを制御しなくてはならなくなった、

ロボット屋さん向けに、車両の運動学の

基礎的な内容について説明したいと思います。

 

車両の座標系

f:id:meison_amsl:20150607104322p:plain

まず初めに座標系ですが、

車両の進行方向をX、横方向をYとします。

回転方向は、各座標軸の反時計回りの方向を正とします。

 

ステアリングの運動モデルと運動性能

こちらを参照ください

myenigma.hatenablog.com

 

車両ダイナミクスの模式図

一般的に車両ダイナミクスを考えるときには、

下記のような2次元平面の力学や運動学を考えます。

f:id:meison_amsl:20150806215543j:plain

ここから先は、この図を元に

車両ダイナミクスの基礎的な部分を説明していきます。

 

横加速度とスリップ角β(Side-slip)の関係

車両のスリップ角βが小さい場合、

横加速度との関係は下記の式で計算されます。

(冒頭の参考資料のP52参照)

ここで、

V:速度[m/s]、ay: 横加速度[m/ss]、

β: スリップ角, r: 旋回速度[rad/s]

です。

この式により、スリップ角の変化量(βドット)を計算できるので、

それを積分することにより、その時々のスリップ角を推定することができます。

これをスリップ角の直接積分法といいます。

しかし、この手法は積分を使っているので

スリップ角の累積誤差が

どんどん溜まっていってしまうという問題があります。

 

車両の横方向の運動方程式

車両の各タイヤにかかるコーナリングフォースをそれぞれ、

Fyfr, Fyfl, Fyrr, Fyrlとすると、

先ほどの横加速度とスリップ角の式と運動方程式より、

下記の式を得ることができます。

ここでmは車体の質量です。

この横方向の運動方程式は、車両ダイナミクスを考える上で基本的な式になります。

回転方向の運動方程式

先ほどの横方向の運動方程式と同様に、

重心周りの回転の運動方程式は下記のようになります。

ここで、Iはヨー方向の慣性モーメント、

a、bは上記図のように、車両重心から前輪、後輪までの距離です。

 

4輪モデルにおける各タイヤのスリップ角

先ほどの図のように、

車両にはヨー方向の力が加わることと、

車体重心から前後輪までの距離が異なること、

そして、前進はステアリングにより舵角がつくことから、

4輪のタイヤはそれぞれ個別の滑り角が発生します。

各車輪のスリップ角は下記の通りです。

  • 右前輪

  • 左前輪

  • 右後輪

  • 左後輪

ここで、

tw: 左右輪の距離(トレッド) [m]

δ: ステアリング舵角[rad]

です。

二輪モデル(Bicycle Model)におけるスリップ角

前述のように、

4輪ステアリング駆動の車両は、

それぞれの車輪に対して個別のすべり角が発生しますが、

そのようなモデルだと解析が難しいので、

左右の車輪のすべり角を同一だと考えることが多いです。

このモデルをBicycle Model(二輪モデル)と呼びます。

 

f:id:meison_amsl:20150606112414p:plain

Bicycle Modelは、上図のように

4輪の左右輪のすべり角と速度を同一であると考える事で、

擬似的な二輪モデルとして解析する方法です。

 

先ほどの角タイヤの滑り角の式において、

分母のヨーイング運動の項を下記のように無視できると近似します。

 

すると、前輪と後輪のスリップ角βfとβrは下記のように近似することができます。

 

Bicycle Modelにおける運動方程式

上記のようにBicycle Modelを使って、スリップ角が左右で同じだと仮定すると、

左右のタイヤ特性も差が無いといえます。

よって、左右輪にかかる横方向のタイヤ力も同じだと考えることができるので、

先ほどの4輪の運動方程式は下記のように簡素化することができます。

 

より詳しい車両モデルの説明

下記を参照下さい。

myenigma.hatenablog.com

 

Bicycle Modelによるステアリング制御

Bicycle Modelを使うことにより、

下記の記事のヨーレートと前進速度とステアリング角度の関係の関係である

myenigma.hatenablog.com

この式と組み合わせることで、

前後輪のスリップ角を考慮した式に拡張することができます。

 

まず、ステアリング角が小さい(約20度以下)とすると、

sinθ=θと線形近似できるので、このステアリング角度を

前後輪のスリップ角で補正すると、

という式を作ることができます。

 

この式を使うことで、あるコースをロボットで走行させたい時に、

スリップ角と考慮した上でどのようにステアリングを切れば良いかを解析的に求めることができます。

あるコースにおけるコース曲率をκとすると、

下記の記事のように

myenigma.hatenablog.com

という式が得られるため、先ほどの式に代入して、

左辺をステアリング角度になるように整理すると、

という式を求めることができ、

前後輪のスリップ角がIMUなどで認識可能で、

その時の目標コースの曲率がわかっていれば、

目標ステアリング角度を計算することができ、

車両を制御することができます。

   

回転運動を伴う車両速度変化の定式化

車両が旋回運動をしていない場合(r=0の時)、

車両の縦横方向の速度の変化は下記の式のように、

IMUなどで検出された加速度センサの値そのままになります。

 

しかし、車両が旋回をしている場合(r≠0の時)はそうはいきません。

車両が回転することにより、垂直方向の速度成分(vxの場合はvy, vyの場合はvx)

が速度の変化量に影響を与えます。

 

まず初めに、前進方向(x)の速度の変化を考えます。

旋回速度rにより、vyが与えるx方向の速度成分Δvxは、

下記の図より

f:id:meison_amsl:20150807190515p:plain

となります。ここで計算の刻み時間が短く、

旋回速度rによる角度変化が小さいとみなせる場合、

sin(r)=rと近似することができるので、

x方向の速度変化の式は下記のようになります。

 

同様に、y方向の速度変化の式は下記のようになります。

角度の正負の方向により、回転方向の成分がマイナスになる所に注意が必要です。

 

より詳しく車両ダイナミクスを学びたい人は

下記の資料がわかりやすくておすすめです。

自動車の運動と制御 第2版─車両運動力学の理論形成と応用

自動車の運動と制御 第2版─車両運動力学の理論形成と応用

Vehicle Dynamics and Control (Mechanical Engineering Series)

Vehicle Dynamics and Control (Mechanical Engineering Series)

 

参考資料

Tires and Cornering - Wheels Rims Tires for Cars Trucks SUVs RimsDealer.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

https://gumroad.com/l/myenigmasupportersgumroad.com