lateralControllerStanley
Stanley の手法を使用した、パス追従のためのステアリング角度コマンドの計算
構文
説明
は、車両の現在の速度と方向が与えられたときに、車両の現在の姿勢が参照姿勢に一致するように調整するステアリング角度コマンドを度単位で計算します。既定では、この関数は車両が前進運動していると想定します。steerCmd
= lateralControllerStanley(refPose
,currPose
,currVelocity
)
コントローラーは、Stanley の手法[1]を使用してステアリング角度コマンドを計算します。この制御則は、運動学的二輪モデルに基づきます。このコントローラーを、慣性の影響が最小の低速環境におけるパス追従用に使用します。
は、1 つ以上の名前と値のペアを使用してオプションを指定します。たとえば、steerCmd
= lateralControllerStanley(refPose
,currPose
,currVelocity
,Name,Value
)lateralControllerStanley(refPose,currPose,currVelocity,'Direction',-1)
は、後退運動している車両のステアリング角度コマンドを計算します。
例
入力引数
出力引数
アルゴリズム
ステアリング角度コマンドを計算するために、コントローラーは参照姿勢を基準とする現在の姿勢の位置誤差と角度誤差を最小にします。車両の走行方向によってこれらの誤差の値が決まります。
車両が前進運動している場合 ('Direction'
の名前と値のペアが 1
の場合) は次のとおりです。
"位置誤差" は、車両の前車軸の中心からパス上の基準点までの横方向の距離です。
"角度誤差" は、参照パスを基準とした前輪の角度です。
車両が後退運動している場合 ('Direction'
の名前と値のペアが -1
の場合) は次のとおりです。
"位置誤差" は、車両の後車軸の中心からパス上の基準点までの横方向の距離です。
"角度誤差" は、参照パスを基準とした後輪の角度です。
コントローラーがこれらの誤差を最小にする方法の詳細については、[1]を参照してください。
参照
[1] Hoffmann, Gabriel M., Claire J. Tomlin, Michael Montemerlo, and Sebastian Thrun. "Autonomous Automobile Trajectory Tracking for Off-Road Driving: Controller Design, Experimental Validation and Racing." American Control Conference. 2007, pp. 2296–2301. doi:10.1109/ACC.2007.4282788
拡張機能
バージョン履歴
R2018b で導入