在ros上使用mrpt_graphslam_2d建立地图

    GraphSLAM又被称为Graph-based SLAM,它的基本思想是将机器人不同时刻的位姿抽象为点(pose),机器人在不同位置上的观测所产生的约束被抽象为点之间的边,或者叫约束(constraint)。
所谓的约束可以有多种多样的形式,比如机器人在A点和B点都看到同一个消防栓(我们可以认为这是固定在地图上的landmark),那么机器人在AB点观测到消防栓的相对位置,就对机器人在A点和B点的位姿产生了约束,进一步的,AB两点之间也产生了就约束。
    GraphSLAM就是在机器人运动的过程中构建出若干点(pose)和边(constraint)组成的图(Graph),再从全图的角度进行优化。

     我最近手里面只有一台激光雷达,于是就尝试了使用mrpt_graphslam_2d在ros上进行建图.

     首先需要克隆pkg到自己的工作空间, git clone https://github.com/mrpt-ros-pkg/mrpt_slam.git

     这个包下面有非常多的使用mrpt库的slam方法,今天主要介绍graph slam,其他的使用方法请看我其他博客.

    

     接下来就是编译了,我习惯用catkin_make --only-pkg-with-deps这个命令编译,方便定位package可能出现的error.

     编译过了以后,我们需要修改它的sr_graphslam_demo.launch文件来自己使用.由于launch源文件已经被我改的面目全非了,所以我还是把我修改好的launch文件贴上来吧.

    其实修改思路就是把各个frame和topic修改为自己实际机器人发出的.然后把关于bag的语句都删掉,因为我们不需要跑数据集.

    需要注意的是这个launch文件还include了一个graphslam.launch.我还是贴出来把(在源文件上修修改改真的不是一个好习惯)

 

 

 

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值