Путь более сглаженный сплайн

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

  • Библиотека:
  • Automated Driving Toolbox

Описание

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

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

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

Порты

Входной параметр

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

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

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

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

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

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

Вывод

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

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

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

Значения в Poses имеют совпадающий тип данных как значения во входном порту RefPoses.

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

Значения в Directions имеют совпадающий тип данных как значения во входном порту RefDirections.

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

Можно использовать CumLength и Curvatures выходные параметры, чтобы сгенерировать профиль скорости автомобиля вдоль сглаженного пути. Для получения дополнительной информации смотрите, что Автоматизированный Оставляет Камердинера в примере Simulink.

Зависимости

Чтобы включить этот порт, выберите параметр Show CumLength and Curvatures output ports.

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

Можно использовать Curvatures и CumLength выходные параметры, чтобы сгенерировать профиль скорости автомобиля вдоль сглаженного пути. Для получения дополнительной информации смотрите, что Автоматизированный Оставляет Камердинера в примере Simulink.

Зависимости

Чтобы включить этот порт, выберите параметр Show CumLength and Curvatures output ports.

Параметры

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

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

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

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

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

  • Code generation — Моделируйте модель с помощью сгенерированного кода C. В первый раз, когда вы запускаете симуляцию, Simulink® генерирует код С для блока. Код С снова используется для последующих симуляций, пока модель не изменяется. Эта опция требует дополнительного времени запуска.

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

Больше о

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

Алгоритмы

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

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

Ссылки

[1] Плавающий предмет, Майкл С. "На Отклонении Параметрического Кубического Сплайна Interpolant от Его Полигона Данных". Компьютер помог Геометрическому Проекту. Издание 25, Номер 3, 2008, стр 148–156.

[2] Lepetic, Марко, Грегор Клэнкэр, Игорь Скрянк, Драго Матко и Бостджэн Потокник. "Время Оптимальное Планирование пути, Рассматривая Ускоряющие Пределы". Робототехника и Автономные системы. Издание 45, Числа 3-4, 2003, стр 199–210.

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Введенный в R2019a