Simulation 3D Fisheye Camera

Fisheye-камера модель датчика в 3D среду симуляции

  • Библиотека:
  • Automated Driving Toolbox/ 3D

  • Simulation 3D Fisheye Camera block

Описание

Блок Simulation 3D Fisheye Camera обеспечивает интерфейс к камере с объективом «рыбий глаз» в 3D среде симуляции. Это окружение визуализируется с помощью Unreal Engine® из эпических игр®. Датчик основан на модели fisheye-камеры, предложенной Scaramuzza [1]. Эта модель поддерживает поле зрения до 195 степеней. Блок выводит изображение с заданными искажениями и размерами камеры. Можно также вывести местоположение и ориентацию камеры в мировой системе координат сцены.

Если вы задаете Sample time -1, блок использует шаг расчета, заданный в блоке Simulation 3D Scene Configuration. Чтобы использовать этот датчик, вы должны включить блок Simulation 3D Scene Configuration в свою модель.

Примечание

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

  • Simulation 3D Scene Configuration0

  • Simulation 3D Fisheye Camera1

Для получения дополнительной информации о порядке выполнения смотрите Как работает нереальная симуляция Engine для автоматического вождения.

Порты

Выход

расширить все

3D выхода изображения камеры, возвращенный как m -by- n -by-3 массива триплета RGB. m - вертикальное разрешение изображения, а n - горизонтальное разрешение изображения.

Типы данных: int8 | uint8

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

Зависимости

Чтобы включить этот порт, на вкладке Ground Truth, выберите Output location (m) and orientation (rad).

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

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

Зависимости

Чтобы включить этот порт, на вкладке Ground Truth, выберите Output location (m) and orientation (rad).

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

Параметры

расширить все

Установка

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

Пример: 2

Имя родительского элемента, на котором установлен датчик, указывается как Scene Origin или как имя транспортного средства в вашей модели. Имена транспортных средств, которые можно выбрать, соответствуют параметрам Name блоков Simulation 3D Vehicle with Ground Following в вашей модели. Если вы выбираете Scene Originблок помещает датчик в источник сцены.

Пример: SimulinkVehicle1

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

  • Когда Parent name Scene Originблок устанавливает датчик в источник сцены. Можно задать Mounting location значение Origin только. Во время симуляции датчик остается стационарным.

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

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

Передний датчик, установленный на источнике транспортного средства, который находится на земле, в геометрическом центре транспортного средства (см. Системы координат для нереальной симуляции Engine в Automated Driving Toolbox)

[0, 0, 0]
Front bumper

Передний датчик, установленный на переднем бампере

[0, 0, 0]
Rear bumper

Обращенный назад датчик, установленный на заднем бампере

[0, 0, 180]
Right mirror

Обращенный вниз датчик, установленный на правом боковом зеркале

[0, –90, 0]
Left mirror

Обращенный вниз датчик, установленный на левом боковом зеркале

[0, –90, 0]
Rearview mirror

Передний датчик, установленный на зеркале заднего вида, внутри транспортного средства

[0, 0, 0]
Hood center

Передний датчик, установленный на центре капота

[0, 0, 0]
Roof center

Передний датчик, установленный на центре крыши

[0, 0, 0]

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

Расположение датчика (X, Y, Z) относительно транспортного средства зависит от типа транспортного средства. Чтобы указать тип транспортного средства, используйте параметр Type блока Simulation 3D Vehicle with Ground Following, к которому вы монтируете датчик. Чтобы получить места установки (X, Y, Z) для типа транспортного средства, смотрите страницу с описанием для этого транспортного средства.

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

Выберите этот параметр, чтобы задать смещение от места установки с помощью параметров Relative translation [X, Y, Z] (m) и Relative rotation [Roll, Pitch, Yaw] (deg).

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

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

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

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

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

Это источник - место установки, заданное в параметре Mounting location. Этот источник отличается от источника транспортного средства, который является геометрическим центром транспортного средства.

Если вы монтируете датчик к источнику сцены путем установки Parent name на Scene Origin, тогда X, Y и Z находятся в мировых координатах сцены.

Для получения дополнительной информации о транспортном средстве и мировых системах координат смотрите Системы координат для Unreal Engine Simulation в Automated Driving Toolbox.

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

Зависимости

Чтобы включить этот параметр, выберите Specify offset.

Вращательное смещение относительно места установки датчика, заданное как действительный вектор 1 на 3 вида [Roll, тангаж, рыскание]. Крен, тангаж и рыскание являются углами вращения вокруг осей X -, Y- и Z, соответственно. Модули указаны в степенях.

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

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

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

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

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

Это источник - место установки, заданное в параметре Mounting location. Этот источник отличается от источника транспортного средства, который является геометрическим центром транспортного средства.

Если вы монтируете датчик к источнику сцены путем установки Parent name на Scene Origin, тогда X, Y и Z находятся в мировых координатах сцены.

Для получения дополнительной информации о транспортном средстве и мировых системах координат смотрите Системы координат для Unreal Engine Simulation в Automated Driving Toolbox.

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

Зависимости

Чтобы включить этот параметр, выберите Specify offset.

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

Если вы задаете значение шага расчета -1блок наследует свои шаги расчета от блока Simulation 3D Scene Configuration.

Параметры

Эти собственные параметры камеры эквивалентны свойствам fisheyeIntrinsics объект. Чтобы получить собственные параметры для камеры, используйте приложение Camera Calibrator.

Для получения дополнительной информации о процессе калибровки fisheye-камеры смотрите приложения Single Camera Calibrator App и Fisheye Calibration Basics.

Центр искажения, заданный как действительный 2-элементный вектор. Модули указаны в пикселях.

Размер изображения, произведенного камерой, задается как реальный вектор 1 на 2 положительных целых чисел вида [mrows, ncols]. Модули указаны в пикселях .

Полиномиальные коэффициенты для проекционной функции, описанной моделью Тейлора Скарамуццы [1], заданные как действительный вектор 1 на 4 вида [a0 a2 a3 a4].

Пример: [320, -0.001, 0, 0]

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

Пример: [0, 1; 0, 1]

Основная истина

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

Совет

  • Чтобы визуализировать изображения камеры, которые выводятся портом Image, используйте Video Viewer или To Video Display блок.

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

    Можно также сохранить данные изображения как видео при помощи блока To Multimedia File. Для примера этой настройки смотрите Design Lane Marker Detector Using Unreal Engine Simulation Environment.

Ссылки

[1] Скарамуцца, Д., А. Мартинелли и Р. Зигварт. A Toolbox for Easy Calibrating Ominrection Cameras (неопр.) (недоступная ссылка). Материалы Международной конференции IEEE по интеллектуальным роботам и системам (IROS 2006). Пекин, Китай, 7-15 октября 2006 года.

Введенный в R2019b