targetOutlines

Контуры целей, просматриваемых актером

Описание

пример

[position,yaw,length,width,originOffset,color] = targetOutlines(ac) возвращает ориентированные прямоугольные контуры всех неэго и небарьерных целевых актёров в сценарии вождения. Контуры видны из назначенного актёра автомобиль , оборудованный датчиком, ac. Дополнительные сведения см. в разделах Автомобиля , оборудованного датчиком и Targets.

Контур цели является проекцией кубоида целевого актёра в (x, y) плоскость локальной системы координат автомобиля , оборудованного датчиком. Целевыми компонентами контура являются position, yaw, length, width, originOffset, и color выходные аргументы.

Можно использовать возвращенные контуры в качестве входных параметров для контурного плоттера birdsEyePlot. Во-первых, вызовите outlinePlotter функция для создания объекта плоттера. Затем используйте plotOutline функция для построения контуров всех актёров на графике птичьего глаза.

[position,yaw,length,width,originOffset,color,numBarrierSegments] = targetOutlines(ac,'Barriers') возвращает только ориентированные прямоугольные контуры всех барьеров в сценарии вождения. Дополнительный выходной аргумент numBarrierSegments содержит количество сегментов, присутствующих в каждом барьере.

Можно использовать перенастроенные контуры барьера в качестве входных параметров для контурного плоттера birdsEyePlot. Во-первых, вызовите outlinePlotter функция для создания объекта плоттера. Затем используйте plotBarrierOutline функция для построения контуров всех барьеров на графике птичьего глаза.

Примеры

свернуть все

Создайте сценарий вождения и покажите, как изменяются контуры цели по мере продвижения симуляции.

Создайте сценарий вождения, состоящий из двух пересекающихся прямых дорог. Первый сегмент дороги - 45 метров в длину. Вторая прямая дорога длиной 32 метра с майкерскими барьерами по обеим её ребрам, и пересекает первую дорогу. Машина, следовавшая со скоростью 12,0 метра в секунду по первой дороге, приближается к идущему пешеходу, пересекающему перекресток со скоростью 2,0 метра в секунду.

scenario = drivingScenario('SampleTime',0.1,'StopTime',1);
road1 = road(scenario,[-10 0 0; 45 -20 0]);
road2 = road(scenario,[-10 -10 0; 35 10 0]);
barrier(scenario,road1)
barrier(scenario,road1,'RoadEdge','left')
ped = actor(scenario,'ClassID',4,'Length',0.4,'Width',0.6,'Height',1.7);
car = vehicle(scenario,'ClassID',1);
pedspeed = 2.0;
carspeed = 12.0;
smoothTrajectory(ped,[15 -3 0; 15 3 0],pedspeed);
smoothTrajectory(car,[-10 -10 0; 35 10 0],carspeed);

Создайте эго-ориентированный график погони для транспортного средства.

chasePlot(car,'Centerline','on')

Создайте пустой график птичьего глаза и добавьте график контура и граничный график маршрута. Затем запустите симуляцию. На каждом шаге симуляции:

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

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

bepPlot = birdsEyePlot('XLim',[-50 50],'YLim',[-40 40]);
outlineplotter = outlinePlotter(bepPlot);
laneplotter = laneBoundaryPlotter(bepPlot);
legend('off')

while advance(scenario)
    rb = roadBoundaries(car);
    [position,yaw,length,width,originOffset,color] = targetOutlines(car);
    [bposition,byaw,blength,bwidth,boriginOffset,bcolor,barrierSegments] = targetOutlines(car,'Barriers');
    plotLaneBoundary(laneplotter,rb)
    plotOutline(outlineplotter,position,yaw,length,width, ...
        'OriginOffset',originOffset,'Color',color)
    plotBarrierOutline(outlineplotter,barrierSegments,bposition,byaw,blength,bwidth, ...
        'OriginOffset',boriginOffset,'Color',bcolor)
    pause(0.01)
end

Figure contains an axes. The axes is empty.

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

свернуть все

Актёр, принадлежащий к drivingScenario объект, заданный как Actor или Vehicle объект. Чтобы создать эти объекты, используйте actor и vehicle функций, соответственно.

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

свернуть все

Вращательные центры целей, возвращенные как матрица вещественных N -by-2. N - количество целей. Каждая строка содержит x - и y - координаты вращательного центра цели. Модули измерения указаны в метрах.

Углы рыскания целей вокруг вращательного центра, возвращенные как действительный вектор N-элемента. N - количество целей. Углы рыскания измеряются в направлении против часовой стрелки, как видно сверху. Модули указаны в степенях.

Длины прямоугольных контуров целей, возвращенные как положительный, действительный вектор N -элемент. N - количество целей. Модули измерения указаны в метрах.

Ширина прямоугольного контура целей, возвращаемая как положительный, действительный вектор N -элемент. N - количество целей. Модули измерения указаны в метрах.

Смещение вращательных центров целей от их геометрических центров, возвращаемое как матрица вещественных N -by-2. N - количество целей. Каждая строка содержит x - и y - координаты, определяющие это смещение. В целях транспортного средства центр вращения, или источник, расположен на земле, непосредственно под центром задней оси. Модули измерения указаны в метрах.

Представление целевых цветов в RGB, возвращаемое как неотрицательная, реальная матрица N -by-3. N - количество целевых актёров.

Количество барьерных сегментов в каждом барьере, возвращаемое как неотрицательный, вещественный N вектор -by-1. N - количество барьеров в сценарии. Этот аргумент возвращается только когда 'Barriers' в качестве входных параметров предусмотрен флаг.

Подробнее о

свернуть все

Автомобиль , оборудованный датчиком и цели

В сценарии вождения можно задать одного актёра в качестве наблюдателя всех других актёров, подобно тому, как драйвер автомобиля наблюдает все остальные машины. Актёра-наблюдателя называют ego actor или, конкретнее, ego vehicle. С точки зрения автомобиля , оборудованного датчиком, все другие субъекты (такие, как транспортные средства и пешеходы) являются наблюдаемыми субъектами, называемыми targets. Автомобили , оборудованные датчиком координаты центрированы и ориентированы с ссылки на автомобиль , оборудованный датчиком. Координаты сценария вождения являются мировыми координатами.

Введенный в R2017a