版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编写与运行启动文件启动文件的作用
启动ROS功能包时,可能需要启动几个、十几个,甚至数十个节点,如果每个节点都是在终端输入命令启动的话,程序的运行和调试将会非常繁琐。启动文件把需要启动的节点罗列在文件中,使用roslaunch运行启动文件一次性运行多个节点。在启动任意节点之前,roslaunch
首先会判断roscore是否正在运行;如果没有,则自动启动roscore
什么是启动文件
1.文本文件2.使用XML(可扩展标记语言)格式3.可以一次配置和运行多个节点4.ROS中称为launchfile(启动文件)
可扩展标记语言,简称XML。是一种用于标记电子文件使其具有结构性的标记语言。可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。它非常适合网络传输和数据交换。是互联网环境中跨平台数据交换技术,也是当今处理分布式结构信息的有效工具。被广泛使用编写与使用启动文件步骤
1.建立文本文件2.用XML格式将需要同时启动的一组节点罗列出来3.用.launch作为文件扩展名保存文件4.使用roslaunch命令运行启动文件启动第一个节点启动第二个节点启动第三个节点启动文件的标签、元素与属性
example.launch元素,这里表示节点,有开始和结尾,XML格式要求根标签,成对使用,所有元素都必须包含在一对根标签中属性,各有不用含义启动文件的标签、元素与属性
常用元素节点
启动一个节点。机器
声明一台用于启动的机器包括
包括其他roslaunch文件。重映射
声明名称重新映射。环境
为启动的节点指定环境变量。参数
在参数服务器上设置参数ros参数
使用rosparam文件为启动设置ROS参数。组
对共享命名空间或重新映射的封闭元素进行分组。测试
启动一个测试节点。参数
启动参数。启动文件的标签、元素与属性
node常用属性pkg=“mypackage“包名type=“nodetype“节点类型,必须有一个对应的同名可执行文件name="nodename“节点名称output=“screen“节点的输出将被发送到屏幕launch-prefix=“xterm-e”启动前缀,在单独的xterm窗口中运行节点使用时根据节点编译生成的可执行文件名设置该名称会替换ros源程序中设置的节点默认名启动文件的存储位置1.每一个启动文件都属于和一个特定的功能包2.通常的命名是以.launch作为启动文件的后缀3.一般情况下把启动文件直接存储在功能包的根目录中当查找启动文件的时候,roslaunch工具会同时搜索每个功能包目录的子目录。4.如果包中的launch文件比较多,在包中建一个子目录,所有启动文件统一存放在其中,该子目录通常取名为launch示例1:运行启动文件1.导入agitr包解压,编译2.运行启动文件roslaunchagitrexample.launch该指令将启动三个节点,此时可以看到turtlesim仿真器窗口和另外打开一个可以接收键盘方向指令来远程控制海龟运动的窗口。运行roslaunch指令的终端会显示出由subpose程序记录的姿态信息。示例2:命名空间内启动节点-独立海龟节点、话题、服务和参数统称为计算图源,而每个计算图源由一个叫计算图源名称(graphresourcename)的短字符串标识,在ROS中,计算图源名称有全局名称、相对名称、私有名称、匿名名称。1.全局名称名称最前面有斜杠“/”表明这个名称为全局名称,如/turtle1/cmd_vel2.命名空间(namespace)由斜杠分开的一系列命名空间,每个斜杠代表一级命名空间3.相对名称名称最前面不带斜杠“/”示例2:命名空间内启动节点-独立海龟对一个节点设置默认命名空间的通常方法是在启动文件中对其节点元素配置命名空间(ns)属性:ns=”namespace”doublesim.launch功能使用命名空间启动两个独立的turtlesim仿真模拟器一个仿真中海龟由随机生成的速度指令控制,另一个仿真中海龟是键盘控制命名空间sim1命名空间sim2示例2:命名空间内启动节点-独立海龟doublesim.launch节点与话题命名空间sim1命名空间sim2示例2:命名空间内启动节点-独立海龟节点重命名与命名空间两个按键节点发布相同话题,两个仿真节点不能独立控制使用命名空间两个仿真节点独立控制示例2:命名空间内启动节点-独立海龟两个乌龟节点,一个随机运动,一个被按键控制移动示例2:命名空间内启动节点-独立海龟两个乌龟节点订阅的话题不相同示例3:名称重映射-反向海龟重映射是基于替换的思想每个重映射包含一个原始名称和一个新名称。每当节点使用重映射中的原始名称时,ROS客户端库就会将它替换成其对应的新名称当启动一个节点的时候,有两种方法来创建重映射。1.命令方式例如,运行一个turtlesim的实例,如果想要把海龟的姿态数据发布到话题/tim而不是/turtle1/pose,使用如下命令:
rosrunturtlesimturtlesim_nodeturtle1/pose:=tim原名称新名称2.通过启动文件的方式在启动文件内使用重映射(remap)元素:
<remapfrom=”原名称”to”新名称”/><nodepkg=”turtlesim”type=”turtlesim_node”name=”turtlesim_node”>
<remapfrom=”turtle1/pose”to”tim”/>
</node>将会把话题/turtle1/pose重映射为/tim前面没有/
,是相对名称注意有/
,是全局名称示例3:名称重映射-反向海龟使用turtle_teleop_key来控制turltesim中海龟的运动,但是让每一个方向键的含义都翻转过来。即让左键控制顺时针旋转,右键控制逆时针旋转上键控制它倒退,下键控制它前进实现方法:1.编写程序,订阅按键程序发布的turtle1/cmd_vel,然后反转所有接收到消息中的线速度和角速度指令,并将反转后的指令通过话题turtle1/cmd_vel_reversed
发布2.对turltesim节点使用重映射,把turtle1/cmd_vel映射到turtle1/cmd_vel_reversed,这样乌龟将接收到反转后的话题消息示例3:名称重映射-反向海龟reverse.launch功能话题重映射示例3:名称重映射-反向海龟turtlemimic.launch程序功能:同时启动两个turtlesim模拟器分别重命名为turtlesim1和turtlesim2,让turtlesim2模仿turtlesim1此处我们创建了两个分组,并以命名空间(namespace)标签来区分,其中一个名为turtulesim1,另一个名为turtlesim2,两个分组中都有相同的节点名为sim的turtlesim节点。这样可以让我们同时启动两个turtlesim模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 跨国技术协助协议
- 车辆质押合同解除协议
- 轻松学习地理风向标来帮忙
- 退出劳务外包合同协议
- 配电箱采购招标文件编写样本
- 采购大理石合同
- 金融理财合同模板
- 钢材招标法律法规
- 铝单板防静电购货协议
- 铝合金门窗施工工程分包
- 大学生职业规划课件
- 2024年食品生产企业食品安全管理人员监督抽查考试题库(含答案)
- 2023年12月英语四级真题及答案-第3套
- 2024-2025年上海中考英语真题及答案解析
- 苏教版科学五年级上册全册单元测试卷含答案
- 王虎应老师股市预测分析精彩卦例
- 金融租赁公司联合租赁合作规范
- (完整版)数独题目100题
- 【原创】仁爱英语 七年级上册情景交际+看图写话(有答案)
- 危重新生儿的病情观察及护理要点
- 中国民航数据通信网项目情况介绍
评论
0/150
提交评论