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