Управляйте продольной скоростью транспортного средства при помощи метода Стэнли
Automated Driving Toolbox / Управление Транспортным средством
Блок Longitudinal Controller Stanley вычисляет ускорение и команды замедления, в метрах в секунду, то управление скорость транспортного средства. Задайте ссылочную скорость, текущую скорость и текущее направление движения. Контроллер вычисляет эти команды с помощью метода Стэнли [1], который блок реализует как дискретный контроллер пропорционального интеграла (PI) с интегральным антизавершением. Для получения дополнительной информации см. Алгоритмы.
Можно также вычислить держащуюся угловую команду транспортного средства с помощью метода Стэнли. Смотрите блок Lateral Controller Stanley.
Блок Longitudinal Controller Stanley реализует дискретный контроллер пропорционального интеграла (PI) с интегральным антизавершением, аналогичным описанному Антизаключительным методом (Simulink) параметр блока PID Controller. Блок использует это уравнение:
u (k) является управляющим сигналом в k th временной шаг.
K p является пропорциональной составляющей, как установлено параметром Proportional gain, Kp.
K i - интегральная составляющая, как установлено параметром Integral gain, Ki.
T s является шагом расчета блока в секундах, как установлено параметром Sample time (s).
e (k) является ошибкой скорости (CurrVelocity – RefVelocity) в k th временной шаг. Для каждого k эта ошибка равна различию между текущей скоростью и ссылочными скоростными входными параметрами (CurrVelocity – RefVelocity).
Управляющий сигнал, 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.