Объект Platform, принадлежащий отслеживанию сценария
Platform задает объект платформы, принадлежащий сценарию отслеживания. Платформы представляют движущиеся объекты в сценарии и моделируются как точки или кубоиды с зависимыми аспектом свойствами.
Можно создать объекты Platform с помощью метода platform trackingScenario.
PlatformID — Заданный сценарием идентификатор платформы1 (значение по умолчанию) | положительное целое числоЭто свойство доступно только для чтения.
Заданный сценарием идентификатор платформы, заданный как положительное целое число. Сценарий автоматически присваивает значения PlatformID каждой платформе.
Типы данных: double
ClassID — Идентификатор классификации платформ0 (значение по умолчанию) | неотрицательное целое числоИдентификатор классификации платформ, заданный как неотрицательное целое число. Можно задать собственную систему классификации платформы и присвоить значения ClassID платформам согласно схеме. Значение 0 резервируется для объекта неизвестного или неприсвоенного класса.
Пример 5
Типы данных: double | single
Размерности Размерности платформы и источник смещаются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Движение платформы, заданное или как объект kinematicTrajectory или как объект waypointTrajectory.
Движение задает эволюцию времени положения и скорость источника кадра платформы, а также ориентацию кадра платформы относительно кадра сценария.
Signatures — Подписи платформыrcsSignature со свойствами по умолчанию | массив ячеек объектов подписиПодписи платформы, заданные как массив ячеек irSignature, rcsSignature и объектов tsSignature. Подпись представляет шаблон отражения или эмиссии платформы, такой как ее радарное поперечное сечение, целевая сила или интенсивность IR.
PoseEstimator — Средство оценки положения платформыinsSensor (значение по умолчанию) | излагает объект средства оценкиСредство оценки положения, заданное как объект средства оценки положения, такой как insSensor. Средство оценки положения определяет положение платформы относительно локальной координаты сценария NED. Интерфейс любого средства оценки положения должен совпадать с интерфейсом insSensor. По умолчанию свойства точности средства оценки положения обнуляются.
Emitters — Эмиттеры смонтированы на платформеЭмиттеры смонтированы на платформе, заданной как массив ячеек эмиттерных объектов, такие как radarEmitter или sonarEmitter.
Sensors — Датчики смонтированы на платформеДатчики смонтированы на платформе, заданной как массив ячеек объектов датчика, такие как irSensor, radarSensor, monostaticRadarSensor или sonarSensor.
detect | Обнаружьте сигналы с помощью смонтированных платформой датчиков |
emit | Излучите сигналы от эмиттеров, смонтированных на платформе |
pose | Положение платформы |
targetPoses | Целевые положения и ориентации, как замечено по платформе |
Создайте сценарий отслеживания и платформу после кругового пути.
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 1 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 = 50.000000 Position = [623.561925 626.638509 0.000000 ] Velocity = [11.378941 -9.434245 0.000000 ] Time = 100.000000 Position = [1000.000000 0.000000 0.000000 ] Velocity = [1.677836 -15.100595 0.000000 ] Time = 150.000000 Position = [724.510494 -677.241693 0.000000 ] Velocity = [-11.268303 -10.477873 0.000000 ] Time = 200.000000 Position = [0.000000 -1000.000000 0.000000 ] Velocity = [-16.843065 -2.681970 0.000000 ] Time = 250.000000 Position = [-926.594496 -797.673675 0.000000 ] Velocity = [-15.117346 13.826681 0.000000 ] Time = 300.000000 Position = [-1000.000000 0.000000 0.000000 ] Velocity = [9.520786 9.672548 0.000000 ] Time = 350.000000 Position = [-421.669352 137.708709 0.000000 ] Velocity = [10.727588 -1.999781 0.000000 ] Time = 400.000000 Position = [-0.000000 1.000000 0.000000 ] Velocity = [6.118648 -2.380995 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.