Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Pure Pursuit

線形速度と角速度の制御コマンド

  • ライブラリ:
  • Robotics System Toolbox / Mobile Robot Algorithms

    Navigation Toolbox / Control Algorithms

  • Pure Pursuit block

説明

Pure Pursuit ブロックは、一連のウェイポイントおよび差動駆動型車両の現在の姿勢を使用して、パス追従のための線形速度と角速度のコマンドを計算します。このブロックは、更新された姿勢を使い、目的とする一連のウェイポイントに沿ったパスに車両が従うよう速度コマンドを更新します。[最大角速度] パラメーターと [目的の線形速度] パラメーターを使用して、車両のパフォーマンスに基づいて速度を更新します。

[前方注視距離] パラメーターは、車両における瞬時の局所的目標である、パス上の前方注視点を計算します。角速度コマンドはこの点に基づいて計算されます。[前方注視距離] を変更すると、アルゴリズムのパフォーマンスに大きく影響します。前方注視距離を大きくすると、車両の軌跡は滑らかになりますが、車両がパスに沿って近道をする可能性があります。前方注視距離が小さすぎると、パスを追跡する際に振動が発生し、動作が不安定になる可能性があります。単純追跡アルゴリズムの詳細については、単純追跡コントローラーを参照してください。

端子

入力

すべて展開する

現在の車両の姿勢。x-y 位置と向きの角度 theta に対応する [x y theta] ベクトルとして指定します。正の角度は、正の x 軸から反時計回りに測定されます。

ウェイポイント。[x y] ペアを n 行 2 列の配列として指定します。n はウェイポイントの数です。ウェイポイントを生成するには、mobileRobotPRM (Robotics System Toolbox) のようなパス プランナーを使用するか、Simulink® で配列として指定します。

出力

すべて展開する

線形速度。スカラー (メートル/秒単位) として指定します。

データ型: double

角速度。スカラー (ラジアン/秒単位) として指定します。

データ型: double

車両のターゲットの方向。ラジアン単位のスカラーとして指定します。車両の前進方向は 0 ラジアンと見なされ、正の角度は反時計回りに測定されます。この出力は、Vector Field Histogram ブロックの [TargetDir] 端子への入力として使用できます。

依存関係

この端子を有効にするには、[TargetDir 出力端子の表示] パラメーターを選択します。

パラメーター

すべて展開する

目的の線形速度。メートル/秒単位のスカラーとして指定します。コントローラーは、車両が定数線形速度で走行し、計算された角速度は線形速度に依存しないと仮定します。

最大角速度。ラジアン/秒単位のスカラーとして指定します。コントローラーは、指定された値で絶対角速度出力を飽和します。

前方注視距離。スカラー (メートル単位) として指定します。前方注視距離によって、コントローラーの応答が変わります。前方注視距離の大きい車両は滑らかなパスを形成しますが、コーナーでの曲がりが大きくなります。前方注視距離の小さい車両はパスに厳密に追従して急旋回しますが、パスに沿って振動します。前方注視距離の効果の詳細については、単純追跡コントローラーを参照してください。

[TargetDir] 出力端子を有効にするには、このパラメーターを選択します。この端子は、前進方向からの角度 (ラジアン単位、正の角度を反時計回りに測定) として、ターゲットの方向を指定します。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入