ROS(3)launch启动文件
2017-01-26 16:43
323 查看
ROS(3)启动文件
参考《机器人操作系统浅析》
启动文件Lanuch 主要作用: 同时启动roscore以及多个节点,实现一次性配置和运行多个节点。
1)Launch文件的编写 (.launch)
1根元素<launch>中间内容</launch>
2.launch文件中的内容主要是需要启动的各个节点。
<node
pkg=”” //包名
type=”” //可执行文件名(节点名)
name=”” //给节点指派了名称,它将覆盖任何通过调用ros::int来赋予节点的名称
/>
3.<node> 的内容除了2中必须要之外还有其他一些
required=“true”//必须,即该节点关闭所有都关闭
respawn=”true”//节点关闭会重启
launch-prefix=””//前缀,实现特定功能,如另起终端 “xterm -e“
output=”screen”//在控制台输出信息
ns=”namespace”//。对一个节点设置默认命名空间 ,通常叫做压入(pushing down)命名空间
2)launch
运行 roslaunch pkg_ name launch_name
请求详细信息 roslaunch –vpackage-name launch-file-name
控制台显示所有节点输出roslaunch –screen package-name launch-file-name
3)名称重映射
作用:更改节点名称 可更改节点订阅的话题 其他用处?
<nodepkg=”turtlesim” type=”turtlesim_node”
name=”turtlesim_node”>
<remapfrom=”turtle1/pose” to=”tim”/>
</node>
4)launch文件包含其他启动文件,即想在启动文件中包含其他启动文件的内容
可<include file=”$(findpackage-name)/launch-file-name”>
包含元素同样支持命名空间属性,可以将内容压入一个指定的命名空间中去:
<includefile=”…” ns=”namespace”/>
应该说该设置是十分普遍的,尤其是当被包含进来的启动文件属于另一个功能包的时候,设置的操作应当独立于其他节点
5)启动参数arg
A.通过设置参数来描述节点在不同ROS会话中运行时可能需要改变的一小部分
声明参数 并赋值
<argname=”agr-name” default=”arg-value”/>//默认
<argname=”arg-name” value=”arg-value”/>//value
参数赋值亦可通过roslaunchpackage-name launch-file-name arg-name:=arg-value 来实现,会覆盖默认值,对于value值无法更改,并报错
B.获取参数值 一旦参数值被声明并且被赋值,可以使用该参数值了
$(arg arg-name)
C.arg参数相当于局部变量,不能被被包含的启动文件继承。可以将arg元素放到include中
<inclucefile=”path–to-launch-file”>
<argname=”arg-name” value=”arg-value”/>
…
</include>
在include标签之间的参数是属于被包含文件的,而不是它们出现的启动文件。因为目的是为被包括的启动文件设置响应的参数值,所以该处需要使用value属性。
一种常见的情况是两个启动文件(包含文件和被包含文件)有一些共同的参数,在这种情况下,希望参数在传递的时候不会改变。这样的元素在两个地方使用相同的参数名:
<argname=”arg-name” value=”$(arg arg-name)”>
在该例子中,第一个参数名字通常是指被包含文件中的参数,第二个参数名是指当前文件中的参数。这样做之后,给定参数在两个启动文件中有相同的值。
6)group
作用
组可以把若干个节点放入同一个命名空间内。
<groupns=”namespace”/>
…
</group>
组内的每个节点都从给定的默认命名空间启动。
组可以有条件地使能或禁用一个节点。
<group if=”0 or1”/>
</group>
参考《机器人操作系统浅析》
启动文件Lanuch 主要作用: 同时启动roscore以及多个节点,实现一次性配置和运行多个节点。
1)Launch文件的编写 (.launch)
1根元素<launch>中间内容</launch>
2.launch文件中的内容主要是需要启动的各个节点。
<node
pkg=”” //包名
type=”” //可执行文件名(节点名)
name=”” //给节点指派了名称,它将覆盖任何通过调用ros::int来赋予节点的名称
/>
3.<node> 的内容除了2中必须要之外还有其他一些
required=“true”//必须,即该节点关闭所有都关闭
respawn=”true”//节点关闭会重启
launch-prefix=””//前缀,实现特定功能,如另起终端 “xterm -e“
output=”screen”//在控制台输出信息
ns=”namespace”//。对一个节点设置默认命名空间 ,通常叫做压入(pushing down)命名空间
2)launch
运行 roslaunch pkg_ name launch_name
请求详细信息 roslaunch –vpackage-name launch-file-name
控制台显示所有节点输出roslaunch –screen package-name launch-file-name
3)名称重映射
作用:更改节点名称 可更改节点订阅的话题 其他用处?
<nodepkg=”turtlesim” type=”turtlesim_node”
name=”turtlesim_node”>
<remapfrom=”turtle1/pose” to=”tim”/>
</node>
4)launch文件包含其他启动文件,即想在启动文件中包含其他启动文件的内容
可<include file=”$(findpackage-name)/launch-file-name”>
包含元素同样支持命名空间属性,可以将内容压入一个指定的命名空间中去:
<includefile=”…” ns=”namespace”/>
应该说该设置是十分普遍的,尤其是当被包含进来的启动文件属于另一个功能包的时候,设置的操作应当独立于其他节点
5)启动参数arg
A.通过设置参数来描述节点在不同ROS会话中运行时可能需要改变的一小部分
声明参数 并赋值
<argname=”agr-name” default=”arg-value”/>//默认
<argname=”arg-name” value=”arg-value”/>//value
参数赋值亦可通过roslaunchpackage-name launch-file-name arg-name:=arg-value 来实现,会覆盖默认值,对于value值无法更改,并报错
B.获取参数值 一旦参数值被声明并且被赋值,可以使用该参数值了
$(arg arg-name)
C.arg参数相当于局部变量,不能被被包含的启动文件继承。可以将arg元素放到include中
<inclucefile=”path–to-launch-file”>
<argname=”arg-name” value=”arg-value”/>
…
</include>
在include标签之间的参数是属于被包含文件的,而不是它们出现的启动文件。因为目的是为被包括的启动文件设置响应的参数值,所以该处需要使用value属性。
一种常见的情况是两个启动文件(包含文件和被包含文件)有一些共同的参数,在这种情况下,希望参数在传递的时候不会改变。这样的元素在两个地方使用相同的参数名:
<argname=”arg-name” value=”$(arg arg-name)”>
在该例子中,第一个参数名字通常是指被包含文件中的参数,第二个参数名是指当前文件中的参数。这样做之后,给定参数在两个启动文件中有相同的值。
6)group
作用
组可以把若干个节点放入同一个命名空间内。
<groupns=”namespace”/>
…
</group>
组内的每个节点都从给定的默认命名空间启动。
组可以有条件地使能或禁用一个节点。
<group if=”0 or1”/>
</group>
相关文章推荐
- ROS launch启动文件的理解与编写
- ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介
- ROS中launch启动文件的理解
- ROS机器人Diego 1#制作(十三)launch启动文件
- 由浅到深理解ROS- launch启动文件的理解与编写
- ROS启动文件launch
- 【ROS】launch启动文件
- ROS Learning-032 (提高篇-010 Launch)Launch 深入研究 --- (启动文件编程)ROS 的 XML语法简介
- 关于roslaunch文件的注意点
- 一起学ROS之启动文件及ROS命令汇总
- ros.launch 文件学习
- 启动出错:roslaunch turtlebot_gazebo amcl_demo.launch map_file:=/tmp/my_map.yaml
- 由浅到深理解ROS(5)- 启动文件
- ROS中launch文件编写随笔
- ROS学习(三) 使用参数以及相应的 .launch 文件编写
- indigo中用roslaunch启动RViz观察机器人模型
- roscore启动问题 No handlers could be found for logger "roslaunch"
- ROS学习(七):ROS launch 文件
- Turtlebot学习指导第五篇_搭建自己的ROS机器人的核心,配置navigation包并创建基本的启动文件
- ROS Learning-010 beginner_Tutorials 编写简单的启动脚本文件(.launch 文件)