Добавить платформу в сценарий РЛС
Создайте сценарий радара.
rs = radarScenario;
Создайте платформу со значениями свойств по умолчанию и добавьте ее в сценарий.
plat = platform(rs);
Укажите траекторию платформы как круговую траекторию радиусом 10 м в течение одной секунды. Это достигается путем размещения ППМ круглой формы, гарантируя, что первый и последний ППМ одинаковы.
wpts = [0 10 0; 10 0 0; 0 -10 0; -10 0 0; 0 10 0]; times = [0; 0.25; .5; .75; 1.0]; plat.Trajectory = waypointTrajectory(wpts,times);
Отображение свойств объекта платформы.
plat
plat =
Platform with properties:
PlatformID: 1
ClassID: 0
Position: [0 10 0]
Orientation: [-1.7180e-05 0 0]
Dimensions: [1x1 struct]
Trajectory: [1x1 waypointTrajectory]
PoseEstimator: [1x1 insSensor]
Emitters: {}
Sensors: {}
Signatures: {[1x1 rcsSignature]}
Выполните моделирование, продвигаясь один шаг за один раз. Отображение времени моделирования и положения и скорости платформы на каждом временном шаге.
while advance(rs) p = pose(plat); disp(strcat("Time = ",num2str(rs.SimulationTime))) disp(strcat(" Position = [",num2str(p.Position),"]")) disp(strcat(" Velocity = [",num2str(p.Velocity),"]")) end
Time = 0
Position = [0 10 0]
Velocity = [62.8318 -1.88403e-05 0]
Time = 0.1
Position = [5.8779 8.0902 0]
Velocity = [50.832 -36.9316 0]
Time = 0.2
Position = [9.5106 3.0902 0]
Velocity = [19.4161 -59.7566 0]
Time = 0.3
Position = [9.5106 -3.0902 0]
Velocity = [-19.4161 -59.7567 0]
Time = 0.4
Position = [5.8779 -8.0902 0]
Velocity = [-50.832 -36.9316 0]
Time = 0.5
Position = [0 -10 0]
Velocity = [-62.8319 1.88181e-05 0]
Time = 0.6
Position = [-5.8779 -8.0902 0]
Velocity = [-50.832 36.9316 0]
Time = 0.7
Position = [-9.5106 -3.0902 0]
Velocity = [-19.4161 59.7566 0]
Time = 0.8
Position = [-9.5106 3.0902 0]
Velocity = [19.4161 59.7566 0]
Time = 0.9
Position = [-5.8779 8.0902 0]
Velocity = [50.832 36.9316 0]
Time = 1
Position = [-7.10543e-15 10 0]
Velocity = [62.8319 -1.88404e-05 0]
Создайте сценарий радара.
rs = radarScenario;
Создать кубовидную платформу для грузовика размерами 5 м на 2,5 м на 3,5 м.
dim1 = struct('Length',5,'Width',2.5,'Height',3.5,'OriginOffset',[0 0 0]); truck = platform(rs,'Dimension',dim1);
Укажите траекторию грузовика как круг радиусом 20 м.
truck.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)');
Создайте платформу для небольшого квадрокоптера с размерами 0,3 м на 0,3 м на 0,1 м.
dim2 = struct('Length',.3,'Width',.3,'Height',.1,'OriginOffset',[0 0 0]); quad = platform(rs,'Dimension',dim2);
Укажите траекторию квадрокоптера как круг на 10 м над грузовиком с небольшой угловой задержкой. Следует отметить, что отрицательные координаты z соответствуют положительной отметке.
quad.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');
Укажите направление вида и выполните моделирование.
view(-28,37); set(gca,'Zdir','reverse'); while advance(rs) poses = platformPoses(rs); plotPlatform(pp1,poses(1).Position,truck.Dimensions,poses(1).Orientation); plotPlatform(pp2,poses(2).Position,quad.Dimensions,poses(2).Orientation); end

scenario - Сценарий РЛСradarScenario объектСценарий радара, указанный как radarScenario объект.
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'ClassID',2'ClassID' - Идентификатор классификации платформы0 (по умолчанию) | неотрицательное целое числоИдентификатор классификации платформы, указанный как неотрицательное целое число. Можно определить собственную схему классификации платформ и назначить ClassID значения для платформ по схеме. Значение 0 зарезервирован для объекта неизвестного или неназначенного класса.
Пример: 5
Типы данных: double
'Trajectory' - Движение платформыkinematicTrajectory объект | waypointTrajectory объект | geoTrajectory объектДвижение платформы, указанное как kinematicTrajectory объект, a waypointTrajectory объект или geoTrajectory объект. Объект траектории определяет эволюцию во времени положения и скорости начала кадра платформы, а также ориентацию кадра платформы относительно кадра сценария.
Когда IsEarthCentered свойство сценария имеет значение false, используйте kinematicTrajectory или waypointTrajectory объект. По умолчанию платформа использует стационарный kinematicTrajectory объект.
Когда IsEarthCentered свойство сценария имеет значение true, используйте geoTrajectory объект. По умолчанию платформа использует стационарный geoTrajectory объект.
'Position' - Положение площадкиЭто свойство доступно только для чтения.
Текущее положение платформы, определяемое как трехэлементный вектор скаляров.
Когда IsEarthCentered свойство сценария имеет значение falseпозиция указана как трехэлементное декартово состояние [x, y, z] в метрах.
Когда IsEarthCentered свойство сценария имеет значение true, положение задается как трёхэлементное геодезическое состояние: latitude в градусах, longitude в градусах, и altitude в метрах.
Этот аргумент указывается только при создании стационарной платформы. Если выбрана траектория платформы, используйте Trajectory аргумент.
Типы данных: double
'Orientation' - Ориентация платформыЭто свойство доступно только для чтения.
Ориентация платформы, заданная как трехэлементный числовой вектор в градусах. Тремя элементами являются [yaw, pitch, roll] углы поворота от локальной опорной рамы к раме кузова платформы.
Этот аргумент указывается только при создании стационарной платформы. Если вы решили указать ориентацию с течением времени, используйте Trajectory аргумент.
Типы данных: double
'Signatures' - Подписи платформы{}Сигнатуры платформы, указанные как массив ячеек объектов сигнатур или пустой массив ячеек ({}). Значением по умолчанию является массив ячеек, содержащий rcsSignature со значениями свойств по умолчанию. При наличии Toolbox™ слияния и отслеживания датчиков массив ячеек также может включать irSignature(панель инструментов слияния и отслеживания датчиков) и tsSignature(Панель инструментов слияния и отслеживания датчиков). Массив ячеек содержит не более одного экземпляра для каждого типа объекта сигнатуры. Сигнатура представляет картину отражения или излучения платформы, такую как ее радиолокационное сечение, целевая сила или интенсивность ИК-излучения.
'Dimensions' - Размеры платформы и смещение начала координатРазмеры платформы и смещение начала координат, указанные как структура. Структура содержит 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
'PoseEstimator' - Оценщик позы платформыinsSensor объект (по умолчанию) | объект оценки позыОценщик позы платформы, указанный как объект оценки позы, такой как insSensor объект. Блок оценки позы определяет позу платформы относительно локальных координат сценария NED. Интерфейс любого оценщика позы должен соответствовать интерфейсу insSensor объект. По умолчанию платформа устанавливает нулевые свойства точности оценщика позы.
'Emitters' - излучатели, установленные на платформе;Излучатели, установленные на платформе, задаются как массив ячеек объектов-излучателей, таких как radarEmitter объекты. Если у вас есть Sensor Fusion и Tracking Toolbox, то массив ячеек также может включать sonarEmitter(Панель инструментов слияния и отслеживания датчиков).
'Sensors' - Датчики, установленные на платформеДатчики, установленные на платформе, определяемые как массив элементов сенсорных объектов, таких как radarDataGenerator объекты.
plat - Сценарная платформаPlatform объектПлатформа сценариев, возвращенная как Platform объект.
insSensor | Platform | radarDataGenerator | radarEmitter | radarScenario | rcsSignature | waypointTrajectory
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.