[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


相关实践学习
Docker镜像管理快速入门
本教程将介绍如何使用Docker构建镜像,并通过阿里云镜像服务分发到ECS服务器,运行该镜像。
阿里云资源编排ROS使用教程
资源编排(Resource Orchestration)是一种简单易用的云计算资源管理和自动化运维服务。用户通过模板描述多个云计算资源的依赖关系、配置等,并自动完成所有资源的创建和配置,以达到自动化部署、运维等目的。编排模板同时也是一种标准化的资源和应用交付方式,并且可以随时编辑修改,使基础设施即代码(Infrastructure as Code)成为可能。 产品详情:https://www.aliyun.com/product/ros/
目录
相关文章
|
XML 数据格式
ROS学习-使用rqt_console 和 roslaunch
ROS学习-使用rqt_console 和 roslaunch
141 0
ROS学习-使用rqt_console 和 roslaunch
|
2月前
|
传感器 人工智能 算法
ROS机器人操作系统
ROS机器人操作系统
69 1
|
12天前
|
机器学习/深度学习 传感器 算法
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
强化学习(RL)在机器人领域的应用,尤其是结合ROS(Robot Operating System)和Gazebo(机器人仿真环境)
22 2
|
5天前
|
机器人 定位技术 C++
技术笔记:ROS中测试机器人里程计信息
技术笔记:ROS中测试机器人里程计信息
|
算法 机器人 定位技术
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
962 0
ROS中阶笔记(八):机器人SLAM与自主导航—机器人自主导航
|
2月前
|
NoSQL 机器人 Windows
ROS机器人编程技术控制两只小海龟的编队运动
ROS机器人编程技术控制两只小海龟的编队运动
64 1
|
2月前
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
31 1
|
2月前
|
机器人 Unix C++
ROS机器人编程技术架构命令应用
ROS机器人编程技术架构命令应用
31 1
|
2月前
|
Ubuntu 机器人 编译器
ROS机器人编程技术系统安装
ROS机器人编程技术系统安装
38 1
|
2月前
|
网络协议 机器人 中间件
单片机和FreeRTOS上跑机器人ROS的应用
单片机和FreeRTOS上跑机器人ROS的应用
179 0

推荐镜像

更多