74396f48a0
fix(craic_localization): tune AMCL params and propagate lidar args across launch files
...
- Tune AMCL: widen sigma_hit (0.05→0.2), z_hit (0.5→0.9), z_rand, likelihood_max_dist,
laser_max_range (5.0→8.0) for better convergence on 4x4m field
- Propagate lidar_x/y/z/yaw/intensity/sample_rate/baudrate through bringup,
localization, and mapping launch files so overrides reach the driver
- Fix default lidar_z (0.0→0.02) in lidar.launch.py
- Change rviz Fixed Frame odom→map to stop map jumping on AMCL corrections
- Fix broken teach_points command in docs/localization.md; add troubleshooting
entries for AMCL convergence and rf2o drift
- Add ros2/AGENTS.md with ROS workspace build/style guidelines
2026-06-20 14:13:54 +08:00
44cf290a6d
docs: add localization system documentation
...
Comprehensive reference for the LiDAR + AMCL + teach-in localization stack. Covers TF tree, architecture, phased implementation plan, configuration, and teach-in/navigation workflow for the CRAIC desktop competition.
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-06-19 06:30:09 +08:00
a832dfaeb1
feat: 添加方框检测与自动抓取节点
...
功能:
- 基于 YOLO 实时检测方框
- 自动模式:启动后自动检测并抓取
- 手动模式:通过服务触发检测
- 检测成功后自动停止并发布抓取目标
- 3D 坐标估计(基于方框尺寸和相机 FOV)
节点:box_detection_grasp
- 话题:/vision_grasp/grasp_target (发布)
- 服务:/box_detection/start (启动检测)
- 服务:/box_detection/stop (停止检测)
配置:
- auto_grasp: 自动/手动模式切换
- box_size_m: 方框尺寸(用于深度估计)
- show_debug_window: 调试窗口
使用:
ros2 run udp_teleop box_detection_grasp \
--ros-args --params-file config/box_detection_grasp.yaml \
-p auto_grasp:=true
详细文档:docs/box_detection_grasp.md
2026-06-16 21:28:09 +08:00
d716ed5e67
docs: 重写机械臂运动学文档
...
- 清晰的章节结构:几何参数、正运动学、逆运动学
- 完整的数学推导(带 LaTeX 公式)
- Python 代码实现示例
- 工作空间分析和奇异点说明
- 运动插值算法
- 实用示例和测试命令
替换了原有的混乱结构,现在更易理解和参考
2026-06-16 19:05:09 +08:00
f00537ebb9
docs: 整理和精简文档结构
...
- 删除冗余文档(6个重复的说明文档)
- 更新 README.md:简洁清晰的项目总览
- 更新 ros2/README.md:完整的 ROS 2 使用指南
- 保留核心技术文档:docs/arm.md(运动学推导)
文档现在更加简洁,避免重复内容
2026-06-16 19:01:42 +08:00
83b32542ef
feat: 添加机械臂 ROS 2 控制节点和视觉抓取系统
...
- 创建 arm_control_msgs 包:定义机械臂控制的消息和服务接口
- 消息:JointState, TCPPose
- 服务:MoveJoints, MovePose, GetPose, SetGripper
- 实现 arm_control 节点:独立的机械臂控制 ROS 节点
- 完整的逆运动学和正运动学
- 关节空间和笛卡尔空间运动控制
- UDP 通信与 ESP32
- 状态发布(10Hz)
- 实现 vision_grasp 节点:自动化视觉抓取
- 相机坐标系到基坐标系的完整变换
- 自动抓取流程:释放→移动→抓取→回收
- 自动释放流程:移动→释放→回收
- 多线程执行器支持
- 添加完整文档
- ARM_CONTROL_README.md: 机械臂控制节点使用指南
- VISION_GRASP_README.md: 视觉抓取节点使用指南
- QUICKSTART.md: 快速开始指南
- 文档重命名:docs/craic.md → docs/arm.md
2026-06-16 18:45:01 +08:00
7accfc617e
Refactor arm UDP controller with user-space height coordinates and gripper toggle
...
- Switch height to user coordinates (0=top, 290=bottom mm), invert sign
internally for UDP protocol
- Replace raw --j5 arg with --up flag (gripper up/down toggle)
- Add default geometry constants (L1, L2, X4, Z4) and gripper
open/closed angles
- Update --show-fk and pose mode to derive Z4 from gripper state
- Add mm unit annotations to all CLI help text and output
- Update cached joint state to match new coordinate convention
- Add camera_capture.py: single-shot JPEG grabber from ESP32 MJPEG stream
- Fix missing newline at EOF in craic.md
2026-06-15 21:33:47 +08:00
f343a01372
Add arm UDP controller with IK and interpolation
2026-06-12 19:01:48 +08:00