主要内容

变形扇

基于相对姿势的变换激光扫描

描述

例子

跨越式= TransformScan(扫描有影响转换指定的激光扫描扫描通过使用指定的相对姿势,有影响

例子

[横梁橘子] = TransformScan(范围角度有影响转换指定的激光扫描范围角度通过使用指定的相对姿势,有影响

例子

全部收缩

创建一个Lidarscan.目的。将范围和角度指定为向量。

稀释= 5 * =(1,300);Refangles = Linspace(-PI / 2,PI / 2,300);REFSCAN = LIDARSCAN(刷新,再生);

翻译激光扫描[x y]偏移(0.5,0.2)

变换扫描= TransformScan(Refscan,[0.5 0.2 0]);

将激光扫描旋转20度。

RotateCan = TransformScan(Refscan,[0,0,Deg2rad(20)]);

使用匹配函数找到两个激光扫描之间的相对变换。然后,将第二扫描转换为第一扫描的坐标帧。

装载一对激光扫描作为一对Lidarscan.对象。它们是相同姿势的变化的同一场景的两个扫描。

加载tb3_scanpair.mat.情节(S1)保持绘图(S2)保持离开

图包含轴。标题激光扫描扫描的轴包含2个类型的型号。

相对姿势估计了内径传感器并提供为变量,初学者, 作为[x y theta]

disp(initguess)
-0.7000 0.1500 -0.3254.

使用扫描匹配来查找两个激光扫描之间的相对姿势,并指定姿势的初始猜测。

POSE = MatchScans(S2,S1,“initialse”,initguess);DISP(姿势)
-0.7213 0.1160 -0.2854

将第二扫描转换为第一扫描的坐标帧。绘制两种扫描,看他们现在重叠。

S2Transformed = TransportScan(S2,姿势);情节(S1)保持绘图(S2Transformed)保持离开

图包含轴。标题激光扫描扫描的轴包含2个类型的型号。

输入参数

全部收缩

LIDAR扫描读数,指定为aLidarscan.目的。

扫描数据的范围值,指定为以米为单位的向量。这些范围值是距离指定传感器的距离角度。矢量必须与相应的长度相同角度向量。

来自扫描数据的角度值,指定为弧度中的向量。这些角度值是指定的特定角度范围。矢量必须与相应的长度相同范围向量。

当前扫描的相对姿势,指定为[x y theta], 在哪里[x y]是米和米的翻译θ.是弧度的旋转。

输出参数

全部收缩

改变了激光扫描读数,指定为aLidarscan.目的。

转换扫描的范围值,作为米的向量返回。这些范围值是距离指定传感器的距离橘子。矢量与相应的长度相同橘子向量。

变换扫描的角度值,作为弧度中的向量返回。这些角度值是指定的特定角度横梁。矢量与相应的长度相同范围向量。

扩展能力

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2017A介绍