情节
地块驾驶场景
描述
例子
创建和显示道路边界
创建一个驾驶场景,其中包含在场景的世界坐标中指定的数字8道路。将场景的世界坐标转换为自我运载工具的坐标系统。
创建一个空的驾驶场景。
scenario = drivingScenario;
在场景中添加一条8字形道路。显示场景。
roadCenters = [0 0 1 20 -20 1 20 20 1 -20 -20 1 -20 20 1 0 0 1];roadWidth = 3;bankAngle = [0 15 15 -15 -15 0];路(场景、roadCenters roadWidth bankAngle);情节(场景)
在场景中添加一个自我载体。将车辆定位在世界坐标(20,-20),并将其定位在-15度偏航角。
自我=行动者(场景,“ClassID”, 1“位置”,[20 -20 0],“偏航”, -15);
方法在自我车辆坐标中获得道路边界roadBoundaries
函数。指定自我载体作为输入参数。
rbEgo1 =道路边界(自我);
在鸟瞰图上显示结果。
bep = birdsEyePlot;lbp =车道边界绘图仪(bep,“DisplayName的”,“路”);rbEgo1 plotLaneBoundary (lbp)
方法获得世界坐标中的道路边界roadBoundaries
函数。指定场景作为输入参数。
rbScenario =路界(场景);
方法在自我车辆坐标中获得道路边界driving.scenario.roadBoundariesToEgo
函数。
rbEgo2 = driving.scenario.roadBoundariesToEgo(rbScenario,ego);
在鸟瞰图上显示道路边界。
bep = birdsEyePlot;lbp =车道边界绘图仪(bep,“DisplayName的”,“道路边界”);plotLaneBoundary(枸杞多糖,{rbEgo2})
创建具有多个角色和道路的驾驶场景
创建一个驾驶场景,包含一条弯曲的道路,两条笔直的道路,以及两个角色:一辆汽车和一辆自行车。两个演员都在路上移动了60秒。
创建驱动场景对象。
scenario = driving (“SampleTime”0.1”,“StopTime”、60);
使用道路中心点沿着半径800米的圆弧创建弯曲的道路。弧开始于0°,结束于90°,并以5°增量采样。
Angs = [0:5:90]';R = 800;道路中心= R*[cosd(angs) sind(angs) 0(尺寸(angs))];路宽= 10;Cr =道路(场景,道路中心,道路宽度);
使用默认宽度添加两条直线道路,在每一端使用道路中心点。在第一条直道两侧设置障碍物。
道路中心= [700 00;100 0 0];Sr1 =道路(场景,道路中心);障碍(场景,sr1)屏障(场景,sr1,“RoadEdge”,“左”)道路中心= [400 400 0;0 0 0];路(场景,roadcenters);
弄清楚道路边界。
rbdry =道路边界(场景);
向场景中添加一辆汽车和一辆自行车。把车停在第一条直路的起点。
汽车=车辆(场景,“ClassID”, 1“位置”,[700 00],...“长度”3,“宽度”2,“高度”, 1.6);
把自行车放远一点。
自行车=演员(场景,“ClassID”3,“位置”,[706 376 0]',...“长度”2,“宽度”, 0.45,“高度”, 1.5);
画出场景。
情节(场景中,“中心线”,“上”,“RoadCenters”,“上”);标题(“场景”);
显示演员的姿势和简介。
allactorpositions = actorpositions(场景)
allActorPoses =242×1包含字段的struct数组:横摇俯仰偏航角速度
allActorProfiles = actorProfiles(场景)
allActorProfiles =242×1包含字段的struct数组:ActorID ClassID长度宽度高度OriginOffset MeshVertices MeshFaces rcpattern RCSAzimuthAngles RCSElevationAngles
因为在这个场景中有障碍,每个障碍片段都被认为是一个参与者,actorPoses
而且actorProfiles
函数返回所有静止和非静止参与者的姿态。方法获取非静止角色(如车辆和自行车)的姿态和配置文件,首先获取它们对应的角色idscenario.Actors.ActorID
财产。
movableactorid = [scenario.Actors.ActorID];
然后,使用这些id仅过滤非静止的演员姿势和配置文件。
movableactorposeindexes = ismember([allActorPoses.ActorID],movableActorIDs);movableactorpositions = allactorpositions (movableActorPoseIndices)
movableActorPoses =2×1包含字段的struct数组:横摇俯仰偏航角速度
movableActorProfiles = allActorProfiles(movableActorPoseIndices)
movableActorProfiles =2×1包含字段的struct数组:ActorID ClassID长度宽度高度OriginOffset MeshVertices MeshFaces rcpattern RCSAzimuthAngles RCSElevationAngles
输入参数
场景
- - - - - -驾驶场景
drivingScenario
对象
驾驶场景,指定为adrivingScenario
对象。
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:情节(sc、“中心线”,“上”,“RoadCenters”,“上”)
显示每个路段的中心线和道路中心。
父
- - - - - -用来绘制图形的坐标轴
轴
对象
要在其中绘制绘图的轴,指定为逗号分隔的对,由“父”
和一个轴
对象。如果您没有指定父
时,将创建一个新图形。
中心线
- - - - - -显示道路中心线
“关闭”
(默认)|“上”
显示道路的中心线,由逗号分隔的对组成“中心线”
而且“关闭”
或“上”
.中心线沿着每段道路的中间。中心线在交叉路口或道路分叉等区域是不连续的。
RoadCenters
- - - - - -道路展示中心
“关闭”
(默认)|“上”
显示道路中心,由逗号分隔的对组成“RoadCenters”
而且“关闭”
或“上”
.道路中心定义了图中显示的道路。
路点
- - - - - -显示参与者路径点
“关闭”
(默认)|“上”
显示参与者路径点,指定为逗号分隔的对,由“锚点”
而且“关闭”
或“上”
.路点定义参与者的轨迹。
网格
- - - - - -显示角色网格
“关闭”
(默认)|“上”
显示参与者网格而不是长方体,指定为由逗号分隔的对组成“网格”
而且“关闭”
或“上”
.
ActorIndicators
- - - - - -围绕其绘制指示器的actor
[]
(默认)|向量的ActorID
整数
要围绕其绘制指示符的actor,指示符指定为逗号分隔的对,由“ActorIndicators”
还有一个向量ActorID
整数。驾驶场景情节围绕具有指定属性的参与者绘制圆圈ActorID
值。每个圆圈的颜色都与它所包围的参与者相同。这些圆圈不是传感器覆盖的区域。
在包含多辆车辆的驾驶场景中,使用此名称-值对突出显示自我车辆。
ParkingLotEdges
- - - - - -显示停车场边缘编号
“关闭”
(默认)|“上”
显示停车场边号,指定为由逗号分隔的对组成“ParkingLotEdges”
而且“关闭”
或“上”
.边号的顺序基于每个停车场中定义的顶点的顺序。
提示
若要旋转任何图形,请在图形窗口中选择视图>相机工具栏.
版本历史
在R2017a中引入
另请参阅
对象
功能
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。