欢迎访问宙启技术站
智能推送

如何在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)来指定命名空间。

希望对你有帮助!