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 步完成标定,自动保存结果
相关推荐
阿部多瑞 ABU8 分钟前
空能指的再生产:一个符号政治经济学的分析框架
人工智能·ai写作
xx_xxxxx_19 分钟前
论文阅读-SAR
人工智能·深度学习·机器学习
桃西西呀28 分钟前
LangChain 之七:回调与可观测
人工智能·langchain·llm
2601_9603563830 分钟前
2027校招采购岗解析:数学基础如何迁移到需求预测、成本与供应商分析
人工智能·算法
桃西西呀30 分钟前
LangChain 之六:记忆与历史
人工智能·langchain·llm
周杰伦fans44 分钟前
8GB显存下模型量化实战指南
人工智能·后端·c#
h_a_o777oah1 小时前
【树论】树链剖分:将树形结构转化为线性结构以处理树上路径问题(洛谷 P3384 附C++代码模板)
数据结构·算法·线段树·acm·树链剖分·树论·重链剖分
HEJOO91 小时前
指针的算术运算详解
java·数据结构·算法
Coder-magician1 小时前
《代码随想录》刷题打卡day47:并查集-part01
数据结构·算法·图论
秦先生在广东1 小时前
gstack 深度解析:AI 驱动的单人虚拟工程团队与端到端自动化
人工智能