文档帮助中心
根据激光雷达扫描建立占用地图
地图= buildMap(扫描,姿势,mapResolution maxRange)
例子
地图= buildMap (扫描,提出了,mapResolution,maxRange)创建一个occupancyMap通过插入激光雷达绘制地图扫描在给定的提出了.指定结果映射的分辨率,mapResolution,以及激光雷达传感器的最大射程,maxRange.
地图= buildMap (扫描,提出了,mapResolution,maxRange)
地图
扫描
提出了
mapResolution
maxRange
occupancyMap
全部折叠
的buildMap函数接受激光雷达扫描读数和相关的姿势,以建立一个占用网格lidarScan对象和相关(x yθ)建立一个occupancyMap.
buildMap
lidarScan
(x yθ)
装载扫描和姿态估计从传感器收集在一个停车场的机器人。将收集到的数据用lidarSLAM算法,该算法执行扫描匹配,以关联扫描和调整整个机器人轨迹的姿态。检查以确保扫描和姿势是相同的长度。
lidarSLAM
负载scansAndPoses.mat长度(扫描)= =(姿势)
ans =逻辑1
构建地图。指定扫描和姿态buildMap功能和包括所需的地图分辨率(10单元每米)和激光雷达的最大范围(19.2米)。每次扫描都在相关的姿势处添加,并更新占用网格中的概率值。
occMap = buildMap(扫描,姿势10 19.2);图显示(occMap)标题(《车库占用地图》)
使用一个lidarSLAM目标迭代添加和比较激光雷达扫描,建立机器人轨迹的优化位姿图。要从相关的姿势和扫描中获得占用地图,请使用buildMap函数。
加载数据,建立SLAM算法
加载单元格数组lidarScan对象。激光雷达扫描是在ClearPath Robotics®公司的Husky®机器人的停车场收集的。通常,激光雷达扫描的频率很高,SLAM不需要每次扫描。因此,向下采样扫描只选择每40次扫描。
负载garage_fl1_southend.mat扫描扫描=扫描(1:结束);
设置SLAM算法,指定激光雷达距离、地图分辨率、环路闭合阈值和搜索半径。针对特定的机器人和环境调整这些参数。创建lidarSLAM对象的这些参数。
maxRange = 19.2;%米分辨率= 10;每米细胞百分比slamObj = lidarSLAM(分辨率,maxRange);slamObj。LoopClosureThreshold = 360;slamObj。LoopClosureSearchRadius = 8;
添加扫描迭代
使用一个为循环,向SLAM对象添加扫描。对象使用扫描匹配将每个添加的扫描与先前添加的扫描进行比较。为了改进地图,对象在检测到循环闭合时优化姿态图。每10次扫描,显示存储的姿势和扫描。
为
为addScan(slamObj,scans{i});如果if (result (i,10) == 0); / /返回结果结束结束
地图视图入住率
在将所有扫描添加到SLAM对象之后,构建一个occupancyMap通过调用地图buildMap通过扫描和姿势。使用与SLAM对象相同的地图分辨率和最大距离。
[scansSLAM,姿势]= scansAndPoses (slamObj);occMap = buildMap (scansSLAM、姿势、分辨率、maxRange);图显示(occMap)标题(《车库占用地图》)
用激光雷达扫描构建的地图,指定为单元阵列lidarScan对象。
激光雷达扫描的姿态,指定为n3矩阵。每一行是一个(x yθ)向量表示xy-扫描的位置和方向角度。
输出分辨率occupancyMapMap,指定为每米单元格的正整数。
激光雷达传感器的最大距离,指定为正标量,单位为米。分扫描超出此范围将被忽略。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
名称,值
的名字
价值
Name1, Value1,…,的家
(MapWidth, 10)
“MapWidth”
占用网格的宽度,指定为由逗号分隔的对组成的“MapWidth”一个正标量。如果不指定此值,地图将自动缩放以适应所有激光扫描。
“MapHeight”
占用网格的高度,指定为逗号分隔对,由“MapHeight”一个正标量。如果不指定此值,地图将自动缩放以适应所有激光扫描。
占用地图,返回为occupancyMap对象。
matchScans
matchScansGrid
transformScan
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系