Запустите сценарий отслеживания и запишите платформу, датчик и эмиттерную информацию
возвращает запись, rec = record(sc)rec, из эволюции симуляции сценария отслеживания, sc. Функция запускается с начала симуляции и хранит запись до конца симуляции. Симуляция сценария заканчивается когда любой StopTime сценария достигнут или любая платформа в сценарии закончила свою траекторию, заданную Trajectory свойство.
задает дополнительные количества записи с помощью пар "имя-значение". Заключите каждый rec = record(___,Name,Value)Name в кавычках.
Примечание
record функционируйте только записывает обнаружения, сгенерированные от датчиков, содержавшихся в сценарии, и не записывает дорожки, сгенерированные от fusionRadarSensor объект содержится в сценарии. fusionRadarSensor генерирует обнаружения, когда вы устанавливаете его TargetReportFormat свойство к 'Detetions' или 'Clustered Detections' и генерирует дорожки, когда вы устанавливаете его TargetReportFormat свойство к 'Tracks'.
sc — Отслеживание сценарияtrackingScenario объектОтслеживание сценария в виде trackingScenario объект.
format — Изложите формат ориентации'quaternion' (значение по умолчанию) | 'rotmat'Изложите формат ориентации в виде 'quaternion' или 'rotmat'. Когда задано как 'quaternion', Orientation поле структуры положения платформы является кватернионом. Когда задано как 'rotmat', Orientation поле является матрицей вращения.
Пример: 'rotmat'
Типы данных: char
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
IncludeEmitters — Позвольте записать информацию об эмиссииfalse (значение по умолчанию) | trueПозвольте записать информацию об эмиссии в виде true или false. Когда задано как true, rec выведите содержит Emissions, EmitterConfigurations, EmitterPlatformIDs, и CoverageConfig поля .
IncludeSensors — Позвольте записать информацию о датчикеfalse (значение по умолчанию) | trueПозвольте записать информацию о датчике в виде true или false. Когда задано как true, rec выведите содержит Detections, SensorConfiguration, SensorPlatformIDs, и CoverageConfig поля .
InitialSeed — Начальный случайный seed для записиНачальный случайный seed для записи в виде положительного целого числа. Если задано как положительное целое число, функция присваивает этот номер генератору случайных чисел "Обманщик" перед записью и сбрасывает генератор случайных чисел в конце записи.
HasOcclusion — Включите поглощение газов в передаче сигналаtrue (значение по умолчанию) | falseВключите поглощение газов в передаче сигнала в виде true или false. Когда задано как true, функция составляет эффект поглощения газов в распространении радиолокационного излучения.
RecordingFormat — Формат записи'Struct' (значение по умолчанию) | 'Recording'Формат записи в виде 'Struct' или 'Recording'. Когда задано как 'Struct', rec выход является массивом структур. Когда задано как 'Recording', rec выходом является trackingScenarioRecording объект.
CoordinateSystem — Система координат, чтобы сообщить о зарегистрированных положениях'Cartesian' (значение по умолчанию) | 'Geodetic'Система координат, чтобы сообщить о зарегистрированных положениях в виде:
'Cartesian' — Сообщите о зарегистрированных положениях с помощью Декартовых координат в Земле Земля В центре Фиксированная координатная система координат.
'Geodetic' — Сообщите о зарегистрированных положениях с помощью геодезических координат (широта, долгота и высота). Сообщите о зарегистрированной ориентации, скорости и ускорении в системе координат локальной ссылки каждой платформы (Северо-восток вниз по умолчанию) соответствие текущему waypoint.
Можно только использовать этот аргумент когда IsEarthCentered свойство сценария отслеживания, sc, установлен в true.
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 вектор-строку. модули являются метрами в секунду. Значением по умолчанию является |
Acceleration | Ускорение платформы в координатах сценария в виде 1 3 вектора-строки в метрах в секунду придало квадратную форму. Значением по умолчанию является |
Orientation | Ориентация платформы относительно локальной навигации сценария структурирует в виде скалярного кватерниона или 3х3 матрицы вращения. Ориентация задает вращение системы координат от локальной системы координат навигации до текущей системы координат тела платформы. Модули являются безразмерными. Значением по умолчанию является |
AngularVelocity | Скорость вращения платформы в сценарии координирует в виде с действительным знаком 1 3 вектор. Величина вектора задает угловую скорость. Направление задает ось по часовой стрелке вращения. модули являются степенями в секунду. Значением по умолчанию является |
Дополнительные поля в rec выход:
| Поле | Описание |
|---|---|
Emissions | массив ячеек эмиссии (такой как |
EmitterConfigurations | массив структур эмиттерных настроек для каждого эмиттера |
EmitterPlatformIDs | числовой массив идентификаторов платформы для каждого эмиттера |
Detections | массив ячеек |
SensorConfigurations | массив структур настроек датчика для каждого датчика |
SensorPlatformIDs | числовой массив идентификаторов платформы для каждого датчика |
CoverageConfig | массив структур настроек покрытия для каждого датчика или эмиттера |
Каждая эмиттерная конфигурационная структура содержит следующие поля:
| Поле | Описание |
EmitterIndex | Уникальный эмиттерный индекс, возвращенный как положительное целое число. |
IsValidTime | Допустимое время эмиссии, возвращенное как |
IsScanDone | Завершил ли эмиттер скан, возвращенный как |
FieldOfView | Поле зрения эмиттера, возвращенного как двухэлементный вектор [азимут; вертикальное изменение] в градусах. |
MeasurementParameters | Эмиттерные параметры измерения, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к текущей эмиттерной системе координат. |
Каждая конфигурационная структура датчика содержит следующие поля:
| Поле | Описание |
SensorIndex | Уникальный индекс датчика, возвращенный как положительное целое число. |
IsValidTime | Допустимое время обнаружения, возвращенное как |
IsScanDone |
|
FieldOfView | Поле зрения датчика, возвращенного как 2 1 вектор из положительных вещественных значений, [ |
MeasurementParameters | Параметры измерения датчика, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к системе координат датчика тока. |
Каждая конфигурационная структура покрытия содержит эти поля:
Поля настроек
| Поле | Описание |
|---|---|
Index | Уникальное целое число, чтобы идентифицировать датчики или эмиттеры. |
LookAngle |
Текущие пеленги датчика или эмиттера в виде:
|
FieldOfView | Поле зрения датчика или эмиттера в виде двухэлементного вектора [azimuth; elevation] в градусах. |
ScanLimits |
Минимальные и максимальные углы датчик или эмиттер могут отсканировать от его
|
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: [1x1 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: [1x1 quaternion]
AngularVelocity: [0 0 0]
Покажите запись в итоговое время.
r(end)
ans = struct with fields:
SimulationTime: 1.2000
Poses: [1x1 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: [1x1 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
PointClouds
PointCloudClusters
SensorConfigurations
SensorPlatformIDs
CoverageConfig
Покажите запись в начальное время.
r(1)
ans = struct with fields:
SimulationTime: 0
Poses: [4x1 struct]
Emissions: {0x1 cell}
EmitterConfigurations: [0x1 struct]
EmitterPlatformIDs: [0x1 double]
Detections: {0x1 cell}
PointClouds: {0x1 cell}
PointCloudClusters: {0x1 cell}
SensorConfigurations: [1x1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1x1 struct]
Покажите запись в итоговое время.
r(end)
ans = struct with fields:
SimulationTime: 59.9947
Poses: [4x1 struct]
Emissions: {0x1 cell}
EmitterConfigurations: [0x1 struct]
EmitterPlatformIDs: [0x1 double]
Detections: {0x1 cell}
PointClouds: {0x1 cell}
PointCloudClusters: {0x1 cell}
SensorConfigurations: [1x1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1x1 struct]
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.