exponenta event banner

plotCoverage

Набор сюжетных покрытий в плоттере покрытия кинотеатра

Описание

пример

plotCoverage(cPlotter,configurations) определяет конфигурации М датчиков или излучателей, зоны покрытия и лучи которых нанесены на график 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

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

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

  • Двухэлементный вектор [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-элементный массив неотрицательных целых чисел. Этот аргумент позволяет задать цвет каждой зоны покрытия и пары лучей с соответствующим индексом.

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

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

Представлен в R2020a