lanespec

创建道路车道规格

描述

lanespec对象定义添加到drivingScenario对象使用函数。有关详细信息,请参见莱恩规范

创建

描述

lnspec= lanespec (numlanes为道路创建车道规格numlanes车道。numLanes设置NumLanes财产的lanespec对象。道路上的车道编号顺序取决于道路的方向。有关详细信息,请参见绘制道路方向及车道编号

例子

lnspec= lanespec (numlanes名称,值属性使用一个或多个名称-值对。例如,lanespec(“宽度”,[2.25 3.5 2.25])指定从左到右分别为2.25米、3.5米、2.25米的三车道道路。有关车道几何属性的更多信息,请参见莱恩规范

属性

全部展开

此属性是只读的。

道路上的车道数,指定为正整数或正整数的二元向量,[NlNR].当NumLanes为正整数,表示所有车道向同一方向流动。当NumLanes是一个向量:

  • Nl是左转车道的数量,所有车道都朝着一个方向流动。

  • NR是右车道的数量,所有的车道都朝着相反的方向流动。

道路上的车道总数是这些向量值的总和:NNl+NR

您可以在创建对象时设置此属性。创建对象后,此属性是只读的。

例子:(2 - 2)指定两个左车道和两个右车道。

车道宽度,指定为正实标量或1乘-N正实标量的向量N是道路上的车道数。N必须等于numlanes和对应的值集合NumLanes财产。

宽度为标量,对所有车道应用相同的值。当宽度是一个向量,向量元素应用于从左到右的车道。单位是米。

例子:[3.5 3.7 3.7 3.5]

数据类型:

道路的行车标志,指定为以下值之一:

  • LaneMarking对象。这是默认值。

  • SolidMarking对象

  • DashedMarking对象

  • CompoundMarking对象

  • 1 -车道标记对象的数组。

为车道标记的数量。为一条有N道,N+ 1。

创建车道标记对象,使用laneMarking函数,并指定车道标记的类型。

“无名” “固体” “冲” “DoubleSolid” “DoubleDashed” “SolidDashed” “DashedSolid”

没有车道标志

实线

虚线

两个实线

两个虚线

左边实线,右边虚线

左虚线,右实线

默认情况下,单行道最右边和中间的车道标记为白色,最左边的车道标记为黄色。对于双向道路,分道标线颜色为黄色。

例子:[laneMarking(固体)laneMarking (DoubleDashed) laneMarking(固体)]为双车道道路指定车道标记。最左和最右的车道标记为实线,分隔车道标记为双虚线。

道路的车道类型,指定为均匀的车道类型对象或1-by-lane类型对象的数组。是车道类型的数量。

要创建lane类型的对象,请使用laneType函数并指定lane的类型。

“开车” “边界” “限制” “肩膀” “停车”

例子:[laneType(肩膀)laneType(开车)]指定双车道道路的车道类型。最左边的车道是肩道,最右边的车道是驾驶车道。

例子

全部折叠

创建一个驾驶场景,道路中心为一条80米长的直路。

场景= drivingScenario;道路中心= [0 0;80 0];

创建一个lanespec反对四车道公路。使用laneMarking功能指定其五个车道标记。中心线是重实色和重黄色。最外面的线是纯白色的。内线是虚线和白色的。

solidW = laneMarking (“固体”“宽度”, 0.3);dashW = laneMarking (“冲”“空间”5);doubleY = laneMarking (“DoubleSolid”“颜色”“黄色”);Lspec = lanespec([2 2],“宽度”,[5 5 5 5],...“标记”,[solidW dashW doubleY dashW solidW]);

将道路添加到驾驶场景中。显示的道路。

路(场景、roadCenters“道”, lspec);情节(场景)

模拟一辆车沿s曲线行驶的驾驶场景。创建和绘制车道边界。

创建一个有s形曲线的道路的驾驶场景。

场景= drivingScenario (“StopTime”3);道路中心= [-35 20 0;-20 -20 0;0 0 0;20个20 0;35 -20 0];

创建车道并将其添加到道路上。

lm = [laneMarking (“固体”“颜色”' w ');...laneMarking (“冲”“颜色”“y”);...laneMarking (“冲”“颜色”“y”);...laneMarking (“固体”“颜色”' w '));ls = lanespec (3“标记”、lm);路(场景、roadcenters“道”、ls);

添加一个自我飞行器,并从它的路径点指定它的轨迹。默认情况下,汽车以每秒30米的速度行驶。

车=车辆(场景中,...“ClassID”,1,...“位置”, 20 0 [-35]);路径点= [-35 20 0;-20 -20 0;0 0 0;20个20 0;35 -20 0];轨迹(车,路点);

绘制场景和相应的追逐情节。

情节(场景)

chasePlot(汽车)

运行模拟循环。

  1. 初始化鸟瞰图并创建轮廓绘图仪、左车道和右车道边界绘图仪以及道路边界绘图仪。

  2. 获得道路边界和矩形轮廓。

  3. 获取车辆左右两侧的车道边界。

  4. 改进模拟并更新绘图仪。

cep = birdsEyePlot (“XLim”, 40 [-40],“YLim”[-30] 30日);olPlotter = outlinePlotter (cep);lblPlotter = laneBoundaryPlotter (cep),“颜色”“r”“线型”“- - -”);lbrPlotter = laneBoundaryPlotter (cep),“颜色”‘g’“线型”“- - -”);rbsEdgePlotter = laneBoundaryPlotter (cep);传奇(“关闭”);advance(scenario) rbs = roadBoundaries(car);(位置、偏航、长度、宽度、originOffset color] = targetOutlines(车);磅= laneBoundaries(车,“XDistance”0:5:30,“LocationType”“中心”...“AllBoundaries”、假);plotLaneBoundary(lblPlotter,{lb(1).Coordinates}) plotLaneBoundary(lbrPlotter,{lb(2).Coordinates})...“OriginOffset”originOffset,“颜色”、颜色)结束

限制

  • 不支持交叉路口的车道标记。金宝app

  • 一条道路的车道数是固定的。在模拟过程中,你不能改变道路的车道规格。

  • 一条道路只能有一个车道规格。

更多关于

全部展开

介绍了R2018a