В этом примере показано, как спроектировать контроллер изменения полосы движения с помощью нелинейного управления предсказанием модели (MPC). В этом примере выполняется следующее:
Просмотрите алгоритм управления, который объединяет пользовательский алгоритм планирования путей AStar и контроллер изменения полосы движения, разработанный с помощью программного обеспечения Model Predictive Control Toolbox™.
Разработать нелинейный контроллер ПДК для изменения автономной полосы движения.
Протестируйте систему управления с замкнутым контуром в модели Simulink ®, используя сценарии вождения, созданные с помощью программного обеспечения Automated Driving Toolbox™.
Система вспомогательного управления изменением полосы движения автономно направляет эго-транспортное средство в соседнюю полосу движения, когда перед ним медленнее движется другое транспортное средство, как показано на следующем рисунке.

Контроллер изменения полосы движения в этом примере предназначен для работы, когда эго-автомобиль едет по прямой дороге с постоянной скоростью, хотя его можно распространить на другие сценарии вождения с соответствующими модификациями.
В этом примере:
Сценарий движения используется для моделирования окружающей среды таким образом, чтобы возникала ситуация, требующая изменения полосы движения. Сценарий был создан и экспортирован с помощью приложения «Конструктор сценариев вождения» из автоматизированной панели инструментов вождения.
На основе этого сценария заполняется дискретная сетка занятости, которая затем используется планировщиком пути для планирования опорного пути без столкновения для эго-транспортного средства.
Как только опорный путь сформирован, контроллер выполняет автономный маневр изменения полосы движения, управляя углом поворота эго-транспортного средства для отслеживания бокового положения планируемого пути.
Откройте модель Simulink.
mdl = 'LaneChangeExample';
open_system(mdl)
Модель содержит четыре основных компонента:
Нелинейный MPC - контроллер изменения полосы движения, который управляет углом поворота переднего рулевого управления эго-транспортного средства
Транспортное средство и окружающая среда - моделирование движения эго-транспортного средства и моделирование окружающей среды
Генератор сетки занятости - генерирует дискретную сетку, которая содержит информацию об окружающей среде и автомобилях, окружающих эго-транспортное средство
AStar Path Planner - Планирует свободный от столкновений путь для эго-транспортного средства с учетом динамического поведения других автомобилей
В подсистеме Vehicle and Environment подсистема Vehicle Dynamics моделирует динамику транспортного средства с помощью блока Bicycle Model - Velocity Input из автоматизированной панели инструментов вождения.
При открытии этой модели запускается helperLCSetUp сценарий, который инициализирует данные, используемые моделью Simulink, такие как параметры модели транспортного средства, параметры конструкции контроллера, сценарий дороги и окружающие автомобили.
Нелинейный контроллер MPC для этого примера разработан с использованием createNLmpcObjLC , которая вызывается из helperLCSetUp сценарий. Этот контроллер использует уравнения состояния, определенные в vehicleStateFcnLC.m и управляет углом поворота эго-транспортного средства.
Постройте сценарий с дорогой и автомобилями, с которыми столкнется эго-автомобиль.
plot(scenario)

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

Смоделировать модель до конца сценария. Моделирование модели открывает график птичьего глаза в мировых координатах и сетку занятости в Ego Perspective. Сетка занятости показывает изображение дороги и транспортных средств перед эго-транспортным средством и включает запланированный путь в виде белой линии.
out = sim(mdl);


Во время моделирования график птичьего глаза показывает запланированный путь синим цветом.
Для построения графика результатов моделирования и изображения окружения эго-транспортного средства можно также использовать область действия Bird 's-Eye (Automated Driving Toolbox). Область «Птичий глаз» - это инструмент визуализации на уровне модели, который можно открыть с помощью панели инструментов Simulink. На вкладке Моделирование (Simulation) в разделе Результаты проверки (Review Results) щелкните Область действия птичьего глаза (Bird 's-Eye Scope). После открытия области настройки настройте сигналы, нажав кнопку Найти сигналы. После настройки сигналов и запуска моделирования можно просмотреть маневр изменения полосы движения, выполняемый эго-транспортным средством, в окне «World Coordinates View of the Bird 's-Eye Scope».

Постройте график производительности контроллера.
plotLCResults

На рисунке показана производительность контроллера по изменению полосы движения.
График угла рулевого управления показывает, что угол рулевого управления для эго-транспортного средства следует за углом поворота стандартного маневра изменения полосы движения.
График производительности отслеживания показывает, что нелинейный контроллер MPC выполняет удовлетворительную работу по отслеживанию бокового положения опорного пути от планировщика пути AStar.
В этом примере представлен дополнительный сценарий тестирования. Для проверки производительности контроллера можно протестировать контроллер на наличие нескольких сценариев и настроить параметры контроллера, если производительность неудовлетворительна. Для этого:
Выберите сценарий путем изменения scenarioId в helperLCSetUp. Для использования дополнительного сценария установите scenarioId = 2.
Конфигурирование параметров моделирования путем выполнения helperLCSetUp.
Моделирование модели с выбранным сценарием.
Оценка производительности контроллера с помощью plotLCResults
Настройте параметры контроллера, если производительность неудовлетворительна.
В этом примере показано, как реализовать интегрированный автономный контроллер изменения полосы движения на прямой дороге с исходным путем, сгенерированным планировщиком путей AStar, и протестировать его в Simulink с использованием сценариев вождения, сгенерированных с помощью программного обеспечения Automated Driving Toolbox.
nlmpc | Нелинейный контроллер MPC