【问题标题】:Why Rospy does not work ros2 python environment?为什么 Rospy 不能在 ros2 python 环境下工作?
【发布时间】:2022-08-15 15:20:46
【问题描述】:

在python虚拟环境下,无法导入rospy。为什么?我需要它来发布和订阅 image_raw。

  • 您在询问rospy 并用ros2 标记您的问题。 rospy 专门用于ros1,而ros2 则必须使用rclpy。请澄清这是否涉及ros1ros2

标签: python opencv ros2


【解决方案1】:

对于ros2,您必须使用rclpy 而不是rospyrospyros2 不再存在,因此您也无法导入它。 rclpy 是建立在 ros2' rcl 之上的新客户端库。请参阅here 了解更多信息。

一般来说,ros2 有很多演示和教程,请参阅here 以获得简单的订阅者/发布者教程。

这也是一个如何订阅和发布图像主题的快速示例:

#! /usr/bin/env python3

import rclpy
from rclpy.node import Node

from sensor_msgs.msg import Image
    
class SimplePubSub(Node):
    def __init__(self):
        super().__init__('simple_pub_sub')
        self.publisher = self.create_publisher(Image, '/image_processed', 10)
        self.subscription = self.create_subscription(
            Image, '/image_raw', self.img_callback, 10)

    def img_callback(self, msg):
        self.get_logger().info('processing image....')

        # msg = ......

        self.publisher.publish(msg)


def main(args=None):
    rclpy.init(args=args)
    simple_pub_sub = SimplePubSub()
    rclpy.spin(simple_pub_sub)
    simple_pub_sub.destroy_node()
    rclpy.shutdown()

【讨论】:

    猜你喜欢
    • 2019-11-20
    • 2015-04-24
    • 1970-01-01
    • 1970-01-01
    • 2020-06-16
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多