The invention discloses a method for camera and robot hand-eye calibration based on ROS. A vision system is built to make the robot arm and its operating object in the range of camera vision, and then the communication mechanism between the camera and the robot arm and ROS is established respectively. On the one hand, the motion control of the robot arm is realized, on the other hand, the camera image and the machine are acquired. The state of the arm is collected, then the camera parameters are calibrated, and the camera parameters are obtained. Finally, the camera and the arm-eye calibration matrix are obtained according to the different installation methods of the camera. The invention realizes the automatic hand-eye calibration of the camera and the manipulator, reduces the manual intervention, and the whole calibration process only needs two terminal commands. The calibration process has high degree of autonomy, does not limit the type and number of cameras, does not limit the type of the manipulator, and has strong expansibility. The calibration process only needs to print an A4 checkerboard sheet, and does not need to be calibrated. Make any mark, convenient and practical.
【技术实现步骤摘要】
一种基于ROS的相机和机器人的手眼标定方法
本专利技术涉及一种机器人视觉方法,尤其涉及一种基于ROS的相机和机器人的手眼标定方法。
技术介绍
随着计算机技术的发展,计算机视觉作为人工智能的一个重要研究领域,已经广泛地应用于各行各业。将计算机视觉技术与机器人技术相结合,也使得智能机器人领域得到大力发展。对于机械臂抓取,传统地采用人工示教的方式,如手掰机械臂,使机械臂到某个固定位置进行抓取,这种方式比较低效并且由于机械臂对周围环境毫无感知能力,如果机械臂位置或是物体位置发生变化,机械臂则抓不到物体。将计算机视觉应用到机器人领域,通常是结合模式识别和图像处理的方法分析处理图像数据,获得目标物体的空间位置和姿态,有了目标物体的位姿,机器人便可以自主地进行路径规划。而将物体在相机坐标系下的坐标转换到机械臂坐标系下,就称作相机和机器人的手眼标定,这是利用计算机视觉进行机械臂抓取的重要前提和基础。根据相机安装位置的不同,一般分为两种:安装在机械臂上,相机随机械臂而动,称作眼在手上(eyeinhand),安装在机械臂外,相机不随着机械臂运动,称作眼在手外(eyetohand)。而一般手眼标定过程繁杂,需要人工干预,或取标志点,或人工记录数据,不方便使用,而视觉实验中用到手眼标定的时候很多,无论是相机位置或机械臂位置发生变化,相机类型或机械臂类型发生变化时,都要重新进行手眼标定,而传统的手眼标定耗时较长,大大拉长了视觉实验的周期。
技术实现思路
本专利技术的目的在于提供一种基于ROS的相机和机器人的手眼标定方法。实现本专利技术目的的技术方案为:一种基于ROS的相机和机器人的手眼 ...
【技术保护点】
1.一种基于ROS的相机和机器人的手眼标定方法,其特征在于,包括以下步骤:步骤1、搭建视觉系统,使机械臂及其操作对象在相机视野范围内;步骤2、分别建立相机与ROS、机械臂与ROS的通信机制;步骤3、实现机械臂的运动控制,同时获取相机图像和机械臂状态;步骤4、重复步骤3,当获取m次相机图像和机械臂状态时,执行步骤5,否则执行步骤3;步骤5、根据获得的相机图像进行相机的内参和外参标定,获得相机参数;步骤6、根据相机安装方式进行相机和机械臂的手眼标定,获得手眼标定矩阵。
【技术特征摘要】
1.一种基于ROS的相机和机器人的手眼标定方法,其特征在于,包括以下步骤:步骤1、搭建视觉系统,使机械臂及其操作对象在相机视野范围内;步骤2、分别建立相机与ROS、机械臂与ROS的通信机制;步骤3、实现机械臂的运动控制,同时获取相机图像和机械臂状态;步骤4、重复步骤3,当获取m次相机图像和机械臂状态时,执行步骤5,否则执行步骤3;步骤5、根据获得的相机图像进行相机的内参和外参标定,获得相机参数;步骤6、根据相机安装方式进行相机和机械臂的手眼标定,获得手眼标定矩阵。2.根据权利要求1所述的基于ROS的相机和机器人的手眼标定方法,其特征在于,步骤2中分别建立相机与ROS、机械臂与ROS的通信机制的具体步骤为:步骤2-1、安装相机在ROS下的驱动包,建立相机与ROS的通信,将图像数据发布到ROS的话题topic1上;步骤2-2、安装机械臂在ROS下的驱动包,建立机械臂与ROS的通信,将机械臂末端姿态发布到话题topic2上,机械臂关节状态发布到话题topic3上,并提供机械臂的控制接口topic4。3.根据权利要求1所述的基于ROS的相机和机器人的手眼标定方法,其特征在于,步骤3中实现机械臂的运动控制,同时获取相机图像和机械臂状态的具体步骤为:步骤3-1、订阅topic3获取机械臂当前的关节状态joint_states,将当前的关节状态叠加小范围内产生的随机增量Δjoint_states作为目标关节位置joint_states_target,发送关节指令到topic4,控制机械臂运动,其中,涉及到的变量具体为:joint_states=[joint1,joint2,…,jointn]Δjoint_states=[Δjoint1,Δjoint2,…,Δjointn]joint_states_target=joint_states+Δjoint_states其中,jointi(i=1,2,...n)表示第i个关节当前的状态,Δjointi(i=1,2,...n)表示第i个关节需要叠加的随机增量,n表示机械臂的关节数;步骤3-2、当机械臂运动到指定位置后,保存当前相机发布在topic1上的RGB图像,保存当前发布在topic2上的机械臂末端在机械臂基座坐标系下的位姿信息其中,表示机械臂末端相对于基座坐标系的旋转变换矩阵,表示机械臂末端相对于基座坐标系的平移变换矩阵。4.根据权利要求1所述的基于ROS的相机和机器人的手眼标定方法...
【专利技术属性】
技术研发人员:郭毓,陈宝存,吴巍,苏鹏飞,饶志强,吴禹均,郭健,吴益飞,郭飞,肖潇,蔡梁,
申请(专利权)人:南京理工大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。