主要内容

lanespec.

创建道路车道规格

描述

lanespec.对象定义了添加到a的道路的车道规格驱动器Cenario.对象使用函数。有关更多详细信息,请参阅车道规格

创建

描述

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

例子

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

属性

全部展开

此属性是只读的。

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

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

  • NR.是右侧车道的数量,都流向相反的方向。

道路上的车道总数是这些向量值的总和:N=NL.+NR.

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

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

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

什么时候宽度是标量,对所有车道应用相同的值。什么时候宽度是矢量,矢量元素适用于左右的泳道。单位是米。

例子:[3.5 3.7 3.7 3.5]

数据类型:

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

  • lanemarking.对象。这是默认值。

  • SolidMarking目的

  • dashedmarking目的

  • CompoundMarking目的

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

m是车道标记的数量。有一条路N车道,m=N+ 1。

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

“无名” “固体” '虚线' “DoubleSolid” 'doubleashed' 'soliddashed' “DashedSolid”

没有车道标记

实线

虚线

两个实线

两条虚线

左边实线,右边虚线

在左边的虚线,右侧的实线

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

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

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

要创建车道类型对象,请使用lanetype.函数并指定lane的类型。

'驾驶' “边界” “限制” '肩膀' '停车处'

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

例子

全部收缩

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

场景=驱动器Cenario;RoadCenters = [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双重dashw solidw];

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

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

图中包含一个坐标轴。轴包含3个类型为patch, line的对象。

模拟一个带上S曲线的汽车的驾驶场景。创建并绘制车道边界。

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

场景= drivingScenario ('停止'3);道路中心= [-35 20 0;-20 -20 0;0 0 0;20个20 0;35 -20 0];

创造车道并将它们添加到道路上。

lm = [laneMarking (“固体”“颜色”'W');...lanemarking('虚线'“颜色”'是');...lanemarking('虚线'“颜色”'是');...lanemarking(“固体”“颜色”'W')];ls = lanespec(3,“标记”、lm);路(场景、roadcenters“道”、ls);

添加自我车辆并从航点中指定其轨迹。默认情况下,汽车以每秒30米的速度行驶。

汽车=车辆(情景,...'班级号', 1...“位置”, 20 0 [-35]);路径点= [-35 20 0;-20 -20 0;0 0 0;20个20 0;35 -20 0];smoothTrajectory(车,路点);

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

情节(场景)

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 = LaneBoudaryPlotter(BEP);传奇(“关闭”);推进(方案)RBS =路线(汽车);[位置,偏航,长度,宽度,原始OFFSET,颜色] = Targetoutlines(CAR);LB = LaneBoutnaries(汽车,'xdistance',0:5:30,'loyingtype'“中心”...'AllBoundaries',错误的);PlotlaneBoundary(rbsedgeplotter,rbs)plotlaneboundary(lblpotter,{lb(1).coordinates})plotlaneboundary(lblotter,{lb(2).coordinates})plotoutline(Olplotter,位置,偏航,长度,宽度,...“OriginOffset”,OriginOffset,“颜色”、颜色)结尾

限制

  • 不支持交叉路口的车道标记。万博1manbetx

  • 道路的车道数量是固定的。您无法在模拟期间更改道路规范。

更多关于

全部展开

在R2018A介绍