服务粉丝

我们一直在努力
当前位置:首页 > 财经 >

无里程计仅使用激光雷达建图(GMapping算法)

日期: 来源:新机器视觉收集编辑:

点击下方卡片,关注“新机器视觉”公众号

重磅干货,第一时间送达

0 前言


本文介绍使用自己的激光雷达如何通过GMapping算法建图



1 Gmapping算法


Gmapping算法又名Grid Mapping算法,是一种基于RBpf粒子滤波算法,即将定位和建图过程分离,先进行定位再进行建图。


通过占有格栅(网格)的地图构建算法,在目前的市场中有着很多成功部署并应用的示例,如扫地机器人、服务机器人等。


占有格栅构建地图的好处


如果对连续的环境进行计算,对计算了要求非常高,Gmapping通过将周围环境划分为网格,根据它的状态进行地图构建,可以大量较少运算压力。


占有格栅,怎么占?


地图按一定尺寸被划分为一个一个网格,每个网格一共有三种状态:


(1)占有

(2)空闲

(3)未知


该算法通过激光雷达对周围环境进行扫描,对检测范围内的网格根据占有概率将其判定为占有空闲,通过机器人的移动对未知网格进行探索,直到地图建立完成。


为什么不用里程计也可以建图?


里程计是SLAM中非常重要的信息输入,可以让机器人知道自己在什么地方。


而通过下文中的laser_scan_matcher库,依靠PLICP(点对线迭代最近点)扫描匹配算法进行自身定位,但精度不高(如果不是手上只有个雷达可以玩…)。



2 laser_scan_matcher库


laser_scan_matcher是ROS中常用的激光扫描匹配器代码库。


它是一种基于PLICP(点对线迭代最近点)扫描匹配算法的增量式激光扫描匹配器,使用 Andrea Censi 的规范扫描匹配器 (CSM) 实现。


更多关于这个库的内容可以到ROS Wiki相关介绍进行了解,本文只介绍如何使用其进行建图。


2.1 安装laser_scan_matcher库


进入工程目录


cd catkin_tutlebot3/src


下载laser_scan_matcher库


git clone https://github.com.cnpmjs.org/ccny-ros-pkg/scan_tools.git


将文件夹中除了laser_scan_matcher外的文件全部删除(只使用它)



返回catkin_tutlebot3目录并编译


cd catkin_turtlebot3


编译工程


catkin_make


编译过程中可能出现以下报错:



根据报错描述可知,这是因为缺少csm包,使用以下命令进行安装


sudo apt install ros-noetic-csm


我的Ubuntu版本是noetic,大家在安装scm的过程中将noetic替换成自己的ROS版本名,重新进行编译后成功。


2.2 修改demo_gmapping.launch文件


demo_gmapping.launch位于目录


catkin_turtlebot3/src/scan_tools/laser_scan_matcher/demo中


右键选择demo_gmapping.launch使用其他程序打开,选择文本编辑器(如果没有IDE的话)


  • 将true改为false


  <param name="/use_sim_time" value="false"/>


  • 添加坐标系参数

    <param name="base_frame" value = "base_link"/>    <param name="use_odom" value="false"/>    <param name="publy_pose" value = "true"/>    <param name="publy_tf" value="true"/>


  • 添加机器人、世界、地图3个坐标系

    <param name="base_frame" value="/base_link"/>     <param name="odom_frame" value="/odom" />     <param name="map_frame" value="/map" />



保存退出


3 使用Gmapping进行建图


返回catkin_turtlebot3目录重新编译


cd catkin_turtlebot3catkin_make


运行roscore


roscore


打开新终端,启动雷达(配置方法见上一章)


roslaunch delta_lidar delta_lidar.launch


打开新终端,启动demo_gmapping.launch


roslaunch laser_scan_matcher demo_gmapping.launch


成功



可以通过以下命令查看三个坐标的tf转换树


rosrun rqt_tf_tree rqt_tf_tree



可以通过以下命令查看ROS中的节点构成图


rqt_graph



完成建图后如下(高举过头顶版)



总结:


本文介绍了使用激光雷达delta 2A进行建图,简单对Gmapping算法进行了介绍,对laser_scan_matcher库进行了介绍和调用。


版权声明:本文为CSDN博主「吴恩达亲传弟子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:

https://blog.csdn.net/weixin_51015707/article/details/121579571


声明:部分内容来源于网络,仅供读者学习、交流之目的。文章版权归原作者所有。如有不妥,请联系删除。

—THE END—

相关阅读

  • 喜迎桃花节 平谷区全面提升城乡环境建设

  • 随着平谷区第二十五届国际桃花节的临近,到平谷踏春的游客明显多了。平谷区经过20天的城乡环境整治提升,环境面貌已然焕然一新、路边车辆停放有序、不文明行为少了、志愿者和
  • 法治宣传进社区 提高警惕防诈骗

  • 掌上济宁讯(记者 董绍进 通讯员 史珂珂)日前,任城区阜桥街道小闸口社区网格中心联合新时代文明实践站、计生协会等部门开展“平安建设法治为先”法治宣传活动。活动现场,网格
  • “五在五心”打造幸福和谐社区

  • 近年来,海港区河东街道煤港里社区始终坚持把联系群众、服务居民作为社区工作的出发点和落脚点,坚持以“服务”为先,以“情感”为线,以“行动”为要,以“幸福”为本,创新打造“五在
  • 网格治理下的玉门南街社区

  • “王阿姨,从外地回来后身体有没有不舒服?最近流感高发,在家多开窗通风,有事就给我打电话”。近日,在玉门市新市区街道南街社区的居民楼道里,网格员葛玉萍耐心地敲开一扇扇门,认真核
  • 有事就找网格员 居民满满幸福感

  • 记者昨日从济宁市任城区古槐街道吉祥社区采访获悉,该社区积极探索“信用+”管理新模式,坚持党建引领,将社会信用体系建设与网格化管理、人居环境整治等各项工作深度融合。在吉
  • 高密市:小区卫生大评比 激发文明新动力

  • 为进一步优化社区群众居住环境,巩固文明城市创建成果。3月29日上午,朝阳街道东城社区组织开展住宅小区环境卫生评比活动,对辖区居民小区开展徒步检查并现场打分,社区网格长、网
  • 网格服务解民忧 协商议事促和谐

  • 日前,新兴街道民泰社区现代国际网格员接到居民电话,反映现代国际某楼电梯故障频发给居民出行带来安全隐患。网格员第一时间联系现代国际公馆小区物业了解情况,并表示希望可以通
  • 东升镇网格员暖心救助国家二级保护动物白天鹅

  • 春回大地,又到了候鸟迁徙的季节。近日,东升镇八家股份社嘉宁物业网格员在巡查中,于网格区域八家口袋公园内发现一只白天鹅,网格员立即上报,最终协调北京野生动物园员工将白天鹅接

热门文章

  • “复活”半年后 京东拍拍二手杀入公益事业

  • 京东拍拍二手“复活”半年后,杀入公益事业,试图让企业捐的赠品、家庭闲置品变成实实在在的“爱心”。 把“闲置品”变爱心 6月12日,“益心一益·守护梦想每一步”2018年四

最新文章

  • 工业镜头景深计算及工业镜头技术分析

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达 工业镜头的基本功能即是实现光束变换,在机器视觉体系中,工业镜头的首要作用是将成像方针在图画传感器的光敏
  • 机器视觉如何辨别“黑白”

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达传统的机器视觉通常包括两个步骤:预处理和物体检测。而沟通二者的桥梁则是图像分割(Image Segmentation)[1]。图像
  • SLAM技术支持的物体6Dof位姿估计的自训练方法

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达分享嘉宾 | 卢子琦(深蓝AI)文稿整理 | 张琳一、背景Object-based SLAM:SLAM就是机器人同步定位与建图,通过一些传感
  • 无里程计仅使用激光雷达建图(GMapping算法)

  • 点击下方卡片,关注“新机器视觉”公众号重磅干货,第一时间送达0 前言本文介绍使用自己的激光雷达如何通过GMapping算法建图1 Gmapping算法Gmapping算法又名Grid Mapping算法,是