原文链接:从零开始搭二维激光SLAM — 使用单线雷达实现LIO-SAM中的特征点提取

已跑通原作者的例程,如何使用自己的雷达实现特征点提取?

下载作者的代码:https://gitee.com/zhankun3280/Creating-2D-laser-slam-from-scratch

以某款sick 2D激光雷达为例,然后注意需要修改的地方:
1、feature_detection.cc

// 构造函数
LaserScan::LaserScan() : private_node_("~")
{// \033[1;32m,\033[0m 终端显示成绿色ROS_INFO_STREAM("\033[1;32m----> Feature Extraction Started.\033[0m");// 将雷达的回调函数与订阅的topic进行绑定laser_scan_subscriber_ = node_handle_.subscribe("laser_scan", 1, &LaserScan::ScanCallback, this);// 将提取后的点发布到 feature_scan 这个topicfeature_scan_publisher_ = node_handle_.advertise<sensor_msgs::LaserScan>("feature_scan", 1, this);// 将提取角点的阈值设置为1.0edge_threshold_ = 1.0;
}

"laser_scan"改成自己的激光雷达发布的话题,例如我的修改为"scan"

2、CMakeLists.txt文件,文件最后加上以下代码:

# 为指定的文件生成可执行文件
add_executable(${PROJECT_NAME}_feature_detection_node src/feature_detection.cc)# 为生成的可执行文件添加依赖
add_dependencies(${PROJECT_NAME}_feature_detection_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})# 为生成的可执行文件添加库的链接
target_link_libraries(${PROJECT_NAME}_feature_detection_node ${catkin_LIBRARIES})

3、feature_detection.launch,修改为如下:

<launch><!-- 启动激光雷达节点 --><include file="$(find   sick_scan)/launch/sick_lms_1xx.launch"/><!-- 启动节点 --><node name="lesson1_laser_scan_node" pkg="lesson1" type="lesson1_feature_detection_node" output="screen" /><!-- launch rviz --><node name="rviz" pkg="rviz" type="rviz" required="false"args="-d $(find lesson1)/launch/feature.rviz" /></launch>

4、修改完之后,一定要catkin_make一下
5、启动launch文件

roslaunch lesson1 feature_detection.launch

6、修改rviz界面的Fixed Frame为“laser”(视情况而定)
`如果像显示雷达原始数据,记得话题切换为自己雷达的话题,例如我的为"/scan"
特征点提取画面如下所示:

2D激光SLAM-雷达的特征点提取相关推荐

  1. 2D激光SLAM算法汇总

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:小小酥 | 来源:知乎 https://zhuanlan.zhihu.com/p/7833413 ...

  2. 激光slam课程学习笔记--第2课:2D激光slam

    前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课介绍的是2D激光slam. 1. 2d激光slam的介绍 激光slam的输入:IMU数据,里 ...

  3. 2D激光SLAM::AMCL发布的odom----map坐标TF变换解读

    摘自:https://blog.csdn.net/dieju8330/article/details/96770964 2D激光SLAM::AMCL发布的odom----map坐标TF变换解读 die ...

  4. 2d激光slam学习

    ----------------------------------------------参考资料来源---深蓝学院----------------------------------------- ...

  5. SLAM学习--2D激光SLAM--入门学习

    一.学习心得记录(不一定对):转载了很多博主的网站,若侵权,告知必删 1. 激光slam 和视觉slam 实际在实现的时候完全是两码事,可能根本思想差不多,特别是非线性优化方面,但是实现方案差距较大, ...

  6. [SLAM]激光SLAM初学者代码及论文推荐【转】

    目录 2D激光SLAM Gmapping Hector_slam Karto Cartographer 3D激光SLAM LOAM A-LOAM LeGO-LOAM Lio-mapping hdl_g ...

  7. 激光SLAM入门学习笔记

    激光SLAM入门学习笔记 激光SLAM入门学习笔记 一.推荐阅读书籍 二.推荐公众号.知乎.博客 1.公众号 2.知乎 3.博客 三.推荐阅读论文&代码(参考泡泡机器人) 2D激光SLAM 3 ...

  8. 2020年最新 iPad Pro上的激光雷达是什么?来激光SLAM技术中找答案

    日前,苹果公司正式发布了2020 iPad Pro.设备采用A12Z芯片,并包括Ultra Wide摄像头和液态视网膜显示屏,以及常规的摄像头.传感器和扬声器阵列.但亮点功能是LiDAR扫描仪将用作深 ...

  9. 激光SLAM入门笔记(一):概述

    概述 激光SLAM pipeline 1.数据处理(非常重要) 里程计标定 激光雷达运动畸变去除 2.帧间匹配(核心部分) 3.回环检测 4.后端优化 2D激光SLAM 数据处理(非常重要) 帧间匹配 ...

最新文章

  1. C# ListView添加DragDrop
  2. 新基建与智慧城市相遇 会碰撞出什么样的“火花”?
  3. linux磁珠技术,MACS磁珠分选技术基本原理(图文释义)
  4. nginx 一般配置实例 静态页面
  5. 使用类型注解让 Python 代码更易读
  6. 3998. 变成1-AcWing题库
  7. 用玻色-爱因斯坦凝聚体,是否能观察粒子的波动特性
  8. Java中hashCode()与 equals()
  9. 新浪微博api接口java_新浪微博API(java版)
  10. android通过拼音搜索中文的功能
  11. Python渗透测试之网络嗅探与欺骗
  12. pta平台c语言作业答案,C语言PTA平台习题与答案.pdf
  13. bp神经网络综合评价例题,bp神经网络综合评价法
  14. 【C语言】深度剖析数据在内存中的存储
  15. mc服务器常用指令_掌控MC服务器 我的世界服务器指令大全
  16. linux中页缓冲和块缓冲之概念
  17. 关于出现“unknown uid 1000: who are you?”的问题
  18. Fast Global Registration(快速全局配准)
  19. 《三、企业级知识管理系统:Confluence配置邮箱服务》
  20. 武汉科技大学计算机转专业吗,武汉科技大学的护理专业可以转专业吗

热门文章

  1. MySQl数据库的应用
  2. 推行六西格玛管理的成本效益高吗?
  3. 2022年RPA将从IT领域继续扩展至非IT领域,非IT领域5大场景RPA应用
  4. php 购物车存在那个地方,php添加购物车
  5. hadoop-mapreduce-example中实例介绍
  6. 淘宝/天猫API:item_search_shop-获得店铺的所有商品
  7. 秦九韶算法-c语言实现(数值分析)
  8. 学编程有哪些好点的网站呢?
  9. OneNote2007简体中文便携正式版
  10. 【聚划算 Android 技术周刊 第五期- 20160912】