exponenta event banner

Продольный контроллер Стэнли

Контроль продольной скорости транспортного средства по методу Стэнли

  • Библиотека:
  • Автоматизированная панель инструментов вождения/управление транспортным средством

  • Longitudinal Controller Stanley block

Описание

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

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

Порты

Вход

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

Опорная скорость, в метрах в секунду, заданная как действительный скаляр.

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

Направление движения транспортного средства, указанное как 1 для движения вперед и -1 для обратного движения.

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

Продукция

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

Команда ускорения, возвращаемая как действительный скаляр в диапазоне [0, MA], где MA - значение параметра Максимальное продольное ускорение (m/s ^ 2).

Команда замедления, возвращаемая как действительный скаляр в диапазоне [0, MD], где MD - значение параметра Максимальное продольное замедление (м/с ^ 2).

Параметры

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

Пропорциональное усиление контроллера, Kp, заданное как положительный действительный скаляр.

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

Время выборки контроллера в секундах, указанное как положительный действительный скаляр.

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

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

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

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

Алгоритмы

Блок Стэнли продольного контроллера реализует дискретный пропорционально-интегральный (PI) контроллер с интегральной защитой, как описано параметром Anti-windup method (Simulink) блока PID-контроллера. Блок использует следующее уравнение:

u (k) = (Kp + KiTs zz 1) e (k)

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

  • Kp - пропорциональный коэффициент усиления, установленный параметром Пропорциональный коэффициент усиления, Kp.

  • Ki - интегральный коэффициент усиления, установленный параметром Integral, Ki.

  • Ts - время выборки блока в секундах, заданное параметром Sample time (s).

  • e (k) - ошибка скорости (CurrVelocity - RefVelocity) на k-ом шаге времени. Для каждого k эта ошибка равна разности между входами текущей скорости и опорной скорости (CurrVelocity - RefVelocity).

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

  • MA - значение параметра Максимальное продольное ускорение (м/с ^ 2).

  • MD - значение параметра Максимальное продольное замедление (м/с ^ 2).

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

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

Значение порта направленияЗначение управляющего сигнала 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