feat: task-1

This commit is contained in:
havocrao 2025-08-18 22:38:52 +08:00
parent aab4628dcd
commit d26f233cea
2 changed files with 30 additions and 42 deletions

View File

@ -31,7 +31,6 @@ from task_2_5.task_2_5 import run_task_2_5, run_task_2_5_back
from task_4.task_4 import run_task_4, run_task_4_back
from task_test.task_left_line import run_task_test
from task_5.task_5 import run_task_5
from task_4.pass_bar import pass_bar
from base_move.turn_degree import turn_degree, turn_degree_v2
from base_move.center_on_dual_tracks import center_on_dual_tracks
from base_move.go_to_xy import go_to_x_v2, go_to_y_v2
@ -52,14 +51,13 @@ def main():
Ctrl.base_msg.stand_up()
print('yuyin')
# speak('nihao')
# Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
Ctrl.base_msg.stop() # BUG 垃圾指令 for eat
pass_bar(Ctrl, msg)
Ctrl.base_msg.stand_up()
# time.sleep(100) # TEST,
# run_task_1(Ctrl, msg, time_sleep=TIME_SLEEP)
run_task_1(Ctrl, msg, time_sleep=TIME_SLEEP)
# arrow_direction = run_task_2(Ctrl, msg, xy_flag=False)
# arrow_direction = 'right' # TEST

View File

@ -6,29 +6,20 @@ from sensor_msgs.msg import Image
from cv_bridge import CvBridge
import cv2
import os
from pyzbar import pyzbar
from threading import Thread, Lock
import time
import queue
from datetime import datetime
#from utils.log_helper import get_logger
from utils.log_helper import get_logger
# 导入AI相机服务
from protocol.srv import CameraService
# qrcode
from pyzbar import pyzbar
#!/usr/bin/env python3
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import Image
from cv_bridge import CvBridge
import cv2
import os
import time
from datetime import datetime
from protocol.srv import CameraService
class ImageSubscriber(Node):
def __init__(self):
super().__init__('image_subscriber')
super().__init__('ai_camera_demo')
# 初始化安全控制标志
self._shutdown_flag = False
@ -205,13 +196,12 @@ class ImageProcessor:
def get_current_image(self):
return self.image_subscriber.cv_image
def decode_qrcode(self, img=None):
def decode_qrcodes(self, img=None):
"""使用pyzbar解码QR码"""
if img is None:
img = self.get_current_image()
if img is None:
return None
if img is None:
return None
try:
# 使用pyzbar解码所有条形码/QR码
@ -227,31 +217,31 @@ class ImageProcessor:
print(f"QR码解码错误: {str(e)}")
return None
def decode_all_qrcodes(self, img=None):
"""解码图像中的所有QR码/条形码"""
if img is None:
img = self.get_current_image()
# def decode_all_qrcodes(self, img=None):
# """解码图像中的所有QR码/条形码"""
# if img is None:
# img = self.get_current_image()
if img is None:
return []
# if img is None:
# return []
try:
decoded_objects = pyzbar.decode(img)
results = []
# try:
# decoded_objects = pyzbar.decode(img)
# results = []
for obj in decoded_objects:
result = {
'data': obj.data.decode('utf-8'),
'type': obj.type,
'rect': obj.rect, # 位置信息 (x, y, width, height)
'polygon': obj.polygon # 多边形顶点
}
results.append(result)
# for obj in decoded_objects:
# result = {
# 'data': obj.data.decode('utf-8'),
# 'type': obj.type,
# 'rect': obj.rect, # 位置信息 (x, y, width, height)
# 'polygon': obj.polygon # 多边形顶点
# }
# results.append(result)
return results
except Exception as e:
print(f"批量QR码解码错误: {str(e)}")
return []
# return results
# except Exception as e:
# print(f"批量QR码解码错误: {str(e)}")
# return []
def start_async_scan(self, interval=0.3):
"""