帮助中心帮助中心
绘图扫描和机器人姿势
显示(slamObj)
显示(slamObj、名称、值)
轴= show(___)
例子
显示(slamObj)绘制添加到输入lidarSLAM物体与激光雷达叠加在其底层姿态图中。
显示(slamObj)
slamObj
输入
lidarSLAM
显示(slamObj、名称、值)使用名称,值对参数。例如,“姿势”,“关闭”中关闭底层姿态图的显示slamObj.
名称,值
“姿势”,“关闭”
轴=显示(___)返回使用任何前面语法绘制的激光雷达SLAM数据的轴句柄。
轴=显示(___)
轴
全部折叠
使用一个lidarSLAM对象迭代添加和比较激光雷达扫描,并构建机器人轨迹的优化姿态图。要从相关的姿势和扫描中获取占用图,请使用buildMap函数。
buildMap
加载数据并设置SLAM算法
的单元格数组lidarScan对象。激光雷达扫描是由ClearPath Robotics公司的Husky®机器人在停车场收集的。通常情况下,激光雷达的扫描频率很高,而且SLAM不需要每次扫描。因此,通过只选择每40次扫描来对扫描进行采样。
lidarScan
负载garage_fl1_southend.mat扫描扫描=扫描(1:40:结束);
为了建立SLAM算法,需要指定激光雷达的范围、地图分辨率、环路闭合阈值和搜索半径。针对特定的机器人和环境调整这些参数。创建lidarSLAM对象使用这些参数。
maxRange = 19.2;%米分辨率= 10;每米细胞百分比slamObj = lidarSLAM(分辨率,maxRange);slamObj。LoopClosureThreshold = 360;slamObj。LoopClosureSearchRadius = 8;
迭代添加扫描
使用一个为循环,添加扫描到SLAM对象。对象使用扫描匹配将每个添加的扫描与之前添加的扫描进行比较。为了改进映射,对象会在检测到循环闭包时优化姿态图。每10次扫描,显示存储的姿势和扫描。
为
为i = 1:数字(扫描)addScan(slamObj,扫描{i});如果rem(i,10) == 0 show(slamObj);结束结束
查看占用率图
将所有扫描添加到SLAM对象后,构建一个occupancyMap通过调用映射buildMap扫描和摆姿势。使用与SLAM对象相同的映射分辨率和最大范围。
occupancyMap
[scansSLAM,pose] = scansandpose (slamObj);occMap = buildMap(扫描slam,姿势,分辨率,maxRange);图显示(occMap)“车库占用图”)
激光雷达SLAM对象,指定为lidarSLAM对象。对象包含SLAM算法参数、传感器数据和用于构建地图的底层姿态图。
指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
Name1 = Value1,…,以=家
的名字
价值
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。
例子:“姿势”,“关闭”
父
UIAxes
用于绘制姿态图的轴,指定为由逗号分隔的对组成“父”或者轴或UIAxes对象。看到轴或uiaxes.
“父”
uiaxes
提出了
“上”
“关闭”
显示激光雷达姿态,由逗号分隔的对组成“姿势”而且“上”或“关闭”.
“姿势”
用于绘制地图的坐标轴,返回为轴或UIAxes对象。看到轴或uiaxes.
R2019b引入
poseGraph|optimizePoseGraph
poseGraph
optimizePoseGraph
您有这个示例的修改版本。要使用编辑打开此示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您所在的位置,我们建议您选择:.
您也可以从以下列表中选择一个网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系当地办事处