Объект Platform, принадлежащий отслеживанию сценария
Platform
задает объект платформы, принадлежащий сценарию отслеживания. Платформы представляют движущиеся объекты в сценарии и моделируются как точки или кубоиды с зависимыми аспектом свойствами.
Можно создать Platform
объекты с помощью platform
метод trackingScenario
.
PlatformID
— Заданный сценарием идентификатор платформы
(значение по умолчанию) | положительное целое числоЭто свойство доступно только для чтения.
Заданный сценарием идентификатор платформы в виде положительного целого числа. Сценарий автоматически присваивает PlatformID
значения на каждую платформу.
Типы данных: double
ClassID
— Идентификатор классификации платформ
(значение по умолчанию) | неотрицательное целое числоИдентификатор классификации платформ, заданный как неотрицательное целое число. Можно задать собственную систему классификации платформы и присвоить ClassID
значения на платформы согласно схеме. Значение 0
резервируется для объекта неизвестного или неприсвоенного класса.
Пример 5
Типы данных: double |
single
Dimensions
— Размерности платформы и источник возмещеныstruct
Размерности платформы и источник возмещены в виде структуры. Структура содержит Length
width
высота
, и 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
tsSignature
} (значение по умолчанию) | массив ячеек объектов подписиПодписи платформы в виде массива ячеек 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 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 = 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.