Сгенерируйте профиль скорости пути транспортного средства с учетом кинематических ограничений
Automated Driving Toolbox
Блок Velocity Profiler генерирует профиль скорости ведущего пути, который удовлетворяет этому набору заданных кинематических ограничений:
Максимально допустимая скорость транспортного средства
Максимальное продольное ускорение и замедление транспортного средства
Максимальный продольный рывок транспортного средства
Максимальное боковое ускорение транспортного средства
Задайте совокупные длины вдоль пути, ведущие направления и кривизны в каждой точке вдоль пути. Можно получить эти значения из выхода блока Path Smoother Spline. Также задайте продольную скорость транспортного средства в начале и конце пути.
Используйте сгенерированный профиль скорости в качестве входа ссылки скоростей продольного контроллера, как показано в примере Automated Parking Valet в Simulink.
Чтобы сгенерировать профиль скорости для пути ссылка, блок Velocity Profiler выполняет следующие шаги:
Сгенерируйте профиль непрерывной скорости, который удовлетворяет всем кинематическим ограничениям (скорость, ускорение и рывок), заданным параметрами блоков.
Дискретизируйте профиль скорости путем отображения положений в пути ссылки к значениям скорости, основываясь на том, как далеко находятся положения от стартового положения. Совокупные длины пути, заданные в CumLengths входном порте, содержат эти расстояния. Блок Path Smoother Spline возвращает эти совокупные длины пути вместе с сглаженным контуром.
Сгенерированный профиль скорости является кривой с семью интервалами. На каждом временном интервале внутри кривой, рывок, ускорение и скорость транспортного средства изменяются, чтобы удовлетворить заданным ограничениям. Рисунок и таблица показа, как эти значения изменяются для транспортного средства, перемещающегося вперед по пути. Для простоты стартовая и конечная скорость транспортного средства, заданная 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] Виллагра, Хорхе, Висенте Миланес, Жошу Перес и Хорхе Годой. «Сглаживайте путь и планирование скорости для автоматизированного транспортного средства общественного транспорта». Робототехника и автономные системы. Том 60, № 2, февраль 2012, стр. 252-265.