create_rate方法
- ezros.create_rate(frequency)
创建频率控制器,用于控制循环执行的频率。
- Parameters:
frequency (int | float) – 设定的循环频率,单位为赫兹(Hz),表示每秒执行的次数; 支持整数或浮点数,例如 1.0 代表每秒1次,`5` 代表每秒5次。
- Returns:
频率控制器对象,通过该对象的sleep()方法触发延时,使循环频率贴合设定值。
- Return type:
ezros.Rate
- Note:
频率控制器依赖ezros.init()初始化后的框架环境,需在调用ezros.init()之后使用。
示例代码
import ezros
# 初始化EzROS框架(必须在创建频率控制器前执行)
ezros.init()
# 创建节点(用于话题发布、日志输出等功能载体)
node = ezros.Node("publisher_node")
# 创建StringMessage类型的话题发布者,话题名称为"chatter"
pub = node.create_publisher(ezros.StringMessage, "chatter")
# 创建频率控制器:设定循环频率为1.0Hz(即每秒执行1次循环)
rate = ezros.create_rate(1.0)
count = 0
while ezros.ok():
# 构造StringMessage消息,填充数据
msg = ezros.StringMessage()
msg.data = f"Hello, EzROS! Count: {count}"
# 发布消息到"chatter"话题
pub.publish(msg)
count += 1
rate.sleep()