ROS学习(三) 使用参数以及相应的 .launch 文件编写
2016-03-30 22:18
681 查看
ROS学习(三)
使用参数以及相应的 .launch 文件编写
ZSCSEU 东南大学
在此之前,我们先复习一下rospy里关于参数的函数和 .launch 文件的一般编写步骤。
1.rospy
■得到/设置一个全局参数
rospy.get_param('/global_param_name')
rospy.set_param('some_numbers', [1., 2., 3., 4.])
rospy.set_param('~private_bar', 1+2)
■得到/设置父空间的一个参数
rospy.get_param('param_name')
[b] [/b]rospy.set_param('truth', True)
■得到/设置一个私有参数
rospy.get_param('~private_param_name')
rospy.set_param('~private_bar', 1+2)
■删除参数
rospy.delete_param('to_delete')
☺ <param> 设置参数服务器的参数
☺ <remap> 重映射
☺ <machine> 声明启动要使用的机器
☺ <include> 包含的launch文件
☺ <group> 共享一个命名空间或者映射的元素组
☺ <arg> 声明参数
type节点类型,必须要有对应的可执行文件
name节点名称
arg 传递到节点的参数
respawn 自动重启
![](https://img-blog.csdn.net/20160330222105660?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
使用参数以及相应的 .launch 文件编写
ZSCSEU 东南大学
前言:
这是我的第三个学习笔记,今天主要复习了如何在ROS中使用参数,并编写相应的头文件。在此之前,我们先复习一下rospy里关于参数的函数和 .launch 文件的一般编写步骤。
1.rospy
■得到/设置一个全局参数rospy.get_param('/global_param_name')
rospy.set_param('some_numbers', [1., 2., 3., 4.])
rospy.set_param('~private_bar', 1+2)
■得到/设置父空间的一个参数
rospy.get_param('param_name')
[b] [/b]rospy.set_param('truth', True)
■得到/设置一个私有参数
rospy.get_param('~private_param_name')
rospy.set_param('~private_bar', 1+2)
■删除参数
rospy.delete_param('to_delete')
2.launch文件的编写
❀标签
☺<node> 启动一个节点☺ <param> 设置参数服务器的参数
☺ <remap> 重映射
☺ <machine> 声明启动要使用的机器
☺ <include> 包含的launch文件
☺ <group> 共享一个命名空间或者映射的元素组
☺ <arg> 声明参数
❀ node属性
pkg 节点包type节点类型,必须要有对应的可执行文件
name节点名称
arg 传递到节点的参数
respawn 自动重启
3.接下来是代码:
#!/usr/bin/env python # -*- coding: utf-8 -*- import rospy from std_msgs.msg import Int64 class para: def __init__(self): rospy.init_node('param_using',anonymous=False) rospy.on_shutdown(self.shutdown) r=rospy.Rate(10) rospy.loginfo('Using paramter ready... ...') self.ax=rospy.get_param('~g1') self.bx=rospy.get_param('~g2') self.out() #rospy.set_param('~g3',self.ax+self.bx) self.cx=rospy.get_param('~g3') print self.cx def out(self): a=self.ax b=self.bx c=a+b rospy.set_param('~g3',int(c)) def shutdown(self): rospy.loginfo('stopping...') rospy.sleep(1) if __name__=='__main__': try: para() rospy.spin() except: rospy.loginfo('Program error!')
4.对应的launch文件:
<launch> <node pkg="beginner_test" type="use_param.py" name="param_using" output="screen" respawn="true" > <param name="g1" value="3" type="int" /> <param name="g2" value="4" type="int" /> <param name="g3" value="8" type="int" /> </node> </launch>
5.运行结果
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法