Добавьте платформу в отслеживание сценария
ptfm = platform(sc)
ptfm = platform(sc,Name,Value)
добавляет ptfm
= platform(sc
)Platform
объект, ptfm
, к сценарию отслеживания, sc
. Функция создает платформу со значениями свойств по умолчанию. Платформы заданы как точки или кубоиды с зависимыми аспектом свойствами. Каждая платформа автоматически присвоена уникальный идентификатор, заданный в platformID
поле Platform
объект.
добавляет платформа с дополнительными свойствами, заданными одним или несколькими ptfm
= platform(sc
,Name,Value
)Name,Value
парные аргументы. Name
имя свойства и Value
соответствующее значение. Name
должен появиться в одинарных кавычках (''
). Можно задать несколько аргументов пары "имя-значение" в любом порядке как Name1,Value1,...,NameN,ValueN
. Любые незаданные свойства берут значения по умолчанию.
sc
— Отслеживание сценарияtrackingScenario
объектОтслеживание сценария в виде trackingScenario
объект.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'ClassID'
— Идентификатор классификации платформ
(значение по умолчанию) | неотрицательное целое числоИдентификатор классификации платформ, заданный как неотрицательное целое число. Можно задать собственную систему классификации платформы и присвоить ClassID
значения на платформы согласно схеме. Значение 0
резервируется для объекта неизвестного или неприсвоенного класса.
Пример 5
Типы данных: double
'Position'
— Положение платформыЭто свойство доступно только для чтения.
Текущее положение платформы в виде вектора с 3 элементами из скаляров.
Когда IsEarthCentered
свойство сценария установлено в false
, положение задано как три элемента Декартово состояние [x
Y
Z
] в метрах.
Когда IsEarthCentered
свойство сценария установлено в true
, положение задано как три элемента геодезическое состояние: latitude
в градусах, longitude
в градусах, и altitude
в метрах.
Необходимо только задать положение при создании стационарной платформы. Если вы принимаете решение задать траекторию платформы, не используйте Position
. Вместо этого используйте Trajectory
аргумент.
Типы данных: double
'Orientation'
— Ориентация платформыЭто свойство доступно только для чтения.
Ориентация платформы в виде вектора с 3 элементами из скаляров в градусах. Эти три скаляра [yaw
Тангаж
Крен
] углы поворота от локальной ссылки структурируют к системе координат тела платформы.
Необходимо только задать Orientation
при создании стационарной платформы. Если вы принимаете решение задать ориентацию в зависимости от времени, используйте Trajectory
аргумент.
Типы данных: double
'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
возразите | geoTrajectory
объектДвижение платформы в виде любого kinematicTrajectory
объект, waypointTrajectory
объект или geoTrajectory
объект. Объект траектории задает эволюцию времени положения и скорость системы координат платформы, а также ориентацию системы координат платформы относительно системы координат сценария.
Когда IsEarthCentered
свойство сценария установлено в false
, можно использовать kinematicTrajectory
или waypointTrajectory
объект. По умолчанию, стационарный kinematicTrajectory
объект используется.
Когда IsEarthCentered
свойство сценария установлено в true
, можно только использовать geoTrajectory
объект. По умолчанию, стационарный geoTrajectory
объект используется.
'Signatures'
— Подписи платформыrcsSignature
irSignature
tsSignature
} (значение по умолчанию) | массив ячеек объектов подписиПодписи платформы в виде массива ячеек irSignature
, rcsSignature
, и tsSignature
объекты или массив пустой ячейки. Массив ячеек содержит самое большее только один экземпляр для каждого типа перечисленных объектов подписи. Подпись представляет шаблон отражения или эмиссии платформы, такой как ее радарное поперечное сечение, целевая сила или интенсивность IR.
'PoseEstimator'
— Средство оценки положения платформыinsSensor
Системный объект (значение по умолчанию) | излагает объект средства оценкиСредство оценки положения в виде объекта средства оценки положения. Средство оценки положения определяет положение платформы относительно локальной координаты сценария NED. Интерфейс любого средства оценки положения должен совпадать с интерфейсом insSensor
. По умолчанию позируйте, свойства точности средства оценки обнуляются.
'Emitters'
— Эмиттеры смонтированы на платформеЭмиттеры, смонтированные на платформе в виде массива ячеек эмиттерных объектов, такие как radarEmitter
или sonarEmitter
.
'Sensors'
— Датчики смонтированы на платформеДатчики, смонтированные на платформе в виде массива ячеек объектов датчика, такие как irSensor
, radarSensor
, monostaticRadarSensor
, или sonarSensor
.
ptfm
— Платформа сценарияPlatform
объектПлатформа сценария, возвращенная как Platform
объект.
Создайте сценарий отслеживания и платформу после кругового пути.
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.