exponenta event banner

Сглаженный сплайн траектории

Сглаживание траектории транспортного средства с помощью интерполяции кубических сплайнов

  • Библиотека:
  • Автоматизированная панель инструментов вождения

  • Path Smoother Spline block

Описание

Блок сглаживания траектории создает гладкую траекторию транспортного средства, состоящую из последовательности дискретизированных позиций, путем подгонки входных опорных точек траектории к кубическому сплайну. Учитывая направления входного опорного пути, блок также возвращает направления, которые соответствуют каждой позе.

Этот блок используется для преобразования контура C1-continuous в контур C2-continuous. C1-continuous пути включают пути Dubins или Reeds-Shepp, возвращаемые планировщиками путей. Дополнительные сведения об этих типах путей см. в разделе Пути C1-Continuous и C2-Continuous.

Возвращенные позы и направления можно использовать с контроллером транспортного средства, таким как блок бокового контроллера Стэнли.

Порты

Вход

развернуть все

Опорные положения транспортного средства вдоль траектории, определяемые в виде M-by-3 матрицы векторов [x, y, Start], где M - число позиций.

x и y указывают местоположение транспортного средства в метрах. Δ определяет угол ориентации транспортного средства в градусах.

Типы данных: single | double

Исходные направления движения транспортного средства вдоль траектории, указанные в виде вектора M-by-1 столбца, равного 1 с (движение вперед) и -1 с (движение назад). M - количество опорных направлений. Каждый элемент RefDirections соответствует позе в порте ввода RefPoses.

Типы данных: single | double

Продукция

развернуть все

Дискретизированные положения сглаженного пути, возвращаемые в виде N-by-3 матрицы векторов [x, y, Start]. N - количество позиций, указанное в параметре Number of output poses.

x и y указывают местоположение транспортного средства в метрах. Δ определяет угол ориентации транспортного средства в градусах.

Значения в позициях имеют тот же тип данных, что и значения во входном порте RefPoses.

Направления движения транспортного средства на каждом выходном позе в позициях, возвращаемые в виде вектора N-by-1 столбца 1 с (движение вперед) и -1 с (движение назад). N - количество позиций, указанное в параметре Number of output poses.

Значения в Directions имеют тот же тип данных, что и значения во входном порте RefDirections.

С помощью команды «Направления» можно указать путь привязки транспортного средства. Для создания профиля опорной скорости для транспортного средства можно также использовать команды Направления (Directions), а также значения Длины (CumLengts) и Кривизны (Curvatures). См. пример блока Velocity Profiler и автоматической парковки в Simulink.

Кумулятивные длины путей на каждом выходном позе в позициях, возвращаемые в виде N-by-1 вектора столбца с действительным значением. N - количество позиций, указанное в параметре Number of output poses. Единицы в метрах.

Для создания профиля опорной скорости для транспортного средства можно использовать параметр «Длины» (CumLengts) вместе с параметрами «Направления» (Directions) и «Кривизны» (Curvatures). См. пример блока Velocity Profiler и автоматической парковки в Simulink.

Зависимости

Чтобы включить этот порт, выберите параметр Показать выходные порты CumLengts и Curvatures.

Кривизна пути с подписью в каждой позе вывода в позициях, возвращаемая как N-by-1 вектор столбца с действительным значением. N - количество позиций, указанное в параметре Number of output poses. Единицы измерения в радианах на метр.

Для создания профиля опорной скорости для транспортного средства можно использовать кривизны вместе с «Направлениями» (Directions) и «CumLengts» (CumLengts). См. пример блока Velocity Profiler и автоматической парковки в Simulink.

Зависимости

Чтобы включить этот порт, выберите параметр Показать выходные порты CumLengts и Curvatures.

Параметры

развернуть все

Количество плавных поз для возврата в выходном порту Poses, указанное как положительное целое число. Чтобы увеличить детализацию возвращаемых позиций, увеличьте значение этого параметра.

Минимальное разделение между позами, в метрах, указанное как положительный действительный скаляр. Если евклидово (x, y) расстояние между двумя позами меньше этого значения, то блок использует только одно из этих поз для интерполяции.

Время выборки блока, в секундах, указанное как -1 или как положительный действительный скаляр. Значение по умолчанию -1 означает, что блок наследует время выборки от вышестоящих блоков.

Выберите этот параметр, чтобы включить выходные порты CumLengths и Curvatures.

  • Code generation - Моделирование модели с использованием сгенерированного кода C/C + +. При первом запуске моделирования Simulink ® генерирует код C/C + + для блока. Код C используется повторно для последующего моделирования до тех пор, пока модель не изменится. Для этого параметра требуется дополнительное время запуска.

  • Interpreted execution - Моделирование модели с помощью интерпретатора MATLAB ®. Этот параметр сокращает время запуска. ВInterpreted execution можно отладить исходный код блока.

Подробнее

развернуть все

Алгоритмы

  • Алгоритм сглаживания траектории интерполирует параметрический кубический сплайн, который проходит через все входные опорные точки позы. Параметр сплайна - кумулятивная длина хорды в этих точках. [1]

  • Касательное направление сглаженной выходной траектории приблизительно соответствует углу ориентации транспортного средства в начальной и целевой позициях.

Ссылки

[1] Поплавок, Майкл С. «Об отклонении параметрического кубического сплайна от его полигона данных». Автоматизированное геометрическое проектирование. Том 25, номер 3, 2008, стр. 148-156.

[2] Лепетик, Марко, Грегор Кланкар, Игорь Скрыан, Драго Матко и Бостьян Поточник. «Планирование оптимального пути времени с учетом пределов ускорения». Робототехника и автономные системы. Том 45, номера 3-4, 2003, стр. 199-210.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2019a