ロボットカーのモデリング
東北大のやり方”車輪移動ロボット”でロボットカーのモデリングを試したいと思います。
(1) ロボットカーの運動モデル
(1.1) 速度と角速度の計算
ロボットカー後軸中心位置Pをロボットの位置とし、位置Pの移動速度がロボットカーの移動速度となります。左右輪回転速ととして、位置Pの移動速度は式①になります。
...........①
また、ロボットカー幅をとして、左輪を固定し、右輪がの速度で回転する場合、ロボットカーは左輪を軸に角速度で回転します。また、右輪を固定して、左輪がの速度で回転する場合、ロボットカーは右輪を軸に角速度で回転します。両輪がそれぞれとで回転する場合、ロボットカーの回転速度は、片方の輪だけが回転する場合の田幸せとなります。
...........②
さらにロボットカーを制御する場合、制御器の出力は両輪を駆動する両モータの角速度とであるため、車輪半径がのとき、モータ角速度と両輪回転速間の関係は式③と式④となります。
...........③
...........④
(1.2) 座標の計算
ロボットカー進行方向とx軸がなす角度をとし、車速をとした場合、ロボットカーの位置は式⑤、⑥、⑦によって表現されます。
...........⑤
...........⑥
...........⑦
(1.3) ロボットカーの運動モデル
式?から式?をまとめるとロボットカーの運動モデルとなります。
(2) ロボットカーの制御
ロボットカーを指定軌跡に沿うように制御しようとすると、その位置と指定軌跡間の差を最小とする必要があります。ロボットカー位置と指定軌跡間の差は、位置と軌跡間距離と、車両進行方向と軌跡方向間角度によって表現されます。
ロボットカーの制御は、、、、を入力とし、それぞれに制御パラメータ、、、を設け、式⑧〜式⑩の制御則で入力を最小化するようにするものです。
...........⑧
...........⑨
...........⑩
式⑧から式⑩を整理すると、ロボットカーのコントローラとなります。
上記コントローラと運動モデルをhttps://github.com/GerryZhang0925/AgvPythonで実装してみました。