文档帮助中心文档
基于相对位姿的激光扫描变换
relPose transScan = transformScan(扫描)
[transRanges, transAngles] = transformScan(距离、角度、relPose)
例子
transScan= transformScan (扫描,relPose)中指定的激光扫描扫描通过使用指定的相对姿态,relPose.
transScan= transformScan (扫描,relPose)
transScan
扫描
relPose
[transRanges,transAngles) = transformScan (范围,角,relPose)中指定的激光扫描范围和角通过使用指定的相对姿态,relPose.
[transRanges,transAngles) = transformScan (范围,角,relPose)
transRanges
transAngles
范围
角
全部折叠
创建一个lidarScan对象。指定范围和角度为向量。
lidarScan
refRanges = 5 * 1 (1300);refAngles = linspace(-π/ 2π/ 2300);refScan = lidarScan (refRanges refAngles);
翻译激光扫描(x, y)偏置的(0.5, 0.2).
(x, y)
(0.5, 0.2)
transformedScan = transformScan(refScan,[0.5 0.2 0]);
将激光扫描旋转20度。
rotateScan = transformScan (refScan(0, 0,函数(20)]);
使用matchScans函数查找两个激光雷达扫描之间的相对变换。然后,将第二次扫描转换为第一次扫描的坐标系。
matchScans
加载一对激光雷达扫描作为一对lidarScan对象。它们是同一场景的两个扫描,只是相对姿势发生了变化。
负载tb3_scanPair.mat情节(s1)在情节(s2)从
相对姿态由里程传感器估计,并作为变量提供,initGuess,因为(x yθ).
initGuess
(x yθ)
disp (initGuess)
-0.7000 0.1500 -0.3254
使用扫描匹配来找到两个激光扫描之间的相对位姿,并指定位姿的初始猜想。
构成= matchScans (s1, s2“InitialPose”, initGuess);disp(构成)
-0.7213 0.1160 -0.2854
将第二次扫描转换为第一次扫描的坐标框架。绘制两个扫描图,看看它们现在重叠了。
s2Transformed = transformScan (s2,姿势);情节(s1)在情节(s2Transformed)从
激光雷达扫描读数,指定为lidarScan对象。
扫描数据的范围值,指定为以米为单位的矢量。这些量程值是在指定的位置到传感器的距离角.向量的长度必须与对应向量的长度相同角向量。
扫描数据的角度值,指定为弧度矢量。这些角度值是指定的特定角度范围.向量的长度必须与对应向量的长度相同范围向量。
当前扫描的相对位姿,指定为(x yθ),在那里(x, y)平移单位是米和吗θ是以弧度为单位的旋转。
θ
转换的激光雷达扫描读数,指定为lidarScan对象。
转换扫描的范围值,以米为单位返回。这些量程值是在指定的位置到传感器的距离transAngles.这个向量和它对应的向量长度相同transAngles向量。
转换扫描的角度值,以弧度矢量返回。这些角度值是指定的特定角度transRanges.这个向量和它对应的向量长度相同范围向量。
matchScans|transformScan|controllerVFH|monteCarloLocalization
transformScan
controllerVFH
monteCarloLocalization
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系