1、话题与订阅者、发布者
订阅者发布者,在我学习完成之后可以理解为一个负责发送一个数据,一个负责接受一个数据
两者通过一个叫做话题的媒介进行交流数据,交流是持续进行的
2、编写发布者
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import rclpy # ROS2 Python接口库
from rclpy.node import Node # ROS2 节点类
from sensor_msgs.msg import Image # 图像消息类型,ros内部的后面可以设计
from cv_bridge import CvBridge # ROS与OpenCV图像转换类
import cv2 # Opencv图像处理库
class ImagePublisher(Node):#采用继承的方式
def __init__(self, name):
super().__init__(name) # ROS2节点父类初始化,这种写法相当于封装过程在内部进行实例化node
self.publisher_ = self.create_publisher(Image, 'image_raw', 10) # 创建发布者对象(消息类型、话题名、队列长度)
self.timer = self.create_timer(0.1, self.timer_callback) # 创建一个定时器(单位为秒的周期,定时执行的回调函数)
self.cap = cv2.VideoCapture(0) # 创建一个视频采集对象,驱动相机采集图像(相机设备号)
self.cv_bridge = CvBridge() # 创建一个图像转换对象,用于稍后将OpenCV的图像转换成ROS的图像消息
def timer_callback(self):
ret, frame = self

最低0.47元/天 解锁文章
2834

被折叠的 条评论
为什么被折叠?



