主要内容

laneMarkingPlotter

用于鸟瞰图的车道标记绘图仪

描述

例子

lmPlotter= laneMarkingPlotter (cep创建一个LaneMarkingPlotter在鸟瞰图上配置车道标记显示的对象。的LaneMarkingPlotter对象存储在策划者输入属性birdsEyePlot对象,cep.要显示车道标记,请使用plotLaneMarking函数。

lmPlotter= laneMarkingPlotter (cep名称,值使用一个或多个设置属性名称,值对参数。例如,laneMarkingPlotter (cep DisplayName,车道标记)设置鸟眼图图例中显示的名称。

例子

全部折叠

创建一个驾驶场景,其中包含一辆自我车辆和一辆沿着三条车道行驶的目标车辆。使用视觉检测发生器检测车道边界。

场景= drivingScenario;

通过使用车道规格创建一个三车道的道路。

道路中心= [0 0;60 0 0;120年30 0];lspc = lanespec (3);路(场景、roadCenters“道”, lspc);

指定ego车辆以30米/秒的速度沿中心车道行驶。

egovehicle =车辆(场景中,“ClassID”1);Egopath = [1.5 0 0;60 0 0;111年25 0];egospeed = 30;smoothTrajectory (egovehicle egopath egospeed);

指定目标车辆以40米/秒的速度领先自我车辆,并在靠近自我车辆的地方改变车道。

targetcar =车辆(场景中,“ClassID”1);Targetpath = [8 2;60 -3.2;120年33];targetspeed = 40;定位路径,smoothTrajectory (targetcar targetspeed);

显示一个追逐情节的3-D视图从后面的自我车辆。

chasePlot (egovehicle)

创建一个视觉检测生成器,检测车道和物体。传感器的俯仰向下指向1度。

visionSensor = visionDetectionGenerator (“节”, 1.0);visionSensor。DetectorOutput =车道和对象的;visionSensor。ActorProfiles = ActorProfiles(场景);

运行仿真。

  1. 创建一个鸟瞰图和相关的绘图仪。

  2. 显示传感器覆盖区域。

  3. 显示车道标记。

  4. 获得道路上目标的地面真实姿态。

  5. 在前方60米处获得理想的车道边界点。

  6. 从理想目标姿态和车道边界生成检测。

  7. 显示目标的轮廓。

  8. 当对象检测有效时显示对象检测。

  9. 当车道检测有效时显示车道边界。

cep = birdsEyePlot (“XLim”, 60 [0],“YLim”35 [-35]);caPlotter = coverageAreaPlotter (cep),“DisplayName的”“覆盖范围”...“FaceColor”“蓝”);detPlotter = detectionPlotter (cep),“DisplayName的”“对象检测”);lmPlotter = laneMarkingPlotter (cep),“DisplayName的”“车道标记”);lbPlotter = laneBoundaryPlotter (cep),“DisplayName的”...“车道边界检测”“颜色”“红色”);olPlotter = outlinePlotter (cep);plotCoverageArea (caPlotter visionSensor。SensorLocation,...visionSensor.MaxRange visionSensor.Yaw,...visionSensor.FieldOfView (1));advance(scenario) [lmv,lmf] = laneMarkingVertices(egovehicle);tgtpose = targetpose (egovehicle);lookaheadDistance = 0:0.5:60;磅= laneBoundaries (egovehicle,“XDistance”lookaheadDistance,“LocationType”“内心”);[obdets, nobdets obValid、lb_dets nlb_dets, lbValid] =...visionSensor (tgtpose磅,scenario.SimulationTime);[objposition, objyaw objlength、objwidth objoriginOffset, color] = targetOutlines (egovehicle);plotOutline (olPlotter、objposition objyaw、objlength objwidth,...“OriginOffset”objoriginOffset,“颜色”、颜色)如果obValid detPos = cellfun(@(d)d. measurement (1:2),obdets,“UniformOutput”、假);detPos = vertcat (0 (0, 2), cell2mat (detPos ') ');plotDetection (detPlotter detPos)结束如果lbValid plotLaneBoundary (lbPlotter vertcat (lb_dets.LaneBoundaries))结束结束

输入参数

全部折叠

鸟瞰图,指定为birdsEyePlot对象。

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:laneBoundaryPlotter(“颜色”,“红”)设置车道标记的颜色为红色。

要在图例中显示的绘图仪名称,指定为逗号分隔的对,由“DisplayName的”以及字符向量或字符串标量。如果不指定名称,鸟瞰图将不会显示绘图仪的图例条目。

车道标记补丁的面色,指定为逗号分隔对组成“FaceColor”和RGB三联或表中列出的颜色名称之一。

对于自定义颜色,指定一个RGB三元组。RGB三元组是一个由三个元素组成的行向量,其元素指定颜色的红色、绿色和蓝色组件的强度。强度必须在[0,1]范围内;例如,[0.4 0.6 0.7]。或者,您可以通过名称指定一些常见的颜色。这个表格列出了命名的颜色选项和等价的RGB三元组值。

颜色名称 RGB值 外观
“红色” (1 0 0)

“绿色” (0 1 0)

“蓝” (0 0 1)

“青色” (0 1 1)

“红色” (1 0 1)

“黄色” (1 1 0)

“黑” (0 0 0)

“白色” (1 1 1)

与绘图仪对象关联的标记,指定为逗号分隔对,由“标签”以及字符向量或字符串标量。默认值为的绘图机N,在那里N是一个整数吗N与输入相关联的绘图器birdsEyePlot对象。

输出参数

全部折叠

巷标绘图仪,返回为LaneMarkingPlotter对象。您可以通过更改其属性值来修改该对象。属性的名称对应于名称-值对参数laneMarkingPlotter函数。

lmPlotter存储在策划者输入属性birdsEyePlot对象,cep.要绘制车道标记,请使用plotLaneMarking函数。

介绍了R2018a