Этот пример показывает, как визуализировать покрытия датчика и обнаружения, полученные с высокоточных радаров и лидарных датчиков в 3D среде симуляции. В этом примере вы узнаете, как:
Сконфигурируйте модели Simulink ® для симуляции в 3D окружении. Это окружение визуализируется с помощью Unreal Engine ® из Epic Games ®.
Считайте достоверные данные и транспортное средство траектории из сценария, созданного с помощью приложения Driving Scenario Designer, а затем воссоздайте этот сценарий в модели Simulink.
Добавьте радарные и лидарные датчики к этим моделям с помощью блоков Simulation 3D Probabilistic Radar и Simulation 3D Lidar.
Визуализируйте сценарий вождения и сгенерированные данные о датчике в Bird ' s-Eye Scope.
Вы можете использовать эти визуализации и данные о датчике для тестирования и улучшения ваших автоматических алгоритмов вождения. Можно также расширить этот пример, чтобы сплавить обнаружения и визуализировать результаты отслеживания объектов, как показано в примере Sensor Fusion Using Synthetic Radar и Vision Data in Simulink.
В этом примере основной истины (дороги, полосы и актёры) и траектории транспортных средств исходят из сценария, который был написан в приложении Driving Scenario Designer. В этом приложении автомобили и другие актёры представлены в виде простых фигур коробки, называемых кубоидами. Для получения дополнительной информации об авторских кубоидных сценариях смотрите пример «Создание сценария вождения в интерактивном режиме» и «Генерация синтетических данных о датчике».
Откройте файл сценария кубоидного вождения в приложении.
drivingScenarioDesigner('StraightRoadScenario.mat')
В приложении запустите симуляцию сценария. В этом сценарии автомобиля , оборудованного датчиком (синяя машина) едет на север по прямой дороге с постоянной скоростью. В соседней полосе оранжевая машина едет на север с несколько большей постоянной скоростью. В противоположной полосе жёлтый грузовик едет на юг с постоянной скоростью.
При разработке сценариев вождения, которые вы позже воссоздаете в среде симуляции 3D, необходимо использовать дорожную сеть, идентичную сети из сцен 3D по умолчанию. В противном случае в воссозданном сценарии положения транспортных средств и датчиков неточны. Этот сценарий вождения использует воссоздание сцены «Прямая дорога». Чтобы выбрать другую кубоидную версию 3D сцены, на панели инструментов приложения выберите Open > Prebuilt Scenario > Simulation3D и выберите из доступных сцен. Не все 3D сцены имеют соответствующие версии в приложении.
Список поддерживаемых сцен и дополнительные сведения о каждой сцене см. в Cuboid Versions of 3D Simulation Scenes in Driving Scenario Designer.
Чтобы сгенерировать траектории транспортного средства для сцен, которые не доступны в приложении, используйте процесс, описанный в примере Select Waypoints for Unreal Engine Simulation.
Размерности транспортных средств в кубоидных сценариях должны также совпадать с размерностями одного из предопределенных 3D типов транспортных средств симуляции. На панели инструментов приложения, в разделе 3D Display, выбор Use 3D Simulation Actor Dimensions устанавливает для каждого кубоидного транспортного средства размерности 3D типа транспортного средства. В этом сценарии транспортные средства имеют эти 3D типы отображения и соответствующие размерности транспортного средства.
Ego Vehicle
- размерности транспортного средства седан
Vehicle in Adjacent Lane
- размерности автомобиля Muscle Car
Vehicle in Opposite Lane
- Размеры коробчатого транспортного средства
Чтобы изменить транспортное средство на другой тип отображения, на вкладке Актёры в левой панели приложения обновите параметр 3D Display Type для этого транспортного средства. Чтобы изменить цвет транспортного средства, выберите цветовую закрашенную фигуру рядом с выбранным транспортным средством и выберите новый цвет.
Чтобы просмотреть, как автомобили отображаются в 3D среде, используйте окно 3D display, доступное из приложения. На панели инструментов приложения выберите 3D Display > View Simulation in 3D Display и снова запустите симуляцию.
Модель, используемая в этом примере, воссоздает кубоидный сценарий вождения. Модель также задает высокоточные датчики, которые генерируют синтетические обнаружения от окружения. Откройте модель.
open_system('Visualize3DSimulationSensorCoveragesDetections')
Блок Simulation 3D Scene Configuration конфигурирует модель для симуляции в 3D окружении.
Параметр имя установлен по умолчанию Straight road
сцена. Эта сцена соответствует кубоидной версии, заданной в файле сценария приложения.
Параметр Scene view установлен в Ego Vehicle
. Во время симуляции в 3D окне симуляции отображается сцена из-за автомобиля , оборудованного датчиком.
Блок Scenario Reader считывает достоверные данные (дорожные контуры, разметку маршрута и положения актёра) из файла сценария приложения. The Bird ' s-Eye Scope визуализирует эти достоверные данные, а не достоверные данные 3D среды симуляции. Чтобы использовать одну и ту же сцену для кубоидной и 3D среды симуляции, достоверные данные для обоих окружений должны совпадать. Если вы создаете новый сценарий, можно сгенерировать блок Scenario Reader, который считывает данные из файла сценария. Сначала откройте файл сценария в приложении Driving Scenario Designer. Затем на панели инструментов приложения выберите экспорт > Export Simulink Model. Если вы обновляете сценарий, вам не нужно генерировать новый блок Scenario Reader.
Оба блока Simulation 3D Scene Configuration и Scenario Reader имеют значение параметра Sample time 0.1
. В сложение все другие 3D симуляции транспортного средства и сенсорные блоки наследуют свои шаги расчета от блока Симуляции 3D Scene Configuration. Путем установки одного шага расчета по всей модели, Bird ' s-Eye Scope отображает данные из всех блоков с постоянной скоростью. Если данные основные истины и датчика имеют различные шаги расчета, то возможности визуализируют их в разных временных интервалах. Этот процесс заставляет визуализацию данных основных истин и датчика мигать.
Блоки Simulation 3D Vehicle with Ground Following задают внешние виды и траектории транспортных средств в 3D среде симуляции. Каждое транспортное средство является прямым аналогом одного из транспортных средств, определенных в файле сценария приложения Driving Scenario Designer.
В 3D окружении положения транспортного средства находятся в мировых координатах. Однако блок Scenario Reader выводит положения актёров, не являющихся эго, в координатах автомобиля , оборудованного датчиком. Блок Vehicle To World преобразует эти неэгоистические положения актёра в мировые координаты. Поскольку автомобиль , оборудованный датчиком выводится в мировых координатах, это преобразование не обязательно для автомобиля , оборудованного датчиком. Для получения дополнительной информации о транспортном средстве и мировых системах координат смотрите Системы координат в Automated Driving Toolbox.
Местоположения транспортного средства источников различны между кубоидным и 3D сценариями.
В кубоидных сценариях источник транспортного средства находится на земле, в центре задней оси.
В 3D сценариях источник транспортного средства находится на земле, в геометрическом центре транспортного средства.
Блоки Cuboid To 3D Simulation преобразуют кубоидные исходные положения в 3D исходные положения симуляции. В идентификаторе актёра, используемом для параметров преобразования этих блоков, заданное ActorID
каждого транспортного средства определяет, какой источник транспортного средства должно быть преобразовано. Блок Scenario Reader выводит ActorID
значения в его выходном порту Actors. В приложении Driving Scenario Designer можно найти соответствующую ActorID
значения на вкладке «Актёры», в списке выбора актёра. The ActorID
для каждого транспортного средства является значением, которое предшествует двоеточию.
Каждый блок Cuboid To 3D Simulation выводит значения X, Y и Yaw, которые поступают непосредственно в соответствующие блоки транспортных средств. В среде симуляции 3D наземный рельеф 3D сцены определяет положение Z (повышение), угол крена и угол тангажа транспортных средств.
В каждой Симуляции 3D Транспортного средства с блоком Ground Following, параметр Type соответствует 3D Отображению Type, выбранному для этого транспортного средства в приложении сложения, параметр Color соответствует цвету транспортного средства, указанному в приложении. Чтобы поддерживать аналогичные визуализации транспортного средства между Bird ' s-Eye Scope и окном симуляции 3D, указанный тип и цвет должны совпадать. Чтобы изменить цвет транспортного средства в приложении, на вкладке Актёры, щелкните цветовая закрашенная фигура справа от имени актёра в списке выбора актёра. Выберите цвет, наиболее близкий к цветам, доступным в параметре Color блока Simulation 3D Vehicle with Ground Following.
Модель включает два блока датчиков с настройками параметра по умолчанию. Эти блоки генерируют обнаружения из среды симуляции 3D.
Блок Simulation 3D Probabilistic Radar генерирует обнаружения объектов на основе статистической модели. Этот датчик установлен на переднем бампере автомобиля , оборудованного датчиком.
Блок датчика Simulation 3D Lidar генерирует обнаружения в виде облака точек. Этот датчик установлен в центре крыши автомобиля , оборудованного датчиком.
Хотя можно задать датчики в приложении Driving Scenario Designer и экспортировать их в Simulink, экспортированные блоки несовместимы со средой симуляции 3D. Вы должны задать 3D датчики симуляции в модели непосредственно.
Во время симуляции можно визуализировать сценарий как в окне симуляции 3D, так и в окне Bird 's-Eye Scope.
Сначала откройте возможности. На панели инструментов Simulink, в разделе Review Результатов, нажмите Bird ' s-Eye Scope. Затем, чтобы найти сигналы, которые могут отобразить возможности, нажмите Find Signals.
Чтобы запустить симуляцию, щелкните Запуском в модели или возможностях. Когда симуляция начинается, это может занять несколько секунд, чтобы инициализировать окно 3D симуляции, особенно когда вы запускаете его впервые в сеансе Simulink. Когда это окно откроется, он отображает сценарий с высокоточной графикой, но не отображает обнаружения или покрытия датчика.
Bird 's-Eye Scope отображает обнаружения и покрытия датчика с помощью кубоидного представления. Зона радиолокационного покрытия и обнаружения находятся в красном цвете. Зона покрытия лидара находится в сером цвете, и ее обнаружения облака точек отображаются как палитра парула.
Модель запускает симуляцию со скоростью 0,5 секунды на стену-тактовую секунду. Чтобы настроить темп, на панели инструментов Simulink выберите Запуск > Темп симуляции, а затем переместите ползунок, чтобы увеличить или уменьшить скорость симуляции.
При изменении сценария вождения может потребоваться обновить сценарий в приложении Driving Scenario Designer, модели Simulink или в обоих местах, в зависимости от того, что вы изменяете.
Измените дорожную сеть - В приложении выберите новую предварительно построенную сцену из папки Simulation3D. Не изменяйте эти дорожные сети, иначе дороги не будут совпадать с дорогами в выбранной 3D сцене. В модели, в блоке Simulation 3D Scene Configuration, выберите соответствующую сцену в параметре Scene name.
Измените траектории транспортного средства - В приложении измените траектории транспортного средства и сохраните сценарий. В модели вам не нужно ничего обновлять для учета этого изменения. Блок Scenario Reader автоматически извлекает эти изменения.
Измените внешний вид автомобиля - В приложении обновите цвет и 3D Тип дисплея транспортных средств. Также убедитесь, что выбрана опция 3D Отображение > Использовать 3D симуляции размерностей актёра. В модели обновляйте параметры Color и Type соответствующих блоков Simulation 3D Vehicle with Ground Following.
Добавить новое транспортное средство - В приложении создайте новое транспортное средство и укажите траекторию, цвет и 3D тип отображения. В модель добавьте новый блок Simulation 3D Vehicle с Ground Following и соответствующий блок Cuboid To 3D Simulation. Настройте эти блоки аналогично настройке существующих неавтомобилей , оборудованных датчиком. В блоке Cuboid To 3D Simulation установите ActorID
нового транспортного средства.
Установите новый автомобиль , оборудованный датчиком - В приложении на вкладке Актёры выберите транспортное средство, которую вы хотите задать в качестве автомобиля , оборудованного датчиком и нажатия кнопки Задать как Автомобиль , оборудованный датчиком. В модели, в блоках Cuboid To 3D Simulation, обновляйте ActorID, используемый для параметров преобразования, с учетом того, какой автомобиль является новым автомобилем , оборудованным датчиком. В блоках датчиков установите параметры Parent имени таким образом, чтобы датчики были установлены на новом автомобиле , оборудованном датчиком.
Измените или добавьте датчики - В приложении вам не нужно вносить какие-либо изменения. В модели измените или добавьте блоки датчиков. При добавлении блоков датчиков установите имя родителя всех датчиков для автомобиля , оборудованного датчиком.
Чтобы визуализировать любой обновленный сценарий в Bird ' s-Eye Scope, необходимо снова нажать кнопку Find Signals. Если вы изменяете сценарий или заинтересованы только в визуализации данных о датчике, рассмотрите отключение 3D окна во время симуляции. В блоке Simulation 3D Scene Configuration очистите параметр Display 3D simulation window.