主要内容

lanemarking.

创建道路标线对象

描述

单线标记型

LM.= lanmarking(类型创建指定类型的默认通道标记对象(实时通道,虚线通道等)。该对象定义了道路上的车道边界标记的特征。在驾驶场景中创建道路时,您可以使用Lane标记对象作为输入lanespec.目的。

例子

LM.= lanmarking(类型名称,价值使用一个或多个名称-值对设置车道标记对象的属性。例如,laneMarking(“固体”、“颜色”、“黄色”)创造一个坚固的黄色车道标记。

沿车道有多种标记类型

例子

厘米= lanmarking(lmarray从一系列车道标记对象创建复合车道标记对象,lmarray.使用此语法生成包含多个标记类型的通道标记。

例如,通过定义创建具有固体和虚线标记类型的通道边界标记lmarray

lmarray = [lanmarking('solid')lanmarking('虚线')] cm = lanmarking(lmarray)
打标类型发生的顺序取决于道路的绘制方向。有关更多信息,请参阅绘制道路的道路方向和网路的编号复合车道标记

例子

厘米= lanmarking(lmarray,'sementrange',范围指定通过使用名称值对参数的复合车道标记中的每个标记类型的范围'segmentrange'范围

例子

全部收缩

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

场景=驱动器Cenario;RoadCenters = [0 0;80 0];

创建一个lanespec.四车道道路的对象。使用lanemarking.功能指定其五个车道标记。中心线是双固和双黄色。最外线是坚固的。内线是虚线和白色的。

solidw = lanmarking(“固体”'宽度',0.3);dashw = lanemarking('虚线''空间'5);doubleY = laneMarking ('doublesolid''颜色'“黄色”);Lspec = lanespec([2 2],'宽度',[5 5 5 5],...'标记',[solidw dashw双重dashw solidw];

将道路添加到驾驶场景。展示道路。

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

图中包含一个坐标轴。轴包含3个类型的贴片物体,线。

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

创建带有S曲线的一条道路的驾驶场景。

场景= drivingScenario ('停止',3);RoadCenters = [-35 20 0;-20 -20 0;0 0 0;20 20 0;35 -20 0];

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

lm = [lanmarking(“固体”'颜色''W');...lanemarking('虚线''颜色''是');...lanemarking('虚线''颜色''是');...lanemarking(“固体”'颜色''W')];ls = lanespec(3,'标记',lm);道路(情景,院位道,“道”,ls);

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

汽车=车辆(情景,...'班级号',1,...'位置',[ -  35 20 0]);航点= [-35 20 0;-20 -20 0;0 0 0;20 20 0;35 -20 0];Smoothtrajectory(汽车,航点);

绘制场景和相应的追逐图。

情节(方案)

chasePlot(汽车)

运行模拟循环。

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

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

  3. 获得车辆左右的车道边界。

  4. 提前模拟并更新绘图仪。

bep = birdseyebplot('xlim',[ -  40 40],'ylim'[-30] 30日);olPlotter = outlinePlotter (cep);lblPlotter = laneBoundaryPlotter (cep),'颜色''r''linestyle'' - ');lbrPlotter = laneBoundaryPlotter (cep),'颜色''G''linestyle'' - ');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,'颜色'、颜色)结尾

此示例显示了如何为诸如改变车道和传递其他车辆的演习创建驾驶场景。您可以使用区域创建道路,并将车辆添加到场景中。然后,定义这些车辆的轨迹以模拟通过区域的车道变化。

使用复合车道标记创建带传球的道路

创造一个驾驶场景。指定道路中心和车道的数量,增加了双向的双车道直线,从顶部到底部带有拉伸方向。

场景= drivingScenario ('停止',10);RoadCenters = [50 0;-4 0];numlanes = [1 1];

通常,车道标记的数量等于车道数量。双向双车道的道路有3个车道标记,并且两个边缘的最外面的车道标记是纯白色线。

创建一个标记宽度为0.25米的实体标记对象,构成双向道路最外面的车道标记。

superlm = lanemarking(“固体”'宽度',0.25);

创建一个车道标记阵列SolidMarkingdashedmarking.包含实线和虚线双黄线属性的对象。

lmarray = [lanmarking('doublesolid''颜色''黄色''宽度'0.25) laneMarking ('dashedsolid''颜色''黄色''长度',1,'空间',1.5,'宽度'0.25) laneMarking ('doublesolid''颜色''黄色''宽度'0.25) laneMarking ('soliddashed''颜色''黄色''长度',1,'空间',1.5,'宽度',0.25)];

使用车道标记阵列创建用于中心车道标记的复合车道标记对象。为每个标记对象指定归一化长度。

CenterLM = Lanemarking(LMARRAY,'segmentrange',[0.1 0.25 0.2 0.35]);

创建最外面和中心车道标记对象的向量。将向量传递为输入lanespec.功能为了定义道路的道路规格。

标记= [superlm centerlm suildlm];ls = lanespec(numlanes,'宽度'7,'标记',标志着);

将道路添加到驾驶场景。绘制驾驶场景。由于道路的绘制方向从顶到底部,复合车道标记中的标记类型也发生在下底部。

路(场景、roadCenters“道”,ls);偶像=图;套装(偶像,'位置',[0 0 600 600]);hplot =轴(偶像);情节(场景中,'父母',hplot);标题('复合标记:带有通过的道路'

图中包含一个坐标轴。标题为Composite Marking: Road with Passing Zones的坐标轴包含patch、line三种对象。

模拟通过区域的车辆变道

为场景添加缓慢移动的车辆(SMV)。指定为SMV设置轨迹的航点和速度值。

慢速=车辆(场景,'班级号',1,'位置',[37-3 0]);航点= [37-3; 12 -3];速度= 2;Smoothtrajectory(慢速,航点,速度);

将另一辆车添加到场景中。以这样的方式设置车辆的轨迹,使其通过在通过区域处改变车道在它的前面传递SMV。

CROSSVEHICLE =车辆(场景,'班级号',1,'位置',[49 -3 0]);航点= [49-3;45-3;40-3;35 0;30 3;26 3;22 3;18 3;8 0; 5 -2; 2 -3; 1 -3]; speed = 6; smoothTrajectory(passingVehicle,waypoints,speed);

创建自定义图形窗口并绘制方案。

全部;FIGSCENE =图;套装(FICSCENE,'位置',[0 0 600 600]);hPanel = uipanel (figScene);hPlot =轴(hPanel);情节(场景中,'父母',hplot);标题(“通行区:变道超车”%运行模拟尽管推进(场景)暂停(0.01)结尾

图包含UIPanel类型的轴和对象。带有标题传递区的轴:改变车道并通过其他车辆包含5个类型的贴片物体,线。

输入参数

全部收缩

车道标记的类型,指定为这些值之一。

“未标记” “固体” '虚线' 'doublesolid' 'doubleashed' 'soliddashed' 'dashedsolid'

没有车道标记

实线

虚线

两条实线

两条虚线

左边实线,右边虚线

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

存放车道标记的类型类型,返回的车道标记对象的只读属性。

1-D阵列的车道标记对象,指定为

  • lanemarking.对象“未标记”车道标记的类型。

  • SolidMarking对象“固体”'doublesolid'车道标记的类型。

  • dashedmarking.对象'虚线''doubleashed''soliddashed', 和'dashedsolid'车道标记的类型。

例子:lmarray = [lanmarking('solid')lanmarking('虚线')]

每个标记类型的范围,指定为具有归一化值的向量[0,1]。向量的长度必须与输入数组中指定的标记类型的数量相同lmarray

通道中每个标记类型的默认范围值是指定指定的标记类型数的倒数lmarray

例如,如果输入的车道标记数组包含三个车道标记对象,例如lmArray = [lanemark ('Solid') lanemark('虚线')lanemark ('Solid')],然后每个标记类型的默认范围值是1/3,即范围= [0.3330 0.3330 0.3330]

名称值对参数

指定可选的逗号分离对名称,价值论点。的名字是参数名称和价值是相应的价值。的名字必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen

例子:lanmarking('虚线','宽',0.25,'长度',5.0)用划线划线创建一个车道,宽0.25米,分开5米。

车道标记宽度,指定为逗号分隔对组成'宽度'一个正的实标量。对于双车道标记,两条线使用相同的宽度。单位是米。

车道标记的宽度必须小于其封闭式通道的宽度。这封闭车道是车道左侧的车道。

例子:0.20

车道标记的颜色,指定为逗号分隔对组成'颜色'以及RGB三元组、十六进制颜色代码、颜色名称或简短的颜色名称。对于双车道标记,两条线使用相同的颜色。

有关自定义颜色,请指定RGB三态或十六进制颜色代码。

  • RGB三联网是一个三元素行向量,其元素指定了红色,绿色和蓝色组件的强度。强度必须在范围内[0,1];例如,[0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或以哈希符号开头的字符串标量()接着是三个或六个十六进制数字,可以从0.F.这些值不区分大小写。因此,颜色代码'#ff8800''#ff8800''#f80', 和'#f80'是等同的。

或者,您可以按名称指定一些常见颜色。此表列出了名为Color选项,等效RGB三元组和十六进制颜色代码。

颜色名称 简称 RGB三重态 十六进制颜色代码 外貌
'红色的' 'r' [1 0 0] '#ff0000'

'绿色' 'G' [0 1 0] '#00ff00'

'蓝色的' “b” [0 0 1] '#0000ff'

'青色' “c” [0 1 1] '#00ffff'

'品红' 'M' [1 0 1] '#ff00ff'

“黄色” '是' [0.98 0.86 0.36] '#ffff00'

“黑” 'K' [0 0 0] '#000000'

'白色的' 'W' [1 1] '#ffffff'

例子:[0.8 0.8 0.8]

车道标记颜色的饱和强度,指定为逗号分隔的配对'力量'和范围内的真正标量[0,1]。价值0.对应于颜色完全不饱和的标记。标记是灰色的。价值1对应于颜色完全饱和的标记。对于双车道标记,两条线使用相同的强度。

例子:0.20

虚线中的短划线长度,指定为逗号分隔的配对组成'长度'一个正的实标量。对于双车道标记,两条线的长度是相同的。虚线是虚线的可见部分。单位是米。

例子:2.0

一个破折号结束和下一个破折号的开头之间的空间长度指定为包括的逗号分隔对'空间'一个正的实标量。对于双车道标记,两条线的长度是相同的。单位是米。

例子:2.0

输出参数

全部收缩

车道标记,作为一个返回lanemarking.目的,SolidMarking对象,或者dashedmarking.目的。返回的对象类型取决于为此指定的输入通道标记的类型取决于类型输入。

输入类型 输出车道标记 车道标记属性
“未标记”

lanemarking.目的

  • 类型

“固体”

SolidMarking目的

  • 颜色

  • 宽度

  • 力量

  • 类型

'doublesolid'
'虚线'

dashedmarking.目的

  • 长度

  • 空间

  • 颜色

  • 宽度

  • 力量

  • 类型

'dashedsolid'
'soliddashed'
'doubleashed'

通过使用相应的名称 - 值对创建通道标记对象时,可以设置这些属性lanemarking.功能。要在创建后更新这些属性,请使用点表示法。例如:

lm = lanmarking(“固体”);lm.width = 0.2;
您可以在创建后设置所有属性类型,这是只读的。有关几何特性的详细信息SolidMarkingdashedmarking.对象,参见车道规格

复合车道标记,作为一个返回CompositeMarking具有属性的对象标记semmentrange.

复合车道标记特性 描述
标记 此属性是一系列车道标记对象,其定义包括复合车道标记的多个标记类型。每个车道标记对象定义的车道标记的一部分是a标记段.此属性是只读的。
semmentrange. 此属性指定复合车道标记中的每个标记段的归一化范围。此属性是只读的。

使用此对象沿着通道指定多个标记类型。有关如何指定综合车道标记和车道标记段的顺序的更多详细信息,请参阅复合车道标记

更多关于

全部收缩

绘制道路的道路方向和网路的编号

通过使用来创造道路函数,指定道路中心作为矩阵输入。该函数创建一条横过道路中心的有向线,从矩阵的第一行坐标开始,到矩阵的最后一行坐标结束。矩阵前两行的坐标指定画的方向这条路。这些坐标对应于前两个连续的道路中心。绘图方向是道路在情景图中呈现的方向。

通过使用来创造道路驾驶场景设计师应用程序,您可以指定道路中心参数或交互式绘制场景帆布.有关详细示例,请参阅创建一个驾驶场景.在这种情况下,绘制方向是道路呈现的方向场景帆布

  • 对于具有从上到下绘制方向的道路,两者之间的差异X- 前两个连续的道路中心的控制是积极的。

  • 对于具有靠底绘制方向的道路,差异X- 前两个连续的道路中心的控制是消极的。

从上到下绘制方向的道路

靠底绘制方向的道路

  • 对于具有左右绘制方向的道路,差异y- 前两个连续的道路中心的控制是积极的。

  • 对于具有从右到左绘制方向的道路,y- 前两个连续的道路中心的控制是消极的。

左右抽奖方向的道路

右到左左右的道路

编号车道

车道必须从左到右编号,道路的左边缘定义相对于道路的绘制方向。对于单向道路,默认情况下,道路的左边缘为实黄色标记,表示横向方向(垂直方向绘制方向)的道路尽头。对于双向道路,默认情况下,两条边都用白实线标记。

例如,这些图表显示了如何在单向和双向道路上用从上到下的绘制方向进行编号。

单向道路编号车道 在双向道路上为车道编号

指定单行道的车道数为正整数。如果您将整数值设置为3.然后,这条路有三个沿同一方向行驶的车道。车道从道路的左边缘开始。

123.分别表示道路的第一个,第二和第三通道。

单向道路的车道数字

为双向道路指定作为正整数的两个元素向量的通道数。如果将向量设置为[12],然后这条路有三个车道:两个车道在一个方向上行驶,一条车道沿相反方向行驶。由于绘制方向,道路有一个左车道和两个右侧车道。车道从道路的左边缘开始。

1 l表示唯一的道路左车道。1 r2 r表示公路的第一和第二右车道。

双向道路的车道数字

车道规格按通道编号的顺序适用。

复合车道标记

复合车道标记包括两个或更多个标记段,其沿着车道定义多个标记类型。复合车道标记的几何特性包括每个标记类型的几何特性和标记段的标准化长度。

指定标记段在复合车道标记中出现的顺序取决于道路的绘制方向。每个标记段是一个有方向的段,有起点,并向最后一个道路中心移动。第一个标记段从第一个道路中心开始,并以指定的长度向最后一个道路中心移动。第二标记段从第一标记段的终点开始,并以指定的长度向最后一条道路中心移动。同样的过程适用于为复合车道标记指定的每个标记段。属性可以为每个标记段设置规范化长度范围输入参数。

例如,考虑一个有两个车道的单向道路。来自道路左边缘的第二车道标记是具有标记类型的复合车道标记固体.每个标记类型的标准化范围是0.5。第一个标记段是实标记,第二个标记段是虚线标记。这些图表显示了标记区段应用于道路从左到右和从右到左绘制方向的顺序。

有关车道标记的几何属性的信息,请参阅车道规格

车道规格

该图显示了道路,车道和车道标记的组件和几何属性。

道路,车道和车道标记的几何特性

车道规格对象,lanespec.,定义公路车道。

  • NumLanes属性指定车道的数量。创建此对象时,必须指定车道的数量。

  • 宽度属性指定每个通道的宽度。

  • 标记属性包含路线中每个车道标记的规格。标记是一系列车道标记物体,每条车道有一个对象。要创建这些对象,请使用lanemarking.功能。车道标记规格包括:

    • 类型-车道标记类型(实线,虚线,等等)

    • 宽度- 车道标记宽度

    • 颜色- 车道标记颜色

    • 力量- 饱和值的车道标记颜色

    • 长度—对于虚线道,每个虚线的长度

    • 空间- 用于虚线的车道,破折号之间的间距

    • semmentrange.- 用于复合车道标记,每个标记段的归一化长度

  • 类型属性包含道路上每条车道的车道类型规格。类型可以是均匀的车道类型物体或异构车道型阵列。

    • 同质巷式对象包含道路上所有车道的车道类型规格。

    • 异构车道型阵列包含一系列车道类型对象,每条车道具有一个对象。

    要创建这些对象,请使用lanetype.功能。车道类型规格包括:

    • 类型-车道类型(驾驶,边界等)

    • 颜色- 车道颜色

    • 力量- 车道颜色的力量

在R2018A介绍