目次 — 知りたいところから読む

入力を変えて確かめる

実験パネルを開き、実行を押すとPythonを読み込みます。停止と初期値へのリセットができます。結果はこの端末内で計算します。Pythonのインストールは不要です。

下にあるローカル実行の手順は、配布ソースを再現するための任意の手順です。ブラウザ実験には不要です。

実験パネルを別タブで開く

再現用ソースをダウンロード

5つの方式を同時に走らせる

「緩やかな曲線・3 m/s・横偏差1m」を実行してください。PP・APP・RPP・Stanley・MPCが同じ位置から同じ経路を追従し、軌跡と4つの時間グラフ(横偏差・方位誤差・操舵角・速度)が重ねて表示されます。方式は色と線種の両方で区別しています(PP 実線、APP 破線、RPP 点線、Stanley 一点鎖線、MPC 長破線)。

この条件では5方式とも終点を通過します。数値表を見ると、Stanleyは操舵変化率のRMSが最も小さい一方で横偏差のRMSは最も大きく、RPPは曲率に応じて自ら減速するため平均速度が低く、到達も最も遅くなります。どの指標を重視するかで「よい方式」は変わります。

何を共通にしたか

車両はこれまでのLabと共通の後輪軸基準・前進のみの運動学的自転車モデルです。経路、初期位置と方位、ホイールベース、操舵角の上限(と車両側の操舵変化率0.8 rad/sの制限)、目標速度、0.05秒刻み・最大30秒の計算条件、終点通過と経路逸脱の判定を全方式で同じにしています。

指標はすべて共通の計算器が同じ定義で出します。横偏差・方位誤差は後輪軸基準で、RMSはサンプル二乗値の台形時間積分を走行時間で割った平方根です。滑らかさの指標として、操舵変化率のRMSと操舵の総変動(各周期の操舵変化の絶対値の和)を示します。平均速度は走行距離を走行時間で割った値です。

同じ条件にならないもの

各方式は、画面に出している1つのパラメータ(PPの注視距離、APP・RPPの注視時間、Stanleyのゲイン、MPCの予測地平の段数)以外は、それぞれのLabの初期値を使います。初期値そのものが方式間で調整されているわけではないので、結果は「この設定での比較」です。

RPPは曲率と終点までの距離で自ら速度を下げます。そのため到達時間と速度は同じ条件の比較になりません。RPPが減速すると、速度に比例する注視距離も短くなります。MPCだけが予測地平を持ち、計算時間はこのLabでは比べません(MPC Labを参照)。Stanleyは前輪の誤差で操舵しますが、ここでの指標は後輪軸基準です。

条件によって入れ替わる得失

「2 m/s(RPPが失敗する例)」では、RPPだけが「追従を継続できません」で止まります。RPPが減速すると注視距離が下限の0.5 mまで縮み、1 mずれた位置から前方の経路上に注視点を取れなくなるためです。前進だけで復帰する規則しか持たない、このLabの車両モデルでの挙動です。

「4 m/s(PPが失敗する例)」では、固定の注視距離2 mのPPが途中で失敗し、速度に応じて注視距離が伸びるAPPやRPPは完走します。「急カーブ(結果が分かれる)」では、APP・RPP・Stanleyが完走し、PPは失敗、MPCは経路から逸脱します。「急カーブ・操舵上限0.3rad(全手法が失敗)」は、半径5 mの曲線に必要な約0.46 radの操舵角を上限が下回る例で、どの方式も曲がり切れません。制御則を変えても、車両と制約で決まる限界は越えられません。

試す順番

  1. 基準の条件で5つの軌跡と指標を比べ、Aに保存する。
  2. 速度を2 m/sと4 m/sに変え、どの方式が失敗するか、その理由を読む。
  3. 急カーブの2つのプリセットで、方式の違いと車両の限界を区別する。
  4. PPの注視距離、Stanleyのゲイン、MPCの予測地平を1つずつ変え、Aとの差を見る。

完了状態や走行時間が違う結果を、横偏差のRMSだけで順位付けしないでください。未完了の方式の完了時間は「—」です。ブラウザ内で計算し、A/B比較・リセット・共有・JSONダウンロードが使えます。

関連Lab

関連して読む

同じ分野を別の観点から読むPure Pursuit Lab — 固定注視距離で経路追従を比較