В этом примере показано, как создать ведущий сценарий и сгенерировать видение и радарные обнаружения датчика из сценария при помощи приложения Driving Scenario Designer. Можно использовать эти синтетические данные, чтобы протестировать контроллеры или алгоритмы cочетания датчиков.
Этот пример показывает целый рабочий процесс для создания сценария и генерации синтетических данных о датчике. В качестве альтернативы можно сгенерировать данные о датчике из предварительно созданных сценариев. См. Предварительно созданные Ведущие Сценарии в Driving Scenario Designer.
Открыть приложение, в MATLAB® командная строка, введите drivingScenarioDesigner
.
Добавьте кривую дорогу к холсту сценария. На панели инструментов приложения нажмите Add Road. Затем кликните по одному углу холста, расширьте дорогу к противоположному углу и дважды кликните холст, чтобы создать дорогу.
Чтобы сделать дорожную кривую, добавьте road center, вокруг которого можно изогнуть ее. Щелкните правой кнопкой по середине дороги и выберите Add Road Center. Затем перетащите добавленный дорожный центр к одному из пустых углов холста.
Чтобы настроить дорогу далее, можно перетащить любой из дорожных центров. Чтобы создать более комплексные кривые, добавьте больше дорожных центров.
По умолчанию дорога является однополосным и не имеет никаких маркировок маршрута. Чтобы сделать сценарий более реалистичным, преобразуйте дорогу в магистраль 2D маршрута. На левой панели, на вкладке Roads, расширяют раздел Lanes. Установите Number of lanes на [1 1]
. Приложение устанавливает параметр Lane Width на 3.6
метры, который является типичной магистральной шириной маршрута.
Белые, серьезные маркировки маршрутов на любом ребре дороги указывают на дорожное плечо. Желтая, двойная серьезная маркировка маршрута в центре указывает, что дорога является двухсторонней дорогой. Смотреть или изменить эти маршруты, из списка Lane Marking, избранного одного из маршрутов и изменять параметры маршрута.
Чтобы добавить барьеры вдоль ребер кривой дороги, используйте панель инструментов приложения или дорожное контекстное меню. На панели инструментов приложения нажмите Add Actor> Jersey Barrier. Переместите курсор в правый край дороги и нажатия кнопки, чтобы добавить барьер вдоль него. Это также открывает вкладку Barriers на левой панели. Чтобы добавить разрыв 1 м между сегментами барьера изменяют значение свойства Segment Gap (m) во вкладке Barriers к 1.
Чтобы добавить барьер поручня для левого края дороги с помощью дорожного контекстного меню, щелкните правой кнопкой мыши на дороге и выберите Add Guardrail> Left edge. Задайте разрыв на 1 м между сегментами барьера для поручня, с помощью свойства Segment Gap (m) во вкладке Barriers.
По умолчанию первым автомобилем, который вы добавляете в сценарий, является ego vehicle, который является основным автомобилем в ведущем сценарии. Автомобиль, оборудованный датчиком содержит датчики, которые обнаруживают маркировки маршрута, пешеходов или другие автомобили в сценарии. Добавьте автомобиль, оборудованный датчиком, и затем добавьте второй автомобиль для автомобиля, оборудованного датчиком, чтобы обнаружить.
Чтобы добавить автомобиль, оборудованный датчиком, щелкните правой кнопкой по одному концу дороги и выберите Add Car. Чтобы задать траекторию автомобиля, щелкните правой кнопкой по автомобилю, выберите Add Waypoints и добавьте waypoints вдоль дороги для автомобиля, чтобы пройти. После того, как вы добавите последний waypoint вдоль дороги, нажмите Enter. Автомобиль самовращается в направлении первого waypoint. Для более прекрасной точности по траектории можно настроить waypoints. Можно также щелкнуть правой кнопкой по пути, чтобы добавить новый waypoints.
Треугольник указывает на положение транспортного средства с источником, расположенным в центре задней оси транспортного средства.
Настройте скорость автомобиля. На левой панели, на вкладке Actors, устанавливает Constant Speed на 15
m/s. Для большего количества управления скоростью автомобиля, набор скорость между waypoints в столбце v (m/s) таблицы Waypoints, Speeds, Wait Times, and Yaw.
Добавьте транспортное средство для датчиков автомобиля, оборудованного датчиком, чтобы обнаружить. На панели инструментов приложения нажмите Add Actor и выберите Car. Добавьте второй автомобиль с waypoints, управляющим в маршруте напротив от автомобиля, оборудованного датчиком и на другом конце дороги. Оставьте скорость и другие настройки автомобиля неизменными.
Добавьте к сценарию, пешеходный переход дорога. Увеличьте масштаб середины дороги, щелкните правой кнопкой по одной стороне дороги и нажмите Add Pedestrian. Затем чтобы установить путь пешехода, добавьте waypoint с другой стороны дороги.
По умолчанию цвет пешехода почти совпадает с цветом маркировок маршрута. Чтобы заставить пешехода выделиться больше, от вкладки Actors, кликают по соответствующему цветовому полю для пешехода, чтобы изменить его цвет.
Чтобы протестировать скорость автомобилей и пешехода, запустите симуляцию. Настройте скорости агента или другие свойства по мере необходимости путем выбора агента из левой панели вкладки Actors.
Например, если автомобили сталкиваются с пешеходом в столбце v (m/s) таблицы Waypoints, Speeds, Wait Times, and Yaw, настройте скорости автомобилей или пешехода. В качестве альтернативы в столбце wait (s) таблицы, устанавливает время ожидания для автомобилей в waypoint, прежде чем пешеход пересечет улицу.
По умолчанию симуляция заканчивается, когда первый агент завершает свою траекторию. Чтобы закончить симуляцию только после, все агенты завершают свои траектории, на панели инструментов приложения, сначала нажимают Settings. Затем установите Stop Condition на Last actor stops
.
Добавьте камеру, радар, и лоцируйте датчики к автомобилю, оборудованному датчиком. Используйте эти датчики, чтобы сгенерировать обнаружения и данные об облаке точек из сценария.
На панели инструментов приложения нажмите Add Camera. Холст датчика показывает стандартные местоположения, в которых можно поместить датчики. Щелкните frontmost предопределил местоположение датчика, чтобы добавить датчик камеры в передний бампер автомобиля, оборудованного датчиком.
Чтобы поместить датчики более точно, можно отключить привязывающиеся опции. В нижнем левом углу холста датчика нажмите кнопку Configure the Sensor Canvas.
По умолчанию камера обнаруживает только агентов и не маршруты. Чтобы включить обнаружения маршрута, на вкладке Sensors на левой панели, расширяют раздел Detection Parameters и устанавливают Detection Type на Objects & Lanes
. Затем расширьте раздел Lane Settings и обновите настройки по мере необходимости.
Привяжите радарный датчик к оставленному передней стороне колесу. Щелкните правой кнопкой по предопределенному местоположению датчика для колеса и выберите Add Radar. По умолчанию датчики, добавленные к колесам, являются ближними датчиками.
Наклоните радарный датчик к передней стороне автомобиля. Переместите свой курсор через зону охвата, затем перетащите угловую маркировку.
Добавьте идентичный радарный датчик в переднее правильное колесо. Щелкните правой кнопкой по датчику по оставленному передней стороне колесу и нажмите Copy. Затем щелкните правой кнопкой по предопределенному местоположению датчика для переднего правильного колеса и нажмите Paste. Ориентация скопированного датчика зеркально отражает ориентацию датчика на противоположном колесе.
Привяжите датчик лидара к центру крыши транспортного средства. Щелкните правой кнопкой по предопределенному местоположению датчика для крыши, сосредотачивают и выбирают Add Lidar.
Датчик лидара появляется в черном цвете. Серое окружение транспортного средства является зоной охвата датчика. Уменьшите масштаб, чтобы видеть полное представление зон охвата для различных датчиков.
Чтобы сгенерировать данные из датчиков, нажмите Run. Когда сценарий запускается, Bird’s-Eye Plot отображает данные об облаке точек и обнаружения.
Ego-Centric View отображает сценарий с точки зрения автомобиля, оборудованного датчиком.
Поскольку вы указали, что датчик лидара, и Ego-Centric View и Bird's-Eye Plot отображает представления mesh агентов вместо представлений кубоида. Датчики лидара используют эти более подробные представления агентов, чтобы сгенерировать данные об облаке точек. Scenario Canvas все еще отображает только представления кубоида. Радар и датчики видения основывают их обнаружения на представлениях кубоида.
Чтобы выключить сетки агента, определенные типы обнаружений или другие аспекты отображений, используют свойства под Display на панели инструментов приложения.
По умолчанию сценарий заканчивается, когда первый агент прекращает перемещаться. Чтобы запустить сценарий для количества времени набора, на панели инструментов приложения, нажимают Settings и изменяют условие остановки.
Затем экспортируйте обнаружение датчика:
Чтобы экспортировать данные о датчике в рабочее пространство MATLAB, на панели инструментов приложения, выбирают Export> Export Sensor Data. Назовите переменную рабочей области и нажмите OK. Приложение сохраняет данные о датчике, когда структура, содержащая данные о датчике, такие как агент, позирует, обнаружения объектов и обнаружения маршрута на каждом временном шаге.
Чтобы экспортировать функцию MATLAB, которая генерирует сценарий и его данные о датчике, выберите Export> Export MATLAB Function. Эта функция возвращает данные о датчике как структуру, сценарий как drivingScenario
объект и модели датчика как Системные объекты. Путем изменения этой функции можно создать изменения исходного сценария. Для примера этого процесса смотрите, Создают Ведущие Изменения Сценария Программно.
После того, как вы сгенерируете обнаружения, нажмите Save, чтобы сохранить файл сценария. Можно также сохранить модели датчика как отдельные файлы и сохранить дорогу и модели агента вместе как отдельный файл сценария.
Можно вновь открыть этот файл сценария из приложения. В качестве альтернативы в командной строке MATLAB, можно использовать этот синтаксис.
drivingScenarioDesigner(scenarioFileName)
drivingScenario
объект. В командной строке MATLAB используйте этот синтаксис, где scenario
имя экспортируемого объекта.drivingScenarioDesigner(scenario)
sensors
объект датчика или массив ячеек таких объектов.drivingScenarioDesigner(scenario,sensors)
drivingScenario
возразите в свою модель. Этот блок непосредственно не считывает данные о датчике. Чтобы добавить датчики, которые вы создали в приложении к модели Simulink, сгенерируйте модель, содержащую ваш сценарий и датчики путем выбора Export> Export Simulink Model. В модели сгенерированный блок Scenario Reader читает сценарий, и сгенерированные блоки датчика задают датчики.drivingScenario
| drivingRadarDataGenerator
| visionDetectionGenerator
| lidarPointCloudGenerator
| insSensor