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

В этом примере показано, как спроектировать контроллер изменения маршрута, использующий многоступенчатое нелинейное прогнозирующее управление модели (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. Транспортное средство и Среда — Моделируют движение автомобиля, оборудованного датчиком и моделируют среду

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

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

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

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

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

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

plot(scenario)

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

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

Симулируйте модель в конец сценария. Симуляция модели открывает График "Бердз Ай" в Мировых координатах и сетку заполнения в Перспективе Эго. Сетка заполнения показывает представление дороги и транспортных средств перед автомобилем, оборудованным датчиком и включает запланированный путь как белую линию.

out = sim(mdl);

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

Figure Occupancy Grid contains an axes object. The axes object 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 objects. Axes object 1 with title Steering angle contains an object of type line. This object represents Steering angle. Axes object 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.

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

|

Похожие темы