06 ROS配置launch文件

本文涉及的产品
资源编排,不限时长
简介: 本文介绍了如何在ROS(机器人操作系统)中配置launch文件,包括设置节点、参数、局部变量、重映射以及嵌套launch文件的方法,并通过XML格式实现了多节点的一键配置与启动。

launch文件 通过XML形式描述
实现多节点的一键配置与启动
XML文件必须包含一个根元素
launch文件的根元素是
结束标志

设置节点 Node

name为运行后在ROS节点群中的名字叫什么
name将覆盖node中ros_init赋予的名字
type为节点自身的可执行文件的名字
pkg为节点自身所在功能包的名字
可选部分:
output="screen"输出到屏幕上
respawn=“true”节点被kill自动复活节点
required="true"设置为必要节点,该节点被kill时其他节点也被kill
ns="namespace"命名空间,为节点相对名称添加命名空间前缀
args=“arguments” 其他参数

<node pkg=name="set_by_you_node_name" "package_name" type="executableFile_name" output="screen" />

设置参数 Parameter

Parameter参数在launch后会存储在参数服务器供其他节点调用

1.单个参数
<param name="output_frame" value="odom"/>
2.多个参数
A: 123
B: "hello"

group: 
 C: 456
 D: "HELLO"

yaml里的 group是命名空间 为了避免资源冲突
yaml格式十分严格,在其中若有 :后面必须加空格
其中空格有缩进的作用,用于表示层级
将yaml格式文件里的参数全部上传,可以选择设置命名空间ns

<rosparam file="params.yaml" command="load" ns="params"/>
3.在launch文件内设置局部变量

arg和ROS节点内部的功能实现没有关系
是launch文件内部的局部变量

<arg name="arg_name" default="arg_value"/>

调用:

<param name="foo" value="$ (arg arg-name)"/>
<node name="node" pkg="pkg" type="type" args="$(arg arg-name)"/>
remap

重映射 重命名
当需要用别人的东西的时候
比如自己的速度控制指令是叫/cmd_vel
想用其他人分享的速度控制指令/turtlebot/cmd_vel
无须修改对方提供的功能包接口,只需要给接口起别名就行了
即可将/turtlebot/cmd_vel" 重映射为"/cmd_vel"

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

from=映射前原名
to=映射后名字

include

launch文件的嵌套,可以把其他launch文件一并加载

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

详细标签文档可参考https://wiki.ros.org/roslaunch/XML

相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
6月前
|
Shell
百度搜索:蓝易云【Ros终端出现找不到bash: /home/***/devel/setup.bash: 没有那个文件或目录怎么办?】
通过以上步骤,您应该能够解决 "找不到bash: /home/ *** /devel/setup.bash: 没有那个文件或目录" 错误,并正常使用ROS环境。如果问题仍然持续存在,建议您检查您的ROS安装和配置,并参考ROS官方文档或ROS社区寻求帮助。
305 0
|
3月前
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
3月前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
289 1
ROS2教程02 ROS2的安装、配置和测试
|
3月前
|
Ubuntu 机器人 测试技术
奥比中光 Femto Bolt相机ROS配置
这篇文章介绍了奥比中光Femto Bolt相机在ROS1 Noetic和ROS2 Humble环境下的配置过程,包括自动脚本和手动配置方法,适用于Ubuntu 20.04/22.04系统和Jetson Orin平台。
150 0
奥比中光 Femto Bolt相机ROS配置
|
3月前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
414 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
3月前
|
传感器 NoSQL 算法
ROS Moveit 配置全网最详细教程
本文是关于ROS Moveit配置的全网最详细教程,提供了一键安装脚本,以及如何使用Moveit进行机器人运动规划的详细步骤和说明。文中还深入解析了Moveit的配置包文件、Moveit的源码,以及如何使用不同的运动规划算法(如CHOMP、LERP、STOMP)进行路径规划。
285 0
ROS Moveit 配置全网最详细教程
|
3月前
|
Ubuntu 机器人 虚拟化
Ubuntu22.04配置ROS2 Humble
这篇文章是关于如何在Ubuntu 22.04系统上配置ROS2 Humble的详细教程,包括虚拟机安装、环境配置、网络设置、软件源更换、ROS1和ROS2的安装步骤。
287 1
|
3月前
|
机器人 网络性能优化 Python
ROS2教程 10 launch
这篇文章是关于ROS2(Robot Operating System 2)的launch文件的详细教程,包括如何创建和使用launch文件来启动ROS2节点,以及如何通过参数、命名空间和条件判断等高级特性来控制节点的启动行为。
130 0
|
6月前
|
持续交付 数据安全/隐私保护
ROS伪参数教程:通过ALIYUN::ResourceGroupId配置栈内资源的资源组
阿里云资源编排服务(ROS)的新伪参数 ALIYUN::ResourceGroupId 提供了一种简化资源组管理的机制。此参数让用户在编写资源栈模板时能够直接指定资源应该属于的资源组,无需事先知晓资源组ID。这项功能简化了自动化部署过程中的管理流程,提高了部署的准确性,并增强了模板的可复用性。利用此伪参数,可以实现资源更精确的分区管理和访问控制,提升资源部署与整合的效率。
121 0
ROS伪参数教程:通过ALIYUN::ResourceGroupId配置栈内资源的资源组
linux如何让ros文件在任何终端中运行:三行代码搞定
linux如何让ros文件在任何终端中运行:三行代码搞定

推荐镜像

更多
下一篇
无影云桌面