Сглаживайте путь к транспортному средству с помощью кубической сплайн интерполяции
[
генерирует гладкий путь транспортного средства, состоящий из poses
,directions
] = smoothPathSpline(refPoses
,refDirections
,numSmoothPoses
)numSmoothPoses
дискретизированные положения, путем подгонки входа ссылки положения пути к кубическому сплайну. Учитывая вход ссылки направления пути, smoothPathSpline
также возвращает направления, которые соответствуют каждому положению.
Используйте эту функцию для преобразования C1- непрерывный путь к транспортному средству С2- непрерывный путь. C1- непрерывные пути включают в себя driving.DubinsPathSegment
или driving.ReedsSheppPathSegment
пути, которые можно планировать с помощью pathPlannerRRT
объект. Для получения дополнительной информации об этих типах путей см. C1-Continuous и C2-Continuous пути.
Можно использовать возвращенные положения и направления с контроллером транспортного средства, таким как lateralControllerStanley
функция.
[
задает минимальный порог разделения между положениями. Если расстояние между двумя положениями меньше poses
,directions
] = smoothPathSpline(refPoses
,refDirections
,numSmoothPoses
,minSeparation
)minSeparation
функция использует только одно из положений для интерполяции.
[___,
также возвращает совокупную длину пути и искривление пути со знаком в каждом возвращенном положении, используя любой из предыдущих синтаксисов. Используйте эти значения, чтобы сгенерировать профиль скорости вдоль пути. cumLengths
,curvatures
] = smoothPathSpline(___)
Чтобы проверить, является ли сглаженный путь свободным от столкновения, задайте сглаженные положения как вход в checkPathValidity
функция.
Алгоритм сглаживания пути интерполирует параметрический кубический сплайн, который проходит через все входные опорные точки положения. Параметром сплайна является совокупная длина хорды в этих точках. [1]
Направление тангенса сглаженного выходного пути приблизительно совпадает с углом ориентации транспортного средства в начальном и целевом положениях.
[1] Floater, Michael S. «On the Deviation of a Parametric Cubic Spline Interpolant from Its Data Polygon». Автоматизированный геометрический проект. Том 25, № 3, 2008, стр. 148-156.
[2] Лепетич, Марко, Грегор Кланкар, Игорь Скрянц, Драго Матко, и Бостьян Потокник. «Оптимальное по времени планирование пути с учетом пределов ускорения». Робототехника и автономные системы. Том 45, номера 3-4, 2003, стр. 199-210.