在ros下使用karto slam建立地图

     KartoSLAM是基于图优化的方法,用高度优化和非迭代 cholesky矩阵进行稀疏系统解耦作为解.图优化方法利用图的均值表示地图,每个节点表示机器人轨迹的一个位置点和传感器测量数据集,箭头的指向的连接表示连续机器人位置点的运动,每个新节点加入,地图就会依据空间中的节点箭头的约束进行计算更新。karto slam需要odom和laser scan的信息。

     在ros当中使用karto slam建图效果也非常好,而且karto slam的参数需求也非常的少。

     首先是安装二进制文件:sudo apt-get install ros-kinetic-slam-karto

     安装好以后写一个karto的launch文件

 

     这里参数配置非常少,就三个。一个是odom的frame,一个是地图更新频率,还有一个是分辨率。

     我这里加了一个base_link到laser的静态tf变换,是因为我手里只有一个激光雷达,所以需要做一个静态变换。

     然后通过使用laser_scan_matcher做一个虚拟的odom信息。(如何使用请参考我的博客《只有激光雷达也能跑gmapping》)。

     从效果来看,karto的效果比gmapping好许多。我跑了一个很空旷的厂区,居然也没有出问题。要知道我用gmapping跑厂区地图完全就废了,只能跑办公室,办公室的图也不如karto slam。

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值