《Ubuntu20.04环境下的ROS进阶学习6》

一、手持激光雷达建图

        在上次的学习中我们已经使用hector_Mapping在仿真环境下建图了,那么本节我们将拿出真实雷达做一次室内的建图。我们使用的是思岚的S2L激光雷达。

二、下载思岚的应用手册

        首先我们根据自己的激光雷达类型去到思岚官网下载相应的ROS包,这里我们使用的ROS1的noetic版本,对应的是ROS。https://www.slamtec.com/cn/Support#rplidar-s2

        接着我们会跳进github网站,根据第一节学习的内容下载并编译思岚的源代码即可。《Ubuntu20.04环境下的ROS进阶学习0》-CSDN博客

cd ~/catkin_ws/src

git clone https://github.com/Slamtec/rplidar_ros.git

到这里我们就把思岚的源代码下载下来了。

三、编译并运行代码让激光雷达动起来

cd ~/catkin_ws

catkin_make

source devel/setup.bash  值得一提的是,这一步如果您按照了之前的文章来做,可以省略。(《Ubuntu20.04环境下的ROS学习笔记4》-CSDN博客)

到这里编译就完成了,接下来准备让激光雷达转起来吧!

连接上我们的激光雷达,将/dev/ttyUSB0口附加权限。

sudo chmod 666 /dev/ttyUSB0

roslaunch rplidar_ros view_rplidar_s2.launch

四、使用激光雷达跑hector_Mapping

        刚才我们已经启动了激光雷达,但是只是看到了其中的数据,但是并没有将数据用来建图,那么用上我们最熟悉的hector_Mapping算法来建个地图看看。

1、编写launch

cd ~/catkin_ws/src/learning_launch/launch/

touch hector_handtest.launch

编辑以下内容:

<launch><include file = "$(find rplidar_ros)/launch/view_rplidar_s2.launch"/><node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen"><!-- Frame names --><param name="pub_map_odom_transform" value="true"/><param name="map_frame" value="map" /><param name="base_frame" value="base_link" /><param name="odom_frame" value="base_link" /><!-- Tf use --><param name="use_tf_scan_transformation" value="true"/><param name="use_tf_pose_start_estimate" value="false"/><!-- Map size / start point --><param name="map_resolution" value="0.05"/><param name="map_size" value="1024"/><param name="map_start_x" value="0.5"/><param name="map_start_y" value="0.5" /><param name="laser_z_min_value" value = "-1.0" /><param name="laser_z_max_value" value = "1.0" /><param name="map_multi_res_levels" value="2" /><param name="map_pub_period" value="2" /><param name="laser_min_dist" value="0.4" /><param name="laser_max_dist" value="5.5" /><param name="output_timing" value="false" /><param name="pub_map_scanmatch_transform" value="true" /><!--<param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />--><!-- Map update parameters --><param name="update_factor_free" value="0.4"/><param name="update_factor_occupied" value="0.7" />    <param name="map_update_distance_thresh" value="0.2"/><param name="map_update_angle_thresh" value="0.06" /><!-- Advertising config --> <param name="advertise_map_service" value="true"/><param name="scan_subscriber_queue_size" value="5"/><param name="scan_topic" value="scan"/>
</node><node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0 0 0 0 0 0 /base_link /laser 100"/><node pkg="rviz" type="rviz" name="rviz2" /></launch>

需要注意的是这里会打开两个rviz:

第一个是include file的时候思岚激光的启动文件带的,

第二个rviz是我们启动的,要看hector建图效果的,同时这里如果是第二次启动建议您保存一个rviz的配置,避免每次打开都要配置半天。

例如您可以将倒数第二句改为 <node pkg="rviz" type="rviz" name="rviz2" args = " -d $(find learning_launch)/rviz/hector_hand.rviz" /> 这里就是保存了一个叫做hector_hand.rviz的配置。

2、运行编写的launch文件

roslaunch learning_launch hector_handtest.launch

3、配置rviz并保存配置

a、Add一个laserScan并选择topic

b、Add一个Map并选择topic

这就是最终的样子,您可以将您的激光雷达拿起来在室内走走,值得一提的是,如果您只是手持效果应该不会很理想,特别是在转弯的时候,如果您能将它放在小车上,推着小车慢慢走似乎更有利于它的建图。

c、保存rviz配置

左上角的file选择save as将rviz的配置保存,方便下一次的开启,同时修改launch文件的倒数第二句话。 <node pkg="rviz" type="rviz" name="rviz2" args = " -d $(find learning_launch)/rviz/hector_hand.rviz" />

五、参考

思岚科技RPLIDAR 系列雷达 X ROS1使用教程(中英字幕)_哔哩哔哩_bilibili

基于hector算法的真实机器人建图与自主导航(二)——手持激光雷达建图-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/599040.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

哪些医疗器械申请FDA,需要准备网络安全文件?需要提交的文件都是什么样的?

一、什么类型的医疗器械需要递交网络安全文件&#xff1f; FD&C法案第524B条(c) 条将“网络设备”定义为&#xff1a; 1&#xff09;经申请人验证、安装或授权的软件或设备&#xff1b; 2&#xff09;具备连接互联网的能力&#xff1b; 3&#xff09;包含经申请人验证、…

刷代码随想录有感(24)

有时候我会怀疑努力的意义&#xff0c;因为我总是花人家好几倍的时间去理解一个狗看了都觉得弱智的问题&#xff0c;思考过后我知道&#xff0c;努力本没有意义&#xff0c;是在未来可能十年内取得成就时突然回想起来之前做过一些事情&#xff0c;未来的成就赋予曾经的意义&…

pdf、docx、markdown、txt提取文档内容,可以应用于rag文档解析

返回的是文档解析分段内容组成的列表&#xff0c;分段内容默认chunk_size: int 250, chunk_overlap: int 50&#xff0c;250字分段&#xff0c;50分段处保留后面一段的前50字拼接即窗口包含下下一段前面50个字划分 from typing import Union, Listimport jieba import recla…

SpringBoot3整合RabbitMQ之三_工作队列模型案例

SpringBoot3整合RabbitMQ之三_工作队列模型案例 文章目录 SpringBoot3整合RabbitMQ之三_工作队列模型案例2. 工作队列模型1. 消息发布者1. 创建工作队列的配置类2. 发布消费Controller 2. 消息消费者One3. 消息消费者Two4. 消息消费者Three5. 输出结果 2. 工作队列模型 1. 消息…

绘图工具 draw.io / diagrams.net 免费在线图表编辑器

拓展阅读 常见免费开源绘图工具 OmniGraffle 创建精确、美观图形的工具 UML-架构图入门介绍 starUML UML 绘制工具 starUML 入门介绍 PlantUML 是绘制 uml 的一个开源项目 UML 等常见图绘制工具 绘图工具 draw.io / diagrams.net 免费在线图表编辑器 绘图工具 excalidr…

四大生成式模型的比较——GAN、VAE、归一化流和扩散模型

比较四大模型的本质 four modern deep generative models: generative adversarial networks, variational autoencoders, normalizing flows, and diffusion models 待写

FPGA实现CLAHE算法(Verilog)

在介绍CLAHE算法之前必须要先提一下直方图均衡化&#xff0c;直方图均衡化算法是一种常见的图像增强算法&#xff0c;可以让像素的亮度分配的更加均匀从而获得一个比较好的观察效果。 左边是原图&#xff0c;右边是经过直方图均衡化后图&#xff0c;可以看到肋骨什么的可以更…

网络规划(homework 静态路由 and Rip路由表更新)

1、写出下图路由器1和路由器3中的路由表&#xff08;按直接交付、特定主机交付、特定网络交付、 默认交付的顺序放置路由项&#xff09; 2、写出Ri更新后的路由表&#xff08;rip路由协议&#xff09; 1、将Rj广播的路由消息全部1 2、直接对照着更新Ri中的路由表

《MATLAB科研绘图与学术图表绘制从入门到精通》

解锁MATLAB科研绘图魅力&#xff0c;让数据可视化成为你的科研利器&#xff01; 1.零基础快速入门&#xff1a;软件操作实战案例图文、代码结合讲解&#xff0c;从入门到精通快速高效。 2.多种科研绘图方法&#xff1a;科研绘图基础变量图形极坐标图形3D图形地理信息可视化等&a…

python开发poc2

#本课知识点和目的&#xff1a; ---协议模块使用&#xff0c;Request 爬虫技术&#xff0c;简易多线程技术&#xff0c;编码技术&#xff0c;Bypass 后门技术 下载ftp服务器模拟器 https://lcba.lanzouy.com/iAMePxl378h 随便创建一个账户&#xff0c;然后登录进去把ip改成…

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

景区云旅游/视频慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算&#xff0c;今年清明节假期3天全国国内旅游出游1.19亿人次&#xff0c;按可比口径较2019年同期增长11.5%&#xff1b;国内游客出游花费539.5亿元&#xff0c;较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…