CN116468647A - 基于多个位姿标识的执行臂检测方法及机器人系统 - Google Patents
基于多个位姿标识的执行臂检测方法及机器人系统 Download PDFInfo
- Publication number
- CN116468647A CN116468647A CN202210031827.3A CN202210031827A CN116468647A CN 116468647 A CN116468647 A CN 116468647A CN 202210031827 A CN202210031827 A CN 202210031827A CN 116468647 A CN116468647 A CN 116468647A
- Authority
- CN
- China
- Prior art keywords
- pose
- determining
- target
- arm
- identification
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 60
- 238000000034 method Methods 0.000 claims description 142
- 210000000988 bone and bone Anatomy 0.000 claims description 41
- 230000033001 locomotion Effects 0.000 claims description 35
- 238000009826 distribution Methods 0.000 claims description 26
- 238000003860 storage Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 12
- 238000007476 Maximum Likelihood Methods 0.000 claims description 11
- 238000013507 mapping Methods 0.000 claims description 9
- 230000004807 localization Effects 0.000 claims description 6
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000009466 transformation Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000005452 bending Methods 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 239000000470 constituent Substances 0.000 description 4
- 239000012636 effector Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 125000006850 spacer group Chemical group 0.000 description 3
- 238000002591 computed tomography Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10004—Still image; Photographic image
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Manipulator (AREA)
Abstract
本公开涉及检测技术领域,公开一种执行臂检测方法。执行臂检测方法包括:确定用于控制执行臂的末端的目标位姿的驱动信号,驱动信号对应于目标位姿;获取定位图像;在定位图像中,识别位于执行臂的末端上的多个位姿标识,多个位姿标识包括不同的位姿标识图案;基于多个位姿标识,确定执行臂的末端的实际位姿;以及基于目标位姿与实际位姿,确定执行臂的性能。
Description
技术领域
本公开涉及检测技术领域,尤其涉及一种基于多个位姿标识的执行臂检测方法及机器人系统。
背景技术
在机器人开始作业前,需要对执行臂的性能进行检验,其中,执行臂的位姿准确程度是衡量执行臂的性能的一个重要标准。
执行臂的位姿包括其末端的位置和姿态。通常,可以使用激光跟踪仪等设备测量执行臂的位姿,根据所获得的位姿判断执行臂的末端是否移动到了期望的位置和姿态,进而确定执行臂的性能。然而,激光跟踪仪等设备至少存在价格昂贵、无法一次性测得位姿、需要定期校准等技术问题。
因此,需要提供一种能简单有效地检测执行臂的性能的方法,以便于对执行臂的质量进行评估。
发明内容
在一些实施例中,本公开提供了一种执行臂检测方法。该方法可以包括:确定用于控制执行臂的末端的目标位姿的驱动信号,驱动信号对应于目标位姿;获取定位图像;在定位图像中,识别位于执行臂的末端上的多个位姿标识,多个位姿标识包括不同的位姿标识图案;基于多个位姿标识,确定执行臂的末端的实际位姿;以及基于目标位姿与实际位姿,确定执行臂的性能。
在一些实施例中,本公开提供了一种计算机设备,包括:存储器,用于存储至少一条指令;以及处理器,与存储器耦合并且用于执行至少一条指令以执行本公开一些实施例中任一项的方法。
在一些实施例中,本公开提供了一种计算机可读存储介质,用于存储至少一条指令,至少一条指令由计算机执行时致使计算机执行本公开一些实施例中任一项的方法。
在一些实施例中,本公开提供了一种机器人系统,包括:执行臂,执行臂的末端设置有多个位姿标识,多个位姿标识包括不同的位姿标识图案;至少一个驱动装置,用于驱动执行臂;图像采集设备,用于采集执行臂的定位图像;以及控制装置,被配置为与至少一个驱动装置、图像采集设备连接,执行本公开一些实施例中任一项的方法。
附图说明
图1示出根据本公开一些实施例的执行臂检测系统的示意图;
图2示出根据本公开一些实施例的执行臂的构节的示意图;
图3示出根据本公开一些实施例的执行臂的结构示意图;
图4示出根据本公开一些实施例的包括多个位姿标识的标签的示意图;
图5示出根据本公开一些实施例的设置在执行臂末端周侧并形成圆筒形的标签的示意图;
图6示出根据本公开一些实施例的执行臂检测系统的检测方法的流程图;
图7示出根据本公开一些实施例的确定用于控制执行臂的末端的目标位姿的驱动信号的方法的流程图;
图8示出根据本公开另一些实施例的确定用于控制执行臂的末端的目标位姿的驱动信号的方法的流程图;
图9示出根据本公开一些实施例的用于更新执行臂的关节的目标关节参数集的方法的流程图;
图10示出根据本公开一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法的流程图;
图11示出根据本公开另一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法的流程图;
图12示出根据本公开一些实施例的识别位姿标识的方法的流程图;
图13示出根据本公开一些实施例的位姿标识图案的示意图;
图14示出根据本公开一些实施例的用于搜索位姿标识的方法的流程图;
图15示出根据本公开一些实施例的搜索位姿标识的示意图;
图16示出根据本公开一些实施例的用于搜索第二位姿标识的方法的流程图;
图17示出根据本公开一些实施例的用于搜索位姿标识的方法的流程图;
图18示出根据本公开一些实施例的计算机设备的示意框图;
图19示出根据本公开一些实施例的机器人系统的示意图。
具体实施方式
为使本公开解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图详细说明本公开实施例的技术方案作。本领域技术人员可以理解,所描述的实施例应视为在所有方面都是示例性的而非限制性的,仅仅是本公开示例性实施例,而不是全部的实施例。
在本公开中,术语“位置”指物体或物体的一部分在三维空间中的定位(例如,可使用笛卡尔X、Y和Z坐标方面的变化描述三个平移自由度,例如分别沿笛卡尔X轴、Y轴和Z轴的三个平移自由度)。在本公开中,术语“姿态”指物体或物体的一部分的旋转设置(例如,三个旋转自由度,可使用滚转、俯仰和偏转来描述这三个旋转自由度)。在本公开中,术语“位姿”指物体或物体的一部分的位置和姿态的组合,例如可使用以上提到的六个自由度中的六个参数来描述。
在本公开中,参考坐标系可以理解为能够描述物体位姿的坐标系。根据实际的定位需求,参考坐标系可以选择以虚拟参照物的原点或实体参照物的原点为坐标系原点。在一些实施例中,参考坐标系可以为世界坐标系或者相机坐标系或者操作人员自身的感知坐标系等。其中,相机坐标系是指图像采集设备所在的坐标系。
在本公开中,物体可以理解为需要被定位的对象或目标,例如执行臂或者执行臂的末端。执行臂或其一部分的位姿可以是指执行臂或其一部分定义的坐标系相对参考坐标系的位姿。
图1示出了根据本公开一些实施例的执行臂检测系统100(以下也称“系统100”)的示意图。如图1所示,系统100可以包括控制装置120、执行臂130、以及图像采集设备150。控制装置120可以与图像采集设备150和执行臂130(例如,执行臂130的驱动装置)通信连接。在一些实施例中,执行臂130在末端或远端处可以包括执行臂末端131。在一些实施例中,执行臂末端131的远端处可以设置有末端器械140。
在一些实施例中,控制装置120可以用于控制执行臂130的运动,以调整执行臂130的位姿等。控制装置120可以控制执行臂130运动,以使执行臂末端131运动至期望的位置和姿态。在一些实施例中,如图1所示,系统100还可以包括输入装置110a和/或信号生成部110b,控制装置120可以与输入装置110a或信号生成部110b通信连接。在一些实施例中,控制装置120可以与未图示的驱动装置(例如电机)通信连接,基于输入装置110a的预先输入或信号生成部110b随机生成的信号向驱动装置发送驱动信号,从而使驱动装置基于驱动信号控制执行臂131,以使执行臂末端131运动至与该驱动信号对应的目标位姿。
在一些实施例中,执行臂130可以包括连续体可形变臂。连续体可形变臂例如是如图3所示的执行臂300。在一些实施例中,执行臂130可以包括由多个关节构成的具有多自由度的执行臂。诸如可以实现4至7个自由度运动的执行臂。例如可以实现6个自由度运动的执行臂。
在一些实施例中,图像采集设备150可以用于采集定位图像。定位图像中可以包括执行臂130的部分或全部的图像。在一些实施例中,图像采集设备150可以包括但不限于双镜头图像采集设备或单镜头图像采集设备,例如双目或单目相机。在一些实施例中,图像采集设备150可以用于采集执行臂末端131的图像,执行臂末端131上可以设置有多个不同的位姿标识,这些位姿标识包括不同的位姿标识图案。例如,执行臂末端131上可以设置有定位标签132(定位标签132例如可以是图4所示的标签400)。定位标签132可以包括多个位姿标识,多个位姿标识包括不同的位姿标识图案(如下详述)。
如图1所示,执行臂末端131处于图像采集设备150的观测视野151之内,则采集的定位图像中可以包括执行臂末端131的图像。根据不同的应用场景,图像采集设备150可以是工业相机、水下相机、微型电子相机、内窥镜相机等。在一些实施例中,图像采集设备150可以是位置固定的或者位置变化的,例如,固定在监控位置的工业相机或者位置或姿态可调节的内窥镜相机。在一些实施例中,图像采集设备150可以实现可见光波段成像、红外波段成像、CT(Computed Tomography,电子计算机断层扫描)成像和声波成像等中的至少一种。根据采集的图像的种类不同,本领域技术人员可以选择不同的图像采集设备作为图像采集设备150。
在一些实施例中,控制装置120可以接收来自图像采集设备150的定位图像,并且对定位图像进行处理。例如,控制装置120可以在定位图像中,识别位于执行臂末端131上的多个位姿标识,并且确定执行臂末端131相对参考坐标系(例如,世界坐标系,如图3所示)的位姿,作为实际位姿。
在一些实施例中,系统100可以基于执行臂末端131的实际位姿和目标位姿,确定执行臂130的性能。本领域技术人员应理解,系统100可以应用于多个领域(例如,物流、工业制造、医疗等)的专用或通用机器人系统。作为一个示例,系统100可以应用于例如手术机器人等机器人系统,执行臂末端131的远端处设置的末端器械140例如可以是手术执行器。
图2示出根据本公开一些实施例的执行臂的构节200示意图。执行臂(例如执行臂130)可以包括至少一个可形变的构节200。如图2所示,可形变的构节200包括固定盘210和多根结构骨220。多根结构骨220的第一端与固定盘210固定连接,第二端用于与驱动装置(未示出)连接。在一些实施例中,固定盘210可以是包括但不限于环状结构、盘状结构等,而且横截面可以是圆形、矩形、多边形等等各种形状。
驱动装置通过驱动结构骨220使构节200发生形变。例如,驱动装置通过驱动结构骨220使构节200处于如图2所示的弯曲状态。在一些实施例中,多根结构骨220的第二端穿过基盘230与驱动装置连接。在一些实施例中,与固定盘210类似,基盘230可以是包括但不限于环状结构、盘状结构等,而且横截面可以是圆形、矩形、多边形等等各种形状。驱动装置可以包括线性运动机构、驱动构节或两者的组合。线性运动机构可以与结构骨220连接,以推动或拉动结构骨220,进而驱动构节200弯曲。驱动构节可以包括固定盘和多根结构骨,其中多根结构骨的一端固定连接到固定盘。驱动构节的多根结构骨的另一端与多根结构骨220连接或一体成型,以通过驱动构节的弯曲来驱动构节200的弯曲。
在一些实施例中,在固定盘210与基盘230之间还包括间隔盘240,多根结构骨220穿过间隔盘240。类似地,驱动构节也可以包括间隔盘。
图3示出根据本公开一些实施例的执行臂300的结构示意图。如图3所示,执行臂300为可形变的执行臂,执行臂300可以包括执行臂末端310和执行臂主体320。执行臂主体320可以包括一个或多个构节,例如第一构节3201和第二构节3202。在一些实施例中,第一构节3201和第二构节3202的结构可以与图2所示的构节200类似。在一些实施中,如图3所示,执行臂主体320还包括位于第一构节3201和第二构节3202之间的第一直杆段3203。第一直杆段3203的第一端与第二构节3202的基盘连接,第二端与第一构节3201的固定盘连接。在一些实施中,如图3所示,执行臂主体320还包括第二直杆段3204,第二直杆段3204的第一端与第一构节3201的基盘连接。
在一些实施例中,执行臂130可以是如图3所示的执行臂300。如图3所示,每个构节(第一构节3201和第二构节3202)可以包括基座盘、固定盘以及贯穿基座盘和固定盘的多根结构骨,多根结构骨可以与固定盘固定连接,与基座盘滑动连接。连续体可形变臂及其包含的构节可以通过运动学模型描述(如下详述)。
在一些实施例中,每个构节的结构具体可如图2所示的构节200。如图2所示,基座盘坐标系附着在第t(t=1,2,3…)节连续体段的基座盘上,其原点位于基座盘中心,XY平面与基座盘平面重合,/>从基座盘中心指向第一根结构骨(第一根结构骨可以理解为从多根结构骨中任意指定的一根作为参照的结构骨)。弯曲平面坐标系其原点与基座盘坐标系原点重合,XY平面和弯曲平面重合,/>与/>重合。固定盘坐标系/>附着在第t节连续体段的固定盘上,其原点位于固定盘中心,XY平面与固定盘平面重合,/>从固定盘中心指向第一根结构骨。弯曲平面坐标系其原点位于固定盘中心,XY平面和弯曲平面重合,/>与/>重合。
如图2所示的单个构节200可以通过运动学模型表示。第t节构节末端(固定盘坐标系{te})相对于基座盘坐标系{tb}的位置tbPte、姿态tbRte可以基于以下公式(1)、(2)确定:
tbRte=tbRt1 t1Rt2 t2Rte (2)
其中,Lt为第t节构节的虚拟结构骨(例如,图2中示出的虚拟结构骨221)的长度,θt为在第t节构节中,关于/>或者/>旋转到/>所需的转动角度,tbRt1为第t节构节的弯曲平面坐标系1{t1}相对于基座盘坐标系{tb}的姿态,t1Rt2为第t节构节的弯曲平面坐标系2{t2}相对于弯曲平面坐标系1{t1}的姿态,t2Rte为第t节构节的固定盘坐标系{te}相对于弯曲平面坐标系2{t2}的姿态。
tbRt1、t1Rt2和t2Rte可以基于以下公式(3)、公式(4)和公式(5)所示:
其中,δt为在第t节构节中,弯曲平面和的夹角。
如图2所示的单个构节200的关节参数Ψt可以基于以下公式(6)确定:
ψt=[θt,δt]T (6)
在一些实施例中,多根结构骨的驱动量与关节参数具有已知的映射关系。基于构节的目标关节参数和映射关系,可以确定多根结构骨的驱动量。多根结构骨的驱动量可以理解为将单个构节从初始状态(例如,θt=0)弯曲至目标弯曲角度时结构骨受推或受拉的长度。在一些实施例中,多根结构骨的驱动量与关节参数的映射关系可以基于以下公式(7)确定:
qi≡-rtiθtcos(δt+βti) (7)
其中,rti为第t节构节中第i根结构骨到虚拟结构骨的距离,βti为第t节构节中第i根结构骨和第一根结构骨的夹角,qi为第i根结构骨的驱动量,基于第i根结构骨的驱动量可以确定驱动装置的驱动信号。
在一些实施例中,整个可形变臂可以通过运动学模型来描述。如图3所示,位于可形变臂多个位置处的多个坐标系之间可以进行变换。例如,连续体可形变臂的执行器在参考坐标系(例如,参考坐标系为世界坐标系{w})中可基于以下公式(8)确定:
wTtip=wT1b 1bT1e 1eT2b 2bT2e 2eTtip (8)
其中,WTtip表示连续体可形变臂的执行器相对于参考坐标系的齐次变换矩阵;WT1b表示第一连续体段的基座盘相对于参考坐标系的齐次变换矩阵;1bTle表示第一连续体段的固定盘相对于第一连续体段的基座盘的齐次变换矩阵;1eT2b表示第二连续体段的基座盘相对于第一连续体段的固定盘的齐次变换矩阵;2bT2e表示第二连续体段的固定盘相对于第二连续体段的基座盘的齐次变换矩阵;2eTtip表示连续体可形变臂的执行器相对于第二连续体段的固定盘的齐次变换矩阵。在一些实施例中,执行器固定设置在固定盘上,因此2eTtip是已知的或者预先确定的。
应理解,可变形臂在不同的工作状态具有不同的关节参数。例如,图3所示的执行臂300至少包括四种工作状态。执行臂300的四种工作状态如下所述:
第一工作状态:只有第二构节3202参与执行器的位姿控制(例如,只有第二构节3202进入工作空间),此时执行臂300的关节参数可以基于以下公式(9)确定:
其中,ψc1为第一工作状态下执行臂300的关节参数,为执行臂300的绕轴转角,L2、θ2、δ2与如图2所示构节200中Lt、θt和δt的物理意义相同。
第二工作状态:第二构节3202和第一直线段3203参与执行器的位姿控制(例如,第二构节3202全部进入工作空间,第一直线段3203部分进入工作空间),此时执行臂300的关节参数可以基于以下公式(10)确定:
其中,ψc2为第二工作状态下执行臂300的关节参数,Lr为第一直线段3203的进给量。
第三工作状态:第二构节3202、第一直线段3203和第一构节3201参与执行器的位姿控制(例如,第二构节3202全部进入工作空间,第一直线段3203全部进入工作空间,第一构节3201部分进入工作空间),此时执行臂300的关节参数可以基于以下公式(11)确定:
其中,ψc3为第三工作状态下执行臂300的关节参数,L1、θ1和δ1与如图2所示构节200中Lt、θt和δt的物理意义相同。
第四工作状态:第二构节3202、第一直线段3203、第一构节3201和第二直线段3204参与执行器的位姿控制(例如,第二构节3202全部进入工作空间,第一直线段3203全部进入工作空间,第一构节3201全部进入工作空间,第二直线段3204部分进入工作空间),此时执行臂300的关节参数可以基于以下公式(12)确定:
其中,ψc4为第四工作状态下执行臂300的关节参数,Ls为第二直线段3204的进给量。
在一些实施例中,执行臂上(例如,执行臂末端131上)分布有多个位姿标识。在一些实施例中,多个位姿标识设置在执行臂130的柱状部分的外表面上。例如,多个位姿标识沿周向分布在执行臂末端131上,例如沿周向设置在执行臂末端131的柱状部分的外表面上。在一些实施例中,执行臂末端131的柱状部分的外表面上设置有包括多个位姿标识的定位标签132,多个位姿标识包括沿柱状部分的周向分布在定位标签上的多个不同的位姿标识图案以及在位姿标识图案中的位姿标识图案角点。
在一些实施例中,位姿标识可以包括位姿标识图案和在位姿标识图案中的位姿标识图案角点。在一些实施例中,位姿标识图案可以设置在执行臂末端上的标签上,或者可以印刷在执行臂末端上,或者可以是由执行臂末端自身的物理构造形成的图案,例如,可以包括凹陷或凸起及其组合。在一些实施例中,位姿标识图案可以包括以亮度、灰度、色彩等形成的图案。在一些实施例中,位姿标识图案可以包括主动(例如,自发光)或被动(例如,反射光线)提供被图像采集设备探测的信息的图案。本领域技术人员可以理解,在一些实施例中,位姿标识的位姿或者位姿标识图案的位姿可以由位姿标识图案角点坐标系的位姿来表示。在一些实施例中,位姿标识图案设置在执行臂末端上适于被图像采集设备采集图像的区域,例如,在工作过程中可以被图像采集设备的视场覆盖的区域或者在工作过程中不容易被干扰或遮挡的区域。
图4示出根据一些实施例的包括多个位姿标识的标签400的示意图。图5示出设置在执行臂末端周侧并形成圆筒形的标签500的示意图。可以理解,简单起见,标签400可以与标签500包括相同的位姿标识图案。
参看图4,多个位姿标识可以包括多个不同的位姿标识图案410。多个位姿标识还可以包括在多个不同的位姿标识图案410中的多个位姿标识图案角点P4,在本公开中以“〇”符号表示位姿标识图案角点。在一些实施例中,可以通过识别位姿标识图案410或其中的位姿标识图案角点P4确定位姿标识。
参看图5,在周向设置状态下,标签400变为空间构造为圆筒形的标签500。在一些实施例中,位姿标识的绕轴角度或者滚转角可以通过位姿标识图案或位姿标识图案角点的绕轴角度表示。每个位姿标识图案或位姿标识图案角点标识的绕轴角度是已知的或预先确定的。在一些实施例中,基于多个位姿标识(例如位姿标识图案或位姿标识图案角点)的分布,可以确定每个位姿标识所标识的绕轴角度。在一些实施例中,多个位姿标识可以均匀分布(例如,标签400中的位姿标识图案角点等间距分布,标签500中的位姿标识图案角点等分布角分布)。另一些实施例中,多个位姿标识可以非均匀分布。在一些实施例中,基于多个位姿标识的分布,每个位姿标识图案可以用于标识特定的绕轴角度,每个位姿标识图案与所标识的绕轴角度具有一一对应关系。在本公开中,绕轴角度或者滚转角是指绕Z轴(例如,执行臂的末端坐标系{wm}的Z轴)的角度。在一些实施例中,Z轴可以是沿执行臂末端的切线方向。
如图5所示,标签500中多个不同的位姿标识图案510沿圆柱形结构周向均匀分布,多个位姿标识图案角点均匀分布在执行臂的末端坐标系{wm}的XY平面的截面圆520上,则任意相邻的位姿标识图案角点的分布角(例如,角度α0)相等。设定X轴指向的位姿标识图案角点P5,P5作为标识0°绕轴角度的参照角点(位姿标识图案角点P5所在的位姿标识图案作为参照图案),则可以根据任意位姿标识图案角点与位姿标识图案角点P5的位置关系确定该位姿标识图案角点标识的绕轴角度。在一些实施例中,位姿标识图案角点标识的绕轴角度可以基于以下公式(13)确定:
αm=α0(m-1) (13)
其中,αm为以位姿标识图案角点P5作为第一个位姿标识图案角点,按照截面圆520的顺时针方向,第m个位姿标识图案角点的绕轴角度。
本公开的一些实施例提供了一种执行臂的检测方法。图6示出根据本公开一些实施例的执行臂检测系统(例如执行臂检测系统100)的检测方法600的流程图。如图6所示,该方法600中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法600可以由软件、固件和/或硬件来实现。在一些实施例中,方法600可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图6,在步骤601,确定用于控制执行臂的末端的目标位姿的驱动信号,该驱动信号对应于目标位姿。在一些实施例中,与执行臂的末端的目标位姿对应的驱动信号可以由用户通过图1所示的输入装置110a预先设置,控制装置120基于预先设置的驱动信号控制执行臂的末端运动至对应的目标位姿。本领域技术人员可以理解,驱动信号与执行臂的位姿具有映射关系,因此可以在预先设置驱动信号的情况下,可以将驱动信号与执行臂的位姿之间的映射关系预先存储至系统100的存储器中,控制装置120可以基于预先设定的驱动信号,通过查表法确定执行臂的末端的目标位姿。在一些实施例中,与执行臂的末端的目标位姿对应的驱动信号可以由图1所示的信号生成部110b随机生成,控制装置120基于随机生成的驱动信号控制执行臂的末端运动至对应的目标位姿。
在一些实施例中,也可以预先设置或随机生成执行臂的末端的目标位姿,控制装置120基于目标位姿确定用于控制执行臂的末端的驱动信号。在一些实施例中,也可以预先设置或随机生成与执行臂在目标位姿下的构型对应的目标关节参数集,控制装置120基于目标关节参数集确定用于控制执行臂的末端的驱动信号。例如,确定用于控制执行臂的末端的目标位姿的驱动信号的示例性方法包括如图7或图8所示的方法。在一些实施例中,执行臂的末端的目标位姿为执行臂的末端在参考坐标系中的目标位姿。
参看图6,在步骤603,获取定位图像。在一些实施例中,定位图像中包含执行臂的末端上的多个位姿标识。在一些实施例中,可以从如图1所示的图像采集设备150接收定位图像。例如,控制装置120可以接收图像采集设备150主动发送的定位图像。或者,控制装置120可以向图像采集设备150发送图像请求指令,图像采集设备150响应图像请求指令向控制装置120发送定位图像。
继续参看图6,在步骤605,在定位图像中,识别位于执行臂的末端上的多个位姿标识,多个位姿标识包括不同的位姿标识图案。例如,识别位于执行臂的末端上的多个位姿标识的示例性方法可以包括如图12、图14、图16和图17所示的方法。在一些实施例中,控制装置120可以通过图像处理算法识别定位图像中的部分或全部的位姿标识。在一些实施例中,图像处理算法可以包括特征识别算法,图像处理算法可以提取或识别位姿标识的特征。例如,图像处理算法可以包括角点检测算法,用于检测位姿标识图案角点。该角点检测算法可以是包括但不限于基于灰度图的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测中的一种。例如,图像处理算法可以是颜色特征提取算法,用于检测位姿标识图案中的颜色特征。再例如,图像处理算法可以是轮廓检测算法,用于检测位姿标识图案的轮廓特征。在一些实施例中,控制装置可以通过识别模型识别定位图像中的部分或全部的位姿标识。
继续参看图6,在步骤607,基于多个位姿标识,确定执行臂的末端的实际位姿。在一些实施例中,方法600还包括:确定多个位姿标识在定位图像中的二维坐标;以及基于多个位姿标识在定位图像中的二维坐标和多个位姿标识相对执行臂的末端坐标系的三维坐标,确定执行臂的末端坐标系相对参考坐标系的位姿,作为执行臂的末端的实际位姿。在一些实施例中,位姿标识的坐标可以通过位姿标识图案角点的坐标表示。例如,位姿标识在定位图像中的二维坐标和在执行臂的末端坐标系中的三维坐标可以通过位姿标识图案角点的坐标表示。在一些实施例中,可以基于多个位姿标识图案角点在定位图像中的二维坐标和在执行臂的末端坐标系中的三维坐标,确定执行臂的末端坐标系相对参考坐标系的位姿,作为执行臂的末端的实际位姿。
继续参看图6,在步骤609,基于目标位姿与实际位姿,确定执行臂的性能。在一些实施例中,方法600还可以包括响应于目标位姿与实际位姿达到误差条件,生成性能信号,性能信号指示执行臂的性能不合格。例如,控制装置可以确定执行臂的末端在参考坐标系中的目标位姿或与目标位姿对应的驱动信号,并基于执行臂的定位图像确定执行臂的末端的实际位姿,在目标位姿与实际位姿满足误差条件(例如大于等于误差阈值)时,发出用于指示驱动臂的性能不合格的性能信号。在一些实施例中,性能信号可以包括多种性能报警信号。多种性能报警信号根据执行臂的使用状态可以包括出厂性能报警信号和作业性能报警信号。在一些实施例中,出厂性能报警信号指示执行臂未通过出厂性能检测,性能不满足出厂标准。在一些实施例中,作业性能报警信号指示已经服役的执行臂未通过作业性能检测,性能不满足作业要求,需要检修或是替换。
在一些实施例中,方法600还可以包括基于执行臂的末端在参考坐标系中的目标位姿与执行臂的末端在参考坐标系中的实际位姿,确定位姿差,以及基于位姿差与误差条件,确定执行臂的性能。位姿差可以包括位置差和姿态差。在一些实施例中,可以通过一次执行臂检测确定执行臂的末端的目标位姿与实际位姿的位姿差,基于该位姿差是否满足误差条件确定执行臂的性能。在一些实施例中,可以通过多次执行臂检测,确定执行臂的末端的目标位姿与实际位姿的多个位姿差,基于这些位姿差是否满足误差条件(例如,多个位姿差的平均值或累计值大于等于误差阈值),确定执行臂的性能。在一些实施例中,方法600还可以包括,以预定检测周期确定执行臂的末端的实际位姿(例如,以预定检测周期执行步骤603-607),以通过多个检测循环,实时确定或累计确定执行臂的性能。
在第k次执行臂检测循环中,位姿差可以表示如下:
其中,为第k次执行臂检测循环时执行臂的位置差,/>为第k次执行臂检测循环时执行臂的角度差,Pt k为第k次执行臂检测循环时执行臂的目标位置,Rt k为第k次执行臂检测循环时执行臂的目标姿态,/>为第k次执行臂检测循环时执行臂的实际位置,Rr k为第k次执行臂检测循环时执行臂的实际姿态,/>表示/>与/>之间的转角。
图7是示出根据本公开一些实施例的确定用于控制执行臂的末端的目标位姿的驱动信号的方法700的流程图。如图7所示,该方法700中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法700可以由软件、固件和/或硬件来实现。在一些实施例中,方法700可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图7,在步骤701,预先设置执行臂的末端的运动轨迹,运动轨迹包括多个目标位姿。在一些实施例中,执行臂的末端的运动轨迹可以由用户通过图1所示的输入装置110a预先设置,或通过图1所示的信号生成部110b预先生成。运动轨迹可以包括执行臂的末端的多个目标位姿。在一些实施例中,运动轨迹可以是执行臂的末端经过的目标路径,其可以包括按预定运动周期依次排列的多个目标路径点,这些路径点分别示出了执行臂的末端在多个运动循环中的目标位置与目标姿态。执行臂检测循环的检测周期可以与执行臂运动循环的运动周期相同。或者,执行臂检测循环的检测周期可以是执行臂运动循环的运动周期的整数倍。
在步骤703,确定与多个目标位姿对应的多个驱动信号。在一些实施例中,将执行臂的末端在运动轨迹中前一运动循环的目标位姿作为当前运动循环的起始位姿,基于执行臂的末端在当前运动循环的目标位姿与起始位姿的差值,通过执行臂运动学模型的逆运动学数值迭代算法,可以确定控制执行臂运动的至少一个驱动装置的驱动信号。应当理解,运动学模型可以表示执行臂的关节空间和任务空间的运动关系的数学模型。例如,运动学模型可以通过DH(Denavit-Hartenberg)参数法和指数积表示法等方法建立。
在一些实施例中,方法700还可以包括:以预定运动周期逐个发送多个驱动信号;以预定检测周期,确定执行臂的末端的实际位姿;以及基于多个目标位姿与多个实际位姿,确定执行臂的性能。例如,控制装置可以在确定与运动轨迹中的多个目标位姿对应的多个驱动信号后,以预定运动周期向驱动装置逐个发送多个驱动信号,并以预定检测周期基于执行臂的定位图像确定执行臂的末端的实际位姿,基于多个目标位姿与多个实际位姿确定执行臂的性能。
在一些实施例中,以预定运动周期排列的多个实际位姿构成了执行臂的末端的实际轨迹,误差条件可以是反映执行臂的末端的实际轨迹相对于运动轨迹的偏差程度的轨迹准确度。例如,轨迹准确度可以是执行臂的末端在整个运动轨迹上的多个实际位姿相对于多个目标位姿的最大位姿差,或者可以是执行臂的末端在整个运动轨迹上的多个实际位姿相对于多个目标位姿的平均位姿差或累计位姿差。在一些实施例中,控制装置可以在执行臂的末端的轨迹准确度大于等于预定阈值时,发出用于指示驱动臂的性能不合格的性能信号。
图8是示出根据本公开另一些实施例的确定用于控制执行臂的末端的目标位姿的驱动信号的方法800的流程图。如图8所示,该方法800中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法800可以由软件、固件和/或硬件来实现。在一些实施例中,方法800可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图8,在步骤801,预先设置或随机生成执行臂的关节的目标关节参数集。在一些实施例中,执行臂的位姿可由执行臂所包括的关节的关节信息的集合(例如由这些关节信息组成的矩阵)来表示,执行臂的关节的关节参数集与执行臂的位姿具有映射关系。在一些实施例中,执行臂的关节的目标关节参数集可以由用户通过图1所示的输入装置110a预先设置或通过图1所示的信号生成部110b随机生成,该目标关节参数集决定了执行臂的构型以及执行臂的末端的目标位姿。在一些实施例中,在预先设置执行臂的关节的目标关节参数集的情况下,可以预先存储执行臂的关节的关节参数集与执行臂的位姿之间的映射关系,基于预先设定的目标关节参数集,通过查表法确定执行臂的末端的目标位姿。
在步骤803,基于目标关节参数集,确定驱动信号及对应的目标位姿。在一些实施例中,控制装置可以基于执行臂的关节的目标关节参数集,通过执行臂的运动学模型确定驱动执行臂的至少一个驱动装置的驱动信号以及由该目标关节参数集所决定的执行臂的末端的目标位姿。步骤803可以与方法700中的步骤703类似地实现。
在一些实施例中,方法800还可以包括:基于目标关节参数集,确定多根结构骨的驱动量;以及基于多根结构骨的驱动量,确定驱动信号。例如,基于目标关节参数与多根结构骨的驱动量的映射关系,可以确定执行臂所包括的多个关节在当前检测循环内的驱动量,进而基于驱动量确定至少一个驱动装置(例如,电机)的驱动信号。在一些实施例中,以执行臂为连续体可形变臂作为示例。连续体可形变臂可以是如图3所示的执行臂300,可以基于公式(7)确定每个构节的每根结构骨的驱动量,进而基于驱动量确定驱动装置的驱动信号。
本领域技术人员可以理解,执行臂的各关节包括其各自的关节参数范围,各关节的关节参数范围构成了执行臂的关节空间。在随机生成执行臂的关节的目标关节参数集时,有可能会出现随机生成的一个或多个目标关节参数超过关节参数范围的情况,从而导致由随机生成的目标关节参数集所决定的执行臂的位姿位于执行臂的工作空间之外。在一些实施例中,可以通过方法900将执行臂的关节的目标关节参数集收敛在关节参数范围内。
图9是示出根据本公开一些实施例的用于更新执行臂的关节的目标关节参数集的方法900的流程图。如图9所示,该方法900中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法900可以由软件、固件和/或硬件来实现。在一些实施例中,方法900可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图9,在步骤901,响应于随机生成的目标关节参数集中的至少一个目标关节参数超过关节参数范围,将至少一个目标关节参数更新为对应的关节参数范围的极限值。在一些实施例中,将随机生成的目标关节参数集中的目标关节参数与关节参数范围相比较。响应于目标关节参数超过关节参数范围,将超范围的目标关节参数更新为对应的关节参数范围中最靠近该目标关节参数的极限值。
在步骤903,基于更新后的目标关节参数集,确定驱动信号及对应的目标位姿。在一些实施例中,在将超出范围的目标关节参数收敛至其关节参数范围的极限值后,基于更新后的目标关节参数集,通过执行臂的运动学模型确定驱动执行臂的至少一个驱动装置的驱动信号以及与该目标关节参数集对应的执行臂的末端的目标位姿。步骤903可以与方法700中的步骤703和方法800中的步骤803类似地实现。
本领域技术人员可以理解,执行臂在各关节靠近范围极限时其末端的实际位姿更容易偏离目标位姿。通过将超过关节参数范围的目标关节参数更新为对应的关节参数范围的极限值,能将超出执行臂的工作空间的目标位姿更新为至少一个目标关节参数为极限值的目标位姿,从而在执行臂的极限位下进行执行臂性能检测,改善了检测效率。在一些实施例中,可以采用方法900更新随机生成的驱动信号或执行臂的末端的目标位姿。在一些实施例中,也可以采用其他方法更新或筛选随机生成的信号(例如驱动信号、执行臂的末端的目标位姿或执行臂的关节的目标关节信息集)。例如,可以对随机生成的信号进行过滤,滤除超出关键参数范围的信号,以防止执行臂的末端的目标位姿位于执行臂的极限位以外。在一些实施例中,也可以在预先设置的范围内随机生成与执行臂的末端的目标位姿对应的信号,从而避免因执行臂无法运动到目标位姿而对执行臂检测造成干扰。
在一些实施例中,方法600还可以包括:基于多个位姿标识图案角点在定位图像中的二维坐标、多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标和相机坐标系相对参考坐标系的变换关系,确定执行臂的末端坐标系相对参考坐标系的位姿。在一些实施例中,相机坐标系相对参考坐标系的变换关系可以是已知的。例如,参考坐标系为世界坐标系,相机坐标系相对世界坐标系的变换关系可以根据相机摆放的位姿确定。另一些实施例中,根据实际的需求,参考坐标系也可以是相机坐标系本身。在一些实施例中,基于相机成像原理与投影模型,基于多个位姿标识图案角点在定位图像中的二维坐标和多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标,确定执行臂的末端坐标系相对相机坐标系的位姿。基于执行臂的末端坐标系相对相机坐标系的位姿和相机坐标系相对参考坐标系的变换关系,可以得到执行臂的末端坐标系相对参考坐标系的位姿。在一些实施例中,还可以考虑相机的内参。例如,相机的内参可以是如图1所示的图像采集设备150的相机内参。相机的内参可以是已知的或者经过标定而得到的。在一些实施例中,相机坐标系可以理解为以相机原点建立的坐标系。例如,以相机的光心为原点建立的坐标系或者以相机的镜头中心为原点建立的坐标系。当相机为双目相机时,相机坐标系的原点可以是相机左镜头的中心,或者右镜头的中心,或者左右镜头中心连线上的任意一点(例如该连线的中点)。
在一些实施例中,执行臂的末端坐标系{wm}相对参考坐标系(例如,世界坐标系){w}的位姿可以基于以下公式(15)确定:
wRwm=wRlens lensRwm
wPwm=wRlens(lensRwm+lensPwm)+wPlens (15)
其中,wRwm为执行臂的末端坐标系相对参考坐标系的姿态,wPwm为执行臂的末端坐标系相对参考坐标系的位置,wRlens为相机坐标系相对参考坐标系的姿态,wPlens为相机坐标系相对参考坐标系的位置,lensRwm为执行臂的末端坐标系相对相机坐标系的姿态,lensPwm为执行臂的末端坐标系相对相机坐标系的位置。
本公开一些实施例提供了确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法。在一些实施例中,基于多个位姿标识的分布,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。例如,基于多个位姿标识图案角点的分布,确定多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标。
图10示出根据本公开一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法1000的流程图。如图10所示,该方法1000中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1000可以由软件、固件和/或硬件来实现。在一些实施例中,方法1000可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图10,在步骤1001,基于多个位姿标识的分布,确定多个位姿标识相对执行臂的末端坐标系的Z轴的绕轴角度。在一些实施例中,可以基于多个位姿标识图案,确定多个位姿标识相对执行臂的末端坐标系的Z轴的绕轴角度。例如,每个位姿标识图案可以标识特定的绕轴角度,不同的位姿标识图案与所标识的绕轴角度一一对应。基于识别出位姿标识图案以及位姿标识图案与绕轴角度的对应关系,可以确定被识别出的位姿标识图案所标识的绕轴角度。应理解,每个位姿标识图案的分布是已知的或预先确定的。在一些实施例中,多个位姿标识图案或者多个位姿标识图案角点的分布可以是如图4所示的分布。在一些实施例中,每个位姿标识图案角点标识的绕轴角度还可以基于公式(13)确定。
参看图10,在步骤1003,基于多个位姿标识的绕轴角度,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。在一些实施例中,如图5所示,每个位姿标识图案角点均位于在截面圆520的圆周上,截面圆520的圆心与半径r均是已知的。以位姿标识图案角点P5作为参照角点,位姿标识图案角点P5在执行臂的末端坐标系{wm}的三维坐标为(r,0,0)。在一些实施例中,每个位姿标识图案角点在执行臂的末端坐标系{wm}中的三维坐标可以基于以下公式(16)确定:
Cm=[r·cosαm r·sinαm 0]T (16)
其中,Cm为以位姿标识图案角点P5作为第一个位姿标识图案角点,按照截面圆520的顺时针方向,第m个位姿标识图案角点标识的特定的绕轴角度可以基于多个位姿标识在执行臂的末端坐标系{wm}中的三维坐标。
在一些实施例中,基于公式(13)确定第m个位姿标识图案角点标识的绕轴角度αm,之后基于公式(13)确定的绕轴角度αm和公式(16)确定三维坐标Cm。
图11示出根据本公开另一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法1100的流程图。方法1100可以是图10所示方法1000的替换实施例。如图11所示,该方法1100中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1100可以由软件、固件和/或硬件来实现。在一些实施例中,方法1100可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图11,在步骤1101,基于多个位姿标识中的至少两个,确定多个位姿标识的排布顺序。在一些实施例中,多个位姿标识的排布顺序可以通过多个位姿标识图案的排布顺序表示。在一些实施例中,通过识别任意两个位姿标识图案确定多个位姿标识的排布顺序。应理解,多个位姿标识包括不同的位姿标识图案,在已知任意两个位姿标识图案的情况下,可以基于多个位姿标识图案已知的分布(例如,图4所示标签400中不同位姿标识图案的分布,或者图5所示标签500中不同位姿标识图案的分布),确定定位图像中多个位姿标识的排布顺序,例如顺时针排布或逆时针排布。
参看图11,在步骤1103,基于多个位姿标识的排布顺序,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。在一些实施例中,基于多个位姿标识已知的分布,可以确定每个位姿标识在执行臂的末端坐标系中的三维坐标,每个位姿标识的三维坐标可以通过位姿标识图案角点在执行臂的末端坐标系中的三维坐标表示,每个位姿标识图案对应执行臂的末端坐标系中的一个坐标点。在确定多个位姿标识图案的排布顺序的之后,基于识别出的位姿标识图案可以确定其余的位姿标识图案,进而可以确定每个位姿标识图案在执行臂的末端坐标系中的三维坐标。在一些实施例中,识别定位图像中的多个位姿标识角点,确定多个位姿标识角点中的任意两个对应的位姿标识图案。基于识别出的两个位姿标识图案确定多个位姿标识图案角点的排布顺序,进而可以确定每个位姿标识图案角点在执行臂的末端坐标系中的三维坐标。此外,基于排布顺序,可以确定所有位姿标识图案的分布,从而以特定位姿图案匹配模板与定位图像上对应位置处的位姿标识图案进行匹配,提高了数据处理速度。在一些实施例中,位姿图案匹配模板与位姿标识图案角点处的图案匹配可以与方法1200中的步骤1203类似地实现。
本公开一些实施例提供了识别位姿标识的方法。图12示出根据本公开一些实施例的识别位姿标识的方法1200的流程图。如图12所示,该方法1200中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1200可以由软件、固件和/或硬件来实现。在一些实施例中,方法1200可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参考图12,在步骤1201,从定位图像中确定多个候选位姿标识。在一些实施例中,位姿标识可以包括在位姿标识图案中的位姿标识图案角点。候选位姿标识的坐标或坐标系原点可以通过候选位姿标识图案角点表示。在一些实施例中,候选位姿标识图案角点可以是指经过对定位图像进行初步处理或者初步识别得到的可能的位姿标识图案角点。
在一些实施例中,方法1200还可以包括在定位图像中确定感兴趣区域(Region ofInterest,ROI)。例如,可以先从定位图像中截取ROI,从ROI中确定多个候选位姿标识。其中,ROI可以是定位图像的全图像,也可以是部分区域。例如,可以基于上一帧图像(例如,上一图像处理周期的定位图像)确定的多个位姿标识图案角点一定范围内的区域截取当前帧的ROI。对非第一帧的定位图像,ROI可以为上一图像处理周期的多个位姿标识图案角点的坐标构成的虚点为中心的一定距离范围内的区域。一定距离范围可以是位姿标识图案角点平均间隔距离的固定倍数,例如两倍。应理解,预定倍数还可以是上一图像处理周期中多个候选位姿标识图案角点平均间隔距离的可变倍数。
在一些实施例中,方法1200还可以包括确定定位图像中各像素点的角点似然值(Corner Likelihood,CL)。在一些实施例中,像素点的角点似然值可以是表征像素点作为特征点(例如,角点)的可能性的数值。在一些实施例中,在计算各像素点的角点似然值之前可以对定位图像进行预处理,之后确定预处理之后的图像中各像素点的角点似然值。图像的预处理例如可以包括:图像灰度化、图像去噪、图像增强中的至少一种。例如,图像预处理可以包括:从定位图像中截取ROI,将ROI转为相应的灰度图像。
在一些实施例中,确定ROI中的每个像素点的角点似然值的方式例如可以包括对ROI范围内每一个像素点进行卷积操作,得到每个像素点的一阶和/或二阶导数。利用ROI范围内每个像素点的一阶和/或二阶导数求出每个像素点的角点似然值。示例性地,各像素的角点似然值可以基于以下公式(17)确定:
其中,τ为设定的常数,例如设定为2;Ix、I45、Iy、In45分别是像素点在0、π/4、π/2、-π/4四个方向的一阶导数;Ixy和I45_45分别是像素点在0,π/2和π/4,-π/4方向的二阶导数。
在一些实施例中,方法1200还可以包括将ROI划分成多个子区域。例如,可以采用非极大抑制法在一个ROI范围中平均分割出多个子图像。在一些实施例中,可以将ROI平均分割成5×5像素的多个子图像。上述实施例为示例性的,并非限制性的,应当理解,还可以将定位图像或ROI分割成其他尺寸大小的多个子图像,例如,分割成9×9像素的多个子图像。
在一些实施例中,方法1200还可以包括确定每个子区域中角点似然值最大的像素以形成像素集合。在一些实施例中,像素集合作为从定位图像中确定的多个候选标识。例如,可以确定每个子图像中的CL值最大的像素点,将每个子图像中的CL值最大的像素点与第一阈值进行比较,确定CL值大于第一阈值的像素的集合。在一些实施例中,第一阈值可以设定为0.06。应当理解,第一阈值还可以设定为其他值。
参看图12,步骤1203,基于多个不同的位姿图案匹配模板,从多个候选位姿标识中识别第一位姿标识。在一些实施例中,将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点处的图案进行匹配,以识别第一位姿标识。例如,确定达到预设位姿图案匹配度标准的候选位姿标识图案角点为第一位姿标识图案角点。在一些实施例中,位姿图案匹配模板与位姿标识图案角点附近区域的图案具有相同或相似的特征。若位姿图案匹配模板与候选位姿标识图案角点附近区域的图案的匹配度达到预设位姿图案匹配度标准(例如,匹配度高于阈值),则可以认为候选位姿标识图案角点附近区域的图案与位姿图案匹配模板具有相同或相似的特征,进而可认为当前的候选位姿标识图案角点为位姿标识图案角点。
在一些实施例中,确定像素集合中CL值最大的像素点,作为候选位姿标识图案角点。例如,可以将该像素集合中的所有像素按CL值从大到小的顺序排序,并将CL值最大的像素作为候选位姿标识图案角点。在一些实施例中,在确定了候选位姿标识图案角点之后,将位姿图案匹配模板与候选位姿标识图案角点处的图案进行匹配,如果达到了预设位姿图案匹配度标准,则确定候选位姿标识图案角点为识别出的第一位姿标识图案角点。
在一些实施例中,方法1200还可以包括响应于匹配失败,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点。例如,如果候选位姿标识图案角点未达到预设的匹配度标准,则选择次级CL值的像素点(CL值第二大的像素点)作为候选位姿标识图案角点,将位姿图案匹配模板与该候选位姿标识图案角点处的图案进行匹配,依次类推,直至识别出第一位姿标识图案角点。
在一些实施例中,位姿标识图案可以为黑白相间的图形(例如,棋盘格图形),因此位姿图案匹配模板可以为相同的图形,利用位姿图案匹配模板的灰度分布GM与候选位姿标识图案角点对应的像素点的像素邻域灰度分布Gimage间的相关性系数(CorrelationCoefficient,CC)来进行匹配。像素点的像素邻域灰度分布Gimage为以该像素点为中心一定范围内(例如,10×10像素)像的像素的灰度分布。相关性系数可以基于以下公式(18)确定:
其中,Var()为方差函数,Cov()为协方差函数。在一些实施例中,当相关性系数小于0.8时,像素领域内的灰度分布与位姿图案匹配模板相关性较低,则判定该角点似然值最大的候选位姿标识图案角点不是位姿标识图案角点,否则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点。
在一些实施例中,方法1200还可以包括确定候选位姿标识图案角点的边缘方向。例如,如图13所示,候选位姿标识图案角点为位姿标识图案1300中的角点P13,角点P13的边缘方向可以是指形成角点P13的边缘的方向,如图13中虚线箭头示意的方向。
在一些实施例中,边缘方向可以通过对以候选位姿标识图案角点为中心的一定范围邻域(例如10×10像素)的每个像素在平面坐标系的X方向和Y方向的一阶导数值(Ix和Iy)确定。例如,边缘方向可以基于以下公式(19)进行计算:
其中,一阶导数(Ix和Iy)可以通过对一定范围邻域范围内每一个像素点进行卷积操作得到。一些实施例中,通过对每个范围邻域内的像素点的边缘方向Iangle和对应的权重Iweight进行聚类计算获得该像素点的边缘方向,选择权重Iweight占比最大的类对应的Iangle作为边缘方向。需要说明的是,如果存在多个边缘方向,则选择权重Iweight占比最大的多个类对应的Iangle作为边缘方向。
在一些实施例中,聚类计算所用的方法可以是K均值方法、BIRCH(BalancedIterative Reducing and Clustering using Hierarchies,基于层次结构的平衡迭代聚类方法)方法、DBSCAN(Density-Based Spatial Clustering of Applications withNoise,具有噪声的基于密度的聚类方法)方法、GMM(Gaussian Mixed Model,高斯混合模型)方法中的任意一种。
在一些实施例中,方法1200还可以包括基于边缘方向旋转位姿图案匹配模板。根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板与候选位姿标识图案角点处的图像对齐。候选位姿标识图案角点的边缘方向可以用于确定该候选标识图案角点处的图像在定位图像中的设置方向。在一些实施例中,根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板调整至与候选位姿标识图案角点处的图像方向相同或接近相同以便于进行图像匹配。
参看图12,步骤1205,以第一位姿标识作为起点,搜索位姿标识。例如,图14示出根据本公开一些实施例的用于搜索位姿标识的方法1400的流程图。如图14所示,该方法1400中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1400可以由软件、固件和/或硬件来实现。在一些实施例中,方法1400可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图14,在步骤1401,以第一位姿标识作为起点,搜索第二位姿标识。在一些实施例中,以第一位姿标识图案角点作为起点,在设定的搜索方向上搜索第二位姿标识图案角点。在一些实施例中,设定的搜索方向可以包括:第一位姿标识图案角点的正前方(对应0°角度方向)、正后方(对应120°角度方向)、正上方(90°角度方向)、正下方(-90°角度方向)和斜向(例如±45°角度方向)中的至少一个方向。
在一些实施例中,设定的搜索方向为n个,例如在8个方向进行搜索,每个搜索方向vsn可以基于以下公式(20)确定:
vsn=[cos(n·π/4)sin(n·π/4)],(n=1,2,…,8) (20)
在一些实施例中,当前步骤中设定的搜索方向可以根据上一帧确定的多个位姿标识图案角点中相邻位姿标识图案角点之间的偏差角度确定。示例性地,预定的搜索方向基于以下公式(21)确定:
其中,(xj,yj)为上一帧(或者上个图像处理周期)确定的多个位姿标识图案角点的二维坐标;nlast为上一帧确定的多个位姿标识图案角点的个数;vs1为第一个设定的搜索方向;vs2为第二个设定的搜索方向。
在一些实施例中,如图15所示,以第一位姿标识图案角点P1501的坐标位置作为搜索起点,在设定的搜索方向上搜索第二位姿标识图案角点P1502的坐标位置具体可以包括:以第一位姿标识图案角点P1501的坐标位置作为搜索起点,通过搜索框(例如,图15中的虚线框)以一定的搜索步长在设定的搜索方向V1501上搜索位姿标识图案角点。若搜索框内存在至少一个候选位姿标识图案角点,则优先选择搜索框内角点似然值最大的候选位姿标识图案角点为第二位姿标识图案角点P1502。在搜索框限制在合适的大小情况下,以第一位姿标识图案角点P1501的坐标位置作为搜索起点进行第二位姿标识图案角点P1502搜索时,搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点为位姿标识图案角点的可能性较大。因此,可以认为搜索框内角点似然值最大的候选位姿标识图案角点为第二位姿标识图案角点P1502,以便提高数据处理速度。其他实施方式中,为了提高位姿标识图案角点识别的准确度,选择搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点进行角点的识别,以确定该角点似然值最大的候选位姿标识图案角点是否为位姿标识图案角点。例如,将位姿图案匹配模板与该角点似然值最大的候选位姿标识图案角点处一定范围内的图像进行匹配,满足预设位姿图案匹配度标准的候选位姿标识图案角点可以认为是搜索到的第二位姿标识图案角点P1502。
在一些实施例中,继续参看图15,搜索框的大小可以逐步增大,从而搜索范围逐步增大。搜索步长可与搜索框的边长同步变化。其他实施方式中,搜索框的大小也可以为固定的大小。
在一些实施例中,位姿标识图案可以为黑白相间的棋盘格图形,可以基于公式(18)中的相关性系数来进行图案匹配。如果相关性系数大于阈值,则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点,记为第二位姿标识图案角点。
图16示出根据本公开一些实施例的用于搜索第二位姿标识的方法1600的流程图。如图16所示,该方法1600中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1600可以由软件、固件和/或硬件来实现。在一些实施例中,方法1600可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。在一些实施例中,方法1400中的步骤1401可以与方法1600类似地实现。
参看图16,在步骤1601,以第一位姿标识作为起点,搜索第二位姿标识的候选位姿标识图案角点。在一些实施例中,搜索第二位姿标识的候选位姿标识图案角点可以与图15所示搜索第二位姿标识图案角点P1502类似地实现。
在步骤1603,基于多个位姿标识的分布,确定第一位姿图案匹配模板和第二位姿图案匹配模板,第一位姿图案匹配模板和第二位姿图案匹配模板对应于与第一位姿标识相邻的位姿标识。在一些实施例中,步骤1603可以在步骤1601之前或者之后执行,步骤1603也可以与步骤1601同步执行。在一些实施例中,可以基于第一位姿标识包括的位姿标识图案以及多个位姿标识图案的分布,确定第一位姿标识相邻的位姿标识包括的位姿标识图案,进而确定第一位姿图案匹配模板和第二位姿图案匹配模板。
在步骤1605,将第一位姿图案匹配模板和/或第二位姿图案匹配模板与第二位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别第二位姿标识。在一些实施例中,可以基于公式(18)中的相关性系数将第一位姿图案匹配模板和/或第二位姿图案匹配模板与第二位姿标识的候选位姿标识图案角点位置处的图案进行匹配。如果相关性系数大于阈值,则确定第二位姿标识的候选位姿标识图案角点作为第二位姿标识的位姿标识图案角点,并且确定相关性系数大于阈值的位姿图案匹配模板(第一位姿图案匹配模板或第二位姿图案匹配模板)对应的图案为第二位姿标识的位姿标识图案。
参看图14,在步骤1403,基于第一位姿标识、第二位姿标识,确定搜索方向。在一些实施例中,搜索方向包括:第一搜索方向和第二搜索方向。第一搜索方向可以是以第一位姿标识图案角点的坐标位置为起点,且远离第二位姿标识图案角点的方向。第二搜索方向可以是以第二位姿标识图案角点的坐标位置为起点,且远离第一位姿标识图案角点的方向。例如,图15中所示的搜索方向V1502。
参看图14,在步骤1405,以第一位姿标识或第二位姿标识作为起点,在搜索方向上搜索位姿标识。在一些实施例中,若以第一位姿标识图案角点为新的起点,则可以以上述实施例中的第一搜索方向作为搜索方向进行位姿标识图案角点的搜索。若以第二位姿标识图案角点为新的搜索起点,则可以以上述实施例中的第二搜索方向作为搜索方向进行位姿标识图案角点的搜索。在一些实施例中,搜索新的位姿标识图案角点(例如,图15中的第三位姿标识图案角点P1503)可以与方法1400中的步骤1401或者方法1700类似地执行。在一些实施例中,搜索步长可以是第一位姿标识图案角点P1501和第二位姿标识图案角点P1502之间的距离L1。
图17示出根据本公开一些实施例的用于搜索位姿标识的方法1700的流程图。如图17所示,该方法1700中的部分或全部步骤可以由执行臂检测系统100的控制装置(例如控制装置120)来执行。控制装置120可以配置在计算设备上。方法1700可以由软件、固件和/或硬件来实现。在一些实施例中,方法1700可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图19所示的处理器1920)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。在一些实施例中,方法1400中的步骤1405可以与方法1700类似地实现。
参看图17,在步骤1701,以第一位姿标识或第二位姿标识作为起点,搜索第三位姿标识的候选位姿标识图案角点。在一些实施例中,搜索第三位姿标识的候选位姿标识图案角点可以与图15所示搜索第三位姿标识图案角点P1503类似地实现。
在步骤1703,基于多个位姿标识的分布,确定第三位姿图案匹配模板,第三位姿图案匹配模板对应于与第一位姿标识相邻或与第二位姿标识相邻的位姿标识。在一些实施例中,可以基于第一位姿标识或第二位姿标识包括的位姿标识图案以及多个位姿标识图案的分布,确定第一位姿标识或第二位姿标识相邻的位姿标识包括的位姿标识图案,进而确定第三位姿图案匹配模板。
在步骤1705,将第三位姿图案匹配模板与第三位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别第三位姿标识。在一些实施例中,步骤1705可以与步骤1605类似地实现。
在一些实施例中,响应于搜索距离大于搜索距离阈值,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。在一些实施例中,在确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点之后,可以基于与步骤1203类似地方法识别新的第一位姿标识。在一些实施例中,搜索距离大于搜索距离阈值可以理解为在部分或者全部的搜索方向上的搜索距离大于搜索距离阈值。在一些实施例中,搜索距离阈值可以包括第N-1个位姿标识图案角点和第N-2个位姿标识图案角点的距离的设定倍数,其中N≥3。
例如,搜索距离阈值为两倍的前两个位姿标识图案角点的距离。这样,搜索第三个位姿标识图案角点的最大搜索距离是第一位姿标识图案角点和第二位姿标识图案角点的距离的两倍,若在搜索方向上达到该搜索距离还未搜索到位姿标识图案角点,则确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点,以及识别新的第一位姿标识,并且当前搜索过程也相应停止。在一些实施例中,与方法1200类似,可以重新确定新的第一位姿标识图案角点,并且与方法1400类似,可以以新的位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。
在一些实施例中,响应于识别到的位姿标识图案角点数量大于或等于位姿标识数量阈值,可以基于搜索到的位姿标识的搜索,确定执行臂的末端相对参考坐标系的位姿,对位姿标识图案角点的搜索也相应停止。例如,当识别到四个位姿标识图案角点,停止对位姿标识图案角点的搜索。
在一些实施例中,响应于识别到的位姿标识数量小于位姿标识数量阈值,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。在一些实施例中,若识别到的位姿标识(例如,位姿标识图案角点)总数小于设定的位姿标识数量阈值,则认为上述步骤中基于第一位姿标识的搜索失败。在一些实施例中,在搜索失败的情况下,确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点,之后可以基于与步骤1203类似地方法识别新的第一位姿标识。在一些实施例中,与方法1200类似,可以重新确定新的第一位姿标识图案角点,并且与方法1400类似,可以以新的位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。
在一些实施例中,在搜索到或者识别到位姿标识图案角点之后,还可以对已确定的位姿标识图案角点进行亚像素定位,以提高位姿标识图案角点的位置精度。
在一些实施例中,可以对像素点的CL值基于模型进行拟合,以确定经亚像素定位后的位姿标识图案角点的坐标。例如,ROI中每个像素点的CL值的拟合函数可以为二次曲面函数,该函数的极值点为亚像素点。拟合函数可以基于以下公式(22)和(23)确定:
S(x,y)=ax2+by2+cx+dy+exy+f (22)
其中,S(x,y)为每个ROI中的所有像素点的CL值拟合函数,a、b、c、d、e、f为系数;xc为位姿标识的x坐标,yc为位姿标识的y坐标。
本公开一些实施例中,本公开还提供了一种计算机设备,计算机设备包括存储器和处理器。存储器可以用于存储有至少一条指令,处理器与存储器耦合,用于执行至少一条指令以执行本公开的方法中的部分步骤或全部步骤,如图6-图12、图14、图16和图17中公开的方法中的部分步骤或全部步骤。
图18示出根据本公开一些实施例的计算机设备1800的示意框图。参看图18,该计算机设备1800可以包括中央处理单元(CPU)1801、包括随机存取存储器(RAM)1802和只读存储器(ROM)1803的系统存储器1804,以及连接各部件的系统总线1805。计算机设备1800还可以包括输入/输出系统,和用于存储操作系统1813、应用程序1814和其他程序模块1815的大容量存储设备1807。输入/输出设备包括主要由显示器1808和输入设备1809组成的输入/输出控制器1810。
大容量存储设备1807通过连接到系统总线1805的大容量存储控制器(未示出)连接到中央处理单元1801。大容量存储设备1807或者计算机可读介质为计算机设备提供非易失性存储。大容量存储设备1807可以包括诸如硬盘或者光盘只读存储器(Compact DiscRead-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、闪存或其他固态存储其技术,CD-ROM、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器和大容量存储设备可以统称为存储器。
计算机设备1800可以通过连接在系统总线1805上的网络接口单元1811连接到网络1812。
系统存储器1804或大容量存储设备1807还用于存储一个或者一个以上的指令。中央处理器1801通过执行该一个或一个以上指令来实现本公开一些实施例中的方法的全部或者部分步骤。
本公开一些实施例中,本公开还提供一种计算机可读存储介质,存储介质中存储有至少一条指令,该至少一条指令由处理器执行以使计算机执行本公开一些实施例的方法中的部分步骤或全部步骤,如图6-图12、图14、图16和图17中公开的方法中的部分步骤或全部步骤。计算机可读存储介质的示例包括计算机程序(指令)的存储器,例如,只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
图19示出根据本公开一些实施例的机器人系统1900的示意图。本公开一些实施例中,参看图19,机器人系统1900可以包括:工具1950、驱动装置1960、图像采集设备1910以及控制装置(例如,处理器1920),工具1950可以包括执行臂1940以及设置在执行臂1940远端的末端1930。在末端1930上可以形成有或设置有多个位姿标识,多个位姿标识包括不同的位姿标识图案,在末端1930的远端可以设置有执行器。驱动装置1960可以用于控制执行臂1940及其末端1930的位姿。图像采集设备1910可以用于采集执行臂1940的定位图像。在一些实施例中,参看图19,机器人系统1900还可以包括:输入装置1970a和信号生成部1970b。输入装置1970a可以用于接收用户操作所输入的末端1930的目标位姿、运动轨迹或控制末端1930的目标位姿的驱动信号。信号生成部1970b可以用于随机生成末端1930的目标位姿、运动轨迹或控制末端1930的目标位姿的驱动信号。处理器1920与输入装置1970a、信号生成部1970b、驱动装置1960以及图像采集设备1910连接,用于执行本公开一些实施例的方法中的部分步骤或全部步骤,如图6-图12、图14、图16和图17中公开的方法中的部分步骤或全部步骤。
注意,上述仅为本公开的示例性实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
Claims (27)
1.一种执行臂检测方法,其特征在于,包括:
确定用于控制所述执行臂的末端的目标位姿的驱动信号,所述驱动信号对应于所述目标位姿;
获取定位图像;
在所述定位图像中,识别位于所述执行臂的末端上的多个位姿标识,所述多个位姿标识包括不同的位姿标识图案;
基于所述多个位姿标识,确定所述执行臂的末端的实际位姿;以及
基于所述目标位姿与所述实际位姿,确定所述执行臂的性能。
2.根据权利要求1所述的方法,其特征在于,确定用于控制所述执行臂的末端的目标位姿的驱动信号包括:
预先设置或随机生成所述驱动信号。
3.根据权利要求1所述的方法,其特征在于,确定用于控制所述执行臂的末端的目标位姿的驱动信号包括:
预先设置或随机生成所述执行臂的末端的目标位姿;以及
基于所述目标位姿,确定所述驱动信号。
4.根据权利要求1所述的方法,其特征在于,确定用于控制所述执行臂的末端的目标位姿的驱动信号包括:
预先设置所述执行臂的末端的运动轨迹,所述运动轨迹包括多个所述目标位姿;以及
确定与多个所述目标位姿对应的多个所述驱动信号。
5.根据权利要求4所述的方法,其特征在于,还包括:
以预定运动周期逐个发送多个所述驱动信号;
以预定检测周期,确定所述执行臂的末端的实际位姿;以及
基于多个所述目标位姿与多个所述实际位姿,确定所述执行臂的性能。
6.根据权利要求1所述的方法,其特征在于,确定用于控制所述执行臂的末端的目标位姿的驱动信号包括:
预先设置或随机生成所述执行臂的关节的目标关节参数集;以及
基于所述目标关节参数集,确定所述驱动信号及对应的所述目标位姿。
7.根据权利要求6所述的方法,其特征在于,
响应于随机生成的所述目标关节参数集中的至少一个目标关节参数超过关节参数范围,将所述至少一个目标关节参数更新为对应的关节参数范围的极限值;以及
基于更新后的目标关节参数集,确定所述驱动信号及对应的所述目标位姿。
8.根据权利要求6所述的方法,其特征在于,所述执行臂包括:
至少一个构节,所述构节包括固定盘和多根结构骨,所述多根结构骨的第一端与所述固定盘固定连接,所述多根结构骨的第二端用于与驱动装置连接;
所述方法还包括:
基于所述目标关节参数集,确定所述多根结构骨的驱动量;以及
基于所述多根结构骨的驱动量,确定所述驱动信号。
9.根据权利要求2或6所述的方法,其特征在于,还包括:
基于预先设置的所述驱动信号,通过所述驱动信号与所述目标位姿之间的映射关系,确定所述执行臂的末端的目标位姿。
10.根据权利要求1所述的方法,其特征在于,还包括:
基于所述多个位姿标识的分布,确定所述多个位姿标识相对执行臂的末端坐标系的Z轴的绕轴角度;以及
基于所述多个位姿标识的绕轴角度,确定所述多个位姿标识相对所述执行臂的末端坐标系的三维坐标。
11.根据权利要求10所述的方法,其特征在于,还包括:
确定所述多个位姿标识在所述定位图像中的二维坐标;以及
基于所述多个位姿标识在所述定位图像中的二维坐标和所述多个位姿标识相对所述执行臂的末端坐标系的三维坐标,确定所述执行臂的末端坐标系相对所述参考坐标系的位姿,作为所述实际位姿。
12.根据权利要求1所述的方法,其特征在于,还包括:
从所述定位图像中确定多个候选位姿标识;
基于多个不同的位姿图案匹配模板,从所述多个候选位姿标识中识别第一位姿标识;以及
以所述第一位姿标识作为起点,搜索位姿标识。
13.根据权利要求12所述的方法,其特征在于,所述位姿标识包括在所述位姿标识图案中的位姿标识图案角点,所述方法包括:
在所述定位图像中确定感兴趣区域;
将所述感兴趣区域划分为多个子区域;
确定每个所述子区域中角点似然值最大的像素以形成像素集合;
确定所述像素集合中角点似然值最大的像素作为候选位姿标识图案角点;以及
将所述多个不同的位姿图案匹配模板分别与所述候选位姿标识图案角点位置处的图案进行匹配,以识别所述第一位姿标识。
14.根据权利要求13所述的方法,其特征在于,包括:
响应于匹配失败,确定所述像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点。
15.根据权利要求12-14中任一项所述的方法,其特征在于,还包括:
以所述第一位姿标识作为起点,搜索第二位姿标识;
基于所述第一位姿标识、所述第二位姿标识,确定搜索方向;以及
以所述第一位姿标识或所述第二位姿标识作为起点,在所述搜索方向上搜索位姿标识。
16.根据权利要求15所述的方法,其特征在于,以所述第一位姿标识作为起点搜索第二位姿标识包括:
以所述第一位姿标识作为起点,搜索所述第二位姿标识的候选位姿标识图案角点;
基于所述多个位姿标识的分布,确定第一位姿图案匹配模板和第二位姿图案匹配模板,所述第一位姿图案匹配模板和第二位姿图案匹配模板对应于与所述第一位姿标识相邻的位姿标识;以及
将所述第一位姿图案匹配模板和/或所述第二位姿图案匹配模板与所述第二位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别所述第二位姿标识。
17.根据权利要求15所述的方法,其特征在于,以所述第一位姿标识或所述第二位姿标识作为起点在所述搜索方向上搜索位姿标识包括:
以所述第一位姿标识或所述第二位姿标识作为起点,搜索第三位姿标识的候选位姿标识图案角点;
基于所述多个位姿标识的分布,确定第三位姿图案匹配模板,所述第三位姿图案匹配模板对应于与所述第一位姿标识相邻或与所述第二位姿标识相邻的位姿标识;以及
将所述第三位姿图案匹配模板与所述第三位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别所述第三位姿标识。
18.根据权利要求15所述的方法,其特征在于,还包括:
响应于搜索距离大于搜索距离阈值,确定所述像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及
将所述多个不同的位姿图案匹配模板分别与所述候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。
19.根据权利要求15所述的方法,其特征在于,还包括:
响应于识别到的位姿标识数量小于位姿标识数量阈值,确定所述像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及
将所述多个不同的位姿图案匹配模板分别与所述候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。
20.根据权利要求12-14中任一项所述的方法,其特征在于,还包括:
基于所述多个位姿标识中的至少两个,确定所述多个位姿标识的排布顺序;以及
基于所述多个位姿标识的排布顺序,确定所述多个位姿标识相对执行臂的末端坐标系的三维坐标。
21.根据权利要求1、10-14中任一项所述的方法,其特征在于,
所述多个位姿标识设置在所述执行臂的末端的柱状部分的外表面上。
22.根据权利要求1-8、10-14、16-19中任一项所述的方法,其特征在于,还包括:
以预定检测周期确定所述执行臂的末端的实际位姿,以通过多个检测循环,实时确定或累计确定所述执行臂的性能。
23.根据权利要求1-8、10-14、16-19中任一项所述的方法,其特征在于,基于所述目标位姿与所述实际位姿,确定所述执行臂的性能包括:
响应于所述目标位姿与所述实际位姿达到误差条件,生成性能信号,所述性能信号指示所述执行臂的性能不合格。
24.一种计算机设备,包括:
存储器,用于存储至少一条指令;以及
处理器,与所述存储器耦合并且用于执行所述至少一条指令以执行根据权利要求1-23中任一项所述的执行臂检测方法。
25.一种计算机可读存储介质,用于存储至少一条指令,所述至少一条指令由计算机执行时致使所述计算机执行根据权利要求1-23中任一项所述的执行臂检测方法。
26.一种机器人系统,包括:
执行臂,所述执行臂的末端设置有多个位姿标识,所述多个位姿标识包括不同的位姿标识图案;
至少一个驱动装置,用于驱动所述执行臂;
图像采集设备,用于采集所述执行臂的定位图像;以及
控制装置,被配置为与所述至少一个驱动装置、所述图像采集设备连接,执行根据权利要求1-23中任一项所述的执行臂检测方法。
27.根据权利要求26所述的机器人系统,其特征在于,还包括:
输入装置,与所述控制装置通信连接,用于接收输入的驱动信号、目标位姿或运动轨迹;和/或
信号生成部,与所述控制装置通信连接,用于随机生成的驱动信号、目标位姿或运动轨迹。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031827.3A CN116468647A (zh) | 2022-01-12 | 2022-01-12 | 基于多个位姿标识的执行臂检测方法及机器人系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031827.3A CN116468647A (zh) | 2022-01-12 | 2022-01-12 | 基于多个位姿标识的执行臂检测方法及机器人系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116468647A true CN116468647A (zh) | 2023-07-21 |
Family
ID=87174039
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210031827.3A Pending CN116468647A (zh) | 2022-01-12 | 2022-01-12 | 基于多个位姿标识的执行臂检测方法及机器人系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116468647A (zh) |
-
2022
- 2022-01-12 CN CN202210031827.3A patent/CN116468647A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113910219B (zh) | 运动臂系统以及控制方法 | |
JP6594129B2 (ja) | 情報処理装置、情報処理方法、プログラム | |
CN114536399B (zh) | 基于多个位姿标识的误差检测方法及机器人系统 | |
CN109009438B (zh) | 柔性无创定位装置及其在术中手术路径规划的应用及系统 | |
CN114536292A (zh) | 基于复合标识的误差检测方法及机器人系统 | |
CN114523471B (zh) | 基于关联标识的误差检测方法及机器人系统 | |
CN114224489B (zh) | 用于手术机器人的轨迹跟踪系统及利用该系统的跟踪方法 | |
CN114347037A (zh) | 基于复合标识的机器人系统故障检测处理方法及机器人系统 | |
CN116468647A (zh) | 基于多个位姿标识的执行臂检测方法及机器人系统 | |
CN114536331B (zh) | 基于关联标识确定可形变机械臂的外部受力的方法及机器人系统 | |
CN116468646A (zh) | 基于复合标识的执行臂检测方法及机器人系统 | |
CN114536402A (zh) | 基于关联标识的机器人系统故障检测处理方法及机器人系统 | |
CN116468648A (zh) | 基于关联标识的执行臂检测方法及机器人系统 | |
CN116492064A (zh) | 基于位姿标识的主从运动的控制方法及手术机器人系统 | |
CN115946105A (zh) | 操作臂的控制方法和手术机器人系统 | |
CN114536329B (zh) | 基于复合标识确定可形变机械臂的外部受力的方法及机器人系统 | |
CN115957005A (zh) | 用于控制操作臂的方法和手术机器人系统 | |
CN114536330B (zh) | 基于多个位姿标识确定可形变机械臂的外部受力的方法及机器人系统 | |
CN115708128A (zh) | 操作臂的控制方法和手术机器人系统 | |
CN116459019A (zh) | 基于位姿标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN115731289A (zh) | 用于确定物体的位姿的方法和手术机器人系统 | |
CN116459018A (zh) | 基于复合标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN114536401A (zh) | 基于多个位姿标识的机器人系统故障检测处理方法及机器人系统 | |
CN116460837A (zh) | 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN115731290A (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 |