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/
目录
相关文章
|
14天前
|
XML 存储 网络安全
ROS入门(二):launch文件解析
该文章是关于ROS入门的第二篇教程,详细解析了ROS中的launch文件,包括其运行方式、XML格式规范、标签使用、参数替代、条件属性以及通过简单和复杂案例来演示launch文件的使用,最后介绍了如何在参数服务器上设置参数。
ROS入门(二):launch文件解析
|
21天前
|
存储 Ubuntu 安全
ROS2教程02 ROS2的安装、配置和测试
本文是关于ROS2(机器人操作系统2)的安装、配置和测试的教程。内容包括使用一键安装脚本快速安装ROS2 Humble版,手动安装步骤,设置语言环境、添加软件源、更新软件包、安装ROS2桌面版和开发工具,配置ROS2环境,创建工作空间,配置ROS2领域以避免网络冲突,以及如何删除ROS2。此外,还包括了测试ROS2是否安装成功的两个案例:基本的Topic通信测试和使用Turtlesim演示程序。适用于Ubuntu 22.04操作系统。
37 1
ROS2教程02 ROS2的安装、配置和测试
|
21天前
|
Ubuntu 机器人 测试技术
奥比中光 Femto Bolt相机ROS配置
这篇文章介绍了奥比中光Femto Bolt相机在ROS1 Noetic和ROS2 Humble环境下的配置过程,包括自动脚本和手动配置方法,适用于Ubuntu 20.04/22.04系统和Jetson Orin平台。
36 0
奥比中光 Femto Bolt相机ROS配置
|
21天前
|
机器人 Shell 开发者
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
这篇文章是关于ROS2(Robot Operating System 2)中功能包、依赖管理、工作空间配置和编译的教程,涵盖了ROS2工作空间的概念、如何获取和安装功能包的依赖、构建工作空间的步骤,以及如何创建和管理ROS2功能包,包括使用命令行工具对功能包进行操作的方法。
55 0
ROS2教程08 ROS2的功能包、依赖管理、工作空间配置与编译
|
21天前
|
传感器 NoSQL 算法
ROS Moveit 配置全网最详细教程
本文是关于ROS Moveit配置的全网最详细教程,提供了一键安装脚本,以及如何使用Moveit进行机器人运动规划的详细步骤和说明。文中还深入解析了Moveit的配置包文件、Moveit的源码,以及如何使用不同的运动规划算法(如CHOMP、LERP、STOMP)进行路径规划。
34 0
ROS Moveit 配置全网最详细教程
|
24天前
|
Ubuntu 机器人 虚拟化
Ubuntu22.04配置ROS2 Humble
这篇文章是关于如何在Ubuntu 22.04系统上配置ROS2 Humble的详细教程,包括虚拟机安装、环境配置、网络设置、软件源更换、ROS1和ROS2的安装步骤。
66 1
|
28天前
|
存储 Ubuntu 数据可视化
Sawyer 机器人 ROS SDK 配置(三)
Sawyer 机器人 ROS SDK 配置(三)
34 5
|
22天前
|
机器人 网络性能优化 Python
ROS2教程 10 launch
这篇文章是关于ROS2(Robot Operating System 2)的launch文件的详细教程,包括如何创建和使用launch文件来启动ROS2节点,以及如何通过参数、命名空间和条件判断等高级特性来控制节点的启动行为。
19 0
|
28天前
|
存储 Ubuntu 数据可视化
Sawyer 机器人 ROS SDK 配置(二)
Sawyer 机器人 ROS SDK 配置(二)
21 0
|
28天前
|
存储 网络协议 机器人
Sawyer 机器人 ROS SDK 配置(一)
Sawyer 机器人 ROS SDK 配置
33 0

推荐镜像

更多