ROS开发之如何制作launch启动文件?

news/2024/11/28 11:38:16/

文章目录

  • 0、引言
  • 1、Launch文件语法
  • 2、Launch示例

0、引言

  笔者因研究课题涉及ROS开发,学习了古月居出品的ROS入门21讲,为巩固launch的知识,本文将ROS的launch启动文件制作一讲内容进行总结。launch文件通过XML文件实现多节点的配置和启动,可自动启动ROS Master,即自动运行roscore命令。

1、Launch文件语法

  在这里插入图片描述
  
  1<launch>节点;

launch文件中的根元素采用<launch>;标签定义。

  
  2<node> 节点;

启动节点
<node pkg="package-name" type="executable-name" name="node-name" />;
pkg: 节点所在的功能包名称
type: 节点的可执行文件名称
name: 节点运行时的名称
**可选属性↓**
output: 指定输出方式,要在终端显示日志信息可用out="screen"
respawn: 当节点异常停止时,是否重启
required: 指定节点是否一定要启动
na: 命名空间
args: launch文件中的参数

  
  3<param>节点;

设置ROS系统运行中的参数,存储在参数服务器中
<param name="output_frame" value="odom"/>;
name: 参数名
value: 参数值

  
  4<arg>节点;

launch文件内部的局部变量,仅限于launch文件使用
<arg name="arg-name" default="arg-value"/>;
name: 参数名
value: 参数值
调用
<param name="foo" value="$(arg arg-name)"/>;
<node name="node" pkg="package" type="type" args="$(arg arg-name)"/>;

  
  5<remap>节点;

重映射ROS计算图资源的命名
<remap from="/turtlebot/cmd_vel" to="/cmd_vel"/>;
from: 原命名
to: 映射之后的命名

  
  更多标签可参见: http://wiki.ros.org/roslaunch/XML

2、Launch示例

  ①创建功能包;

cd ~/catkin_ws/src
catkin_create_pkg learning_launch roscpp rospy tf turtlesim

  在这里插入图片描述
  
  ②发布者和订阅者代码见:ROS开发之如何使用发布者、订阅者和话题消息?;
  ③创建launch文件;
  在新建的功能包下创建launch文件夹,并在该文件夹中打开新终端,并键入:gedit simple.launch,输入以下代码并保存。

<launch>;
<node pkg="learning_topic" type="person_subscriber" name="talker" output="screen" />;
<node pkg="learning_topic" type="person_publisher" name="listener" output="screen" />;
</launch>;

  在这里插入图片描述
  
  ④编译并运行。

cd ~/catkin_ws
catkin_make
或
catkin_make_isolated
source devel/setup.bash
或
source devel_isolated/setup.bash
roslaunch learning_launch simple.launch

  在这里插入图片描述
  
参考资料:
[1] 古月居GYH. 【古月居】古月·ROS入门21讲 | 一学就会的ROS机器人入门教程; 2019-07-16 [accessed 2023-04-11].
[2] ros官网. roslaunch/XML; [accessed 2023-04-11].
[3] cacrle. ROS开发之如何使用发布者、订阅者和话题消息?; 2023-04-09 [accessed 2023-04-11].


http://www.ppmy.cn/news/41782.html

相关文章

那些警示良言——鲁迅

鲁迅的警示言 1、中国人的性情是总喜欢调和折中的&#xff0c;譬如你说&#xff0c;这屋子太暗&#xff0c;须在这里开一个窗&#xff0c;大家一定不允许的。但如果你主张拆掉屋顶他们就来调和&#xff0c;愿意开窗了。 ——《无声的中国》一九二七年 2、我每看运动会时&…

如何在windows/linux下启动OpenOffice

上面一篇文章使用openOffice来实现预览word、excel、pdf、txt等的功能时&#xff0c;发现openOffice没有启动&#xff0c;也怕有些同学安装后不会启动&#xff0c;所以便写下这一篇文章&#xff0c;来为大家说明如何启动openOffice&#xff0c;上一篇讲的如何下载安装openOffic…

2023年咸阳市《网络搭建与应用》专业技能大赛试题

竞赛说明 竞赛内容发布“网络搭建与应用”赛项竞赛共分三个部分,其中: 第一部分:网络搭建及安全部署项目(500分) 第二部分:服务器配置及应用项目(480分) 第三部分:职业规范与素养(20分) 竞赛注意事项禁止携带和使用移动存储设备、计算器、通信工具及参考资料。请根据…

【Linux】一篇文章, 掌握Linux进程信号

文章目录进程信号介绍进程信号进程信号的处理signal() 捕捉信号用户层产生进程信号的方式键盘产生进程信号系统调用产生进程信号kill()raise()abort()软件条件产生进程信号硬件异常产生进程信号除0 和 越界访问、野指针 如何产生相应信号除0越界访问、野指针core dumpcore 文件…

【Nginx】 如何在已经安装好的Nginx上增加新模块

前言 需要对NGINX 进行模块扩展&#xff0c;如果已经安装好了Nginx有不想重新安装覆盖的前提下如何新增模块呢? 下面通过安装nginx-http-flv-module作为示例进行说明&#xff0c;安装其他模块也是同样的道理。 下载第三方模块源码 https://github.com/winshining/nginx-ht…

数据库学习笔记-----SQL查询语句和代码演示

SQL不区分大小写&#xff0c;本文是邹兆年老师的课件和课堂的部分内容总结&#xff0c;部分比较细的内容请看课件 Db笔记(1).pdf SQL的数据定义 数据 数值型&#xff1a; 整型&#xff1a;INT/SMALLINT/BIGINT 4个字节/两个字节/八个字节浮点型&#xff1a;NUMERIC…

小型水库雨水情测报设施建设24小时守护水库大坝安全!

解决方案 小型水库雨水情测报系统及大坝安全监测解决方案&#xff0c;系统主要由降雨量监测站、水库水位监测站、大坝安全监测中的渗流量、渗流压力和变形监测站及视频和图像监测站等站点组成&#xff0c;同时建立规范、统一的监测平台&#xff0c;集数据传输、信息共享、数据…

【C++11】新特性 - 右值引用详解

文章目录STD容器使用右值引用场景移动语义在容器中的使用主要体现在两个方面&#xff1a;移动构造函数和移动赋值运算符。移动语义只对右值有效&#xff0c;对左值无效原因STD容器使用右值引用场景 移动语义在容器中的使用主要体现在两个方面&#xff1a;移动构造函数和移动赋…