В этом примере показано, как спроектировать контроллер изменения маршрута, использующий многоступенчатое нелинейное прогнозирующее управление модели (MPC). В этом примере, вас:
Рассмотрите алгоритм управления, который комбинирует пользовательский алгоритм планирования пути AStar и контроллер изменения маршрута, созданный с использованием программное обеспечение Model Predictive Control Toolbox™.
Спроектируйте многоступенчатый нелинейный контроллер MPC для автономного изменения маршрута.
Протестируйте систему управления с обратной связью в модели Simulink®, использующей ведущие сценарии, сгенерированные с помощью программного обеспечения Automated Driving Toolbox™.
Изменение маршрута помогает, система управления автономно регулирует автомобиль, оборудованный датчиком к смежному маршруту, когда существует другое транспортное средство, перемещающееся медленнее перед ним как показано в следующем рисунке.
Контроллер изменения маршрута в этом примере спроектирован, чтобы работать, когда автомобиль, оборудованный датчиком является ведущим на прямой дороге при постоянной скорости, хотя это может быть расширено к другим ведущим сценариям с соответствующими модификациями.
В этом примере:
Ведущий сценарий используется, чтобы смоделировать среду, таким образом, что ситуация, требующая изменения маршрута, возникает. Сценарий был создан и экспортировал использование приложения Driving Scenario Designer от Automated Driving Toolbox.
На основе этого сценария заполняется дискретная сетка заполнения, который затем используется планировщиком пути, чтобы запланировать ссылочный путь без коллизий автомобиль, оборудованный датчиком.
Если ссылочный путь сгенерирован, контроллер выполняет автономный маневр изменения маршрута путем управления держащимся углом автомобиля, оборудованного датчиком, чтобы отследить боковое положение запланированного пути.
Откройте модель Simulink.
mdl = 'LaneChangeExample';
open_system(mdl)
Модель содержит четыре основных компонента:
Нелинейный MPC — контроллер изменения Маршрута, который управляет передним руководящим углом автомобиля, оборудованного датчиком
Транспортное средство и Среда — Моделируют движение автомобиля, оборудованного датчиком и моделируют среду
Генератор Сетки заполнения — Генерирует дискретную сетку, которая содержит информацию о среде и автомобилях, окружающих автомобиль, оборудованный датчиком
Планировщик Пути AStar — Планы путь без коллизий для автомобиля, оборудованного датчиком, рассматривая динамическое поведение других автомобилей
В подсистеме Транспортного средства и Среды подсистема Динамики аппарата моделирует динамику аппарата с помощью блока Bicycle Model - Velocity Input из Automated Driving Toolbox.
Открытие этой модели запускает helperLCSetUp
скрипт, который инициализирует данные, используемые моделью Simulink, такой как параметры модели транспортного средства, параметры проектирования контроллера, дорожный сценарий и окружающие автомобили.
Многоступенчатый нелинейный контроллер MPC для этого примера создан с использованием createNLmpcObjLC
функция, которая вызвана от helperLCSetUp
скрипт. Этот диспетчер использует уравнения состояния, определенные в vehicleStateFcnLC.m
и управляет держащимся углом автомобиля, оборудованного датчиком.
Постройте сценарий с дорогой и автомобилями, с которыми столкнется автомобиль, оборудованный датчиком.
plot(scenario)
Следующий рисунок показывает увеличивший масштаб фрагмент дороги.
Симулируйте модель в конец сценария. Симуляция модели открывает График "Бердз Ай" в Мировых координатах и сетку заполнения в Перспективе Эго. Сетка заполнения показывает представление дороги и транспортных средств перед автомобилем, оборудованным датчиком и включает запланированный путь как белую линию.
out = sim(mdl);
Во время симуляции График "Бердз Ай" отображает запланированный путь синим.
Чтобы построить результаты симуляции и изобразить среду автомобиля, оборудованного датчиком, можно также использовать Bird ' s-Eye Scope (Automated Driving Toolbox). Bird ' s-Eye Scope является инструментом визуализации уровня модели, который можно открыть от панели инструментов Simulink. На вкладке Simulation, рассматриваемых Результатах, нажимают Bird's-Eye Scope. После открытия осциллографа, настроенного сигналы путем нажатия на Find Signals. Если сигналы настраиваются, и симуляция запускается, можно просмотреть маневр изменения маршрута, выполняемый автомобилем, оборудованным датчиком в Представлении Мировых координат Bird ' s-Eye Scope.
Постройте эффективность контроллера.
plotLCResults
Рисунок показывает эффективность изменения маршрута контроллера.
Держащийся угловой график показывает, что держащийся угол для автомобиля, оборудованного датчиком следует за углом стандартного маневра изменения маршрута.
График эффективности Отслеживания показывает, что многоступенчатый нелинейный контроллер MPC делает удовлетворительное задание, отслеживающее боковое положение ссылочного пути от планировщика пути AStar.
Этот пример включает дополнительный сценарий тестирования. Чтобы проверить эффективность контроллера, можно протестировать контроллер на несколько сценариев и настроить параметры контроллера, если эффективность не является удовлетворительной. Сделать так:
Выберите сценарий путем изменения scenarioId
в helperLCSetUp
. Чтобы использовать дополнительный сценарий, установите scenarioId = 2
.
Сконфигурируйте параметры симуляции путем выполнения helperLCSetUp
.
Симулируйте модель с выбранным сценарием.
Оцените эффективность контроллера с помощью plotLCResults
Настройте параметры контроллера, если эффективность не является удовлетворительной.
В этом примере показано, как реализовать интегрированный автономный маршрут, изменяют контроллер на прямой дороге со ссылочным путем, сгенерированным от планировщика пути AStar, и тестируют его в использовании Simulink ведущие сценарии, сгенерированные с помощью программного обеспечения Automated Driving Toolbox.
Nonlinear MPC Controller | nlmpc