我正在研究含有覆盆子伸展岩的覆盆子PI3模型B的活性氧动力学。好吧,当我在一个特定的ws中创建一个包来制作从Raspberry Pi到Linux远程Pc的流视频时,我得到一个名为sensor_msgs.msg的消息类型的导入错误。当我在我的linux pc上运行相同的代码时,它就工作了。但由于这个错误(sensor_msgs.msg),它在覆盆子皮上不起作用。
我想用ros在覆盆子皮上建立一个出版商。我能做什么来解决这个错误?当我使用此命令$rosmsg list | grep sensor_msgs时,在我的rosmsg列表中找不到此消息类型。
这是我在树莓皮上的代码纸条

#!/usr/bin/env python

import cv2
import rospy
from sensor_msgs.msg **import** Image
from cv_bridge import CvBridge, CvBridgeError

def main():
    cap = cv2.VideoCapture(0)
    rospy.init_node('stream_video',anonymous=False)
    front_pub = rospy.Publisher('/image_front',Image,queue_size=1)
    rate = rospy.Rate(30)
    bridge = CvBridge()

    while not rospy.is_shutdown():

        try:
            ret, frame = cap.read()
            if ret == True:
                img = bridge.cv2_to_imgmsg(frame, 'bgr8')
                front_pub.publish(img)

        except KeyboardInterrupt:
            break
        rate.sleep()

if __name__ == '__main__':
    main()

**pi@raspberrypi**:**~/selfdriving_ws/src/camera_stream/src $** rosrun camera_stream stream_video.py

Traceback (most recent call last):
  File "/home/pi/selfdriving_ws/src/camera_stream/src/stream_video.py", line 5, in <module>
    from sensor_msgs.msg import Image
**ImportError: No module named sensor_msgs.msg**

最佳答案

我从来没有在RPI上运行过。在普通的个人电脑里,没有这样的问题。顺便说一句*

>>> from sensor_msgs.msg import Image
>>>

可能有几种可能的原因,例如CMAKE文件问题。传感器不安装/不兼容、配置错误等
从您的“当我使用此命令$rosmsg list | grep sensor _msgs时,在我的rosmsg列表中找不到此消息类型”中,我猜是因为您没有安装它或安装了不兼容的版本。
尝试使用wstools进行安装。RPI需要一些特殊的触摸。
rosinstall_generator sensor_msgs --rosdistro indigo --deps -wet-only --tar > indigo-sensor_msgs-wet.rosinstall
wstool init src indigo-sensor_msgs-wet.rosinstall

09-25 17:24