近期借助easy_handeye标定包完成了基于usb摄像头和UR5机械臂的外参标定,采用眼在手上(eye-in-hand)的标定方式。现在对整个标定过程做一个总结,以供大家参考和交流。
一、软件环境配置
硬件平台:PC、UR5、USB摄像头
软件平台:Ubuntu16.04、ROS kinetic
依赖包的安装(注意对应的ROS版本号)
- usb_cam驱动包安装
sudo apt-get install ros-indigo-usb-cam
- aruco_ros安装
$cd ~/catkin_ws/src/
$git clone https://github.com/pal-robotics/aruco_ros.git
$cd ..
$catkin_make install
- easy_handeye安装
visp安装
cd ~/catkin_ws/src
git clone -b kinetic-devel https://github.com/lagadic/vision_visp.git
cd ..
catkin_make --pkg visp_hand2eye_calibration
easy_handeye安装
cd ~/catkin_ws/src
git clone https://github.com/IFL-CAMP/easy_handeye
cd ..
catkin_make
二、修改标定launch文件
针对官方给出的标定launch文件进行修改,ubuntu下的文件路径 …/easy_handeye/docs/example_launch/ur5_kinect_calibration.launch
这个launch文件能够启动
<launch>
<arg name="namespace_prefix" default="ur5_kinect_handeyecalibration" />
<arg name="robot_ip" doc="The IP address of the UR5 robot" />
<!--arg name="marker_size" doc="Size of the ArUco marker used, in meters" /-->
<!--arg name="marker_id" doc="The ID of the ArUco marker used" /-->
<!-- from aruco pkg -->
<arg name="marker_id" default="582"/>
<arg name="marker_size" default="0.036"/>
<!-- start the usb_cam-->
<include file="$(find usb_cam)/launch/usb_cam-test.launch" />
<!-- start ArUco -->
<node name="aruco_tracker" pkg="aruco_ros" type="single">
<remap from="/camera_info" to="/usb_cam/camera_info" /> //换成usb-cam包对应的话题
<remap from