Lateral Driver

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

  • Библиотека:
  • Vehicle Dynamics Blockset / Сценарии Транспортного средства / Драйвер

  • Lateral Driver block

Описание

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

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

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

Настройки

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

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

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

Цель

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

Input port

Тип данных

Замените держащуюся команду с входной руководящей командой.

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

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

На панели 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 оптимальный предварительный просмотр одно точки (предусматривают) модель управления, разработанную К. К. Макэдэмом1, 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* секунды вперед вовремя.* способность к драйверу предсказать будущий ответ транспортного средства на основе текущего руководящего входа управления. 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*)

Предварительно просмотренный вход path 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*)

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

y(t+T*)

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

e(t+T*)

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

u(t), uoT

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

L

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

J

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

U

Передайте (продольную) скорость транспортного средства

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

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

H(s)=esτ

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

τ

Транспортная задержка драйвера

y(t+T*)

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

e(t+T*)

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

u(t), uoT

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

J

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

Контроллер: отслеживание пути ответвления Стэнли

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

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

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

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

Порты

Входной параметр

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

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

Зависимости

Включить этот порт:

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

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

Боковой центр массы (CM) ссылка смещения, в инерционной системе координат, в m.

Зависимости

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

  • Установите 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, в зафиксированной транспортным средством системе координат, в m/s.

Текущее положение транспортного средства в виде [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, в инерционной системе координат, в m.

Зависимости

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

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

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

Боковая скорость транспортного средства, vo, в зафиксированной транспортным средством системе координат, в m/s.

Зависимости

Включить этот порт, Набор 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

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

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

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

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

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

    on

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

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

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

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

    on

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

Угловые единицы порта ввода и вывода.

Ссылочное управление

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

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

Зависимости

Включить этот параметр, Набор Lateral control type, controlTypeLat к Predictive.

Расстояние предварительного просмотра драйвера, L, в m. Используемый, чтобы определить окно времени предварительного просмотра, 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, в m. Расстояние от транспортного средства cg, чтобы передать местоположение шины, вдоль транспортного средства продольная ось.

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

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

Зависимости

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

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

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

Загоняя в угол коэффициент жесткости, CαF , в N/rad.

Зависимости

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

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

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

Загоняя в угол коэффициент жесткости, CαR , в N/rad.

Зависимости

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

Транспортное средство вращательная инерция, I, об оси рыскания транспортного средства, в N · m·.

Зависимости

Включить этот параметр, Набор Lateral control type, controlTypeLat к Predictive.

Регулируя отношение, Ksteer. Значение не имеет никакой размерности.

Зависимости

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

Утомите угловой предел колеса, θ, в рад.

Ссылки

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

[2] Щебеночное покрытие, C. C. "Приложение оптимального управления предварительным просмотром для симуляции автомобильного управления с обратной связью". Транзакции IEEE в системах, человеке и кибернетике. Издание 11, выпуск 6, июнь 1981.

[3] Щебеночное покрытие, C. C. Разработка Драйвера/Транспортного средства, Регулирующего Модели Взаимодействия для Динамического анализа. Итоговый Технический отчет UMTRI-88-53. Анн-Арбор, Мичиган: Научно-исследовательский институт Транспортировки Мичиганского университета, декабрь 1988.

[4] Хоффман, Габриэль М., Клэр Дж. Томлин, Майкл Монтемерло и Себастиан Трун. "Автономное Автомобильное Отслеживание Траектории для Управления Для бездорожья: Проектирование контроллера, Экспериментальная Валидация и Гонки". Американская Конференция по Управлению. 2007, стр 2296–2301. doi:10.1109/ACC.2007.4282788

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

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

Смотрите также

|

Введенный в R2018a