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 object. The axes object 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 object. The axes object contains an object of type patch. This object represents Sensor Coverage.

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

свернуть все

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

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

Поля настроек

Поле Описание
Index Уникальное целое число, чтобы отличить датчики или эмиттеры.
LookAngle

Текущие пеленги датчика или эмиттера в виде:

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

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

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

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

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

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

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

Совет

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

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

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

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

Смотрите также

| | |

Введенный в R2021a