exponenta event banner

Моделирование 3D Лидар

Модель датчика Lidar в среде моделирования 3D

  • Библиотека:
  • Инструментарий БПЛА/ 3D моделирования

  • Simulation 3D Lidar block

Описание

Блок Simulation 3D Lidar обеспечивает интерфейс с датчиком лидара в среде моделирования 3D. Эта среда визуализируется с помощью Unreal Engine ® от Epic Games ®. Блок возвращает облако точек с заданным полем обзора и угловым разрешением. Можно также вывести расстояния от датчика до точек объекта. Кроме того, можно вывести местоположение и ориентацию датчика в мировой системе координат сцены.

Если для параметра Sample time установлено значение -1блок использует время выборки, указанное в блоке «Моделирование» 3D «Конфигурация сцены». Чтобы использовать этот датчик, убедитесь, что блок «Моделирование» 3D «Конфигурация сцены» находится в модели.

Примечание

Блок Simulation 3D Scene Configuration должен выполняться перед блоком Simulation 3D Lidar. Таким образом, среда визуализации Unreal Engine 3D подготавливает данные до их получения блоком Simulation 3D Lidar. Чтобы проверить порядок выполнения блока, щелкните его правой кнопкой мыши и выберите «Свойства». На вкладке Общие подтвердите следующие параметры приоритета:

  • Моделирование 3D Конфигурация сцены - 0

  • Моделирование 3D Лидар - 1

Дополнительные сведения о порядке выполнения см. в разделе Порядок выполнения блоков.

Порты

Продукция

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

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

m × n = VFOVVRES × HFOVHRES

где:

  • VFOV - вертикальное поле зрения лидара, в градусах, как указано параметром Вертикальное поле зрения (град.).

  • VRES - вертикальное угловое разрешение лидара в градусах, заданное параметром Вертикальное разрешение (град.).

  • HFOV - горизонтальное поле зрения лидара, в градусах, как указано параметром Горизонтальное поле зрения (град.).

  • HRES - горизонтальное угловое разрешение лидара в градусах, заданное параметром Горизонтальное разрешение (град.).

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

Типы данных: single

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

Зависимости

Чтобы включить этот порт, на вкладке Параметры (Parameters) выберите Выход расстояния (Distance outport).

Типы данных: single

Расположение датчика вдоль осей X, Y и Z сцены. Значения местоположения находятся в мировых координатах сцены. В этой системе координат ось Z указывает вверх от земли. Единицы в метрах.

Зависимости

Для включения этого порта на вкладке Ground Truth выберите Output location (m) и orientation (rad).

Типы данных: double

Ориентация датчика крена, шага и рыскания относительно осей X, Y и Z сцены. Значения ориентации находятся в мировых координатах сцены. Эти значения положительны в направлении по часовой стрелке при взгляде в положительных направлениях этих осей. Единицы находятся в радианах.

Зависимости

Для включения этого порта на вкладке Ground Truth выберите Output location (m) и orientation (rad).

Типы данных: double

Параметры

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

Установка

Уникальный идентификатор датчика, указанный как положительное целое число. В мультисенсорной системе идентификатор датчика различает датчики. При добавлении нового блока датчика в модель идентификатор датчика этого блока будет N + 1. N - наибольшее значение идентификатора датчика среди существующих блоков датчиков в модели.

Пример: 2

Имя родителя, к которому подключен датчик, указанное как Scene Origin или как название транспортного средства в модели. Имена транспортных средств, которые можно выбрать, соответствуют параметрам Наименование (Name) блоков Моделирование (Simulation) 3D Транспортное средство (Vehicle) в модели. При выборе Scene Originблок размещает датчик в начале сцены.

Пример: SimulinkVehicle1

Место установки датчика.

  • Когда имя родителя равно Scene Origin, блок устанавливает датчик в начало сцены, и положение установки может быть установлено в Origin только. Во время моделирования датчик остается неподвижным.

  • Если Parent name - имя транспортного средства (например, SimulinkVehicle1) блок устанавливает датчик в одно из предварительно определенных мест установки, описанных в таблице. Во время моделирования датчик перемещается вместе с транспортным средством.

Место установки транспортного средстваОписаниеОриентация относительно начала координат транспортного средства [крен, шаг, рыскание] (град.)
Origin

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

[0, 0, 0]

Крен, шаг и рыскание являются положительными по часовой стрелке, если смотреть в положительном направлении по осям X, Y и Z соответственно. При взгляде на транспортное средство сверху вниз угол рыскания (то есть угол ориентации) против часовой стрелки-положительный, потому что вы смотрите в отрицательном направлении оси.

Расположение (X, Y, Z) датчика относительно транспортного средства зависит от типа транспортного средства. Для определения типа транспортного средства используется параметр Type блока Simulation 3D UAV Vehicle, на котором выполняется монтаж. Для получения информации о местах установки (X, Y, Z) для типа транспортного средства см. справочную страницу для данного транспортного средства.

Чтобы определить местоположение датчика в мировых координатах, откройте блок датчика. Затем на вкладке Ground Truth выберите Output location (m) and orientation (rad) и проверьте данные из выходного порта Location.

Выберите этот параметр, чтобы задать смещение от места монтажа с помощью параметров относительного перемещения [X, Y, Z] (m) и относительного поворота [Roll, Pitch, Yaw] (o).

Смещение перемещения относительно места установки датчика, определяемое как действительный вектор 1 на 3 вида [X, Y, Z]. Единицы в метрах.

Если установить датчик на транспортное средство, установив для параметра Имя родителя (Parent name) имя этого транспортного средства, то X, Y и Z находятся в системе координат транспортного средства, где:

  • Ось X указывает вперед от транспортного средства.

  • Ось Y указывает влево от транспортного средства, если смотреть вперед.

  • Ось Z указывает вверх.

Исходная точка - это место установки, указанное в параметре Место установки. Эта точка отсчета отличается от точки отсчета транспортного средства, которая является геометрическим центром транспортного средства.

Если установить датчик в начало координат сцены, установив для параметра «Родительское имя» значение Scene Originзатем X, Y и Z находятся в мировых координатах сцены.

Дополнительные сведения о системах координат транспортного средства и мира см. в разделе Системы координат для имитации нереального двигателя в инструментарии БПЛА.

Пример: [0,0,0.01]

Зависимости

Чтобы включить этот параметр, выберите Задать смещение (Specify offset).

Смещение вращения относительно места установки датчика, определяемое как действительный вектор 1 на 3 формы [Roll, Pitch, Yaw]. Крен, шаг и рыскание - это углы поворота вокруг осей X, Y и Z. Единицы измерения в градусах.

Если установить датчик на транспортное средство, установив для параметра Имя родителя (Parent name) имя этого транспортного средства, то X, Y и Z находятся в системе координат транспортного средства, где:

  • Ось X указывает вперед от транспортного средства.

  • Ось Y указывает влево от транспортного средства, если смотреть вперед.

  • Ось Z указывает вверх.

  • Крен, шаг и рыскание являются положительными по часовой стрелке при взгляде в направлении вперед по осям X, Y и Z соответственно. Если смотреть сцену с 2D перспективы сверху вниз, то угол рыскания (также называемый углом ориентации) будет против часовой стрелки положительным, поскольку вы просматриваете сцену в отрицательном направлении оси Z.

Исходная точка - это место установки, указанное в параметре Место установки. Эта точка отсчета отличается от точки отсчета транспортного средства, которая является геометрическим центром транспортного средства.

Если установить датчик в начало координат сцены, установив для параметра «Родительское имя» значение Scene Originзатем X, Y и Z находятся в мировых координатах сцены.

Дополнительные сведения о системах координат транспортного средства и мира см. в разделе Системы координат для имитации нереального двигателя в инструментарии БПЛА.

Пример: [0,0,10]

Зависимости

Чтобы включить этот параметр, выберите Задать смещение (Specify offset).

Время выборки блока в секундах, указанное как положительный скаляр. Частота кадров среды моделирования 3D является обратной времени выборки.

Если задать время выборки равным -1блок наследует время выборки из блока «Моделирование» 3D «Конфигурация сцены».

Параметры

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

Разрешение диапазона лидарных датчиков, в метрах, определяется как положительный действительный скаляр. Разрешение диапазона также известно как коэффициент квантования. Минимальное значение этого коэффициента - Drange/224, где Drange - максимальное расстояние, измеренное лидарным датчиком, как указано в параметре Диапазон обнаружения (m).

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

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

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

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

Выберите этот параметр для вывода расстояния до точек измеряемого объекта в порту «Расстояние».

Истина на земле

Выберите этот параметр для вывода местоположения и ориентации датчика в портах Location и Orientation соответственно.

Совет

  • Для визуализации облаков точек, выводимых портом облака точек, можно использовать pcplayer в функциональном блоке MATLAB.

  • Запуск Unreal Engine может занять много времени между моделированиями, рассмотреть возможность регистрации сигналов, которые выдают датчики. Затем эти данные можно использовать для разработки алгоритмов восприятия в MATLAB ®. См. раздел Настройка сигнала для регистрации (Simulink).

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен в R2020b