Сглаживайте путь к транспортному средству с помощью кубической сплайн интерполяции
[ генерирует гладкий путь транспортного средства, состоящий из 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.