Система управления следования траектории

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

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

Описание

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

Этот блок объединяется, возможности Хранения Маршрута Помогают Системе и Адаптивным Системным блокам Круиз-контроля в один контроллер.

Чтобы настроить ваш контроллер, например, использовать усовершенствованные функции 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, и второй элемент является держащимся углом в радианах. Диспетчер использует эти сигналы оценить состояния модели автомобиля, оборудованного датчиком. Используйте этот входной порт, когда управляющие сигналы применились к автомобилю, оборудованному датчиком, не совпадают с сигналами оптимального управления, вычисленными образцовым прогнозирующим контроллером. Это несоответствие может произойти когда, например:

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

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

Зависимости

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