主要内容

计算边界模型

获得Y-给定车道边界坐标x-坐标

描述

实例

yWorld=计算边界模型(边界,xWorld)计算Y-指定位置车道边界模型的轴世界坐标x-轴世界坐标。

  • 如果边界是单车道边界模型,那么世界是与中的坐标相对应的坐标向量xWorld.

  • 如果边界是一组车道边界模型,然后世界是一个矩阵。每行或每列世界对应于在以下位置计算的车道边界模型:x-行或列向量中的坐标xWorld.

例子

全部崩溃

创建一个抛物线基对象对车道边界进行建模。计算车道沿一组边界的位置x-轴线位置。

指定抛物线参数并创建车道边界模型。

抛物线图=[-0.005 0.15 0.55];lb=抛物线基元(抛物线图);

计算Y-给定轴的轴位置x-安装在车辆前部的摄像头传感器范围内的轴位置。

xWorld=3:30;%以米为单位yWorld=计算边界模型(lb,xWorld);

绘制车道边界点。若要拟合坐标系,请翻转轴顺序并更改x-方向。

绘图(yWorld、xWorld)轴相同的set(gca,“XDir”,“反向”)

图中包含一个axes对象。axes对象包含一个line类型的对象。

创建一条3米宽的车道。

lb=抛物线基([-0.001,0.01,1.5]);rb=抛物线基([-0.001,0.01,-1.5]);

沿道路从0到30米手动计算车道边界模型x-轴心国。

xWorld=(0:30)';yLeft=计算边界模型(lb,xWorld);yRight=计算边界模型(rb,xWorld);

创建鸟瞰图和车道边界绘图仪。在鸟瞰图上显示车道信息。

bep=鸟瞰图(“XLimits”,[0 30],“YLimits”,[-5 5]); lanePlotter=LaneBondaryPlotter(bep,“显示名称”,“车道边界”);绘图LaneBoundary(lanePlotter,{[xWorld,yLeft],[xWorld,yRight]});

地物包含轴对象。轴对象包含线型对象。此对象表示车道边界。

创建路径绘图仪。创建并显示通过车道中心的ego车辆的路径。

yCenter=(yLeft+yRight)/2;egoPathPlotter=路径绘图仪(bep,“显示名称”,“自我车辆路径”);绘图路径(egoPathPlotter,{[xWorld,yCenter]});

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示车道边界和车辆路径。

从车道边界数组中查找候选车道边界。

创建一个立方体车道边界数组。

lbs=[CubiclaneBundary([-0.0001,0.0,0.003,1.6]),...立方体基础([-0.0001,0.0,0.003,4.6]),...立方体基础([-0.0001,0.0,0.003,-1.6]),...立体基准([-0.0001,0.0,0.003,-4.6]);

对于每个车道边界,计算Y-轴的位置,在该位置x-坐标为0。

xWorld=0;%仪表yWorld=计算边界模型(lbs,0);

使用计算出的位置查找最符合条件的车道边界。

leftEgoBoundaryIndex=find(yWorld==min(yWorld(yWorld>0));rightEgoBoundaryIndex=find(yWorld==max(yWorld(yWorld<=0));leftEgoBoundaryIndex=lbs(leftEgoBoundaryIndex);rightEgoBoundaryIndex=lbs(rightEgoBoundaryIndex);

使用鸟瞰图和车道边界绘图仪绘制边界。

bep=鸟瞰图(“XLimits”,[0 30],“YLimits”,[-5 5]); lbPlotter=laneBoundaryPlotter(bep,“显示名称”,“左车道边界”,“颜色”,“r”);RB绘图仪=laneBoundaryPlotter(bep,“显示名称”,“右车道边界”,“颜色”,“g”);绘图仪基础(lbPlotter,leftEgoBoundary)绘图仪基础(rbPlotter,rightEgoBoundary)

图形包含一个轴对象。轴对象包含两个线型对象。这些对象表示左车道边界和右车道边界。

输入参数

全部崩溃

车道边界模型,包含用于计算车道宽度的参数Y-轴坐标,指定为车道边界对象或车道边界对象数组。有效对象包括抛物线基立体厨房.

x-世界坐标系中边界的轴位置,指定为实标量或实值向量。

扩展能力

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

R2017a中引入