当前位置:首页 > 系统教程 > 正文

眼在手上外参标定全攻略(Ubuntu 18.04 + ROS Melodic 保姆级教学)

在机器人视觉领域,眼在手上标定(Eye-in-Hand Calibration)是实现机械臂精准抓取的基础。本文将针对 Ubuntu 18.04 系统和 ROS Melodic 环境,手把手教你如何完成相机与机械臂末端的外参标定。

本文核心SEO关键词:
  • 1. 眼在手上标定
  • 2. ROS外参标定
  • 3. Easy_handeye教程
  • 4. 手眼标定步骤

一、环境准备与依赖安装

首先,确保你的系统是 Ubuntu 18.04,并且已经安装了 ROS Melodic。我们需要安装 easy_handeye 这一强大的工具包。

# 安装 aruco_rossudo apt-get install ros-melodic-aruco-ros# 下载并安装 easy_handeyecd ~/catkin_ws/srcgit clone https://github.com/IFL-CAMP/easy_handeyecd ..catkin_make

二、硬件连接与位姿发布

在进行ROS外参标定前,请确保相机已固定在机械臂末端。你需要发布两个关键的 TF 变换:一个是机械臂底座到末端的位姿,另一个是相机输出的图像流。常见的做法是使用 aruco_ros 来识别标定板,获取相机到标定板的相对位姿。

眼在手上外参标定全攻略(Ubuntu 18.04 + ROS Melodic 保姆级教学) 眼在手上标定  ROS外参标定 Easy_handeye教程 手眼标定步骤 第1张

三、编写 Launch 文件

这是Easy_handeye教程中最核心的一步。你需要创建一个 launch 文件来启动标定程序。关键参数包括:

  • namespace_prefix: 项目名称前缀
  • robot_base_frame: 机器人基座坐标系(通常为 base_link)
  • robot_effector_frame: 机器人末端坐标系(通常为 tool0)
  • tracking_base_frame: 相机坐标系
  • tracking_marker_frame: 标定板坐标系

四、执行手眼标定步骤

  1. 启动你的机械臂驱动程序和相机驱动。
  2. 启动编写好的 easy_handeye launch 文件。
  3. 在弹出的 GUI 界面中,点击 "Check starting pose"。
  4. 手动或自动移动机械臂,变换至少 10-15 个不同的角度(确保相机始终能看到标定板)。
  5. 在每个点位点击 "Take Sample"。
  6. 最后点击 "Compute",系统将自动计算出相机相对于机械臂末端的外参矩阵。

五、结果保存与验证

计算完成后,点击 "Save" 按钮。标定结果通常保存在 ~/.ros/easy_handeye 目录下,以 YAML 格式存储。你可以通过发布静态 TF 或者在代码中加载该 YAML 文件来使用标定结果。至此,完整的手眼标定步骤就结束了。

温馨提示:标定过程中,机械臂的旋转角度越大,计算出的外参精度通常越高。祝大家标定顺利!