Pure Pursuit
ライブラリ:
Robotics System Toolbox /
Mobile Robot Algorithms
Navigation Toolbox /
Control Algorithms
説明
Pure Pursuit ブロックは、一連のウェイポイントおよび差動駆動型ビークルの現在の姿勢を使用して、パス追従のための線形速度と角速度のコマンドを計算します。このブロックは、更新された姿勢を使い、目的とする一連のウェイポイントに沿ったパスにビークルが従うよう速度コマンドを更新します。[最大角速度] パラメーターと [目的の線形速度] パラメーターを使用して、ビークルのパフォーマンスに基づいて速度を更新します。
前方注視距離端子およびパラメーターは、ビークルにおける瞬時の局所的ゴールである、パス上の前方注視点を計算します。角速度コマンドはこの点に基づいて計算されます。前方注視距離を変更すると、アルゴリズムのパフォーマンスに大きく影響します。前方注視距離を大きくすると、ビークルの軌跡は滑らかになりますが、ビークルがパスに沿って近道をする可能性があります。前方注視距離が小さすぎると、パスを追跡する際に振動が発生し、動作が不安定になる可能性があります。単純追跡アルゴリズムの詳細については、単純追跡コントローラーを参照してください。
端子
入力
Pose — 現在のビークルの姿勢
[x y theta]
ベクトル
現在のビークルの姿勢。x-y 位置と向きの角度 theta に対応する [x y theta]
ベクトルとして指定します。正の角度は、正の x 軸から反時計回りに測定されます。
Waypoints — ウェイポイント
[ ] (既定値) | n 行 2 列の配列
ウェイポイント。[x y]
ペアを n 行 2 列の配列として指定します。n はウェイポイントの数です。ウェイポイントを生成するには、mobileRobotPRM
(Robotics System Toolbox) のようなパス プランナーを使用するか、Simulink® で配列として指定します。
Desired Linear Velocity — 線形速度
スカラー (メートル/秒単位)
目的の線形速度。メートル/秒単位のスカラーとして指定します。コントローラーは、ビークルが定数線形速度で走行し、計算された角速度は線形速度に依存しないと仮定します。
依存関係
この端子を有効にするには、[入力端子から目的の線形速度を指定] パラメーターを選択します。
Lookahead Distance — 前方注視距離
スカラー (メートル/秒単位)
前方注視距離。スカラー (メートル/秒単位) として指定します。前方注視距離によって、コントローラーの応答が変わります。前方注視距離の大きいビークルは滑らかなパスを形成しますが、コーナーでの曲がりが大きくなります。前方注視距離の小さいビークルはパスに厳密に追従して急旋回しますが、パスに沿って振動します。前方注視距離の効果の詳細については、単純追跡コントローラーを参照してください。
依存関係
この端子を有効にするには、[入力端子から前方注視距離を指定] パラメーターを選択します。
出力
Linear Velocity — 線形速度
スカラー (メートル/秒単位)
線形速度。スカラー (メートル/秒単位) として返されます。
データ型: double
Angular Velocity — 角速度
スカラー (ラジアン/秒単位)
角速度。スカラー (ラジアン/秒単位) として返されます。
データ型: double
Target Direction — ビークルのターゲットの方向
スカラー (ラジアン単位)
ビークルのターゲットの方向。スカラー (ラジアン単位) として返されます。ビークルの前進方向は 0 ラジアンと見なされ、正の角度は反時計回りに測定されます。この出力は、Vector Field Histogram ブロックの TargetDir 端子への入力として使用できます。
依存関係
この端子を有効にするには、[Target Direction 出力端子を表示] パラメーターを選択します。
パラメーター
入力端子から目的の線形速度を指定 — 目的の線形速度の入力端子の有効化
off
(既定値) | on
Desired Linear Velocity 入力端子で目的の線形速度の入力を有効にするには、このパラメーターを選択します。
[目的の線形速度 (m/s)] パラメーターを使用して目的の線形速度を指定するには、このパラメーターをクリアします。
目的の線形速度 (m/s) — 線形速度
0.1
(既定値) | スカラー
目的の線形速度。メートル/秒単位のスカラーとして指定します。コントローラーは、ビークルが定数線形速度で走行し、計算された角速度は線形速度に依存しないと仮定します。
依存関係
このパラメーターを有効にするには、[入力端子から目的の線形速度を指定] パラメーターをクリアします。
最大角速度 (rad/s) — 角速度
1.0
(既定値) | スカラー
最大角速度。ラジアン/秒単位のスカラーとして指定します。コントローラーは、指定された値で絶対角速度出力を飽和します。
入力端子から前方注視距離を指定 — 前方注視距離の入力端子の有効化
off
(既定値) | on
Lookahead Distance 入力端子で前方注視距離の入力を有効にするには、このパラメーターを選択します。
[前方注視距離 (m)] パラメーターを使用して目的の線形速度を指定するには、このパラメーターをクリアします。
前方注視距離 (m) — 前方注視距離
1.0
(既定値) | スカラー
前方注視距離。スカラー (メートル単位) として指定します。前方注視距離によって、コントローラーの応答が変わります。前方注視距離の大きいビークルは滑らかなパスを形成しますが、コーナーでの曲がりが大きくなります。前方注視距離の小さいビークルはパスに厳密に追従して急旋回しますが、パスに沿って振動します。前方注視距離の効果の詳細については、単純追跡コントローラーを参照してください。
依存関係
このパラメーターを有効にするには、[入力端子から前方注視距離を指定] パラメーターをクリアします。
Target Direction 出力端子を表示 — ターゲットの方向のインジケーター
off
(既定値) | on
Target Direction 出力端子を有効にするには、このパラメーターを選択します。この端子は、前進方向からの角度 (ラジアン単位、正の角度を反時計回りに測定) として、ターゲットの方向を指定します。
シミュレーション実行方法 — 実行するシミュレーションのタイプ
コード生成
(既定値) | インタープリター型実行
インタープリター型実行
— MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションでは起動時間が短縮されますが、シミュレーション速度は[コード生成]
より遅くなります。このモードでは、ブロックのソース コードをデバッグできます。コード生成
— 生成される C コードを使用してモデルをシミュレートします。シミュレーションをはじめて実行すると、Simulink によってブロック用の C コードが生成されます。モデルが変更されない限り、この C コードは後続のシミュレーションで再利用されます。このオプションでは起動時間が長くなりますが、後続のシミュレーションの速度は[インタープリター型実行]
に匹敵します。
調整可能: No
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
バージョン履歴
R2019b で導入R2024a: 入力端子での線形速度と前方注視距離の指定、出力端子の名前の変更
Pure Pursuit ブロックには 2 つの変更セットがあります。
[入力端子から目的の線形速度を指定] パラメーターを選択することで、Desired Linear Velocity 入力端子で目的の線形速度を指定できるようになりました。
[入力端子から前方注視距離を指定] パラメーターを選択することで、Lookahead Distance 入力端子で目的の線形速度を指定できるようになりました。
出力端子とパラメーターには新しい名前が付けられています。次の表は、R2024a より前の名前と R2024a 以降の名前を示しています。
R2024a より前の名前 R2024a 以降の名前 LinVel 出力端子 Linear Velocity 出力端子 AngVel 出力端子 Angular Velocity 出力端子 TargetDir 出力端子 Target Direction 出力端子 [TargetDir 出力端子の表示] パラメーター [Target Direction 出力端子を表示] パラメーター
参考
ブロック
クラス
トピック
- Simulink での差動駆動型ロボットのパスの計画 (Robotics System Toolbox)
- Path Following with Obstacle Avoidance in Simulink®
- 単純追跡コントローラー
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)