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