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

Этот пример показов, как спроектировать контроллер изменения маршрута с помощью нелинейной модели прогнозирующего управления (MPC). В этом примере вы:

  1. Проверьте алгоритм управления, который объединяет пользовательский алгоритм планирования пути AStar и контроллер изменения маршрута, разработанный с использованием программного обеспечения Model Predictive Control Toolbox™.

  2. Проектируйте нелинейный контроллер MPC для автономного изменения маршрута.

  3. Протестируйте систему управления с обратной связью в модели Simulink ®, используя сценарии вождения, сгенерированные с помощью программного обеспечения Automated Driving Toolbox™.

Введение

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

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

В этом примере:

  1. Сценарий вождения используется для моделирования окружения таким образом, чтобы возникала ситуация, требующая изменения маршрута. Сценарий был создан и экспортирован с помощью приложения Driving Scenario Designer из Automated Driving Toolbox.

  2. На основе этого сценария заполняется дискретная сетка заполнения, которая затем используется планировщиком пути для планирования без столкновения опорного пути для автомобиля , оборудованного датчиком.

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

Обзор модели Simulink

Откройте модель Simulink.

mdl = 'LaneChangeExample';
open_system(mdl)

Модель содержит четыре основных компонента:

  1. Нелинейный MPC - контроллер переключения маршрута, который управляет углом наклона переднего рулевого управления автомобиля , оборудованного датчиком

  2. Vehicle and Environment - Моделирует движение автомобиль , оборудованный датчиком и моделирует окружение

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

  4. AStar Path Planner - Планирует свободный от столкновения путь для автомобиля , оборудованного датчиком с учетом динамического поведения других автомобилей

Внутри подсистемы транспортное средство и окружение подсистема Динамика Аппарата моделирует динамику аппарата с помощью блока Bicycle Model - Velocity Input из Automated Driving Toolbox.

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

Нелинейный контроллер MPC для этого примера разработан с использованием createNLmpcObjLC функция, которая вызывается из helperLCSetUp скрипт. Этот контроллер использует уравнения состояния, заданные в vehicleStateFcnLC.m и управляет углом поворота автомобиля , оборудованного датчиком.

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

plot(scenario)

Figure contains an axes. The axes contains 13 objects of type patch, line.

Следующий рисунок показывает увеличенный фрагмент дороги.

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

out = sim(mdl);

Figure Lane Change Status Plot contains an axes. The axes with title World Coordinates contains 2 objects of type line. This object represents Lane boundaries.

Figure Occupancy Grid contains an axes. The axes with title Ego Perspective contains an object of type image.

Во время симуляции График Птичьего глаза показывает запланированный путь синим цветом.

Чтобы построить график результатов симуляции и изобразить окружение автомобиль , оборудованный датчиком, можно также использовать Bird ' s-Eye Scope (Automated Driving Toolbox). Bird 's-Eye Scope является инструментом визуализации на уровне модели, который можно открыть с панели инструментов Simulink. На вкладке Simulation, в разделе Результаты, нажмите Bird ' s-Eye Scope. После открытия возможностей настройте сигналы по нажатию Find Signals. После настройки сигналов и выполнения симуляции можно просмотреть маневр изменения маршрута, выполняемый автомобилем , оборудованным датчиком, в представлении мировых координат Bird ' s-Eye Scope.

Постройте график эффективности контроллера.

plotLCResults

Figure Lane Change Performance contains 2 axes. Axes 1 with title Steering angle contains an object of type line. This object represents Steering angle. Axes 2 with title Tracking performance contains 2 objects of type line. These objects represent Lateral Position of Ego Vehicle, Planned Trajectory.

Рисунок показывает эффективность изменения маршрута контроллера.

  • График угла поворота показывает, что угол поворота для автомобиля , оборудованного датчиком следует углу поворота стандартного маршрута.

  • График эффективности отслеживания показывает, что нелинейный контроллер MPC выполняет удовлетворительное задание, отслеживая боковое положение опорного пути от планировщика пути AStar.

Запуск контроллера для нескольких Сценариев тестирования

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

  1. Выберите сценарий путем изменения scenarioId в helperLCSetUp. Чтобы использовать дополнительный сценарий, установите scenarioId = 2.

  2. Сконфигурируйте параметры симуляции, запустив helperLCSetUp.

  3. Симулируйте модель с выбранным сценарием.

  4. Оцените эффективность контроллера, используя plotLCResults

  5. Настройте параметры контроллера, если эффективность не удовлетворительная.

Заключение

В этом примере показов, как реализовать интегрированный автономный контроллер изменения маршрута на прямой дороге с ссылкой путем, сгенерированным планировщиком пути AStar, и протестировать его в Simulink, используя сценарии вождения, сгенерированные с использованием программного обеспечения Automated Driving Toolbox.

См. также

|

Похожие темы