CN114407012B - 机器人运动校准方法、装置、计算机设备和存储介质 - Google Patents
机器人运动校准方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114407012B CN114407012B CN202210030334.8A CN202210030334A CN114407012B CN 114407012 B CN114407012 B CN 114407012B CN 202210030334 A CN202210030334 A CN 202210030334A CN 114407012 B CN114407012 B CN 114407012B
- Authority
- CN
- China
- Prior art keywords
- robot
- pose
- data
- positioning
- motion data
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 347
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000009466 transformation Effects 0.000 claims abstract description 172
- 239000003550 marker Substances 0.000 claims abstract description 58
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 22
- 238000012216 screening Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 23
- 238000004364 calculation method Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000005259 measurement Methods 0.000 description 7
- 238000013500 data storage Methods 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012634 optical imaging Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本申请涉及一种机器人运动校准方法、系统、装置、计算机设备、存储介质和计算机程序产品。该方法包括:获取机器人的运动数据。其中,运动数据包含机器人在若干位姿组下的位姿运动参数。通过导航定位设备确定第一标记构件在机器人的若干位姿组下的参考相对运动数据。然后,获取候选位姿变换参数,根据候选位姿变换参数与运动数据,计算第一标记构件在机器人的若干位姿组下的模拟相对运动数据。计算参考相对运动数据与模拟相对运动数据间的偏差,将偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。采用本方法实现位姿变换参数的自动化校准。
Description
技术领域
本申请涉及医疗器械技术领域,特别是涉及一种机器人运动校准方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
在工业领域或者医疗领域,越来越多的场景下需要采用机器人完成自动化作业,以实现作业流程的标准化和节约人力资源。然而,在采用机器人进行自动化作业任务的过程中,往往需要机器人满足较高的精度要求,即机器人需要基于高精度的运动学参数的控制完成作业任务,故而需要对机器人的运动学参数进行周期性的校准。其中,机器人的运动学参数可以为机器人的位姿变换参数。
目前的机器人的位姿变换参数的校准方法,依赖高精度测量设备或者高精度工装来实现,例如,激光跟踪仪、激光测距仪等,在机器人到达预设位姿后,技术人员基于高精度测量设备对机器人位姿进行精确测量,来确定机器人的运动偏差,实现对机器人的位姿变换参数的校准。
然而,目前的机器人的位姿变换参数校准方法,技术人员操作校准的过程复杂且需要占用大量人力资源,费时费力。
发明内容
基于此,有必要针对上述技术问题,提供一种机器人运动校准方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种机器人运动校准方法。所述方法包括:
获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;
获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
在其中一个实施例中,所述获取机器人的运动数据,包括:
获取机器人的候选运动数据,根据所述候选运动数据控制所述机器人进行位姿摆位;
通过所述导航定位设备确定所述第一标记构件在所述机器人的不同位姿下的定位数据;
根据预设的筛选规则,对所述定位数据进行筛选,得到筛选后的所述第一标记构件的有效定位数据;
获取所述有效定位数据对应的目标运动数据,作为所述机器人若干位姿组的运动数据。
在其中一个实施例中,所述根据预设的筛选规则,对所述定位数据进行筛选,得到筛选后的所述第一标记构件的有效定位数据,包括:
识别所述第一标记构件在所述机器人不同位姿下每一预设位置点的定位数据是否携带缺失标识,若所述定位数据中未携带缺失标识,则确定所述定位数据为有效定位数据。
在其中一个实施例中,所述机器人上还包含位于机器人基座的第二标记构件,在通过导航定位设备确定第一标记构件在在所述机器人的若干位姿组下的参考相对运动数据之前,所述方法还包括:
通过导航定位设备获取所述机器人进行不同位姿摆位时所述第二标记构件的各定位数据;
根据所述第二标记构件对应的各定位数据间的偏差,确定所述导航定位设备是否发生变动。
在其中一个实施例中,所述根据所述第二标记构件对应的各定位数据间的偏差,确定所述导航定位设备是否发生变动,包括:
根据所述第二标记构件在所述机器人不同位姿下的各定位数据,计算所述各定位数据对应的位置点的中心位置下的定位数据;
分别计算所述不同位姿下的各定位数据与所述中心位置的定位数据间的偏差;
若所述偏差中的最大值大于预设偏差阈值,则确定所述导航定位设备发生位置变动;
若所述偏差中的最大值小于等于预设偏差阈值,则确定所述导航定位设备未发生位置变动。
在一个实施例中,所述通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据,包括:
通过导航定位设备确定位于所述机器人末端的第一标记构件的定位数据;
针对每一位姿组,根据所述第一标记构件在各位姿下的定位数据,确定参考相对运动数据。
在其中一个实施例中,在导航定位设备未发生位置变动的情况下,所述通过导航定位设备确定位于所述机器人末端的所述第一标记构件的定位数据,包括:
通过导航定位设备确定在导航定位设备坐标系下位于所述机器人末端的所述第一标记构件在所述机器人不同位姿下的定位数据。
在其中一个实施例中,在导航定位设备发生位置变动的情况下,所述通过导航定位设备确定位于所述机器人末端的所述第一标记构件的定位数据,包括:
通过导航定位设备以及预设的坐标系转换方法,确定在机器人基座坐标系下位于所述机器人末端的所述第一标记构件在所述机器人不同位姿下的定位数据。
在其中一个实施例中,所述位姿变换参数中包含针对机器人每一关节坐标系下的位姿变换矩阵,所述运动数据包括所述机器人每一关节的角度数据;
所述根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据,包括:
在多组候选位姿变换参数中,根据每一组候选位姿变换参数与所述运动数据中各关节的角度数据,通过运动学算法,确定所述机器人的所述第一标记构件在每一位姿下的定位数据;
根据与所述参考相对运动数据中相同的若干位姿组对应的定位数据,确定所述若干位姿组中两两位姿间的模拟相对运动数据。
在其中一个实施例中,所述计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的所述候选位姿变换参数,确定为校准后的位姿变换参数,包括:
针对每一组候选位姿变换参数下对应的每一所述位姿组,根据所述参考相对运动数据与对应的模拟相对运动数据,计算每一所述位姿组的所述模拟相对运动数据与对应的所述参考相对运动数据间的偏差值;
统计所述候选位姿变换参数对应的所述若干位姿组的偏差值的总和,得到所述候选位姿变换参数的优良度;
在多组候选位姿变换参数中,将所述优良度最小的一组候选位姿变换参数作为所述机器人校准后的位姿变换参数。
在其中一个实施例中,提供了一种机器人运动校准系统,所述机器人运动校准系统包括:导航定位设备、机器人和计算机设备;
所述计算机设备,用于执行上述机器人运动校准方法,以对所述机器人的位姿变换参数进行校准。
在其中一个实施例中,所述导航定位设备,用于确定所述机器人的第一标记构件在每一位姿下的定位数据;并根据所述定位数据,确定所述机器人的第一标记构件在若干位姿组下的参考相对运动数据。
在其中一个实施例中,所述系统还包括显示设备,所述显示设备用于显示所述机器人的位姿摆位。
第二方面,本申请还提供了一种机器人运动校准装置。所述装置包括:
获取模块,用于获取机器人的运动数据;所述运动数据包含机器人在若干位姿组下的位姿运动参数;
第一处理模块,用于通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;
第二处理模块,用于获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
确定模块,用于计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;
获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;
获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;
获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
上述机器人运动校准方法、装置、计算机设备、存储介质和计算机程序产品,计算机设备获取机器人的运动数据。其中,运动数据包含机器人在若干位姿组下的位姿运动参数。然后,计算机设备通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据。进而,计算机设备获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据。最后,计算机设备计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。采用本方法,通过现有的导航定位设备即可实现对机器人的校准,降低位姿变换参数校准要求,同时,通过导航定位设备对机器人确定配对的两个位姿间的参考相对运动数据,以及根据机器人中预存的每一组候选位姿变换参数计算所述机器人配对的两个位姿间的模拟相对运动数据。进而,基于参考相对运动数据与模拟相对运动数据间的偏差,在多组候选位姿变换参数中筛选得到目标位姿变换参数,即为校准后的位姿变换参数,实现位姿变换参数校准的自动化,提高校准效率。
附图说明
图1为一个实施例中机器人运动校准原理示意图;
图2为一个实施例中机器人运动校准方法的流程示意图;
图3为一个实施例中机器人各关节点的结构示意图;
图4为一个实施例中机器人各关节点坐标系的结构示意图;
图5为一个实施例中筛选运动数据步骤的流程示意图;
图6为一个实施例中导航定位设备有效识别区域的示意图;
图7为一个实施例中机器人标记构件在不同位姿下各位置点空间示意图;
图8为一个实施例中导航定位设备有效识别区域的三视图;
图9为一个实施例中检验导航定位设备是否发生位置变动步骤的流程图;
图10为一个实施例中判断导航定位设备位置偏差大小步骤的流程示意图;
图11为一个实施例中确定机器人的参考相对运动数据的流程示意图;
图12为一个实施例中不同位姿下的位置点排序配对示意图;
图13为一个实施例中确定导航定位设备的模拟相对运动数据的流程示意图;
图14为一个实施例中筛选得到目标位姿变换参数步骤的流程示意图;
图15为一个实施例中机器人运动校准系统的结构示意图;
图16为一个实施例中机器人运动校准装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种机器人运动校准方法,该方法通过导航定位设备自身的导航定位设备坐标系,采集标记构件在不同位姿下的定位数据,以此确定配对的若干位姿组间的参考相对运动数据。其中,标记构件可以位于机器人末端。进而,计算机设备以参考相对运动数据作为校准依据,筛选机器人基于多组位移变换参数计算出的若干位姿组间的模拟相对运动数据,得到筛选出的目标模拟相对运动数据,进而确定目标模拟相对运动数据对应的目标位移变换参数,作为机器人校准后的位移变换参数。本申请实施例应用了在不同坐标系下相对运动不变的校准原理。
具体的,如图1所示,本申请所涉及到的校准原理如下所示:
在参考坐标系Refrence中,有目标体Target,其从位姿1运动到位姿2,当Refrence坐标系静止不动时,则位姿2相对于位姿1的相对运动可以表示为:其中,表示目标体处于1时在Refrence坐标系中的位姿,/>表示目标体处于2时在Refrence坐标系中的位姿。
在本申请的机器人运动学参数(即位姿变换参数)校准的过程中,Target表示为标记构件(该标记构件位于机器人基座和末端),Refrence坐标系则既可以表示为机器人基座坐标系,也可以是导航定位设备坐标系,还可以是任意固定不变的坐标系。无论采用上述哪一个作参考坐标系,在位姿变换(由位姿2变换为位姿1)的理论上都只有一个相对运动的真值,其值与参考坐标系的选取无关。基于该原理,假设对应有两组定位数据,数据i和数据j,表达式如下所示:
其中:[θ1,…,θ6]表示机器人的关节1到关节6的6个关节角;表示机器人末端对应的标记构件(也称为第一标记构件)在导航定位设备中的位姿;/>表示机器人基座对应的标记构件(也称为第二标记构件)在导航定位设备中的位姿;则第一标记构件从位姿i到位姿j的相对运动为:
其中:公式(1)中是以导航定位设备坐标系为参考坐标系,确定出的第一标记构件在不同位姿(位姿i到位姿j)间的相对运动数据,公式(2)以第二标记构件所处的局部坐标系为参考坐标系,确定出的第一标记构件在不同位姿(位姿i到位姿j)间的相对运动数据,公式(3)以机器人基座坐标系为参考坐标系(通过式(9)计算得到),确定出的第一标记构件在不同位姿(位姿i到位姿j)间的相对运动数据。在各参考坐标系均静止不动的情况下,若忽略测量误差,则公式(1)、公式(2)和公式(3)应该是相等的。由此可以构造公式(1)等于公式(3),或者公式(2)等于式(3)的等式约束条件,通过计算满足约束条件的位姿变换参数的取值,即可得到校准的位姿变换参数。
基于上述原理,在一个实施例中,如图2所示,提供了一种机器人运动校准方法,以该方法应用于计算机设备为例进行说明,其中,计算机设备可以但不限于为个人计算机、笔记本电脑、智能手机、平板电脑等,本申请实施例不做限定。具体的,该方法包括以下步骤:
步骤202,获取机器人的运动数据。
其中,运动数据包含机器人在若干位姿组下的位姿运动参数。
在实施中,机器人包括机器臂和机器人基座,如图3所示,机器臂可以有6个关节部件(J1~J6),每个关节内部都包含有电机M和与电机轴连接的编码器,6个关节之间由连接杆连接,则机器臂整体对应有6个连接杆(L1~L6)。可选的,在关节6(J6)的末端有法兰F1,末端工具Tool就安装在法兰F1上。本申请实施例中采用mDH(modified Denavit-Hartenberg,一种机器人坐标系建立方法)建立机器人每一关节部件的关节坐标系,如图4所示,针对六个关节部件可以建立独立的关节坐标系,其中,每一关节坐标系的z轴方向为电机轴所在方向,其他轴方向不做限定,可以根据机器人运动需要进行设置。下表1中给出了机器人每一关节部件的mDH参数设置值示例,应当理解,本申请中mDH的参数值可以但不限于为表1中的值。
表1
坐标系 | α/rad | a/mm | θ/rad | d/mm |
1 | 0 | 0 | 0 | L1 |
2 | pi/2 | 0 | pi/2 | 0 |
3 | 0 | L22 | -pi/2 | 0 |
4 | -pi/2 | 0 | 0 | L4 |
5 | pi/2 | 0 | 0 | L5 |
6 | -pi/2 | 0 | 0 | L6 |
其中,各个关节点的坐标系分别按照机器人的6个关节部件的排列顺序确定为坐标系1~6,α表示关节部件绕x轴的旋转角度,a表示关节部件沿x轴移动(平移)的距离,θ表示关节部件绕z轴的旋转角度,d表示关节部件沿z轴移动(平移)的距离。
另外,可知在机器人的运动过程中机器臂受到机器人的驱动器的驱动进行多种位姿摆位,而机器人基座用于支撑机器臂,不随机器臂运动。同时,在机器人上可以还安装标记构件以进行机器人的位姿定位。计算机设备的运动数据存储部(ROM,Read-Only Memory)中存储有对应机器人不同位姿的运动数据,进而,在需要对机器人进行运动校准时,计算机设备可以获取对应机器人不同位姿的运动数据,以进行多种位姿摆位。
当开始进行机器人运动校准时,计算机设备获取机器人的运动数据,该运动数据中可以但不限于包括机器人各个关节的角度数据。例如,一个机器人包含6个关节,则对应的机器人在一个位姿摆位下就有一组(6个)的关节角度数据,用以控制机器人进行不同位姿摆位。
在一种可选的实施方式中,计算机设备将获取到的运动数据传输至机器人,通过机器人中的工控机进行运算处理,得到运动数据对应的不同位姿的机器人控制指令,然后,工控机将对应每一位姿控制指令发送至机器人的驱动器,以指示机器人根据该控制指令进行对应的位姿摆位。
步骤204,通过导航定位设备确定第一标记构件在机器人的若干位姿组下的参考相对运动数据。
其中,每一位姿组中包括两个不同位姿。
在实施中,在机器人进行不同的位姿摆位过程中,导航定位设备基于自身导航定位设备坐标系对位于机器人上的标记构件进行定位并采集定位数据,其中,标记构件的每一定位数据均可以表示机器人所处的一个位姿。进而,在机器人进行不同位姿摆位的过程中,计算机设备基于获取到的不同位姿下的定位数据,可以计算得到任意两个位姿间的相对运动数据,将其作为参考相对运动。
同时,为了减少计算量,提高数据处理效率,计算机设备不会遍历全部的两两位姿组合件的相对运动数据,而是针对摆位过程中得到的多个位姿,预先进行两两位姿配对处理,按照预设规则抽取配对的位姿组。故而,计算机设备可以针对抽取到的位姿组中的两个位姿数据计算参考相对运动数据。
步骤206,获取候选位姿变换参数,根据候选位姿变换参数与运动数据,计算第一标记构件在机器人的若干位姿组下的模拟相对运动数据。
在实施中,计算机设备的运动数据存储部中预先存储有多组候选的位姿变换参数,针对每一组候选位姿变化参数均可以进行模拟相对运动的计算。具体的,计算机设备在运动数据存储部中获取候选位姿变换参数,根据每一组候选位姿变换参数以及获取到的包含不同位姿的运动数据,计算机设备可以计算出位于机器人上的标记构件在机器人基座坐标系下相应位姿的定位数据,进而,根据任意两个不同位姿下的定位数据,计算机设备可以计算两个位姿间的模拟相对运动数据。由于本申请需要利用参考相对运动数据作为相对运动的标准值进行机器人运动校准,因此,模拟相对运动数据中选取的需要计算相对运动数据的若干位姿组需要依据参考相对运动数据中的位姿组配对和抽取规则来确定,例如,机器人摆位过程中存在位姿1、位姿2、位姿3和位姿4这四个位姿,这四个位姿之间可以组成6个位姿组,分别为位姿1和位姿2、位姿1和位姿3、位姿1和位姿4、位姿2和位姿3、位姿2和位姿4、位姿3和位姿4。在确定并抽取配对的位姿组时,计算机设备通过导航定位设备的采集,确定出了位姿1和位姿3、位姿2和位姿4这两个位姿组间的参考相对运动数据,因此,在针对候选位姿变换参数计算模拟相对运动数据时,计算机设备也需要选取与参考相对运动数据同样的位姿组进行模拟相对运动数据的计算,即计算位姿1与位姿3间位姿变换参数对应的模拟相对运动数据,以及位姿2和位姿4间位姿变换参数对应的模拟相对运动数据。
步骤208,计算参考相对运动数据与模拟相对运动数据间的偏差,将偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
在实施中,通过导航定位设备采集标记构件在不同位姿下的定位数据,该定位数据是基于导航定位设备坐标系的定位数据,而根据任意一组候选位姿变换参数与运动数据计算出的不同位姿的定位数据是基于机器人基座坐标系的定位数据,虽然,两种不同方式确定的定位数据所处坐标系不同,但是,根据上述校准原理,只要每种方式的定位数据对应的是同一组位姿变换(例如,均是由位姿1变换为位姿3),则其相对运动应该是相同的。故而,计算机设备计算每一配对的位姿组间的参考相对运动数据与模拟相对运动数据的偏差值,确定相较于导航定位设备定位采集得到的参考相对运动数据,在多组候选位姿变换参数中,由哪一组候选位姿变换参数计算出的模拟相对运动数据是最准确的,进而确定最准确的位姿变换参数为目标位姿变换参数,即机器人校准后的位姿变换参数。
上述机器人运动校准方法中,计算机设备通过现有的导航定位设备即可实现对机器人的校准,降低位姿变换参数校准要求,其中,计算机设备通过导航定位设备确定机器人若干位姿间的参考相对运动数据,并根据机器人中预存的每一组候选位姿变换参数计算机器人若干位姿间的模拟相对运动数据。进而,计算机设备基于参考相对运动数据与模拟相对运动数据间的偏差,在多组候选位姿变换参数中筛选得到目标位姿变换参数,即为校准后的位姿变换参数,实现位姿变换参数校准的自动化,提高校准效率。
在一个实施例中,如图5所示,导航定位设备具有有效识别区域,只有在该区域内的标记构件才可以被导航定位设备识别到,因此,在本申请中的全自动化的机器人运动校准方案中,首先需要确保机器人运动校准过程中的不同位姿运动都可以被导航定位设备有效识别到,进而才可以确定参考相对运动。故计算机设备需要对控制机器人位姿摆位的运动数据进行筛选,因此,步骤202的具体处理过程包括:
步骤502,获取机器人的候选运动数据,根据候选运动数据控制机器人进行位姿摆位。
在实施中,计算机设备中的控制器CPU(中央处理器,Central Processing Unit)通过总线从运动数据存储部(ROM)中获取机器人的候选运动数据。其中,候选运动数据中包含有控制机器人每一位姿摆位所需的关节角度数据。然后,计算机设备可以根据该候选运动数据控制机器人进行相应的位姿摆位。在机器人内部,计算机设备通过通讯接口将该候选运动数据发送至机器人的工控机,触发工控机对该候选运动数据进行分析运算,生成可用于驱动机器人的控制指令,并将该控制指令传输至机器人的驱动器,由驱动器驱动机器人的机器臂进行对应位姿的摆位。
步骤504,通过导航定位设备确定第一标记构件在机器人的不同位姿下的定位数据。
其中,本申请中的导航定位设备可以但不限于为NDI Polaris Vega系列产品,其具有双目红外摄像头,并且该双目红外摄像头具有有效识别区域,如图6所示,该导航定位设备的有效识别区域为空间锥形区域,只有处于该区域内的标记构件才可以被导航定位设备有效识别到。
在实施中,机器人基于候选运动数据进行不同的位姿摆位,然后,由导航定位设备采集位于机器人末端的标记构件在不同位姿下的定位数据。由于导航定位设备存在有效识别区域,因此,在机器人进行不同位姿摆位的过程中可能存在部分位姿摆位下的标记构件中不能有效反射红外光(即标记构件未在导航定位设备的有效识别区域内),故而导致无法被导航定位设备识别到,以致定位失败。此时,导航定位设备会采用预设的缺失值(或者称为缺失标识)来标记该位置点处的定位数据。具体的,机器人的标记构件在不同位姿下的定位数据可以按照5*5*5划分的网格均匀分布,如图7所示,其中每一个圆圈代表标记构件的一个位置点,共有5*5*5=125个点,按照图7中箭头顺序依次排序编号即对应1~125个编号,这125个位置点均匀分布在边长为250mm的立方体中。其中的每一位置点上都对应有n个不同的位姿。
具体的,计算机设备根据候选运动数据控制机器人进行不同位姿摆位的过程可以进一步划分为两个阶段:
阶段一,计算机设备根据候选运动数据中对应初始位姿的运动数据,触发机器人进行初始位姿摆位,进而,通过导航定位设备对该初始位姿下的机器人的标记构件进行定位,并在显示界面中输出标记构件的位置信息,如图8所示,图8为导航定位设备有效识别区域的三视图(即包括:俯视图、正视图和侧视图),其中的初始位姿下的定位数据在显示界面中的显示标识为三视图中心位置处的黑色定位点。根据标记构件输出显示的位置信息与有效识别区域的三视图,计算机设备确定初始位姿摆位下的标记构件位于有效识别区域内。其中,初始位姿下的定位数据位于有效识别区域的中心轴线上为机器人的最优摆位。该中心轴线位置即图7中的Ts位置点处,图7用黑五角星进行标识。
可选的,若初始位姿下的标记构件的定位数据未处于导航定位设备有效显示区域的中心位置处,可以通过调整导航定位设备的采集角度或者调整机器人的整体基座位置,以保证满足机器人初始位姿的最优摆位。
阶段二,在确定了机器人的初始位姿位于导航定位设备有效识别区域的中心位置之后,计算机设备可以基于对应其他不同位姿的候选运动数据,控制机器人进行位姿摆位,进一步实现候选运动数据的数据筛选。
步骤506,根据预设的筛选规则,对定位数据进行筛选,得到筛选后的第一标记构件的有效定位数据。
在实施中,计算机设备针对导航定位设备获取到的不同位姿下的定位数据,根据预设的筛选规则进行数据筛选,筛除其中未被导航定位设备识别到的定位数据,确定出有效定位数据。该有效定位数据即为确保机器人在不同位姿摆位下(也即在若干位姿组下)可以在导航定位设备的有效识别区域内被识别到的定位数据。
步骤508,获取有效定位数据对应的目标运动数据,作为机器人若干位姿组的运动数据。
在实施中,由于有效定位数据是基于机器人运动数据控制摆位得到的,因此,计算机设备反向获取有效定位数据对应的机器人的目标运动数据,将目标运动数据作为校准过程中机器人若干位姿组的运动数据。
计算机设备根据标记构件的定位数据与用于控制的运动数据间的对应关系,筛选确定有效定位数据对应的目标运动数据,即保证机器人进行位姿摆位时不超出导航定位设备有效识别区域的运动数据。进而,计算机设备将该目标运动数据存储至运动数据存储部中,以用于在运动校准过程中进行若干位姿组的位姿摆位控制。一般的,针对图7中的125个位置点,经过数据筛选过后,每个位置点处仅保留一种机器人位姿用于运动校准。
在一个实施例中,针对上述实施例过程中未识别到的定位数据,导航定位设备会为该未识别到的定位数据打上缺失标签,以此作为筛选运动数据的标准对全部的候选运动数据进行筛选。本申请详细描述该运动数据筛选过程,由于导航定位设备确定的定位数据为在导航定位设备的识别区域每一个预设位置点上,故基于导航定位设备坐标系来确定机器人的标记构件在不同位姿摆位下的定位数据。步骤210的具体处理过程为:
识别第一标记构件在机器人不同位姿下每一预设位置点上的定位数据是否携带缺失标识,若定位数据中未携带缺失标识,则确定定位数据为有效定位数据。
在实施中,计算机设备识别由导航定位设备获取到的定位数据,具体为识别标记构件在不同位姿下的定位数据中是否携带导航定位设备打上的缺失标识(也称为缺失标签,missing标识位),若定位数据中未携带该缺失标识,则确定该定位数据为有效定位数据,若该定位数据中携带该缺失标识,则该定位数据为定位识别失败的无效数据。计算机设备删除掉这些无效数据,进而可以确保机器人根据筛选过后的运动数据在进行位姿摆位时,每个位置点上的每个姿态都能够使得其上的标记构件被导航定位设备识别到,无需施以人工干预,便于开展后续机器人的运动校准过程。
在一个实施例中,如图9所示,机器人上还包括位于机器人基座的第二标记构件,由于本申请中需要以导航定位设备采集到的各位姿下的定位数据确定参考相对运动数据,这就需要导航定位设备在采集定位数据的过程中不能进行移动,因此,在步骤204之前,该方法还包括:
步骤902,通过导航定位设备获取机器人进行不同位姿摆位时第二标记构件的各定位数据;
在实施中,由于导航定位设备往往具有可动旋转部件,以便调整其光学识别区域的朝向,这就导致其存在位置或姿态变动的可能性。通常,标记构件距离该导航定位设备的光学成像器件有1米以上的距离,当导航定位设备的光学成像器件发生哪怕只有0.01度的微小转动时,也会导致标记构件产生约0.2毫米的测量偏差。为了消除导航定位设备的变动带来的测量偏差,有必要在运动校准的过程中检测导航定位设备是否发生了变动。具体的,通过导航定位设备获取机器人进行不同位姿摆位时,其上的第二标记构件的各定位数据。
步骤904,根据第二标记构件对应的各定位数据间的偏差,确定导航定位设备是否发生变动。
在实施中,理论上,若导航定位设备的位置未发生移动,位于机器人基座上的第二标记构件也是不发生移动的,因此,第二标记构件的定位数据应该为一定值,故计算机设备根据实际采集到的多个位姿下的第二标记构件的定位数据,计算第二标记构件在不同位姿下的定位数据间的位置偏差,并根据预设的偏差阈值与定位数据间的偏差进行比对,确定导航定位设备是否发生变动。
在一个实施例中,如图10所示,在确定第二标记构件定位数据间的偏差时,本申请采用中心位置偏差方法,确定各定位数据与中心位置间的偏差距离,具体的,步骤904的处理过程包括如下步骤:
步骤1002,根据第二标记构件在机器人不同位姿下的各定位数据,计算各定位数据对应的位置点的中心位置下的定位数据。
在实施中,计算机设备根据第二标记构件在不同位姿下的各定位数据,确定不同位姿对应的中心位置,进而,得到该中心位置下第二标记构件的定位数据。
具体的,导航定位设备为NDI Polaris Vega系列产品,其测量误差在0.2mm内,其确定出的定位数据具有如下格式:
<q0,qx,qy,qz,x,y,z>
其中,<q0,qx,qy,qz>是运动学四元数,表示被标记构件在导航定位设备坐标系下的姿态,<x,y,z>表示标记构件的位置坐标。
假设采集到的第二标记构件定位数据有N组,计算机设备可以计算其名义中心位置<xm,ym,zm>,具体的计算公式如下所示:
<xm,ym,zm>=(∑i=1~N<xi,yi,zi>)/N (4)
步骤1004,分别计算不同位姿下的各定位数据与中心位置的定位数据间的偏差。
在实施中,计算机设备分别计算不同位姿下的各定位数据与中心位置的定位数据间的偏差,其实质也是计算各定位数据中包含的位置坐标与中心位置的位置坐标间的偏差,具体计算公式如下所示:
其中,ei表示位置点i=<xi,yi,zi>处的定位数据与中心位置<xm,ym,zm>处的定位数据间的偏差。
步骤1006,若偏差中的最大值大于预设偏差阈值,则确定导航定位设备发生位置变动。
在实施中,计算机设备根据确定出的每一位置点的定位数据与中心位置的定位数据间的位置偏差,首先确定其中的偏差最大值,即:
emax=maxi=1~Nei (6)
然后,根据偏差最大值进行检测,若偏差中的最大值大于预设偏差阈值(例如,0.3mm),则计算机设备确定该导航定位设备发生了位置变动。
步骤1008,若偏差中的最大值小于等于预设偏差阈值,则确定导航定位设备未发生位置变动。
在实施中,若偏差中的最大值小于等于预设偏差阈值,其实质为在预设偏差阈值之内即是导航定位设备由于自身测量误差造成的位置变动,可忽略不计。则计算机设备确定导航定位设备未发生位置变动,进而表示可以用该导航定位设备获取到的定位数据进行运动校准。
采用本方法,无论是导航定位设备发生位置变动,还是机器人发生位置变动,都会导致导航定位设备采集到的第二标记构件的定位数据发生较大偏移(超过误差范围的偏移),因此,当导航定位设备或者机器人中的任意一个设备发送位置变动时,都可以通过该方法检测出,从而确保后续导航定位设备在严格的位置定位标准下进行运动校准,提高运动校准结果的可靠性。
在一个实施例中,由于在机器人的实际生产中,会因偶然失误导致的过大的装配误差/关节传感器(如编码器)零位误差等误差,这将会导致机器人实际位姿变换参数与标称位姿变换参数的偏差过大,进而导致标称位姿变换参数所对应的优良度过大。当检查到标称位姿变换参数的取值不合理时,应考虑检查机器人的装配/传感器零位环节是否出现错误并考虑是否需要返修。
因此,在检测导航定位设备是否发生位置变动之后,还可以对计算机设备中预先存储的候选位姿变换参数进行预先检查,即对候选位姿变换参数的取值合理性进行检查,其包括:计算标称位姿变换参数(即多组候选位姿变换参数)间的优良度E。其优良度计算方法,本申请实施例后续会详细描述,在此不再赘述。进而,计算机设备可以判断候选位姿变换参数的优良度与预设优良度阈值的大小关系,若E大于预设值,则判定标称位姿变换参数(即候选位姿变换参数)取值不合理,需要舍弃该组候选位姿变换参数,反之,则可以确定该组候选位姿变换参数合理。
在一个实施例中,如图11所示,步骤204的具体处理过程包括:
步骤1102,通过导航定位设备确定位于机器人末端的第一标记构件的定位数据。
在实施中,针对机器人的不同位姿摆位,计算机设备通过导航定位设备采集位于机器人末端的第一标记构件的定位数据。计算机设备可以将不同位姿下的定位数据可以进行两两配对,组成位姿组,以确定位姿间相对运动数据。
具体的,计算机设备根据不同位姿下的定位数据,进行任意两两位姿间配对。配对后的位姿(位姿组)可以表征两两位姿间的位姿转换关系,例如,位姿i和位姿j配对,即表示由位姿i转换为位姿j。若包括N个不同位姿的定位数据,则在进行位姿配对时便可以得到个配对的位姿组,每一位姿组中包含两种不同的位姿。但是,为了减少计算量,提高运动校准效率,计算机设备针对配对后的/>个位姿组,可以采用抽样的方式确定目标位姿组,例如,抽取/>个两两配对的位姿组Pair<Ti,Tj>,其中,Ti表示位姿i,i≤N,Tj表示位姿j,j≤N。
在一种实施方式中,计算机设备按照预设的位姿变化配对规则对不同位姿进行排序,如图12所示,图12中对125个位置点上的定位数据进行排序只是本申请给出的一种示例,并不用于限定具体顺序。在图12中为了提高校准精度,尽可能选择两个位姿间的距离较大的进行配对,进而,计算机设备抽取两个相邻排序的位置点上表征的位姿,组成两两配对的位姿组。例如,位置点编号:1与64,64与2,2与65,……
可选的,除了采用上述排序相邻方式的配对规则,还可以采用其他方式的配对规则,例如,随机抽样方式的配对等,本申请实施例不做限定。
步骤1104,针对每一位姿组,根据第一标记构件在各位姿下的定位数据,确定参考相对运动数据。
在实施中,计算机设备针对抽样出的每一位姿组,根据第一标记构件在该位姿下的定位数据,确定参考相对运动数据。
具体的,以位姿组中包括位姿i和位姿j为例进行说明,和/>是第一标记构件在导航定位设备坐标系下确定出的分别对应位姿组中两个位姿的位姿矩阵(矩阵大小为4*4),其中,/>矩阵简称为/>矩阵简称为/>A表示导航定位设备的坐标系。计算机设备根据两个位姿间的相对运动公式,计算位姿i和位姿j间的参考相对运动数据,具体的相对运动公式如下所示:
其中,表示由位姿i到位姿j间的参考相对运动数据。
在一个实施例中,在确定出导航定位设备未发生位置变动的情况下,由导航定位设备获取到的机器人在不同位姿下的定位数据即是可靠的,因此,步骤1102的具体处理过程为通过导航定位设备确定在导航定位设备坐标系下位于机器人末端的第一标记构件在机器人不同位姿下的定位数据。
在实施中,导航定位设备采集到的定位数据为在导航定位设备坐标系下的定位数据,因此,将导航定位设备实际采集到的定位数据作为准确定位数据,通过导航定位设备的红外摄像头识别定位并采集机器人末端的第一标记构件对应不同位姿的定位数据。进而,根据导航定位设备坐标系下的定位数据,确定位姿组间的参考相对运动数据的过程与上述步骤1104相同,本申请实施例不再赘述。
在一个实施例中,在确定出导航定位设备发生位置变动的情况下,导航定位数据确定出的第一标记构件的定位数据存在较大误差,因此,需要进行坐标系转换,以第二标记构件所处的机器人基座坐标系进行参考相对运动数据的确定,则步骤1102的具体处理过程为通过导航定位设备以及预设的坐标系转换方法,确定在机器人基座坐标系下位于机器人末端的第一标记构件在机器人不同位姿下的定位数据。
在实施中,由于导航定位设备的位置发生变动,因此,在导航定位设备坐标系下的第一标记构件的定位数据存在误差,此时,计算机设备根据预设的坐标系转换方法,将获取到的第一标记构件所处位姿组间两个位姿下的定位数据转换为机器人基座坐标系下的定位数据,由于机器人基座坐标系相对于机器臂来说未发生移动,因此,利用转换后的定位数据表征机器人的位姿。例如,以位姿i和位姿j为例进行说明,则位姿i对应的位姿矩阵即为其中,B表示机器人基座坐标系(也即第二标记构件坐标系),/>表示坐标系转换过程下的位姿矩阵。进而,可以根据转换后的定位数据,确定机器人在位置组间的参考相对运动数据,具体参考运动数据的确定过程与上述步骤1104相同,本申请实施例不再赘述。
在一个实施例中,如图13所示,计算机设备的运动数据存储部中预先存储有多组候选位姿变换参数,每一组位姿变换参数(运动学参数)中包含针对机器人每一关节坐标系下的位姿变换矩阵,获取到的运动数据中包括机器人每一关节的角度数据。则步骤206的具体处理过程包括:
步骤1302,在多组候选位姿变换参数中,根据每一组候选位姿变换参数与运动数据中各关节的角度数据,通过运动学算法,确定机器人的第一标记构件在每一位姿下的定位数据。
在实施中,机器人任一关节的位姿矩阵可以用6个参数表达,例如,机器人的第6关节(J6)的位姿用下述6个参数的表达式为:
其中,α、β和θ表示第六关节部件绕J6坐标系的x、y和z轴的旋转角度,a、b和c表示第6关节部件在J6坐标系的x、y和z轴上的平动。Rot(x,α)表示绕x轴旋转α角度对应的位姿变换矩阵,Trans(x,a)表示沿x轴移动距离a对应的位姿变换矩阵,Rot(y,β)表示绕y轴旋转β角度对应的位姿变换矩阵,Trans(y,b)表示沿y轴移动距离b对应的位姿变换矩阵,Rot(z,θ)表示绕z轴旋转θ角度对应的位姿变换矩阵,Trans(z,d)表示沿z轴移动距离d对应的位姿变换矩阵。
上述公式中的6个参数与上述表1中的mDH参数统称为机器人的位姿变化参数。计算机设备根据预先存储的每一组候选位姿变换参数中机器人各关节的位姿矩阵(4*4矩阵)与运动数据中包含的各关节在其关节坐标系下的角度数据,确定机器人的第一标记构件在机器人基座坐标系下每一位姿对应的定位数据,具体的第一标记构件位姿的表达式如下所示:
其中,公式右边包含的可以简写为/>同理其他参数也可以进行相应简写,即/>在/>中每个参数均包含4个mDH参数,其定义了从关节1到关节6(J1~J6)的位姿转换,/>中包含有6个参数(即Rot(x,α)、Trans(x,a)…Trans(z,d)),定义了从关节6(J6)到第一标记构件的位姿变换,进而,在该第一标记构件位姿的表达式中涉及6*4+6=30个参数,这30个参数即为计算机设备存储的待校准的参数(候选位姿变换参数)。
步骤1304,根据与参考相对运动数据中相同的若干位姿组对应的定位数据,确定若干位姿组中两两位姿间的模拟相对运动数据。
在实施中,当计算机设备根据预设的位姿变化配对规则确定两两配对的位姿组,并确定位姿组中两个位姿的参考相对运动数据之后,计算机设备基于确定出的位姿组,分别确定与参考相对运动数据对应的两个位姿间的模拟相对运动数据,例如,参考相对运动数据表征的是由位姿i转换为位姿j的相对运动,对应的,计算机设备则计算由位姿i转换为位姿j的模拟相对运动数据,用/>表示。
具体的,计算机设备根据第一标记构件位姿i对应的各关节的角度数据以及候选位姿变换参数,结合上述位姿计算公式(9)计算得到位姿i对应的位姿矩阵同样的,计算机设备根据第一标记构件位姿j对应的各关节的角度数据以及候选位姿变换参数,结合上述位姿计算公式(9)计算得到位姿j对应的位姿矩阵/>然后,计算机设备基于上述相对运动公式(即公式(7)),计算该组候选位姿变换参数中位姿组ij对应的模拟相对运动数据:其他对应参考相对运动数据的位姿组与该位姿组处理过程相同,本申请实施例不再赘述。
在一个实施例中,如图14所示,步骤208的具体处理过程包括如下步骤:
步骤1402,针对每一组候选位姿变换参数下对应的每一位姿组,根据参考相对运动数据与对应的模拟相对运动数据,计算每一位姿组的模拟相对运动数据与对应的参考相对运动数据间的偏差值。
在实施中,针对每一组候选位姿变换参数下对应的每一位姿组,根据该位姿组确定出的参考相对运动与模拟相对运动数据,计算该位姿组的两种相对运动数据间的偏差值。例如,针对位姿组ij间的相对运动数据,计算与/>间的偏差值Eij,可选的,偏差值Eij用加权的矩阵F-范数表示,即:
其中,Eij的计算也可以用其他计算方法,比如,采用相对运动的距离偏差和轴角偏差来表征相对运动数据的偏差,因此,本申请实施例对于计算偏差的方法不做限定。
步骤1404,统计候选位姿变换参数对应的若干位姿组的偏差值的总和,得到候选位姿变换参数的优良度。
在实施中,计算机设备统计每一组候选位姿变换参数中全部各位姿组(例如,M个位姿组)的相对运动数据的偏差值的总和,得到对应每一组候选位姿变换参数的优良度。
具体的,优良度E计算公式如下所示:
E=∑MEij (11)
步骤1406,在多组候选位姿变换参数中,将优良度最小的一组候选位姿变换参数作为机器人校准后的位姿变换参数。
在实施中,计算机设备通过预设的寻优计算方法,比对多组候选位姿变换参数对应的优良度,确定优良度最小(即最接近参考相对运动数据)的一组候选位姿变换参数为目标位姿变换参数,作为机器人校准后的位姿变换参数。
可选的,预设的寻优计算方法有多种,例如,可以采用经典的数值优化方法:梯度下降法、高斯—牛顿法等,也可以采用智能优化方法,例如,遗传算法、模拟退火算法等,本申请实施例对于具体寻优方法不做限定。
本实施例中,通过采用相对运动精度为校准指标,避免了计算导航定位设备与机器人之间的坐标变换参数,降低了问题求解的维度。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的机器人运动校准方法的机器人运动校准装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个机器人运动校准装置实施例中的具体限定可以参见上文中对于机器人运动校准方法的限定,在此不再赘述。
在一个实施例中,如图15所示,提供了一种机器人运动校准系统1500,该系统包括:计算机设备1510、导航定位设备1520和机器人1530。其中:
计算机设备1510,用于执行上述实施例中的机器人运动校准方法。
具体的,计算机设备1510,用于获取机器人对应不同位姿的运动数据,并根据运动数据,控制机器人进行不同的位姿摆位。同时,计算机设备1510还用于根据机器人的标记构件在每一位姿下的定位数据确定标记构件在每一位姿组间的参考相对运动数据。还用于在预先存储的多组候选位姿变换参数中,根据每一组候选位姿变换参数与运动数据计算机器人的标记构件对应的不同位姿下的定位数据,并计算标记构件在每一位姿组间的模拟相对运动数据;基于参考相对运动数据与模拟相对运动数据间的偏差,在多组候选位姿变换参数中,确定目标位姿变换参数,作为机器人校准后的位姿变换参数。
在实施中,计算机设备1510包括CPU(1511)、存储器ROM(1512)(或者称为运动数据存储部)以及通讯接口(1513)。CPU(1511)、存储器ROM以及通讯接口(1513)之间通过总线(1516)进行连接。
在一个实施例中,导航定位设备1520,用于确定机器人的标记构件在每一位姿下的定位数据,并根据定位数据,确定机器人的标记构件在若干位姿组下的参考相对运动数据。
在一个实施例中,机器人运动校准系统1500中的计算机设备1510还可以配有外部显示器(1514)和控制器(1515),其中,显示器(1514)用于显示导航定位设备的有效识别区域以及标记构件标识。控制器(1515)用于控制机器人1530进行位姿摆位。
具体的,CPU(1511)用于计算处理运动数据和候选位姿变换参数以实现机器人的运动校准。ROM(1512)用于存储机器人的运动数据和多组候选位姿变换参数等,同时,ROM(1512)还用于存储CPU(1511)执行处理所需的程序等,如计算程序,控制通讯接口(1513)和显示器(1514)的程序等。通讯接口(1513)通过网络通讯如TCP/IP与工控机(1515b)和导航定位设备1520通讯,以获取机器人1530各关节的位置数据和导航定位设备(1510)所定位到的被标记构件的空间方位数据,还通过视频接口如HDMI接口与显示器(1514)通讯,把提示信息显示在显示器(1514)中。
控制器(1515)又包括驱动器(1515a)和工控机(1515b)。由驱动器(1515a)和工控机(1515b)共同实现对机器人1530的运动控制,具体的,由工控机(1515b)接收CPU(1511)通过通讯接口(1513)发送的运动数据,经过运算后再指示驱动器(1515a)驱动机器人1530的各关节的电机M进行运动,使机器人实现位姿摆位。
机器人1530,用于响应于不同位姿的运动数据进行不同的位姿摆位。
在实施中,机器人包括机器臂和机器人基座,机器臂可以有6个关节部件,每个关节内部都包含有电机M和与电机轴连接的编码器,6个关节之间由连接杆连接,则机器臂整体对应有6个连接杆。在机器人1530的第6关节的末端有法兰,末端工具Tool就安装在法兰上。
机器人1530上还预置有至少两个标记构件,第一标记构件A和第二标记构件B,其中,第一标记构件A位于机器人1530的第6关节末端,第二标记构件B位于机器人1530的基座上。
在一个实施例中,如图16所示,提供了一种机器人运动校准装置1600,包括:获取模块1610、第一处理模块1620、第二处理模块1630和确定模块1640,其中:
获取模块1610,用于获取机器人的运动数据,运动数据包含机器人在若干位姿组下的位姿运动参数;
第一处理模块1620,用于通过导航定位设备确定第一标记构件在机器人的若干位姿组下的参考相对运动数据;
第二处理模块1630,用于获取候选位姿变换参数,根据候选位姿变换参数与运动数据,计算第一标记构件在机器人的若干位姿组下的模拟相对运动数据;
确定模块1640,用于计算参考相对运动数据与模拟相对运动数据间的偏差,将偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
在其中一个实施例中,获取模块1610具体用于获取机器人的候选运动数据,根据候选运动数据控制机器人进行位姿摆位;
获取机器人的候选运动数据,根据候选运动数据控制机器人进行位姿摆位;
通过导航定位设备确定第一标记构件在机器人的不同位姿下的定位数据;
根据预设的筛选规则,对定位数据进行筛选,得到筛选后的第一标记构件的有效定位数据;
获取有效定位数据对应的目标运动数据,作为机器人若干位姿组的运动数据。
在其中一个实施例中,获取模块1610具体用于识别第一标记构件在机器人不同位姿下每一预设位置点上的定位数据是否携带缺失标识,若定位数据中未携带缺失标识,则确定定位数据为有效定位数据。
在其中一个实施例中,机器人上还包含位于机器人基座的第二标记构件B,该装置1600还包括:
获取模块,用于通过导航定位设备获取机器人进行不同位姿摆位时第二标记构件B的各定位数据;
确定模块,用于根据第二标记构件B对应的各定位数据间的偏差,确定导航定位设备是否发生变动。
在其中一个实施例中,确定模块具体用于根据第二标记构件B在机器人不同位姿下的各定位数据,计算各定位数据对应的位置点的中心位置下的定位数据;分别计算不同位姿下的各定位数据与中心位置的定位数据间的偏差;
若偏差中的最大值大于预设偏差阈值,则确定导航定位设备发生位置变动;
若偏差中的最大值小于等于预设偏差阈值,则确定导航定位设备未发生位置变动。
在其中一个实施例中,第一处理模块1620,具体用于通过导航定位设备确定位于机器人末端的第一标记构件A的定位数据;
针对每一位姿组,根据第一标记构件A在各位姿下的定位数据,确定参考相对运动数据。
在其中一个实施例中,在导航定位设备未发生位置变动的情况下,第一处理模块1620具体用于通过导航定位设备确定在导航定位设备坐标系下位于机器人末端的第一标记构件A在机器人不同位姿下的定位数据。
在其中一个实施例中,在导航定位设备发生位置变动的情况下,第一处理模块1620还用于通过导航定位设备以及预设的坐标系转换方法,确定在机器人基座坐标系下位于机器人末端的第一标记构件A在机器人不同位姿下的定位数据。
在其中一个实施例中,位姿变换参数中包含针对机器人每一关节坐标系下的位姿变换矩阵,运动数据包括机器人每一关节的角度数据。第二处理模块1630,具体用于在多组候选位姿变换参数中,根据每一组候选位姿变换参数与运动数据中各关节的角度数据,通过运动学算法,确定机器人的第一标记构件A在每一位姿下的定位数据;
根据与参考相对运动数据中相同的若干位姿组对应的定位数据,确定若干位姿组中两两位姿间的模拟相对运动数据。
在其中一个实施例中,确定模块1640,具体用于针对每一组候选位姿变换参数下对应的每一位姿组,根据参考相对运动数据与对应的模拟相对运动数据,计算每一位姿组的模拟相对运动数据与对应的参考相对运动数据间的偏差值;
统计候选位姿变换参数对应的若干位姿组的偏差值的总和,得到候选位姿变换参数的优良度;
在多组候选位姿变换参数中,将优良度最小的一组候选位姿变换参数作为机器人校准后的位姿变换参数。
上述机器人运动校准装置1600中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图17所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种机器人运动校准方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (17)
1.一种机器人运动校准方法,其特征在于,所述方法包括:
获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;所述第一标记构件位于机器人末端;
获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的所述候选位姿变换参数,确定为校准后的位姿变换参数。
2.根据权利要求1所述的方法,其特征在于,所述获取机器人的运动数据,包括:
获取机器人的候选运动数据,根据所述候选运动数据控制所述机器人进行位姿摆位;
通过所述导航定位设备确定所述第一标记构件在所述机器人的不同位姿下的定位数据;
根据预设的筛选规则,对所述定位数据进行筛选,得到筛选后的所述第一标记构件的有效定位数据;
获取所述有效定位数据对应的目标运动数据,作为所述机器人若干位姿组的运动数据。
3.根据权利要求2所述的方法,其特征在于,所述根据预设的筛选规则,对所述定位数据进行筛选,得到筛选后的所述第一标记构件的有效定位数据,包括:
识别所述第一标记构件在所述机器人不同位姿下每一预设位置点的定位数据是否携带缺失标识,若所述定位数据中未携带缺失标识,则确定所述定位数据为有效定位数据。
4.根据权利要求1所述的方法,其特征在于,所述机器人上还包含位于机器人基座的第二标记构件,在通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据之前,所述方法还包括:
通过导航定位设备获取所述机器人进行不同位姿摆位时所述第二标记构件的各定位数据;
根据所述第二标记构件对应的各定位数据间的偏差,确定所述导航定位设备是否发生变动。
5.根据权利要求4所述的方法,其特征在于,所述根据所述第二标记构件对应的各定位数据间的偏差,确定所述导航定位设备是否发生变动,包括:
根据所述第二标记构件在所述机器人不同位姿下的各定位数据,计算所述各定位数据对应的位置点的中心位置下的定位数据;
分别计算所述不同位姿下的各定位数据与所述中心位置的定位数据间的偏差;
若所述偏差中的最大值大于预设偏差阈值,则确定所述导航定位设备发生位置变动;
若所述偏差中的最大值小于等于预设偏差阈值,则确定所述导航定位设备未发生位置变动。
6.根据权利要求1所述的方法,其特征在于,所述通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据,包括:
通过导航定位设备确定位于所述机器人末端的所述第一标记构件的定位数据;
针对每一位姿组,根据所述第一标记构件在各位姿下的定位数据,确定所述参考相对运动数据。
7.根据权利要求6所述的方法,其特征在于,在所述导航定位设备未发生位置变动的情况下,所述通过导航定位设备确定位于所述机器人末端的所述第一标记构件的定位数据,包括:
通过导航定位设备确定在导航定位设备坐标系下位于所述机器人末端的所述第一标记构件在所述机器人不同位姿下的定位数据。
8.根据权利要求6所述的方法,其特征在于,在导航定位设备发生位置变动的情况下,所述通过导航定位设备确定位于所述机器人末端的所述第一标记构件的定位数据,包括:
通过导航定位设备以及预设的坐标系转换方法,确定在机器人基座坐标系下位于所述机器人末端的所述第一标记构件在所述机器人不同位姿下的定位数据。
9.根据权利要求1至6中任意一项所述的方法,其特征在于,所述位姿变换参数中包含针对机器人每一关节坐标系下的位姿变换矩阵,所述运动数据包括所述机器人每一关节的角度数据;
所述根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据,包括:
在多组候选位姿变换参数中,根据每一组候选位姿变换参数与所述运动数据中各关节的角度数据,通过运动学算法,确定所述机器人的所述第一标记构件在每一位姿下的定位数据;
根据与所述参考相对运动数据中相同的若干位姿组对应的定位数据,确定所述若干位姿组中两两位姿间的模拟相对运动数据。
10.根据权利要求1至6中任意一项所述的方法,其特征在于,所述计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的所述候选位姿变换参数,确定为校准后的位姿变换参数,包括:
针对每一组所述候选位姿变换参数下对应的每一所述位姿组,根据所述参考相对运动数据与对应的模拟相对运动数据,计算每一所述位姿组的所述模拟相对运动数据与对应的所述参考相对运动数据间的偏差值;
统计所述候选位姿变换参数对应的所述若干位姿组的偏差值的总和,得到所述候选位姿变换参数的优良度;
在多组候选位姿变换参数中,将所述优良度最小的一组候选位姿变换参数作为所述机器人校准后的位姿变换参数。
11.一种机器人运动校准系统,其特征在于,所述机器人运动校准系统包括:导航定位设备、机器人和计算机设备;
所述计算机设备用于执行权利要求1至9任一项所述的机器人运动校准方法,以对所述机器人的位姿变换参数进行校准。
12.根据权利要求11所述的系统,其特征在于,所述导航定位设备,用于确定所述机器人的第一标记构件在每一位姿下的定位数据;并根据所述定位数据,确定所述机器人的第一标记构件在若干位姿组下的参考相对运动数据。
13.根据权利要求11所述的系统,其特征在于,所述系统还包括显示设备,所述显示设备用于显示所述机器人的位姿摆位。
14.一种机器人运动校准装置,其特征在于,所述装置包括:
获取模块,用于获取机器人的运动数据,所述运动数据包含机器人在若干位姿组下的位姿运动参数;
第一处理模块,用于通过导航定位设备确定第一标记构件在所述机器人的若干位姿组下的参考相对运动数据;所述第一标记构件位于机器人末端;
第二处理模块,用于获取候选位姿变换参数,根据所述候选位姿变换参数与所述运动数据,计算所述第一标记构件在所述机器人的若干位姿组下的模拟相对运动数据;
确定模块,用于计算所述参考相对运动数据与所述模拟相对运动数据间的偏差,将所述偏差满足预设要求的候选位姿变换参数,确定为校准后的位姿变换参数。
15.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
17.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030334.8A CN114407012B (zh) | 2022-01-12 | 2022-01-12 | 机器人运动校准方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210030334.8A CN114407012B (zh) | 2022-01-12 | 2022-01-12 | 机器人运动校准方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114407012A CN114407012A (zh) | 2022-04-29 |
CN114407012B true CN114407012B (zh) | 2024-06-18 |
Family
ID=81273958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210030334.8A Active CN114407012B (zh) | 2022-01-12 | 2022-01-12 | 机器人运动校准方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114407012B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114952855A (zh) * | 2022-06-16 | 2022-08-30 | 苏州微创畅行机器人有限公司 | 机械臂位姿偏差索引表的形成方法及机械臂的控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110664484A (zh) * | 2019-09-27 | 2020-01-10 | 江苏工大博实医用机器人研究发展有限公司 | 一种机器人与影像设备的空间注册方法及系统 |
CN112618017A (zh) * | 2020-12-16 | 2021-04-09 | 苏州微创畅行机器人有限公司 | 导航手术系统、计算机可读存储介质及电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102004020099A1 (de) * | 2004-04-24 | 2005-11-17 | Kuka Roboter Gmbh | Verfahren und Vorrichtung zum Beeinflussen eines mehrachsigen Handhabungsgeräts |
US20220104892A1 (en) * | 2020-10-06 | 2022-04-07 | Asensus Surgical Us, Inc. | Actuation carriage with integrated measurement for robotically controlled surgical instruments |
CN113442169B (zh) * | 2021-06-16 | 2022-09-27 | 武汉联影智融医疗科技有限公司 | 机器人的手眼标定方法、装置、计算机设备和可读存储介质 |
CN114147727B (zh) * | 2022-02-07 | 2022-05-20 | 杭州灵西机器人智能科技有限公司 | 一种机器人位姿校正的方法、装置和系统 |
-
2022
- 2022-01-12 CN CN202210030334.8A patent/CN114407012B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110664484A (zh) * | 2019-09-27 | 2020-01-10 | 江苏工大博实医用机器人研究发展有限公司 | 一种机器人与影像设备的空间注册方法及系统 |
CN112618017A (zh) * | 2020-12-16 | 2021-04-09 | 苏州微创畅行机器人有限公司 | 导航手术系统、计算机可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114407012A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5371927B2 (ja) | 座標系校正方法及びロボットシステム | |
US20200298411A1 (en) | Method for the orientation of an industrial robot, and industrial robot | |
US9199379B2 (en) | Robot system display device | |
EP1584426B1 (en) | Tool center point calibration system | |
CN110640747B (zh) | 机器人的手眼标定方法、系统、电子设备和存储介质 | |
US9452533B2 (en) | Robot modeling and positioning | |
CN108122257A (zh) | 一种机器人手眼标定方法及装置 | |
CN105945909A (zh) | 三自由度并联机器人的误差校正方法及系统 | |
JP2005201824A (ja) | 計測装置 | |
CN114355953B (zh) | 一种基于机器视觉的多轴伺服系统的高精度控制方法及系统 | |
CN108705531A (zh) | 工业机器人的运动学参数标定方法、标定系统、电子设备 | |
US11584013B2 (en) | System, device and method for determining error in robotic manipulator-to-camera calibration | |
TWI762371B (zh) | 機械手臂與輪廓感測器座標系相對關係之自動校正方法與系統 | |
CN112809668B (zh) | 一种机械臂自动手眼标定的方法及系统、终端 | |
WO2019114631A1 (zh) | 一种获取机器人tcp坐标的方法和装置 | |
US11577400B2 (en) | Method and apparatus for managing robot system | |
CN114407012B (zh) | 机器人运动校准方法、装置、计算机设备和存储介质 | |
WO2018043524A1 (ja) | ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法 | |
Maric et al. | Unsupervised optimization approach to in situ calibration of collaborative human-robot interaction tools | |
CN113910218A (zh) | 基于运动学与深度神经网络融合的机器人标定方法和装置 | |
JP7437343B2 (ja) | ロボット制御用のキャリブレーション装置 | |
Xu et al. | Industrial robot base assembly based on improved Hough transform of circle detection algorithm | |
US11267129B2 (en) | Automatic positioning method and automatic control device | |
CN114310873B (zh) | 位姿转换模型的生成方法、控制方法、系统、设备和介质 | |
Wang et al. | Deep Dynamic Layout Optimization of Photogrammetry Camera Position Based on Digital Twin |
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 |