Velocity Profiler

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

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

Описание

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

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

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

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

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

Задайте совокупные длины вдоль пути и направлений движения и искривлений в каждой точке вдоль пути. Можно получить эти значения из выхода блока Path Smoother Spline. Также задайте продольную скорость транспортного средства в начале и конце пути.

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

Порты

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

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

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

Можно получить Directions из выхода блока Path Smoother Spline.

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

Можно получить CumLengths из выхода блока Path Smoother Spline.

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

Можно получить Curvatures из выхода блока Path Smoother Spline.

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

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

Вывод

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

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

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

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

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

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

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

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

Используйте Times, чтобы визуализировать скоростной профиль в зависимости от времени, как показано в Скоростном Профиле Прямого Профиля Пути и Скорости Пути с примерами Изменения Кривой и Направления.

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

Зависимости

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

Параметры

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Больше о

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

Алгоритмы

Чтобы сгенерировать скоростной профиль для ссылочного пути, блок Velocity Profiler выполняет эти шаги:

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

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

Сгенерированный скоростной профиль является кривой с семью интервалами. В каждом временном интервале в кривой толчок, ускорение и скорость транспортного средства изменяются, чтобы удовлетворить заданным ограничениям. Фигура и таблица show, как эти значения изменяются для транспортного средства, перемещающегося в движении вперед вдоль пути. Для простоты запуском и конечной скоростью транспортного средства, как задано 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 установлены параметром Maximum longitudinal jerk (m/s^3).

  • MaxAccel и -MaxDecel установлены Maximum longitudinal acceleration (m/s^2) и параметрами Maximum longitudinal deceleration (m/s^2), соответственно. Можно задать асимметричные значения для этих параметров.

  • MaxSpeed установлен параметром Maximum allowable speed (m/s).

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

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

Ссылки

[1] Villagra, Хорхе, Висенте Миланес, Хосуе Перес и Хорхе Годои. "Сглаженный путь и скорость, планирующая автоматизированное транспортное средство общественного транспорта". Робототехника и Автономные системы. Издание 60, Номер 2, февраль 2012, стр 252–265.

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

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

Введенный в R2019b