Боковой диспетчер Стэнли

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

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

Описание

Боковой блок диспетчера Стэнли вычисляет держащуюся угловую команду, в градусах, который настраивает текущее положение автомобиля, чтобы совпадать со ссылочным положением, учитывая текущую скорость и направление автомобиля. Контроллер вычисляет эту команду с помощью метода Стэнли [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.

Советы

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

Алгоритмы

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

Когда автомобиль находится в движении вперед (параметром 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