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

使用rospy.get_param()函数读取ROS参数的值

发布时间:2023-12-25 18:22:52

rospy.get_param()函数可用于读取ROS参数的值。它接受一个参数名作为输入,并返回该参数的值。如果该参数在ROS参数服务器上不存在,则可以通过提供一个默认值作为第二个参数来避免出现KeyError。

以下是一个使用rospy.get_param()函数的示例:

import rospy

# 初始化ROS节点
rospy.init_node('param_example', anonymous=True)

# 读取整数类型的参数值
param_value = rospy.get_param('/param_name', default=0)
rospy.loginfo("Param value: %d", param_value)

# 读取浮点数类型的参数值
param_value = rospy.get_param('/param_name', default=0.0)
rospy.loginfo("Param value: %.2f", param_value)

# 读取字符串类型的参数值
param_value = rospy.get_param('/param_name', default='')
rospy.loginfo("Param value: %s", param_value)

# 读取布尔类型的参数值
param_value = rospy.get_param('/param_name', default=False)
rospy.loginfo("Param value: %s", param_value)

# 读取字典类型的参数值
param_value = rospy.get_param('/param_name', default={})
rospy.loginfo("Param value: %s", param_value)

# 读取列表类型的参数值
param_value = rospy.get_param('/param_name', default=[])
rospy.loginfo("Param value: %s", param_value)

在上述示例中,通过在get_param()函数中提供参数名和默认值,可以获取指定参数的值。根据参数的类型,可以选择相应的默认值。在读取参数值后,可以使用rospy.loginfo()函数将其打印到终端。

需要注意的是,参数名要包含一个斜杠(/)作为前缀,以表示它是在ROS参数服务器上的全局参数。

如果在运行上述示例时,参数"/param_name"在ROS参数服务器上已经设置了一个值,那么get_param()函数将返回该值;否则,它将返回提供的默认值。

在实际使用中,可以根据自己的需求使用不同类型的参数并相应地设置默认值。