Refactor control parameters and enhance depth handling for tomato harvesting

- Updated YOLO model path to a relative path.
- Introduced new parameters for depth handling, including minimum and maximum depth, fallback settings, and pixel validation thresholds.
- Increased maximum pick angle to accommodate wider fruit stems.
- Added cut pull assist feature with configurable options.
- Removed unused resource path resolution functions from control_core.py.
- Simplified resource path handling in main.py.
- Updated UI colors and styles for improved aesthetics.
- Removed outdated requirements.txt file.
This commit is contained in:
Brunsmeier
2026-07-14 15:12:08 +08:00
parent b1b17ba9f5
commit 47c08a6466
6 changed files with 180 additions and 604 deletions

View File

@ -27,10 +27,22 @@ AGV_RUN_DISTANCE = 5.0
TOTAL_DURATION = 300
AGV_STOP_TIMEOUT = 10
AGV_PICK_SETTLE_DELAY = 1.5
YOLO_MODEL_PATH = "models/best.pt"
YOLO_MODEL_PATH = "best.pt"
YOLO_DETECT_CONF = 0.5
PICK_CONFIDENCE_THRESHOLD = 0.7
# 真实果梗较细时,剪切点像素可能没有直接深度。先使用剪切点邻域深度,
# 失败后可沿关键点 0 -> 关键点 1 的方向寻找同一果串的可靠深度。
PICK_DEPTH_MIN_M = 0.18
PICK_DEPTH_MAX_M = 1.20
PICK_DEPTH_WINDOW_RADIUS = 5
PICK_DEPTH_FALLBACK_WINDOW_RADIUS = 14
PICK_DEPTH_MIN_VALID_PIXELS = 5
PICK_DEPTH_MEDIAN_TOLERANCE_M = 0.05
PICK_DEPTH_LINE_FALLBACK_ENABLED = True
PICK_DEPTH_LINE_FALLBACK_STEPS = 5
PICK_DEPTH_LINE_FALLBACK_STEP_PX = 8
# -------------------- 位姿与轨迹参数 --------------------
# Home 是机械臂的初始/复位关节位。
@ -45,7 +57,13 @@ PICKUP_X_OFFSET = 0.0
PICKUP_Y_OFFSET = -0.013
PICK_ANGLE_ORIENTATION_INDEX = 4
PICK_ANGLE_SIGN = 1.0
MAX_PICK_ANGLE_DEG = 30.0
# 真实果梗可能接近横向;仍受限于此值,避免因姿态变化过大造成不可达或碰撞。
MAX_PICK_ANGLE_DEG = 70.0
# 默认关闭。剪刀缺少“已剪断”反馈时,不能自动判断是否应强拉。
# 现场确认撤离方向安全后,才可启用小距离辅助拉拽。
CUT_PULL_ASSIST_ENABLED = False
CUT_PULL_ASSIST_Y_OFFSET = 0.03
# 当前项目只使用一个放置位,仍保留列表结构以兼容 control_core。
place_positions = [[-0.6203, 0.026, 0.1078, 2.9923, 0.0366, -1.4157]]
@ -78,6 +96,15 @@ _CONFIG_NAMES = (
"YOLO_MODEL_PATH",
"YOLO_DETECT_CONF",
"PICK_CONFIDENCE_THRESHOLD",
"PICK_DEPTH_MIN_M",
"PICK_DEPTH_MAX_M",
"PICK_DEPTH_WINDOW_RADIUS",
"PICK_DEPTH_FALLBACK_WINDOW_RADIUS",
"PICK_DEPTH_MIN_VALID_PIXELS",
"PICK_DEPTH_MEDIAN_TOLERANCE_M",
"PICK_DEPTH_LINE_FALLBACK_ENABLED",
"PICK_DEPTH_LINE_FALLBACK_STEPS",
"PICK_DEPTH_LINE_FALLBACK_STEP_PX",
"HOME_JOINTS",
"APPROACH_Y_OFFSET",
"LIFT_Z_OFFSET",
@ -86,6 +113,8 @@ _CONFIG_NAMES = (
"PICK_ANGLE_ORIENTATION_INDEX",
"PICK_ANGLE_SIGN",
"MAX_PICK_ANGLE_DEG",
"CUT_PULL_ASSIST_ENABLED",
"CUT_PULL_ASSIST_Y_OFFSET",
"GRIPPER_CLOSE_IO",
"GRIPPER_OPEN_IO",
"GRIPPER_ACTION_DELAY",