如何在Python中使用rospy.get_param()函数读取ROS参数
发布时间:2023-12-25 18:23:25
在Python中,可以使用rospy.get_param()函数来读取ROS参数。rospy.get_param()函数的格式为:
rospy.get_param(param_name, default_value)
其中,param_name表示要读取的参数的名称,default_value表示当参数不存在时,返回的默认值。
下面是一个使用rospy.get_param()函数的示例:
#!/usr/bin/env python
import rospy
from std_msgs.msg import String
def callback(data):
# 读取参数
param_value = rospy.get_param("param_name", "default_value")
rospy.loginfo("Received data: {}, param_value: {}".format(data.data, param_value))
def listener():
rospy.init_node('listener', anonymous=True)
rospy.Subscriber("chatter", String, callback)
rospy.spin()
if __name__ == '__main__':
listener()
在上面的例子中,rospy.get_param()函数用于读取名为param_name的参数。如果该参数不存在,则返回默认值default_value。在callback函数中,我们先通过rospy.get_param()函数读取参数的值,然后将接收到的消息和参数值打印到日志中。
请确保在运行上述代码之前,已经运行了发布者节点,以便接收到消息并验证rospy.get_param()是否成功读取了参数。
需要注意的是,rospy.get_param()函数只能读取私有(~param_name)或全局(/param_name)命名空间下的参数。如果要读取相对于特定命名空间的参数,可以使用rospy.get_param("namespace/param_name", default_value)来指定命名空间。
希望对你有帮助!
