ROS2快速入门Python篇-版本梳理、环境搭建、源码架构介绍
# 导入必要的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、创建节点和发布者,并且如何在一个定时器回调函数中构造消息并发布。
评论已关闭