主要内容

roadBoundaries

得到道路边界

描述

例子

rbdry= roadBoundaries (场景返回道路边界,rbdry,驾驶场景,场景

rbdry= roadBoundaries (交流返回行动者,交流,接下来是一个驾驶场景。

例子

全部折叠

创建一个包含一条弯曲道路、两条笔直道路和两个角色的驾驶场景:一辆汽车和一辆自行车。两位演员在路上走了60秒。

创建驱动场景对象。

场景= drivingScenario (“SampleTime”0.1”,“StopTime”、60);

沿着半径800米的圆弧,使用道路中心点创建弯曲道路。电弧从0°开始,结束于90°,并以5°增量采样。

ang = [0:5:90] ';R = 800;roadcenters = R*[cosd(angs) sind(angs) zero (size(angs))];roadwidth = 10;路(场景、roadcenters roadwidth);

用默认宽度添加两条直线道路,在每条道路的两端使用道路中心点。

Roadcenters = [7000 00;100 0 0];路(场景,roadcenters)
ans =带有属性的道路:名称:"" RoadID: 2 RoadCenters: [2x3 double] RoadWidth: 6 BankAngle: [2x1 double]
Roadcenters = [400 400 0;0 0 0];路(场景,roadcenters)
ans =带有属性的道路:名称:"" RoadID: 3 RoadCenters: [2x3 double] RoadWidth: 6 BankAngle: [2x1 double]

确定道路界限。

rbdry = roadBoundaries(场景);

在场景中添加一辆汽车和一辆自行车。把车停在第一条直路的起点。

车=车辆(场景中,“ClassID”, 1“位置”(700 0 0),...“长度”,3,“宽度”,2,“高度”, 1.6);

把自行车停在路的较远的地方。

自行车=演员(场景中,“ClassID”,3,“位置”, (706 376 0) ',...“长度”,2,“宽度”, 0.45,“高度”, 1.5);

画出场景。

情节(场景中,“中心线”“上”“RoadCenters”“上”);标题(“场景”);

图中包含一个坐标轴。标题为Scenario的轴包含1219个patch、line类型的对象。

展示演员的姿势和侧面。

提出了= actorPoses(场景)
提出了=2×1带有字段的结构数组:行环位置速度横摇俯仰偏航角速度
概要文件= actorProfiles(场景)
概要文件=2×1带有字段的结构数组:ActorID ClassID长度宽度高度原点偏移网格顶点网格面rcpattern RCSAzimuthAngles RCSElevationAngles

创建一个包含在场景的世界坐标中指定的数字-8道路的驾驶场景。将场景的世界坐标转换为自我飞行器的坐标系统。

创建一个空的驾驶场景。

场景= drivingScenario;

向该场景添加一个图-8路径。显示的场景。

道路中心= [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);情节(场景)

图中包含一个坐标轴。轴包含4个类型为patch, line的对象。

在场景中添加一个自我载体。定位车辆在世界坐标(20,-20),并以-15度偏航角定位它。

自我=演员(场景中,“ClassID”, 1“位置”(-20 0),“偏航”, -15);

图中包含一个坐标轴。轴包含5个类型为patch, line的对象。

利用自定义车辆坐标获取道路边界roadBoundaries函数。指定ego车辆作为输入参数。

rbEgo1 = roadBoundaries(自我);

在鸟瞰图上显示结果。

cep = birdsEyePlot;枸杞多糖= laneBoundaryPlotter (cep),“DisplayName的”“路”);rbEgo1 plotLaneBoundary (lbp)

图中包含一个坐标轴。轴包含一个线型对象。这个对象表示Road。

在世界坐标中通过使用roadBoundaries函数。指定场景作为输入参数。

rbScenario = roadBoundaries(场景);

利用自定义车辆坐标获取道路边界driving.scenario.roadBoundariesToEgo函数。

rbEgo2 = driving.scenario.roadBoundariesToEgo (rbScenario、自我);

在鸟瞰图上显示道路边界。

cep = birdsEyePlot;枸杞多糖= laneBoundaryPlotter (cep),“DisplayName的”“道路边界”);plotLaneBoundary(枸杞多糖,{rbEgo2})

图中包含一个坐标轴。轴包含一个线型对象。这个对象表示道路边界。

输入参数

全部折叠

驾驶场景,指定为drivingScenario对象。

属于…的演员drivingScenario对象,指定为演员车辆对象。要创建这些对象,使用演员车辆函数,分别。

输出参数

全部折叠

道路边界,返回为单元格数组。单元格数组中的每个单元格都包含一个实值N- × 3矩阵表示场景中的道路边界,其中N是道路边界的数量。矩阵的每一行对应于xyz)道路边界顶点的坐标。

当输入参数是一个驾驶场景时,道路坐标相对于驾驶场景的世界坐标。当输入参数是一个参与者时,道路坐标相对于参与者坐标系统。

这些数字显示了道路边界的数量rbdry包含各种道路类型。

单一道路-单一道路边界 十字路口-一路界

回旋处-两条道路界线 图8 -三个道路边界

介绍了R2017a