首页 > 五金工具 专利正文
机器人操作控制方法、装置和系统与流程

时间:2022-02-15 阅读: 作者:专利查询

机器人操作控制方法、装置和系统与流程

1.本发明涉及智能控制领域,更具体地涉及一种机器人操作控制方法、装置和系统。


背景技术:

2.在机器人的实际使用中,需要在机器人的末端tcp((tool center point,工具中心点))位置增加合适的工具进行搬运、焊接以及喷涂等工作。机器人增加工具之后,原有默认末端tcp位置发生了改变,就需要生成新的工具坐标系将原有末端位置转换成现有的工具末端位置。传统工具坐标系的生成需要在空间中找到工件的一个目标点位置,使用机器人的若干种不同的位姿使机器人现有末端点触碰到工件的目标点位置。该过程需要操作人员手动操纵对机器人的位置和位姿进行改变,同时还需要操作人员用肉眼去观察机器人是否到达指定的位置。当机器人位置接近于目标点位置时,需要降低机器人速度缓慢靠近目标点,否则将很容易碰撞到工件导致工具坐标系创建失败甚至机器人上面的工具损坏等更大的损失。同时在空间中去触碰目标点是需要在不同方向肉眼观察目标点位置的,否则将影响最终生成工具坐标系的精度。因此机器人工具坐标系的生成速度和精度都非常依赖于操作人员操纵机器人的熟练程度,人机交互方面也没有很直观的方案让新手非常方便的去生成工具坐标系,不利于新手进行操作。
3.工具坐标系生成过程操作复杂,需要肉眼观察目标点的问题。同时也没有良好的人机交互方案去指导人员生成机器人工具坐标系。因此,现有技术需要一种机器人控制方那能够解决上述问题。
4.上述在背景部分公开的信息仅用于对本发明的背景做进一步的理解,因此它可以包含对于本领域普通技术人员已知的不构成现有技术的信息。


技术实现要素:

5.本发明提供了一种机器人操作控制方法、装置和系统。本发明的方案能够解决的问题包括:(1)机器人工具坐标系的生成操作复杂,难度高;(2)机器人工具坐标系的生成需要肉眼观察目标点,影响最终精度;(3)没有直观的人机交互方案去指导人员创建工具坐标系。
6.本发明的第一方面提供了一种机器人操作控制方法,包括:s1:通过相机获取机器人和工件的3d图像,使用标定板来对机器人和相机进行手眼标定,并确定机器人坐标系相对于相机坐标系的转换关系;s2:对所述机器人和工件的3d图像进行去噪声处理,根据处理后的数据及所述转换关系构建机器人和工件的3d模型;s3:根据所述3d模型获取工件的特征点,并在显示界面上显示机器人和工件的轮廓以及所述工件的特征点;s4:通过用户选择特征点的位置后,生成使得机器人到达用户选择的特征点的运动轨迹指令;s5:通过选择所述运动轨迹指令,使得机器人移动到指定的目标位置。
7.根据本发明的一个实施例,其中,其中,在所述步骤s1中,所述确定机器人坐标系与相机坐标系的转换关系包括:s11:在xyz方向平移和旋转标定板,通过相机采集不同姿态
标定板的图像;s12:调用视觉算法软件的内部参数标定算来确定标定后的相机内部参数;s13:确定手眼变换矩阵,对手眼变换矩阵求解,并根据标定的相机内部参数获取机器人基坐标系相对于相机坐标系的转换关系。
8.根据本发明的一个实施例,其中,其中所述步骤s13包括:确定:手眼变换矩阵为:
[0009][0010][0011]
其中,w为机器人的基坐标系,e为机器人的工具坐标系,c为摄像机坐标系,g为标定板像素坐标系,为相机坐标系相对于机器人基坐标系的变换矩阵,分别代表机器人基坐标系相对于机器人末端工具中心点的第i、j次变换矩阵,表示标定板相对于机器人末端工具中心点tcp的变换矩阵;将所述手眼变换矩阵两式分别左乘得到再两边同时左乘同时右乘得到令得到ax=xb,对ax=xb进行求解计算。
[0012]
根据本发明的一个实施例,其中在所述步骤s2中,将所述3d图像中的深度数据信息转换为3d点云信息,并采用领域平均法对所述3d点云信息进行去噪处理。
[0013]
根据本发明的一个实施例,其中,所述步骤s2中的对所述机器人和工件的3d图像进行去噪声处理包括:s21:使用空间单元格建立点云信息之间的拓扑关系;s22:找到点云数据中的任意一点pi∈m的k-近邻n(pi),其中m为点云集合,如果在该点pi的k-近邻中有k个相似特征的其他样本,则认为该样本点也同样具有该相似特征;s23:计算该样本点与其k-近邻中其他各点之间的距离并取平均值d(pi),其中,s24:对d(pi)进行判断是否超过设定的阈值范围,若超过则认为样本点pi为噪声点,将噪声滤除;s25:重复s21~s24的操作直到所述机器人和工件的3d图像被完全遍历。
[0014]
根据本发明的一个实施例,其中,在所述步骤s2中,所述根据处理后的数据及所述转换关系构建机器人和工件的3d模型包括:根据去噪后的点云信息进行机器人的末端工具中心点配准,并计算当前相机的位置,根据计算出的相机位置使用采用贪婪投影三角化点云融合算法将当前相机帧的3d点云信息融合到现有模型中,将点云数据进行曲面封装,形成机器人本体以及工件的3d模型。
[0015]
根据本发明的一个实施例,其中,在所述步骤s3中,所述根据所述3d模型获取工件的特征点包括:采用角点检测算法来选择工件边缘的角点,将工件边缘的角点作为工件的特征点,所述角点检测算法包括:s31:形成描述工件3d图像局部灰度的自相关函数e(u,v)=∑
x,y
w(x,y)(f(x+u,y+v)-f(x,y))2,其中,u和v分别为x和y方向上面的相对距离,f为灰度函数,w(x,y)为高斯窗口函数;s32:用微分算子重新定义灰度强度变化得到自相关函数e(u,v)的近似hessian矩阵
s33:定义角点的响应函数r
harris
=detm-k(trace m)2,其中detm表示m的行列式值,trace m表示矩阵的迹,k是经验常数;s34:当r
harris
为局部最大时,确定工件边缘的角点。
[0016]
根据本发明的一个实施例,在所述步骤s4中,机器人运动指令包括movej、movel和movep的一种或种,其中,movej指令用于将机器人轴移动到一个指定的轴位置,所有轴同时到达目标轴位置;movel指令用于工具末端以直线方式运动到目标点;movep指令用于将工具末端以关节运行的方式运行到目标笛卡尔位置,从起点到终点间的轨迹不确定。
[0017]
本发明的第二方面提供了一种机器人操作控制装置,包括包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现上述的方法。
[0018]
本发明的第三方面提供了一种机器人操作控制系统,包括相机、机器人和本发明上述机器人操作控制装置。
[0019]
本发明使用3d相机对机器人本体以及工件进行建模,获得两者的三维点云数据。并使用3dharris角点检测方法获取工件的角点位置信息。将机器人以及工件的3d建模效果显示在pc机或示教器上,并在工件的建模上标注根据角点检测获取的角点位置。用户在pc机或示教器上可以通过点击角点作为特征点自动生成机器人运动轨迹指令,将机器人的工具尖端自动到达特征点的位置。并在到达位置之后,操作人员可以在保证尖端固定位置的前提下改变机器人的位姿。实现机器人若干种不同位姿达到同一特征目标点的效果。该系统和方法使原来繁琐复杂的工具坐标生成过程变得半自动化,人机交互变得更加友好,新手也可以很容易的进行操作,同时也提高了工具坐标生成的效率和质量。
附图说明
[0020]
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图进行简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0021]
图1是本发明的机器人操作控制系统连接关系图。
[0022]
图2是根据本发明的示例性实施例的机器人操作控制方法的流程图。
[0023]
图3是根据本发明的示例性的实施例机器人操作控制方法实施流程图。
具体实施例
[0024]
如在本文中所使用的,词语“第一”、“第二”等可以用于描述本发明的示例性实施例中的元件。这些词语只用于区分一个元件与另一元件,并且对应元件的固有特征或顺序等不受该词语的限制。除非另有定义,本文中使用的所有术语(包括技术或科学术语)具有与本发明所属技术领域的普通技术人员通常理解的含意相同的含意。如在常用词典中定义的那些术语被解释为具有与相关技术领域中的上下文含意相同的含意,而不被解释为具有理想或过于正式的含意,除非在本发明中被明确定义为具有这样的含意。
[0025]
本领域的技术人员将理解的是,本文中描述的且在附图中说明的本发明的装置和
方法是非限制性的示例性实施例,并且本发明的范围仅由权利要求书限定。结合一个示例性实施例所说明或描述的特征可与其他实施例的特征组合。这种修改和变化包括在本发明的范围内。
[0026]
下文中,将参考附图详细描述本发明的示例性实施例。在附图中,省略相关已知功能或配置的详细描述,以避免不必要地遮蔽本发明的技术要点。另外,通篇描述中,相同的附图标记始终指代相同的电路、模块或单元,并且为了简洁,省略对相同电路、模块或单元的重复描述。
[0027]
此外,应当理解一个或多个以下方法或其方面可以通过至少一个控制单元或控制器执行。术语“控制单元”,“控制器”,“控制模块”或者“主控模块”可以指代包括存储器和处理器的硬件设备。存储器或者计算机可读存储介质配置成存储程序指令,而处理器具体配置成执行程序指令以执行将在以下进一步描述的一个或更多进程。而且,应当理解,正如本领域普通技术人员将意识到的,以下方法可以通过包括处理器并结合一个或多个其他部件来执行。
[0028]
本发明的方案利用3d相机和点云技术,对机器人以及工件位置和外形进行建模,获取工件角点作为特征点。并将机器人本体、工件以及特征点显示在pc端或者示教器上。操作人员选择对应特征点作为特征点,可以自动生成轨迹指令方案,将机器人到达特征点位置。并根据工具坐标系创建过程的特点,可以在上位机端改变机器人位姿,自动生成改变位姿的指令方案。可以实现机器人工具坐标系生成的半自动化。使新手也很容易去进行工具坐标系的生成。
[0029]
本发明还提供一种机器人工具坐标系生成系统及方法。采用本发明可以通过3d视觉点云建模以及角点检测的方式,将机器人本体、工件以及特征示教点位显示在上位机上。用户可以根据需求生成运动指令使机器人达到指定为止以及改变位姿,实现了机器人工具坐标系生成的半自动化,方便了不同操作熟练度的操作者创建新的工具坐标系。
[0030]
图1是本发明的机器人操作控制系统连接关系图。
[0031]
如图1所示,(1)为3d相机(2)为示教工件(3)为机器人。首先,架设3d相机kinect,使用工业专用的相机架,将相机架设于机器人及工件的正前方位置,如图1所示。网线将相机通过磁盘录像机连接到pc端或示教器上,使用pc端或机器人示教器发送指令控制相机进行拍照。由于相机存在一定的畸变,因此相机中得到的像素位置、距离等信息并不是真正物体在空间中的真实信息。
[0032]
图2是根据本发明的示例性实施例的机器人操作控制方法的流程图。
[0033]
如图2所示,在步骤s1处,通过相机获取机器人和工件的3d图像,使用标定板来对机器人和相机进行手眼标定,并确定机器人坐标系相对于相机坐标系的转换关系;
[0034]
在步骤s2处,对所述机器人和工件的3d图像进行去噪声处理,根据处理后的数据及所述转换关系构建机器人和工件的3d模型;
[0035]
在步骤s3处,根据所述3d模型获取工件的特征点,并在显示界面上显示机器人和工件的轮廓以及所述工件的特征点;
[0036]
在步骤s4处,通过用户选择特征点的位置后,生成使得机器人到达用户选择的特征点的运动轨迹指令;
[0037]
在步骤s5处,通过选择所述运动轨迹指令,使得机器人移动到指定的目标位置。
[0038]
图3是根据本发明的示例性的实施例机器人操作控制方法实施流程图。
[0039]
如图3所示,首先要确定机器人坐标系与相机坐标系之间的坐标转换关系,即手眼关系。确定的流程如下:
[0040]
s11:在xyz方向平移和旋转标定板,通过相机采集不同姿态标定板的图像;
[0041]
s12:调用视觉算法软件的内部参数标定算来确定标定后的相机内部参数;
[0042]
s13:确定手眼变换矩阵,对手眼变换矩阵求解,并根据标定的相机内部参数获取机器人基坐标系相对于相机坐标系的转换关系。
[0043]
根据本发明的一个或多个实施例,确定机器人坐标系与相机坐标系之间的坐标转换关系,即手眼关系。确定的流程如下:在xyz方向平移和旋转标定板,通过相机采集18张不同姿态halcon标定板的图片;其中,halcon标定板在图1中机器人六轴末端夹取着;调用halcon的内部参数标定算子calibrate_cameras,可以输出标定后的相机内部参数;halcon是德国mvtec公司开发的一套完善的标准的机器视觉算法软件,这里使用的是软件配套的标定板;假设w为机器人的世界坐标系,c为摄像机坐标系,g为标定板像素坐标系。rw为机器人世界坐标系w与摄像机坐标系c之间的转换关系,rc为摄像机坐标系c与标定板像素坐标系g之间的转换关系。通过采集不同姿态的标定板图像,可以得到多个方程式组成的方程组,求解出rw和rc。其中,通过相机标定,建立相机坐标系和机器人坐标系之间的关系,将相机中拍摄的图像位置转换为机器人坐标系下位置。方便机器人移动到该目标位置。最终通过上述算法得到机器人世界坐标系w与标定板像素坐标系g之间的关系为rg=rwrc;
[0044]
根据本发明的一个或多个实施例,在上述坐标变换中,手眼变换矩阵为:
[0045][0046][0047]
其中,w为机器人的基坐标系,e为机器人的工具坐标系,c为摄像机坐标系,g为标定板像素坐标系,为相机坐标系相对于机器人基坐标系的变换矩阵,分别代表机器人基坐标系相对于机器人末端工具中心点的第i、j次变换矩阵,表示标定板相对于机器人末端工具中心点tcp的变换矩阵;将所述手眼变换矩阵两式分别左乘得到再两边同时左乘同时右乘得到令得到ax=xb,对ax=xb进行求解计算。
[0048]
根据本发明的一个或多个实施例,3d相机kinect拍摄的照片包含物体的深度数据信息,相机内部的传感器将深度数据转换为3d点云的信息。为了保证建模的精度,采用邻域平均法对获取的点云数据进行去噪预处理。具体处理过程包括:
[0049]
s21:使用空间单元格建立点云信息之间的拓扑关系;空间内建立n*n*n的正方体格子窗口作为模板,正方体格子中心为当前处理的像素坐标pi,格子中其他元素为当前像素坐标的k-近邻样本坐标;
[0050]
s22:找到点云数据中的任意一点pi∈m的k-近邻n(pi),其中m为点云集合,如果在
该点pi的k-近邻中有k个相似特征的其他样本,则认为该样本点也同样具有该相似特征;
[0051]
s23:计算该样本点与其k-近邻中其他各点之间的距离并取平均值d(pi),其中,
[0052]
s24:对d(pi)进行判断是否超过设定的阈值范围,若超过则认为样本点pi为噪声点,将噪声滤除;
[0053]
s25:重复s21~s24的操作直到所述机器人和工件的3d图像被完全遍历。
[0054]
根据去噪后的点云数据进行icp配准,计算当前帧相机的位置,根据计算出的相机位置使用采用贪婪投影三角化点云融合算法将当前帧的3d点云融合到现有模型中。将点云数据进行曲面封装,该部分直接使用曲面封装,采样点云融合算法建立曲面模型根据点云数据生成三维模型。形成机器人本体以及工件完整的三维模型。并将得到的三维模型显示在pc端或示教器人机交互界面上。
[0055]
根据本发明的一个或度过实施例所述贪婪投影三角化点云融合算法包括:将点云通过法线投影到坐标平面内;对投影得到的点云做平面内的三角化,过程中进行空间区域的增长;根据投影点云的连接关系得到三角网格即为重建得到的曲面模型。
[0056]
根据本发明的一个或多个实施例,机器人工具坐标系的建立过程首先需要将机器人末端位置移动到工件的特定目标点上,一般选择将工件的边缘角点作为特定目标点进行示教,因此采用3dharris角点检测算法自动获取可以选择的工件特定目标点。角点检测算法过程如下:
[0057]
s31:形成描述工件3d图像局部灰度的自相关函数e(u,v)=∑
x,y
w(x,y)(f(x+u,y+v)-f(x,y))2,其中,u和v分别为x和y方向上面的相对距离,f为灰度函数,w(x,y)为高斯窗口函数;
[0058]
s32:用微分算子重新定义灰度强度变化得到自相关函数e(u,v)的近似hessian矩阵
[0059]
s33:定义角点的响应函数r
harris
=detm-k(trace m)2,其中detm表示m的行列式值,trace m表示矩阵的迹,k是经验常数,通常可取0.04;
[0060]
s34:当r
harris
为局部最大时,确定工件边缘的角点。
[0061]
进行工件的角点检测之后将得到的角点也显示在pc端或示教器的人机交互界面上,方便用户选择机器人移动的目标点。当用户选择了目标点后,人机交互界面会自动弹出用户需要选择的机器人运动指令movej、movel、movep等。用户可以选择并自动生成合适的机器人运动指令将机器人移动到指定的目标点。机器人运动指令。
[0062]
根据本发明的一个或多个实施例,movej指令用于将机器人轴移动到一个指定的轴位置,所有轴同时到达目标轴位置。movel指令用于工具末端以直线方式运动到目标点。movep指令用于将工具末端以关节运行的方式运行到目标笛卡尔位置,从起点到终点间的轨迹不确定。
[0063]
根据本发明的一个或多个实例,将机器人移动到指令目标点并进行示教后,还切换机器人的几种不同位姿进行示教。在pc端或示教器界面上,本发明在保证机器人末端位
置不变的情况下,用户可以拖动已经建模好的机器人三维模型形成几种不同的位姿。通过已经得到的手眼关系,得到机器人不同位姿下的实际坐标,自动生成合适的运动指令,达到机器人以多种位姿使尖端达到同一目标点的要求。半自动的完成了机器人工具坐标系的生成。
[0064]
本发明可以很大程度上减少工具坐标系生成的复杂性,并且提供了良好的人机交互方案指导人员去进行工具坐标系的创建。节省了操作人员的时间,不需要手动示教也避免了操作不熟练导致的危险或工件损坏。提高了工具坐标系生成的安全性和可靠性。
[0065]
根据本发明的一个或多个实施例,还提供了一种机器人操作控制装置,包括包括存储器和处理器;所述存储器用于存储计算机程序;所述处理器,用于当执行所述计算机程序时,实现上述的方法。
[0066]
根据本发明的一个或多个实施例,还提供了一种机器人操作控制系统,包括相机、机器人和上述的机器人操作控制装置。
[0067]
根据本发明的一个或多个实施例,本发明的方法中的控制逻辑可以使用存储在非暂时性计算机和/或机器可读介质(例如硬盘驱动器、闪存、只读存储器、光盘、数字多功能磁盘、高速缓存、随机存取存储器和/或任何其他存储设备或存储磁盘)上的编码的指令(例如,计算机和/或机器可读指令)来实现如本发明以上方法的流程的处理,在非暂时性计算机和/或机器可读介质中存储任何时间期间(例如,延长的时间段、永久的、短暂的实例、临时缓存和/或信息高速缓存)的信息。如本文所使用的,术语“非暂时性计算机可读介质”被明确定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。
[0068]
根据本发明的一个或多个实施例,本发明的方法可以使用控制电路、(控制逻辑、主控系统或控制模块)来实现,其可以包含一个或多个处理器,也可以在内部包含有非暂时性计算机可读介质。具体地,主控系统或控制模块可以包括微控制器mcu。用于实现本发明方法的处理的处理器可以诸如但不限于一个或多个单核或多核处理器。(一个或多个)处理器可包括通用处理器和专用处理器(例如,图形处理器、应用处理器等)的任何组合。处理器可与其耦接和/或可包括计存储器/存储装置,并且可被配置为执行存储在存储器/存储装置中的指令,以实现在本发明中控制器上运行的各种应用和/或操作系统。
[0069]
作为本发明示例的上文涉及的附图和本发明的详细描述,用于解释本发明,但不限制权利要求中描述的本发明的含义或范围。因此,本领域技术人员可以很容易地从上面的描述中实现修改。此外,本领域技术人员可以删除一些本文描述的组成元件而不使性能劣化,或者可以添加其它的组成元件以提高性能。此外,本领域技术人员可以根据工艺或设备的环境来改变本文描述的方法的步骤的顺序。因此,本发明的范围不应该由上文描述的实施例来确定,而是由权利要求及其等同形式来确定。
[0070]
尽管本发明结合目前被认为是可实现的实施例已经进行了描述,但是应当理解本发明并不限于所公开的实施例,而相反的,意在覆盖包括在所附权利要求的精神和范围内的各种修改和等同配置。