创建道路类型对象
这个示例演示了如何定义车道类型,并模拟具有不同车道类型的四车道道路的驾驶场景。
创建一个带有默认属性值的车道对象。
drivingLane = laneType (“开车”)
driinglane = driinglanetype属性:类型:Driving Color: [0.8000 0.8000 0.8000] Strength: 1
创建一个停车车道类型对象。指定颜色和强度属性值。
parkingLane = laneType (“停车”,“颜色”(1 0 0),“力量”, 0.1)
parkingLane=具有属性的ParkingLaneType:类型:停车场颜色:[1 0]强度:0.1000
通过连接驾驶车道和停车车道类型对象,创建一个三元素、异构车道类型数组。车道类型数组包含四车道道路的车道类型。
lt = [parklane drivingLane parkkinglane];
为四车道道路创建车道规格。将车道类型数组添加到车道规范中。
Ls = lanespec([2 2],“类型”、lt);
创建一个驱动场景对象。添加四车道的道路与车道规格ls
到驾驶场景。
场景= drivingScenario;道路中心= [0 0 0;40 0 0];路(场景、roadCenters“道”,ls)
ans =带有属性的道路:名称:"" RoadID: 1 RoadCenters: [2x3 double] RoadWidth: 14.5500 BankAngle: [2x1 double]
画出场景。该场景包含有两条停车车道和两条车道的四车道道路。
情节(场景)传说(“行车线”,“停车车道”)
创建一个异构车道类型对象数组,用于定义四车道道路的驾驶、路肩和边界车道类型。
lt = [laneType (“肩膀”) laneType (“开车”) laneType (“开车”) laneType (“边界”,“颜色”(0.5 0 1),“力量”0.1)];
显示lane类型的对象数组。
lt
中尉=1×4对象1x4异构LaneType (ShoulderLaneType, DrivingLaneType, BorderLaneType)数组,具有属性:Type Color Strength
检查属性值。
c = [{lt。类型}' {lt.Color}' {lt.Strength}']; cell2table(c,“VariableNames”,{“类型”,“颜色”,“力量”})
ans =4×3表类型的颜色强度 ________ ____________________ ________ 肩膀开车1 0.59 0.59 0.59 0.8 0.8 0.8 1驾驶0.5 0 1 0.1 0.8 0.8 0.8 1边界
将lane类型对象数组作为输入传递给lanespec
函数,然后为四车道道路创建车道规格对象。
Lspec = lanespec([2 2],“类型”、lt);
定义道路中心。
道路中心= [0 0;40 0 0];
要添加道路,创建一个驾驶场景对象。
场景= drivingScenario (“StopTime”,8);
将具有指定道路中心和车道类型的道路添加到驾驶场景中。
路(场景、roadCenters“道”, lspec);
将两辆车添加到场景中。将车辆停放在车道上。
vehicle1 =车辆(场景中,“ClassID”,1,“位置”, 5 2 0);vehicle2 =车辆(场景中,“ClassID”,1,“位置”[35 2 0]);
使用航路点定义车辆轨迹。设置车辆轨迹速度。
[5 2;10 2;20 2;25 2;30 5;[35 -2;20 -2;10 -2;5 -2];smoothTrajectory (vehicle2 waypoints2 5)
画出场景。要一次一步地推进模拟,调用推进
函数循环。每0.01秒暂停一次,观察地图上车辆的运动。第一辆车沿着车道的轨道行驶。它会漂移到肩道以便紧急停车。
%创建一个自定义图形窗口并定义一个轴对象无花果=图;movegui(图,“中心”); hView=uipanel(图,“位置”,[0 0 1 1],“头衔”,“肩路、行车和边线的场景”);hPlt =轴(hView);%绘制生成的驾驶场景和路线点。情节(场景中,“锚点”,“上”,“父”, hPlt);而推进(场景)暂停(0.01)结束
类型
- - - - - -车道类型“开车”
|“边界”
|“限制”
|“肩膀”
|“停车”
Lane类型,指定为“开车”
,“边界”
,“限制”
,“肩膀”
,或“停车”
.
车道类型 | 描述 |
“开车” |
车道驾驶 |
“边界” |
道路两旁的车道相互衔接 |
“限制” |
为占用率高的车辆预留的车道 |
“肩膀” |
为紧急停车预留的车道 |
“停车” |
车道旁的车道,用于停放车辆 |
请注意
车道类型输入设置类型
属性的输出通道类型对象。
数据类型:字符
|字符串
指定可选的逗号分隔的对名称,值
参数。的名字
参数名和价值
为对应值。的名字
必须出现在引号内。可以以任意顺序指定多个名称和值对参数名称1,值1,…,名称,值
.
laneType(“驾驶”、“颜色”,“r”)
“颜色”
- - - - - -莱恩的颜色Lane颜色,指定为逗号分隔对组成“颜色”
和RGB三联体或颜色名称。
将RGB三元组指定为包含红色、绿色和蓝色分量的三元素行向量。强度必须在这个范围内[0,1]
例如(0.4 0.6 0.7)
.该表列出了RGB三元组值,用于指定不同车道类型的默认颜色。
车道类型 | RGB三元组(默认值) | 外观 |
“开车” |
[0.8 0.8 0.8] |
|
“边界” |
(0.72 0.72 0.72) |
|
“限制” |
[0.59 0.56 0.62] |
|
“肩膀” |
(0.59 0.59 0.59) |
|
“停车” |
(0.28 0.28 0.28) |
|
或者,您可以通过名称指定一些常见的颜色。这个表格列出了命名的颜色选项和等价的RGB三元组值。
颜色名称 | RGB值 | 外观 |
---|---|---|
“红色” |
(1 0 0) |
|
“绿色” |
(0 1 0) |
|
“蓝” |
[0 0 1] |
|
“青色” |
(0 1 1) |
|
“洋红” |
(1 0 1) |
|
“黄色” |
(0.98 0.86 0.36) |
|
“黑” |
[0 0 0] |
|
“白色” |
(1 1 1) |
|
请注意
使用通道颜色名称-值对来设置颜色
属性的输出通道类型对象。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
“力量”
- - - - - -巷色强度lane颜色的强度,指定为逗号分隔对组成“力量”
以及一个在[0,1]范围内的实标量。的值0
降低颜色和车道颜色出现灰色。的值1
完全饱和的颜色和巷色是纯色。您可以改变强度值来修改饱和度级别。
请注意
使用通道颜色名称-值对的强度来设置强度
属性的lane类型对象。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
lt
——车道类型DrivingLaneType
对象|BorderLaneType
对象|RestrictedLaneType
对象|ShoulderLaneType
对象|ParkingLaneType
对象Lane类型,返回为
DrivingLaneType
对象
BorderLaneType
对象
RestrictedLaneType
对象
ShoulderLaneType
对象
ParkingLaneType
对象
返回的对象lt
取决于输入的值类型
.
类型 |
lt |
“开车” |
DrivingLaneType 对象 |
“边界” |
BorderLaneType 对象 |
“限制” |
RestrictedLaneType 对象 |
“肩膀” |
ShoulderLaneType 对象 |
“停车” |
ParkingLaneType 对象 |
您可以创建异构LaneType
数组通过连接这些不同的lane类型对象。
通过以下步骤,可以将具有多车道类型的道路添加到驾驶场景中
创建一个空的drivingScenario
对象。
使用实例创建车道类型对象,该对象定义道路上不同的车道类型laneType
.
使用lane类型对象作为输入lanespec
对象,并为道路定义车道规格。
使用lanespec
对象作为路
功能,并将具有指定车道类型的道路添加到驾驶场景。
你可以使用情节
功能来可视化驾驶场景。
您还可以将包含具有不同车道类型的道路的驾驶场景导入驾驶场景设计师导入drivingScenario
对象命名场景
在应用程序中,使用语法drivingScenarioDesigner(场景)
. 在这些场景中,您可以:
添加或编辑道路中心。
添加参与者并定义参与者轨迹。
在ego车辆上安装传感器,模拟对参与者和车道边界的检测。
请注意
编辑车道参数将导入道路中的所有车道重置为车道类型“开车”
使用默认属性值。
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。