3. 道路网络基础
在 RoadRunner 中,道路网络并不是一条“画出来的带子”,而是由车道(Lane)、路肩(Shoulder)、人行道(Sidewalk)、道路标线(Road Marking)、交通标志(Traffic Sign)与信号灯(Traffic Signal)共同构成的语义化结构。理解这些对象的层级关系,是后续做交叉口、匝道、停车场和场景仿真的前提。本节先建立“横断面—标线—标志—信号”的整体认知,再给出可落地的创建顺序。
一、核心原理:道路横断面的语义分层
RoadRunner 的道路由中心线(Centerline)驱动,沿中心线向两侧生成车道。每条车道有独立的宽度、行驶方向、限速和连接关系。横断面从内到外通常依次为:中央分隔带或双黄线 → 行车道 → 路缘(Curb)→ 路肩 → 人行道。路肩不是行车道,它用于紧急停车、排水和侧向支撑;人行道则属于行人域,与车行域通过路缘石在几何上分离。标线、标志和信号灯是叠加在道路网络之上的“控制层”,它们不改变几何,但决定交通语义。
二、六类对象的创建方法与参数
在 RoadRunner 中,推荐按“先几何、后控制”的顺序创建,避免反复重建道路。下表给出每类对象的核心参数与创建入口。
| 对象 | 核心参数 | 创建入口 | 常见取值/说明 |
|---|---|---|---|
| 车道 Lane | 宽度、方向、限速、连接 | Road 工具沿中心线生成 | 城市道路 3.25–3.75 m;高速 3.75 m |
| 路肩 Shoulder | 宽度、类型、是否可行驶 | Road 属性面板 Shoulder | 0.5–2.5 m,通常不可行驶 |
| 人行道 Sidewalk | 宽度、高度、路缘偏移 | Sidewalk 工具或 Road 属性 | 1.5–3.0 m,高出路面 0.12–0.15 m |
| 道路标线 Marking | 类型、颜色、线宽、虚实 | Marking 工具 / Lane Marking | 白实线、白虚线、黄双实线 |
| 交通标志 Sign | 类型、朝向、高度、位置 | Sign 工具 + 资源库 | 限速、停车、让行、指示 |
| 信号灯 Signal | 相位、灯组、配时、朝向 | Signal 工具 + 相位编辑器 | 直行/左转/右转分相 |
创建车道时,先确定中心线走向,再在属性面板中设置车道数与单侧宽度。RoadRunner 会自动生成车道边界,但边界线型需要手动指定:实线表示禁止变道,虚线表示允许变道。路肩通常跟随车道自动生成,若道路两侧功能不同,可分别设置左右路肩宽度。人行道建议使用独立工具绘制,并通过路缘高度与车行域分离,这样在导出 OpenDRIVE 时能保留正确的行人拓扑。
# 典型城市道路横断面参数(单侧)
lane_width = 3.50 m
lane_count = 2 # 同向两条车道
shoulder_width = 1.00 m
sidewalk_width = 2.00 m
curb_height = 0.15 m
speed_limit = 50 km/h
三、标线、标志与信号灯的协同
标线是“静态控制”,信号灯是“动态控制”,标志是“规则提示”。三者必须与车道方向一致。例如,一条左转专用车道,其地面应有左转箭头标线,路口前应设置左转指示标志,信号灯应包含左转相位。若只画了箭头却没有对应相位,仿真车辆会在路口等待或错误通行。
信号灯的创建分三步:先在路口放置信号灯杆,再为每个灯组绑定进口道和转向,最后在相位编辑器中定义红、黄、绿时长。RoadRunner 支持将信号相位导出为 OpenDRIVE 的 <signal> 与 <controller> 结构,因此相位命名建议使用“进口道_转向”格式,例如 NB_Left、EB_Through,便于后续脚本读取。
四、案例:一个标准十字路口的创建流程
- 绘制两条互相垂直的中心线,交叉口处保留足够长度。
- 为每条道路设置双向四车道,单侧两条,宽度 3.5 m。
- 在交叉口四个进口道分别添加左转、直行、右转车道,并设置车道连接。
- 添加路肩与人行道,人行道在路口处断开并设置人行横道。
- 绘制停止线、人行横道线、导向箭头和车道分界线。
- 放置限速标志、让行标志和指路标志。
- 放置四组信号灯,绑定进口道,配置直行与左转相位。
- 检查车道连接、标线连续性和信号相位是否一致。
五、常见误区与复盘
- 误区一:先画标线再调车道。车道宽度一变,标线全部错位。应坚持“几何优先”。
- 误区二:路肩当车道用。路肩在 OpenDRIVE 中通常标记为不可行驶,若误设为行车道,仿真车辆会驶入路肩。
- 误区三:人行道与车道共面。缺少路缘高度会导致行人与车辆拓扑混淆,导出后行人可能出现在车道上。
- 误区四:信号相位与车道转向不匹配。左转车道没有左转相位,车辆会在路口长时间等待或闯红灯。
- 误区五:标志朝向错误。标志应面向来车方向,否则在仿真中不可见或语义相反。
掌握以上六类对象的语义与创建顺序后,道路网络就具备了可仿真的基础结构。后续的交叉口连接、匝道设计和场景脚本,都建立在这一层“几何 + 控制”的准确表达之上。