Управление продольной скоростью транспортного средства с помощью метода Стэнли
Автоматизированное Приводное Транспортное средство
Блок Longitudinal Controller Stanley вычисляет команды ускорения и замедления, в метрах в секунду, которые управляют скоростью транспортного средства. Задайте базовую скорость, скорость тока и направление движения тока. Контроллер вычисляет эти команды с помощью метода Стэнли [1], который блок реализует как дискретный пропорционально-интегральный (PI) контроллер с интегральным анти-насыщением. Для получения дополнительной информации см. «Алгоритмы».
Можно также вычислить команду угла поворота транспортного средства с помощью метода Стэнли. Смотрите блок Lateral Controller Stanley.
Блок Longitudinal Controller Stanley реализует дискретный пропорционально-интегральный (PI) контроллер с интегральным анти-насыщением, как описано параметром Anti-windup method (Simulink) блока ПИД-регулятор. Блок использует это уравнение:
u (k) является управляющим сигналом на k-м временном шаге.
K p является пропорциональной составляющей, заданным параметром Proportional gain, Kp.
K i является интегральной составляющей, заданным параметром Integral gain, Ki.
T s - шаг расчета блока в секундах, заданное параметром Sample time (s).
e (k) является ошибкой скорости (CurrVelocity - RefVelocity) на k-м временном шаге. Для каждого k эта ошибка равна различию между входами текущей скорости и опорной скорости (CurrVelocity - RefVelocity).
Сигнал управления, u, определяет значение команды AccelCmd ускорения и команды DecelCmd замедления. Блок насыщает команды ускорения и замедления соответствующими областями значений [0, M A] и [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 (<reservedrangesplaceholder0>)> 0 | положительный действительный скаляр | 0 | Транспортное средство ускоряется, когда она движется вперед |
u (<reservedrangesplaceholder0>) <0 | 0 | положительный действительный скаляр | Транспортное средство замедляется, когда она движется вперед | |
-1 (обратное движение) | u (<reservedrangesplaceholder0>)> 0 | 0 | положительный действительный скаляр | Транспортное средство замедляется, когда она движется задним ходом |
u (<reservedrangesplaceholder0>) <0 | положительный действительный скаляр | 0 | Транспортное средство ускоряется, когда она движется задним ходом |
[1] Гофман, Габриэль М., Клэр Дж. Томлин, Майкл Монтемерло и Себастьян Трун. Autonomobile Automobile Trajectory Tracking for Off-Road Driving: Проектирование контроллера, Experimental Validation and Racing (неопр.) (недоступная ссылка). Американская контрольная конференция. Август 2007, с. 2296-2301. doi:10.1109/ACC.2007.4282788.