plotBarrierOutline

Отобразите контуры барьеров на графике птичьего глаза

Описание

plotBarrierOutline(olPlotter,barrierSegments,positions,yaw,length,width) отображает прямоугольные контуры барьеров на графике птичьего глаза. Укажите барьер, а также положение, угол поворота рыскания, длину и ширину каждого сегмента барьера. Контурный плоттер olPlotter, связано с birdsEyePlot Объект и конфигурирует отображение заданных контуров.

Чтобы удалить все контуры, связанные с контурным плоттером olPlotter, использовать clearData и задайте olPlotter как входной параметр.

Чтобы отобразить контуры барьеров, которые находятся в сценарии вождения, сначала используйте targetOutlines с 'Barriers' флаг как вход, чтобы получить размерности барьеров. Затем используйте plotBarrierOutline функция для отображения контуров всех барьеров на графике птичьего глаза.

plotBarrierOutline(___,Name,Value) задает опции с использованием одного или нескольких Name,Value аргументы в виде пар и входные параметры из предыдущего синтаксиса.

Примеры

свернуть все

Создайте сценарий вождения. Создать сегмент дороги 25 м с барьером на левом крае. Добавить пешехода, который пересекает дорогу со скоростью 1 м/с, и транспортное средство, который едет по дороге со скоростью 10 м/с.

scenario = drivingScenario;

r = road(scenario,[0 0 0; 25 0 0]);
barrier(scenario,r,'RoadEdge','left')

p = actor(scenario,'ClassID',4,'Length',0.2,'Width',0.4,'Height',1.7);
v = vehicle(scenario,'ClassID',1);

smoothTrajectory(p,[15 -3 0; 15 3 0],1)
smoothTrajectory(v,[v.RearOverhang 0 0; 25-v.Length+v.RearOverhang 0 0],10)

Используйте график погони, чтобы отобразить сценарий с точки зрения транспортного средства.

chasePlot(v,'Centerline','on')

Создайте график птичьего глаза, контурный график и граничный график маршрута.

bep = birdsEyePlot('XLim',[-25 25],'YLim',[-10 10]);
olPlotter = outlinePlotter(bep);
lbPlotter = laneBoundaryPlotter(bep);
legend('off')

Figure contains an axes. The axes is empty.

Запустите цикл симуляции. Обновите график с помощью контуров для целей.

while advance(scenario)
   % Obtain the road boundaries and rectangular outlines.
   rb = roadBoundaries(v);
   [position,yaw,length,width,originOffset,color] = targetOutlines(v);
   [bposition,byaw,blength,bwidth,boriginOffset,bcolor,numBarrierSegments] = targetOutlines(v,'Barriers');

   % Update the bird's-eye plotters with the road, actors and barriers.
   plotLaneBoundary(lbPlotter,rb);
   plotOutline(olPlotter,position,yaw,length,width, ...
               'OriginOffset',originOffset,'Color',color);
   plotBarrierOutline(olPlotter,numBarrierSegments,bposition,byaw,blength,bwidth, ...
               'OriginOffset',boriginOffset,'Color',bcolor); 
   % Allow time for plot to update.
   pause(0.01)
end

Figure contains an axes. The axes is empty.

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

свернуть все

Построение графика, заданное как OutlinePlotter объект. Этот объект хранится в Plotters свойство birdsEyePlot и конфигурирует отображение заданных контуров на графике птичьего глаза. Чтобы создать этот объект, используйте outlinePlotter функция.

Количество барьерных сегментов в каждом барьере, заданное как неотрицательный вектор с реальным M -by-1. M - количество барьеров в сценарии.

Положения всех барьерных сегментов в обнаруженных барьерах, заданные как M -by-2 действительная матрица (X, Y) позиций. M - количество сегментов барьера в обнаруженных барьерах.

Углы поворота для контуров барьера, заданные как M элемент с реальным значением M где - количество сегментов барьера в обнаруженных барьерах.

Длины контуров барьера, заданные как M элемент с реальным значением, где M - количество сегментов барьера в обнаруженных барьерах.

Ширина контуров барьера, заданная как M элемент с реальным значением, где M - количество сегментов барьера в обнаруженных барьерах .

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

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

Пример: 'Color', [1 0 0] изменяет цвет контура барьера на красный.

Вращательные центры прямоугольников относительно источника, заданные как разделенная разделенными запятой парами, состоящая из 'OriginOffset' и M -by-2 матрица с реальными значениями. M - количество сегментов барьера в обнаруженных барьерах. Каждая строка задает центр поворота прямоугольника, представляющего контур сегмента барьера как (X, Y) перемещение от геометрического центра этого прямоугольника.

Цвет контура, заданный как разделенная разделенными запятой парами, состоящая из 'Color' и матрица M -by-3 триплетов RGB. M - количество сегментов барьера в обнаруженных барьерах. Если вы не задаете этот аргумент, функция использует палитру по умолчанию для каждого объекта.

Пример: 'Color', [0 0.5 0.75; 0.8 0.3 0.1]

Введенный в R2021a