主要内容

compositeLaneSpec

创建多个车道规范道路

自从R2021a

描述

compositeLaneSpec对象结合的数组lanespec对象创建一个有不同的道路与多个路段车道规范。

创建

定义复合巷规范,遵循这些步骤:

  1. 创建一个数组的lanespec对象。的数量lanespec对象定义了公路道路段的数量。每一个lanespec对象包含规格巷一段路。

  2. 创建一个复合巷规范对象,compositeLaneSpec,结合巷规范,使用这里所示的语法之一。默认情况下,函数假定每一段路都是平等的。

  3. 变化范围为每个道路段,使用SegmentRange财产的compositeLaneSpec对象。

  4. 定义两个道路段之间的连接,使用连接器财产的compositeLanespec对象。

  5. 添加compositeLaneSpec反对驾驶场景中使用函数。

描述

例子

clspec= compositeLaneSpec (lsArray)创建一个复合巷规范道路使用巷规范对象的数组,lsArray

例如,创建一个复合巷规范对象,compositeLaneSpec,结合两个道路的车道规范段有两个和三个车道,分别。

lsArray = [lanespec (2) lanespec (3)];clspec = compositeLaneSpec (lsArray);
订单编号的车道和部分道路取决于道路的方向。更多细节,请参阅画的方向道路和通道的编号复合巷规范

例子

clspec= compositeLaneSpec (lsArray,名称,值)使用一个或多个名称参数设置属性。例如,“SegmentRange”, (0.6 - 0.4)指定两个路段的归一化范围0.60.4,分别。

属性

全部展开

这个属性是只读的。

车道公路段,规范指定为1×-N的数组lanespec对象。N是车道的数量规格。您必须指定至少有两个lanespec对象创建一个与多个车道公路规范。每一个lanespec对象表示一个不同的路段。的数量lanespec对象定义了公路道路段的数量。

你必须设置该属性使用lsArray创建对象时输入参数。创建车道规范对象,使用lanespec函数。

例子:[lanespec (2) lanespec (3))定义规格巷两段的路。第一公路段有两个车道和第二段有三个车道。

每个路段的范围,指定为一个N元数值向量的归一化值范围(0,1)。N的数量是lanespec中的对象LaneSpecification财产。向量的元素之和必须等于1

每一段路都是1的默认范围值/N。例如,如果LaneSpecification属性定义了两个路段车道规范,那么每一段路都是默认的范围值1/2,这意味着SegmentRange = (0.5 - 0.5)

例子:(0.4 0.3 0.3)

数据类型:|

公路段连接器,指定为一个laneSpecConnector对象或1 -的数组laneSpecConnector对象。是道路段连接器的数量。的一条路N段,=N- 1。当指定为唯一对象,同一规格适用于所有连接器的道路。

laneSpecConnector对象指定这些属性连接一条公路段。您可以指定的属性laneSpecConnector创建函数名称参数。

  • TaperShape——指定连接两段路锥的形状“线性”“没有”。指定“没有”当你想要一个阶跃变化时添加或删除道路段之间的通道。的默认值TaperShape“线性”

  • TaperLength——指定的长度米锥。的默认值TaperLength是小的241年米或75年路的长度的百分比包含锥段。

  • 位置——指定道路的边缘添加或删除的车道。您可以指定连接器的位置“对”,“左”,或“两个”

例子:[laneSpecConnector(“位置”,“左”)laneSpecConnector (TaperLength, 20)]

请注意

  • 低的锥度是编号公路段内的一对。更多信息关于订单编号的道路段,明白了复合巷规范

  • 公路段连接器规格必须符合巷规范和段范围值。否则,函数重置连接器规格与有效值。例如,如果您指定一个TaperLength大于相应的道路段的长度,该函数重置锥形长度值75年相应的道路段的长度的百分比。

例子

全部折叠

创建一个与合并交通驾驶场景。驾驶场景有两个车道的道路规范和交通合并左右车道结束。

创建两个车道规范的道路

创建一个驾驶场景。指定的道路中心画方向来自基层。

场景= drivingScenario (“StopTime”5);roadCenters = [0 20;100年20);

定义规格巷段一双双向道路。第一段有5道,第二个路段有四个车道。请注意,最右边的车道滴从第二车道规范。

ls1 = lanespec (3 [2],“宽度”4);ls2 = lanespec (2 [2],“宽度”4);lsArray = [ls1 ls2];

创建一个复合巷规范对象和添加的道路驾驶场景。复合胡同间规范对象确定的位置的下降lsArray输入参数。对象默认为线性锥形形状和一个锥形长度的75%第一道路段的长度。

clspec = compositeLaneSpec (lsArray);路(场景、roadCenters“道”,clspec);

情节驱动的场景。使道路段的场景的绘制方向道路,来自基层。

figMark =图;集(figMark,“位置”[0 0 600 600])hPlot =轴(figMark);情节(场景中,“父”hPlot)标题(“双向道路下降最右边的车道”)

图包含一个坐标轴对象。坐标轴对象与标题双向道路下降最右边的车道,包含X (m), ylabel Y (m)包含3补丁,类型的对象。

模拟车辆车道改变

添加一个自我车辆的场景。指定路径点和恒速值设置它的轨迹沿着中间车道。

egoVehicle =车辆(场景中,“ClassID”,1“位置”16 0 [2]);路点= [2 16;20 16;95 16];速度= 30;smoothTrajectory (egoVehicle、锚点、速度)

添加另一个车的场景。设置车辆的轨迹,它在最右边的车道,然后合并左侧车道前结束。

车=车辆(场景中,“ClassID”,1“位置”12 0 [2]);路点= [2 12;12日12;30 14;42 16;58 16;85 16];速度= 20;smoothTrajectory(汽车、锚点、速度)

创建一个自定义图窗口和情节场景。

关闭所有figScene =图;集(figScene,“位置”[0 0 600 600])hPanel = uipanel (figScene);hPlot =轴(hPanel);情节(场景中,“锚点”,“上”,“父”hPlot)标题(“合并左,右车道结束”)推进(场景)暂停(0.01)结束

图包含一个坐标轴对象和一个uipanel类型的对象。坐标轴对象与标题合并左,右车道结束,包含X (m), ylabel Y (m)包含9块类型的对象,线。一个或多个行显示的值只使用标记

创建一个与多个车道公路规范和添加一个左边的车道单向道路。

创建一个驾驶场景。指定道路中心直,100米道路与方向从左到右画。

场景= drivingScenario;roadCenters = [100;20 0];

定义一个数组巷规范的两个单向道路段。第一段有两个车道和第二个路部分有三个车道。

lsArray = [lanespec (2) lanespec (3)];

定义一个道路段连接器对象。添加第三车道左侧第二公路段,指定位置属性。指定一个锥形长度小于第一道路段的长度。道路段都是50米长,因为默认情况下,道路总长度100米是指定的道路段之间平均分割。

lc = laneSpecConnector (“位置”,“左”,“TaperLength”,30);

创建一个复合巷规范对象。

clspec = compositeLaneSpec (lsArray,“连接器”、lc);

添加一个道路驾驶场景和显示。使道路段的场景的绘制方向道路,从左到右。

路(场景、roadCenters“道”,clspec);情节(场景)标题(“与多个车道公路规范”)

图包含一个坐标轴对象。坐标轴对象与标题与多个车道公路规范,包含X (m), ylabel Y (m)包含3补丁,类型的对象。

创建一个空的驾驶场景。指定路中心弯曲的路。

场景= drivingScenario;roadCenters = [-20 22;0 22;18.8 - 15.8;22号0;22 -20];

定义规格巷三段双向道路。请注意,所有的道路段具有相同数量的车道。然而,第二个路段车道宽度更大(4.6米)拓宽这条路沿着曲线。其他两个路段有默认的车道宽度3.6米。

lsArray = [lanespec ([1]) lanespec ([1],“宽度”,4.6)lanespec ([1])];

定义规范化为每个道路段的长度。请注意,规范化的长度的总和1,向量的长度匹配巷规范对象的数量。

范围= (0.25 0.65 0.1);

创建一个道路段连接器对象。因为相同的规格适用于两段路三段连接器,创建只有一个laneSpecConnector对象。因为你既不增加也不减少车道,不定义的位置属性道路段连接器。

lc = laneSpecConnector (“TaperLength”14);

创建一个复合巷规范对象和添加的道路驾驶场景。

clspec = compositeLaneSpec (lsArray,“连接器”信用证,“SegmentRange”、范围);路(场景、roadCenters“道”,clspec);

情节驱动的场景。

情节(场景中,“RoadCenters”,“上”)标题(“莱恩扩大沿着曲线”)

图包含一个坐标轴对象。坐标轴对象与标题巷扩大沿着曲线,包含X (m), ylabel Y (m)包含4补丁,类型的对象。一个或多个行显示的值只使用标记

限制

  • 车道标记间距不一致在转换从一个道路段到另一个。

更多关于

全部展开

版本历史

介绍了R2021a