ROS:节点运行管理launch文件

news2024/11/25 7:14:03

目录

  • 一、launch文件
    • 1.1概念
    • 1.2作用
    • 1.3实例
      • 1.新建launch文件
      • 2.调用 launch 文件
  • 二、<launch>
  • 三、node
  • 四、include
  • 五、remap
  • 六、param
  • 七、rosparam
  • 八、group
  • 九、arg

一、launch文件

1.1概念

aunch 文件是一个 XML 格式的文件,可以启动本地和远程的多个节点,还可以在参数服务器中设置参数。

1.2作用

简化节点的配置与启动,提高ROS程序的启动效率。

1.3实例

以 turtlesim 为例

1.新建launch文件

在功能包下添加 launch目录, 目录下新建 xxxx.launch 文件,编辑 launch 文件

<launch>
    <node pkg="turtlesim" type="turtlesim_node"     name="myTurtle" output="screen" />
    <node pkg="turtlesim" type="turtle_teleop_key"  name="myTurtleContro" output="screen" />
</launch>

2.调用 launch 文件

roslaunch 包名 xxx.launch

注意:roslaunch 命令执行launch文件时,首先会判断是否启动了 roscore,如果启动了,则不再启动,否则,会自动调用 roscore

二、

<launch>标签是所有 launch 文件的根标签,充当其他标签的容器

deprecated = "弃用声明"

告知用户当前 launch 文件已经弃用

三、node

<node>标签用于指定 ROS 节点,是最常见的标签,需要注意的是: roslaunch 命令不能保证按照 node 的声明顺序来启动节点(节点的启动是多进程的)

pkg=“包名”

节点所属的包

type=“nodeType”

节点类型(与之相同名称的可执行文件)

name=“nodeName”

节点名称(在 ROS 网络拓扑中节点的名称)

args=“xxx xxx xxx” (可选)

将参数传递给节点

machine=“机器名”

在指定机器上启动节点

respawn=“true | false” (可选)

如果节点退出,是否自动重启

respawn_delay=" N" (可选)

如果 respawn 为 true, 那么延迟 N 秒后启动节点

required=“true | false” (可选)

该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch

ns=“xxx” (可选)

在指定命名空间 xxx 中启动节点

clear_params=“true | false” (可选)

在启动前,删除节点的私有空间的所有参数

output=“log | screen” (可选)

日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log

子级标签
env 环境变量设置
remap 重映射节点名称
rosparam 参数设置
param 参数设置

四、include

include标签用于将另一个 xml 格式的 launch 文件导入到当前文件

file="$(find 包名)/xxx/xxx.launch"

要包含的文件路径

ns=“xxx” (可选)

在指定命名空间导入文件

子级标签
env 环境变量设置
arg 将参数传递给被包含的文件

五、remap

用于话题重命名

from=“xxx”

原始话题名称

to=“yyy”

目标名称

六、param

<param>标签主要用于在参数服务器上设置参数,参数源可以在标签中通过 value 指定,也可以通过外部文件加载,在标签中时,相当于私有命名空间。

name=“命名空间/参数名”

参数名称,可以包含命名空间

value=“xxx” (可选)

定义参数值,如果此处省略,必须指定外部文件作为参数源

type=“str | int | double | bool | yaml” (可选)

指定参数类型,如果未指定,roslaunch 会尝试确定参数类型,规则如下:

如果包含 ‘.’ 的数字解析未浮点型,否则为整型
“true” 和 “false” 是 bool 值(不区分大小写)
其他是字符串

七、rosparam

<rosparam>标签可以从 YAML 文件导入参数,或将参数导出到 YAML 文件,也可以用来删除参数,标签在标签中时被视为私有。

command=“load | dump | delete” (可选,默认 load)

加载、导出或删除参数

file="$(find xxxxx)/xxx/yyy…"

加载或导出到的 yaml 文件

param=“参数名称”

ns=“命名空间” (可选)

八、group

<group>标签可以对节点分组,具有 ns 属性,可以让节点归属某个命名空间

ns=“名称空间” (可选)

clear_params=“true | false” (可选)

启动前,是否删除组名称空间的所有参数(慎用…此功能危险)

九、arg

<arg>标签是用于动态传参,类似于函数的参数,可以增强launch文件的灵活性

name=“参数名称”

default=“默认值” (可选)

value=“数值” (可选)

不可以与 default 并存

doc=“描述”

参数说明

示例:launch文件传参语法实现,hello.lcaunch

<launch>
    <arg name="xxx" />
    <param name="param" value="$(arg xxx)" />
</launch>

命令行调用launch传参

roslaunch hello.launch xxx:=

参考视屏:赵虚左ros入门
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis从入门到精通【进阶篇】之对象机制详解

文章目录 0. 前言1. 详解1.1 redisObject 对象设计目的1.2 redisObject数据结构1.2 Redis 是如何使用redisObject1.2.1. 对象创建1.2.2. 对象引用计数1.2.3. 对象共享1.2.4. 对象的编码方式1.2.4. 对象的值 2. 总结2.1. redisObject对象如何实现数据共享和对象池技术&#xff1…

vue项目打包并配置到iOS工程中

一、修改vue项目的配置文件 将config文件夹里面的index.js中的 assetsPublicPath的值修改为“./” Webpack.prod.conf.js 中output添加参数publicPath:./ 在webpack.base.conf.js里 publicPath: process.env.NODE_ENV 生产 &#xff1f;./ config.build.assetsPublicPath :…

Compose编排工具应用

补充&#xff1a; Docker Compose 文件&#xff1a;Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。它使用 YAML 文件格式来描述应用程序的各个组件和其配置。以下是一个简单的示例&#xff1a; 在上面的示例中&#xff0c;我们定义了两个服务&#xff1a;web 和…

SpringBoot 之实现 PDF 添加水印的方案

简介 PDF&#xff08;Portable Document Format&#xff0c;便携式文档格式&#xff09;是一种流行的文件格式&#xff0c;它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下&#xff0c;我们需要对 PDF 文件添加水印&#xff0c;以使其更具有辨识度或者保护其版…

ChatGLM2-6B的P-Tuning微调

ChatGLM2-6B&#xff1a;https://github.com/THUDM/ChatGLM2-6B 模型地址&#xff1a;https://huggingface.co/THUDM/chatglm2-6b 详细步骤同&#xff1a;ChatGLM-6B的P-Tuning微调详细步骤及结果验证 环境可复用ChatGLM-6B&#xff08;上述部署教程&#xff09;&#xff0c;…

简要介绍 | 知识蒸馏:轻量级模型的智慧之源

注1&#xff1a;本文系“简要介绍”系列之一&#xff0c;仅从概念上对知识蒸馏进行非常简要的介绍&#xff0c;不适合用于深入和详细的了解。 知识蒸馏&#xff1a;轻量级模型的智慧之源 A Gentle Introduction to Hint Learning & Knowledge Distillation | by LA Tran | …

Some about RMI

&#xff08;备份防止忘掉&#xff09; 一开始编译javac所有文件 这个问题概率遇到 解决方法&#xff1a; 然后java编译impl文件 直到出现bound in registry这一句 然后这个cmd不要关掉 重新在eclipse这个类的工作路径打开一个cmd 看到这个之后回到eclipse里面运行app这个文…

数据结构--树的性质

数据结构–树的性质 树的常考性质 常见考点 1 : 结点数 总度数 1 \color{red}常见考点1:结点数总度数1 常见考点1:结点数总度数1 结点的度 ―― 结点有几个孩子(分支) 树的度 ―― 各结点的度的最大值 m叉树 ―― 每个结点最多只能有m个孩子的树 常见考点 2 : 度为 m 的树、…

MySQL安装以及体系结构

1.简述mysql体系结构 MySQL 最重要、最与众不同的特性是它的存储引擎架构&#xff0c;这种架构的设计将查询处理 &#xff08;Query Processing&#xff09;及其他系统任务&#xff08;Server Task&#xff09;和数据的存储/提取相分离。这种 处理和存储分离的设计可以在使用时…

【简单认识LVS及LVS-NAT负载均衡群集的搭建】

文章目录 一、LVS群集简介1、群集的含义2、性能扩展方式3、群集的分类4、负载均衡群集架构1、负载均衡的结构 5、三种负载调度工作模式1、NAT模式2、TUN模式3、DR模式 二、LVS虚拟服务器1、Linux Virtual Server简介2、启用LVS虚拟服务3、LVS调度算法&#xff08;1&#xff09;…

YoloV5/YoloV7改进---注意力机制:高斯上下文变换器GCT,性能优于ECA、SE等注意力模块 | CVPR2021

目录 1.GCT介绍 实验结果 2.GCT引入到yolov5 2.1 加入common.py中&#xff1a; 2.2 加入yolo.py中&#xff1a; 2.3 yolov5s_GCT.yaml 2.4 yolov5s_GCT1.yaml 1.GCT介绍 论文&#xff1a;https://openaccess.thecvf.com/content/CVPR2021/papers/Ruan_Gaussian_Context_Tra…

Spring源码解析(二):bean容器的创建、默认后置处理器、扫描包路径bean

Spring源码系列文章 Spring源码解析(一)&#xff1a;环境搭建 Spring源码解析(二)&#xff1a; 目录 一、Spring源码基础组件1、bean定义接口体系2、bean工厂接口体系3、ApplicationContext上下文体系 二、AnnotationConfigApplicationContext注解容器1、创建bean工厂-beanFa…

计算机网络概述(三)

常见的计算机网络体系结构 OSI体系结构&#xff1a; 物理层→数据链路层→网络层→运输层→会话层→表示层→应用层 TCP/IP体系结构&#xff1a; 网络接口层→网际层→运输层→应用层 一般用户的设备都有TCP/IP协议用于连接因特网&#xff0c;TCP/IP的网络接口层并没有规定使用…

Linux基础+html和script一些基本语法

文章目录 linux 基础名字含义指令 html 语法style 样式属性样式标签属性颜色margin 边距ransform 旋转角度重复样式opacity 透明度div 方块元素box-shadow 阴影属性浮动 script获取节点onclick 点击触发setTimeout 定时器利用定时器实现 动画效果 javascript强弱语言区分parseI…

简单详细的MySQL数据库结构及yum和通用二进制安装mysql的方法

目录 mysql体系结构mysql的安装方法一&#xff0c;yum安装1&#xff0c;首先下载一个网络源仓库&#xff1a;2&#xff0c;然后安装 mysql-community-server3&#xff0c;启动mysqld 服务4&#xff0c;然后登录数据库5&#xff0c;初次登录要设置密码&#xff0c;而且不能太简单…

小型电子声光礼花器电子烟花爆竹电路设计

节日和庆典时燃放礼花&#xff0c;其绚丽缤纷的图案&#xff0c;热烈的爆炸声、欢乐的气氛&#xff0c;能给人们留下美好的印象&#xff0c;但有一定的烟尘污染和爆炸危险隐患。本电路可以模拟礼花燃放装置&#xff0c;达到声型兼备的效果&#xff0c;给人们在安全、环保的环境…

redis rehash

dict结构 dictEntry即键值对&#xff0c;每个桶就是dictEntry连接的链表 typedef struct dictEntry {void *key;union {void *val; // 自定义类型uint64_t u64;int64_t s64;double d;} v;struct dictEntry *next; } dictEntry;数据真正指向的地方 typedef struct dictht {di…

京东网站登录二维码显示不出来

环境&#xff1a; 360急速浏览器 Win10专业版 问题描述&#xff1a; 京东网站登录二维码显示不出来 解决方案&#xff1a; 1.打开安全卫士 2.功能大全找到断网急救箱 3.全面诊断一下有问题修复一下&#xff0c;重启浏览器解决

数字迷宫:探秘统计位数为偶数的奇妙世界

本篇博客会讲解力扣“1295. 统计位数为偶数的数字”的解题思路&#xff0c;这是题目链接。 统计位数是偶数的数据个数&#xff0c;关键在于如何统计一个整数的位数。方法是&#xff1a;对于一个整数n&#xff0c;每次/10&#xff0c;都会缩小一位&#xff0c;所以一直进行/10操…

【爬虫】AOI

目前几个大厂&#xff0c;高德百度腾讯&#xff0c;都支持POI爬取&#xff0c;而AOI是需要自己找接口的。 换言之&#xff0c;爬虫需谨慎 1 百度AOI 参考链接是&#xff1a; 这两个链接是选定范围爬取范围内选定类别的AOI 黑科技 | 百度地图抓取地块功能&#xff08;上&#x…