Lateral Controller Stanley

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

  • Библиотека:
  • Автоматизированное Приводное Транспортное средство

  • 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] Гофман, Габриэль М., Клэр Дж. Томлин, Майкл Монтемерло и Себастьян Трун. Autonomobile Automobile Trajectory Tracking for Off-Road Driving: Проектирование контроллера, Experimental Validation and Racing (неопр.) (недоступная ссылка). Американская контрольная конференция. 2007, стр 2296–2301. doi:10.1109/ACC.2007.4282788

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

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

.
Введенный в R2018b