CN109910014B - 基于神经网络的机器人手眼标定方法 - Google Patents
基于神经网络的机器人手眼标定方法 Download PDFInfo
- Publication number
- CN109910014B CN109910014B CN201910276856.4A CN201910276856A CN109910014B CN 109910014 B CN109910014 B CN 109910014B CN 201910276856 A CN201910276856 A CN 201910276856A CN 109910014 B CN109910014 B CN 109910014B
- Authority
- CN
- China
- Prior art keywords
- coordinate system
- ndi
- robot
- tool
- matrix
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
本发明提供一种基于神经网络的机器人手眼标定方法,确定NDI坐标系、NDI工具坐标系、机器人坐标系;根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置;采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置、机器人坐标系下的工具的位置和旋转矩阵,基于罗德里格旋转公式对从机器人坐标系转换到NDI坐标系的转换矩阵进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;采用牛顿梯度下降进行计算,得到手眼标定矩阵。本发明方便快捷,易于实施,标定精确,在标定过程中无需机械臂绕一点转动,可在空间中任意采集姿态。
Description
技术领域
本发明涉及计算机视觉领域,具体地,涉及一种基于神经网络的机器人手眼标定方法。
背景技术
在机器人的使用过程中,时常需要对机械臂进行标定,标定机械臂的末端某一点和机械臂末端中心处的坐标关系,传统方式中往往采用人工示教或者通过相机进行坐标变换的方式进行,比如人工示教用手掰机械臂,使机械臂到某个固定位置进行抓取,这种方式比较低效并且由于机械臂对周围环境毫无感知能力,如果机械臂位置或是物体位置发生变化,机械臂则抓不到物体。通过相机进行坐标变换往往需要大量的计算和测量,计算过程较为复杂,并且需要图像处理手段进行协同,往往也需要人工干预,实施手段繁琐。
专利文献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.xavier_initializer(),dtype=tf.float64)
r=tf.get_variable("Rodigrees",[3,1],initializer=tf.contrib.layers.xavier_initializer(),dtype=tf.float64)
使用罗德里格斯公式将ProbotWorld转换为Pndi_,使用临时变量v,记录:
theta=tf.norm(r)
k=r/theta
v=P_robotWorld[:,0:3,0]
P_ndi_=tf.cos(theta)*v+(1-tf.cos(theta))*(tf.matmul(v,k))*tf.transpose(k)+tf.sin(theta)*tf.cross(tf.tile(tf.transpose(k),[m,1]),v)
P_ndi_=P_ndi_+tf.transpose(Tres)
计算costfunction:delta_P=P_World_NDI-NDIPos_Y;
costfunction=tf.reduce_mean(tf.square(delta_P))。
如此,正向传播网络构建完毕,tensorflow会自动生成反向传播网络,即求出各参数的偏导数,用牛顿梯度下降便可完成所有计算。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (4)
1.一种基于神经网络的机器人手眼标定方法,其特征在于,包括:
坐标系确定步骤:分别确定红外定位装置NDI的NDI坐标系、机械臂TCP末端的NDI工具坐标系、机器人坐标系;
尖端标定步骤:根据NDI坐标系和工具坐标系,对机械臂TCP末端的工具尖端进行位置标定,得到工具尖端位置,在标定过程中无需机械臂绕一点转动,能够在空间中任意采集姿态;
数据采集步骤:采集m个点集组,每个点集组分别包括NDI坐标系下的工具尖端的坐标位置Pndi、机器人坐标系下的工具的位置和旋转矩阵Mrobot,设置NDI工具坐标系下工具尖端的位置Probot,从机器人坐标系转换到NDI坐标系的转换矩阵Mrobot2ndi,所述工具尖端的坐标位置Pndi满足Pndi=Mrobot2ndi*Mrobot*Probot;
神经网络构建步骤:基于罗德里格旋转公式对转换矩阵Mrobot2ndi进行转换,构建正向传播网络,基于正向传播网络,生成反向传播网络,得到参数的偏导数;
坐标求解步骤:基于偏导数,采用牛顿梯度下降进行计算,得到手眼标定矩阵;
所述NDI坐标系是NDI红外定位装置的坐标系;
所述NDI工具坐标系是绑定在工具上的四个红外小球构成结构所定义的坐标系;
所述机器人坐标系是机器人底座中心所在位置的坐标系;
所述对转换矩阵Mrobot2ndi进行转换使用以下公式:
θ←norm(r)
r←r/θ
其中,θ表示绕旋转轴旋转的角度;
r表示旋转轴;
norm(r)表示旋转轴单位向量;
rT表示旋转轴的转置;
rx、ry、rz分别表示旋转轴向量的xyz分量;
I表示单位矩阵;
R表示旋转矩阵。
2.根据权利要求1所述的基于神经网络的机器人手眼标定方法,其特征在于,所述尖端标定步骤是将工具尖端插入机械臂工具中,以设定角度做绕点旋转运动,采用最小二乘法求出尖端位置。
3.根据权利要求2所述的基于神经网络的机器人手眼标定方法,其特征在于,所述设定角度是30度至45度。
4.根据权利要求1所述的基于神经网络的机器人手眼标定方法,其特征在于,采用tensorflow工具正向传播网络、生成反向传播网络,得到参数的偏导数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910276856.4A CN109910014B (zh) | 2019-04-08 | 2019-04-08 | 基于神经网络的机器人手眼标定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910276856.4A CN109910014B (zh) | 2019-04-08 | 2019-04-08 | 基于神经网络的机器人手眼标定方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109910014A CN109910014A (zh) | 2019-06-21 |
CN109910014B true CN109910014B (zh) | 2020-10-16 |
Family
ID=66968899
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910276856.4A Active CN109910014B (zh) | 2019-04-08 | 2019-04-08 | 基于神经网络的机器人手眼标定方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109910014B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113043268A (zh) * | 2019-12-27 | 2021-06-29 | 沈阳新松机器人自动化股份有限公司 | 机器人手眼标定方法、装置、终端、系统及存储介质 |
CN111336919B (zh) * | 2020-03-11 | 2021-10-15 | 上海嘉奥信息科技发展有限公司 | 探针标定的方法 |
CN111823233B (zh) * | 2020-06-30 | 2022-11-29 | 浙江德尚韵兴医疗科技有限公司 | 基于高精度立体光学定位的机械臂手眼标定系统及方法 |
CN112525074B (zh) * | 2020-11-24 | 2022-04-12 | 杭州素问九州医疗科技有限公司 | 标定方法、系统、机器人、计算机装置和导航系统 |
CN113199486B (zh) * | 2021-06-01 | 2021-12-03 | 北京长木谷医疗科技有限公司 | 机械臂法兰物理原点的标定方法、装置及电子设备 |
CN114310918A (zh) * | 2022-03-14 | 2022-04-12 | 珞石(北京)科技有限公司 | 一种人机协作下的机械臂轨迹生成与修正方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7003463B2 (ja) * | 2017-07-11 | 2022-01-20 | セイコーエプソン株式会社 | ロボットの制御装置、ロボットシステム、並びに、カメラの校正方法 |
TWI668541B (zh) * | 2017-09-29 | 2019-08-11 | 財團法人工業技術研究院 | 機器人工具中心點校正系統及其方法 |
CN108982901B (zh) * | 2018-06-14 | 2020-06-09 | 哈尔滨工业大学 | 一种匀速旋转体的转速测量方法 |
CN109079787B (zh) * | 2018-08-20 | 2020-10-16 | 上海嘉奥信息科技发展有限公司 | 基于神经网络的非刚性机器人自动手眼标定方法 |
-
2019
- 2019-04-08 CN CN201910276856.4A patent/CN109910014B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109910014A (zh) | 2019-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109910014B (zh) | 基于神经网络的机器人手眼标定方法 | |
CN106767393B (zh) | 机器人的手眼标定装置与方法 | |
CN109079787B (zh) | 基于神经网络的非刚性机器人自动手眼标定方法 | |
CN109227532B (zh) | 机器人的控制装置及其系统、机器人及摄像机的校正方法 | |
US20140288710A1 (en) | Robot system and calibration method | |
CN109048897B (zh) | 一种主从机器人遥操作的方法 | |
JP7035657B2 (ja) | ロボットの制御装置、ロボット、ロボットシステム、並びに、カメラの校正方法 | |
JP2018051704A (ja) | ロボット制御装置、ロボット、及びロボットシステム | |
CN108748149B (zh) | 一种复杂环境下基于深度学习的无标定机械臂抓取方法 | |
CN113379849A (zh) | 基于深度相机的机器人自主识别智能抓取方法及系统 | |
CN111546328A (zh) | 基于三维视觉测量的手眼标定方法 | |
JP2017170571A (ja) | ロボット、ロボット制御装置、及びロボットシステム | |
CN114310901B (zh) | 用于机器人的坐标系标定方法、装置、系统以及介质 | |
CN112454366A (zh) | 一种手眼标定方法 | |
CN109945780A (zh) | 物体检查系统以及物体检查方法 | |
CN114310880A (zh) | 一种机械臂标定方法及装置 | |
CN115588054A (zh) | 无角度约束的相机标定方法、装置、电子设备及存储介质 | |
CN113070877B (zh) | 一种面向七轴机械臂视觉示教的可变姿态映射方法 | |
CN111098306A (zh) | 机器人的标定方法、装置、机器人和存储介质 | |
WO2020010625A1 (zh) | 机器人运动学模型优化方法、系统和存储装置 | |
CN113561172B (zh) | 一种基于双目视觉采集的灵巧手控制方法及装置 | |
WO2021200438A1 (ja) | 較正システム、情報処理システム、ロボット制御システム、較正方法、情報処理方法、ロボット制御方法、較正プログラム、情報処理プログラム、較正装置、情報処理装置、及びロボット制御装置 | |
Scaria et al. | Cost Effective Real Time Vision Interface for Off Line Simulation of Fanuc Robots | |
Axelrod et al. | Improving hand-eye calibration for robotic grasping and manipulation | |
CN112533739A (zh) | 机器人控制装置、机器人控制方法以及机器人控制程序 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |