Lane Keeping Assist System

Симулируйте сохраняющую маршрут помощь с помощью адаптивной модели прогнозирующий контроллер

  • Библиотека:
  • Model Predictive Control Toolbox / Автоматизированное Управление

  • Lane Keeping Assist System block

Описание

Блок Lane Keeping Assist System симулирует систему хранения маршрута помогает (LKA), которая сохраняет автомобиль, оборудованный датчиком, перемещающийся вдоль центра прямой или изогнутой дороги путем корректировки переднего руководящего угла. Контроллер уменьшает боковое отклонение и относительный угол рыскания автомобиля, оборудованного датчиком относительно средней линии маршрута. Блок вычисляет действия оптимального управления при удовлетворении держащимся угловым ограничениям с помощью адаптивной модели прогнозирующее управление (MPC).

Чтобы настроить ваш контроллер, например, использовать усовершенствованные функции MPC или изменить начальные условия контроллера, нажимают Create LKA subsystem.

Порты

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

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

Дорожное искривление в виде 1/R, где R является радиусом кривой в метрах.

Дорожное искривление:

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

  • Отрицательный, когда дорога изгибается к отрицательной оси Y глобальной системы координат.

  • Нуль для прямой дороги.

Модели контроллеров дорожное искривление как измеренное воздействие с предварительным просмотром. Можно задать искривление как a:

  • Скалярный сигнал — Задает искривление для текущего контрольного интервала. Диспетчер использует это значение искривления через горизонт предсказания.

  • Векторный сигнал с длиной, меньше чем или равной Prediction Horizon — Задает текущие и предсказанные значения искривления через горизонт предсказания. Если длина вектора меньше горизонта предсказания, то диспетчер использует итоговое значение искривления в векторе для остатка от горизонта предсказания.

Скорость автомобиля, оборудованного датчиком в m/s.

Отклонение ответвления автомобиля, оборудованного датчиком в метрах от средней линии маршрута.

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

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

Зависимости

Чтобы включить этот порт, выберите Use external source для параметра Minimum steering angle.

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

Зависимости

Чтобы включить этот порт, выберите Use external source для параметра Maximum steering angle.

Оптимизация контроллера включает сигнал. Когда этот сигнал:

  • Ненулевой, контроллер выполняет вычисления оптимизации и генерирует управляющий сигнал Steering angle.

  • Нуль, контроллер не выполняет вычисления оптимизации. В этом случае выходной сигнал Steering angle остается в значении, которое он имел, когда оптимизация была отключена. Контроллер продолжает обновлять его оценки внутреннего состояния.

Зависимости

Чтобы включить этот порт, выберите параметр Use external signal to enable or disable optimization.

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

  • Lane Keeping Assist System не является активным контроллером. Поддержание точной оценки состояния, когда контроллер не активен, предотвращает удары в управляющем сигнале, когда контроллер становится активным.

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

Зависимости

Чтобы включить этот порт, выберите параметр Use external control signal for bumpless transfer between PFC and other controllers.

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

Прогнозная модель автомобиля, оборудованного датчиком, заданная Vehicle dynamics matrix A, Vehicle dynamics matrix B и Vehicle dynamics matrix C, должна быть минимальной.

Зависимости

Чтобы включить этот порт, выберите параметр Use vehicle model.

Матрица входа к состоянию прогнозной модели автомобиля, оборудованного датчиком. Количество строк в этом сигнале должно совпадать с количеством строк в Vehicle dynamics matrix A.

Прогнозная модель автомобиля, оборудованного датчиком, заданная Vehicle dynamics matrix A, Vehicle dynamics matrix B и Vehicle dynamics matrix C, должна быть минимальной.

Зависимости

Чтобы включить этот порт, выберите параметр Use vehicle model.

Состояние к выходной матрице прогнозной модели автомобиля, оборудованного датчиком. Количество столбцов в этом сигнале должно совпадать с количеством строк в Vehicle dynamics matrix A.

Прогнозная модель автомобиля, оборудованного датчиком, заданная Vehicle dynamics matrix A, Vehicle dynamics matrix B и Vehicle dynamics matrix C, должна быть минимальной.

Зависимости

Чтобы включить этот порт, выберите параметр Use vehicle model.

Вывод

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

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

Параметры

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

Вкладка параметров

Автомобиль, оборудованный датчиком

Выберите этот параметр, чтобы задать модель автомобиля, оборудованного датчиком, используемую контроллером MPC путем определения свойств автомобиля, оборудованного датчиком. Модель автомобиля, оборудованного датчиком является линейной моделью от переднего руководящего угла до поперечной скорости и углового уровня рыскания. Для получения дополнительной информации смотрите Прогнозную модель Автомобиля, оборудованного датчиком.

Чтобы задать модель транспортного средства, задайте следующие параметры блоков:

  • Total mass

  • Yaw moment of inertia

  • Longitudinal distance from center of gravity to front tires

  • Longitudinal distance from center of gravity to rear tires

  • Cornering stiffness of front tires

  • Cornering stiffness of rear tires

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

Выбор этого параметра очищает параметр Use vehicle model.

Программируемое использование

Параметры блоков: ModelType
Ввод: строка, вектор символов
Значение по умолчанию: "Use vehicle parameters"

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

Чтобы задать первоначальную внутреннюю модель, задайте A, B и матрицы пространства состояний C. Внутренняя модель должна быть минимальной реализацией без прямого сквозного соединения и размерностями A, B, и C должен быть сопоставимым.

Как правило, руководящая модель автомобиля, оборудованного датчиком зависима скоростью, и поэтому, она варьируется в зависимости от времени. Чтобы обновить внутреннюю модель во время выполнения, используйте Vehicle dynamics A, Vehicle dynamics B и входные порты Vehicle dynamics C.

Выбор этого параметра очищает параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: ModelType
Ввод: строка, вектор символов
Значение по умолчанию: "Use vehicle parameters"

Масса автомобиля, оборудованного датчиком в kg.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: VehicleMass
Ввод: строка, вектор символов
Значение по умолчанию: "1575"

Момент инерции об автомобиле, оборудованном датчиком вертикальная ось в Kg · m2.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: VehicleYawInertia
Ввод: строка, вектор символов
Значение по умолчанию: "2875"

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

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: LengthToFront
Ввод: строка, вектор символов
Значение по умолчанию: "1.2"

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

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: LengthToRear
Ввод: строка, вектор символов
Значение по умолчанию: "1.6"

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

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: FrontTireStiffness
Ввод: строка, вектор символов
Значение по умолчанию: "19000"

Жесткость задней шины в N/rad, заданном как отношение между стороной, обеспечивает на задних шинах и углу шин к продольной оси транспортного средства.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle parameters.

Программируемое использование

Параметры блоков: RearTireStiffness
Ввод: строка, вектор символов
Значение по умолчанию: "33000"

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

Начальная прогнозная модель автомобиля, оборудованного датчиком, заданная A, B и C, должна быть минимальной.

Как правило, модель автомобиля, оборудованного датчиком варьируется в зависимости от времени. Чтобы обновить матрицу состояния во время выполнения, используйте входной порт Vehicle dynamics A.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle model.

Программируемое использование

Параметры блоков: EgoModelMatrixA
Ввод: строка, вектор символов
Значение по умолчанию: "[-4.4021 ,-12.4603;1.3913,-5.1868]"

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

Начальная прогнозная модель автомобиля, оборудованного датчиком, заданная A, B и C, должна быть минимальной.

Как правило, модель автомобиля, оборудованного датчиком варьируется в зависимости от времени. Чтобы обновить матрицу входа к состоянию во время выполнения, используйте входной порт Vehicle dynamics B.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle model.

Программируемое использование

Параметры блоков: EgoModelMatrixB
Ввод: строка, вектор символов
Значение по умолчанию: "[24.1270;15.8609]"

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

Начальная прогнозная модель автомобиля, оборудованного датчиком, заданная A, B и C, должна быть минимальной.

Как правило, модель автомобиля, оборудованного датчиком варьируется в зависимости от времени. Чтобы обновить состояние к выходной матрице во время выполнения, используйте входной порт Vehicle dynamics C.

Зависимости

Чтобы включить этот параметр, выберите параметр Use vehicle model.

Программируемое использование

Параметры блоков: EgoModelMatrixC
Ввод: строка, вектор символов
Значение по умолчанию: "[1,0;0,1]"

Начальная скорость модели автомобиля, оборудованного датчиком, когда хранение маршрута помогают, включена в m/s. Эта скорость может отличаться от фактической скорости начальной буквы автомобиля, оборудованного датчиком.

Примечание

Очень маленькая начальная скорость, например, eps, может произвести неминимальную реализацию для модели объекта управления контроллера, вызвав ошибку. Чтобы предотвратить эту ошибку, установите начальную скорость на большее значение, например, 1e-3.

Программируемое использование

Параметры блоков: InitialLongVel
Ввод: строка, вектор символов
Значение по умолчанию: "15"

Общая транспортная задержка, τ, в модели автомобиля, оборудованного датчиком в секундах. Эта задержка включает привод, датчик и коммуникационные задержки. Для каждого канала ввода-вывода транспортная задержка аппроксимирована:

1τs+1

Программируемое использование

Параметры блоков: TransportLag
Ввод: строка, вектор символов
Значение по умолчанию: "0"
Маршрут, сохраняющий ограничения контроллера

Минимальное переднее руководящее угловое ограничение в радианах.

Если минимальный руководящий угол варьируется в зависимости от времени, добавьте входной порт Minimum steering angle в блок путем выбора Use external source.

Зависимости

Этот параметр должен быть меньше параметра Maximum steering angle.

Программируемое использование

Параметры блоков: MinSteering
Ввод: строка, вектор символов
Значение по умолчанию: "-0.26"

Максимальное переднее руководящее угловое ограничение в радианах.

Если максимальный руководящий угол варьируется в зависимости от времени, добавьте входной порт Maximum steering angle в блок путем выбора Use external source.

Зависимости

Этот параметр должен быть больше параметра Minimum steering angle.

Программируемое использование

Параметры блоков: MaxSteering
Ввод: строка, вектор символов
Значение по умолчанию: "0.26"
Прогнозирующие настройки контроллера модели

Шаг расчета контроллера в секундах.

Программируемое использование

Параметры блоков: Ts
Ввод: строка, вектор символов
Значение по умолчанию: "0.1"

Шаги горизонта предсказания контроллера. Время предсказания контроллера является продуктом шага расчета и горизонта предсказания.

Программируемое использование

Параметры блоков: PredictionHorizon
Ввод: строка, вектор символов
Значение по умолчанию: "30"

Эффективность контроллера с обратной связью. Значение параметров по умолчанию обеспечивает сбалансированное проектирование контроллера. Определение a:

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

  • Большее значение производит более агрессивный контроллер с более быстрым временем отклика.

Когда вы изменяете этот параметр, изменение сразу применяется к контроллеру.

Программируемое использование

Параметры блоков: ControllerBehavior
Ввод: строка, вектор символов
Значение по умолчанию: "0.5"

Блокируйте вкладку

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

Для получения дополнительной информации смотрите Субоптимальное Решение QP.

Зависимости

После выбора этого параметра задайте параметр Maximum iteration number.

Программируемое использование

Параметры блоков: suboptimal
Ввод: строка, вектор символов
Значение по умолчанию: "off"

Максимальное количество итераций оптимизации контроллера.

Зависимости

Чтобы включить этот параметр, выберите параметр Use suboptimal solution.

Программируемое использование

Параметры блоков: maxiter
Ввод: строка, вектор символов
Значение по умолчанию: "10"

Чтобы добавить входной порт Enable optimization в блок, выберите этот параметр.

Программируемое использование

Параметры блоков: optmode
Ввод: строка, вектор символов
Значение по умолчанию: "off"

Чтобы добавить входной порт External control signal в блок, выберите этот параметр.

Программируемое использование

Параметры блоков: trackmode
Ввод: строка, вектор символов
Значение по умолчанию: "off"

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

Можно изменить пользовательскую подсистему контроллера к:

  • Измените настройки MPC по умолчанию или используйте, усовершенствовал функции MPC.

  • Измените начальные условия контроллера по умолчанию.

Алгоритмы

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

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

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

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

Введенный в R2018a