采用16线激光雷达调用cartographer室内定位

之前进行了16线激光雷达调用cartographer包进行室内建图,这方面很多朋友都知道,cartographer是google的一个开源SLAM算法,那么它能够用来定位吗?

我在网上查到的解释是可以,首先,什么是SLAM?

SLAM全称是simultaneous localization and mapping,中文名称是即时定位与地图构建。那么可以看到,地图构建就是我们之前说的建图,那么即时定位不就是定位吗。

事实就是如此,cartographer也提供了定位功能,先介绍一下cartographer的纯定位模式。

cartographer的纯定位模式与建图类似,它也需要通过建立子图,然后将子图与事先建立好的先验地图匹配上进行定位。这里会有一个问题,就是它需要建立子图,这个子图会覆盖先验地图,可能会对定位有影响,所以我们需要将cartographer里面发布子图的节点给注释了,那么另外一个问题就来了,发布子图的节点注释了,那么我们没有子图怎么定位呢。

这里就涉及到另外一个知识点了,我们采用map_server包发布子图,这样就可以防止先验地图被覆盖,具体的步骤如果小伙伴们不懂的话可以评论留言或者私信我。

接下来介绍一下怎么配置cartographer的定位。

首先就是cartographer有一个demo_backpack_2d_localization.launch这个launch文件,我们要做的就是去修改它(记得修改前备份一个)。

这里要修改的几点都写好了,其中第二点是加载我们自己的机器人模型,第3点的lua文件也是根据自己的机器人模型写的,后面的pbstream地图文件也要加载,这个地图文件是先通过cartographer建图保存得到的,后面的remap这里我也写了,我写的是然后第5点那个-pure localization 1,这里是采用纯定位模式。
而且后面的修改文件是修改cartographer_ros里面的文件occupancy_node_main.cc,这里参考

https://github.com/lllray/file/blob/master/occupancy_grid_node_main.cc

或者直接复制这个,大致就是这样,然后其中的几个文件都是需要根据自己的机器人来写的,比如my_backpack_2d.urdf、my_backpack_2d_localization.lua,map.pbstream也是自己保存好的地图。

最后写好了launch文件后(姑且称之为localization.launch),要启动的文件就有雷达驱动文件(启动雷达的,比如rs_lidar_16.launch)、机器人驱动文件(用来启动launch文件里加载urdf文件的)、以及我们写的launch文件。

这里不建议将启动urdf的文件写在我们这个localization.launch里。

最后启动的rviz里面应该有建好的地图以及激光雷达实时扫描到的点云数据,起初的时候这些点云数据与地图是不匹配的,需要动一下机器人,一会儿后如果点云数据与地图匹配了,说明定位成功。

点云数据与地图不匹配

点云数据与地图匹配

室外纯激光定位

这里要注意两个问题:
1 cartographer如果纯激光定位最好场景稍微复杂些,不能像马路那样重复度比较高的场景,因为这样的话建图会建不好(纯激光建图),实际机器人运动时rviz里面的模型是不动的,这个也称为长廊效应;
2 另外一点是在定位的时候机器人速度不能过快。

采用16线激光雷达调用cartographer室内定位相关推荐

  1. 采用16线激光雷达调用cartographer室内建图

    采用16线激光雷达调用cartographer室内建图 要用cartographer建图,我们需要的前期准备工作有: 1 安装cartographer功能包 这是一个谷歌编写的开源功能包,还是非常好用 ...

  2. 使用速腾16线激光雷达与IMU 实现Cartographer 3D建图

    平台:ubuntu18.04 + rosmelodic 设备: 速腾16线激光雷达(RS-Helios-16P).IMU(WHT901B-485),使用方法见前文 1.创建backpack_2d_rs ...

  3. gazebo中机器人搭载16线激光雷达建图导航

    gazebo中机器人搭载16线激光雷达建图导航 如果用过古月的教程大家就会知道,古月教程中的机器人采用的是单线激光雷达,但有的时候仿真需要多线激光雷达,这里就教一下怎么搭载16线激光雷达建图导航. 首 ...

  4. gazebo中给机器人添加16线激光雷达跑LIO-SAM

    目录: 前言 1.下载雷达仿真包 2.添加雷达支架描述文件 3.添加雷达描述文件 4.启动仿真 5.添加IMU模块 6.添加RGB-D相机 7.LIO-SAM仿真 安装依赖 安装GTSAM 编译LIO ...

  5. SLAM实操入门(六):连接Velodyne的16线激光雷达并可视化

    文章目录 前言 1 Velodyne激光雷达 2 配置网络 3 创建ROS工程 4 启动并可视化 5 录包与播放 总结 前言 好久没更新这部分了,最近在搞中期答辩的东西,简单补充一部分多线激光雷达建图 ...

  6. 速腾聚创16线激光雷达rslidar-16的ros驱动安装与rviz点云显示

    原链接: https://community.bwbot.org/topic/520 运行测试平台:小强ROS机器人 速腾聚创16线激光雷达rslidar-16的供电是直流12v 3A,通信接口是rs ...

  7. robosense速腾16线激光雷达配置过程

    环境: 1.速腾16线激光雷达rslidar: 2.工控机: 3.Ubuntu 18.04        melocic版本; 1.1 安装驱动源码 $ mkdir –p ~/catkin_rslid ...

  8. 3999美元掀价格战,Velodyne宣布16线激光雷达降价50%

    3D视觉系统和先进的自动驾驶安全解决方案的全球领导者Velodyne LiDAR今天宣布,其无人驾驶用16线激光雷达现在可以面向全球客户降价50%. 新智元从Velodyne亚洲区总监翁炜处获悉,现在 ...

  9. robosense 16线激光雷达标定

    一.准备步骤: 1.安装 RSView (1)网址:http://www.robosense.ai/web/resource/cn,我这边是16线激光雷达,按照自己的版本下载就行了,如下图所示: wi ...

最新文章

  1. 微信小程序导航栏设置透明
  2. 重新安装nginx注意事项
  3. 易生信高级转录组分析和数据可视化-最后一天报名
  4. AbstractQueuedSynchronizer原理分析
  5. 主从复制跳过错误(未采用GTID)
  6. 两个字符串,s,t;把t字符串插入到s字符串中,s字符串有足够的空间存放t字符串
  7. Ajax 基础——未完待续
  8. OpenCV中图像的BGR格式 Img对象的属性说明
  9. php打印 二维数组,PHP中遍历二维数组_以不同形式的输出操作实例
  10. L1- 009——016
  11. dt100g3什么意思_酷黑滑盖风 金士顿DT100G3优盘评测
  12. C++ Socket服务器简单代码示例
  13. matlab实对称矩阵对角化,第四节 实对称矩阵的对角化
  14. 如何在Mac电脑上更改地区或国家?
  15. 视频接口:DP接口和HDMI接口介绍,看完你就懂了
  16. 你需要来自trustedinstaller的权限才能删除
  17. 字节跳动开源隐私合规检测工具appshark
  18. 全球与中国混频器市场现状及未来发展趋势
  19. Python | Flask 解决跨域问题
  20. 金马公关为什么选择使用活字格来搭建《会议邀约系统》

热门文章

  1. $timeformat $time
  2. 装个JCreator+JDK文档
  3. A brief introduction to complex analysis
  4. 实现海报合成工具,自定义背景图、位置、大小等 (html2canvas)
  5. 双心ping GUI工具1.0
  6. OCTA数据集的交叉验证划分为训练集和测试机
  7. Apache Spark3.0什么样?一文读懂Apache Spark最新技术发展与展望
  8. 富士康员工的逆袭之路,从月薪4K到现在月入1W+,是如何做到的?
  9. cursor常用的属性值
  10. 彻底删除软件,删除注册列表信息