您的位置:首页 > 编程语言 > Python开发

ROS学习(三) 使用参数以及相应的 .launch 文件编写

2016-03-30 22:18 681 查看
ROS学习(三)
使用参数以及相应的 .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.运行结果



              
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ROS python 机器人