easy_handeye 使用教程
1. 项目介绍
easy_handeye
是一个用于ROS1的开源软件包,提供自动化的、硬件无关的手眼标定功能。它通过采样机器人的位置和跟踪系统输出(通过 tf
),使用OpenCV库中的Tsai-Lenz算法实现计算手眼校准矩阵。此软件包包含一个GUI,可以存储校准结果,并在每次系统启动时发布校准结果作为 tf
变换。
2. 项目快速启动
在您的catkin工作空间中克隆此仓库:
cd ~/catkin_ws/src # 替换为您的工作空间路径
git clone https://github.com/IFL-CAMP/easy_handeye.git
满足依赖项:
cd .. # 现在我们在 ~/catkin_ws 目录下
rosdep install -iyr --from-paths src
构建:
catkin build
3. 应用案例和最佳实践
使用案例
如果您不熟悉Tsai的手眼校准,它可以以两种方式使用:
-
eye-in-hand:计算机器人手部执行器与跟踪系统(例如,用于跟踪AR标记的RGB相机的光学帧)的参考框架之间的静态变换。在这种情况下,相机安装在末端执行器上,您将视觉目标放置在相对于机器人基座固定的位置;例如,您可以在桌子上放置一个AR标记。
-
eye-on-base:计算从机器人的基座到跟踪系统(例如,站在机器人旁边的三脚架上的相机的光学帧)的静态变换。在这种情况下,您可以将标记(例如AR标记)附着在机器人的末端执行器上。
一个相关的eye-on-base校准示例是找到RGBD相机相对于机器人以进行对象碰撞避免的位置,例如使用 MoveIt!:提供了一个示例启动文件来执行这个常见任务。
最佳实践
- 在进行校准之前,确保机器人和跟踪系统已经正确启动,并且它们的
tf
帧已经在ROS中发布。 - 使用校准过程中的默认参数开始,然后根据您的特定设置调整参数。
- 在收集样本时,尽量覆盖机器人的工作空间,以便获得更准确的校准结果。
4. 典型生态项目
easy_handeye
可以与以下ROS项目配合使用,以创建一个完整的手眼校准和机器人应用解决方案:
- MoveIt!:用于机器人运动规划和执行的框架。
- rviz:用于可视化校准结果和机器人状态的ROS可视化工具。
- aruco:用于标记检测和定位的ROS包。
这些项目共同为开发机器人应用提供了一个强大的生态系统,涵盖了从校准到规划再到执行的整个流程。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考