record

Запустите сценарий отслеживания и запишите платформу, датчик и эмиттерную информацию

Описание

пример

rec = record(sc) возвращает запись, rec, из эволюции симуляции сценария отслеживания, sc. Функция запускается с начала симуляции и хранит запись до конца симуляции. Симуляция сценария заканчивается когда любой StopTime сценария достигнут или любая платформа в сценарии закончила свою траекторию, заданную Trajectory свойство.

rec = record(sc,format) также задает формат, format, из возвращенной ориентации платформы.

пример

rec = record(___,Name,Value) задает дополнительные количества записи с помощью пар "имя-значение". Заключите каждый Name в кавычках.

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

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

Отслеживание сценария в виде trackingScenario объект.

Изложите формат ориентации в виде 'quaternion' или 'rotmat'. Когда задано как 'quaternion', Orientation поле структуры положения платформы является кватернионом. Когда задано как 'rotmat', Orientation поле является матрицей вращения.

Пример: 'rotmat'

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

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Позвольте записать информацию об эмиссии в виде true или false. Когда задано как true, rec выведите содержит Emissions, EmitterConfigurations, EmitterPlatformIDs, и CoverageConfig поля .

Позвольте записать информацию о датчике в виде true или false. Когда задано как true, rec выведите содержит Detections, SensorConfiguration, SensorPlatformIDs, и CoverageConfig поля .

Начальный случайный seed для записи в виде положительного целого числа. Если задано как положительное целое число, функция присваивает этот номер генератору случайных чисел "Обманщик" перед записью и сбрасывает генератор случайных чисел в конце записи.

Включите поглощение газов в передаче сигнала в виде true или false. Когда задано как true, функция составляет эффект поглощения газов в распространении радиолокационного излучения.

Формат записи в виде 'Struct' или 'Recording'. Когда задано как 'Struct', rec выход является массивом структур. Когда задано как 'Recording', rec выходом является trackingScenarioRecording объект.

Выходные аргументы

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

Записи платформы утверждают во время симуляции, возвращенной как M-by-1 массив структур если RecordingFormat задан как 'struct' (значение по умолчанию) или trackingScenarioRecording возразите если RecordingFormat задан как 'Recording'. M является количеством временных шагов в симуляции.

Каждая запись содержит шаг времени симуляции и записанную информацию в то время. Структура записи имеет по крайней мере два поля: SimulationTime и Poses. Это может также иметь другие дополнительные поля в зависимости от входа.

SimulationTime поле содержит время симуляции записи. Poses N-by-1 массив структур, где N является количеством платформ. Каждый Poses структура содержит эти поля:

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

Уникальный идентификатор для платформы в виде положительного целого числа. Это - обязательное поле без значения по умолчанию.

ClassID

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

Position

Положение цели в сценарии координирует в виде с действительным знаком 1 3 вектор-строку. Это - обязательное поле без значения по умолчанию. модули являются метрами.

Velocity

Скорость платформы в сценарии координирует в виде с действительным знаком 1 3 вектор-строку. модули являются метрами в секунду. Значением по умолчанию является [0 0 0].

Acceleration

Ускорение платформы в координатах сценария в виде 1 3 вектора-строки в метрах в секунду придало квадратную форму. Значением по умолчанию является [0 0 0].

Orientation

Ориентация платформы относительно локальной навигации сценария структурирует в виде скалярного кватерниона или 3х3 матрицы вращения. Ориентация задает вращение системы координат от локальной системы координат навигации до текущей системы координат тела платформы. Модули являются безразмерными. Значением по умолчанию является quaternion(1,0,0,0).

AngularVelocity

Скорость вращения платформы в сценарии координирует в виде с действительным знаком 1 3 вектор. Величина вектора задает угловую скорость. Направление задает ось по часовой стрелке вращения. модули являются степенями в секунду. Значением по умолчанию является [0 0 0].

Дополнительные поля в rec выход:

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

массив ячеек эмиссии (такой как radarEmission и sonarEmission) в сценарии

EmitterConfigurations

массив структур эмиттерных настроек для каждого эмиттера

EmitterPlatformIDs

числовой массив идентификаторов платформы для каждого эмиттера

Detections

массив ячеек objectDetection объекты сгенерированы датчиками в сценарии

SensorConfigurations

массив структур настроек датчика для каждого датчика

SensorPlatformIDs

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

CoverageConfig

массив структур настроек покрытия для каждого датчика или эмиттера

Каждая эмиттерная конфигурационная структура содержит следующие поля:

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

Уникальный эмиттерный индекс, возвращенный как положительное целое число.

IsValidTime

Допустимое время эмиссии, возвращенное как 0 или 1. IsValidTime 0 когда эмиттерные обновления время от времени требуют, которые являются между интервалами обновления, заданными UpdateInterval свойство.

IsScanDone

Завершил ли эмиттер сканирование, возвращенное как true или false.

FieldOfView

Поле зрения эмиттера, возвращенного как двухэлементный вектор [азимут; вертикальное изменение] в градусах.

MeasurementParameters

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

Каждая конфигурационная структура датчика содержит следующие поля:

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

Уникальный индекс датчика, возвращенный как положительное целое число.

IsValidTime

Допустимое время обнаружения, возвращенное как 0 или 1. IsValidTime 0 когда обновления обнаружения требуют между интервалами обновления, заданными UpdateInterval.

IsScanDone

IsScanDone true когда датчик завершил сканирование.

FieldOfView

Поле зрения датчика, возвращенного как 2 1 вектор положительных действительных значений, [azfov; elfov]. azfov и elfov представляют поле зрения в азимуте и вертикальном изменении, соответственно.

MeasurementParameters

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

Каждая конфигурационная структура покрытия содержит эти поля:

Поля настроек

Поле Описание
Index Уникальное целое число, чтобы отличить датчики или эмиттеры. На практике можно использовать SensorIndex или EmitterIndex из датчика или эмиттерных объектов, соответственно.
LookAngle

Текущие пеленги датчика или эмиттера в виде:

  • Скаляр в градусах при сканировании только в направлении азимута.

  • Двухэлементный вектор [azimuth; elevation] в градусах при сканировании и в азимуте и в направлениях вертикального изменения.

FieldOfViewПоле зрения датчика или эмиттера в виде двухэлементного вектора [azimuth; elevation] в градусах.
ScanLimits

Минимальные и максимальные углы датчик или эмиттер могут отсканировать от его Orientation.

  • Если датчик или эмиттер могут только отсканировать в направлении азимута, задайте пределы как 1 2 вектор-строку [minAz, maxAz] в градусах.

  • Если датчик или эмиттер могут также отсканировать в направлении вертикального изменения, задайте пределы как матрицу 2 на 2 [minAz, maxAz; minEl, maxEl] в градусах.

RangeОбласть значений луча и зона охвата датчика или эмиттера в метрах.
PositionПоложение источника датчика или эмиттера в виде трехэлементного вектора [XYZ] на театральных осях графика.
OrientationПреобразование вращения из сценария или глобальной переменной структурирует к датчику или системе координат монтирования эмиттера в виде матрицы вращения, кватерниона или трех Углов Эйлера в последовательности ZYX.

Примеры

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

Создайте новый сценарий и добавьте платформу.

scene = trackingScenario;
plat = platform(scene);

Задайте траекторию платформы. Расстояние траектории составляет 25 метров. Скорость траектории составляет 20 м/с в направлении X.

plat.Trajectory = waypointTrajectory('Waypoints',[0 0 0; 25 0 0], ...
    'TimeOfArrival', [0 25/20]);

Запустите симуляцию и запишите результаты.

r = record(scene)
r=13×1 struct array with fields:
    SimulationTime
    Poses

Покажите запись в начальное время.

r(1)
ans = struct with fields:
    SimulationTime: 0
             Poses: [1×1 struct]

r(1).Poses
ans = struct with fields:
         PlatformID: 1
            ClassID: 0
           Position: [0 0 0]
           Velocity: [20 0 0]
       Acceleration: [0 0 0]
        Orientation: [1×1 quaternion]
    AngularVelocity: [0 0 0]

Покажите запись в итоговое время.

r(end)
ans = struct with fields:
    SimulationTime: 1.2000
             Poses: [1×1 struct]

r(end).Poses
ans = struct with fields:
         PlatformID: 1
            ClassID: 0
           Position: [24 0 0]
           Velocity: [20 0 0]
       Acceleration: [0 0 0]
        Orientation: [1×1 quaternion]
    AngularVelocity: [0 0 0]

Загрузите сценарий отслеживания управления воздушным движением.

load ATCScenario scenario

Запустите симуляцию и запишите результаты.

r = record(scenario, 'quaternion', 'IncludeEmitters', true,...
    'IncludeSensors', true, 'InitialSeed', 2019)
r=3215×1 struct array with fields:
    SimulationTime
    Poses
    Emissions
    EmitterConfigurations
    EmitterPlatformIDs
    Detections
    SensorConfigurations
    SensorPlatformIDs
    CoverageConfig

Покажите запись в начальное время.

r(1)
ans = struct with fields:
           SimulationTime: 0
                    Poses: [4×1 struct]
                Emissions: {0×1 cell}
    EmitterConfigurations: [0×1 struct]
       EmitterPlatformIDs: [0×1 double]
               Detections: {}
     SensorConfigurations: [1×1 struct]
        SensorPlatformIDs: 1
           CoverageConfig: [1×1 struct]

Покажите запись в итоговое время.

r(end)
ans = struct with fields:
           SimulationTime: 59.9947
                    Poses: [4×1 struct]
                Emissions: {0×1 cell}
    EmitterConfigurations: [0×1 struct]
       EmitterPlatformIDs: [0×1 double]
               Detections: {}
     SensorConfigurations: [1×1 struct]
        SensorPlatformIDs: 1
           CoverageConfig: [1×1 struct]

Смотрите также

|

Введенный в R2018b