🎏 add readme
54
README.md
Normal file
@ -0,0 +1,54 @@
|
||||
# 任务模块
|
||||
|
||||
## top
|
||||
|
||||
1. “装货 / qrcode”
|
||||
2. 曲线赛道
|
||||
3.上下坡
|
||||
c.存在两种可能性
|
||||
4. 石板道
|
||||
5. 栅栏 / 栏杆
|
||||
|
||||
## Task-1:出生点 - 取货
|
||||
|
||||

|
||||
|
||||
从二维码取货完,然后走到弯道入口。
|
||||
|
||||

|
||||
|
||||
## Task-2:弯道任务
|
||||
过去,以及回来。两个方向都需要。
|
||||
|
||||

|
||||

|
||||
|
||||
## Task-2.5:识别
|
||||
根据二维码决定方向。
|
||||
|
||||
## Task-3:上下坡
|
||||
同样需要考虑两个方向。(正式计时各有一半的概率)
|
||||
> 感觉两个坡度稍微有一点点区别。
|
||||
|
||||

|
||||

|
||||
|
||||
以及反方向。
|
||||
|
||||
## Task-4:石板路
|
||||
|
||||

|
||||

|
||||
|
||||
## Task-5:过栅栏
|
||||

|
||||
|
||||
## Task-5.5:走向卸货
|
||||
从上一个赛道结束到 B 二维码。
|
||||
|
||||
## Task-6:卸货
|
||||
也可能在另一边。
|
||||
这里是感觉在走过去的过程中就能判断二维码。
|
||||
|
||||

|
||||

|
@ -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: 是否成功旋转到指定角度
|
||||
|
BIN
res/arrows/test/arrow_detection_result.jpg
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
res/readme/image-1.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
res/readme/image-10.png
Normal file
After Width: | Height: | Size: 34 KiB |
BIN
res/readme/image-2.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
res/readme/image-3.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
res/readme/image-4.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
res/readme/image-5.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
res/readme/image-6.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
res/readme/image-7.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
res/readme/image-8.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
res/readme/image-9.png
Normal file
After Width: | Height: | Size: 36 KiB |
BIN
res/readme/image.png
Normal file
After Width: | Height: | Size: 36 KiB |
@ -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='显示可视化结果')
|
||||
|
1
utils/__init__.py
Normal file
@ -0,0 +1 @@
|
||||
# 使 utils 作为一个 Python 包
|
@ -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__":
|
||||
|