plotCoverage

Постройте набор покрытий на плоттере покрытия кинотеатра

Описание

пример

plotCoverage(cPlotter,configurations) задает строения M датчиков или излучателей, зоны покрытия которых и лучи нанесены на CoveragePlotter объект, cPlotter. Посмотрите coveragePlotter о том, как создать CoveragePlotter объект.

plotCoverage(cPlotter,configurations,indices,colors) задает цвет каждой пары покрытия и графика луча с помощью списка индексов и цветов.

Примеры

свернуть все

Создать график театра и задать пределы для его осей. Создайте график покрытия с DisplayName установлено на 'Sensor Coverage'.

tp = theaterPlot('XLim',[-40 40],'YLim',[-40 40],'ZLim',[-40 40]);
covp = coveragePlotter(tp,'DisplayName','Sensor Coverage');

Настройте строение датчиков, покрытие которых должно быть нанесено.

 sensor = struct('Index',1,'ScanLimits',[-45 45],'FieldOfView',[10;40],...
       'LookAngle',-10,'Range',30,'Position',zeros(1,3),'Orientation',zeros(1,3));

Постройте график покрытия с помощью plotCoverage функция и визуализация результатов. Темно-синий представляет пучок датчика тока, а светло-синий - зону покрытия.

plotCoverage(covp,sensor)
view(70,30)

Figure contains an axes. The axes contains an object of type patch. This object represents Sensor Coverage.

Создайте график театра и создайте график покрытия.

tp = theaterPlot('XLim',[-1e7 1e7],'YLim',[-1e7 1e7],'ZLim',[-2e6 1e6]);
covp = coveragePlotter(tp,'DisplayName','Sensor Coverage');
view(25,20)

Моделируйте не сканирующий радар и растровый сканирующий радар.

radarIndex = 1;
radar =fusionRadarSensor(radarIndex,'No Scanning','RangeLimits',[0 1e8]);
RasterIndex = 2;
raster = fusionRadarSensor(RasterIndex,'Raster','RangeLimits',[0 1e8]);

Создайте целевую платформу.

tgt = struct( ...
        'PlatformID', 1, ...
        'Position', [0 -50e3 -1e3], ...
        'Speed', -1e3);

Симулируйте датчики и визуализируйте их шаблон сканирования.

time = 0;
timestep = 1;
stopTime = 90;
while time < stopTime
    time = time+timestep;
    radar(tgt,time);
    raster(tgt,time);
    
    % Obtain sensor configuration using coverageConfig. 
    radarcov = coverageConfig(radar);
    ircov = coverageConfig(raster);
    
    % Update plotter
    plotCoverage(covp,[radarcov,ircov],... 
        [radarIndex, RasterIndex],... 
        {'blue','red'}... 
        );
    pause(0.03)
end

Figure contains an axes. The axes contains an object of type patch. This object represents Sensor Coverage.

Входные параметры

свернуть все

Объект плоттера покрытия, созданный coveragePlotter функция.

Датчик или строения излучателя, заданный как массив структур. Каждая конструкция соответствует строению датчика или излучателя. Полями каждой структуры являются:

Поля строений

ОбластьОписание
Index Уникальное целое число для различения датчиков или излучателей.
LookAngle

Текущие углы boresight датчика или излучателя, заданные как:

  • Скаляр в степенях, если сканирование только в азимутальном направлении.

  • Двухэлементный вектор [azimuth; elevation] в степенях при сканировании как в азимутальном, так и в вертикальном направлениях.

FieldOfViewПоле зрения датчика или излучателя, заданное как двухэлементный вектор [azimuth; elevation] в степенях.
ScanLimits

Минимальный и максимальный углы, которые датчик или излучатель может сканировать с его Orientation.

  • Если датчик или излучатель может сканировать только в азимутальном направлении, задайте пределы как вектор-строку 1 на 2 [minAz, maxAz] в степенях.

  • Если датчик или излучатель также может сканировать в повышение направлении, задайте пределы как матрицу 2 на 2 [minAz, maxAz; minEl, maxEl] в степенях.

RangeОбласть значений луча и зоны покрытия датчика или излучателя в метрах.
PositionИсходное положение датчика или излучателя, заданное как трехэлементный вектор [X, Y, Z] на оси театрального сюжета.
OrientationПреобразование вращения из сценария или глобальной системы координат в монтажную систему датчика или эмиттера, заданное как матрица вращения, кватернион или три угла Эйлера в ZYX последовательности.

Совет

Если либо значение Position поле или значение Orientation поле NaNсоответствующая зона покрытия и луч не будут нанесены.

Индексы датчика или эмиттера, заданные как массив N-element из неотрицательных целых чисел. Этот аргумент позволяет вам задать цвет каждой зоны покрытия и пары луча с соответствующим индексом.

Пример: [1;2;4]

Цвет плоттера покрытия, заданный как N-вектор элементов символов, строковых скаляров, триплетов RGB или шестнадцатеричных цветовых кодов. N - количество элементов в indices массив. Зона покрытия и пара луча, индексируемые i-м элементом в indices массив нанесен цветом, заданным i-м элементом colors массив.

Введенный в R2020a