Simulation 3D Fisheye Camera

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

  • Библиотека:
  • БПЛА Toolbox/Simulation 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

Для получения дополнительной информации о порядке выполнения смотрите Как работает Unreal Engine Simulation для БПЛА.

Порты

Выход

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

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 в вашей модели. Если вы выбираете Scene Originблок помещает датчик в источник сцены.

Пример: SimulinkVehicle1

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

  • Когда Parent name Scene Originблок устанавливает датчик в источник сцены, и Mounting location можно установить на 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 выходного порта.

Выберите этот параметр, чтобы задать смещение от места установки с помощью параметров 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 Симуляция в UAV 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 Симуляция в UAV Toolbox.

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

Зависимости

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

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

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

Параметры

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

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

Центр искажения, заданный как действительный 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 (Computer Vision Toolbox) или To Video Display (Computer Vision Toolbox).

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

Ссылки

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

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.
Введенный в R2019b