侵权投诉
订阅
纠错
加入自媒体

PreScan快速入门到精通第三十五讲:车道线识别传感器-ALMS车道线传感器

2022-03-07 13:36
智驾社
关注

35.5 Simulink中的输出可视化

ALMS的输出可以使用一个专用的Simulink块进行可视化。通过点击任何实验的主编译表上的 "打开有用的块 "按钮可以找到这个块。

Simulink输出分析:

ALMS Simulink总线结构

ALMS传感器输出一条包含单个信息的总线。每条信息都描述了一组多项式组件,X、Y 和 Z 三个方向各一个。每条信息中的数据结构如下:

MESSAGE HEADER

Valid DATA

X

N0 N1 N2 N3 N4

Y

N0 N1 N2 N3 N4

Z

N0 N1 N2 N3 N4

Length GroupID

LineLabel

当配置了20个多项式的限制时,输出总线上将始终有20个消息槽。然而,它们可能不会全部被填满,这取决于传感器在给定仿真中实际拟合的多项式的数量。一个消息槽是否包含一个结果由HEADER.Valid参数表示。

N0 - N3 值以下列方式表示一个多项式的系数(在本例中为 X):

其中L是多项式有效的区间[0,length]中的一个参数。需要注意的是,只有当阶数足够高时,系数才会被填满。例如,3阶多项式相当于4个系数,会填满所有的系数,但1阶拟合只能填满N0和N1。在这种情况下,N2和N3将为零。

GroupID表示哪一组多项式代表一条线,在GroupID部分提到。LineLabel表示为每条车道线设置的Label值,如LineLabel一节所述。

使用Simulink块进行分析

ALMS Simulink输出基于嵌套总线结构。可以使用Simulink选择块提取输出值。下面是一个例子,说明如何提取X多项式的四个系数。它使用一个Simulink选择器块和一个总线选择器块来提取四个数据输出流,(在这个例子中)这些数据输出流被写入四个Workspace。

从ALMS输出块中提取数据

上面使用的选择器块在Simulink库浏览器的信号路由页面。选择器的输入端口大小参数必须设置为本ALMS的PreScan编辑器中设置的最大多项式数,见下文。

使用的第二个块是总线选择器,它也在Simulink库浏览器的信号路由页面上。总线选择器的设置直接遵循上面讨论的ALMS总线结构。

使用MATLAB函数进行分析

另一种分析ALMS输出的方便方法是使用MATLAB函数块(在旧版本中称为嵌入式Matlab函数)。下面是一段沿着每个多项式评估10个值的示例代码。这个方法的例子可以在ALMS高速公路例子中找到。

function fcn(u)

% Iterate through all data in bus

for i = 1 : size(u,1);

% The validparameter indicates that the data slot in the bus is actually filled in

if u(i).HEADER.valid == 1

% Extract polynomial coefficient vectors

% The reverse order is required forpolyval()

cx = u(i).DATA.X;

cy = u(i).DATA.Y;

Px = [cx.N3 cx.N2 cx.N1cx.N0];

Py = [cy.N3 cy.N2 cy.N1cy.N0];

% Extractpolynomial interval L1 = 0;

L2 = u(i).DATA.Length;

% Evaluate 10points along each polynomial value numOfPoints = 10;

L =linspace(L1,L2,numOfPoints);

x =polyval(Px,L);

y =polyval(Py,L);

end

end

       原文标题 : PreScan快速入门到精通第三十五讲车道线识别传感器-ALMS车道线传感器

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号