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 步完成标定,自动保存结果
相关推荐
深度学习lover几秒前
<数据集>yolo 交通违规标志识别<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·交通违规标志识别
叼馒女友郭芙蓉13 分钟前
FastAPI 的 CORSMiddleware 跨域中间件
人工智能
shchojj19 分钟前
What is Generative AI - How generative AI works
人工智能
xingyuzhisuan29 分钟前
哪里可以一键部署Stable Diffusion XL的GPU云环境?(2026实测指南)
运维·人工智能·stable diffusion·gpu算力
shchojj36 分钟前
What is Generative AI - AI is a general purpose technology
人工智能
Agent手记39 分钟前
采购合同智能审核自动化,落地步骤与落地风险管控方案 —— 2026年企业级Agent深度实战指南
运维·人工智能·ai·自动化
波特率11520042 分钟前
ROS2当中的几个关键的环境变量
机器人·ros·ros2
byte轻骑兵42 分钟前
【LE Audio】CAP精讲[5]: 导演上线!Initiator音频协同全流程合规指南
人工智能·音视频·低功耗·le audio
3D探路人1 小时前
模灵 大模型聚合API 转发流程技术实现
java·大数据·开发语言·前端·人工智能·计算机视觉
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2026.05.13 题目:1674. 使数组互补的最少操作次数
笔记·算法·leetcode