激光雷达+imu_2D激光雷达连接运行ROS cartographer

前一段时间安装了ROS kinetic版本的google cartographer算法,完成了谷歌提供的博物馆的数据包bag的SLAM建图。这个过程应该说只是通过bag验证了ROS cartographer这个平台已经搭建完毕(可参看:Cartographer ROS编译安装及相关可执行文件理解)。然而要真正把它用起来,需要用自己手上的激光雷达来连接实现 cartographer建图。

关于实现雷达与cartographer的连接建图的例程,网上能找到的很多如rplidar,hokuyo UTM-30LX等等。我手边的雷达是图漾公司的2D激光雷达LM820,是固态激光雷达,而非机械激光雷达。最近一段时间就在摸索研究这款雷达与cartographer的连接建图。这两天终于有了阶段性成果,想把这个过程写下来,也算是这段时间的工作总结,也希望能给跟我一样正在学习catographer的朋友们一个参考。

一、LM820激光雷达的主要参数

  1. 测距范围:30cm ~ 5m
  2. FOV(水平):88°-92°
  3. 单次测量点数:960/480/240/120 可设
  4. 通讯:UART串口

二、根据LM820的SDK,编写ROS 节点程序

我是参考rplidar的node程序进行编写。node节点程序的主要功能就是获取激光雷达数据,然后通过/scan 这个topic进行发布。scan接收的传感器数据类型如下:

3290d57f3ff9bad3455414729ff1cd05.png

我设计SDK的输出参数为单次测量点数、FOV、测量的深度值、时间戳,并分别对应输入到node的LaserScan.msg数据中。

程序编写过程中需要注意ROS中坐标系为右手坐标系。右手坐标系定义:

把右手放在原点的位置,使大姆指、食指和中指互成直角,把 大姆指 指向 Z轴 的正方向,食指指向X轴的正方向时,中指所指的方向就是 Y轴 的正方向相对于我们的身体而言(图一): X -> 朝前, 绕 X轴 旋转,称之为 横滚角,使用roll表示;
Y -> 朝左, 绕 Y轴 旋转,称之为 俯仰角,使用pitch表示; Z -> 朝上,绕 Z轴 旋转,称之为 航向角,使用yaw表示;

532c5e12040e42a1fc15193f4daedc02.png
图一 右手坐标系

LM820的

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值