Lateral Controller Stanley

Управляйте держащимся углом транспортного средства для следования траектории при помощи метода Стэнли

  • Библиотека:
  • Automated Driving Toolbox / Управление Транспортным средством

  • Lateral Controller Stanley block

Описание

Блок Lateral Controller Stanley вычисляет держащуюся угловую команду, в градусах, который настраивает текущее положение транспортного средства, чтобы совпадать со ссылочным положением, учитывая текущую скорость и направление транспортного средства. Контроллер вычисляет эту команду с помощью метода Стэнли [1], чей закон о надзоре основан и на кинематической и динамической модели велосипеда. Чтобы измениться между моделями, используйте параметр Vehicle model.

  • Кинематическая модель велосипеда подходит для следования траектории в низкоскоростных средах, таких как парковки, где инерционные эффекты минимальны.

  • Динамическая модель велосипеда подходит для следования траектории в высокоскоростных средах, таких как магистрали, где инерционные эффекты являются более явными. Эта модель транспортного средства обеспечивает дополнительные параметры, которые описывают динамику транспортного средства.

Порты

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

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

Ссылочное положение в виде [x, y, Θ] вектор. x и y исчисляются в метрах, и Θ в градусах.

x и y задают контрольную точку, чтобы вести транспортное средство к. Θ задает угол ориентации пути в этой контрольной точке и положителен в направлении против часовой стрелки.

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

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

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

Текущее положение транспортного средства в виде [x, y, Θ] вектор. x и y исчисляются в метрах, и Θ в градусах.

x и y задают местоположение транспортного средства, которое задано как центр задней оси транспортного средства.

Θ задает угол ориентации транспортного средства в местоположении (x, y) и положителен в направлении против часовой стрелки.

Для получения дополнительной информации о положении транспортного средства смотрите Системы координат в Automated Driving Toolbox.

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

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

  • Если транспортное средство находится в движении вперед, то это значение должно быть больше 0.

  • Если транспортное средство находится в противоположном движении, то это значение должно быть меньше 0.

  • Значение 0 представляет транспортное средство, которое не находится в движении.

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

Направление движения транспортного средства в виде 1 для движения вперед или -1 для противоположного движения. Направление движения определяет ошибку положения, и угловая погрешность использовалась для расчета держащейся угловой команды. Для получения дополнительной информации см. Алгоритмы.

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

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

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

Можно получить искривление пути от выходного порта Curvatures блока Path Smoother Spline. Можно также получить искривления контуров маршрута от выходных граничных структур маршрута блока Scenario Reader.

Зависимости

Чтобы включить этот порт, установите Vehicle model на Dynamic bicycle model.

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

Зависимости

Чтобы включить этот порт, установите Vehicle model на Dynamic bicycle model.

Текущий руководящий угол транспортного средства, в градусах в виде действительного скаляра. Это значение положительно в направлении против часовой стрелки.

Для получения дополнительной информации смотрите Системы координат в Automated Driving Toolbox.

Зависимости

Чтобы включить этот порт, установите Vehicle model на Dynamic bicycle model.

Вывод

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

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

Для получения дополнительной информации смотрите Системы координат в Automated Driving Toolbox.

Параметры

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

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

  • Kinematic bicycle model — Кинематическая модель велосипеда для следования траектории в низкоскоростных средах, таких как парковки, где инерционные эффекты минимальны

  • Dynamic bicycle model — Динамическая модель велосипеда для следования траектории в высокоскоростных средах, таких как магистрали, где инерционные эффекты являются более явными

Усиление положения транспортного средства, когда это находится в движении вперед в виде положительной скалярной величины. Это значение определяет, насколько ошибка положения влияет на держащийся угол. Типичные значения находятся в области значений [1, 5]. Увеличьте это значение, чтобы увеличить величину держащегося угла.

Усиление положения транспортного средства, когда это находится в противоположном движении в виде положительной скалярной величины. Это значение определяет, насколько ошибка положения влияет на держащийся угол. Типичные значения находятся в области значений [1, 5]. Увеличьте это значение, чтобы увеличить величину держащегося угла.

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

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

Регулирование угловой обратной связи получает в виде неотрицательного действительного скаляра. Это значение определяет, насколько различие между текущей руководящей угловой командой, SteerCmd, и текущим руководящим углом, CurrSteer, влияет на следующую руководящую угловую команду.

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

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

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Kinematic bicycle model.

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

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

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

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

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

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

Движение на повороте жесткости передних шин, в Ньютонах на радиан в виде положительного действительного скаляра.

Зависимости

Чтобы включить этот параметр, установите Vehicle model на Dynamic bicycle model.

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

Выход от порта SteerCmd насыщается к области значений [–M, M], где M является значением параметра Maximum steering angle (deg).

  • Значения ниже –M установлены к –M.

  • Значения выше M установлены к M.

Советы

  • Можно переключиться между моделями велосипедов как изменения среды транспортного средства. Добавьте два блока Lateral Controller Stanley в различную подсистему и задайте различную модель велосипеда для каждого блока. Для примера см. Боковой Пример по Управлению.

Алгоритмы

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

Когда транспортное средство находится в движении вперед (параметром Direction является 1):

  • position error является боковым расстоянием от центра передней оси к контрольной точке на пути.

  • angle error является углом переднего колеса относительно ссылочного пути.

Когда транспортное средство находится в противоположном движении (параметром Direction является -1):

  • position error является боковым расстоянием от центра задней оси к контрольной точке на пути.

  • angle error является углом заднего колеса относительно ссылочного пути.

Для получения дополнительной информации о том, как контроллер минимизирует эти ошибки для кинематических и динамических моделей велосипедов, см. [1].

Ссылки

[1] Хоффман, Габриэль М., Клэр Дж. Томлин, Майкл Монтемерло и Себастиан Трун. "Автономное Автомобильное Отслеживание Траектории для Управления Для бездорожья: Проектирование контроллера, Экспериментальная Валидация и Гонки". Американская Конференция по Управлению. 2007, стр 2296–2301. doi:10.1109/ACC.2007.4282788

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

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

Введенный в R2018b