exponenta event banner

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

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

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

  • Lane Keeping Assist System block

Описание

Блок «Вспомогательная система поддержания полосы движения» имитирует вспомогательную систему поддержания полосы движения (LKA), которая удерживает эго-транспортное средство, движущееся по центру прямой или криволинейной дороги, путем регулировки угла поворота переднего руля. Контроллер уменьшает боковое отклонение и относительный угол рыскания эго-транспортного средства относительно осевой линии полосы движения. Блок вычисляет оптимальные действия управления при удовлетворении ограничений угла поворота с использованием адаптивного модельного прогнозирующего управления (MPC).

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

Порты

Вход

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

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

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

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

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

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

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

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

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

Скорость эго транспортного средства в м/с.

Боковое отклонение эго-транспортного средства в метрах от осевой линии полосы движения.

Угол продольной оси эго-транспортного средства в радианах от осевой линии полосы движения.

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

Зависимости

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

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

Зависимости

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

Сигнал разрешения оптимизации контроллера. Когда этот сигнал:

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

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

Зависимости

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

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

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

  • Привод рулевого управления выходит из строя и не подает правильный сигнал управления эго-транспортному средству.

Зависимости

Чтобы включить этот порт, выберите параметр Use external control signal for bumpless transfer между PFC и другими контроллерами.

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

Модель прогнозирования эго-транспортного средства, определенная матрицей динамики транспортного средства A, матрицей динамики транспортного средства B и матрицей динамики транспортного средства C, должна быть минимальной.

Зависимости

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

Матрица ввода в состояние прогнозной модели эго-транспортного средства. Количество строк в этом сигнале должно соответствовать количеству строк в матрице динамики транспортного средства A.

Модель прогнозирования эго-транспортного средства, определенная матрицей динамики транспортного средства A, матрицей динамики транспортного средства B и матрицей динамики транспортного средства C, должна быть минимальной.

Зависимости

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

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

Модель прогнозирования эго-транспортного средства, определенная матрицей динамики транспортного средства A, матрицей динамики транспортного средства B и матрицей динамики транспортного средства C, должна быть минимальной.

Зависимости

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

Продукция

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

Сигнал управления углом поворота переднего руля в радианах, формируемый контроллером. Угол переднего рулевого управления - это угол передних шин от продольной оси транспортного средства. Угол поворота является положительным по отношению к положительной поперечной оси эго-транспортного средства.

Параметры

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

Вкладка «Параметры»

Транспортное средство Ego

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

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

  • Общая масса

  • Момент инерции рыскания

  • Продольное расстояние от центра тяжести до передних шин

  • Продольное расстояние от центра тяжести до задних шин

  • Жесткость передних шин при повороте

  • Жесткость задних шин при повороте

Дополнительные сведения о модели эго-транспортного средства см. в разделе Прогнозная модель эго-транспортного средства.

При выборе этого параметра удаляется параметр Использовать модель транспортного средства (Use vehicle model).

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

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

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

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

Обычно модель рулевого управления эго-транспортным средством зависит от скорости, и поэтому она изменяется с течением времени. Для обновления внутренней модели во время выполнения используйте входные порты Динамика транспортного средства A, Динамика транспортного средства B и Динамика транспортного средства C.

При выборе этого параметра удаляется параметр Использовать параметры транспортного средства.

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

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

Масса эго-транспортного средства в кг.

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

Момент инерции относительно вертикальной оси эго транспортного средства в кг· м2.

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать параметры транспортного средства.

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

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

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

Исходная прогностическая модель эго-транспортного средства, определенная A, B и C, должна быть минимальной.

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать модель транспортного средства.

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

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

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

Исходная прогностическая модель эго-транспортного средства, определенная A, B и C, должна быть минимальной.

Как правило, модель эго-транспортного средства изменяется во времени. Для обновления матрицы «вход-состояние» во время выполнения используется входной порт Vehicle Dynamics B.

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать модель транспортного средства.

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

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

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

Исходная прогностическая модель эго-транспортного средства, определенная A, B и C, должна быть минимальной.

Как правило, модель эго-транспортного средства изменяется во времени. Для обновления матрицы «состояние-выход» во время выполнения используйте входной порт Vehicle Dynamics C.

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать модель транспортного средства.

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

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

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

Примечание

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

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

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

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

1τs+1

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

Параметр блока: TransportLag
Тип: строка, символьный вектор
По умолчанию: "0"
Ограничения контроллера сохранения полосы движения

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

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

Зависимости

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

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

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

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

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

Зависимости

Этот параметр должен быть больше параметра «Минимальный угол поворота».

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

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

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

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

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

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

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

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

Производительность контроллера с замкнутым контуром. Значение параметра по умолчанию обеспечивает сбалансированную конструкцию контроллера. Задание:

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

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

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

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

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

Вкладка «Блок»

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

Дополнительные сведения см. в разделе Неоптимальное решение QP.

Зависимости

После выбора этого параметра укажите параметр Максимальное число итераций (Maximum iteration number).

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

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

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

Зависимости

Чтобы включить этот параметр, выберите параметр Использовать неоптимальное решение.

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы

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

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

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

.
Представлен в R2018a