Моделирование, сценарии и самостоятельное вождение - способ SAE AutoDrive

Обновление: 20 мая 2021 г.
Моделирование, сценарии и самостоятельное вождение - способ SAE AutoDrive

Введение

Задача SAE AutoDrive - это четырехлетний университетский конкурс дизайнеров, в котором принимают участие 4 команд из США и Канады. Техническая цель высокого уровня на 8-й год этого соревнования - пройти курс городского вождения в автоматизированном режиме вождения, как описано в Уровне 3 SAE.

MathWorks побуждает команды использовать моделирование

Моделирование - очень полезный инструмент для разработки автономных транспортных средств. Тестирование на основе моделей может помочь в разработке алгоритмов, модульном и системном тестировании, а также в тестировании граничных сценариев. Реальный мир датчик данные могут быть записаны и воспроизведены в системе для настройки алгоритмов слияния. Среда моделирования может быть создана для моделирования реальных сред и может использоваться для тестирования различных алгоритмов и положений датчиков. На основании результатов производительности можно выбрать лучшие алгоритмы и положения датчиков, которые соответствуют требованиям команды.

Каждый год MathWorks предлагает командам использовать моделирование через Simulation Challenge. В этом блоге будут кратко описаны занявшие 1-е и 2-е места в конкурсе 2020 Challenge (Университет Торонто и Университет Кеттеринга), их конструкция системы и то, как они использовали инструменты MathWorks для достижения общих целей конкурса. Команды оценивались по тому, как они использовали инструменты для выполнения:

  • Тестирование восприятия разомкнутого цикла - синтез данных для тестирования разомкнутого цикла, оценка правильности алгоритмов
  • Тестирование средств управления с обратной связью - синтез сценариев с обратной связью, оценка эффективности алгоритмов управления
  • Генерация кода алгоритмов управления - генерация кода для алгоритмов, интеграция сгенерированного кода в автомобиль
  • Инновации с использованием инструментов MathWorks – техника/ technology явно отличается от трех вышеуказанных категорий

Университет Торонто

Студенческая команда из Университета Торонто, aUToronto, заняла 1-е место в соревновании.

Тестирование восприятия без обратной связи

Первым шагом этой команды был синтез данных для тестирования восприятия без обратной связи. Они решили протестировать свой алгоритм объединения сенсоров. Чтобы синтезировать синтетические данные для тестирования, они использовали (DSD). Это приложение позволяет вам разрабатывать синтетические сценарии вождения для тестирования вашего автономного вождения. Команда использовала радар и 3 камеры в алгоритмах объединения датчиков, которые настроены, как показано на рисунке 1.

Рисунок 1: Расположение датчиков команды (© aUToronto)

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

Блок Scenario Reader использовался для чтения информации сценария, созданной с помощью DSD. Позы актеров были отправлены в качестве входных данных в несколько генераторов обнаружения. Обнаружения для этих различных датчиков были затем упакованы в виде массивов сообщений ROS (операционной системы роботов) переменного размера и отправлены в виде настраиваемых сообщений ROS в определенные разделы ROS (рис. 2).

Рисунок 2: Модель Simulink для тестирования без обратной связи (© aUToronto)

Команда сравнила выходные данные своего объектного трекера с наземными истинными значениями транспортных средств. Для оценки эффективности использовалась метрика RMSE (среднеквадратическая ошибка).

Тестирование средств управления с обратной связью

Основное внимание команды было уделено тестированию своего модифицированного планировщика на наличие новых возможностей, таких как изменение маршрута для строительных зон и объезд препятствий. Планировщик был переработан для использования решетчатой ​​структуры, в которой края обрезаются с карты для поиска путей вокруг объектов по мере необходимости (рис. 3). DSD снова использовался для создания сценариев. Также к сценариям были добавлены шлагбаумы и светофоры.

Рисунок 3: Структура решетки для поиска пути (© aUToronto)

Команда смоделировала издателя светофора с помощью Stateflow (рисунок 4). Когда эго-транспортное средство находится вне диапазона (> 50 м) светофора, публикуется неизвестное состояние. Когда эго оказывается в пределах досягаемости, публикуется сообщение на красный свет. Сообщение переключается на зеленый свет после того, как эго остановилось на 5 секунд.

Рисунок 4: Stateflow для модели контроллера (© aUToronto)

Запущены узлы ROS контроллера, планировщика и модели автомобиля. Если препятствие находилось в пределах 50 м от эго-транспортного средства, его положение отправлялось в виде сообщения ROS в модель Simulink (рисунок 5).

Рисунок 5: Логика отправки сообщения о местоположении (© aUToronto)

Кодогенерация алгоритмов управления

Команда сгенерировала код для алгоритма обработки знаков остановки (рис. 6). Simulink Coder использовался для преобразования Stateflow в код C++. Автономный модуль был создан с использованием функции упаковки кода. Сгенерированный модуль затем был объединен с базой кода команды.

Рисунок 6: Логика управления стоп-сигналом Stateflow (© aUToronto)

Инновации с использованием инструментов MathWorks - калибровка лидарной камеры

Чтобы точно интерпретировать объекты в сцене с помощью входных сигналов лидара и датчика камеры, необходимо объединить выходы датчиков вместе. Следовательно, команда выполнила преобразование между лидаром и групповой камерой для проецирования точек лидара на изображение или наоборот для объединения сенсоров. Вместо того, чтобы использовать ручные измерения и вращать камеры до тех пор, пока проекции не выглядели хорошо, команда использовала недавно разработанный инструмент калибровки Lidar Camera из набора инструментов обработки Lidar. Этот инструмент оценивает жесткую матрицу преобразования, которая устанавливает соответствия между точками в трехмерной плоскости лидара и пикселями в плоскости изображения.

Они построили калибровочную доску большего размера, поскольку их нынешняя была слишком мала для инструмента. Инструмент калибровки камеры использовался для получения внутренней матрицы для их камеры. Углы шахматной доски были найдены на каждом изображении и данных лидара. Была найдена жесткая матрица преобразования между лидаром и камерой. Этот процесс выводит преобразование, которое можно использовать для проецирования данных облака точек на изображения или наоборот. Эти шаги показаны на рисунке 7.

Рисунок 7: (a) Внутренняя матрица камеры (b) углы шахматной доски (c) матрица преобразования лидара в камеру (© aUToronto)

Университет Кеттеринга

Ассоциация студенческий отряд из Университета Кеттеринга, заняла 2-е место в испытании.

Тестирование восприятия без обратной связи

Команда использовала Unreal Engine для создания различных сценариев. Камера была добавлена ​​к эго-транспортному средству в Unreal с помощью блока 3D-камеры моделирования. Модель Simulink использовалась для обнаружения дорожек с использованием нереальных изображений (рис. 8). Синие квадраты указывают на функции обнаружения полосы движения, а желтые - на выходы на каждом этапе. Эти выходные данные показаны на Рисунке 9.

Рисунок 8: Модель Simulink для тестирования без обратной связи (© Университет Кеттеринга)

Рисунок 9: Выходы обнаружения полосы движения (© Университет Кеттеринга)

Тестирование средств управления с обратной связью

Системная конструкция команды состояла из двух конечных автоматов - продольной и поперечной. Эти конечные автоматы, показанные на рис., Использовались для моделирования логики выбора контроллера на основе данных датчиков и принятия решений. Они были связаны между собой и использовались для включения и инициализации подсистем контроллера.

Рисунок 10: Конечные автоматы (© Университет Кеттеринга)

Комбинированные симуляции контроллеров с моделью Simulink на рисунке 11 были выполнены для проверки работы всех командных контроллеров. Входы в эти контроллеры обеспечивались с помощью ползунков и датчиков.

Рисунок 11: Модель Simulink для тестирования с обратной связью (© Университет Кеттеринга)

Подсистемы регулятора продольного конечного автомата включают регулятор продольной скорости и автоматическое экстренное торможение (AEB). Состояния определялись продольной динамикой транспортного средства, такой как ускорение, круиз, замедление, остановка и парковка.

Подсистемы контроллера конечного автомата включают в себя контроллеры удержания полосы движения (LKA), смены полосы движения и повороты. Состояния определялись по боковой динамике автомобиля (рис. 12). Ниже рассматриваются контроллеры продольной скорости, смены полосы движения и LKA.

Рисунок 12: Состояния бокового регулятора (© Университет Кеттеринга)

Продольный регулятор

На рисунке 13 показана модель Simulink, используемая для моделирования продольного контроллера. Он состоял из ПИД-регулятора, основанного на скорости. Исходный и выходной крутящий момент были ограничены, чтобы оставаться в пределах соревновательных пределов ускорения и рывков. Системные входы инициализировались и редактировались с помощью ползунков, а для просмотра данных использовалась область видимости. На рисунке 14 показаны выходные значения целевой и фактической продольной скорости.

Рисунок 13: Модель продольного контроллера Simulink (© Kettering University)

Рисунок 14: Сравнение продольной скорости (© Университет Кеттеринга)

Контроллер смены полосы движения

В контроллере смены полосы движения используется адаптивный MPC (Model Predictive Control). Контрольный путь был сгенерирован с использованием параметрических функций с входными данными смены полосы движения, такими как скорость транспортного средства и ширина полосы движения. Выходами на контроллер были опорное боковое положение и рыскание. Модель 3DOF (степень свободы) использовалась для моделирования кузова транспортного средства. На рисунке 15 показана модель Simulink, используемая для моделирования. На рисунке 16 показаны результаты моделирования с эталонными и смоделированными путями смены полосы движения, а также с путями, полученными после испытаний в автомобиле.

Рисунок 15: Модель Simulink контроллера смены полосы движения (© Университет Кеттеринга)

Рисунок 16: Сравнение путей смены полосы движения (© Университет Кеттеринга)

Модель автомобиля

Команда разработала и проверила модель одно- и двухгусеничной машины 3DOF. Первоначальная проверка проводилась с использованием линейной модели велосипеда. Окончательная проверка была проведена с данными физических испытаний. На рисунке показаны выходные данные сравнения бокового ускорения с начальной и окончательной проверками, без данных испытаний и с ними.

Рисунок 17: (a) Сравнение бокового ускорения (b) Сравнение с данными испытаний (© Kettering University)

Инновации с использованием инструментов MathWorks - Unreal City

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

Рисунок 18: Нереальная карта светофора (© Университет Кеттеринга)

На рисунке 19 показана структура связи системы Simulink-Unreal. Принятие решений для сцены Unreal, состоящей из положения автомобиля, движения пешеходов, статуса светофора и т. Д., Было сделано с использованием Stateflow и отправлено в качестве входных данных в контроллеры (рисунок 20).

Рисунок 19: Коммуникационная структура системы Simulink Unreal (© Университет Кеттеринга)

Рисунок 20: Stateflow для принятия решений в сцене Unreal (© Университет Кеттеринга)

В заключение, студенческие команды из Университета Торонто и Университета Кеттеринга смогли использовать MATLAB и Simulink для разработки, создания, тестирования и оценки алгоритмов слияния, отслеживания и навигации, чтобы приблизиться на один шаг к созданию автономного транспортного средства уровня 4 SAE в моделирование. Они разработали сложные сценарии со светофорами и несколькими участниками в разных средах моделирования, интегрировали среды с Simulink, развернули и протестировали выбранные ими алгоритмы в этих сценариях. Алгоритмы восприятия разомкнутого и замкнутого цикла были смоделированы и протестированы с использованием Simulink, и для этих систем был сгенерирован код. Команды также разработали и протестировали различные алгоритмы контроллера с использованием Simulink и Stateflow. Инструменты MathWorks широко и новаторски использовались обеими командами чемпионов.