Объект платформы, принадлежащий сценарию отслеживания
Platform определяет объект платформы, принадлежащий сценарию отслеживания. Платформы представляют движущиеся объекты в сценарии и моделируются как точки или кубоиды с зависящими от аспектов свойствами.
Можно создавать Platform с использованием platform способ trackingScenario.
PlatformID - Идентификатор платформы, определяемый сценарием1 (по умолчанию) | положительное целое числоЭто свойство доступно только для чтения.
Определяемый сценарием идентификатор платформы, указанный как положительное целое число. Сценарий автоматически присваивает PlatformID значения для каждой платформы.
Типы данных: double
ClassID - Идентификатор классификации платформы0 (по умолчанию) | неотрицательное целое числоИдентификатор классификации платформы указан как неотрицательное целое число. Можно определить собственную схему классификации платформ и назначить ClassID значения для платформ по схеме. Значение 0 зарезервирован для объекта неизвестного или неназначенного класса.
Пример: 5
Типы данных: double | single
Position - Текущее положение площадкиЭто свойство доступно только для чтения.
Текущее положение платформы, определяемое как 3-элементный вектор скаляров.
Когда IsEarthCentered свойство сценария имеет значение falseпозиция выражается в виде трехэлементного декартова состояния [x, y, z] в метрах.
Когда IsEarthCentered свойство сценария имеет значение true, положение выражается как трёхэлементное геодезическое состояние: latitude в градусах, longitude в градусах, и altitude в метрах.
Типы данных: double
Orientation - Текущая ориентация платформыЭто свойство доступно только для чтения.
Текущая ориентация платформы, заданная как 3-элементный вектор скаляров в градусах. Три скаляра являются [yaw, pitch, roll] углы поворота от локальной опорной рамы к раме корпуса платформы.
Типы данных: double
Dimensions - Размеры платформы и смещение начала координатstructРазмеры платформы и смещение начала координат, указанные как структура. Структура содержит Length, Width, Height, и OriginOffset кубоида, который аппроксимирует размеры платформы. OriginOffset - вектор положения от центра кубоида до начала координат платформы. OriginOffset выражается в системе координат платформы. Например, если начало координат платформы находится в центре задней поверхности кубовида, как показано на следующем рисунке, установите OriginOffset как [-L/2, 0, 0]. Значение по умолчанию для Dimensions - структура со всеми полями, равными нулю, что соответствует точечной модели.

Поля Dimensions
| Области | Описание | Дефолт |
|---|---|---|
Length | Размер кубоида вдоль направления x | 0 |
Width | Размер кубоида вдоль направления y | 0 |
Height | Размер кубоида вдоль направления z | 0 |
OriginOffset | Положение начала координат платформы относительно центра кубовида | [0 0 0 ] |
Пример: struct('Length',5,'Width',2.5,'Height',3.5,'OriginOffset',[-2.5 0 0])
Типы данных: struct
Trajectory - Движение платформыkinematicTrajectory объект | waypointTrajectory объект | geoTrajectory объектДвижение платформы, указанное как kinematicTrajectory объект, a waypointTrajectory объект или geoTrajectory объект. Объект траектории определяет эволюцию во времени положения и скорости начала кадра платформы, а также ориентацию кадра платформы относительно кадра сценария.
Когда IsEarthCentered свойство сценария имеет значение false, вы можете использовать kinematicTrajectory или waypointTrajectory объект. По умолчанию стационарный kinematicTrajectory используется объект.
Когда IsEarthCentered свойство сценария имеет значение true, вы можете использовать только geoTrajectory объект. По умолчанию стационарный geoTrajectory используется объект.
Signatures - Подписи платформыrcsSignature
irSignature
tsSignature} (по умолчанию) | массив ячеек объектов сигнатурыСигнатуры платформы, указанные как массив ячеек irSignature, rcsSignature, и tsSignature объекты или пустой массив ячеек. Массив ячеек содержит не более одного экземпляра для каждого типа перечисленных объектов сигнатуры. Сигнатура представляет картину отражения или излучения платформы, такую как ее радиолокационное сечение, целевая сила или интенсивность ИК-излучения.
PoseEstimator - Оценщик позы платформыinsSensor объект (по умолчанию) | объект оценки позыEmitters - излучатели, установленные на платформе;Эмиттеры, установленные на платформе, определенные как массив ячеек объектов-эмиттеров, таких как radarEmitter или sonarEmitter.
Sensors - Датчики, установленные на платформеДатчики, установленные на платформе, задаются в виде матрицы элементов сенсорных объектов, таких как irSensor, fusionRadarSensor, monostaticLidarSensor, или sonarSensor.
Mesh - Сетка платформыextendedObjectMesh объект (по умолчанию)Сетка платформы, указанная как extendedObjectMesh объект. Объект представляет сеть в виде вершин и граней. monostaticLidarSensor объект использует информацию о сетке платформы для создания облачных данных.
detect | Обнаружение сигналов с помощью установленных на платформе датчиков |
lidarDetect | Сообщать об обнаружении облака точек от всех лидарных датчиков на платформе |
emit | Излучать сигналы от излучателей, установленных на платформе |
pose | Поза платформы |
targetPoses | Целевые позиции и ориентации, как видно из платформы |
targetMeshes | Целевые сети, видимые с платформы |
Создайте сценарий отслеживания и платформу по круговому пути.
scene = trackingScenario('UpdateRate',1/50); % Create a platform plat = platform(scene); % Follow a circular trajectory 1 km in radius completing in 400 hundred seconds. plat.Trajectory = waypointTrajectory('Waypoints', [0 1000 0; 1000 0 0; 0 -1000 0; -1000 0 0; 0 1000 0], ... 'TimeOfArrival', [0; 100; 200; 300; 400]); % Perform the simulation while scene.advance p = pose(plat); fprintf('Time = %f ', scene.SimulationTime); fprintf('Position = ['); fprintf('%f ', p.Position); fprintf('] Velocity = ['); fprintf('%f ', p.Velocity); fprintf(']\n'); end
Time = 0.000000
Position = [
0.000000 1000.000000 0.000000
] Velocity = [
15.707701 -0.000493 0.000000
]
Time = 50.000000
Position = [
707.095476 707.100019 0.000000
] Velocity = [
11.107152 -11.107075 0.000000
]
Time = 100.000000
Position = [
1000.000000 0.000000 0.000000
] Velocity = [
0.000476 -15.707961 0.000000
]
Time = 150.000000
Position = [
707.115558 -707.115461 0.000000
] Velocity = [
-11.107346 -11.107341 0.000000
]
Time = 200.000000
Position = [
0.000000 -1000.000000 0.000000
] Velocity = [
-15.707963 0.000460 0.000000
]
Time = 250.000000
Position = [
-707.098004 -707.098102 0.000000
] Velocity = [
-11.107069 11.107074 0.000000
]
Time = 300.000000
Position = [
-1000.000000 0.000000 0.000000
] Velocity = [
-0.000476 15.707966 0.000000
]
Time = 350.000000
Position = [
-707.118086 707.113543 0.000000
] Velocity = [
11.107262 11.107340 0.000000
]
Time = 400.000000
Position = [
-0.000000 1000.000000 0.000000
] Velocity = [
15.708226 -0.000493 0.000000
]
Создайте сценарий отслеживания с двумя кубовидными платформами по круговым траекториям.
sc = trackingScenario; % Create the platform for a truck with dimension 5 x 2.5 x 3.5 (m). p1 = platform(sc); p1.Dimensions = struct('Length',5,'Width',2.5,'Height',3.5,'OriginOffset',[0 0 0]); % Specify the truck's trajectory as a circle with radius 20 meters. p1.Trajectory = waypointTrajectory('Waypoints', [20*cos(2*pi*(0:10)'/10)... 20*sin(2*pi*(0:10)'/10) -1.75*ones(11,1)], ... 'TimeOfArrival', linspace(0,50,11)'); % Create the platform for a small quadcopter with dimension .3 x .3 x .1 (m). p2 = platform(sc); p2.Dimensions = struct('Length',.3,'Width',.3,'Height',.1,'OriginOffset',[0 0 0]); % The quadcopter follows the truck at 10 meteres above with small angular delay. % Note that the negative z coordinates correspond to positive elevation. p2.Trajectory = waypointTrajectory('Waypoints', [20*cos(2*pi*((0:10)'-.6)/10)... 20*sin(2*pi*((0:10)'-.6)/10) -11.80*ones(11,1)], ... 'TimeOfArrival', linspace(0,50,11)');
Визуализация результатов с помощью theaterPlot.
tp = theaterPlot('XLim',[-30 30],'YLim',[-30 30],'Zlim',[-12 5]); pp1 = platformPlotter(tp,'DisplayName','truck','Marker','s'); pp2 = platformPlotter(tp,'DisplayName','quadcopter','Marker','o'); % Specify a view direction and animate. view(-28,37); set(gca,'Zdir','reverse'); while advance(sc) poses = platformPoses(sc); plotPlatform(pp1, poses(1).Position, p1.Dimensions, poses(1).Orientation); plotPlatform(pp2, poses(2).Position, p2.Dimensions, poses(2).Orientation); end

Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.