exponenta event banner

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 - количество сегментов барьера в обнаруженных барьерах.

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

Укажите дополнительные пары, разделенные запятыми 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