Lane Keeping Assist System

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

  • Библиотека:
  • Модель прогнозирующего управления Toolbox/беспилотное вождение

  • Lane Keeping Assist System block

Описание

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

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

Порты

Вход

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

Кривизна дороги, заданная как 1/ R, где R - радиус кривой в метрах.

Кривизна дороги:

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

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

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

Контроллер моделирует кривизну дороги как измеренное нарушение порядка при предварительном просмотре. Кривизну можно задать как:

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

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

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

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

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

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

Зависимости

Чтобы включить этот порт, выберите 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, путем определения свойств автомобиля , оборудованного датчиком. Модель автомобиля , оборудованного датчиком является линейной моделью от угла рулевого управления спереди до скорости угла поперечной скорости и рыскания. Для получения дополнительной информации см. Автомобиль , оборудованный датчиком Predictive Model.

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

  • 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"

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

Зависимости

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

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

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

Момент инерции вокруг вертикальной оси эго-автомобиля в Кг· м2.

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр 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]"

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

Примечание

Очень маленькая начальная скорость, например 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"

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

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

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

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

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

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

Блок»

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

Для получения дополнительной информации см. Suboptimal QP Solution.

Зависимости

После выбора этого параметра задайте параметр 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++ с помощью Coder™ Simulink ®

.

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

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