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