diff --git a/README.md b/README.md new file mode 100644 index 0000000..413b136 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# 任务模块 + +## top + +1. “装货 / qrcode” +2. 曲线赛道 +3.上下坡 +c.存在两种可能性 +4. 石板道 +5. 栅栏 / 栏杆 + +## Task-1:出生点 - 取货 + +![alt text](./res/readme/image.png) + +从二维码取货完,然后走到弯道入口。 + +![alt text](./res/readme/image-1.png) + +## Task-2:弯道任务 +过去,以及回来。两个方向都需要。 + +![alt text](./res/readme/image-2.png) +![alt text](./res/readme/image-3.png) + +## Task-2.5:识别 +根据二维码决定方向。 + +## Task-3:上下坡 +同样需要考虑两个方向。(正式计时各有一半的概率) +> 感觉两个坡度稍微有一点点区别。 + +![alt text](./res/readme/image-4.png) +![alt text](./res/readme/image-5.png) + +以及反方向。 + +## Task-4:石板路 + +![alt text](./res/readme/image-6.png) +![alt text](./res/readme/image-7.png) + +## Task-5:过栅栏 +![alt text](./res/readme/image-8.png) + +## Task-5.5:走向卸货 +从上一个赛道结束到 B 二维码。 + +## Task-6:卸货 +也可能在另一边。 +这里是感觉在走过去的过程中就能判断二维码。 + +![alt text](./res/readme/image-9.png) +![alt text](./res/readme/image-10.png) \ No newline at end of file diff --git a/base_move/turn_degree.py b/base_move/turn_degree.py index e0759f8..4648652 100644 --- a/base_move/turn_degree.py +++ b/base_move/turn_degree.py @@ -9,7 +9,7 @@ def turn_degree(ctrl, msg, degree=90, absolute=False): ctrl: Robot_Ctrl 对象,包含里程计信息 msg: robot_control_cmd_lcmt 对象,用于发送命令 degree: 要旋转的角度,正值表示逆时针,负值表示顺时针,默认为90度 - absolute: 是否绝对角度,默认为True + absolute: 是否绝对角度,默认为 False 返回: Bool: 是否成功旋转到指定角度 diff --git a/res/arrows/test/arrow_detection_result.jpg b/res/arrows/test/arrow_detection_result.jpg new file mode 100644 index 0000000..c1cfc51 Binary files /dev/null and b/res/arrows/test/arrow_detection_result.jpg differ diff --git a/res/readme/image-1.png b/res/readme/image-1.png new file mode 100644 index 0000000..6a8eda8 Binary files /dev/null and b/res/readme/image-1.png differ diff --git a/res/readme/image-10.png b/res/readme/image-10.png new file mode 100644 index 0000000..fc9da33 Binary files /dev/null and b/res/readme/image-10.png differ diff --git a/res/readme/image-2.png b/res/readme/image-2.png new file mode 100644 index 0000000..d9327cb Binary files /dev/null and b/res/readme/image-2.png differ diff --git a/res/readme/image-3.png b/res/readme/image-3.png new file mode 100644 index 0000000..c3b2522 Binary files /dev/null and b/res/readme/image-3.png differ diff --git a/res/readme/image-4.png b/res/readme/image-4.png new file mode 100644 index 0000000..0aa47df Binary files /dev/null and b/res/readme/image-4.png differ diff --git a/res/readme/image-5.png b/res/readme/image-5.png new file mode 100644 index 0000000..e48060e Binary files /dev/null and b/res/readme/image-5.png differ diff --git a/res/readme/image-6.png b/res/readme/image-6.png new file mode 100644 index 0000000..a42205a Binary files /dev/null and b/res/readme/image-6.png differ diff --git a/res/readme/image-7.png b/res/readme/image-7.png new file mode 100644 index 0000000..be3c738 Binary files /dev/null and b/res/readme/image-7.png differ diff --git a/res/readme/image-8.png b/res/readme/image-8.png new file mode 100644 index 0000000..12935cc Binary files /dev/null and b/res/readme/image-8.png differ diff --git a/res/readme/image-9.png b/res/readme/image-9.png new file mode 100644 index 0000000..43d8c8b Binary files /dev/null and b/res/readme/image-9.png differ diff --git a/res/readme/image.png b/res/readme/image.png new file mode 100644 index 0000000..5a2fa75 Binary files /dev/null and b/res/readme/image.png differ diff --git a/test_right_arrow.py b/test/task-arrow/test_right_arrow.py similarity index 79% rename from test_right_arrow.py rename to test/task-arrow/test_right_arrow.py index 0df9ee4..4b0579c 100644 --- a/test_right_arrow.py +++ b/test/task-arrow/test_right_arrow.py @@ -5,18 +5,20 @@ import sys import cv2 import argparse -# 添加工作目录到路径 -sys.path.append(os.path.dirname(os.path.abspath(__file__))) +# 添加项目根目录到路径 +current_dir = os.path.dirname(os.path.abspath(__file__)) +project_root = os.path.dirname(os.path.dirname(current_dir)) +sys.path.append(project_root) from utils.decode_arrow import detect_arrow_direction, visualize_arrow_detection def main(): # 创建参数解析器 parser = argparse.ArgumentParser(description='箭头方向检测测试') - parser.add_argument('--image', default="image_20250511_121219.png", + parser.add_argument('--image', default="res/arrows/left/image-2.png", help='图像文件路径 (默认: image_20250511_121219.png)') - parser.add_argument('--save', default="arrow_detection_result.jpg", - help='保存可视化结果的路径 (默认: arrow_detection_result.jpg)') + parser.add_argument('--save', default="res/arrows/test/arrow_detection_result.jpg", + help='保存可视化结果的路径 (默认: res/arrows/test/arrow_detection_result.jpg)') parser.add_argument('--show', action='store_true', help='显示可视化结果') diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..7ae7e74 --- /dev/null +++ b/utils/__init__.py @@ -0,0 +1 @@ +# 使 utils 作为一个 Python 包 \ No newline at end of file diff --git a/utils/decode_arrow.py b/utils/decode_arrow.py index e840478..b0df849 100644 --- a/utils/decode_arrow.py +++ b/utils/decode_arrow.py @@ -163,9 +163,9 @@ def visualize_arrow_detection(image, save_path=None): resized = cv2.resize(result, dim, interpolation=cv2.INTER_AREA) # 显示结果 - cv2.imshow('Arrow Detection Process', resized) - cv2.waitKey(0) - cv2.destroyAllWindows() + # cv2.imshow('Arrow Detection Process', resized) + # cv2.waitKey(0) + # cv2.destroyAllWindows() # 用法示例 if __name__ == "__main__":