Lidar Point Cloud Generator

Сгенерируйте данные об облаке точек лидара для ведущего сценария

  • Библиотека:
  • Automated Driving Toolbox / Управление Сценарием и Моделирование Датчика

  • Lidar Point Cloud Generator block

Описание

Блок Lidar Point Cloud Generator генерирует облако точек от измерений лидара, проведенных датчиком лидара, смонтированным на автомобиле, оборудованном датчиком.

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

Лидар генерирует данные об облаке точек на основе представлений mesh дорог и агентов в сценарии. mesh является 3-D геометрией объекта, который состоит из поверхностей и вершин.

При создании сценариев и моделей датчика с помощью приложения Driving Scenario Designer, выводятся датчики лидара, экспортируемые в Simulink®, когда Lidar Point Cloud Generator блокируется.

Ограничения

  • Генерация кода C/C++ не поддерживается.

  • Подсистемы For Each не поддерживаются.

  • Быстрый ускоряющий режим не поддерживается.

  • Использование блока Detection Concatenation с этим блоком не поддерживается. Вы не можете конкатенировать данные об облаке точек с обнаружениями от других датчиков.

  • Если модель не содержит блок Scenario Reader, то этот блок не включает дороги в сгенерированное облако точек.

  • Данные об облаке точек не сгенерированы для маркировок маршрута.

Порты

Входной параметр

развернуть все

Агент сценария позирует в координатах автомобиля, оборудованного датчиком в виде шины Simulink, содержащей структуру MATLAB.

Структура должна содержать эти поля.

Поле ОписаниеВвод
NumActorsКоличество агентовНеотрицательное целое число
TimeТекущее время симуляцииСкаляр с действительным знаком
ActorsПоложения агентаNumActors- массив длины агента излагает структуры

Каждая структура положения агента в Actors должен иметь эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента в виде положительного целого числа.

Position

Положение агента в виде вектора с действительным знаком из формы [x, y, z]. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направление в виде вектора с действительным знаком из формы [v x, v y, v z]. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента в виде скаляра с действительным знаком. Модули в градусах.

Pitch

Передайте угол агента в виде скаляра с действительным знаком. Модули в градусах.

Yaw

Угол отклонения от курса агента в виде скаляра с действительным знаком. Модули в градусах.

AngularVelocity

Скорость вращения (ω) агента в x - y - и z - направление в виде вектора с действительным знаком из формы [ω x, ω y, ω z]. Модули в градусах в секунду.

Положение автомобиля, оборудованного датчиком в виде шины Simulink, содержащей структуру MATLAB.

Структура должна иметь эти поля.

Поле Описание
ActorID

Заданный сценарием идентификатор агента в виде положительного целого числа.

Position

Положение агента в виде вектора с действительным знаком из формы [x, y, z]. Модули исчисляются в метрах.

Velocity

Скорость (v) агента в x - y - и z - направление в виде вектора с действительным знаком из формы [v x, v y, v z]. Модули исчисляются в метрах в секунду.

Roll

Угол вращения агента в виде скаляра с действительным знаком. Модули в градусах.

Pitch

Передайте угол агента в виде скаляра с действительным знаком. Модули в градусах.

Yaw

Угол отклонения от курса агента в виде скаляра с действительным знаком. Модули в градусах.

AngularVelocity

Скорость вращения (ω) агента в x - y - и z - направление в виде вектора с действительным знаком из формы [ω x, ω y, ω z]. Модули в градусах в секунду.

Можно вывести положение автомобиля, оборудованного датчиком от блока Scenario Reader. В блоке Scenario Reader, используемом в вашей модели, выберите параметр Output ego vehicle pose.

Вывод

развернуть все

Данные об облаке точек, возвращенные как массив m-by-n-by 3 положительных, с действительным знаком [x, y, z] точки. m является количеством вертикального изменения (вертикальные) каналы в облаке точек. n является количеством азимутальных (горизонтальных) каналов в облаке точек. m и n задают число точек в облаке точек, как показано в этом уравнении:

m×n=VFOVVRES×HFOVHRES

  • V FOV является вертикальным полем зрения лидара, в градусах, как задано параметром Elevation limits of lidar (deg).

  • V RES является вертикальным угловым разрешением лидара, в градусах, как задано параметром Elevation resolution of lidar (deg).

  • H FOV является горизонтальным полем зрения лидара, в градусах, как задано параметром Azimuthal limits of lidar (deg).

  • H RES является горизонтальным угловым разрешением лидара, в градусах, как задано параметром Azimuthal resolution of lidar (deg).

Каждый m-by-n запись в массиве задает x - y - и z - координаты обнаруженной точки в системе координат автомобиля, оборудованного датчиком. Если лидар не обнаруживает точку в данной координате, то x, y и z возвращены как NaN.

По умолчанию блок Lidar Point Cloud Generator включает дорожные данные в сгенерированное облако точек. Блок получает дорожные данные в мировых координатах от блока Scenario Reader, который находится в той же модели как блок Lidar Point Cloud Generator. Блок Lidar Point Cloud Generator вычисляет дорожную mesh в координатах автомобиля, оборудованного датчиком на основе дорожных данных и положения автомобиля, оборудованного датчиком во входном порту Ego Vehicle. Параметр Maximum detection range (m) блока Lidar Point Cloud Generator определяет степень дорожной mesh. Чтобы исключить дорожные данные из облака точек, очистите параметр Include roads in generated point cloud.

Параметры

развернуть все

Параметры

Идентификация датчика

Уникальный идентификатор датчика в виде положительного целого числа. Идентификатор датчика отличает обнаружения, которые прибывают из различных датчиков в системе мультидатчика. Если модель содержит несколько блоков датчика, которые имеют тот же идентификатор датчика, Bird's-Eye Scope отображает ошибку.

Необходимый временной интервал между датчиком обновляется в виде положительной скалярной величины. Значение этого параметра должно быть целочисленным кратным интервал данных о входном порте Actors. Обновления, которые требуют от датчика между интервалами обновления, не содержат обнаружений. Модули находятся в секундах.

Значения внешних параметров датчика

Местоположение центра датчика лидара в виде вектора 1 на 2 с действительным знаком. Sensor's (x,y) position (m) и параметры Sensor's height (m) задают координаты датчика лидара относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует датчику лидара, смонтированному на седане в центре переднего ребра крыши. Модули исчисляются в метрах.

Высота датчика лидара над землей плоскость в виде положительной скалярной величины. Sensor's (x,y) position (m) и параметры Sensor's height (m) задают координаты датчика лидара относительно системы координат автомобиля, оборудованного датчиком. Значение по умолчанию соответствует датчику лидара, смонтированному на седане в центре переднего ребра крыши. Модули исчисляются в метрах.

Угол отклонения от курса датчика лидара в виде скаляра с действительным знаком. yaw angle является углом между центральной линией автомобиля, оборудованного датчиком и downrange осью датчика лидара. Положительный угол отклонения от курса соответствует по часовой стрелке вращение, когда вы смотрите в положительном направлении z - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Передайте угол датчика лидара в виде скаляра с действительным знаком. pitch angle является углом между downrange осью датчика лидара и xy - плоскость системы координат автомобиля, оборудованного датчиком. Положительный угол подачи соответствует по часовой стрелке вращение, когда вы смотрите в положительном направлении y - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Угол вращения датчика лидара в виде скаляра с действительным знаком. roll angle является углом вращения downrange оси датчика лидара вокруг x - ось системы координат автомобиля, оборудованного датчиком. Положительный угол вращения соответствует по часовой стрелке вращение, когда вы смотрите в положительном направлении x - ось системы координат автомобиля, оборудованного датчиком. Модули в градусах.

Создание отчетов облака точек

Система координат обнаружений, о которых сообщают, в виде одного из этих значений:

  • Ego Cartesian — Об обнаружениях сообщают в Декартовой системе координат автомобиля, оборудованного датчиком.

  • Sensor Cartesian — Об обнаружениях сообщают в Декартовой системе координат датчика.

Выберите этот параметр, чтобы включать автомобиль, оборудованный датчиком в сгенерированное облако точек.

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

Зависимости

Чтобы включить этот параметр, выберите параметр Include ego vehicle in generated point cloud.

Выберите этот параметр, чтобы включать дороги в сгенерированное облако точек.

Источник профилей агента, которые являются физическими характеристиками и радарными характеристиками всех агентов в ведущем сценарии в виде одной из этих опций:

  • From Scenario Reader block — Блок получает профили агента из сценария, заданного блоком Scenario Reader.

  • From workspace — Блок получает профили агента из рабочего пространства MATLAB или переменной рабочего пространства модели, заданной параметром MATLAB or model workspace variable name.

Имя переменной агента профилирует в виде имени рабочего пространства MATLAB или переменной рабочего пространства модели, содержащей профили агента.

Профили агента являются физическими характеристиками и радарными характеристиками всех агентов в ведущем сценарии и заданы как структура или массив структур.

  • Если переменная профилей агента содержит одну структуру, то все агенты, заданные в шине входа Actors, используют этот профиль.

  • Если переменная профилей агента является массивом структур, то каждый агент, заданный в шине входа Actors, должен иметь уникальный профиль агента.

Чтобы сгенерировать массив структур для вашего ведущего сценария, используйте actorProfiles функция. Таблица показывает допустимые поля структуры. Если вы не задаете поле, поля установлены в свои значения по умолчанию.

Поле Описание
ActorIDЗаданный сценарием идентификатор агента в виде положительного целого числа.
ClassIDИдентификатор классификации в виде неотрицательного целого числа. 0 представляет объект неизвестного или неприсвоенного класса.
LengthДлина агента в виде положительного скаляра с действительным знаком. Модули исчисляются в метрах.
WidthШирина агента в виде положительного скаляра с действительным знаком. Модули исчисляются в метрах.
HeightВысота агента в виде положительного скаляра с действительным знаком. Модули исчисляются в метрах.
OriginOffsetСмещение вращательного центра агента от его геометрического центра в виде вектора с действительным знаком из формы [x, y, z]. Вращательный центр или источник, расположен в нижнем центре агента. Для транспортных средств вращательный центр является точкой на земле ниже центра задней оси. Модули исчисляются в метрах.
MeshVerticesПоймайте в сети вершины агента в виде n-by-3 матрица с действительным знаком вершин. Каждая строка в матрице задает точку в трехмерном пространстве.
MeshFacesПоймайте в сети поверхности агента в виде m-by-3 матрица целых чисел. Каждая строка MeshFaces представляет треугольник, заданный идентификаторами вершины, которые являются номерами строк вершин.
RCSPatternШаблон радарного поперечного сечения (RCS) агента в виде numel(RCSElevationAngles)- numel(RCSAzimuthAngles) матрица с действительным знаком. Модули находятся в децибелах на квадратный метр.
RCSAzimuthAnglesУглы азимута, соответствующие строкам RCSPatternВ виде вектора из значений в области значений [–180, 180]. Модули в градусах.
RCSElevationAnglesУглы возвышения, соответствующие строкам RCSPatternВ виде вектора из значений в области значений [–90, 90]. Модули в градусах.

Для полных определений полей структуры смотрите actor и vehicle функции.

Зависимости

Чтобы включить этот параметр, установите параметр Source of actor profiles на From workspace.

Измерения

Настройки

Максимальная область значений обнаружения датчика лидара в виде положительной скалярной величины. Датчик не может обнаружить агентов вне этой области значений. Этот параметр также определяет степень дорожной mesh. Модули исчисляются в метрах.

Точность измерений области значений в виде положительной скалярной величины. Модули исчисляются в метрах.

Азимутальное разрешение датчика лидара в виде положительной скалярной величины. Азимутальное разрешение задает минимальное разделение в углу азимута, под которым лидар может различать две цели. Модули в градусах.

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

Азимутальные пределы датчика лидара в виде 1 2 вектора с действительным знаком из формы [min, max]. Модули в градусах.

Пределы вертикального изменения датчика лидара в виде 1 2 вектора с действительным знаком из формы [min, max]. Модули в градусах.

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

Введенный в R2020b