当定频神器爱上多线程|ROS2定频话题发布Demo

我们想让话题按照某个固定的速率进行发布,可以采用ROS2中的定时神器Rate,不清楚Rate的小伙伴可以看看小鱼的这篇文章:ROS中的定频神器你会用吗

为了能够一直循环使用rate,我们单独开一个线程用于发布joint_states话题数据,在ROS2程序中单独开线程进行话题发布的例程如下:

import threadingfrom rclpy.node import Node
class RotateWheelNode(Node):    def __init__(self):        # 创建一个Rate和线程        self.pub_rate = self.create_rate(5) #5Hz        # 创建线程        self.thread_ = threading.Thread(target=self._thread_pub)        self.thread_.start()
    def _thread_pub(self):        while rclpy.ok():            #做一些操作,使用rate保证循环频率            self.pub_rate.sleep()

猜你喜欢

转载自blog.csdn.net/qq_27865227/article/details/122941121