Longitudinal Controller Stanley

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

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

Описание

Блок Longitudinal Controller Stanley вычисляет ускорение и команды замедления, в метрах в секунду, то управление скорость транспортного средства. Задайте ссылочную скорость, текущую скорость и текущее направление движения. Контроллер вычисляет эти команды с помощью метода Стэнли [1], который блок реализует как дискретный контроллер пропорционального интеграла (PI) с интегральным антизавершением. Для получения дополнительной информации см. Алгоритмы.

Можно также вычислить держащуюся угловую команду транспортного средства с помощью метода Стэнли. Смотрите блок Lateral Controller Stanley.

Порты

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

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

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

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

Направление движения транспортного средства в виде 1 для движения вперед и -1 для противоположного движения.

Инициируйте, чтобы сбросить интеграл ошибки скорости, e (k), обнулить. Значение 0 содержит e устойчивый (k). Ненулевое значение сбрасывает e (k).

Вывод

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

Ускоряющая команда, возвращенная как действительный скаляр в области значений [0, M], где M A является значением параметра Maximum longitudinal acceleration (m/s^2).

Команда замедления, возвращенная как действительный скаляр в области значений [0, M D], где M D является значением параметра Maximum longitudinal deceleration (m/s^2).

Параметры

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

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

Интегральное усиление контроллера, K i в виде положительного действительного скаляра.

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

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

Блок насыщает выход от AccelCmd до области значений [0, M], где M A является значением этого параметра. Значения выше M A установлены к M A.

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

Блок насыщает выход от порта DecelCmd до области значений [0, M D], где M D является значением этого параметра. Значения выше M D установлены к M D.

Алгоритмы

Блок Longitudinal Controller Stanley реализует дискретный контроллер пропорционального интеграла (PI) с интегральным антизавершением, аналогичным описанному Антизаключительным методом (Simulink) параметр блока PID Controller. Блок использует это уравнение:

u(k)=(Kp+KiTszz1)e(k)

  • u (k) является управляющим сигналом в k th временной шаг.

  • K p является пропорциональным усилением, как установлено параметром Proportional gain, Kp.

  • K i - интегральное усиление, как установлено параметром Integral gain, Ki.

  • T s является шагом расчета блока в секундах, как установлено параметром Sample time (s).

  • e (k) является ошибкой скорости (CurrVelocityRefVelocity) в k th временной шаг. Для каждого k эта ошибка равна различию между текущей скоростью и ссылочными скоростными входными параметрами (CurrVelocityRefVelocity).

Управляющий сигнал, u, определяет значение ускоряющей команды AccelCmd и команда замедления DecelCmd. Блок насыщает ускорение и команды замедления к соответствующим областям значений [0, M] и [0, M D], где:

  • M A является значением параметра Maximum longitudinal acceleration (m/s^2).

  • M D является значением параметра Maximum longitudinal deceleration (m/s^2).

На каждом временном шаге только одно из значений порта AccelCmd и DecelCmd положительно, и другим значением порта является 0. Другими словами, транспортное средство может или ускориться или замедлиться в одном временном шаге, но это не может сделать обоих одновременно.

Направление движения, как задано во входном порту Direction, определяет, какая команда положительна на данном временном шаге.

Значение порта направленияЗначение управляющего сигнала u (k)Значение порта AccelCmdЗначение порта DecelCmdОписание
1 (движение вперед)

u (k)> 0

положительный действительный скаляр0Транспортное средство убыстряется, когда оно перемещается вперед

u (k) <0

0положительный действительный скалярТранспортное средство замедляется, когда оно перемещается вперед
-1 (инвертируйте движение),

u (k)> 0

0положительный действительный скалярТранспортное средство замедляется, когда оно перемещается наоборот

u (k) <0

положительный действительный скаляр0Транспортное средство убыстряется, когда оно перемещается наоборот

Ссылки

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

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

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

Введенный в R2019a