# 导入必要的ROS2 Python API
import rclpy
from rclpy.node import Node
 
# 自定义的ROS2节点
class MinimalPublisher(Node):
 
    def __init__(self):
        super().__init__('minimal_publisher')  # 初始化父类Node
        self.publisher_ = self.create_publisher(Float64, 'topic', 10)  # 创建一个发布者
        self.timer = self.create_timer(0.5, self.timer_callback)  # 创建一个定时器,并指定回调函数
 
    def timer_callback(self):
        msg = Float64()  # 创建一个消息对象
        msg.data = self.get_time()  # 设置消息的数据为当前时间
        self.publisher_.publish(msg)  # 发布消息
 
def main(args=None):
    rclpy.init(args=args)  # ROS2初始化
    minimal_publisher = MinimalPublisher()  # 创建并启动节点实例
    rclpy.spin(minimal_publisher)  # 保持节点运行
    rclpy.shutdown()  # 清理并关闭ROS2
 
if __name__ == '__main__':
    main()这段代码是一个简单的ROS2发布者节点示例,使用Python编写。它创建了一个定时器,定时发布当前时间到名为'topic'的主题。这个例子展示了如何初始化ROS2、创建节点和发布者,并且如何在一个定时器回调函数中构造消息并发布。