ROS 学习应用篇(九)ROS中launch文件的实现

launch文件就好比一个封装好的命令库,我们按照在终端中输入的代码指令,全部按照launch语言格式封装在一个launch文件中,这样以后执行的时候,就可以不用开很多终端,一条一条输入代码指令。

lauch文件的语言风格很想我之前学爬虫的时候网页代码的风格。(rosmaster也不用单开了。)

launch

<launch>根元素用<launch>标签来定义<launch>

node

<node node中封装的时是启动节点/ >

语法:

<node pkg="package-name(功能包的名字)" type="executable-name(执行器名字。其实就是代码中定义的节点名字,之前我们在CMakeList中把cpp文件做成一个可执行文件,就是那个名字,py的程序就是多个.py)" name="(这里是,该节点运行后的节点名字,其实就终端执行时,__name):=新定义的节点的名字"/>

其余可选属性

以下可选属性是和name、pkg、type同级的,均用空格间隔即可。

output:控制打印当前节点信息到当前终端中
respawn:控制当节点出错是,是否重启节点的
required:控制某个节点是否一定要启动的
ns:全称是name space,给节点加命名空间前缀的,避免节点见的冲突。
args:给节点输入参数的。C++用这个,py用的param送入value值

C++                                                                               Python

参数设置

这一段特别的是在向一个节点送入参数的视乎,node最后没有/,在param语句结束后要加一行</node>

param

用于设置ROS系统中运行中的参数,并存在参数服务器中。

<param name="output_frame" value="odom" />

封装在节点内的参数,就在名称前多出来节点名那一段的命名空间,比如说turtle_name1前面有节点命名。

rosparam

用于加载参数文件中的多个参数。

<rosparam file="param.yaml" command="load" ns="params" />

arg

用于launch文件内部的局部变量,仅限于launch文件使用。注意它和全局参数param的区别,其实就是全局变量和局部变量的区别。定义方法如下:

<arg name="arg-name" default="arg-value"/>

哪么如何调用这个arg定义的参数呢。既然说了是launch文件内部的参数,自然也智能在文件内部调用。

<param name="foo" value="$(arg arg-name)" />

<node name="node" pkg="package" type="type" args="$(arg arg-name)" / >

remap

重映射,就是改那些带有/的名字,也就是那些消息,服务的名字,这通常使用在节点输出通讯联络节点变更导致的映射关系发生变化的情况下。from:原名,同:映射之后的命名。

<remap form="turtlebot/cmd_vel" to="/cmd_vel" />

include

像c++ 语言一样引入其他launch文件。

<include file="$(dirname)/other.launch" />

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

编译

roslaunch learning_launch simple.launch

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

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

相关文章

⑩③【MySQL】详解SQL优化

个人简介&#xff1a;Java领域新星创作者&#xff1b;阿里云技术博主、星级博主、专家博主&#xff1b;正在Java学习的路上摸爬滚打&#xff0c;记录学习的过程~ 个人主页&#xff1a;.29.的博客 学习社区&#xff1a;进去逛一逛~ SQL优化 ⑩③【MySQL】了解并掌握SQL优化1. 插…

美团外卖18元神券节红包优惠券怎么抢?

美团外卖红包天天免费领取活动规则 1、每月18日可领美团外卖18元神券节红包优惠券&#xff1b; 2、每月15、16、17日可领美团外卖神券节预热12元红包优惠券&#xff1b; 3、每周星期一、星期三可领美团外卖节9元红包优惠券&#xff1b; 4、每天可领美团外卖天天神券3-7元美…

TikTok与媒体素养:如何辨别虚假信息?

在当今数字时代&#xff0c;社交媒体平台如TikTok已经成为信息传播和社交互动的主要渠道之一。然而&#xff0c;随之而来的是虚假信息的泛滥&#xff0c;这对用户的媒体素养提出了严峻的挑战。本文将探讨TikTok平台上虚假信息的现象&#xff0c;以及如何提高媒体素养&#xff0…

初刷leetcode题目(1)——数据结构与算法

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

专攻数学的Prompt:使GPT-3解数学题准确率升至92.5%

专攻数学的Prompt&#xff1a;使GPT-3解数学题准确率升至92.5% 写在最前面示例&#xff08;试过了&#xff0c;难点的和普通输出差不多&#xff1b;只能说&#xff0c;比简单的题目输出内容更丰富一些&#xff09;MathPrompter解题示例 机理MathPrompter是怎么工作的&#xff0…

【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。

操作环境&#xff1a; MATLAB 2013b 1、算法描述 正交频分复用&#xff08;OFDM&#xff09;系统中的载波频率偏移&#xff08;CFO&#xff09;估计是一项关键技术&#xff0c;用于确保数据传输的准确性和效率。CFO通常由于振荡器频率不匹配和多普勒频移引起。不同的CFO估计…

2023.11.18 Hadoop之 YARN

1.简介 Apache Hadoop YARN &#xff08;Yet Another Resource Negotiator&#xff0c;另一种资源协调者&#xff09;是一种新的 Hadoop 资源管理器&#xff0c;它是一个通用资源管理系统和调度平台&#xff0c;可为上层应用提供统一的资源管理和调度。支持多个数据处理框架&…

【Java从入门到大牛】多线程

&#x1f525; 本文由 程序喵正在路上 原创&#xff0c;CSDN首发&#xff01; &#x1f496; 系列专栏&#xff1a;Java从入门到大牛 &#x1f320; 首发时间&#xff1a;2023年11月18日 &#x1f98b; 欢迎关注&#x1f5b1;点赞&#x1f44d;收藏&#x1f31f;留言&#x1f4…

Adversarial Attacks on Neural Networks for Graph Data

Adversarial Attacks on Neural Networks for Graph Data----《针对图数据的神经网络的对抗攻击》 论文提出了两个问题&#xff1a; 1、属性图的深度学习模型容易受攻击吗&#xff1f; 2、他们的结果可靠吗&#xff1f; 回答这两个问题需要考虑到GNN的特性&#xff1a; ①关…

6.8完全二叉树的节点个数(LC222-E)

算法&#xff1a; 如果不考虑完全二叉树的特性&#xff0c;直接把完全二叉树当作普通二叉树求节点数&#xff0c;其实也很简单。 递归法&#xff1a; 用什么顺序遍历都可以。 比如后序遍历&#xff08;LRV&#xff09;&#xff1a;不断遍历左右子树的节点数&#xff0c;最后…

Windows11 python3.12 安装pyqt6 pyqt6-tools

Windows11 python3.12 安装pyqt6比较容易&#xff0c;但pyqt6-tools一直安装不上去。出错信息如下&#xff1a; (venv) PS D:\python_project\pyqt6> pip install pyqt6-tools Collecting pyqt6-toolsUsing cached pyqt6_tools-6.4.2.3.3-py3-none-any.whl (29 kB) Collec…

VS中修改解决方案名称和项目名称

如何修改visual studio2019中的项目名 - 知乎 (zhihu.com) 查了很多&#xff0c;还是这个可行。虽然文中说不是最简单的&#xff0c;但在所查找资料中是可行且最简单的。 要点主要是&#xff1a; 1、比如我们复制一个解决方案&#xff0c;最好是带代码哈&#xff0c;也就是添…