Predictive Driver

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

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

  • Predictive Driver block

Описание

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

Строения

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

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

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

Цель

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

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

Тип данных

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

Accelerator override

EnablAccelOvr

Boolean

AccelOvrCmd

double

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

Accelerator hold

AccelHldBoolean

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

Accelerator disable

AccelZeroBoolean

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

Decelerator override

EnablDecelOvr

Boolean

DecelOvrCmd

double

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

Decelerator hold

DecelHldBoolean

Отключите команду замедлителя.

Decelerator disable

DecelZeroBoolean

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

Steering override

EnblSteerOvr

Boolean

SteerOvrCmd

double

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

Steering hold

SteerHldBoolean

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

Steering disable

SteerZeroBoolean

Контроллеры

Используйте параметр Longitudinal control type, cntrlType, чтобы задать одну из следующих опций управления.

Настройка

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

PI

Пропорционально-интегральное (PI) управление с отслеживанием коэффициентов усиления и feedforward.

Scheduled PI

Управление ПИ с отслеживанием насыщения и передаточного усиления, которые являются функцией скорости транспортного средства.

Predictive

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

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

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

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

Используйте параметр 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

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

Сдвиг

Используйте параметр Shift type, ShftType, чтобы задать одну из следующих опций shift.

Настройка

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

None

Коробка передач отсутствует. Блок выводит постоянную передачу 1.

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

Reverse, Neutral, Drive

Блок использует Stateflow® диаграмма для моделирования заднего, нейтрального и графика сдвига передач привода.

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

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

Scheduled

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

Используйте эту настройку, чтобы сгенерировать команды ускорения и торможения для отслеживания движения вперед и назад транспортного средства с помощью планирования сдвига передачи назад, нейтралей, парковки и N-ступеней. В зависимости от состояния транспортного средства и обратной связи о скорости транспортного средства, блок использует эти параметры, чтобы определить:

  • Начальная передача

  • Положения педалей акселератора повышенной и понижающей переключений

  • Скорость переключения вверх и вниз

  • Тайминг для перемены и зацепления вперед и назад от нейтрали

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

External

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

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

Модули

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

Сигнал передачи

Используйте параметр Output gear signal, чтобы создать GearCmd выходной порт. The GearCmd сигнал содержит целое значение управляемой передачи транспортного средства.

Механизм

Целое число

Парк

80

Перемена

-1

Нейтральный

0

Двигатель

1

Механизм

Gear number

Угол рабочего колеса выхода

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

Настройка

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

Порт

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

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

SteerCmd - Выход

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

SteerOvrCmd - Вход

on

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

SteerCmd - Выход

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

SteerOvrCmd - Вход

Контроллер: ПИ отслеживание скорости

Если вы задаете тип элемента управления PI или Scheduled PIблок реализует пропорционально-интегральное (PI) управление с отслеживанием коэффициентов усиления и feedforward. Для Scheduled PI строение, блок использует коэффициент усиления передачи, которые являются функцией скорости транспортного средства.

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

Настройка

Уравнение

PI

y=Kffvnomvref+Kperefvnom+(Kierefvnom+Kaweout)dt+Kgθ

Scheduled PI

y=Kff(v)vnomvref+Kp(v)erefvnom+(Ki(v)erefvnom+Kaweout)erefdt+Kg(v)θ

где:eref=vrefveout=ysatyysat={1y<1y1y111<y

Фильтр lowpass ошибки скорости использует эту передаточную функцию.

H(s)=1τerrs+1   для   τerr>0

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

yacc={0ysat<0ysat0ysat111<ysatydec={0ysat>0ysat1ysat01ysat<1

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

vnom

Номинальная скорость транспортного средства

Kp

Пропорциональная составляющая

Ki

Интегральная составляющая

Kaw

Анти-обмотка усиления

Kff

Скоростной передаточный коэффициент усиления

Kg

Feedforward угла ранга

θ

Угол уклона

τerr

Постоянная времени фильтрации ошибок

y

Номинальная выходная величина управления

ysat

Насыщенная выходная величина управления

eref

Ошибка скорости

eout

Различие между насыщенным и номинальным выходами управления

yacc

Сигнал ускорения

ydec

Сигнал торможения

v

Сигнал обратной связи по скорости

vref

Опорный сигнал скорости

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

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

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

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

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

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

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

x1=Ux˙1=x2=Kptm+ vrgsin(γ)+Frx1y˙=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+guгде:x=[x1x2yvrψ]F=[010000Frm000v000010U0002(CαF+CαR)mU2(bCαRaCαF)mUU00002(bCαRaCαF)IU2(a2CαF+b2CαR)IU0000010]g=[00Kptm00002CαFm02aCαFI00]u=[u¯ δF]  u¯=u m2Kptgsin(γ)

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

a*=(T*)mT[I+n=1Fn(T*)n(n+1)!]gb*=mT[I+n=1Fn(T*)nn!]mT=[111000]

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

a, b

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

m

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

I

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

CɑF

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

CɑR

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

a*, b*

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

x

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

v

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

r

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

Ψ

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

y

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

F

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

δ, δF

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

γ

Угол уклона

g

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

U

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

T*

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

ƒ(t+T*)

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

u

Тяговая сила

mT

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

ar

Статическое сопротивление качения и привода

br

Линейное сопротивление качения и привода

cr

Аэродинамическое сопротивление качения и привода

Fr

Сопротивление качению

Оптимизация

Одноточечная модель, реализованная блоком, находит команду рулевого управления, которая минимизирует локальный индекс эффективности, 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 является углом транспортного средства относительно ссылки пути.

Порты

Вход

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

Опорная скорость, vref, в модулях, заданных Longitudinal velocity units, velUnits.

Ссылка на перемещение продольного центра масс (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

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

Зависимости

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

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

Команда переопределения ускорения, нормированная от 0 до 1.

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

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

Зависимости

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

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

Команда замедления переопределения, нормированная с 0 до 1.

Зависимости

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

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

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

Зависимости

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

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

Отключите команду замедления.

Зависимости

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

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

Механизм

Целое число

Парк

80

Перемена

-1

Нейтральный

0

Двигатель

1

Механизм

Gear number

Зависимости

Чтобы включить этот порт, установите Shift type, shftType равным External.

Угол уклона дороги, γ, в град.

Ссылочное положение, заданное как вектор [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, в неподвижной системе координат транспортного средства, в модулях, заданных Longitudinal velocity units, velUnits.

Положение тока транспортного средства, заданное как вектор [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.

Выход

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

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

СигналПеременнаяОписание
SteerδF

Командированный угол поворота, нормированный от 0 до 1

Accelyacc

Ускорение командованного транспортного средства, нормированное от 0 до 1

Decel ydec

Командованное замедление транспортного средства, нормированное от 0 до 1

Gear

Целое значение командной передачи

Clutch

Команда муфты

ErrLatErrErreref

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

ErrSqrSum0teref2dt

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

ErrMaxmax(eref(t))

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

ErrMinmin(eref(t))

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

LngErrErreref

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

ErrSqrSum0teref2dt

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

ErrMaxmax(eref(t))

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

ErrMinmin(eref(t))

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

ExtActionsEnblSteerOvr

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

SteerOvrCmd

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

SteerHld

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

SteerZero

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

EnblAccelOvr

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

AccelOvrCmd

Вход переопределения входного ускорителя

AccelHld

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

AccelZero

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

EnblDecelOvr

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

DecelOvrCmd

Входная команда переопределения замедления

DecelHld

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

DecelZero

Отключите команду замедлителя

Командовал углом поворота, δ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 - Вход

Командованное ускорение транспортного средства, yacc, нормированное от 0 до 1.

Командованное замедление транспортного средства, ydec, нормированное от 0 до 1.

Целое значение командной передачи транспортного средства.

Механизм

Целое число

Парк

80

Перемена

-1

Нейтральный

0

Двигатель

1

Механизм

Gear number

Зависимости

Чтобы включить этот порт, выберите Output gear signal.

Параметры

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

Строение

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

Управление и сдвиг

Тип продольного регулирования.

Настройка

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

PI

Пропорционально-интегральное (PI) управление с отслеживанием коэффициентов усиления и feedforward.

Scheduled PI

Управление ПИ с отслеживанием насыщения и передаточного усиления, которые являются функцией скорости транспортного средства.

Predictive

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

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

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

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

Используйте параметр 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

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

Тип сдвига.

Настройка

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

None

Коробка передач отсутствует. Блок выводит постоянную передачу 1.

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

Reverse, Neutral, Drive

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

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

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

Scheduled

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

Используйте эту настройку, чтобы сгенерировать команды ускорения и торможения для отслеживания движения вперед и назад транспортного средства с помощью планирования сдвига передачи назад, нейтралей, парковки и N-ступеней. В зависимости от состояния транспортного средства и обратной связи о скорости транспортного средства, блок использует эти параметры, чтобы определить:

  • Начальная передача

  • Положения педалей акселератора повышенной и понижающей переключений

  • Скорость переключения вверх и вниз

  • Тайминг для перемены и зацепления вперед и назад от нейтрали

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

External

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

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

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

Зависимости

Если вы задаете Longitudinal control type, CntrlType тип элемента управления Scheduled или Scheduled PIблок использует Longitudinal velocity units, velUnits для размерности параметра Nominal speed, vnom.

Если вы задаете Shift Type, shftType Scheduled, блок использует Longitudinal velocity units, velUnits для этих размерностей параметра:

  • Upshift velocity data table, upShftTbl

  • Downshift velocity data table, dwnShftTbl

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

Задайте, чтобы создать выходной порт GearCmd.

Используйте параметр 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.

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

Продольный

Пропорциональная составляющая, Kp, безразмерный.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI.

Пропорциональная составляющая, Ki, безразмерный.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI.

Скорость переднего усиления, Kff, безразмерная.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI.

Feedforward угла ранга, Kg, в 1/град.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI.

Скорости усиления прерывания, VehVelVec, безразмерные.

Зависимости

Чтобы создать этот параметр, установите Control type равным Scheduled PI.

Скорости feedforward значения усиления, KffVec, как функция от скорости транспортного средства, безразмерны.

Зависимости

Чтобы создать этот параметр, установите Control type равным Scheduled PI.

Пропорциональные составляющие, KpVec, как функция скорости транспортного средства, безразмерные.

Зависимости

Чтобы создать этот параметр, установите Control type равным Scheduled PI.

Интегральные составляющие, KiVec, как функция скорости транспортного средства, безразмерны.

Зависимости

Чтобы создать этот параметр, установите Control type равным Scheduled PI.

Угловые передние значения, KgVec, как функция скорости транспортного средства, в 1/град.

Зависимости

Чтобы создать этот параметр, установите Control type равным Scheduled PI.

Номинальная скорость транспортного средства, vnom, в модулях, заданных параметром Reference and feedback units, velUnits. Блок использует номинальную скорость, чтобы нормализовать усиления контроллера.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI или Scheduled PI.

Антиокружительный коэффициент усиления, Kaw, безразмерный.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI или Scheduled PI.

Ошибка фильтрации временной константы, τerr, в с. Чтобы отключить фильтр, введите 0.

Зависимости

Чтобы создать этот параметр, установите Control type равным PI или Scheduled PI.

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

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

Зависимости

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

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

Зависимости

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

Эффективная общая тяговая сила транспортного средства, Kp, в Н.

Зависимости

Чтобы создать этот параметр, установите Longitudinal control type, cntrlType равным Predictive.

Статический коэффициент сопротивления качения и привода, aR, в блоке N. использует параметр, чтобы оценить постоянное ускорение или тормозное усилие.

Зависимости

Чтобы создать этот параметр, установите Longitudinal control type, cntrlType равным Predictive.

Коэффициент сопротивления качения и привода, bR, в Н· с/м. Блок использует параметр, чтобы оценить линейное ускорение или усилие торможения, зависящее от скорости.

Зависимости

Чтобы создать этот параметр, установите Longitudinal control type, cntrlType равным Predictive.

Коэффициент аэродинамического сопротивления, cR, в Н· с ^ 2/м ^ 2. Блок использует параметр, чтобы оценить квадратичное ускорение или усилие торможения, зависящее от скорости.

Зависимости

Чтобы создать этот параметр, установите Longitudinal control type, cntrlType равным Predictive.

Ускорение свободного падения, г, в м/с ^ 2.

Зависимости

Чтобы создать этот параметр, установите Longitudinal control type, cntrlType равным 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.

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

Сдвиг

Задний ход, нейтраль, привод

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

Механизм

Целое число

Парк

80

Перемена

-1

Нейтральный

0

Двигатель

1

Механизм

Gear number

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Reverse, Neutral, Drive или Scheduled. Если вы задаете Reverse, Neutral, Drive, Initial Gear, GearInit значения параметров может быть только -1, 0, или 1.

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

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Reverse, Neutral, Drive.

Запланированный

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

Механизм

Целое число

Парк

80

Перемена

-1

Нейтральный

0

Двигатель

1

Механизм

Gear number

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Reverse, Neutral, Drive или Scheduled. Если вы задаете Reverse, Neutral, Drive, Initial Gear, GearInit значения параметров может быть только -1, 0, или 1.

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

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Данные скорости переключения вверх как функция от положения педали и передачи, в модулях, заданных параметром Reference and feedback units, velUnits. Скорости переключения вверх указывают скорость транспортного средства, при которой передача должна увеличиться на 1.

Ниже перечислены измерения массива m положение педали по n передачи. Первый столбец данных, когда n равен 1, скорость переключения вверх для нейтральной передачи.

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Данные скорости понижающей передачи как функции положения педали и передачи в модулях, заданных параметром Reference and feedback units, velUnits. Скорости понижающей передачи указывают скорость транспортного средства, при которой передача должна уменьшиться на 1.

Ниже перечислены измерения массива m положение педали по n передачи. Первый столбец данных, когда n равен 1, скорость понижающей передачи для нейтральной передачи.

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Время, необходимое для смены, tClutch, в с.

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Время, необходимое для обращения назад от нейтрали, tRev, в с.

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Время, необходимое для привлечения парка от нейтралей, tPark, в с.

Зависимости

Чтобы создать этот параметр, установите Shift type, shftType равным Scheduled.

Ссылки

[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