基于神经网络的机器人手眼标定方法技术

技术编号:21415745 阅读:37 留言:0更新日期:2019-06-22 08:01
本发明专利技术提供一种基于神经网络的机器人手眼标定方法,确定NDI坐标系、NDI工具坐标系、机器人坐标系;根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置;采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置、机器人坐标系下的工具的位置和旋转矩阵,基于罗德里格旋转公式对从机器人坐标系转换到NDI坐标系的转换矩阵进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;采用牛顿梯度下降进行计算,得到手眼标定矩阵。本发明专利技术方便快捷,易于实施,标定精确,在标定过程中无需机械臂绕一点转动,可在空间中任意采集姿态。

Robot hand-eye calibration method based on Neural Network

The invention provides a method of robot hand-eye calibration based on neural network, which determines NDI coordinate system, NDI tool coordinate system and robot coordinate system; calibrates the tool tip of the TCP end of the manipulator according to NDI coordinate system and tool coordinate system, and obtains the tool tip position; collects m point sets, each point set includes the coordinate positions of tool tip under NDI coordinate system, respectively. The position and rotation matrix of tools in robot coordinate system are transformed from robot coordinate system to NDI coordinate system based on Rodriguez rotation formula. The forward propagation network is constructed. Based on the forward propagation network, the back propagation network is generated, and the partial derivative of parameters is obtained. The hand-eye calibration matrix is obtained by using Newton gradient descent. The method is convenient, fast, easy to implement and accurate in calibration. During the calibration process, the manipulator does not need to rotate around a point, and the attitude can be collected arbitrarily in space.

【技术实现步骤摘要】
基于神经网络的机器人手眼标定方法
本专利技术涉及计算机视觉领域,具体地,涉及一种基于神经网络的机器人手眼标定方法。
技术介绍
在机器人的使用过程中,时常需要对机械臂进行标定,标定机械臂的末端某一点和机械臂末端中心处的坐标关系,传统方式中往往采用人工示教或者通过相机进行坐标变换的方式进行,比如人工示教用手掰机械臂,使机械臂到某个固定位置进行抓取,这种方式比较低效并且由于机械臂对周围环境毫无感知能力,如果机械臂位置或是物体位置发生变化,机械臂则抓不到物体。通过相机进行坐标变换往往需要大量的计算和测量,计算过程较为复杂,并且需要图像处理手段进行协同,往往也需要人工干预,实施手段繁琐。专利文献CN108436909A公开了一种基于ROS的相机和机器人的手眼标定方法,通过搭建视觉系统,使机械臂及其操作对象在相机视野范围内,然后分别建立相机和机械臂与ROS的通信机制,一方面实现机械臂的运动控制,一方面获取相机图像和机械臂状态,进行数据的采集,然后进行相机的内参和外参标定,获得相机参数,最后根据相机安装方式的不同自动进行相机和机械臂的手眼标定,获得手眼标定矩阵。实现了相机和机械臂的自动手眼标定,减小了人工干预,整个标定过程只需要调用两次终端命令,自主程度高,不限制相机类型以及数量,不限制机械臂类型,可扩展性强,标定过程只需要打印一张A4的棋盘格纸,不需要作任何标记,方便实用。上述专利文献采用A4棋盘格坐标顶,但是由于A4棋盘格比较大,不适合将棋盘格绑定在机械臂上;且算法只使用了两次终端命令,虽快速,但却不准确;摄像机本身就有误差,尤其是深度上的误差更是可以大于5mm,在精准标定的精度方面存在较大局限。而本专利用红外定位仪代替摄像机,其目的为精准标定机械臂末端,其精度要求和上述专利有很大区别。
技术实现思路
针对现有技术中的缺陷,本专利技术的目的是提供一种基于神经网络的机器人手眼标定方法。根据本专利技术提供的一种基于神经网络的机器人手眼标定方法,包括:坐标系确定步骤:分别确定红外定位装置NDI的NDI坐标系、机械臂TCP末端的NDI工具坐标系、机器人坐标系;尖端标定步骤:根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置;数据采集步骤:采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置Pndi、机器人坐标系下的工具的位置和旋转矩阵Mrobot,设置NDI工具坐标系下工具尖端的位置Probot,从机器人坐标系转换到NDI坐标系的转换矩阵Mrobot2ndi,所述工具尖端的坐标位置Pndi满足Pndi=Mrobot2ndi*Mrobot*Probot;神经网络构建步骤:基于罗德里格旋转公式对转换矩阵Mrobot2ndi进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;坐标求解步骤:基于偏导数,采用牛顿梯度下降进行计算,得到手眼标定矩阵。优选地,所述尖端标定步骤是将工具尖端插入机械臂工具中,以设定角度做绕点旋转运动,采用最小二乘法求出尖端位置。优选地,所述设定角度是30度至45度。所述NDI坐标系是NDI红外定位装置的坐标系;所述NDI工具坐标系是绑定在工具上的四个红外小球构成结构所定义的坐标系;所述机器人坐标系是机器人底座中心所在位置的坐标系。优选地,所述对转换矩阵Mrobot2ndi进行转换使用以下公式:θ←norm(r)r←r/θ其中,θ表示绕旋转轴旋转的角度;r表示旋转轴;norm(r)表示旋转轴单位向量;rT表示旋转轴的转置;rx、ry、rz分别表示旋转轴向量的xyz分量;I表示单位矩阵;R表示旋转矩阵;优选地,采用tensorflow工具正向传播网络、生成反向传播网络,得到参数的偏导数。与现有技术相比,本专利技术具有如下的有益效果:1、本专利技术方便快捷,易于实施,标定精确,其误差不超过0.3mm;2、本专利技术在标定过程中无需机械臂绕一点转动,可在空间中任意采集姿态。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1为本专利技术的框架示意图;图2为本专利技术的坐标系之间的关系示意图。具体实施方式下面结合具体实施例对本专利技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本专利技术,但不以任何形式限制本专利技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本专利技术构思的前提下,还可以做出若干变化和改进。这些都属于本专利技术的保护范围。在本专利技术的一个实施例中,包括NDI和URRobot,NDI为红外定位装置,可以根据反光球来定位工具在空间中的位置和方向,URRobot为机械臂,该机械臂可以提供机器人TCP末端的位置和方向,手眼标定需要解决的问题就是,如何求出工具尖端在机械臂TCP末端坐标系下的坐标,从而达到用红外定位装置任意定义空间中一点,机械臂末端移动且使工具尖端精准到达该点。所述工具尖端坐标的求取方法采用如下步骤:步骤一:标定NDI坐标系下工具尖端的位置。步骤二:采集数据,需采集至少8组点集,每组点集分别包括两个点、NDI坐标系下尖端的位置和此时此刻机器人坐标系下TCP的位置和旋转(可用4*4的矩阵表示)设机器人TCP工具本地坐标系下尖端的位置为Probot(向量形式为),从机器人坐标系转换到NDI坐标系的矩阵为Mrobot2ndi(设该矩阵为),两组点应满足Pndi=Mrobot2ndi*Mrobot*Probot在上式中,Mrobot2ndi为4*4刚性转换矩阵,其结构为又Rx,Ry,Rz为正交向量,组成旋转矩阵R,R为标准正交矩阵(3*3),且R*R′=E,由正交矩阵性质可知,其自由度不应为9,应为3。故引入罗德里格旋转公式,将3自由度的旋转向量变为9自由度的旋转矩阵,设旋转向量为r(3*1)(rx,ry,rz),使用以下公式:θ←norm(r)r←r/θ将Mrobot2ndi中的旋转矩阵R替换为上式中由旋转向量转换得到的旋转矩阵。通过计算上式中的r(rx,ry,rz)、T(Tx,Ty,Tz)和P(Px,Py,Pz),可构建神经网络,之后反向传播,最后使用牛顿梯度下降法,求得最优解。手动算出所有反向传播中的参数偏导比较繁琐,故本项目中使用Tensorflow作为辅助工具。具体做法如下:使用Tensorflow构建正向传播网络,首先构建Probot,Probot为4*1的向量,为(Px,Py,Pz,1):one_Constant=tf.constant([[1]],name="one_Constant",dtype="float64")P_robot=tf.get_variable("P_Local",[3,1],initializer=tf.contrib.layers.xavier_initializer(),dtype="float64")P_robot=tf.concat([P_Local,one_Constant],axis=0);然后计算Mrobot*Probot,记为ProbotWorld,生成r、T:两者皆为3*1的向量,且为float64位;T=tf.get_variable("Tres",[3,1],initializer=tf.contrib.layers.xa本文档来自技高网
...

【技术保护点】
1.一种基于神经网络的机器人手眼标定方法,其特征在于,包括:坐标系确定步骤:分别确定红外定位装置NDI的NDI坐标系、机械臂TCP末端的NDI工具坐标系、机器人坐标系;尖端标定步骤:根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置;数据采集步骤:采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置Pndi、机器人坐标系下的工具的位置和旋转矩阵Mrobot,设置NDI工具坐标系下工具尖端的位置Probot,从机器人坐标系转换到NDI坐标系的转换矩阵Mrobot2ndi,所述工具尖端的坐标位置Pndi满足Pndi=Mrobot2ndi*Mrobot*Probot;神经网络构建步骤:基于罗德里格旋转公式对转换矩阵Mrobot2ndi进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;坐标求解步骤:基于偏导数,采用牛顿梯度下降进行计算,得到手眼标定矩阵。

【技术特征摘要】
1.一种基于神经网络的机器人手眼标定方法,其特征在于,包括:坐标系确定步骤:分别确定红外定位装置NDI的NDI坐标系、机械臂TCP末端的NDI工具坐标系、机器人坐标系;尖端标定步骤:根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置;数据采集步骤:采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置Pndi、机器人坐标系下的工具的位置和旋转矩阵Mrobot,设置NDI工具坐标系下工具尖端的位置Probot,从机器人坐标系转换到NDI坐标系的转换矩阵Mrobot2ndi,所述工具尖端的坐标位置Pndi满足Pndi=Mrobot2ndi*Mrobot*Probot;神经网络构建步骤:基于罗德里格旋转公式对转换矩阵Mrobot2ndi进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;坐标求解步骤:基于偏导数,采用牛顿梯度下降进行计算,得到手眼标定矩阵。2.根据权利要求1所述的基于神经网络的机器人手眼标定方法,其特征在于,所述...

【专利技术属性】
技术研发人员:肖建如吕天予
申请(专利权)人:上海嘉奥信息科技发展有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1