ROS学习记录:launch文件启动Hector_Mapping的建图功能

2024-06-19 02:12

本文主要是介绍ROS学习记录:launch文件启动Hector_Mapping的建图功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

SLAM软件包Hector_Mapping
在上一篇笔记中,通过Hector_Mapping软件包实现了SLAM功能,运行了四条指令,有些麻烦。本文通过launch文件的使用将指令整合起来,方便功能的实现。

一、打开终端,输入cd catkin_ws1/src/,进入工作空间的src目录。

在这里插入图片描述

二、输入catkin_create_pkg slam_pkg roscpp rospy std_msgs来新建一个软件包slam_pkg

在这里插入图片描述

三、输入code . 打开代码编辑器VSCode

在这里插入图片描述

四、在slam_pkg软件包下创建launch子文件夹

在这里插入图片描述

五、在launch文件夹下新建hector.launch文件

在这里插入图片描述

六、在launch文件中写入如下代码

<launch><!-- 载入 机器人 和 SLAM 的仿真场景 --><include file="$(find wpr_simulation)/launch/wpb_stage_slam.launch"/><!-- Hector SLAM --><node pkg="hector_mapping" type="hector_mapping" name="hector_mapping"/><!-- Rviz 显示 --><node pkg="rviz" type="rviz" name="rviz"/><!-- 运动控制 --><node pkg="rqt_robot_steering" type="rqt_robot_steering" name="rqt_robot_steering"/></launch>

七、打开终端,输入cd catkin_ws1进入工作空间

在这里插入图片描述

八、输入catkin_make进行编译,这里编译的目的是为了让slam_pkg进入ROS的软件包列表,防止在后面执行launch文件的时候提示找不到软件包

在这里插入图片描述

九、编译成功

在这里插入图片描述

十、输入source ./devel/setup.bash设置ROS的环境变量,以便在当前的终端窗口中正确运行ROS软件包。

在这里插入图片描述

十一、输入roslaunch slam_pkg hector.launch运行刚才编写的launch文件

在这里插入图片描述

十二、出来的效果和本文开头链接里的实验效果一样,区别就是本文只需运行一个launch文件便能运行了多个节点,较为方便

在这里插入图片描述

十三、现在这个RViz窗口里什么也没有,我们还需对其进行一些配置

在这里插入图片描述

1、添加Map

在这里插入图片描述

2、设置/map话题

在这里插入图片描述

3、添加机器人模型

在这里插入图片描述

4、添加激光雷达扫描

在这里插入图片描述

5、设置话题,更改扫描点大小

在这里插入图片描述

十四、可以将RViz的显示配置保存成文件,这样就不用每次打开都重新配置了,只需加载一下文件即可

1、点击Save Config As

在这里插入图片描述

2、在slam_pkg软件包中新建一个rviz文件夹,专门用来保存rviz文件

在这里插入图片描述

3、保存名字叫做slam.rviz然后点Save保存

在这里插入图片描述

十五、测试一下刚刚保存的rviz配置文件好不好用

1、先把rviz关掉

在这里插入图片描述

2、新分屏一个终端窗口,输入rosrun rviz rviz -d /home/panda/catkin_ws1/src/slam_pkg/rviz/slam.rviz,注意这句指令-d后面的一大串是刚刚保存的rviz文件的路径,你的路径跟我的不一定一样,需要你自己注意一下

在这里插入图片描述

3、启动后rviz便是配置好的

在这里插入图片描述

4、这里再提醒一下,如果你在启动rviz的时候出现了报错,或者启动后机器人模型加载不出来,就先在当前窗口输入source ./devel/setup.bash设置环境变量,再进行启动rviz

在这里插入图片描述

十六、接下来还可以再优化一下,把刚刚配置的rviz文件写入launch文件里,这样只需要启动launch文件,rviz也是配置好的了

1、对launch文件的如下位置进行修改,实质上就是添加了一个参数,即rviz文件的路径

在这里插入图片描述

2、将刚刚打开的仿真软件都关闭,然后重新打开一个终端,输入cd catkin_ws1进入工作空间

在这里插入图片描述

3、输入catkin_make编译一下

在这里插入图片描述

4、编译成功

在这里插入图片描述

5、输入source ./devel/setup.bash设置ROS的环境变量,以便在当前的终端窗口中正确运行ROS软件包。

在这里插入图片描述

6、输入roslaunch slam_pkg hector.launch运行launch文件

在这里插入图片描述

7、便能成功打开了多个节点,能够成功控制机器人进行建图扫描(这里记录一个问题,博主用的是虚拟机,有时候机器人仿真环境打开不成功,导致rviz的机器人模型也加载不出来,博主重启虚拟机后便解决了)

在这里插入图片描述

这篇关于ROS学习记录:launch文件启动Hector_Mapping的建图功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073717

相关文章

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.

TP-LINK/水星和hasivo交换机怎么选? 三款网管交换机系统功能对比

《TP-LINK/水星和hasivo交换机怎么选?三款网管交换机系统功能对比》今天选了三款都是”8+1″的2.5G网管交换机,分别是TP-LINK水星和hasivo交换机,该怎么选呢?这些交换机功... TP-LINK、水星和hasivo这三台交换机都是”8+1″的2.5G网管交换机,我手里的China编程has