CN116379984B - 一种工业机器人定位精度校准方法和*** - Google Patents
一种工业机器人定位精度校准方法和*** Download PDFInfo
- Publication number
- CN116379984B CN116379984B CN202310350362.2A CN202310350362A CN116379984B CN 116379984 B CN116379984 B CN 116379984B CN 202310350362 A CN202310350362 A CN 202310350362A CN 116379984 B CN116379984 B CN 116379984B
- Authority
- CN
- China
- Prior art keywords
- detection
- detection position
- motion unit
- positions
- acquiring
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000001514 detection method Methods 0.000 claims abstract description 388
- 230000033001 locomotion Effects 0.000 claims abstract description 170
- 238000012360 testing method Methods 0.000 claims abstract description 52
- 230000002776 aggregation Effects 0.000 claims description 90
- 238000004220 aggregation Methods 0.000 claims description 63
- 230000002159 abnormal effect Effects 0.000 claims description 24
- 238000009826 distribution Methods 0.000 claims description 18
- 230000005856 abnormality Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
- G01B21/02—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness
- G01B21/04—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring length, width, or thickness by measuring coordinates of points
- G01B21/042—Calibration or calibration artifacts
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C25/00—Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Manufacturing & Machinery (AREA)
- Manipulator (AREA)
Abstract
本发明公开一种工业机器人定位精度校准方法和***,涉及运动校准领域。本发明包括,向机器人的运动单元发送测试控制指令,控制指令要求运动单元位移至指令位置;在运动单元执行控制指令并静止之后,多次获取运动单元的检测位置;根据运动单元的多个检测位置获取运动单元的实际位置;根据运动单元的指令位置和实际位置的空间获取运动单元的运动空间误差;根据运动单元的运动空间误差计算运动单元的测试定位精度;若运动单元的测试定位精度不符合设定精度要求,则根据运动单元的运动空间误差对运动单元进行校准。本发明使用相对而言精度较低但成本低廉的定位方式也能够实现高精度的定位校准。
Description
技术领域
本发明属于运动校准技术领域,特别是涉及一种工业机器人定位精度校准方法和***。
背景技术
工业机器人在制造业中发挥着越来越重要的作用,尤其是在装配、搬运、焊接等领域。为了满足生产的精度要求,工业机器人的定位精度至关重要。然而,由于制造过程中的误差、装配误差和外部环境的影响,工业机器人的定位精度可能会受到影响。为了提高工业机器人的定位精度,需要对其进行校准。
现有的定位校准方法通过高精度的测量进行检测,但这种方式需要借助成本较高的高精度量具,例如激光定位仪,导致校准成本居高不下。
在公开号为CN110539309A的专利中公开了一种基于激光找正和视觉测量的机械臂制孔定位***,包括激光测距传感器,通过测量机械臂电主轴与工件的位置,智能相机,通过图像识别***完成制孔位置精确定位;制孔执行器平台,用于固定激光测距传感器和智能相机,采用高精度伺服驱动,保证制孔的深度精度;机械臂制孔控制***,用于处理从激光测距传感器和智能相机测得的数据;机械臂本体控制***,用于控制机械臂的高精度高可靠运动。该方案依靠激光和计算机视觉复合方式实现对机械臂的高精度定位和校准,成本较高。
发明内容
本发明的目的在于提供一种工业机器人定位精度校准方法和***,通过多次测量的方式检测出机器人的实际运动状态,并据此实现对机器人的定位校准,使用相对而言精度较低但成本低廉的定位方式也能够实现高精度的定位校准。
为解决上述技术问题,本发明是通过以下技术方案实现的:
本发明提供一种工业机器人定位精度校准方法,包括,
向机器人的运动单元发送测试控制指令,所述控制指令要求所述运动单元位移至所述指令位置;
在所述运动单元执行所述控制指令并静止之后,
多次获取运动单元的检测位置;
根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置;
根据所述运动单元的所述指令位置和所述实际位置的空间获取所述运动单元的运动空间误差;
根据所述运动单元的运动空间误差计算所述运动单元的测试定位精度;
若所述运动单元的测试定位精度不符合设定精度要求,则根据所述运动单元的运动空间误差对所述运动单元进行校准。
在本发明的一个实施例中,所述根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置的步骤,包括,
在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置;
根据所述运动单元的正常检测位置获取正常检测位置的空间分布区域;
根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域;
获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置;
获取每个检测位置空间聚集区域内正常检测位置的数量;
根据每个检测位置空间聚集区域内正常检测位置的数量对检测位置空间聚集区域的聚集中心位置进行修正得到所述运动单元的实际位置。
在本发明的一个实施例中,所述在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置的步骤,包括,
对于每个所述检测位置,获取距离最近的其它所述检测位置;
获取每个所述检测位置与其它距离最近的所述检测位置的距离,作为所述每个所述检测位置的邻接距离;
获取全部所述检测位置的邻接距离的均值作为均邻距离;
根据每个所述检测位置的邻接距离以及均邻距离获取每个所述检测位置在均邻距离的范围内其它所述检测位置的数量;
根据在均邻距离范围内其它所述检测位置的数量对所述检测位置进行异常检测后得到正常检测位置。
在本发明的一个实施例中,所述根据在均邻距离范围内其它所述检测位置的数量对所述检测位置进行异常检测后得到正常检测位置的步骤,包括,
将在均邻距离范围内其它所述检测位置的数量为零的所述检测位置作为预异常检测位置;
获取全部所述检测位置的坐标均值作为检测均值位置;
获取检测均值位置到每个预异常检测位置的连线;
判断检测均值位置到每个预异常检测位置的连线的延长线是否落入其它所述检测位置的均邻距离范围;
若落入则将该预异常检测位置作为正常检测位置;
若落入则将该预异常检测位置作为异常的所述检测位置;
排除异常的所述检测位置后得到正常检测位置。
在本发明的一个实施例中,所述根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域的步骤,包括,
从多个正常检测位置中随机抽取出若干个作为基准检测位置;
获取基准检测位置与其它正常检测位置的距离;
将其它正常检测位置与距离最近的基准检测位置进行配对,得到每个基准检测位置配对的多个其它正常检测位置;
将所述每个基准检测位置及其配对的其它正常检测位置组成一个检测位置集合;
获取检测位置集合内全部正常检测位置的空间坐标的均值坐标作为更新后的基准检测位置;
根据更新后的基准检测位置持续更新检测位置集合,并获取每次更新后所述基准检测位置的改变距离;
若更新后所述基准检测位置的改变距离小于检测均值位置则停止更新对应的检测位置集合;
当全部的检测位置集合停止更新,则将每个检测位置集合内正常检测位置分布的空间作为检测位置空间聚集区域。
在本发明的一个实施例中,所述获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置的步骤,包括,
对于每个检测位置空间聚集区域,
获取检测位置空间聚集区域内每个正常检测位置在均邻距离内的其它正常检测位置的数量;
将在均邻距离内的其它正常检测位置的数量最多的正常检测位置作为检测位置空间聚集区域的聚集中心位置。
在本发明的一个实施例中,所述方法还包括,
获取每个检测位置空间聚集区域内全部正常检测位置的数量;
将检测位置空间聚集区域内全部正常检测位置的数量作为检测位置空间聚集区域的聚集中心位置的权重;
根据每个聚集中心位置的权重,获取全部检测位置空间聚集区域的聚集中心位置的加权平均空间坐标作为所述运动单元的实际位置。
在本发明的一个实施例中,所述方法还包括,
对校准之后的所述运动单元,再次发送测试控制指令并获取所述运动单元的测试定位精度;
判断所述运动单元的测试定位精度是否符合设定精度要求;
若符合,则完成对所述运动单元的校准。
在本发明的一个实施例中,所述方法还包括,
若不符合,则对所述运动单元发送测试控制指令、获取所述运动单元的测试定位精度以及对所述运动单元进行校准;
获取每次校准后所述运动单元的测试定位精度;
若每次校准后所述运动单元的测试定位精度逐渐收敛,则重复对所述运动单元发送测试控制指令、获取所述运动单元的测试定位精度以及对所述运动单元进行校准;
若每次校准后所述运动单元的测试定位精度不收敛,则结束校准。
本发明还公开了一种工业机器人定位精度校准***,
指令发出单元,用于向机器人的运动单元发送测试控制指令,所述控制指令要求所述运动单元位移至所述指令位置;
测量单元,用于在所述运动单元执行所述控制指令并静止之后,多次获取运动单元的检测位置;
计算单元,用于多次获取运动单元的检测位置;
根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置;
根据所述运动单元的所述指令位置和所述实际位置的空间获取所述运动单元的运动空间误差;
根据所述运动单元的运动空间误差计算所述运动单元的测试定位精度;
校准单元,若所述运动单元的测试定位精度不符合设定精度要求,则根据所述运动单元的运动空间误差对所述运动单元进行校准。
本发明对机器人的运动单元发送测试控制指令后多次测量获取运动单元的检测位置,通过对多个检测位置进行分析得到运动单元的精确实际位置。之后即可以通过将实际位置和指令位置进行比对从而实现对机器人的高精度定位校准。在此过程中不需要使用高成本高精度的校准仪器设备也能够实现对机器人的高精度定位和校准。
当然,实施本发明的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所述一种工业机器人定位精度校准方法于一实施例的实施流程示意图;
图2为本发明所述步骤S3于一实施例的示意图;
图3为本发明所述步骤S31于一实施例的示意图;
图4为本发明所述步骤S315于一实施例的示意图;
图5为本发明所述步骤S33于一实施例的示意图;
图6为本发明所述步骤S34于一实施例的示意图;
图7为本发明所述步骤S36于一实施例的示意图;
图8为本发明所述一种工业机器人定位精度校准方法于一实施例的实施流程示意图二;
图9为本发明所述一种工业机器人定位精度校准方法于一实施例的实施流程示意图三;
图10为本发明所述一种工业机器人定位精度校准***于一实施例的功能模块以及信息流向示意图。
附图中,各标号所代表的部件列表如下:
1-指令发出单元,2-测量单元,3-计算单元,4-校准单元。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
机器人的运动单元例如机械臂行走机构在长时间的运转之后,由于驱动结构和传动结构的误差、老化等各种原因可能导致定位精度下降,导致机器人执行指令出现偏差。可以采用高精度校准的方式对机器人进行定位校准,但此种方式需要借助成本高昂的设备,为了降低校准成本,本发明提供以下方案。
请参阅图1和10所示,本发明提供了一种工业机器人定位精度校准***,从功能模块上划分可以分为指令发出单元、测量单元、计算单元以及校准单元。其中指令发出单元可以是PLC控制器,用于执行步骤S1向机器人的运动单元发送测试控制指令,控制指令要求运动单元位移至指令位置。在运动单元执行控制指令并静止之后由测量单元多次获取运动单元的检测位置。计算单元首先执行步骤S2多次获取由测量单元测量的运动单元的检测位置,之后可以执行步骤S3根据运动单元的多个检测位置获取运动单元的实际位置。接下来可以执行步骤S4根据运动单元的指令位置和实际位置的空间获取运动单元的运动空间误差。接下来可以执行步骤S5根据运动单元的运动空间误差计算运动单元的测试定位精度,定位测试精度的计算方式可以通过运动单元的运动空间误差的有效数字首位的位数得到,例如运动单元的运动空间误差为0.0024米,那么运动单元的测试定位精度可以是0.002米。最后由校准单元判断运动单元的测试定位精度是否符合设定精度要求,则若不符合则最后可以执行步骤S6根据运动单元的运动空间误差对运动单元进行校准。
请参阅图2所示,为了缩减检测成本,需要使用检测精度较低的测量单元,为了据此实现对运动单元的高精度定位检测,首先可以执行步骤S31在全部的检测位置中剔除异常的检测位置得到运动单元的正常检测位置。接下来可以执行步骤S32根据运动单元的正常检测位置获取正常检测位置的空间分布区域,接下来可以执行步骤S33根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域。接下来可以执行步骤S34获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置。接下来可以执行步骤S35获取每个检测位置空间聚集区域内正常检测位置的数量。最后可以执行步骤S36根据每个检测位置空间聚集区域内正常检测位置的数量对检测位置空间聚集区域的聚集中心位置进行修正得到运动单元的实际位置。通过对多个精度较低的检测位置进行分析处理,得到精度较高的实际位置。在实施过程中可以通过以下代码实现:
这段代码定义了一个名为process_positions的函数,用于处理输入的位置数据。首先,通过调用之前定义的find_abnormal_positions函数剔除异常检测位置。接着,获取正常检测位置的空间分布区域,并将其划分为若干个检测位置空间聚集区域。然后,获取每个区域中的中心和正常检测位置的数量。最后,根据正常检测位置的数量对聚集中心位置进行修正,得到运动单元的高精度实际位置。
请参阅图3所示,由于测量单元检测得到的检测位置可能会有较大的偏离误差,为了避免此问题,对于每个检测位置,首先可以执行步骤S311获取距离最近的其它检测位置。接下来可以执行步骤S312获取每个检测位置与其它距离最近的检测位置的距离,作为每个检测位置的邻接距离。接下来可以执行步骤S313获取全部检测位置的邻接距离的均值作为均邻距离。接下来可以执行步骤S314根据每个检测位置的邻接距离以及均邻距离获取每个检测位置在均邻距离的范围内其它检测位置的数量。最后可以执行步骤S315根据在均邻距离范围内其它检测位置的数量对检测位置进行异常检测后得到正常检测位置。在具体执行的过程中可以通过以下代码实现:
这段代码定义了两个函数:get_nearest_neighbor_distances和get_normal_positions。get_nearest_neighbor_distances函数用于计算每个检测位置与距离最近的其它检测位置之间的距离。get_normal_positions函数首先获取每个检测位置的邻接距离,然后计算全部检测位置的邻接距离的均值,接着获取每个检测位置在均邻距离范围内其它检测位置的数量,最后根据这些数量进行异常检测,得到正常检测位置。
请参阅图4所示,检测位置在空间上的分布可以是围绕少数核心散列分布,需要排除的异常检测位置在空间上应该是位于分布圈层的最***,依据此原理首先可以执行步骤S3151将在均邻距离范围内其它检测位置的数量为零的检测位置作为预异常检测位置。接下来可以执行步骤S3152获取全部检测位置的坐标均值作为检测均值位置,接下来可以执行步骤S3153获取检测均值位置到每个预异常检测位置的连线。接下来可以执行步骤S3154判断检测均值位置到每个预异常检测位置的连线的延长线是否落入其它检测位置的均邻距离范围。若落入则接下来可以执行步骤S3155将该预异常检测位置作为正常检测位置,若落入则接下来可以执行步骤S3156将该预异常检测位置作为异常的检测位置。最后可以执行步骤S3157排除异常的检测位置后得到正常检测位置。在具体实施的过程中可以通过以下代码实现:
这段代码定义了一个名为find_abnormal_positions的函数。首先,将在均邻距离范围内其它检测位置的数量为零的检测位置作为预异常检测位置。接着,获取全部检测位置的坐标均值作为检测均值位置。然后,获取检测均值位置到每个预异常检测位置的连线。接下来,判断检测均值位置到每个预异常检测位置的连线的延长线是否落入其它检测位置的均邻距离范围。若落入,则将该预异常检测位置作为正常检测位置;否则,将其作为异常的检测位置。
请参阅图5所示,由于检测位置在空间上的分布可能是以多个核心为中心进行分布的,考虑到此情况,
首先可以执行步骤S331从多个正常检测位置中随机抽取出若干个作为基准检测位置。接下来可以执行步骤S332获取基准检测位置与其它正常检测位置的距离。接下来可以执行步骤S333将其它正常检测位置与距离最近的基准检测位置进行配对,得到每个基准检测位置配对的多个其它正常检测位置。接下来可以执行步骤S334将每个基准检测位置及其配对的其它正常检测位置组成一个检测位置集合。接下来可以执行步骤S335获取检测位置集合内全部正常检测位置的空间坐标的均值坐标作为更新后的基准检测位置,接下来可以执行步骤S336根据更新后的基准检测位置持续更新检测位置集合,并获取每次更新后基准检测位置的改变距离。若更新后基准检测位置的改变距离小于检测均值位置则接下来可以执行步骤S337停止更新对应的检测位置集合。当全部的检测位置集合停止更新,则最后可以执行步骤S338将每个检测位置集合内正常检测位置分布的空间作为检测位置空间聚集区域。本方案在实施的过程中可以通过以下代码实现:
/>
这段代码定义了两个函数:get_base_positions和update_base_positions。get_base_positions函数从多个正常检测位置中随机抽取出若干个作为基准检测位置。update_base_positions函数根据更新后的基准检测位置持续更新检测位置集合,当更新后基准检测位置的改变距离小于检测均值位置时停止更新对应的检测位置集合。
在示例中,我们使用get_base_positions函数从正常检测位置中随机抽取两个作为基准检测位置,并使用update_base_positions函数更新基准检测位置。
请参阅图6所示,对于不同的检测位置空间聚集区域可能具有不同数量的正常检测位置,有鉴于此,对于每个检测位置空间聚集区域,首先可以执行步骤S341获取检测位置空间聚集区域内每个正常检测位置在均邻距离内的其它正常检测位置的数量。最后可以执行步骤S342将在均邻距离内的其它正常检测位置的数量最多的正常检测位置作为检测位置空间聚集区域的聚集中心位置。本方案在执行的过程中可以通过以下代码实现:
这段代码定义了两个函数:
get_nearest_neighbor_counts和get_cluster_centers。get_nearest_neighbor_counts函数获取检测位置空间聚集区域内每个正常检测位置在均邻距离内的其它正常检测位置的数量。get_cluster_centers函数将在均邻距离内的其它正常检测位置的数量最多的正常检测位置作为检测位置空间聚集区域的聚集中心位置。
在示例中,我们使用get_cluster_centers函数从正常检测位置和更新后的基准检测位置中获取检测位置空间聚集区域的聚集中心位置。
请参阅图7所示,由于检测位置空间聚集区域的数量可能是多个,但是运动单元的实际位置只能是一个,因此需要综合聚集中心位置的具体状况,为了实现此目的,首先可以执行步骤S361获取每个检测位置空间聚集区域内全部正常检测位置的数量。接下来可以执行步骤S362将检测位置空间聚集区域内全部正常检测位置的数量作为检测位置空间聚集区域的聚集中心位置的权重。最后可以执行步骤S363根据每个聚集中心位置的权重,获取全部检测位置空间聚集区域的聚集中心位置的加权平均空间坐标作为运动单元的实际位置。本方案在执行的过程中可以通过以下代码实现:
这段代码定义了两个函数:
get_cluster_weights和get_weighted_avg_cluster_centers。get_cluster_weights函数获取每个检测位置空间聚集区域内全部正常检测位置的数量,作为检测位置空间聚集区域的聚集中心位置的权重。get_weighted_avg_cluster_centers函数根据每个聚集中心位置的权重,获取全部检测位置空间聚集区域的聚集中心位置的加权平均空间坐标作为运动单元的实际位置。
在示例中,我们使用get_cluster_weights函数获取聚集中心位置的权重,然后使用get_weighted_avg_cluster_centers函数计算加权平均聚集中心位置。
请参阅图8所示,对机器人进行一次定位校准之后未必能够完成校准,有鉴于此需要进行校准检查,也就是对校准之后的运动单元,重复执行步骤S1至S5再次发送测试控制指令并获取运动单元的测试定位精度。判断运动单元的测试定位精度是否符合设定精度要求,若符合则完成对运动单元的校准。
请参阅图9所示,如果经过两次甚至三次精度校准之后仍然不符合要求,但是每次检测出来的精度误差在逐渐收敛也可以继续校准检测,在实施的过程中判断运动单元的测试定位精度是否符合设定的精度要求,若不符合,则对运动单元发送测试控制指令、获取运动单元的测试定位精度以及对运动单元进行校准。在每次检测校准的过程中获取每次校准后运动单元的测试定位精度,接下来可以执行步骤S7若每次校准后运动单元的测试定位精度逐渐收敛,则重复对运动单元发送测试控制指令、获取运动单元的测试定位精度以及对运动单元进行校准,若每次校准后运动单元的测试定位精度不收敛,则结束校准。据此实现对机器人运动单元的逐步校准,同时也能够在无法校准的状态下及时停止。
综上所述,本方案在执行的过程中对机器人的运动单元进行多次低精度检测得到多个检测位置,通过对多个检测位置进行筛选、判断和分析得到运动单元的实际位置。通过将实际位置和指令位置进行对比得到机器人的定位精度,并据此进行校准。由于本方案中不需要依赖高成本高精度的量具,因此具有实施成本低的优点。
本发明所示实施例的上述描述(包括在说明书摘要中的内容)并非意在详尽列举或将本发明限制到本文所公开的精确形式。尽管在本文仅为说明的目的而描述了本发明的具体实施例和本发明的实例,但是正如本领域技术人员将认识和理解的,各种等效修改是可以在本发明的精神和范围内的。如所指出的,可以按照本发明实施例的上述描述来对本发明进行这些修改,并且这些修改将在本发明的精神和范围内。
本文已经在总体上将***和方法描述为有助于理解本发明的细节。此外,已经给出了各种具体细节以提供本发明实施例的总体理解。然而,相关领域的技术人员将会认识到,本发明的实施例可以在没有一个或多个具体细节的情况下进行实践,或者利用其它装置、***、配件、方法、组件、材料、部分等进行实践。在其它情况下,并未特别示出或详细描述公知结构、材料和/或操作以避免对本发明实施例的各方面造成混淆。
因而,尽管本发明在本文已参照其具体实施例进行描述,但是修改自由、各种改变和替换意在上述公开内,并且应当理解,在某些情况下,在未背离所提出发明的范围和精神的前提下,在没有对应使用其他特征的情况下将采用本发明的一些特征。因此,可以进行许多修改,以使特定环境或材料适应本发明的实质范围和精神。本发明并非意在限制到在下面权利要求书中使用的特定术语和/或作为设想用以执行本发明的最佳方式公开的具体实施例,但是本发明将包括落入所附权利要求书范围内的任何和所有实施例及等同物。因而,本发明的范围将只由所附的权利要求书进行确定。
Claims (8)
1.一种工业机器人定位精度校准方法,其特征在于,包括,
向机器人的运动单元发送测试控制指令,所述控制指令要求所述运动单元位移至指令位置;
在所述运动单元执行所述控制指令并静止之后,
多次获取运动单元的检测位置;
根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置;
根据所述运动单元的所述指令位置和所述实际位置的空间获取所述运动单元的运动空间误差;
根据所述运动单元的运动空间误差计算所述运动单元的测试定位精度;
若所述运动单元的测试定位精度不符合设定精度要求,则根据所述运动单元的运动空间误差对所述运动单元进行校准;其中,
所述根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置的步骤,包括,
在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置;
根据所述运动单元的正常检测位置获取正常检测位置的空间分布区域;
根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域;
获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置;
获取每个检测位置空间聚集区域内正常检测位置的数量;
根据每个检测位置空间聚集区域内正常检测位置的数量对检测位置空间聚集区域的聚集中心位置进行修正得到所述运动单元的实际位置;其中,
所述在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置的步骤,包括,
对于每个所述检测位置,获取距离最近的其它所述检测位置;
获取每个所述检测位置与其它距离最近的所述检测位置的距离,作为所述每个所述检测位置的邻接距离;
获取全部所述检测位置的邻接距离的均值作为均邻距离;
根据每个所述检测位置的邻接距离以及均邻距离获取每个所述检测位置在均邻距离的范围内其它所述检测位置的数量;
根据在均邻距离范围内其它所述检测位置的数量对所述检测位置进行异常检测后得到正常检测位置。
2.根据权利要求1所述的方法,其特征在于,所述根据在均邻距离范围内其它所述检测位置的数量对所述检测位置进行异常检测后得到正常检测位置的步骤,包括,
将在均邻距离范围内其它所述检测位置的数量为零的所述检测位置作为预异常检测位置;
获取全部所述检测位置的坐标均值作为检测均值位置;
获取检测均值位置到每个预异常检测位置的连线;
判断检测均值位置到每个预异常检测位置的连线的延长线是否落入其它所述检测位置的均邻距离范围;
若落入则将该预异常检测位置作为正常检测位置;
若落入则将该预异常检测位置作为异常的所述检测位置;
排除异常的所述检测位置后得到正常检测位置。
3.根据权利要求1所述的方法,其特征在于,所述根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域的步骤,包括,
从多个正常检测位置中随机抽取出若干个作为基准检测位置;
获取基准检测位置与其它正常检测位置的距离;
将其它正常检测位置与距离最近的基准检测位置进行配对,得到每个基准检测位置配对的多个其它正常检测位置;
将所述每个基准检测位置及其配对的其它正常检测位置组成一个检测位置集合;
获取检测位置集合内全部正常检测位置的空间坐标的均值坐标作为更新后的基准检测位置;
根据更新后的基准检测位置持续更新检测位置集合,并获取每次更新后所述基准检测位置的改变距离;
若更新后所述基准检测位置的改变距离小于检测均值位置则停止更新对应的检测位置集合;
当全部的检测位置集合停止更新,则将每个检测位置集合内正常检测位置分布的空间作为检测位置空间聚集区域。
4.根据权利要求1所述的方法,其特征在于,所述获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置的步骤,包括,
对于每个检测位置空间聚集区域,
获取检测位置空间聚集区域内每个正常检测位置在均邻距离内的其它正常检测位置的数量;
将在均邻距离内的其它正常检测位置的数量最多的正常检测位置作为检测位置空间聚集区域的聚集中心位置。
5.根据权利要求1所述的方法,其特征在于,所述根据每个检测位置空间聚集区域内正常检测位置的数量对检测位置空间聚集区域的聚集中心位置进行修正得到所述运动单元的实际位置的步骤,包括,
获取每个检测位置空间聚集区域内全部正常检测位置的数量;
将检测位置空间聚集区域内全部正常检测位置的数量作为检测位置空间聚集区域的聚集中心位置的权重;
根据每个聚集中心位置的权重,获取全部检测位置空间聚集区域的聚集中心位置的加权平均空间坐标作为所述运动单元的实际位置。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括,
对校准之后的所述运动单元,再次发送测试控制指令并获取所述运动单元的测试定位精度;
判断所述运动单元的测试定位精度是否符合设定精度要求;
若符合,则完成对所述运动单元的校准。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括,
若不符合,则对所述运动单元发送测试控制指令、获取所述运动单元的测试定位精度以及对所述运动单元进行校准;
获取每次校准后所述运动单元的测试定位精度;
若每次校准后所述运动单元的测试定位精度逐渐收敛,则重复对所述运动单元发送测试控制指令、获取所述运动单元的测试定位精度以及对所述运动单元进行校准;
若每次校准后所述运动单元的测试定位精度不收敛,则结束校准。
8.一种工业机器人定位精度校准***,其特征在于,
指令发出单元,用于向机器人的运动单元发送测试控制指令,所述控制指令要求所述运动单元位移至指令位置;
测量单元,用于在所述运动单元执行所述控制指令并静止之后,多次获取运动单元的检测位置;
计算单元,用于多次获取运动单元的检测位置;
根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置;
根据所述运动单元的所述指令位置和所述实际位置的空间获取所述运动单元的运动空间误差;
根据所述运动单元的运动空间误差计算所述运动单元的测试定位精度;
校准单元,若所述运动单元的测试定位精度不符合设定精度要求,则根据所述运动单元的运动空间误差对所述运动单元进行校准;其中,
所述根据所述运动单元的多个所述检测位置获取所述运动单元的实际位置的步骤,包括,
在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置;
根据所述运动单元的正常检测位置获取正常检测位置的空间分布区域;
根据正常检测位置将正常检测位置的空间分布区域划分为若干个检测位置空间聚集区域;
获取每个检测位置空间聚集区域中多个正常检测位置的聚集中心作为检测位置空间聚集区域的聚集中心位置;
获取每个检测位置空间聚集区域内正常检测位置的数量;
根据每个检测位置空间聚集区域内正常检测位置的数量对检测位置空间聚集区域的聚集中心位置进行修正得到所述运动单元的实际位置;其中,
所述在全部的所述检测位置中剔除异常的所述检测位置得到所述运动单元的正常检测位置的步骤,包括,
对于每个所述检测位置,获取距离最近的其它所述检测位置;
获取每个所述检测位置与其它距离最近的所述检测位置的距离,作为所述每个所述检测位置的邻接距离;
获取全部所述检测位置的邻接距离的均值作为均邻距离;
根据每个所述检测位置的邻接距离以及均邻距离获取每个所述检测位置在均邻距离的范围内其它所述检测位置的数量;
根据在均邻距离范围内其它所述检测位置的数量对所述检测位置进行异常检测后得到正常检测位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310350362.2A CN116379984B (zh) | 2023-04-03 | 2023-04-03 | 一种工业机器人定位精度校准方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310350362.2A CN116379984B (zh) | 2023-04-03 | 2023-04-03 | 一种工业机器人定位精度校准方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116379984A CN116379984A (zh) | 2023-07-04 |
CN116379984B true CN116379984B (zh) | 2023-10-03 |
Family
ID=86978247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310350362.2A Active CN116379984B (zh) | 2023-04-03 | 2023-04-03 | 一种工业机器人定位精度校准方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116379984B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0339611A (ja) * | 1989-07-06 | 1991-02-20 | Canon Inc | 視覚認識装置を備えたロボツトにおける座標系間のキヤリブレーシヨン方法 |
WO2001071280A2 (en) * | 2000-03-23 | 2001-09-27 | Snap-On Technologies, Inc. | Self-calibrating, multi-camera machine vision measuring system |
CN105021144A (zh) * | 2015-07-08 | 2015-11-04 | 合肥泰禾光电科技股份有限公司 | 一种工业机器人运动学参数标定装置及标定方法 |
CN209446039U (zh) * | 2019-01-17 | 2019-09-27 | 广州橘子电气有限公司 | 一种基于机器视觉的高速定位装置 |
CN110355788A (zh) * | 2019-07-24 | 2019-10-22 | 哈尔滨工业大学(深圳) | 移动操作机器人大尺度空间高精度在线标定*** |
CN110519687A (zh) * | 2019-08-30 | 2019-11-29 | 王艺锦 | 适于机器人的精确定位方法和***、机器人 |
CN112873204A (zh) * | 2021-01-13 | 2021-06-01 | 深圳瀚维智能医疗科技有限公司 | 机器人标定方法、装置、设备及计算机可读存储介质 |
-
2023
- 2023-04-03 CN CN202310350362.2A patent/CN116379984B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0339611A (ja) * | 1989-07-06 | 1991-02-20 | Canon Inc | 視覚認識装置を備えたロボツトにおける座標系間のキヤリブレーシヨン方法 |
WO2001071280A2 (en) * | 2000-03-23 | 2001-09-27 | Snap-On Technologies, Inc. | Self-calibrating, multi-camera machine vision measuring system |
CN105021144A (zh) * | 2015-07-08 | 2015-11-04 | 合肥泰禾光电科技股份有限公司 | 一种工业机器人运动学参数标定装置及标定方法 |
CN209446039U (zh) * | 2019-01-17 | 2019-09-27 | 广州橘子电气有限公司 | 一种基于机器视觉的高速定位装置 |
CN110355788A (zh) * | 2019-07-24 | 2019-10-22 | 哈尔滨工业大学(深圳) | 移动操作机器人大尺度空间高精度在线标定*** |
CN110519687A (zh) * | 2019-08-30 | 2019-11-29 | 王艺锦 | 适于机器人的精确定位方法和***、机器人 |
CN112873204A (zh) * | 2021-01-13 | 2021-06-01 | 深圳瀚维智能医疗科技有限公司 | 机器人标定方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116379984A (zh) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9784554B2 (en) | Method for measuring a rotary axis of a machine tool system | |
CN102706277B (zh) | 一种基于全方位点约束的工业机器人在线零位标定装置及方法 | |
CN105058387A (zh) | 基于激光跟踪仪的一种工业机器人基坐标系标定方法 | |
CN102654387B (zh) | 一种基于空间曲面约束的工业机器人在线标定装置及其实现方法 | |
CN109176517B (zh) | 基于末端名义点约束的串联工业机器人连杆参数标定方法 | |
TW201803706A (zh) | 機器人校正系統與方法 | |
TWM530737U (zh) | 機器人校正系統 | |
CN109903333B (zh) | 机器人工件的坐标系修正方法、装置及电子设备 | |
TWI762371B (zh) | 機械手臂與輪廓感測器座標系相對關係之自動校正方法與系統 | |
TWI754888B (zh) | 校準方法及校準系統 | |
CN110174074B (zh) | 一种用于工业机器人热形变误差补偿的测量装置及方法 | |
CN110220454A (zh) | 一种三坐标定位机构的位姿标定方法 | |
JP5600045B2 (ja) | 三次元測定機の校正方法 | |
US20230069773A1 (en) | Method for calculating compensation parameter of motion error in machine tool, and machine tool | |
CN112361957A (zh) | 一种多个***空间位置关系测量与调整方法 | |
CN112846936A (zh) | 一种在机检测触发式测头精度的标定方法 | |
CN114253217B (zh) | 带有自修正功能的五轴机床rtcp自动标定方法 | |
CN108534676B (zh) | 一种坐标测量机测量空间内空间误差的检验方法 | |
CN116379984B (zh) | 一种工业机器人定位精度校准方法和*** | |
TWI747079B (zh) | 機械手臂的定位精度量測系統與方法 | |
CN113021077A (zh) | 一种数控机床在机测量***的精度校准方法 | |
CN205552534U (zh) | 一种工业机器人轨迹检测装置 | |
CN216846033U (zh) | 基于深矢高工件的内壁测量*** | |
KR101823052B1 (ko) | 자동 선반 가공 후 자동 보정을 위한 가공물 측정 방법 | |
CN106154762B (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 |