ros get_param学习记录

通过get_param可以获得和对程序进行传递参数

启动以下程序 先启动roscore
python test.py  _base_width:=2
此时得到的结果 base_width =2      rate的值是初始的默认值为50
import rospy
def getparam():

	rospy.init_node("twist_to_motors")
	nodename = rospy.get_name()
	rospy.loginfo("%s started" % nodename)


	w = rospy.get_param("~base_width", 0.2)   
	x = rospy.get_param("~rate", 50)
	print("w= ",w ,"  x= ",x)

if __name__ == "__main__":
	getparam()

输出的结果
peng@peng-X555LD:~/tutorial_ws/src/ros_get_param$ python ros_get_param.py _base_width:=2 _rate:=25
[INFO] [1634692333.095154]: /twist_to_motors started
('w= ', 2, '  x= ', 25)

其中,初始化节点:

rospy.init_node(‘my_node_name’, anonymous=True)
init_node()函数需要提供一个节点名,必须要是唯一的节点名称。
如果不太关心节点的唯一性情况下,可以设置anonymous=True。

获取全局参数

rospy.get_param(’/global_param_name’)

获取目前命名空间的参数

rospy.get_param(‘param_name’)

获取私有命名空间参数

rospy.get_param(’~private_param_name’)

获取参数,如果没,使用默认值

rospy.get_param(‘foo’, ‘default_value’)

你可能感兴趣的:(ros,笔记,python进阶编程,python)