Я работаю с ROS Kinetic на Raspberry Pi 3 Model B, которая содержит Raspbian Stretch Lite. Что ж, когда я создаю пакет в определенном ws для потоковой передачи видео с Raspberry Pi на удаленный ПК с Linux, я получаю ошибку импорта о типе msg с именем sensor_msgs.msg . Когда я запускаю тот же код на моем компьютере с Linux, он работает. Но это не работает на Raspberry Pi из-за этой ошибки ( sensor_msgs.msg ).
Я хочу создать издателя на Raspberry Pi, используя ros. Что я могу сделать, чтобы решить эту ошибку? Я не могу найти этот тип сообщения в моем списке rosmsg, когда я использую эту команду $ rosmsg list | grep sensor_msgs .
Это мой код скрипта, который находится на Raspberry Pi
#!/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**