exponenta event banner

coveragePlotter

Создание плоттера покрытия

Описание

cPlotter = coveragePlotter(tp) создает CoveragePlotter объект для использования с объектом сюжета кинотеатра, tp. Используйте plotCoverage для построения графика покрытия датчика через созданную CoveragePlotter объект.

пример

cPlotter = coveragePlotter(tp,Name,Value) создает CoveragePlotter объект с дополнительными опциями, заданными одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Создайте график кинотеатра и задайте пределы для его осей. Создание плоттера покрытия с помощью 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.

Входные аргументы

свернуть все

Театральный участок, указанный как theaterPlot объект.

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'DisplayName', 'Radar1'

Имя графика для отображения в легенде, указанное как разделенная запятыми пара, состоящая из 'DisplayName' и вектор символов или строковый скаляр. Если имя не указано, запись не отображается.

Пример: 'DisplayName','Radar Detections'

Зона покрытия и цвет луча датчика, указанный как вектор символов, скаляр строки, триплет RGB, шестнадцатеричный код цвета или 'auto'. При задании цвета плоттер рисует все зоны покрытия и балки с заданным цветом. Если для цвета установлено значение 'auto', плоттер использует порядок цветов оси для назначения цветов датчикам на основе их индексов.

Лицевые значения альфа зоны покрытия и луча датчика, заданные как 2-элементный вектор неотрицательных скаляров. Первый элемент является значением, применяемым к лучу, а второй элемент является значением, применяемым к зоне покрытия.

Тег, связанный с плоттером, заданный как символьный вектор или строка. Вы можете использовать findPlotter для определения плоттеров на основе их марки. Значение по умолчанию: 'PlotterN', где N - целое число, соответствующее N-му плоттеру, связанному с theaterPlot.

Выходные аргументы

свернуть все

Плоттер покрытия, возвращенный как CoveragePlotter объект. Этот объект можно изменить, изменив его значения свойств. Имена свойств соответствуют аргументам пары имя-значение coveragePlotter функция.

Для построения графика покрытия используйте plotCoverage функция.

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