[ros基础] --- roslaunch使用详解

本文涉及的产品
资源编排,不限时长
简介: [ros基础] --- roslaunch使用详解

1 为什么需要launch文件

在节点少,程序小的情况下可以一个一个节点来启动,测试运行效果;但是当工程规模大,需要的节点多时就显得比较费劲,用.launch文件来启动可以将需要的节点同时启动,不用再一个一个进行。为工程搭建提高了效率,里面还有很多参数灵活使用会带来非常高效的调试。

roslaunch的概念:

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

NOTE:

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

2 launch文件常用标签介绍

在节点标签末尾的斜杠“/”是必须的,但很容易忘。

<node pkg=”package-name” type=”executable-name” name=”node-name”/>

你也可以这样显式地给出结束标签:

<node pkg=”…”type=”…” name=”…”></node>

2.1 launch标签

launch文件中的根元素采用launch标签定义

2.2 include标签

include标签用于将另一个 xml 格式的 launch 文件导入到当前文件。类似C语言头文件包含。

<include file="$(dirname)/other.launch"/>   //file:包含其他launch文件的路径

2.3 node标签

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

node节点包含很多属性:

<node pkg="package-name" type="executable-name" name="node-name" />
  • pkg: 节点所在的功能包名称
  • type: 节点的可执行文件名称
  • name: 节点运行时的名称
  • output=“log | screen” (可选),日志发送目标,可以设置为 log 日志文件,或 screen 屏幕,默认是 log
  • respawn=“true | false” (可选),如果节点退出,是否自动重启
  • required=“true | false” (可选),该节点是否必须,如果为 true,那么如果该节点退出,将杀死整个 roslaunch
  • ns=“xxx” (可选),在指定命名空间 xxx 中启动节点
  • machine=“机器名”,在指定机器上启动节点
  • args=“xxx xxx xxx” (可选),将参数传递给节点

2.4 arg标签

launch内部的局部变量,仅限于launch文件使用

2.5 param 与 rosparam标签

param和rosparam标签主要用于在参数服务器上设置参数

2.6 group标签

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

2.7 remap标签

重映射ROS计算图资源的命名

<remap from="/turtelbot/cmd_vel" to "cmd_vel"/>
  • from:源命名
  • to: 映射之后的名字

3 roslaunch 运行

roslaunch 包名 xxx.launch


相关实践学习
使用ROS创建VPC和VSwitch
本场景主要介绍如何利用阿里云资源编排服务,定义资源编排模板,实现自动化创建阿里云专有网络和交换机。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
相关文章
|
XML 数据格式
ROS学习-使用rqt_console 和 roslaunch
ROS学习-使用rqt_console 和 roslaunch
189 0
ROS学习-使用rqt_console 和 roslaunch
|
3月前
|
Ubuntu 机器人 Linux
|
2月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
前言 最近开始接触到基于DDS的这个系统,是在稚晖君的机器人项目中了解和认识到。于是便开始自己买书学习起来,感觉挺有意思的,但是只是单纯的看书籍,总会显得枯燥无味,于是自己又开始在网上找了一些视频教程结合书籍一起来看,便让我对ROS系统有了更深的认识和理解。 ROS的发展历程 ROS诞生于2007年的斯坦福大学,这是早期PR2机器人的原型,这个项目很快被一家商业公司Willow Garage看中,类似现在的风险投资一样,他们投了一大笔钱给这群年轻人,PR2机器人在资本的助推下成功诞生。 2010年,随着PR2机器人的发布,其中的软件正式确定了名称,就叫做机器人操作系统,Robot Op
89 14
|
2月前
|
XML 算法 自动驾驶
ROS进阶:使用URDF和Xacro构建差速轮式机器人模型
【11月更文挑战第7天】本篇文章介绍的是ROS高效进阶内容,使用URDF 语言(xml格式)做一个差速轮式机器人模型,并使用URDF的增强版xacro,对机器人模型文件进行二次优化。
|
2月前
|
自动驾驶 安全 机器人
ROS2:从初识到深入,探索机器人操作系统的进化之路
【11月更文挑战第4天】ROS2的学习过程和应用,介绍DDS系统的框架和知识。
111 1
|
8月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
190 1
|
3月前
|
传感器 数据可视化 机器人
【ROS速成】半小时入门机器人ROS系统简明教程之可视化系统(三)
半小时入门机器人ROS系统简明教程之可视化系统
139 0
|
3月前
|
机器人
【ROS速成】半小时入门机器人ROS系统简明教程之安装测速(二)
半小时入门机器人ROS系统简明教程之安装测速
132 0
|
7月前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
325 2
|
7月前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息

推荐镜像

更多