Path Following Control System

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

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

Описание

Блок Path Following Control System симулирует систему управления следования траектории (PFC), которая сохраняет автомобиль, оборудованный датчиком, перемещающийся вдоль центра прямой или изогнутой дороги при отслеживании скорости набора и поддержании безопасного расстояния от ведущего транспортного средства. Для этого контроллер настраивает и продольное ускорение и передний руководящий угол автомобиля, оборудованного датчиком. Блок вычисляет действия оптимального управления при удовлетворении безопасному расстоянию, скорости, ускорению, и регулировании угловых ограничений с помощью адаптивной модели прогнозирующее управление (MPC).

Этот блок комбинирует возможности Lane Keeping Assist System и блоков Adaptive Cruise Control System в один контроллер.

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

Порты

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

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

Скоростное заданное значение автомобиля, оборудованного датчиком в m/s. Когда нет никакого ведущего транспортного средства, контроллер отслеживает эту скорость.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

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

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

Зависимости

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

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

  • Path Following Control 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.

Вывод

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

Ускоряющий управляющий сигнал в m/s2 сгенерирован контроллером.

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

Параметры

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

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

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

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

  • Longitudinal acceleration tracking time constant

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

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

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

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

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

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

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

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

Зависимости

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

Постоянная времени для отслеживания продольного ускорения, заданного в секундах.

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

Зависимости

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

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

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

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

1τs+1

Разрядка управления

Чтобы сконфигурировать безопасное следующее расстояние, установите параметр Default spacing. Для получения дополнительной информации о безопасном следующем расстоянии, используемом контроллером, смотрите Безопасное Следующее Расстояние.

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

Это значение используется, чтобы вычислить:

Зависимости

Чтобы включить этот параметр, выберите параметр Maintain safe distance between lead vehicle and ego vehicle.

Вкладка контроллера

Контроллер следования траектории ограничения

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

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

Зависимости

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

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

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

Зависимости

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

Минимальный автомобиль, оборудованный датчиком продольное ускоряющее ограничение в m/s2.

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

Максимальный автомобиль, оборудованный датчиком продольное ускоряющее ограничение в m/s2.

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

Прогнозирующие настройки контроллера модели

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

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

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

  • Положительное целое число, меньше чем или равное параметру Prediction horizon. В этом случае контроллер вычисляет m свободные перемещения управления, происходящие во времена k через k +m-1, и содержит выход контроллера, постоянный для остающихся шагов горизонта прогноза от k +m через k +p-1. Здесь, k является текущим интервалом управления.

  • Вектор положительных целых чисел, [m 1, m 2, …], где сумма целых чисел равняется параметру Prediction horizon. В этом случае контроллер вычисляет блоки M свободных перемещений, где M является длиной вектора горизонта управления. Первое свободное перемещение применяется ко временам k через k +m1-1, второе свободное перемещение применяется со времени k +m1 через k +m1+m2-1 и так далее. Используя перемещения блока может улучшить робастность вашего контроллера.

Поведение контроллера

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

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

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

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

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

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

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

Зависимости

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

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

Зависимости

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

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

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

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

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

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

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

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

Алгоритмы

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

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

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

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

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

Блоки

Введенный в R2019a

Для просмотра документации необходимо авторизоваться на сайте