2D激光SLAM-雷达的特征点提取
原文链接:从零开始搭二维激光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-雷达的特征点提取相关推荐
- 2D激光SLAM算法汇总
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:小小酥 | 来源:知乎 https://zhuanlan.zhihu.com/p/7833413 ...
- 激光slam课程学习笔记--第2课:2D激光slam
前言:这系列笔记是学习曾书格老师的激光slam课程所得,这里分享只是个人理解,有误之处,望大佬们赐教.这节课介绍的是2D激光slam. 1. 2d激光slam的介绍 激光slam的输入:IMU数据,里 ...
- 2D激光SLAM::AMCL发布的odom----map坐标TF变换解读
摘自:https://blog.csdn.net/dieju8330/article/details/96770964 2D激光SLAM::AMCL发布的odom----map坐标TF变换解读 die ...
- 2d激光slam学习
----------------------------------------------参考资料来源---深蓝学院----------------------------------------- ...
- SLAM学习--2D激光SLAM--入门学习
一.学习心得记录(不一定对):转载了很多博主的网站,若侵权,告知必删 1. 激光slam 和视觉slam 实际在实现的时候完全是两码事,可能根本思想差不多,特别是非线性优化方面,但是实现方案差距较大, ...
- [SLAM]激光SLAM初学者代码及论文推荐【转】
目录 2D激光SLAM Gmapping Hector_slam Karto Cartographer 3D激光SLAM LOAM A-LOAM LeGO-LOAM Lio-mapping hdl_g ...
- 激光SLAM入门学习笔记
激光SLAM入门学习笔记 激光SLAM入门学习笔记 一.推荐阅读书籍 二.推荐公众号.知乎.博客 1.公众号 2.知乎 3.博客 三.推荐阅读论文&代码(参考泡泡机器人) 2D激光SLAM 3 ...
- 2020年最新 iPad Pro上的激光雷达是什么?来激光SLAM技术中找答案
日前,苹果公司正式发布了2020 iPad Pro.设备采用A12Z芯片,并包括Ultra Wide摄像头和液态视网膜显示屏,以及常规的摄像头.传感器和扬声器阵列.但亮点功能是LiDAR扫描仪将用作深 ...
- 激光SLAM入门笔记(一):概述
概述 激光SLAM pipeline 1.数据处理(非常重要) 里程计标定 激光雷达运动畸变去除 2.帧间匹配(核心部分) 3.回环检测 4.后端优化 2D激光SLAM 数据处理(非常重要) 帧间匹配 ...
最新文章
- C# ListView添加DragDrop
- 新基建与智慧城市相遇 会碰撞出什么样的“火花”?
- linux磁珠技术,MACS磁珠分选技术基本原理(图文释义)
- nginx 一般配置实例 静态页面
- 使用类型注解让 Python 代码更易读
- 3998. 变成1-AcWing题库
- 用玻色-爱因斯坦凝聚体,是否能观察粒子的波动特性
- Java中hashCode()与 equals()
- 新浪微博api接口java_新浪微博API(java版)
- android通过拼音搜索中文的功能
- Python渗透测试之网络嗅探与欺骗
- pta平台c语言作业答案,C语言PTA平台习题与答案.pdf
- bp神经网络综合评价例题,bp神经网络综合评价法
- 【C语言】深度剖析数据在内存中的存储
- mc服务器常用指令_掌控MC服务器 我的世界服务器指令大全
- linux中页缓冲和块缓冲之概念
- 关于出现“unknown uid 1000: who are you?”的问题
- Fast Global Registration(快速全局配准)
- 《三、企业级知识管理系统:Confluence配置邮箱服务》
- 武汉科技大学计算机转专业吗,武汉科技大学的护理专业可以转专业吗