MyEnigma

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

Rear wheel position feedbackによる経路追従とPythonサンプルコード

目次

はじめに

先日、

Pure pursuitアルゴリズムによる、

経路追従アルゴリズムを紹介しましたが、

myenigma.hatenablog.com

このアルゴリズムは、下記のような問題があります。

  • コース曲率を考慮してない

  • 車両の現在の速度を考慮していない。

そのためパラメータのチューニングが難しかったり、

複雑なコースで、制御が不安定になるという問題があります。

 

今回は、Pure pursuitアルゴリズムの問題を解決することができる、

Rear wheel position feedbackというアルゴリズムを紹介し、

そのPythonシミュレーションコードを紹介したいと思います。

 

Rear wheel position feedbackによる経路追従

Rear wheel position feedbackによる経路追従アルゴリズムは、

下記の写真のように、後輪中心と参照パスとの距離eと、

車両角度とコース方位の差θeを小さくするように、

ステアリングを制御する手法です。

 

下記の式は、上記の条件を元にした

旋回速度の制御式です。

上記の目標旋回速度になるように、

ステアリングや差動車輪を制御すれば、

参照経路に追従することができます。

また、このアルゴリズムは

リアプノフ漸近安定が保障されています。

 

詳細は下記の資料を参照下さい。

 

Pythonシミュレーションコード

下記のGithubリポジトリ上にて、

Rear wheel position feedbackによる

Pythonシミュレーションコードを公開しています。

github.com

 

上記のコードでは、

車両モデルとしては、Kinematic bicycle Modelを使用し、

myenigma.hatenablog.com

参照コース生成にはCubic Splineコースを、

myenigma.hatenablog.com

速度制御には、シンプルなP制御を利用しています。

 

上記のコードを実行すると、

下記の動画のように、

参照コースをトラッキングするシミュレーションが実行されます。

https://github.com/AtsushiSakai/PythonRoboticsGifs/blob/master/PathTracking/rear_wheel_feedback/animation.gif?raw=true

  

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

MyEnigma Supporters

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

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

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

myenigma.hatenablog.com