CN116117785A - 用于标定机器人的运动学参数的方法和装置 - Google Patents
用于标定机器人的运动学参数的方法和装置 Download PDFInfo
- Publication number
- CN116117785A CN116117785A CN202111340403.7A CN202111340403A CN116117785A CN 116117785 A CN116117785 A CN 116117785A CN 202111340403 A CN202111340403 A CN 202111340403A CN 116117785 A CN116117785 A CN 116117785A
- Authority
- CN
- China
- Prior art keywords
- robot
- displacement
- tail end
- image
- joint variable
- 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.)
- Pending
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/0095—Means or methods for testing manipulators
-
- 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
-
- 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/1628—Programme controls characterised by the control loop
-
- 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/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
Abstract
本申请实施例提供了一种用于标定机器人的运动学参数的方法。该方法包括:获取位移对,根据位移对确定用于标定机器人的运动学参数的误差值,位移对包括实际移动位移和名义移动位移。实际移动位移由标定物的尺寸和机器人末端的执行器获取的标定物的图像的尺寸确定;名义移动位移由机器人运动学模型和机器人的关节变量确定,机器人末端在第一位置和第二位置的姿态相同。通过标定物的尺寸和机器人末端的执行器获取的图像的尺寸确定机器人末端的实际移动位移,能够在降低标定成本的前提下实现机器人的运动学参数的标定。
Description
技术领域
本申请实施例涉及机器人运动学标定技术领域,更具体地,涉及一种用于标定机器人的运动学参数的方法和装置。
背景技术
在机器人完成制造装配之后,由于制造和装配误差的存在,其运动学几何参数实际值和理论设计值存在差异。按理论几何参数进行运动控制时,机器人末端实到位姿与指令位姿之间将出现误差。通过运动学标定辨识出不准确的几何参数,对机器人运动学模型参数进行更新,是保证机器人精度的可行方法。
目前机器人标定的方法需要借助昂贵的测量仪器,标定成本较高,因此如何在降低标定成本的前提下实现机器人标定成为亟待解决的问题。
发明内容
本申请实施例提供一种用于机器人标定的方法,能够在降低标定成本的前提下实现机器人的运动学参数的标定。
第一方面,提供了一种用于标定机器人的运动学参数的方法。所述方法包括:首先,获取包括第一位移和第二位移的位移对。然后,根据该位移对确定用于标定该机器人的运动学参数的误差值。
上述的第一位移为机器人末端从第一位置移动至第二位置的实际移动位移,第二位移为该机器人末端从该第一位置移动至该第二位置的名义移动位移。其中,第一位置和第二位置为该机器人的操作空间中不同的两个点的位置,该机器人末端在该第一位置的姿态和在该第二位置的姿态相同。
实际移动位移由该操作空间中的标定物的尺寸、第一图像的尺寸和第二图像的尺寸确定。该第一图像为该机器人末端位于在该第一位置的情况下,该机器人末端的执行器获取的该标定物的图像。该第二图像为该机器人末端位于在该第二位置的情况下,该机器人末端的执行器获取的该标定物的图像。
该名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定。该第一关节变量为该机器人末端在该第一位置的情况下,该机器人的关节变量。该第二关节变量为该机器人末端在该第二位置的情况下,该机器人的关节变量。该机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
本申请的用于标定机器人的运动学参数的方法,可以获取到包括机器人末端的实际移动位移和名义移动位移的位移对,并根据该位移对确定用于标定该机器人的运动学参数的误差值。其中,名义移动位移可以根据机器人运动学模型、机器人在第一位置的关节变量和机器人在第二位置的关节变量确定,而实际移动位移可以通过标定物的尺寸和机器人末端的执行器获取的图像的尺寸确定,无需昂贵的测量仪器测量实际移动位移的前提下实现机器人的运动学参数的标定。因此,能够在降低标定成本的前提下实现机器人的运动学参数的标定。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该机器人的出厂参数确定该机器人运动学模型,该机器人的出厂参数包括该机器人的各个关节之间的平移量和旋转量。可以根据机器人的出厂参数确定机器人运动学模型,而机器人的出厂参数能够比较容易获得,提供了一种简单的建立机器人运动学模型的方案。
结合第一方面,在第一方面的某些实现方式中,该获取位移对,包括:获取多个位移对。上述的根据位移对确定误差值,包括:根据该多个位移对构建误差方程组,该误差方程组中每个误差方程由该第一位移和该第二位移构建,该误差方程组用于求解得到误差矩阵,该误差矩阵包括多个该误差值。可以通过构建并求解方程组的方式获得上述误差值,通过数学计算方式获取误差值,而方程组的求解方式有多种,提高方案的灵活性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:在该机器人末端位于该第一位置的情况下,获取用于计算该第一关节变量的该机器人的第一电机编码器值。在该机器人末端位于该第二位置的情况下,获取该用于计算该第二关节变量的机器人的第二电机编码器值。可以通过获取机器人的电机编码器值,计算机器人末端位于不同位置情况下,机器人的关节变量,而获取机器人的电机编码器值的方式可以参考目前已有的方案,提高本申请提供的方法的向前兼容性。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:根据该机器人运动学模型和该机器人末端在该第一位置的位姿确定第一指令关节变量。根据该机器人运动学模型和该机器人末端在该第二位置的位姿确定第二指令关节变量。根据该第一指令关节变量和该第二指令关节变量确定指令,该指令用于控制该机器人末端从该第一位置移动至该第二位置。可以通过建立的机器人运动学模型逆向求解得到不同位置的指令关节变量,从而可以根据不同位置的指令关节变量确定出控制机器人的指令,使得机器人末端从第一位置移动至第二位置。
结合第一方面,在第一方面的某些实现方式中,该机器人末端从该第一位置移动至该第二位置,包括:该机器人末端沿第一路径从该第一位置移动至该第二位置,其中,该第一位置和该第二位置在该第一路径上,该第一路径为该机器人末端中心和该标定物的表面的一点的连线。可以提供机器人末端的移动路径,使得机器人末端能够沿规定的路径移动。
结合第一方面,在第一方面的某些实现方式中,该获取位移对,包括:获取多个位移对,其中,多个位移对包括第一位移对和第二位移对。在获取该第一位移对之前,该方法还包括:控制该机器人使得该机器人末端器与该标定物的第一面平行。在获取该第二位移对之前,该方法还包括:控制该机器人使得该机器人末端与该标定物的第二面平行,其中,该第一面和该第二面为该标定物不同的两个表面。可以沿不同的方位移动机器人末端,使得获取的多个位移对包括不同方位上的位移对,从而更精确地标定机器人的运动学参数。
结合第一方面,在第一方面的某些实现方式中,在获取该位移对之前,该方法还包括:确定该机器人的运动学参数的误差大于预设阈值。在机器人的运动学参数的误差大于预设阈值的情况下,即可启动标定机器人的运动学参数的流程,从而尽最大可能保证机器人的运动学参数的准确性,提高机器人的运动精度。
结合第一方面,在第一方面的某些实现方式中,该实际移动位移、该器人操作空间中的标定物的尺寸、该第一图像的尺寸和该第二图像的尺寸满足以下关系:
其中,dR为实际移动位移,H为该标定物的高度,h1和h2分别为第一图像和第二图像的高度,V′为机器人末端在该第一位置时,机器人末端的执行器的中心点和该第一图像的中心点之间的距离,V″为机器人末端在该第二位置时,该机器人末端的执行器的中心点和该第二图像的中心点之间的距离。可以通过上述公式计算得到实际移动位移,该式中的参数H、h1、h2、V′以及V″的获取方式简单(如,直接测量),提高方案的简洁性。
结合第一方面,在第一方面的某些实现方式中,该名义移动位移、该机器人运动学模型、该第一关节变量和该第二关节变量满足以下关系:
dC=|f(qi)-f(qj)|
其中,dC为该名义移动位移,f为该机器人运动学模型,该qi为第一关节变量,该qj为该第二关节变量,||表示取模运算。
第二方面,提供了一种用于标定机器人的运动学参数的装置,该装置用于执行上述第一方面提供的方法。具体地,该用于标定机器人的运动学参数的可以包括用于执行第一方面或第一方面的上述任意一种实现方式提供的方法的单元和/或模块,如处理单元和获取单元。
在一种实现方式中,该用于标定机器人的运动学参数的装置为机器人。当该用于标定机器人的运动学参数的装置为机器人时,获取单元可以是收发器,或,输入/输出接口;处理单元可以是至少一个处理器。可选地,收发器可以为收发电路。可选地,输入/输出接口可以为输入/输出电路。
在另一种实现方式中,该用于标定机器人的运动学参数的装置为机器人中的芯片、芯片系统或电路。当该用于标定机器人的运动学参数的装置为机器人中的芯片、芯片系统或电路时,获取单元可以是该芯片、芯片系统或电路上的输入/输出接口、接口电路、输出电路、输入电路、管脚或相关电路等;处理单元可以是至少一个处理器、处理电路或逻辑电路等。
以上第二方面及其可能的设计所示方法的有益效果可参照第一方面及其可能的设计中的有益效果。
第三方面,提供一种用于标定机器人的运动学参数的装置。该通信装装置包括:至少一个处理器,至少一个处理器与至少一个存储器耦合。至少一个存储器用于存储计算机程序或指令,至少一个处理器用于从至少一个存储器中调用并运行该计算机程序或指令,使得用于标定机器人的运动学参数的装置执行第一方面或其任意可能的实现方式中的方法。
在一种实现方式中,该装置为机器人。在另一种实现方式中,该装置为机器人中的芯片、芯片系统或电路。
以上第三方面及其可能的设计所示方法的有益效果可参照第一方面及其可能的设计中的有益效果。
第四方面,本申请提供一种处理器,用于执行上述各方面提供的方法。
对于处理器所涉及的发送和获取/接收等操作,如果没有特殊说明,或者,如果未与其在相关描述中的实际作用或者内在逻辑相抵触,则可以理解为处理器输出和接收、输入等操作,也可以理解为由射频电路和天线所进行的发送和接收操作,本申请对此不做限定。
第五方面,提供一种计算机可读存储介质,该计算机可读存储介质存储用于设备执行的程序代码,该程序代码包括用于执行上述第一方面或第一方面的上述任意一种实现方式提供的方法。
第六方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面或第一方面的上述任意一种实现方式提供的方法。
第七方面,提供一种芯片,芯片包括处理器与通信接口,处理器通过通信接口读取存储器上存储的指令,执行上述第一方面或第一方面的上述任意一种实现方式提供的方法。
可选地,作为一种实现方式,芯片还包括存储器,存储器中存储有计算机程序或指令,处理器用于执行存储器上存储的计算机程序或指令,当计算机程序或指令被执行时,处理器用于执行上述第一方面或第一方面的上述任意一种实现方式提供的方法。
第八方面,提供一种用于标定机器人的运动学参数的系统。该用于标定机器人的运动学参数的系统包括:机器人和机器人末端的执行器,该机器人用于获取包括第一位移和第二位移的位移对,以及根据该多个位移对确定用于标定该机器人的运动学参数的误差值。该机器人末端的执行器用于:在该机器人末端位于第一位置的情况下,获取标定物的第一图像;在该机器人末端位于该第二位置的情况下,获取该标定物的第二图像。
该第一位移为该机器人末端从第一位置移动至第二位置的实际移动位移,该第二位移为该机器人末端从该第一位置移动至该第二位置的名义移动位移。其中,该第一位置和该第二位置为该机器人的操作空间中不同的两个点的位置,该机器人末端在该第一位置的姿态和在该第二位置的姿态相同。
该实际移动位移由该机器人的操作空间中的标定物的尺寸、该第一图像的尺寸和该第二图像的尺寸确定。该名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定,该第一关节变量为该机器人末端在该第一位置的情况下,该机器人的关节变量;该第二关节变量为该机器人末端在该第二位置的情况下,该机器人的关节变量;该机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
结合第八方面,在第八方面的某些实现方式中,该系统还包括:该标定物。
附图说明
图1是本申请实施例能够应用的场景示意图。
图2是本申请实施例提供的用于标定机器人的运动学参数的方法的示意性流程图。
图3是本申请实施例提供的另一种用于标定机器人的运动学参数的方法的示意性流程图。
图4是本申请实施例提供的一种摄像头移动的示意图。
图5中的(a)和(b)是本申请实施例提供的另一种摄像头移动的示意图。
图6是本申请实施例提供的一种计算实际移动位移的示意图。
图7是本申请实施例提供的用于标定机器人的运动学参数的装置700的示意性框图。
图8是本申请实施例提供的用于标定机器人的运动学参数的装置800的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例的技术方案可以应用于机器人的运动学参数的标定,如,机械臂的运动学参数的标定、智能车的运动学参数的标定、无人机的运动学参数的标定等。
如图1所示,图1是本申请实施例能够应用的场景示意图。包括以下部件:机器人本体110、图像采集模块120和尺寸已知的物体130。其中,机器人本体110为待标定的机器人,包括但不限于机械臂、智能车、无人机等机器人;图像采集模块120用于采集图像,包括但不限于摄像头、相机等;尺寸已知的物体130为尺寸明确的任何物体,包括但不限于已知尺寸的正方体、长方体、多面体等。
示例性地,尺寸已知的物体130的尺寸可以是通过测量得到的。需要说明的是,本申请中对于尺寸已知的物体130的尺寸的确定方式不做限定,例如,可以是从该物体130的参数说明中获知的,还例如可以是通过测量得到的。
图1只是为了便于理解本申请示例性示出本申请提供的用于标定机器人的运动学参数的方法能够应用的场景,对本申请的保护范围不构成任何的限定,本申请提供的用于标定机器人的运动学参数的方法还能够应用于其他的场景,如,机器人本体带有图像采集模块,可以理解为上述的机器人本体110和图像采集模块120为一个整体;还如,机器人本体的结构还可以是其他的形状。对于本申请能够应用场景,这里不再赘述。
随着机器人领域的发展,国内外的研究者为了提高机器人的精度,提出了许多标定机器人的运动学参数的方法,主要包括以下几种标定方法。
第一种即使用最广泛的基于位置误差模型的参数标定,用外部测量仪器测出机器人末端实际位置,并与机器人理论位置作比较,用多组点的实际位置与理论位置建立位置误差微分方程,进而求解出误差参数。常用的测量仪器如激光追踪仪、三坐标测量机等都是基于此模型进行标定的,激光追踪仪及三坐标测量机虽然测量精度高,但价格昂贵,操作复杂,标定效率低。
第二种是基于距离误差模型的参数标定,该方法利用机器人在空间中的任意两点在机器人坐标系及测量坐标系中的距离相等的特点建立误差模型,进而求解出运动学参数误差。此法的常用仪器,如基于拉线传感器的标定装置等价格昂贵,操作复杂。
第三种是使用传感器的方法,如惯性传感器加位置传感器的方法、激光传感器加相位灵敏探测器(phase-sensitive detector,PSD)的标定装置等、以及基于图像传感器的图像处理方法等,然而,此方法采用的标定装置操作复杂,价格昂贵,且未大规模商业化。
针对目前机器人标定技术的以上缺陷的改进需求,本申请提供了一种用于标定机器人的运动学参数的方法,通过机器人的操作空间中的物体的尺寸信息和机器人末端的执行器获取的图像尺寸信息确定机器人末端的实际移动位移,该机器人末端的实际移动位移和机器人末端的名义移动位移用于构建误差方程,求解该误差方程完成标定,无需借助昂贵的测量仪器,降低标定成本。
为了便于理解本申请实施例的技术方案,首先对本申请实施例涉及到的一些术语或概念进行简单描述。
1、几何误差:物体的几何方面出现的误差,如,物体的实际形状、方向和位置相对于理想形状、方向和位置的偏离量。
2、运动学参数的标定:指通过识别机器人的几何误差并对该几何误差进行补偿来获得较高的绝对定位精度,运动学参数标定是提高机器人绝对定位精度的有效方式。
3、机器人末端:机器人的边缘,或者说机器人最后一节关节,或者说连接机器人末端的执行器的机器人的部位。
4、机器人末端的执行器:指的是任何一个连接在机器人末端具有一定功能的工具。包括但不限于:机器人抓手、机器人工具快换装置、机器人碰撞传感器、机器人旋转连接器、机器人压力工具、顺从装置、机器人喷涂枪、机器人毛刺清理工具、机器人弧焊焊枪,机器人电焊焊枪等等。机器人末端的执行器通常被认为是机器人的外围设备,或者认为是机器人的附件,或者认为是机器人工具,或者认为是手臂末端工具等。本申请中机器人末端的执行器可以是图像采集模块(如,摄像头、相机等)。能够实现图像采集即可,具体形式不做限定。
5、机器人的操作空间:是指机器人末端的执行器运动所能达到的空间点的集合,一般用水平面和垂直面的投影表示。对于机器人来说,机器人的操作空间的形状和大小十分重要。机器人在执行某作业时可能会因为存在机器人末端的执行器不能到达的作业死区(dead zone)而不能完成任务。需要说明的是,将机器人末端的执行器运动所能达到的空间点的集合称为机器人的操作空间只是举例,对本申请的保护范围不构成任何的限定,例如,机器人的操作空间还可以称为机器人的工作空间;还例如,机器人的操作空间还可以称为机器人的空间等。
6、机器人的位姿:可以是指机器人末端在空间的位置和姿态,或者也可以表示机器人的其他各个活动杆件在空间的位置和姿态。其中,位置可以用如下位置矩阵来描述:
姿态可以用坐标系三个坐标轴两两夹角的余弦值组成的如下姿态矩阵来表示:
7、机器人运动学:包括正向运动学和逆向运动学,正向运动学即给定机器人的各关节变量,计算机器人末端的位置姿态;逆向运动学即已知机器人末端的位置姿态,计算机器人对应位置的全部关节变量。
8、机器人运动学方程:涉及机器人运动学模型的建立,其中,机器人运动学模型可以表示为:
M=f(qi)
其中,M为机器人末端的位姿,qi为机器人各个关节变量。
示例性地,qi为已知的,要求根据机器人运动学模型M=f(qi)和已知的qi确定相应的M,称为正向运动学问题,求解正向运动学问题,能够进行检验,校准机器人,计算工作空间等示例性地,机器人末端的位姿M为已知的,要求根据机器人运动学模型M=f(qi)和已知的M求解对应的关节变量qi,称为逆运动学问题。求逆运动学问题,能够进行路径规划,机器人控制等。
为了便于理解,下面以建立三自由度平面关节机器人的机器人运动学方程为例说明机器人运动学方程的建立流程。
示例性地,建立三自由度平面关节机器人,设机器人杆件1,2,3长度为分别为l1,l2,l3,建立机器人的运动学方程流程包括:
(1)建立坐标系:机器人的坐标系包括手部坐标系,机座坐标系,杆件坐标系,绝对坐标系。
手部坐标系:参考机器人手部的坐标系,也称机器人位姿坐标系,它表示机器人手部在指定坐标系中的位置和姿态。
机座坐标系:参考机器人基座的坐标系,它是机器人各活动杆件和手部的公共参考坐标系。
杆件坐标系:参考机器人杆件的坐标系,它是在机器人每个活动杆上固定的坐标系,随杆件的运动而运动。
绝对坐标系:参考工作现场地面的坐标系,它是机器人所有构件的公共参考坐标系。
手部坐标系{h};机座坐标式{0};杆件坐标系{i}(i-1,2,...n);绝对坐标系{B}。
具体地,建立坐标系可以是:机座坐标系{0};杆件坐标系{i};手部坐标系{h}与末端坐标系{n}重合。
(2)确定参数:各个轴线相互平行,各个杆件处于同一平面内,参数如下表1所示:
表1
<![CDATA[d<sub>i</sub>]]> | <![CDATA[θ<sub>i</sub>]]> | <![CDATA[l<sub>i</sub>]]> | <![CDATA[α<sub>i</sub>]]> | |
<![CDATA[θ<sub>1</sub>]]> | <![CDATA[l<sub>1</sub>]]> | |||
<![CDATA[θ<sub>2</sub>]]> | <![CDATA[l<sub>2</sub>]]> | |||
<![CDATA[θ<sub>3</sub>]]> | <![CDATA[l<sub>3</sub>]]> |
相邻杆件位姿矩阵是:
将相邻杆件位姿方程依次相乘,则有:
其中,cθ123=cos(θ1+θ2+θ3),sθ123=sin(θ1+θ2+θ3),cθ12=cos(θ1+θ2,sθ12=sin(θ1+θ2)。
连杆参数雅可比矩阵M03为:
连杆参数雅可比矩阵M01为:
连杆参数雅可比矩阵M02为:
9、关节坐标系:该坐标系可以用来描述机器人每个独立关节的运动,例如,对于六轴串联型机械臂,关节类型均为转动关节。在关节坐标系下,将机器人末端移动到期望位置,可以依次驱动各关节运动,从而让机器人末端到达指定位置。
10、变换矩阵:为机器人的不同关节之间的坐标系之间的转换矩阵。
例如,机器人的关节#1对应的坐标系为坐标系#1,机器人的关节#2对应的坐标系为坐标系#2,坐标系#2能够通过坐标系#1和转换矩阵描述。
11、六自由度:物体在空间具有六个自由度,即沿x、y、z三个直角坐标轴方向的移动自由度和绕这三个坐标轴的转动自由度。
12、视觉伺服:该概念常见于机器人技术方面的研究,一般指的是,通过光学的装置和非接触的传感器自动地接收和处理一个真实物体的图像,通过图像反馈的信息,来让机器系统对机器做进一步控制或相应的自适应调整的行为。
13、名义位置:由带误差的运动学参数计算出的不精确的机器人末端位置。
14、多点透视成像(Perspective-n-Point,PnP)算法:该算法是求解三维的(threedimensional,3D)到二维(2dimensional,2D)点对运动的方法。例如,在一幅图中,知道其中至少四个确定的点在3D空间下的相对坐标位置,即可以估计出相机对于这些点的姿态,或者说估计出这些点在相机坐标系下姿态。
上文中结合图1说明了本申请能够应用的场景,并介绍本申请涉及的一些概念,下面将结合附图,详细介绍本申请提供的用于标定机器人的运动学参数的方法。
应理解,下文示出的实施例并未对本申请实施例提供的方法的执行主体的具体结构特别限定,执行主体只要能够通过运行记录有本申请实施例的提供的方法的代码的程序即可。
图2是本申请实施例提供的用于标定机器人的运动学参数的方法的示意性流程图。该方法可以由用于标定机器人的运动学参数的装置执行,也可以由用于标定机器人的运动学参数的装置内部模块执行。该方法包括以下步骤。
S210,获取位移对。
所述位移对包括第一位移和第二位移,所述第一位移为机器人末端从第一位置移动至第二位置的实际移动位移,所述第二位移为机器人末端从所述第一位置移动至所述第二位置的名义移动位移,其中,所述第一位置和所述第二位置为机器人的操作空间中不同的两个点的位置,所述机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同。
本申请实施例中,机器人可以是机械臂、智能车或无人机等机器设备。为了便于描述,本申请中以机器人为机械臂进行说明。在机器人为机械臂的情况下,上述的机器人末端可以是机器人最后一节关节。
应理解,本申请实施例中对于待标定的对象不做限制(机器人的类型、形状、功能等),可以是任何需要标定的机器人。
示例性地,获取位移对包括:获取多个位移对,其中,位移对的具体个数可以通过如下方式确定。作为一种可能的实现方式,位移对的个数等于待标定的机器人的运动学参数的个数。例如,待标定的机器人的运动学参数包括两个连杆参数,位移对的个数为两个。作为另一种可能的实现方式,位移对的个数大于待标定的机器人的运动学参数的个数。例如,待标定的机器人的运动学参数包括位两个连杆参数,位移对的个数可以大于两个。作为又一种可能的实现方式,如果待标定的机器人的运动学参数的个数是一个,或者可以分别多次标定机器人的多个运动学参数,上述的位移对可以是一个。例如,待标定的机器人的运动学参数包括两个连杆参数(如,连杆参数#1和连杆参数#2),可以先标定其中一个连杆参数(如,连杆参数#1),然后再标定另外一个连杆参数(如,连杆参数#2),在标定连杆参数#1的情况下上述的位移对可以是一个;同理,在标定连杆参数#2的情况下上述的位移对也可以是一个。还例如,待标定的机器人的运动学参数为一个连杆参数,位移对的个数可以是一个。
示例性地,获取多个位移对包括获取第一位移对和第二位移对。作为一种可能的实现方式,机器人末端可以沿着一个方向多次移动,例如,沿着第一方向第一次移动获取第一位移对,沿着第一方向第二次移动获取第二位移对。例如,在获取所述第一位移对之前,控制所述机器人使得所述机器人末端与标定物的第一面平行;在获取所述第二位移对之前,控制所述机器人使得所述机器人末端与所述标定物的第一面平行。作为另一种可能的实现方式,机器人末端可以沿着多个方向多次移动,例如,沿着第一方向第一次移动获取第一位移对,沿着第二方向第二次移动获取第二位移对。例如,在获取所述第一位移对之前,控制所述机器人使得所述机器人末端与标定物的第一面平行;在获取所述第二位移对之前,控制所述机器人使得所述机器人末端与所述标定物的第二面平行,其中,所述第一面和所述第二面为所述标定物不同的两个表面。
应理解,机器人末端可以沿着多个方向多次移动的情况下,可使机器人的运动范围增大,尽可能遍历不同的姿态,有助于提升标定精度。
为了便于理解,举例说明获取多个位移对可能的情况。
例如,获取3个位移对(如,位移对#1、位移对#2和位移对#3)。其中,位移对#1包括实际移动位移#1和名义移动位移#1,实际移动位移#1可以是机器人末端从第一位置#1移动至第二位置#1的实际移动位移(如,第一位置#1和第二位置#1为机器人的操作空间中不同的两个点的位置),名义移动位移#1可以是机器人末端从第一位置#1移动至第二位置#1的名义移动位移,该实际移动位移#1和名义移动位移#1之间存在误差,且机器人末端在第一位置#1和第二位置#1的姿态相同。
位移对#2包括实际移动位移#2和名义移动位移#2,实际移动位移#2可以是机器人末端从第一位置#2移动至第二位置#2的实际移动位移,名义移动位移#2可以是机器人末端从第一位置#2移动至第二位置#2的名义移动位移,且机器人末端在第一位置#2和第二位置#2的姿态相同。
位移对#3包括实际移动位移#3和名义移动位移#3,实际移动位移#3可以是机器人末端从第一位置#3移动至第二位置#3的实际移动位移,名义移动位移#3可以是机器人末端从第一位置#3移动至第二位置#3的名义移动位移,且机器人末端在第一位置#3和第二位置#3的姿态相同。
可选地,第一位置#2和第二位置#1可以是同一个位置,第一位置#3和第二位置#2可以是同一个位置,如,机器人末端从第一位置#1移动至第二位置#1,再从第二位置#1移动至第二位置#2,然后从第二位置#2移动至第二位置#3,且机器人末端在第一位置#1、第二位置#1、第二位置#2和第二位置#3的姿态相同。
示例性地,机器人末端在第一位置的姿态和在第二位置的姿态相同包括以下两种可能的方式。
作为一种可能的实现方式,机器人末端在移动前后保持姿态相同即可,机器人末端在移动过程中姿态可以发生变化,即保持机器人末端在移动前后的姿态矩阵不变。例如,机器人末端在第一位置的姿态可以用坐标系三个坐标轴两两夹角的余弦值组成的姿态矩阵R1来表示,机器人末端在第二位置的姿态可以用坐标系三个坐标轴两两夹角的余弦值组成的姿态矩阵R2来表示,其中,R1和R2相同。可选地,通过记录机器人末端在第一位置的姿态矩阵R1,在机器人末端发生移动,到达第二位置之后将机器人末端在第二位置的姿态调整为满足姿态矩阵R1的姿态。
作为另一种可能的实现方式,机器人末端在移动前后,以及移动过程中保持姿态相同,机器人末端在移动过程中姿态不变。
示例性地,机器人末端的移动过程可以由指令控制。根据机器人运动学模型和机器人末端在所述第一位置的位姿确定第一指令关节变量;根据机器人运动学模型和机器人末端在所述第二位置的位姿确定第二指令关节变量;根据所述第一指令关节变量和所述第二指令关节变量确定指令(或者称为控制指令),所述指令用于控制所述机器人末端从所述第一位置移动至所述第二位置。
为了便于理解,举例说明机器人末端的移动过程。
例如,机器人末端在所述第一位置的位姿为位姿#1,其中,位姿#1包括位置#1和姿态#1,位置#1为第一位置,而姿态#1可以根据未移动之前的姿态确定(如,姿态#1为未移动之前的,可以是出厂的姿态),根据机器人运动学模型和位姿#1逆向求解得到指令关节变量#1;机器人末端在所述第二位置的位姿为位姿#2,其中,位姿#2包括位置#2和姿态#2,位置#2为第二位置,而姿态#2为位姿#1,根据机器人运动学模型和位姿#2逆向求解得到指令关节变量#2,基于指令关节变量#1和指令关节变量#2即可获得指令,如,指令关节变量#2相比于指令关节变量#1的平移正5cm,旋转正30度,则指令可以为平移正5cm,旋转正30度。
示例性地,机器人末端从所述第一位置移动至所述第二位置可以是以机器人末端上的一点为参考点,该点从所述第一位置移动至所述第二位置。
例如,机器人末端的中心点从所述第一位置移动至所述第二位置。示例性地,机器人末端可以沿一定的路径从第一位置移动至所述第二位置。例如,机器人末端沿第一路径从所述第一位置移动至所述第二位置,所述第一位置和所述第二位置在所述第一路径上,所述第一路径为所述机器人末端中心和标定物的表面的一点的连线。
可选地,机器人末端的移动可以带动机器人末端的执行器移动。例如,机器人末端从所述第一位置移动至所述第二位置,机器人末端的执行器从第一位置’移动至第二位置’。
应理解,第一位置’和第一位置不同,第二位置’和第二位置不同。
例如,在机器人末端的中心点从所述第一位置移动至所述第二位置,机器人末端的执行器的中心点从第一位置’移动至第二位置’的情况下,第一位置’和第一位置之间的距离可以理解为机器人末端的中心点和机器人末端的执行器的中心点之间的距离;第二位置’和第二位置之间的距离也可以理解为机器人末端的中心点和机器人末端的执行器的中心点之间的距离。
本申请实施例中,由于机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同,则机器人末端从所述第一位置移动至所述第二位置的名义移动位移可以看做是机器人末端的执行器从第一位置’移动至第二位置’的名义移动位移;机器人末端从所述第一位置移动至所述第二位置的实际移动位移可以看做是机器人末端的执行器从第一位置’移动至第二位置’的实际移动位移。
作为一种可能的实现方式,本申请实施例中,可以是完成一次机器人的运动学参数的标定任务后,根据机器人在生产线上的使用频率及磨损程度定期进行在线运动学参数的标定。如,定期检测机器人末端在到达指定位置后与实际目标的距离误差,若该误差超过允许范围,进行运动学参数重标定。
在该实现方式下,带闭环反馈的在线标定系统有助于及时发现机器人的绝对定位精度是否发生劣化,当劣化到允许范围之外时,可重新触发机器人标定流程。实现机器人出厂免标定,及时消除机器人长时间运作产生的累积误差,且不需要停线进行标定,提升了工业产线的生产效率。
在该实现方式下,获取位移对之前,图2所示的方法流程还包括如下步骤。
S211,确定所述机器人的运动学参数的误差大于预设阈值。
其中,预设阈值可以是预先设定的某个值。作为另一种可能的实现方式,本申请实施例中,可以是在机器人出厂的时候进行机器人的运动学参数的标定。
具体地,所述实际移动位移由所述操作空间中的标定物的尺寸、第一图像的尺寸和第二图像的尺寸确定。其中,所述第一图像为所述机器人末端在所述第一位置的情况下,所述机器人末端的执行器获取的所述标定物的图像;所述第二图像为所述机器人末端在所述第二位置的情况下,所述机器人末端的执行器获取的所述标定物的图像。
本申请实施例中,上述实际移动位移可以基于机器人的操作空间中的标定物的尺寸和机器人末端的执行器获取的该标定物的图像的尺寸确定,无需借助昂贵的测量仪器测量实际移动位移的前提下实现实际移动位移的计算。因此,能够降低机器人的运动学参数的标定成本。
需要说明的是,本申请实施例中机器人的操作空间中的标定物可以是任意的尺寸已知的物体(如,图1中所示的已知尺寸的物体130)。也就是说不需要借助特定的标定板进行标定,可简单利用产线上已有的已知尺寸工件。
作为一种可能的实现方式,上述的标定物的尺寸可是在计算实际移动位移之前测量得到的,或者在计算实际移动位移之前从该标定物的参数说明书获取得到的,存储在机器人的存储器中,在计算实际移动位移时从存储器中读取使用。作为另一种可能的实现方式,上述的标定物的尺寸可是在计算实际移动位移时测量得到的,或者在计算实际移动位移时从该标定物的参数说明书获取得到的,在该实现方式下可以无需存储该标定物的尺寸,计算实际移动位移时获取即可。
需要说明的是,本申请实施例中可能需要获取多个位移对,而每个位移对中包括的实际移动位移均需要基于标定物的尺寸确定,为了简化多个位移对所包括的多个实际移动位移的确定流程,上述的标定物的尺寸的获取方式可以是上述的第一种可能的实现方式,即在计算实际移动位移之前获取并存储,需要用到该标定物的尺寸的时候,从存储器中读取使用即可。
由上述的实际移动位移确定所需的参数(如,标定物的尺寸、第一图像的尺寸和第二图像的尺寸)可知:本申请实施例中,机器人末端在第一位置的情况下,标定物位于机器人的操作空间中,机器人末端的执行器可以获取该标定物的第一图像;同理,机器人末端在第二位置的情况下,标定物也位于机器人的操作空间中,机器人末端的执行器以获取该标定物的第二图像。
本申请实施例中,机器人末端在第一位置和在第二位置时,标定物均位于机器人的操作空间中,可以是以下两种情况。作为一种可能的实现方式,机器人末端在移动前后,标定物均位于机器人的操作空间中,但是在移动过程中标定物可以不位于机器人的操作空间中。作为另一种可能的实现方式,机器人末端在移动前后和移动过程中,标定物均位于机器人的操作空间中。
进一步地,本申请实施例中对于机器人末端的执行器获取的图像的尺寸的获得方式不做限定,可以是测量机器人末端的执行器获取的图像以获得该图像的尺寸。
可以理解,为了使得测量图像的尺寸更为精确,本申请实施例中上述的标定物可以是边缘规则的物体,例如,可以是长方体、多面体等已知尺寸的物体。
作为一种可能的实现方式,所述实际移动位移、所述器人操作空间中的标定物的尺寸、所述第一图像的尺寸和所述第二图像的尺寸满足以下关系:
其中,dR为所述实际移动位移,H为所述标定物的高度,h1为所述第一图像的高度,h2为所述第二图像的高度,V′为所述机器人末端在所述第一位置时,所述机器人末端的执行器的中心点和所述第一图像的中心点之间的距离,V″为所述机器人末端在所述第二位置时,所述机器人末端的执行器的中心点和所述第二图像的中心点之间的距离。
应理解,上述的实际移动位移、所述器人操作空间中的标定物的尺寸、所述第一图像的尺寸和所述第二图像的尺寸满足的关系式,只是举例说明如何计算得到实际移动位移,对本申请的保护范围不构成任何的限定,还可以通过其他的数学计算方式基于标定物的尺寸、所述第一图像的尺寸和所述第二图像的尺寸计算得到实际移动位移。
例如,在已知标定物尺寸的情况下,首先使用PnP算法,计算出机器人末端在第一位置时,标定物在相机坐标系下的空间位置p1;待机器人末端移动之后,使用相同的PnP算法计算机械臂末端在第二位置时,标定物在相机坐标系下的空间位置p2;然后可等效计算出相机在空间中的实际移动位移:
dR=|p1-p2|
其中,dR表示际移动位移,||表示取模运算。
具体地,所述名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定。其中,所述第一关节变量为所述机器人末端在所述第一位置的情况下,所述机器人的关节变量;所述第二关节变量为所述机器人末端在所述第二位置的情况下,所述机器人的关节变量,所述机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
示例性地,在所述机器人末端位于所述第一位置的情况下,获取所述机器人的第一电机编码器值,所述第一电机编码器值用于计算所述第一关节变量。在所述机器人末端位于所述第二位置的情况下,获取所述机器人的第二电机编码器值,所述第二电机编码器值用于计算所述第二关节变量。例如,从机器人中读取到某个关节处的电机编码器值为encoder1,该编码器的初始值为encoder0,编码器的分辨率为bit1;另外,与该电机配套使用的用于提高电机力矩的谐波减速器的减速比为固定值ration1;则关节变量可以用以下公式计算获得:(encoder1-encoder0)/(ration1*bit1/2/pi)。
进一步地,在基于电机编码器值计算得到第一关节变量之后,可以基于第一关节变量和机器人运动学模型正向求解得到机器人末端的第一名义位置;同理,在基于电机编码器值计算得到第二关节变量之后,可以基于第二关节变量和机器人运动学模型正向求解得到机器人末端的第二名义位置。第一名义位置为第二名义位置之间的距离即可以理解为名义移动位移。
示例性地,该名义移动位移、该机器人运动学模型、该第一关节变量和该第二关节变量满足以下关系:
dC=|f(qi)-f(qj)|
其中,dC为该名义移动位移,f为该机器人运动学模型,该qi为第一关节变量,该qj为该第二关节变量,||表示取模运算。
应理解,本申请实施例中,机器人末端从所述第一位置移动至所述第二位置的名义移动位移的计算可以参考目前相关技术的介绍,这里不再赘述。
进一步地,上述的位移对确定之后,能够基于该位移对确定用于标定所述机器人的运动学参数的误差值,图2所示的方法流程还包括如下步骤。
S220,根据位移对确定误差值。
作为一种可能的实现方式,上述的位移对包括一个位移对。该一个位移对包括的第一位移和第二位移构建误差方程,求解该误差方程得到一个误差值。
例如,待标定的机器人的运动学参数为位移,基于得到的误差值对位移进行补偿该校正,提升机器人的绝对定位精度。
作为另一种可能的实现方式,上述的位移对包括多个位移对。根据该多个位移对构建误差方程组,该误差方程组中每个误差方程由该第一位移和该第二位移构建,该误差方程组用于求解得到误差矩阵,该误差矩阵包括多个误差值。
例如,待标定的机器人的运动学参数包括两个连杆参数,基于得到的误差矩阵中包括的两个误差值分别对两个连杆参数进行补偿该校正,提升机器人的绝对定位精度。
示例性地,利用机器人末端的实际移动位移与名义移动位移构建位移误差模型。其中,位移误差模型的基本思想是:如果机器人的运动学参数足够准确,则机器人末端的实际移动位移与名义移动位移应该相等。但由于理论运动学参数与实际运动学参数存在误差,导致实际移动位移与名义移动位移并不相等,由此可以构建误差方程,误差方程具体描述如下:
PC(i)→PC(j)
PR(i)→PR(j)
PC(j)=(xj,yj,zj)
PC(i)=(xi,yi,zi)
PR(j)=(xj+dxj,yj+dyj,zj+dzj)
PR(i)=(xi+dxi,yi+dyi,zi+dzi)
其中,PC(i)和PC(j)分别为利用机器人运动学模型计算出的机器人末端的名义起点位置和名义终点位置;PR(i)和PR(j)指利用外部测量设备(如,摄像头)获取的机器人末端的实际起点位置和实际终点位置。xi,yi,zi分别表示机器人末端在x、y和z方向的起始名义位置分量,dxi,dyi,dzi分别为机器人末端实际起始位置与名义起始位置在x、y和z方向的误差分量;xj,yj,zj分别表示机器人末端在x、y和z方向的终点名义位置分量,dxj,dyj,dzj分别为机器人末端实际终点位置与名义终点位置在x、y和z方向的误差分量。
Δd(i,j)=dR(i,j)-dC(i,j)
dR(i,j)=Δd(i,j)+dC(i,j)
其中,和别为名义移动位移向量和实际移动位移向量,dC(i,j)和dR(i,j)分别为名义移动位移长度和实际移动位移长度(即位移向量的模值),Δd(i,j)为两位移长度的差值,获取该位移长度差后方可构建接以下的误差方程:
(dR(i,j))2=(Δd(i,j)+dC(i,j))2
=(xj-xi+dxj-dxi)2+(yj-yi+dyj-dyi)2+(zj-zi+dzj-dzi)2
以上误差方程中,位移误差Δd为:机器人末端实际移动位移dR与机器人末端名义移动位移dC之间的差值;J为基于原始运动学参数计算获取的连杆参数雅可比矩阵;因此,位移误差表达式中的未知量仅剩ΔX。
ΔX的求解可结合多组运动数据,构建误差方程组,利用数学求解方式(如,最小二乘法或迭代求解法)求取连杆参数误差矩阵ΔX,并对运动学参数进行补偿校正,提升机器人的绝对定位精度。
由上述的标定过程可知,无需进行机器人末端执行器与机器人坐标系的坐标关系标定,标定效率高,也减少了坐标转换计算误差。
基于上述方法介绍,为了便于理解下面结合一个具体的例子,进一步说明本申请提供的用于标定机器人的运动学参数的方法的应用。
图3是本申请实施例提供的另一种用于标定机器人的运动学参数的方法的示意性流程图。包括以下步骤。
S310,确定机器人运动学模型。
其中,机器人运动学模型为该机器人的关节变量的函数,用于表示机器人的关节变量和机器人末端的位姿之间的关系。
例如,
M=f(qi)
其中,M为机器人末端的位姿,qi为机器人的各个关节变量,函数f表示机器人运动学模型。关节变量可以理解为
示例性地,机器人的关节变量包括机器人的关节的角度信息、机器人的关节的位置信息、机器人不同的关节之间的平移量、机器人不同的关节之间的旋转量或机器人的关节的高度信息等。
作为一种可能的实现方式,机器人运动学模型用于根据机器人的关节变量确定机器人末端的位姿。例如,该机器人运动学模型结合机器人各关节的关节变量qi即可计算得到机器人末端的位姿M,也就是正向运动学解算过程。作为另一种可能的实现方式,机器人运动学模型用于根据机器人末端的位姿确定机器人的指令关节变量值。其中,指令关节变量为用于确定控制机器人的指令的关节变量。例如,该机器人运动学模型结合机器人末端的位姿M即可计算得到机器人各关节的指令关节变量qi,也就是逆向运动学解算过程。
为了便于理解下面举例说明如何确定机器人运动学模型。
作为一种可能的实现方式,根据机器人生产厂家提供的原始参数(如,机器人各关节之间的平移和旋转量),建立机器人运动学模型。
例如,假设待标定的机器人为多关节机械臂,该多关节机械总关节数为n,从电机往外依次为第n节,第n-1节…第1节,n为正整数。其中,第i-1节关节的关节坐标系,到第i节关节的关节坐标系的转换矩阵描述为i-1Ti,该转换矩阵i-1Ti由第i-1节关节和第i节关节轴间的相对平移和旋转关系确定,i为小于或者等于n的正整数。该多关节机械臂对应的运动学模型可以为T=0T1×1T2×2T3×…×i-1Ti×…*n-1Tn。
作为另一种可能的实现方式,根据机器人生产家提供的原始参数确定机器人运动学模型。例如,机器人出厂参数中包括了机器人运动学模型。作为又一种可能的实现方式,通过其他设备获取机器人运动学模型。例如,某个具备建立机器人运动学模型功能的设备建立该机器人运动学模型,并将建立好的机器人运动学模型通过消息发送给标定机器人的设备。
需要说明的是,上述的确定机器人运动学模型的方法只是举例,对本申请的保护范围不构成任何的限定,其他建立用于确定机器人末端位姿的机器人运动学模型的方法也在本申请保护范围之内。本申请实施例中对于如何建立机器人运动学模型不做限制,可以参考目前相关技术中的介绍。
进一步地,在建立机器人运动学模型之后,能够根据该机器人运动学模型确定机器人末端移动前后的指令关节变量。图3所示的方法流程还包括如下步骤。
S320,根据机器人运动学模型确定指令关节变量。
可选地,关节变量包括关节角度值。
示例性地,为了标定机器人的运动学参数,可以使得机器人末端从第一位置移动至第二位置,且机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同。其中,所述第一位置和所述第二位置为所述机器人的操作空间中不同的两个点的位置。示例性地,第一位置为机器人末端的当前位置。通过视觉伺服,控制机器人带动机器人末端与操作空间中的已知尺寸的物体的某一个表面(可以称为第一面)平行,然后指定机器人的操作空间中的一个点为目标点,该目标点的位置为上述的第二位置。
示例性地,第一位置为机器人末端的当前位置。确定上述的目标点之前无需使得机器人末端与操作空间中的已知尺寸的物体的某一个表面平行,任意选取操作空间中的一个点为目标点,该目标点的位置为上述的第二位置。
由上述可知,机器人运动学模型为该机器人关节变量的函数,通过上述步骤S210建立机器人运动学模型之后,能够基于机器人运动学模型确定第一位置对应的第一指令关节变量,以及第二位置对应的第二指令关节变量。
具体地,根据机器人运动学模型逆向解算出第一位置对应的第一指令关节变量。
例如,
M=f(qi)
将第一位置的机器人末端的位姿参数M1作为运动学模型的输入,输出该第一位置对应的第一指令关节变量qi1。将第二位置的机器人末端的位姿参数M2作为运动学模型的输入,输出该第二位置对应的第二指令关节变量qi2。
进一步地,根据第一指令关节变量和所述第二指令关节变量确定指令,图3所示的方法流程还包括如下步骤。
S330,根据指令关节变量确定指令。
示例性地,第一指令关节变量和所述第二指令关节变量之间的关系可以确定指令。例如,指令可以是控制各个关节移动和/或旋转以使得各个关节的角度值由第一指令关节变量更新为第二指令关节变量的指令。
该指令用于控制机器人带动机器人末端在机器人的操作空间中移动一段距离,移动到上述的第二位置,移动前后确保机器人末端的姿态始终符合一定的约束条件(如,移动前后机器人末端姿态不变),且操作空间中放置的物体在机器人移动前后,均在机器人末端的执行器(如,图像采集模块)视野范围内。
示例性地,在机器人末端与已知尺寸的物体的第一面平行的情况下,该机器人末端在机器人的操作空间中移动一段距离包括:机器人末端沿特征点与机器人末端中心连线移动一段距离,并确保整个运动过程中机器人末端姿态不变。其中,特征点为已知尺寸的物体上的任意一点(如,上述的第一面上任意一点)。
应理解,本申请实施例中,机器人末端移动带动机器人末端的执行器移动。
为了便于描述,下文中以机器人末端的图像采集模块为摄像头为例进行说明。
为了便于理解,结合图4说明摄像头在机器人的操作空间中移动一段距离。图4是本申请实施例提供的一种摄像头移动的示意图。
从图4中可以是看出,摄像头在指令的控制下由初始位置#1移动到目标位置#1,该初始位置#1和目标位置#1在摄像头中心和第一面上的特征点的连线上。在摄像头移动前后,机器人末端的姿态未发生变化。
需要说明的是,图4只是示例性地示出摄像头单次由初始位置#1移动到目标位置#1的过程,本申请实施例中摄像头可以发生多次移动,例如,摄像头从初始位置#1移动到目标位置#1之后,可以重新在指定机器人的操作空间中的一个点为目标点,该目标点的位置为目标位置#2,而当前摄像头所在的标位置#1可以作为初始位置#2。
具体地,目标位置#2对应的指令关节变量与当前初始位置#2对应的指令关节变量之间的关系可以确定另一个指令,该另一个指令用于控制摄像头从初始位置#2移动到目标位置#2。
示例性地,摄像头从初始位置#2移动到目标位置#2可以是:摄像头沿特征点与摄像头中心连线移动一段距离,并确保运动前后机器人末端姿态不变(中间过程,机器人末端姿态可以发生改变)。其中,特征点为已知尺寸的物体上的任意一点(如,第二面上任意一点,第二面与第一面不同)。
另外,需要说明的是,图4只是示例性地示出摄像头的移动方式,对本申请的保护范围不构成任何的限定。例如,摄像头移动的路径可以不是沿特征点与摄像头中心连线移动。还例如,摄像头可以向不同的方向进行多次移动。如图5所示,图5中的(a)和(b)是本申请实施例提供的另一种摄像头移动的示意图。
从图5中的(a)可以是看出,摄像头在指令的控制下由初始位置#1移动到目标位置#1,该初始位置#1和目标位置#1在摄像头中心和第一面上的特征点的连线上。从图5中的(b)可以是看出,摄像头在指令的控制下由初始位置#2移动到目标位置#2,该初始位置#2和目标位置#2在摄像头中心和第二面上的特征点的连线上。在摄像头移动前后,机器人末端的姿态未发生变化。
第二面和第一面为已知尺寸的物体的不同的表面,初始位置#2可以是第一次移动后的目标位置#1。
在机器人的运动学参数标定过程中,使用多面体结构件可使机器人的运动范围增大,尽可能遍历不同的构型,有助于提升标定精度。此外,多面体结构件制作成本低,适用性强,易于推广。
本申请实施例对于摄像头移动的路径不做限定,在初始位置和目标位置摄像头能够采集到已知尺寸的物体的图像即可。
机器人在指令的控制下带动摄像头移动一段距离之后,能够通过已知尺寸的物体的实际尺寸和摄像头采集的图像的成像尺寸确定机器人末端移动的实际移动位移(或者称为实际移动距离)。
图3所示的方法流程还包括如下步骤。
S340,确定机器人末端移动的实际移动位移。
摄像头移动完毕后结合物体的实际尺寸信息及视觉测量值计算摄像头的空间移动位移,由于一定过程中机器人末端保持姿态不变,该距离也就是机器人末端的实际移动位移。
示例性地,机器人移动完毕后,可按照如图6所示的方法,图6是本申请实施例提供的一种计算实际移动位移的示意图。从图6中可以看出,根据物体实际尺寸信息及摄像头成像平面上的成像尺寸信息推导摄像头在空间中的移动位移。
通过物体实际尺寸与空间几何关系推导摄像头在空间中的移动位移:
其中,h1为摄像头移动前在初始位置(如,上述的初始位置#1)采集的图像中,物体的成像高度;h2为摄像头移动后在目标位置(如,上述的目标位置#1)采集的图像中,物体的成像高度;V为摄像头相距(如,该摄像头的出厂参数);H为工件标定物实际高度;U为工件标定物距摄像头的物距;C′为摄像头移动前成像中心点与成像平面中心点的距离,V′为摄像头移动前成像中心点与镜头中心点的距离;C″为摄像头移动后成像中心点与成像平面中心点的距离,V″为摄像头移动后成像中心点与镜头中心点的距离;最终可计算出摄像头在空间中移动的距离dR。由于在机器人运动前后机器人末端姿态不变,因此距离dR可等同于机器人末端的实际移动位移。
需要说明的是,获取摄像头实际移动位移的方式不局限于图6所示的方法。
进一步地,可以确定机器人末端移动的名义移动位移。图3所示的方法流程还包括如下步骤。
S350,确定机器人末端移动的名义移动位移。
本申请实施例中对于机器人末端移动的名义移动位移的计算方式不做限定,可以参考目前相关技术中的描述,包括但不限于:根据机器人末端移动前后的机器人的关节变量,以及机器人运动学模型确定。例如,根据机器人运动学模型及机器人末端移动前后各关节的角度信息计算机器人末端在移动前后的名义位置,并计算得两位置间的名义移动位移。
在确定了机器人末端移动的实际移动位移和名义移动位移之后,能够基于机器人末端的实际移动位移和机器人末端的执行器的名义移动位移构建误差方程,求解误差方差。图3所示的方法流程还包括如下步骤。
S360,根据机器人末端移动的实际移动位移和名义移动位移构建误差方程,并求解。
参考上述的S220的描述,这里不再赘述。
上述流程S310至S360可实现机器人组装完成出厂后的首次运动学参数的标定。标定完成后,机器人的绝对定位精度达到要求开始上线工作,后续依赖视觉反馈信息定期进行绝对定位精度检测,当精度劣化至允许范围外时(如,机器人的运动学参数的误差大于预设阈值),启动在线重标定步骤。
例如,在线标定系统辅助以视觉反馈信息,定期检测机器人末端工具在到达指定位置后与实际目标的距离误差,若该误差超过允许范围,则重复S320至S360,进行运动学参数重标定。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,在本申请的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
还应理解,在上述一些实施例中,主要以机械臂为例进行了示例性说明,应理解,对于机器人的具体形式本申请实施例不作限定。例如,可以基于本申请实施例提供的方法标定其他类型的机器人的运动学参数。
可以理解的是,上述各个方法实施例中,由标定机器人的运动学参数的装置(如,机器人)实现的方法和操作,也可以由装置的部件(如,处理器)实现。
上述基于图2-3介绍的用于标定机器人的运动学参数的方法主要从用于标定机器人的运动学参数的装置如何实现标定的角度进行了介绍。应理解,用于标定机器人的运动学参数的装置,为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。
本领域技术人员应该可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以下,结合图7-8详细说明本申请实施例提供的用于标定机器人的运动学参数的装置。应理解,装置实施例的描述与方法实施例的描述相互对应。因此,未详细描述的内容可以参见上文方法实施例,为了简洁,部分内容不再赘述。
本申请实施例可以根据上述方法示例对用于标定机器人的运动学参数的装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以采用对应各个功能划分各个功能模块为例进行说明。
图7是本申请实施例提供的用于标定机器人的运动学参数的装置700的示意性框图。该装置700包括获取单元710和处理单元720。获取单元710可以实现相应的获取功能,处理单元720用于进行数据处理。获取单元710可以称为通信接口或通信单元。
应理解,获取单元710的部分功能也可以由处理单元720实现。例如,获取单元710获取位移对包括的实际移动位移和名义移动位移的计算功能可以由处理单元720。
可选地,该装置700还可以包括存储单元,该存储单元可以用于存储指令和/或数据,处理单元720可以读取存储单元中的指令和/或数据,以使得装置实现前述方法实施例。
该装置700可以用于执行上文方法实施例中用于标定机器人的运动学参数的装置所执行的动作,这时,该装置700可以为用于标定机器人的运动学参数的装置或者可配置于用于标定机器人的运动学参数的装置的部件,获取单元710用于执行上文方法实施例中用于标定机器人的运动学参数的装置的获取位移对相关的操作,处理单元720用于执行上文方法实施例中用于标定机器人的运动学参数的装置处理位移对相关的操作。
获取单元710,用于获取位移对,该位移对包括第一位移和第二位移,该第一位移为该机器人末端从第一位置移动至第二位置的实际移动位移,该第二位移为该机器人末端从该第一位置移动至该第二位置的名义移动位移。
其中,该第一位置和该第二位置为该机器人的操作空间中不同的两个点的位置,该机器人末端在该第一位置的姿态和在该第二位置的姿态相同;该实际移动位移由该操作空间中的标定物的尺寸、第一图像的尺寸和第二图像的尺寸确定,该第一图像为该机器人末端在该第一位置的情况下,该机器人末端的执行器获取的该标定物的图像,该第二图像为该机器人末端在该第二位置的情况下,该机器人末端的执行器获取的该标定物的图像;该名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定,该第一关节变量为该机器人末端在该第一位置的情况下,该机器人的关节变量;该第二关节变量为该机器人末端在该第二位置的情况下,该机器人的关节变量;该机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
处理单元720,用于根据该位移对确定误差值,该误差值用于标定该机器人的运动学参数。可选地,该处理单元720,还用于根据该机器人运动学模型和该机器人末端在该第一位置的位姿确定第一指令关节变量。该处理单元720,还用于根据该机器人运动学模型和该机器人末端在该第二位置的位姿确定第二指令关节变量。该处理单元720,还用于根据该第一指令关节变量和该第二指令关节变量确定指令,该指令用于控制该机器人末端从该第一位置移动至该第二位置。
可选地,该获取单元710,用于获取位移对,包括:该获取单元710,用于获取多个位移对,该多个位移对包括第一位移对和第二位移对;在该获取单元710获取该第一位移对之前,该处理单元720,还用于控制该机器人使得该机器人末端与该标定物的第一面平行;在该获取单元710获取该第二位移对之前,该处理单元720,还用于控制该机器人使得该机器人末端与该标定物的第二面平行,其中,该第一面和该第二面为该标定物不同的两个表面。
可选地,在该获取单元710获取该位移对之前,该处理单元720,还用于确定该机器人的运动学参数的误差大于预设阈值。
可选地,在该机器人末端位于该第一位置的情况下,该获取单元710,还用于获取该机器人的第一电机编码器值,该第一电机编码器值用于计算该第一关节变量;在该机器人末端位于该第二位置的情况下,该获取单元710,还用于该机器人的第二电机编码器值,该第二电机编码器值用于计算该第二关节变量。
该装置700可实现对应于根据本申请实施例的方法实施例中的用于标定机器人的运动学参数的装置执行的步骤或者流程,该装置700可以包括用于执行方法实施例中的用于标定机器人的运动学参数的装置执行的方法的单元。并且,该装置700中的各单元和上述其他操作和/或功能分别为了实现方法实施例中的用于标定机器人的运动学参数的装置中的方法实施例的相应流程。
其中,当该装置700用于执行图2中的方法时,获取单元710可用于执行方法中的获取位移对的步骤,如步骤S210;处理单元720可用于执行方法中的处理步骤,如步骤S211和S220。
应理解,各单元执行上述相应步骤的具体过程在上述方法实施例中已经详细说明,为了简洁,在此不再赘述。
上文实施例中的处理单元720可以由至少一个处理器或处理器相关电路实现。获取单元710可以由收发器或收发器相关电路实现。存储单元可以通过至少一个存储器实现。
如图8所示,本申请实施例还提供一种用于标定机器人的运动学参数的装置800。该装置800包括处理器810,还可以包括一个或多个存储器820。处理器810与存储器820耦合,存储器820用于存储计算机程序或指令和/或数据,处理器810用于执行存储器820存储的计算机程序或指令和/或数据,使得上文方法实施例中的方法被执行。可选地,该装置800包括的处理器810为一个或多个。
可选地,该存储器820可以与该处理器810集成在一起,或者分离设置。
可选地,如图8所示,该装置800还可以包括收发器830,收发器830用于信号的接收和/或发送。例如,处理器810用于控制收发器830进行信号的接收和/或发送。
作为一种方案,该装置800用于实现上文方法实施例中由用于标定机器人的运动学参数的装置执行的操作。
本申请实施例还提供一种计算机可读存储介质,其上存储有用于实现上述方法实施例中由用于标定机器人的运动学参数的装置执行的方法的计算机指令。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现上述方法实施例中由用于标定机器人的运动学参数的装置执行的方法。
本申请实施例还提供一种用于标定机器人的运动学参数的系统,该用于标定机器人的运动学参数的系统包括上文实施例中的用于标定机器人的运动学参数的装置。
上述提供的任一种装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。
应理解,本申请实施例中提及的处理器可以是中央处理单元(centralprocessing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM)。例如,RAM可以用作外部高速缓存。作为示例而非限定,RAM可以包括如下多种形式:静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,这种实现不应认为超出本申请的保护范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的。例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元实现本申请提供的方案。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。例如,所述计算机可以是个人计算机,服务器,或者网络设备等。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD)等。例如,前述的可用介质可以包括但不限于:U盘、移动硬盘、只读存储器(read-onlymemory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;本申请中术语“至少一个”,可以表示“一个”和“两个或两个以上”,例如,A、B和C中至少一个,可以表示:单独存在A,单独存在B,单独存在C、同时存在A和B,同时存在A和C,同时存在C和B,同时存在A和B和C,这七种情况。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (19)
1.一种用于标定机器人的运动学参数的方法,其特征在于,包括:
获取位移对,所述位移对包括第一位移和第二位移,所述第一位移为机器人末端从第一位置移动至第二位置的实际移动位移,所述第二位移为所述机器人末端从所述第一位置移动至所述第二位置的名义移动位移;
根据所述位移对确定误差值,所述误差值用于标定所述机器人的运动学参数;
其中,所述第一位置和所述第二位置为所述机器人的操作空间中不同的两个点的位置,所述机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同;
所述实际移动位移由所述操作空间中的标定物的尺寸、第一图像的尺寸和第二图像的尺寸确定,所述第一图像为所述机器人末端在所述第一位置的情况下,所述机器人末端的执行器获取的所述标定物的图像,所述第二图像为所述机器人末端在所述第二位置的情况下,所述机器人末端的执行器获取的所述标定物的图像;
所述名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定,所述第一关节变量为所述机器人末端在所述第一位置的情况下,所述机器人的关节变量;所述第二关节变量为所述机器人末端在所述第二位置的情况下,所述机器人的关节变量;所述机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述机器人运动学模型和所述机器人末端在所述第一位置的位姿确定第一指令关节变量;
根据所述机器人运动学模型和所述机器人末端在所述第二位置的位姿确定第二指令关节变量;
根据所述第一指令关节变量和所述第二指令关节变量确定指令,所述指令用于控制所述机器人末端从所述第一位置移动至所述第二位置。
3.根据权利要求2所述的方法,其特征在于,所述机器人末端从所述第一位置移动至所述第二位置,包括:
所述机器人末端沿第一路径从所述第一位置移动至所述第二位置,其中,所述第一位置和所述第二位置在所述第一路径上,所述第一路径为所述机器人末端中心和所述标定物的表面的一点的连线。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述获取位移对,包括:获取多个位移对,其中,多个位移对包括第一位移对和第二位移对;
在获取所述第一位移对之前,所述方法还包括:控制所述机器人使得所述机器人末端与所述标定物的第一面平行;
在获取所述第二位移对之前,所述方法还包括:控制所述机器人使得所述机器人末端与所述标定物的第二面平行,其中,所述第一面和所述第二面为所述标定物不同的两个表面。
5.根据权利要求1至4中任一项所述的方法,其特征在于,在获取所述位移对之前,所述方法还包括:
确定所述机器人的运动学参数的误差大于预设阈值。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述机器人末端位于所述第一位置的情况下,获取所述机器人的第一电机编码器值,所述第一电机编码器值用于计算所述第一关节变量;
在所述机器人末端位于所述第二位置的情况下,获取所述机器人的第二电机编码器值,所述第二电机编码器值用于计算所述第二关节变量。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述机器人包括:
机械臂、无人机或智能车。
9.一种用于标定机器人的运动学参数的装置,其特征在于,包括:
获取单元,用于获取位移对,所述位移对包括第一位移和第二位移,所述第一位移为所述机器人末端从第一位置移动至第二位置的实际移动位移,所述第二位移为所述机器人末端从所述第一位置移动至所述第二位置的名义移动位移;
处理单元,用于根据所述位移对确定误差值,所述误差值用于标定所述机器人的运动学参数;
其中,所述第一位置和所述第二位置为所述机器人的操作空间中不同的两个点的位置,所述机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同;
所述实际移动位移由所述操作空间中的标定物的尺寸、第一图像的尺寸和第二图像的尺寸确定,所述第一图像为所述机器人末端在所述第一位置的情况下,所述机器人末端的执行器获取的所述标定物的图像,所述第二图像为所述机器人末端在所述第二位置的情况下,所述机器人末端的执行器获取的所述标定物的图像;
所述名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定,所述第一关节变量为所述机器人末端在所述第一位置的情况下,所述机器人的关节变量;所述第二关节变量为所述机器人末端在所述第二位置的情况下,所述机器人的关节变量;所述机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
10.根据权利要求9所述的装置,其特征在于,所述处理单元,还用于根据所述机器人运动学模型和所述机器人末端在所述第一位置的位姿确定第一指令关节变量;
所述处理单元,还用于根据所述机器人运动学模型和所述机器人末端在所述第二位置的位姿确定第二指令关节变量;
所述处理单元,还用于根据所述第一指令关节变量和所述第二指令关节变量确定指令,所述指令用于控制所述机器人末端从所述第一位置移动至所述第二位置。
11.根据权利要求10所述的装置,其特征在于,所述机器人末端从所述第一位置移动至所述第二位置,包括:
所述机器人末端沿第一路径从所述第一位置移动至所述第二位置,其中,所述第一位置和所述第二位置在所述第一路径上,所述第一路径为所述机器人末端中心和所述标定物的表面的一点的连线。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述获取单元,用于获取位移对,包括:所述获取单元,用于获取多个位移对,所述多个位移对包括第一位移对和第二位移对;
在所述获取单元获取所述第一位移对之前,所述处理单元,还用于控制所述机器人使得所述机器人末端与所述标定物的第一面平行;
在所述获取单元获取所述第二位移对之前,所述处理单元,还用于控制所述机器人使得所述机器人末端与所述标定物的第二面平行,其中,所述第一面和所述第二面为所述标定物不同的两个表面。
13.根据权利要求9至12中任一项所述的装置,其特征在于,在所述获取单元获取所述位移对之前,所述处理单元,还用于确定所述机器人的运动学参数的误差大于预设阈值。
15.根据权利要求9至14中任一项所述的装置,其特征在于,
在所述机器人末端位于所述第一位置的情况下,所述获取单元,还用于获取所述机器人的第一电机编码器值,所述第一电机编码器值用于计算所述第一关节变量;
在所述机器人末端位于所述第二位置的情况下,所述获取单元,还用于所述机器人的第二电机编码器值,所述第二电机编码器值用于计算所述第二关节变量。
16.一种用于标定机器人的运动学参数的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,以使得所述用于标定机器人的运动学参数的装置执行权利要求1至8中任一项所述的方法。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当所述计算机指令在计算机上运行时,如权利要求1至8中任一项所述的方法被执行。
18.一种用于标定机器人的运动学参数的系统,其特征在于,包括:
机器人和机器人末端的执行器,所述机器人用于:
获取位移对,所述位移对包括第一位移和第二位移,所述第一位移为所述机器人末端从第一位置移动至第二位置的实际移动位移,所述第二位移为所述机器人末端从所述第一位置移动至所述第二位置的名义移动位移;
根据所述多个位移对确定误差值,所述误差值用于标定所述机器人的运动学参数;
所述机器人末端的执行器用于:
在所述机器人末端位于所述第一位置的情况下,获取标定物的第一图像;
在所述机器人末端位于所述第二位置的情况下,获取所述标定物的第二图像;
其中,所述第一位置和所述第二位置为所述机器人的操作空间中不同的两个点的位置,所述机器人末端在所述第一位置的姿态和在所述第二位置的姿态相同;
所述实际移动位移由所述机器人的操作空间中的标定物的尺寸、所述第一图像的尺寸和所述第二图像的尺寸确定;
所述名义移动位移由机器人运动学模型、第一关节变量和第二关节变量确定,所述第一关节变量为所述机器人末端在所述第一位置的情况下,所述机器人的关节变量;所述第二关节变量为所述机器人末端在所述第二位置的情况下,所述机器人的关节变量;所述机器人运动学模型用于表示机器人的关节变量和机器人末端的位姿之间的关系。
19.根据权利要求18所述的系统,其特征在于,所述系统还包括:所述标定物。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111340403.7A CN116117785A (zh) | 2021-11-12 | 2021-11-12 | 用于标定机器人的运动学参数的方法和装置 |
PCT/CN2022/128991 WO2023083056A1 (zh) | 2021-11-12 | 2022-11-01 | 用于标定机器人的运动学参数的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111340403.7A CN116117785A (zh) | 2021-11-12 | 2021-11-12 | 用于标定机器人的运动学参数的方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116117785A true CN116117785A (zh) | 2023-05-16 |
Family
ID=86294278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111340403.7A Pending CN116117785A (zh) | 2021-11-12 | 2021-11-12 | 用于标定机器人的运动学参数的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116117785A (zh) |
WO (1) | WO2023083056A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116423526B (zh) * | 2023-06-12 | 2023-09-19 | 上海仙工智能科技有限公司 | 一种机械臂工具坐标的自动标定方法及系统、存储介质 |
CN116817815B (zh) * | 2023-08-29 | 2023-11-17 | 聊城大学 | 一种基于三拉线位移传感器的位姿测量装置及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105021144A (zh) * | 2015-07-08 | 2015-11-04 | 合肥泰禾光电科技股份有限公司 | 一种工业机器人运动学参数标定装置及标定方法 |
CN106493708B (zh) * | 2016-12-09 | 2019-09-27 | 南京理工大学 | 一种基于双机械臂和辅助臂的带电作业机器人控制系统 |
WO2018199947A1 (en) * | 2017-04-26 | 2018-11-01 | Hewlett-Packard Development Company, L.P. | Robotic structure calibrations |
CN108724190A (zh) * | 2018-06-27 | 2018-11-02 | 西安交通大学 | 一种工业机器人数字孪生系统仿真方法及装置 |
CN110555889B (zh) * | 2019-08-27 | 2021-01-15 | 西安交通大学 | 一种基于CALTag和点云信息的深度相机手眼标定方法 |
CN111923049B (zh) * | 2020-08-21 | 2023-11-03 | 福州大学 | 基于球面模型的飞行机械臂视觉伺服与多任务控制方法 |
CN112132894B (zh) * | 2020-09-08 | 2022-09-20 | 大连理工大学 | 一种基于双目视觉引导的机械臂实时跟踪方法 |
CN113101584A (zh) * | 2021-03-17 | 2021-07-13 | 国网江西省电力有限公司电力科学研究院 | 一种基于三维点云模型的智能消防机器人控制方法 |
-
2021
- 2021-11-12 CN CN202111340403.7A patent/CN116117785A/zh active Pending
-
2022
- 2022-11-01 WO PCT/CN2022/128991 patent/WO2023083056A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023083056A1 (zh) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200298411A1 (en) | Method for the orientation of an industrial robot, and industrial robot | |
CN109859275B (zh) | 一种基于s-r-s结构的康复机械臂的单目视觉手眼标定方法 | |
US7756608B2 (en) | System for calibration of an industrial robot and a method thereof | |
JP4021413B2 (ja) | 計測装置 | |
WO2023083056A1 (zh) | 用于标定机器人的运动学参数的方法和装置 | |
JP4191080B2 (ja) | 計測装置 | |
US9517560B2 (en) | Robot system and calibration method of the robot system | |
JP5670416B2 (ja) | ロボットシステム表示装置 | |
EP2547490B1 (en) | Calibration of a base coordinate system for an industrial robot | |
US20180161984A1 (en) | Control device, robot, and robot system | |
JP5450242B2 (ja) | マニピュレータのキャリブレーション方法及びロボット制御システム | |
CN106737859B (zh) | 基于不变平面的传感器与机器人的外部参数标定方法 | |
JP6922204B2 (ja) | 制御装置、ロボットおよびロボットシステム | |
CN111745623B (zh) | 五自由度混联机器人末端位姿误差检测补偿系统及方法 | |
Mustafa et al. | A geometrical approach for online error compensation of industrial manipulators | |
CN111801198A (zh) | 一种手眼标定方法、系统及计算机存储介质 | |
JP6855491B2 (ja) | ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法 | |
WO2015070010A1 (en) | Calibration system and method for calibrating industrial robot | |
JP5574805B2 (ja) | 視覚センサを有するマニピュレータのセンサキャリブレーション方法及びロボット制御システム | |
JP5378908B2 (ja) | ロボットの精度調整方法およびロボット | |
Yang et al. | Simultaneous base and tool calibration for self-calibrated parallel robots | |
King et al. | Vision guided robots for automated assembly | |
CN114750160B (zh) | 机器人控制方法、装置、计算机设备和存储介质 | |
CN115816448A (zh) | 基于光学定位仪的机械臂标定方法、装置、设备及介质 | |
Wang et al. | Kinematic calibration of a hexapod robot based on monocular vision |
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 |