このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
smoothPathSpline
3 次スプライン内挿を使用した滑らかな車両パス
構文
説明
[
は、入力参照パスの姿勢を 3 次スプラインに当てはめることで、poses
,directions
] = smoothPathSpline(refPoses
,refDirections
,numSmoothPoses
)numSmoothPoses
個の離散化された姿勢で構成された滑らかな車両パスを生成します。また、smoothPathSpline
は入力参照パスの方向に基づき、各姿勢に対応する方向を返します。
この関数を使用して、C1 連続の車両パスを C2 連続のパスに変換します。C1 連続のパスには、pathPlannerRRT
オブジェクトを使用して計画できる driving.DubinsPathSegment
パスまたは driving.ReedsSheppPathSegment
パスが含まれます。これらのパス タイプの詳細については、C1 連続のパスおよび C2 連続のパスを参照してください。
返された姿勢と方向を関数 lateralControllerStanley
などの車両コントローラーで使用できます。
[
は、姿勢間の最小間隔のしきい値を指定します。2 つの姿勢間の距離が poses
,directions
] = smoothPathSpline(refPoses
,refDirections
,numSmoothPoses
,minSeparation
)minSeparation
より小さい場合、この関数はいずれか 1 つの姿勢のみを内挿に使用します。
また、[___,
は、前述のいずれかの構文を使用して、返される各姿勢における累積パス長および符号付きのパスの曲率を返します。これらの値を使用して、パスに沿った速度プロファイルを生成します。 cumLengths
,curvatures
] = smoothPathSpline(___)
例
入力引数
出力引数
詳細
ヒント
滑らかなパスに衝突がないことを確認するには、滑らかな姿勢を関数
checkPathValidity
への入力として指定します。
アルゴリズム
パス平滑化のアルゴリズムは、すべての入力参照姿勢点を通過するパラメトリック 3 次スプラインを内挿します。スプラインのパラメーターは、これらの点における累積コード長です。[1]
平滑化された出力パスの接線方向は、開始姿勢とゴール姿勢における車両の方向角度とほぼ一致します。
参照
[1] Floater, Michael S. "On the Deviation of a Parametric Cubic Spline Interpolant from Its Data Polygon." Computer Aided Geometric Design. Vol. 25, Number 3, 2008, pp. 148–156.
[2] Lepetic, Marko, Gregor Klancar, Igor Skrjanc, Drago Matko, and Bostjan Potocnik. "Time Optimal Path Planning Considering Acceleration Limits." Robotics and Autonomous Systems. Vol. 45, Numbers 3–4, 2003, pp. 199–210.
拡張機能
バージョン履歴
R2019a で導入