ROS 2 手眼标定完整方案

我给你整理ROS 2 中最稳定、最常用、工业级可用 的手眼眼标定包,包含安装、使用、命令、区别,直接照着用就行。


一、ROS 2 首选手眼标定包:easy_handeye2

github 地址https://github.com/IFL-CAMP/easy_handeye2

这是 easy_handeye 的 ROS 2 完美移植版 ,也是目前社区公认最好用、文档最全、支持所有相机 + 机械臂的手眼标定包。

支持两种标定方式

  1. 眼在手上(Eye-in-Hand) 相机固定在机械臂末端,随臂运动
  2. 眼在手外(Eye-to-Hand) 相机固定在桌面 / 支架,独立不动

支持的标定板

  • ArUco 棋盘格(推荐,最稳)
  • 传统棋盘格
  • Charuco 板

二、一键安装(支持 Humble / Iron / Rolling)

bash

运行

复制代码
# 安装依赖
sudo apt install ros-$ROS_DISTRO-arucoto
sudo apt install ros-$ROS_DISTRO-aruco-opencv
sudo apt install ros-$ROS_DISTRO-image-view
sudo apt install ros-$ROS_DISTRO-tf-transformations

# 下载源码(必须源码安装,功能最全)
cd ~/ros2_ws/src
git clone https://github.com/IFL-CAMP/easy_handeye2.git

# 编译
cd ~/ros2_ws
colcon build
source install/setup.bash

三、使用流程(超级简单,3 步完成)

1. 启动相机 + 机械臂驱动 + TF

必须确保:

  • 相机发布 /camera/color/image_raw
  • 相机发布 /camera/color/camera_info
  • 机械臂发布 base_frame ↔ end_effector_frame 的 TF

2. 启动标定程序

眼在手上(Eye-in-Hand)

bash

运行

复制代码
ros2 launch easy_handeye2 handeye_calibrate.launch.py robot_base_frame:=base_link robot_effector_frame:=end_effector camera_base_frame:=camera_link camera_marker_frame:=aruco_marker setup:=eih

眼在手外(Eye-to-Hand)

bash

运行

复制代码
ros2 launch easy_handeye2 handeye_calibrate.launch.py robot_base_frame:=base_link robot_effector_frame:=end_effector camera_base_frame:=camera_link camera_marker_frame:=aruco_marker setup:=eth

3. 自动采样 + 计算

  1. 把标定板固定不动
  2. 拖动机械臂到10~15 个不同姿态
  3. 点击 Sample 采集
  4. 点击 Compute 算出标定结果
  5. 点击 Save 保存
  6. 自动发布 TF:camera ↔ base_link

四、标定结果自动保存

保存路径:

plaintext

复制代码
~/.ros/easy_handeye2/xxx_handeye.yaml

可以直接用于你的项目。


五、如果你需要【轻量级、纯 Python、快速标定】

备选包:ros2_aruco_hand_eye

轻量、快速、适合测试。

安装:

bash

运行

复制代码
cd ~/ros2_ws/src
git clone https://github.com/samuelmanley/ros2_aruco_hand_eye.git
cd ..
colcon build

六、两个包怎么选?

表格

包名 优点 推荐度
easy_handeye2 工业级、GUI、支持两种手眼、稳定、文档全 ⭐⭐⭐⭐⭐ 首选
ros2_aruco_hand_eye 轻量、快、适合测试 ⭐⭐⭐ 备选

七、我可以给你提供

你告诉我你的相机 + 机械臂型号,我可以直接给你:

  1. 专属启动命令
  2. 标定配置文件
  3. TF 坐标系说明
  4. 手眼标定完整启动脚本(一键启动)
  5. 标定成功后,如何把结果接入你的项目

总结

  • ROS 2 手眼标定首选:easy_handeye2
  • 支持 眼在手上 + 眼在手外
  • 源码安装,稳定、工业可用
  • 3 步完成标定,自动保存结果
相关推荐
顾城猿3 小时前
NLP入门
人工智能·自然语言处理
独隅3 小时前
将MAE模型从PyTorch无缝迁移到TensorFlow Lite的完整实践指南
人工智能·pytorch·tensorflow
HackTorjan3 小时前
AI图像处理的核心原理:深度学习驱动的视觉特征提取与重构
图像处理·人工智能·深度学习·django·sqlite
梦梦代码精4 小时前
从工程视角拆解 BuildingAI:一个企业级开源智能体平台的架构设计与实现
人工智能·gitee·开源·github
supericeice4 小时前
复杂项目管理如何用好大模型:RAG、知识图谱与AI编排的落地框架
人工智能·知识图谱
AI机器学习算法10 小时前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角10 小时前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学10 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端10 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6