5 Commits

Author SHA1 Message Date
197de7908a fix: 修正 UP/DOWN 与 J5 角度的对应关系
问题:
- 之前错误地将 J5=81 (张开) 标记为 UP
- 实际上 J5=-100 (闭合) 才是 UP(夹爪朝上)

正确对应关系:
- UP: J5=-100 (闭合), z4=-100, 工作范围 z ∈ [-190, 110]mm
- DOWN: J5=81 (张开), z4=55, 工作范围 z ∈ [-345, -55]mm

修复内容:
- 重命名常量:Z4_OPEN/Z4_CLOSED → Z4_UP/Z4_DOWN
- 更新 resolve_z4_from_j5(): J5 < 0 → UP
- 更新 vision_grasp 相机旋转逻辑:J5 < 0 → 正向
- 更新文档说明

现在 UP/DOWN 语义正确且一致!
2026-06-16 20:01:24 +08:00
33f1a31c59 feat(arm_control): 实现动态 z4 自动适配机制
问题根源:
- udp_control.py 使用动态 z4(根据目标 z 自动选择)
- arm_control.py 使用固定 z4=80
- 导致相同目标位姿在两个工具中行为不一致

解决方案:
- 添加 resolve_j5_from_z(): 根据目标 z 自动选择 J5
- 添加 resolve_z4_from_j5(): 根据 J5 确定 z4 值
- 更新正/逆运动学接受动态 z4 参数
- 自动适配规则:
  * z > -55mm: J5=-100, z4=-100 (闭合, 工作范围 [-190, 110])
  * z ≤ -55mm: J5=81, z4=55 (张开, 工作范围 [-345, -55])

现在 arm_control 与 udp_control.py 行为一致!
2026-06-16 19:37:42 +08:00
df436a9a31 fix(vision_grasp): 根据 J5 状态处理相机旋转 180°
问题:
- 相机水平安装,但随 J5 状态旋转 180°
- J5 张开(UP):相机正向,图像正常
- J5 闭合(DOWN):相机旋转 180°,图像上下颠倒

解决方案:
- 从 GetPose 获取 J5 状态
- J5 > 0 (UP): (xc, yc, zc) = (x_img, -y_img, z)
- J5 < 0 (DOWN): (xc, yc, zc) = (-x_img, y_img, z)
- 自动处理相机旋转,无需手动调整

更新文档说明相机旋转机制
2026-06-16 19:25:13 +08:00
f00537ebb9 docs: 整理和精简文档结构
- 删除冗余文档(6个重复的说明文档)
- 更新 README.md:简洁清晰的项目总览
- 更新 ros2/README.md:完整的 ROS 2 使用指南
- 保留核心技术文档:docs/arm.md(运动学推导)

文档现在更加简洁,避免重复内容
2026-06-16 19:01:42 +08:00
6469e77633 docs: add ros2 workspace README with multi-method installation 2026-05-27 02:29:06 +08:00