Lateral Driver

Боковой контроллер отслеживания пути

  • Библиотека:
  • Динамика автомобиля транспортное средство

  • Lateral Driver block

Описание

Блок Lateral Driver реализует модель управления, чтобы сгенерировать нормированные команды управления, которые отслеживают перемещение боковой ссылки. Нормированные команды управления могут варьироваться от -1 до 1. Чтобы смоделировать динамику, блок использует линейную модель с одной дорожкой (велосипед). Используйте блок Lateral Driver для:

  • Закройте цикл между предопределенным путем и фактическим движением транспортного средства.

  • Сгенерируйте команды управления, которые отслеживают предопределенные пути. Можно подключить выход блока Lateral Driver к входам блока управления.

Строения

Внешние действия

Используйте параметры External Actions для создания входных портов для сигналов, которые могут отключать, удерживать или переопределять команду рулевого управления с обратной связью. Блок использует этот порядок приоритета для входных команд: отключить (наивысший), удержать, переопределить. Блок использует этот порядок приоритета для входных команд: отключить (наивысший), удержать, переопределить.

В этой таблице представлены параметры внешнего действия.

Цель

Параметр внешнего действия

Входные порты

Тип данных

Переопределите команду рулевого управления с помощью команды входа рулевого управления.

Steering override

EnblSteerOvr

Boolean

SteerOvrCmd

double

Удерживайте команду рулевого управления при текущем значении.

Steering hold

SteerHldBoolean

Отключите команду рулевого управления.

Steering disable

SteerZeroBoolean

Используйте параметр Output handwheel angle, чтобы задать модули для портов рулевого управления.

Настройка

Реализация блока

Порт

off (по умолчанию)

Командированный угол поворота, нормированный от -1 до 1. Блок использует параметр Tire wheel angle limit, theta предела насыщения угла колеса шины, чтобы нормализовать команду.

SteerCmd - Выход

Переопределяет команду рулевого управления с вход команды рулевого управления, нормированной с -1 по 1.

SteerOvrCmd - Вход

on

Командированный угол поворота, в модулях, заданных Angular units, angUnits.

SteerCmd - Выход

Переопределяет команду рулевого управления с входом командой рулевого управления в модулях, заданной Angular units, angUnits.

SteerOvrCmd - Вход

Кроме того, можно задать предел насыщения угла колеса шины с помощью параметра Tire wheel angle limit, theta.

Тип и модули

Используйте параметр Lateral control type, controlTypeLat, чтобы задать тип бокового управления. Таблица задает реализацию блока.

Настройка

Реализация блока

Predictive (по умолчанию)

Оптимальная одноточечная модель предпросмотра (посмотрите вперед) управления, разработанная С. С. Макадамом1, 2, 3. Модель представляет поведение управления рулевым управлением драйвера во время маневров следования по пути и избегания препятствий. Предварительный просмотр драйверов (посмотрите вперед), чтобы следовать предопределенному пути.

Stanley

Контроллер, который использует Stanley4 метод минимизации ошибки положения и ошибки угла текущего положения относительна ссылка положения.

На панели Reference Control используйте:

  • Vector input for reference and feedback pose параметр, чтобы ввести, чтобы задать вход.

    НастройкаРеализация
    off (по умолчанию)

    Блок использует продольную, боковую и ссылку рыскания (LongRef, LatRef, LatRef) входные порты и обратная связь (LongFdbk, LatFdbk, LatFdbk) вход порты для положения ссылки и обратной связи.

    on

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

  • Include dynamics параметр, чтобы задать тип модели для контроллера, который будет использоваться.

    НастройкаРеализация
    off (по умолчанию)

    Контроллер использует кинематическую модель велосипеда, которая подходит для следования по пути в низкоскоростных окружениях, таких как парковки, где инерционные эффекты минимальны.

    on

    Контроллер использует динамическую модель велосипеда, которая подходит для следования по пути в высокоскоростных окружениях, таких как шоссе, где инерционные эффекты более выражены.

Используйте параметр Angular units, angUnits, чтобы задать угловые единицы для входа и выходных портов.

Контроллер: прогнозирующее латеральное отслеживание пути

Если вы задаете Lateral control type, controlTypeLat Predictive, блок Lateral Driver реализует оптимальную модель предпросмотра с одной точкой (посмотрите вперед) управления, разработанную C. C. macAdam1, 2, 3. Модель представляет поведение управления рулевым управлением драйвера во время маневров следования по пути и избегания препятствий. Предварительный просмотр драйверов (посмотрите вперед), чтобы следовать предопределенному пути. Для реализации модели MacAdam, блок:

  • Представляет динамику как линейное одноколейное (велосипедное) транспортное средство

  • Минимизирует предварительно просматриваемый сигнал ошибки в одной точке T * секунд вперед по времени

  • Учитывает задержку драйвера, вытекающую из перцепционных и нервно-мышечных механизмов

Этот рисунок иллюстрирует блок реализацию одноточечной версии модели драйвера.

Block diagram illustrating implementation of single-point driver model

Динамика аппарата

Для бокового и рыскательного движения, блок реализует эти линейные динамические уравнения.

y˙=v+Uψv˙=[2(CαF+CαR)mU]v+[2(bCαRaCαF)mUU]r+(2CαFm)δFr˙=[2(bCαRaCαF)IU]v+[2(a2CαF+b2CαR)IU]r+(2aCαFI)δFψ˙=r

В матричном обозначении:

x˙=Fx+gδFгде:x=[yvrψ]F=[010U0-2CαF+CαR mU2bCαRaCαF mUU002bCαRaCαF IU-2a2CαF+b2CαR IU00010]x=[02CαFm2aCαFI0]

Одноточечная модель принимает минимальный предварительно просмотренный сигнал ошибки в одной точке T * секунд вперед по времени. a * - способность драйвера предсказать будущий ответ транспортного средства на основе текущего входа управления рулевым управлением. b * - способность драйвера предсказать будущий ответ транспортного средства на основе текущего состояния транспортного средства. Блок использует эти уравнения.

a*=T*mT[I+n=1Fn(T*)n(n+1)!]gb*=mT[I+n=1Fn(T*)nn!]где: mT=[1000]

В уравнениях используются эти переменные.

a, b

Расположение шин вперед и назад, соответственно

m

Масса транспортного средства

I

Инерция вращения транспортного средства

CɑF

Коэффициент поворота передней шины

CɑR

Коэффициент поворота задней шины

a*, b*

Скаляр предсказания драйвера и векторное усиление, соответственно

x

Предсказанный вектор состояния транспортного средства

v

Поперечная скорость

r

Скорость рыскания

Ψ

Угол рыскания переднего колеса

y

Боковое перемещение

F

Системная матрица

δ, δF

Угол поворота и угол поворота передней оси, соответственно

g

Вектор коэффициента управления

U

Скорость прямого (продольного) транспортного средства

T*

Предварительный просмотр временного окна

ƒ(t+T*)

Предварительно просматриваемый путь на T * секунд вперед

U

Скорость прямого транспортного средства

mT

Вектор постоянного наблюдения; обеспечивает боковое положение транспортного средства

Оптимизация

Одноточечная модель, реализованная блоком, находит команду рулевого управления, которая минимизирует локальный индекс эффективности, J, за текущий интервал предварительного просмотра (t, t+T).

J=1Ttt+T[f(η)y(η)]2dη

Чтобы минимизировать J относительно команды рулевого управления, это условие должно быть выполнено.

dJdu=0

Можно выразить оптимальное решение по управлению с точки зрения текущей неоптимальной и соответствующей ненулевой выходной ошибки предварительного просмотра на T* секунд вперед1, 2, 3.

uo(t)=u(t)+e(t+T*)a*

Блок использует расстояние предварительного просмотра и продольную скорость транспортного средства, чтобы определить временное окно предварительного просмотра.

T*=LU

В уравнениях используются эти переменные.

T*

Предварительный просмотр временного окна

ƒ(t+T*)

Предварительно просматриваемый путь на T* с вперед

y(t+T*)

Предварительный просмотр выходных данных объекта T* с опережением

e(t+T*)

Предварительно просматриваемый сигнал ошибки на T* секунд вперед

u(t), uo(t)

Угол поворота и оптимальный угол поворота, соответственно

L

Предварительный просмотр расстояния

J

Индекс эффективности

U

Скорость прямого (продольного) транспортного средства

Задержка драйвера

Одноточечная модель, реализованная блоком, вводит задержку драйвера. Задержка драйвера учитывает задержку, когда драйвер отслеживает задачи. В частности, это задержка транспорта, вытекающая из перцепционных и нервно-мышечных механизмов. Чтобы вычислить драйвер задержку переноса, блок реализует это уравнение.

H(s)=esτ

В уравнениях используются эти переменные.

τ

Задержка транспортировки драйвера

y(t+T*)

Предварительный просмотр выходных данных объекта T* с опережением

e(t+T*)

Предварительно просматриваемый сигнал ошибки на T* секунд вперед

u(t), uo(t)

Угол поворота и оптимальный угол поворота, соответственно

J

Индекс эффективности

Контроллер: Stanley Боковой путь-Отслеживать

Если вы задаете Lateral control type, controlTypeLat Stanley, блок реализует метод Стэнли4. Чтобы вычислить команду угла поворота, контроллер Стэнли минимизирует ошибку положения и ошибку угла текущего положения относительно положения ссылки. Направление движения транспортного средства определяет эти значения ошибки.

Чтобы вычислить команду угла поворота, контроллер минимизирует ошибку положения и ошибку угла текущего положения относительно положения ссылки.

  • Это position error - боковое расстояние от центра тяжести транспортного средства (CG) до контрольной точки на пути.

  • angle error является углом транспортного средства относительно ссылки пути.

Порты

Вход

расширить все

Ссылка на перемещение продольного центра масс (CM), в инерционной системе координат, в м.

Зависимости

Чтобы включить этот порт:

  • Установите Lateral control type, controlTypeLat значение Stanley

  • Очистить Vector input for reference and feedback

Перемещение бокового центра масс ( CM) ссылки, в инерционной системе координат, в м.

Зависимости

Чтобы включить этот порт, выполните одно из следующих действий:

  • Установите Lateral control type, controlTypeLat значение Stanley и очистить Vector input for reference and feedback.

  • Установите Lateral control type, controlTypeLat значение Predictive.

Включите переопределение команды рулевого управления.

Зависимости

Чтобы включить этот порт, выберите Steering override.

Типы данных: Boolean

Команда переопределения рулевого управления.

Используйте параметр Output handwheel angle, чтобы задать модули для портов рулевого управления.

Настройка

Реализация блока

Порт

off (по умолчанию)

Командированный угол поворота, нормированный от -1 до 1. Блок использует параметр Tire wheel angle limit, theta предела насыщения угла колеса шины, чтобы нормализовать команду.

SteerCmd - Выход

Переопределяет команду рулевого управления с вход команды рулевого управления, нормированной с -1 по 1.

SteerOvrCmd - Вход

on

Командированный угол поворота, в модулях, заданных Angular units, angUnits.

SteerCmd - Выход

Переопределяет команду рулевого управления с входом командой рулевого управления в модулях, заданной Angular units, angUnits.

SteerOvrCmd - Вход

Зависимости

Чтобы включить этот порт, выберите Steering override.

Типы данных: double

Логический сигнал, который содержит команду управления при текущем значении.

Зависимости

Чтобы включить этот порт, выберите Steering hold.

Типы данных: Boolean

Отключите команду рулевого управления.

Зависимости

Чтобы включить этот порт, выберите Steering disable.

Типы данных: Boolean

Транспортное средство угол рыскания, Ψo, в инерционной системе координат, в модулях, заданных Angular units, angUnits.

Зависимости

Чтобы включить этот порт:

  • Установите Lateral control type, controlTypeLat значение Stanley

  • Очистить Vector input for reference and feedback

Ссылочное положение, заданное как вектор [x, y, Θ]. x и y указаны в метрах, а Θ указаны в модулях, заданных Angular units, angUnits.

x и y задайте точку ссылки, к которой нужно направить транспортному средству. Θ задает угол ориентации пути в этой контрольной точке и положительный в направлении против часовой стрелки.

Точка ссылки является точкой на пути, которая находится ближе всего к транспортному средству CG. Можно использовать систему координат Z-up или Z-down транспортного средства при условии, что для блока входов и параметров используется одна и та же система координат (Z-up или Z-down).

Figure indicating location of x, y, and theta on vehicle path

Зависимости

Чтобы включить этот порт, установите Lateral control type, controlTypeLat равным Stanley и выберите Vector input for reference and feedback pose.

Типы данных: single | double

Продольная скорость транспортного средства, U, в неподвижной системе координат транспортного средства, в м/с.

Положение тока транспортного средства, заданное как вектор [x, y, Θ]. x и y указаны в метрах, а Θ указаны в модулях, заданных Angular units, angUnits.

x и y указать местоположение транспортного средства, которое определяется как CG транспортного средства. Можно использовать систему координат Z-up или Z-down транспортного средства при условии, что для блока входов и параметров используется одна и та же система координат (Z-up или Z-down).

Figure indicating location of x, y, and theta on vehicle path

Зависимости

Чтобы включить этот порт, установите Lateral control type, controlTypeLat равным Stanley и выберите Vector input for reference and feedback pose.

Типы данных: single | double

Боковое перемещение CM, yo, в инерционной системе координат, в м.

Зависимости

Чтобы включить этот порт, выполните одно из следующих действий:

  • Установите Lateral control type, controlTypeLat значение Stanley и очистить Vector input for reference and feedback.

  • Установите Lateral control type, controlTypeLat значение Predictive.

Боковая скорость транспортного средства, vo, в неподвижной системе координат транспортного средства, в м/с.

Зависимости

Чтобы включить этот порт, Установите Lateral control type, controlTypeLat на Predictive.

Транспортное средство угол рыскания, Ψo, в инерционной системе координат, в модулях, заданных Angular units, angUnits.

Зависимости

Чтобы включить этот порт, выполните одно из следующих действий:

  • Установите Lateral control type, controlTypeLat значение Stanley и очистить Vector input for reference and feedback pose.

  • Установите Lateral control type, controlTypeLat значение Predictive.

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

Зависимости

Чтобы включить этот порт, Установите Lateral control type, controlTypeLat на Predictive.

Выход

расширить все

Сигнал шины, содержащий эти вычисления блоков.

СигналПеременнаяОписание
Predictedyy

Прогнозируемое боковое перемещение в неподвижной системе координат автомобиля.

ydotv

Предсказанная поперечная скорость в неподвижной системе координат автомобиля.

psiΨ

Прогнозируемый угол рыскания переднего колеса.

rr

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

SteerCmdδF

Командовал углом поворота.

Erreref

Различие в ссылку положении транспортного средства и в положении транспортного средства.

ErrSqrSum0teref2dt

Интегрированный квадрат ошибки.

ErrMaxmax(eref(t))

Максимальная ошибка во время симуляции.

ErrMinmin(eref(t))

Минимальная ошибка во время симуляции.

ExtActionsEnblSteerOvr

Переопределите команду рулевого управления командой входа замедления.

SteerOvrCmd

Входная команда переопределения рулевого управления

SteerHld

Удерживайте команду рулевого управления при текущем значении

SteerZero

Отключите команду рулевого управления

Командовал углом поворота, δF.

Используйте параметр Output handwheel angle, чтобы задать модули для портов рулевого управления.

Настройка

Реализация блока

Порт

off (по умолчанию)

Командированный угол поворота, нормированный от -1 до 1. Блок использует параметр Tire wheel angle limit, theta предела насыщения угла колеса шины, чтобы нормализовать команду.

SteerCmd - Выход

Переопределяет команду рулевого управления с вход команды рулевого управления, нормированной с -1 по 1.

SteerOvrCmd - Вход

on

Командированный угол поворота, в модулях, заданных Angular units, angUnits.

SteerCmd - Выход

Переопределяет команду рулевого управления с входом командой рулевого управления в модулях, заданной Angular units, angUnits.

SteerOvrCmd - Вход

Параметры

расширить все

Строение

Выберите, чтобы переопределить команду рулевого управления с помощью команды входа рулевого управления.

Зависимости

Выбор этого параметра создает EnblSteerOvr и SteerOvrCmd входные порты.

Выберите для удержания команды рулевого управления.

Зависимости

Выбор этого параметра создает SteerHld входной порт.

Выберите, чтобы отключить команду рулевого управления.

Зависимости

Выбор этого параметра создает SteerZero входной порт.

Используйте параметр Output handwheel angle, чтобы задать модули для портов рулевого управления.

Настройка

Реализация блока

Порт

off (по умолчанию)

Командированный угол поворота, нормированный от -1 до 1. Блок использует параметр Tire wheel angle limit, theta предела насыщения угла колеса шины, чтобы нормализовать команду.

SteerCmd - Выход

Переопределяет команду рулевого управления с вход команды рулевого управления, нормированной с -1 по 1.

SteerOvrCmd - Вход

on

Командированный угол поворота, в модулях, заданных Angular units, angUnits.

SteerCmd - Выход

Переопределяет команду рулевого управления с входом командой рулевого управления в модулях, заданной Angular units, angUnits.

SteerOvrCmd - Вход

Зависимости

Как создать SteerOvrCmd входной порт, выберите Steering override.

Используйте параметр Lateral control type, controlTypeLat, чтобы задать тип бокового управления. Таблица задает реализацию блока.

Настройка

Реализация блока

Predictive (по умолчанию)

Оптимальная одноточечная модель предпросмотра (посмотрите вперед) управления, разработанная С. С. Макадамом1, 2, 3. Модель представляет поведение управления рулевым управлением драйвера во время маневров следования по пути и избегания препятствий. Предварительный просмотр драйверов (посмотрите вперед), чтобы следовать предопределенному пути.

Stanley

Контроллер, который использует Stanley4 метод минимизации ошибки положения и ошибки угла текущего положения относительна ссылка положения.

На панели Reference Control используйте:

  • Vector input for reference and feedback pose параметр, чтобы ввести, чтобы задать вход.

    НастройкаРеализация
    off (по умолчанию)

    Блок использует продольную, боковую и ссылку рыскания (LongRef, LatRef, LatRef) входные порты и обратная связь (LongFdbk, LatFdbk, LatFdbk) вход порты для положения ссылки и обратной связи.

    on

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

  • Include dynamics параметр, чтобы задать тип модели для контроллера, который будет использоваться.

    НастройкаРеализация
    off (по умолчанию)

    Контроллер использует кинематическую модель велосипеда, которая подходит для следования по пути в низкоскоростных окружениях, таких как парковки, где инерционные эффекты минимальны.

    on

    Контроллер использует динамическую модель велосипеда, которая подходит для следования по пути в высокоскоростных окружениях, таких как шоссе, где инерционные эффекты более выражены.

Вход и выход портов угловых единиц.

Эталонное управление

Прогнозирующий

Время отклика драйвера, τ, в с.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Predictive.

Расстояние предварительного просмотра драйвера, L, в м. Используется для определения временного окна предварительного просмотра, T*.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Predictive.

Стэнли

Выберите этот параметр, чтобы создать RefPose и CurrPose входные порты.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley.

Контроллер вычисляет эту команду с помощью метода Стэнли, закон управления которого основан как на кинематической, так и на динамической модели велосипеда. Чтобы измениться между моделями, используйте этот параметр.

НастройкаРеализация
off

Контроллер использует кинематическую модель велосипеда, которая подходит для следования по пути в низкоскоростных окружениях, таких как парковки, где инерционные эффекты минимальны.

on

Контроллер использует динамическую модель велосипеда, которая подходит для следования по пути в высокоскоростных окружениях, таких как шоссе, где инерционные эффекты более выражены.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley.

Коэффициент усиления транспортного средства, когда он находится в прямом движении, задается как положительная скалярная величина. Это значение определяет, насколько ошибка положения влияет на угол поворота руля. Типичные значения находятся в области значений [1, 5]. Увеличьте это значение, чтобы увеличить величину угла поворота руля.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley.

Коэффициент усиления транспортного средства, когда он находится в обратном движении, задается как положительная скалярная величина. Это значение определяет, насколько ошибка положения влияет на угол поворота руля. Типичные значения находятся в области значений [1, 5]. Увеличьте это значение, чтобы увеличить величину угла поворота руля.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley.

Коэффициент усиления обратной связи рыскание, заданный как неотрицательный действительный скаляр. Это значение определяет, сколько веса придается текущей скорости рыскания транспортного средства, когда блок вычисляет команду угла поворота руля.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley и выберите Include dynamics.

Коэффициент усиления обратной связи угла рулевого управления, заданный как неотрицательный действительный скаляр. Это значение определяет, насколько различие между текущей командой SteerCmd угла рулевого управления и текущим CurrSteer углом рулевого управления влияет на следующую команду угла рулевого управления.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Stanley и выберите Include dynamics.

Параметры транспортного средства

Переднее расположение шины, a, в м. Расстояние от транспортного средства cg до переднего местоположения шины, вдоль продольной оси транспортного средства.

Заднее расположение шины, b, в м. Абсолютное значение расстояния от cg транспортного средства до расположения шины назад, вдоль продольной оси транспортного средства.

Масса транспортного средства, m, в кг.

Зависимости

Чтобы включить этот порт, выполните одно из следующих действий:

  • Установите Lateral control type, controlTypeLat значение Stanley и выберите Include dynamics.

  • Установите Lateral control type, controlTypeLat значение Predictive.

Коэффициент жесткости поворота, CαF , в N/рад.

Зависимости

Чтобы включить этот порт, выполните одно из следующих действий:

  • Установите Lateral control type, controlTypeLat значение Stanley и выберите Include dynamics.

  • Установите Lateral control type, controlTypeLat значение Predictive.

Коэффициент жесткости поворота, CαR , в N/рад.

Зависимости

Чтобы включить этот порт, установите Lateral control type, controlTypeLat равным Predictive.

Инерция вращения транспортного средства, I, вокруг оси рыскания транспортного средства, в Н· м· с ^ 2.

Зависимости

Чтобы включить этот параметр, Установите Lateral control type, controlTypeLat на Predictive.

Коэффициент рулевого управления, Ksteer. Значение не имеет размерности.

Зависимости

Чтобы включить этот параметр, выберите Output handwheel angle.

Предел угла колеса шины, θ, в рад.

Ссылки

[1] MacAdam, C. C. «Оптимальное управление предпросмотром для линейных систем». Журнал динамических систем, измерений и управления. Том 102, № 3, сентябрь 1980.

[2] MacAdam, C. C. «Application of Optimal Preview Control for Simulation of Closed-Loop Automobile Driving». Транзакции IEEE по системам, человеку и кибернетике. Том 11, выпуск 6, июнь 1981 года.

[3] MacAdam, C. C. Разработка моделей взаимодействия водитель/машина с управлением для динамического анализа. Окончательный технический отчет UMTRI-88-53. Энн Арбор, Мичиган: Научно-исследовательский институт транспорта Мичиганского университета, декабрь 1988 года.

[4] Гофман, Габриэль М., Клэр Дж. Томлин, Майкл Монтемерло и Себастьян Трун. Autonomobile Automobile Trajectory Tracking for Off-Road Driving: Проектирование контроллера, Experimental Validation and Racing (неопр.) (недоступная ссылка). Американская контрольная конференция. 2007, стр 2296–2301. doi:10.1109/ACC.2007.4282788

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

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

.
Введенный в R2018a