7.1 路网与路段总体概述
用途:每个路段都是可配置的,通过将选择的要素粘合在一起,就可以做出复杂的路网。
用法:通常用于手动建模的基础设施。
GUI中的位置:作为一个预定义的库元素
格式:N/A
MBOX:汇编表中不知道
使用方法:路网可以使用预先定义的路段类型来构建,所有的路网都有特定的属性。路网的创建将在路网形成中解释。这些路段共享标准路段属性。
对象配置:在 "对象配置 "对话框中,可以设置道路外观和传感器属性。默认情况下,除了摄像头传感器外,道路对象是无法检被传感器测到的。
7.2 路段类型
可用的路段列举如下。在讲解和未来几次讲解中,将对这些路段及其具体属性进行描述。共同的属性在标准属性一节中描述。目前可用的路段有:
直路;
弯路(Bend Road);
弯道(Bézier);
柔性道路;
螺旋形道路(Clothoid);
出入口车道;
车道转换道路;
匝道段;
环岛路;
X型和Y型交叉口;
人行横道.
使用方法:大多数属性可以通过双击线段,用鼠标调整控制点来设置,如调整线段的大小和调整方向一节所述。下面是每个线段类型的不同选项的概述。每个选项在相应的课程中都有解释。
路段类型 正常 CTRL | ||
直路;匝道段 | 转动 | 调整长度 |
弯曲(Bend) | 移动端点 | -1 |
弯道(Curved Road (Bézier)) | 移动端点,固定切线2 | -3 |
可调整道路(Flexible Road) | 移动端点或定义点,固定切线2 | -3 |
回旋路 (Clothoid) | 移动端点4 | - |
匝道进出口 | 转动 | 调整长度 |
道路调整 | 转动 | 调整长度 |
环岛道路5 | 转动 | - |
十字路口5 | 转动 | 调整长度 |
行人穿越马路 | 转动 | 调整长度 |
1 '-' 表示CTRL按钮没有额外的功能。
2 控制点可以移动,不需要调整切线,见曲线路和弹性路,见曲线路和弹性路
3 控制点可以通过调整切线移动,见曲线路和弹性路,可移动控制点
4 在拟合路段上,端点可以在定义的拟合路径上移动。
5 只有道路端点可以被编辑
属性可以在属性编辑器中进行更详细的设置。对于环岛和十字路口,可以在 "构造区域 "或"实验树 "中的鼠标右键菜单中选择"编辑道路末端 "来编辑道路末端。
直线
直路有一个独特的参数:它的长度
如果用直路作为起始段,最好先确定其方向,然后再继续增加额外的路段。
封闭式环路可以采用弯道或柔性道路来建立封闭式环路。不可能通过使用交叉口和直路段建立封闭环路。PreScan将拒绝进行此连接。
编辑模式
在 "编辑 "模式下,可以编辑段的控制点(黑色方块)。单击(并按住)控制点,移动鼠标改变方向。在此操作过程中按住CTRL键,可以调整长度。
弯曲路
弯道有两个独特的参数,即道路的中心半径(两条路缘线之间的线)和道路覆盖的相对角度。
如果选择使用弯道开始构建路网,那么这个弯道将以零度的相对角度(平行于建立区域的x轴)开始。这不能只用鼠标操作来改变:使用属性编辑器中的旋转角度来改变整个路网的方向,或者先选择一条小的直路开始构建路网。
编辑模式
弯道(Bézier)
Bézier弯道是一個具有定义的起始和终点位置和(切线)角的路段。终点位置是通过设置一个x和y的三角形来确定的。
Bézier曲线是一条简化的立方体Bézier曲线。通过双击该曲线段(编辑模式),可以看到
可以编辑Bézier曲线的控制点。
只有在弯道或柔性路段的帮助下,才能形成环形路网。
编辑模式
起点和止点。点被移动,但方向和曲率不变。
第二个控制点,见下图。
正常:曲线的形状被调整,而起点和终点角度保持不变。
按下CTRL按钮:整个曲线旋转。
第三个控制点,见下图。
正常:曲线的形状被调整,而起始角和结束角保持不变。
按下CTRL按钮:曲率调整。
柔性道路
柔性路与曲线路基本相同,但用户可以选择在起点和终点之间增加任意数量的定义点。这两种类型路段的路段端的处理方法是相同的,对这个问题的解释,因此请参考上面的解释。
除了以上所述的端点处理外,还可以:
添加一个新的定义点
编辑定义点位置的路段,
删除现有的定义点
一分为二,
合二为一
鼠标右键单击柔性路段,会弹出包含这些特定选项的上下文相关菜单:单击定义点可编辑或删除该定义点,单击道路上的其他地方可在最接近所点击位置的道路中心线上添加一个新的定义点。这些选项也可以在编辑模式下使用。
增加定义点
编辑/移除定义点:
在上下文相关菜单中,有一个选项可以将一条柔性道路分割到被点击的位置。合并两条柔性道路的选项适用于被点击的道路的最近一侧。使用分割或合并选项时,外观配置会被考虑在内。但是,这些选项会改变道路网络,因此无法再重新调整继承路径。
道路分离
道路合并
当从柔性路段中移除一个定义点时,可能需要调整相邻定义点的方向和曲率,以使柔性路段形成有效的形状。
如果柔性路段的形状是无效的,可能很难找到造成这个问题的确切位置,所以这个问题点是用圆圈来表示的。
关于柔性路段的使用方法,请看延伸路网生成示例(Extended RoadNetwork Generation)。
只有在弯道或柔性路段的帮助下,才能形成环形路网。
编辑模式
通过双击路段(编辑模式),可以以图形化的方式对柔性道路的定义点进行编辑。
在定义点调整路段时,只改变相邻两个定义点(或终点和定义点)之间的部分路段,其余的路段不变。
定义点的调整。定义点被移动,但定义点的方向和曲率保持不变。
每个定义点在定义点的相对位置有两个支撑点,用于调整该定义点处的柔性路段的形状,而定义点保持在同一位置。
支撑点的调整选项。
正常:对定义点所选侧的道路入口或出口张力(曲率)进行调整。
按下CTRL按钮:定义点的切线被调整,即道路在该点上旋转。
通过拖动其中一个支撑点来调整定义点的切线,将自动调整另一个支撑点。
当从上下文相关菜单中选择 "编辑定义点... "选项时,右键单击定义点后,会弹出一个对话框,填写该定义点的属性的准确值。
定义点配置窗口
在 "定义点配置"对话框中,可以调整以下属性:
Delta X 偏移量
定义点与道路起点之间的距离,以X方向为单位,相对于路段的航向角。
Delta Y 偏移量
定义点与道路起点之间的距离,在Y方向上,相对于路段的航向角。
标题角度
定义点位置的路段的航向角[度],相对于路段本身的航向角。
倾斜角
定义点位置的路段倾斜度。
剖面角度
定义点位置的路段的绝对剖面岸角[度]。
入口处的张力
定义点位置和路段起点处的曲率平滑度。
出口处的张力
在定义点位置和路段末端的曲率平滑度。
定义点配置 "对话框中的以下属性为只读属性。
从起点的距离:沿路段中心线,从起点到定义点的距离。
到终点的距离:沿路段中心线的距离,从定义点到终点的距离。
只有在 "定义点配置"对话框中,通过鼠标右键单击要调整的定义点并选择 "编辑定义点 "选项后,才能在 "定义点配置 "对话框中进行调整。
螺旋形道路(Clothoid)
螺旋形道路是一种用于连接直路段和弯路段的路段。它是利用 " Clothoid"公式创建的。凝结体可以实现从直道到弯道的横向加速度平稳过渡。Clothoid由以下属性定义。Rstart、Rend、ΔL、ΔAngle和Flipped。在内部,对于Clothoid的抽象定义,使用了参数L(长度)和R(半径)。这些参数是曲线的输入参数。它们定义了曲线的形状(=scaling)。
目录 | 描述 |
Rstart (R-start) | Clothoid开始时的半径。默认情况下为无限(正值),因此可以将Clothoid连接成直线。对于反向的Clothoid,它是无穷大(负数)。 |
Rend (R-end) | Clothoid末端的半径。默认情况下,这个值等于R,其值为30m。 |
ΔL | Clothoid段的长度。根据定义,此值为Lend - Lstart,其值为60m。 |
ΔAngle | 相对于切口末端与切口开始的角度。默认值为57.3deg。 |
Flipped | 定义切口的方向。缺省情况下,切口不翻转。 |
Curve | Clothoid的形状。改变R和L是独立的,改变R和L会改变Clothoid的比例,从而改变Clothoid的形状。 |
编辑模式
在正常的编辑模式下,可以通过两种不同的方式来修改Clothoid。首先,可以通过拖动路边的手柄来定义分段。第二,可以通过拖动螺旋中心的抓手来操纵切口的比例。目前对切口的缩放是通过锁定切口的ΔAngle来实现的。
属性
可以使用 "属性编辑器"中可用的属性来更改Clothoid的形状。对于大多数属性来说,改变这些属性需要锁定其他属性。
在属性编辑器中显示Clothoid的属性
修改这些特性的影响如下:
Clothoid方向变化
默认和翻转方向
翻转方向结果:
- Clothoid是顺时针旋转,而不是逆时针旋转。
将Rstart从无穷大改为90m,锁定(Rend,ΔL):
默认和锁定
结果:
- Rend和ΔL被锁定了,所以Curve发生了变化,小编在曲线上移动了。
将Rstart从无线改为90m,锁定(曲率,ΔL):
默认和锁定(曲率,ΔL)
结果:
- 曲线和ΔL被锁定,所以Rstart和Rend都被改变。因此,该小节在曲线上移动了
将Rstart从无限制改为90m,锁定(Curve,Rend):
默认和锁定Curve,Rend)
结果:
- Curve和Rend被锁定了,所以只改了Rstart。该段路变小了。
将Rend从30m改为15m,锁定(Rstart,ΔL):
默认和锁定(Rstart,ΔL)
后果。
- Rstart和ΔL被锁定了,所以Curve被改变了。该路段在长度上没有变化。
将Rend从30米改为15米,锁定(曲线,ΔL):
默认和锁定(曲线,ΔL)
结果:
- 曲线和ΔL被锁定,所以Rstart和Rend都被改变。因此,该小节在曲线上移动了。
将Rend从30米改为15米,锁定(Curve,Rstart)。
默认和锁定(Curve,Rstart)
结果:
- 曲线和Rstart被锁定了,所以只改变了Rend。该小节的长度增加了。
将ΔL由60m改为40m,锁定(Rstart,Rend):
默认和锁定(Rstart,Rend)
结果:
- Rstart和Rend被锁定,所以曲线要变。它变得更小。
将ΔL由60m改为40m,锁定(曲线,Rend):
默认和锁定(曲线,Rend)
结果:
- Curve和Rend是锁定的,所以Rstart要改变。Curve没有被锁定,所以分节变小。
将ΔL由60m改为40m,锁定(曲线,Rstart):
结果:
- Curve和Rstart被锁定了,所以Rend要变。Curve被锁定了,所以分节变小了。
将Δangle从57.296deg改为30deg,锁定(Rstart,Rend):
默认和锁定(Rstart,Rend)
结果:
- Rstart和Rend被锁定了,所以Curve必须要改变。
匝道出入口
出入口车道可用于(高速公路)出入口建模。其适应性参数见下图。
编辑模式
车道线调整道路
车道线可变化道路是连接两条道路的路段,其车道数不同、车道宽度不同或两者的组合。
车道线可变化道路允许在减少的车道上自动画出弯曲箭头,默认情况下是启用的。它允许分别改变两端的中心线位置。
车道宽度(端部)和车道偏移量的变化会自动改变端部位置车道线变化 (端部位置取决于这两个变量的乘积)。端部位置变化的结果将影响所有连接的路段。
目录 描述 Unit | ||
# Lanes (start) | 可变化车道线开始时的车道数。 | [-] |
# Lanes (end) | 可变化车道线末端的车道数。 | [-] |
# Lanes in x-dir (start) | 可变化车道线开始时,沿X方向的单方向的车道数。 | [-] |
# Lanes in x-dir (end) | 可变化车道线的末端,沿x方向一个方向的车道数。 | [-] |
Lane width (start) | 可变化车道线开始时的车道宽度。 | [m] |
Lane width (end) | 可变化车道线末端的车道宽度。 | [m] |
Lane offset | 可变化车道线的下行车道与起点的下行车道的相对位置。车道偏移量的单位是可变化车道线末端的车道宽度。偏移量为正值时,道路会沿正Y方向移动。当起始点有更多车道时,也可以使用负偏移量。 | [-] |
Positive x-dir lane offset | 决定从起点开始的车道与终点的车道连接。它适用于一个交通方向,沿正x方向。当该参数值为0时,车道线与中心线平行。 | [-] |
Negative x-dir lane offset | 决定从起点开始的车道与终点的车道连接。它适用于一个交通方向,沿负x方向。当该参数为零时,车道线平行于中心线。 | [-] |
车道线偏移量
通过修改车道偏移参数,可以实现可变车道线两端沿Y轴的重新定位。下图显示了两个不同值的车道偏移属性的使用情况。
(左侧图车道线偏移量 0) (右侧图车道线偏移量: 1)
正/负x-dir车道偏移量
正/负x-dir车道偏移量允许改变车道的布局,以适应不同的交通方向。该属性还决定了减少哪些车道(内侧和外侧)。零偏移用于平行于中心线的车道线。这种类型的属性可以是正值或负值。适当的标志值取决于一个交通方向的车道减少方向。
下图显示了正x-dir车道偏移属性的两个不同值的使用情况。在这两张图中,正x方向的车道连接是不同的:
(左侧图x-dir车道线正偏移量 0) (右侧图x-dir车道线正偏移量: 1)
车道线宽度(开始)/(结束)
下面的图像显示了两端不同值的车道宽度(开始)/(结束)属性的使用情况。
(车道线宽度(开始):3.5[m]) (车道线宽度(结束): 5[m])
编辑模式
坡道
坡道类似于直道,但多了一个参数高度(Height)。
坡道有一个预定的形状,坡道的入口和出口是水平的,但中间有一个倾斜的部分。倾斜部分的角度将根据坡道的高度和长度而变化。
坡道也可以包含中间部分,在指定的长度上,中间部分将保持一个恒定的、定义的坡度。这两个属性可以通过属性编辑器进行修改。恒定坡度的角度被限制在<0,60>范围内。
在2D界面中,坡道与直路的坡道可以通过梯度标记来区分。
单个细道路标记:坡度小于14%。
单个加粗道路标记:坡度在14%和20%之间
双车道路标记:坡道大于或等于20%
坡道的高度只能在属性编辑器中更改。
匝道段的创建不应使道路进入地下,也就是说,任何路段的Z位置不应小于0,因为VisViewer不会显示部分或完全在地下的东西。
编辑模式(与直路相同)
人行横道
人行横道与直行的道路类似,但多了一个参数横道标线宽度。
编辑模式
环岛道路
环岛有两个专用属性:驾驶方向和外圈半径。
环道结束
用户可以定义每个道路末端的角度(绝对角度)、圆角半径百分比、特定道路末端的车道数等。要更改道路末端的数量,在环岛上右键点击右键,选择添加道路末端或删除道路末端。若要更改某条道路末端的属性,右键点击该道路末端,选择编辑道路末端,如下图所示:
Crossings的侧路偏移量用比率来表示,而环岛的侧路偏移量则用米来表示。
绕行的可行性取决于很多变量,如半径、圆角半径和侧路偏移量。我们内置了一个检查功能,可以评估这个可行性。
双击选项
X和Y十字交叉路口
X交叉口和Y交叉口基本上是相同的交叉口,你可以通过删除一个道路端,从X交叉口获得一个Y交叉口,也可以通过在Y交叉口上增加一个道路端获得一个X交叉口。请注意,如果改变了行驶方向,车道标记的位置会发生变化,如下图所示:
每个道路末端可以设置更多的具体参数。X和Y型交叉口的道路末端可以像环岛的道路末端一样进行操作。最值得注意的是分路器岛宽度和侧路偏移量。宽度为零意味着没有分路的环岛道路宽度。通过侧向道路偏移,可以设置偏移量,用车道宽度与交叉口起点的比值来表示(例如,侧向道路偏移量为0.5时,一侧有2条车道,另一侧有3条车道时,就会产生对齐的车道,见下图):
交叉口的侧路偏移量以比率表示,而绕行的偏移量则以米为单位。
双击选项
欢迎关注,转发和点赞此文,后期将会邀请小明师兄为大家分享更多的仿真文章,和小明师兄一起学习和进步。同时欢迎加入智能驾驶场景仿真交流群。请加小明师兄微信 zhijiashexiaoming