exponenta event banner

Профилировщик Velocity

Формирование профиля скорости пути транспортного средства с учетом кинематических ограничений

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

  • Velocity Profiler block

Описание

Блок Velocity Profiler генерирует профиль скорости траектории движения, который удовлетворяет этому набору заданных кинематических ограничений:

  • Максимально допустимая скорость транспортного средства

  • Максимальное продольное ускорение и замедление транспортного средства

  • Максимальный продольный рывок транспортного средства

  • Максимальное боковое ускорение транспортного средства

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

Используйте сгенерированный профиль скорости в качестве входных опорных скоростей продольного контроллера, как показано в примере автоматической парковки в Simulink.

Порты

Вход

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

Направления движения транспортного средства по длине пути, определяемые как вектор M-by-1 1 с (движение вперед) и -1 с (движение назад). Каждый векторный элемент представляет направление движения транспортного средства на соответствующей совокупной длине пути, заданной входным портом CumLengts. M - число направлений движения, которое должно быть равно длинам входных значений CumLengths и Curvatures.

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

Кумулятивные длины пути, в метрах, заданные как M-by-1 вектор монотонно увеличивающихся вещественных элементов. Каждый векторный элемент представляет точку вдоль траектории. M - это количество совокупных длин траектории, которые должны быть равны длинам входных данных «Направления» и «Кривизны».

Значение CumLengts можно получить из выходных данных блока сглаженного сплайна траектории.

Кривизна пути со знаком по длине пути, в радианах на метр, заданная как M-by-1 действительный вектор. Каждый векторный элемент представляет кривизну траектории на соответствующей совокупной длине траектории, заданной входным портом CumLengths. M - число кривизн, которое должно быть равно длинам входных значений Directions и CumLengths.

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

Продольная скорость транспортного средства в начале пути в метрах в секунду, определяемая как действительный скаляр.

Продольная скорость транспортного средства в конце пути в метрах в секунду, определяемая как действительный скаляр.

Продукция

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

Профиль скорости по длине пути, в метрах в секунду, возвращен в виде M-by-1 вектора столбца с действительными значениями. Каждый векторный элемент представляет опорную продольную скорость для транспортного средства при соответствующей совокупной длине пути, заданной входным портом CumLengts. M - число скоростей и равно длине CumLengths.

Значения выходной скорости удовлетворяют ограничениям скорости, ускорения и рывка, заданным в параметрах блока Velocity Profiler. Этот вывод можно использовать в качестве опорной скорости для контроллера транспортного средства.

Скорости - это выход переменного размера с ограничениями, описанными в разделе Ограничения сигнала переменного размера (Simulink).

Время прибытия транспортного средства для профиля скорости, указанного в Velocities, возвращаемое как M-by-1 действительный вектор. M - число раз прибытия транспортного средства, равное длине скорости. Единицы измерения в секундах.

Каждый векторный элемент представляет время, когда транспортное средство, движущееся со скоростью v, достигает кумулятивной длины р пути, где:

  • v - соответствующая скорость, возвращаемая выходным портом Velocities.

  • p - соответствующая суммарная длина пути, заданная входным портом CumLengths.

Используйте Times для визуализации профиля скорости во времени, как показано в примерах «Профиль скорости прямой траектории» и «Профиль скорости траектории с изменением кривой» и «Изменение направления».

Время - это выход переменного размера с ограничениями, описанными в разделе Ограничения сигнала переменного размера (Simulink).

Зависимости

Чтобы включить этот порт, выберите параметр Show Times output port.

Параметры

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

Максимальное продольное ускорение транспортного средства в метрах в секунду в квадрате, определяемое как положительный действительный скаляр.

При разработке продольного контроллера этот параметр должен быть равен соответствующему параметру в блоке Стэнли продольного контроллера. В противном случае транспортное средство не может запустить сгенерированный профиль скорости.

Максимальное продольное замедление транспортного средства в метрах в секунду в квадрате, определяемое как положительный действительный скаляр.

При разработке продольного контроллера этот параметр должен быть равен соответствующему параметру в блоке Стэнли продольного контроллера. В противном случае транспортное средство не может запустить сгенерированный профиль скорости.

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

Когда длина пути слишком мала для транспортного средства, чтобы достичь этой максимальной скорости, блок вычисляет меньшую максимальную скорость, которая удовлетворяет ограничению длины пути.

В профиле выходной скорости скорость транспортного средства ограничена значением [-Vmax, Vmax], где Vmax - значение этого параметра.

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

В профиле выходной скорости продольный рывок транспортного средства ограничен значением [-Jmax, Jmax], где Jmax - значение этого параметра.

Максимальное боковое ускорение транспортного средства вдоль траектории в метрах в секунду в квадрате, определяемое как положительный действительный скаляр.

В профиле выходной скорости боковое ускорение транспортного средства ограничено [-Amax, Amax], где Amax - значение этого параметра.

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

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

Поскольку блок Velocity Profiler выдает сигналы переменного размера, время выборки блока должно быть дискретным (ненулевым). Если блок наследует время выборки от вышестоящих блоков, эти блоки также должны иметь дискретное время выборки.

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

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

Подробнее

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

Алгоритмы

Чтобы создать профиль скорости для траектории привязки, блок Velocity Profiler выполняет следующие действия.

  1. Создайте профиль непрерывной скорости, удовлетворяющий всем кинематическим ограничениям (скорость, ускорение и толчок), заданным параметрами блока.

  2. Дискретизируйте профиль скорости, отображая позы на опорном пути к значениям скорости, исходя из того, как далеки позы от начальной позы. Суммарные длины пути, указанные во входном порту CumLengths, содержат эти расстояния. Блок «Сглаженный сплайн траектории» возвращает эти суммарные длины траектории вместе с гладкой траекторией.

Сформированный профиль скорости представляет собой кривую с семью интервалами. В каждом временном интервале в пределах кривой толчок, ускорение и скорость транспортного средства изменяются для удовлетворения заданных ограничений. На рисунке и в таблице показано, как эти значения изменяются для транспортного средства, движущегося вперед по траектории. Для простоты начальные и конечные скорости транспортного средства, определяемые входными портами StartVelocity и EndVelocity, являются 0.

Интервал времениТолчокУскорениеСкоростьПримечания
1Установить в значение MaxJerkУвеличение от 0 кому MaxAccelУвеличение от начальной скорости-
2Установить в значение 0Удерживается постоянным в MaxAccelПродолжает увеличиватьсяВ течение предыдущего интервала, если транспортное средство не может достичь MaxAccel учитывая MaxSpeed ограничение, то интервал 2 не возникает.
3Установить в значение -MaxJerkУменьшение от MaxAccel кому 0Увеличение до MaxSpeed-
4Установить в значение 0Удерживается постоянным в 0Удерживается постоянным в MaxSpeed-
5Установить в значение -MaxJerkУменьшение от 0 кому -MaxDecelНачинает уменьшаться-
6Установить в значение 0Удерживается постоянным в -MaxDecelПродолжает уменьшатьсяВ течение предыдущего интервала, если транспортное средство не может достичь -MaxDecel учитывая MaxSpeed ограничение, то интервал 6 не возникает.
7Установить в значение MaxJerkУвеличение от -MaxDecel кому 0Уменьшение до конечной скорости-

На рисунке и в таблице:

  • MaxJerk и -MaxJerk задаются параметром Максимальный продольный рывок (м/с ^ 3).

  • MaxAccel и -MaxDecel задаются параметрами Максимальное продольное ускорение (м/с ^ 2) и Максимальное продольное замедление (м/с ^ 2) соответственно. Для этих параметров можно задать асимметричные значения.

  • MaxSpeed задается параметром Максимальная допустимая скорость (м/с).

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

Если транспортное средство включает в себя множество изменений в направлении, блок генерирует отдельные профили скорости для каждого направления движения. Затем блок объединяет эти профили в конечном выводе Velocities. Пример см. в разделе Профиль скорости траектории с изменением кривой и направления.

Ссылки

[1] Вильягра, Хорхе, Висенте Миланес, Джошуэ Перес и Хорхе Годой. «Плавное планирование пути и скорости для автоматизированного транспортного средства общего пользования». Робототехника и автономные системы. Том 60, номер 2, февраль 2012, стр. 252-265.

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

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

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