ROS2——launcher

news2024/9/30 17:24:37

在ROS2中,launcher 文件是通过Python构建的,它们的功能是声明用哪些选项或参数来执行哪些程序,可以通过 launcher 文件快速同时启动多个节点。一个 launcher 文件内可以引用另一个 launcher 文件。

使用 launcher 文件 ros2 launch 可以代替 ros2 run 启动包内的程序。

在下面的例子中,我们在一个Python程序中,使用 generate_launch_description() 函数,返回 LaunchDescription 对象。

每一个LaunchDescription 对象包含了一些 action

  • Node action:运行程序
  • IncludeLaunchDescription action:包含其他launcher文件
  • DeclareLaunchArgument action:声明启动器参数
  • SetEnvironmentVariable action:设置环境变量

使用 launcher 时,需要在 CMakeLists.txt 中添加 install(DIRECTORY launch DESTINATION share/${PROJECT_NAME})

from launch import LaunchDescription
from launch_ros.actions import Node

def generate_launch_description():
    pub_cmd=Node(
        package='br2_basics',
        executable='publisher',
        output='screen'
    )
    sub_cmd=Node(
        package='br2_basics',
        executable='subscriber_class',
        output='screen'
    )
    ld=LaunchDescription()
    ld.add_action(pub_cmd)
    ld.add_action(sub_cmd)

还有另一种 launcher 的写法:

from launch import LaunchDescription
from launch_ros.actions import Node


def generate_launch_description():

    return LaunchDescription([
        Node(
            package='br2_basics',
            executable='publisher',
            output='screen'
        ),
        Node(
            package='br2_basics',
            executable='subscriber_class',
            output='screen'
        )
    ])

image.png

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

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

相关文章

STM32 SPI通信协议3——读取MAX6675温度传感器

在上两章中,我们已经配置了相应的GPIO和SPI功能。这里说一下MAX6675如何读取温度。 从MAX6675手册中我们可以看到,当0的时候SCK启动,数据线开始发送信息,此时可以读取数据,当数据读完后,再拉高电平停止发送…

VMware Workstation17安装教程及安装Ubuntu22.04系统

编程如画,我是panda! 前言 VMware Workstation Pro 是一款高级虚拟化软件,使用户能够在单一计算机上同时运行多个操作系统,如Windows、Linux和macOS,而无需重新启动。具备虚拟机快照、高级网络配置、克隆和复制功能&a…

Redis-浅谈redis.conf配置文件

Redis.conf Redis.conf是Redis的配置文件,它包含了一系列用于配置Redis服务器行为和功能的选项。 以下是Redis.conf中常见的一些选项配置: bind: 指定Redis服务器监听的IP地址,默认为127.0.0.1,表示只能本地访问,可以…

大数据毕业设计:房屋数据分析可视化系统 预测算法 可视化 商品房数据 Flask框架(源码+讲解视频)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

网卡高级设置-提高网络环境

网卡高级设置,提高网络质量排除一些连接问题 一、有线网卡 1、关闭IPv6; 可以关闭协议版本6,因为它会引起一些网络连接问题,而且现在几乎用不到IP6。 2、关闭节约电源模式; 右击计算机->设备->设备管理器-&…

Unity游戏开发面试知识点全解读

Unity游戏开发面试知识点全解读 在数字化世界中,Unity游戏开发不仅是一种艺术形式和商业活动,而且已成为推动整个数字娱乐产业创新和进步的重要力量。Unity以其易用性、高效性和灵活性,赢得了全球开发者的青睐,从独立开发者到大型…

MySQL题目示例

文章目录 1.题目示例 1.题目示例 09)查询学过「张三」老师授课的同学的信息 SELECT s.*, c.cname, t.tname, sc.score FROM t_mysql_teacher t, t_mysql_course c, t_mysql_student s, t_mysql_score sc WHERE t.tid c.tid AND c.cid sc.cid AND sc.sid s.sid …

07- OpenCV:模糊图像

目录 一、模糊原理 二、模糊的相关处理方法: 1、均值滤波(归一化盒子滤波) 2、高斯滤波(正态分布的形状) 3、中值模糊 4、双边模糊算法(美容软件) 5、相关代码: 6、几种模糊算法的比…

【问题记录】数据处理部分正常部分异常

一,问题现象 正常处理效果为压缩到-12db,一部分压缩效果正确,一部分数据处理效果不正确。准确来说,只有1/4的数据处理正确。 二,问题原因 传入process的size不正确,导致读出来4096个字节,但…

SQLyog软件安装(保姆级别)

SQLyog 安装配置使用 首先下载SQLyog 软件,并解压 选择自己操作系统的版本 双击点击 .exe 文件,进行安装 选择安装语言,默认中文,直接点击【OK】即可 点击【下一步】 先【勾选】同意协议,再点击【下一步】 …

Windows项目部署

目录 一.安装jdk 1.1 安装 1.2 配置 二.安装Tomcat 2.1 安装 2.2 配置防火墙 三. 安装MySQL 3.1 安装 2.2 内部连接 3.3 外部连接 四. 部署项目 4.1 项目部署 4.2 修改mysql的用户密码 一.安装jdk 1.1 安装 选择jdk安装包双击进行傻瓜式安装即可,这里注意记住安…

Gogs - 管理协作者

Gogs - 管理协作者 References 仓库设置 管理协作者 权限设置 References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

【目标检测】Anchor-based模型:基于K-means算法获取自制数据集的Anchor(yolo源码)

在Anchor-based目标检测模型中,根据数据集选择合适的Anchor有利于加快模型的收敛速度以及减少模型的边框预测误差。本篇文章首先介绍Anchor在目标检测模型中的作用;然后介绍K-means聚类算法;最后介绍yolo源码中自制数据集的Anchor的获取方法。…

企业如何做到安全又极速的分发传输大文件

在当代企业运营中,文件的传输和分发是至关重要的任务。然而,随着文件体积的增大和信息敏感性的凸显,企业需要找到一种既安全又能够高效传输大文件的方法。本文将深入探讨如何在企业环境中实现安全又高效的大文件传输。 一、分发大文件时需要注…

.NET core 中的Kestrel 服务器

什么是Kestrel? Kestrel 是一个跨平台的Web服务器,会默认在ASP.NET Core 项目模板中对其进行配置。未使用 IIS 托管时,ASP.NET Core 项目模板默认使用 Kestrel。 Kestrel 的功能包括: 跨平台:Kestrel 是可在 Window…

spring boot mybatis-plus dynamic-datasource 配置文件 相关依赖环境配置

spring boot mybatis-plus dynamic-datasource 配置文件 相关依赖环境配置 ##yaml配置 server:port: 8866servlet:context-path: /yymtomcat:max-threads: 300connection-timeout: 57000max-connections: 500connection-timeout: 57000 spring:datasource:dynamic:primary: m…

【纯CSS特效源码】(一)几款漂亮的文字特效

1.渐变文字 使用background: -webkit-linear-gradient(#d8ecec, #2d888b);定义背景渐变色 并使用-webkit-text-fill-color: transparent;指定了文本字符的填充颜色 <!DOCTYPE html> <html><style>body {background-color: #111;}#content {position: abso…

如何关闭iPhone 14或14 Pro Max,这里有详细步骤

你刚买了新的iphone 14或iphone 14 pro max&#xff0c;迫不及待地想开始使用它。但如果你需要关闭它怎么办&#xff1f;有几种方法可以用来关闭这两种设备。 如何关闭iPhone 14 你可以通过每个人都熟悉的老式侧按钮轻松关闭iPhone 14&#xff0c;也可以通过面部识别关闭它。 …

BitMap源码解析

文章目录 前言数据结构添加与删除操作 JDK中BitSet源码解析重要成员属性初始化添加数据清除数据获取数据size和length方法集合操作&#xff1a;与、或、异或优缺点 前言 为什么称为bitmap&#xff1f; bitmap不仅仅存储介质以及数据结构不同于hashmap&#xff0c;存储的key和v…

【复现】Spider-Flow RCE漏洞(CVE-2024-0195)_16

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 Spider Flow 是一个高度灵活可配置的爬虫平台&#xff0c;用户无需编写代码&#xff0c;以流程图的方式&#xff0c;即可实现爬虫…