基于多个位姿标识的误差检测方法及机器人系统与流程

文档序号:30225460发布日期:2022-06-01 00:54阅读:166来源:国知局
基于多个位姿标识的误差检测方法及机器人系统与流程

1.本公开涉及误差检测技术领域,尤其涉及一种基于多个位姿标识的误差检测方法及机器人系统。


背景技术:

2.通常,用于遥操作的机器人系统包括用于执行操作的执行臂及用于控制执行臂运动的主操作器。在实际场景中,执行臂被设置成能够进入操作区域,操作者通过遥操作主操作器而控制执行臂在操作区域中的运动,进而通过设置在执行臂末端(执行器)进行操作。这种机器人通过主操作器与执行臂之间的运动转换实现主操作器对执行臂的运动控制。
3.机器人对操作精度和人机交互体验要求很高。遥操作过程中,需要实时检测执行臂的位姿误差,以确定执行臂有否正确地按照操作者的意愿移动到与主操作器的操作对应的位置和姿态,进而实时把握机器人系统的工作状况。


技术实现要素:

4.在一些实施例中,本公开提供了一种误差检测方法。该方法可以包括:获得执行臂的末端的目标位姿;获取定位图像;在定位图像中,识别位于执行臂的末端上的多个位姿标识,多个位姿标识包括不同的位姿标识图案;基于多个位姿标识,确定执行臂的末端的实际位姿;以及响应于目标位姿与实际位姿满足误差检测条件,生成与故障相关的控制信号。
5.在一些实施例中,本公开提供了一种计算机设备,包括:存储器,用于存储至少一条指令;以及处理器,与存储器耦合并且用于执行至少一条指令以执行本公开一些实施例中任一项的方法。
6.在一些实施例中,本公开提供了一种计算机可读存储介质,用于存储至少一条指令,至少一条指令由计算机执行时致使计算机执行本公开一些实施例中任一项的方法。
7.在一些实施例中,本公开提供了一种机器人系统,包括:主操作器,包括机械臂、设置在机械臂上的手柄以及设置在机械臂上的至少一个关节处的至少一个主操作器传感器,至少一个主操作器传感器用于获得至少一个关节的关节信息;执行臂,执行臂的末端设置有多个位姿标识,多个位姿标识包括不同的位姿标识图案;至少一个驱动装置,用于驱动执行臂;至少一个驱动装置传感器,与至少一个驱动装置耦合并且用于获得至少一个驱动装置的状态信息;图像采集设备,用于采集执行臂的定位图像;以及控制装置,被配置为与主操作器、至少一个驱动装置、至少一个驱动装置传感器、图像采集设备连接,执行本公开一些实施例中任一项的方法。
附图说明
8.图1示出根据本公开一些实施例的机器人系统的结构示意图;
9.图2示出根据本公开一些实施例的误差检测系统的示意图;
10.图3示出根据本公开一些实施例的误差检测方法的流程图;
11.图4示出根据本公开一些实施例的确定执行臂的末端的目标位姿的方法的流程图;
12.图5示出根据本公开一些实施例的主从运动映射中的坐标系示意图;
13.图6示出根据本公开一些实施例的包括多个位姿标识的标签的示意图;
14.图7示出根据本公开一些实施例的设置在执行臂末端周侧并形成圆筒形的标签的示意图;
15.图8示出根据本公开一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法的流程图;
16.图9示出根据本公开另一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法的流程图;
17.图10示出根据本公开一些实施例的识别位姿标识的方法的流程图;
18.图11示出根据本公开一些实施例的位姿标识图案的示意图;
19.图12示出根据本公开一些实施例的用于搜索位姿标识的方法的流程图;
20.图13示出根据本公开一些实施例的搜索位姿标识的示意图;
21.图14示出根据本公开一些实施例的用于搜索第二位姿标识的方法的流程图;
22.图15示出根据本公开一些实施例的用于搜索位姿标识的方法的流程图;
23.图16示出根据本公开一些实施例的计算机设备的示意框图;
24.图17示出根据本公开一些实施例的机器人系统的示意图。
具体实施方式
25.为使本公开解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图详细说明本公开实施例的技术方案作。本领域技术人员可以理解,所描述的实施例应视为在所有方面都是示例性的而非限制性的,仅仅是本公开示例性实施例,而不是全部的实施例。
26.在本公开的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本公开和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本公开的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
27.在本发明公开的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“耦合”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连;可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明公开中的具体含义。在本发明公开中,定义靠近操作者的一端为近端、近部或后端、后部,靠近作业对象的一端为远端、末端、远部或前端、前部。本领域技术人员可以理解,本公开的实施例可以适用于包括但不限于在地表、地下、水下、太空和生物体内等多种环境中作业的机械装置上设置的执行臂。
28.在本公开中,术语“位置”指物体或物体的一部分在三维空间中的定位(例如,可使用笛卡尔x、y和z坐标方面的变化描述三个平移自由度,例如分别沿笛卡尔x轴、y轴和z轴的
三个平移自由度)。在本公开中,术语“姿态”指物体或物体的一部分的旋转设置(例如,三个旋转自由度,可使用滚转、俯仰和偏转来描述这三个旋转自由度)。在本公开中,术语“位姿”指物体或物体的一部分的位置和姿态的组合,例如可使用以上提到的六个自由度中的六个参数来描述。在本公开中,主操作器的手柄的位姿可由主操作器关节的关节信息的集合(例如由这些关节信息组成的一维矩阵)来表示。执行臂的位姿可由执行臂的驱动信息来确定。在本公开中,关节的关节信息可以包括相应关节相对于相应的关节轴所旋转的角度或者相对初始位置移动的距离。
29.在本公开中,参考坐标系可以理解为能够描述物体位姿的坐标系。根据实际的定位需求,参考坐标系可以选择以虚拟参照物的原点或实体参照物的原点为坐标系原点。在一些实施例中,参考坐标系可以为世界坐标系或者主操作器、执行臂、相机所在空间的坐标系或者操作人员自身的感知坐标系等等。
30.在本公开中,物体可以理解为需要被定位的对象或目标,例如执行臂或者执行臂的末端。执行臂或其一部分(例如末端)的位姿可以是指执行臂或其一部分定义的坐标系相对参考坐标系的位姿。
31.图1示出根据本公开一些实施例的机器人系统100的结构示意图。在一些实施例中,如图1所示,机器人系统100可以包括主控台车110、从动台车130及控制装置120。控制装置120可以与主控台车110和从动台车130通信连接,例如可通过线缆连接、也可以通过无线连接,以实现与主控台车110和从动台车130之间的通信。主控台车110包括供操作者遥操作的主操作器,从动台车130包括用于执行作业的至少一个执行臂。通过控制装置120实现主控台车110中的主操作器与从动台车130中的执行臂之间的主从映射,实现主操作器对执行臂的运动控制。在一些实施例中,执行臂被设置成能够通过管套、鞘套等进入操作区域,其中,管套、鞘套可以固定在墙体壁面、动物躯体等上形成开口(例如人工开口或自然开口)处,操作区域可以是进行作业的区域。执行臂可以是连续体可形变臂,在执行臂的远端可以设置有末端器械(例如,执行器),该末端可以包括但不限于挖掘器械、水下作业器械、分拣器械、手术器械等。本领域技术人员可以理解,主控台车110和从动台车130可以采用其他结构或者形式,例如基座、支架或建筑物等。
32.在一些实施例中,除作业工具以外,执行臂也可以作为视觉工具使用,视觉工具的末端器械可以包括但不限于图像采集设备或照明设备等。在一些实施例中,主控台车可以包括主操作器和用于显示操作区域的图像的显示器。图像采集设备可以用于采集操作区域的图像,并将采集到的图像传送至从动台车。图像经从动台车中的视频处理模块处理后,显示在从动台车的显示器上。操作者通过显示器中的图像实时获得执行臂的末端相对参考坐标系的位姿。主操作器相对参考坐标系的位姿是操作者真实感知到的姿态。操作者通过遥操作主操作器所感受到的位姿变化与操作者在显示器中感知到的执行臂的末端的姿态变化之间符合预设的位姿关系,这样,通过远程遥操作主操作器,基于预设的位姿关系将主操作器的位姿变换转换为执行臂的末端的位姿变化,进而实现对执行臂的末端的位姿控制。这样,当操作者握住主操作器的手柄运动以操作执行臂时,基于直观性操作的原则,操作者感受到的执行臂的末端器械的姿态变化量与操作者感受到的主操作器的姿态变化量保持一致,有助于改善操作者的遥操作感受以及遥操作精度。
33.在遥操作过程中,有时执行臂会无法按照操作者的期望准确地移动到与主操作器
的操作对应的位置和姿态。本公开中,在遥操作的过程中检测执行臂的位姿误差,确定执行臂有否正确地按照操作者的意愿进行移动,进而实时把握机器人系统的工作状况。本领域技术人员可以理解,根据本公开一些实施例的位姿误差检测方法也可以在非遥操作过程中执行。
34.图2示出根据本公开一些实施例的误差检测系统200的示意图。如图2所示,系统200可以包括主操作器210、控制装置220、执行臂230、以及图像采集设备250。执行臂230可以由可形变臂或刚性臂实现。在一些实施例中,执行臂230在末端或远端处可以包括执行臂末端231,执行臂末端231上可以设置有末端器械240。
35.控制装置220可以与至少一个驱动装置通信连接,向驱动装置发送驱动信息,控制执行臂230运动,以使执行臂末端231运动至期望的位置和姿态。例如,控制执行臂230运动的至少一个驱动装置可以为伺服电机,可以接受控制装置的指令以控制执行臂230运动。在一些实施例中,控制装置220可以基于主操作器210的位姿和主操作器210与执行臂230之间的映射关系,确定执行臂末端231的目标位姿。
36.图像采集设备250与控制装置220通信连接。在一些实施例中,图像采集设备250可以用于采集定位图像,图像采集设备250可以包括但不限于双镜头图像采集设备或单镜头图像采集设备,例如双目或单目相机。定位图像中可以包括位于操作区域内的执行臂230的部分或全部的图像。在一些实施例中,图像采集设备250可以用于采集执行臂末端231的图像。执行臂末端231上可以设置有多个不同的位姿标识,这些位姿标识包括不同的位姿标识图案。例如,执行臂末端231上可以设置有定位标签232(定位标签232例如可以是图6所示的标签600)。定位标签232可以包括多个位姿标识,多个位姿标识包括不同的位姿标识图案(如下详述)。
37.如图2所示,执行臂末端231处于图像采集设备250的观测视野251之内,则采集的定位图像中可以包括执行臂末端231的图像。根据不同的应用场景,图像采集设备250可以是工业相机、水下相机、微型电子相机、内窥镜相机等。在一些实施例中,图像采集设备250可以是位置固定的或者位置变化的,例如,固定在监控位置的工业相机或者位置或姿态可调节的内窥镜相机。在一些实施例中,图像采集设备250可以实现可见光波段成像、红外波段成像、ct(computed tomography,电子计算机断层扫描)成像和声波成像等中的至少一种。根据采集的图像的种类不同,本领域技术人员可以选择不同的图像采集设备作为图像采集设备250。
38.在一些实施例中,控制装置220可以接收来自图像采集设备250的定位图像,并且对定位图像进行处理。例如,控制装置220可以在定位图像中,识别位于执行臂末端231上的多个位姿标识,并且确定执行臂末端231相对参考坐标系(例如世界坐标系)的位姿,作为执行臂末端231的实际位姿。
39.在本公开中,控制装置220可以基于执行臂末端231的目标位姿和实际位姿对执行臂230进行误差检测,确定执行臂末端231是否准确移动到了与主操作器210的操作对应的位置和姿态,进而判断执行臂230是否发生故障并生成相应的控制信号。在一些实施例中,控制装置220还可以以预定周期确定执行臂末端231的目标位姿和实际位姿,以通过多个检测循环实时对执行臂230进行误差检测。本领域技术人员应理解,系统200可以应用于多个领域(例如,医疗、工业制造等等)的专用或通用机器人系统,例如图1所示的机器人系统
100,或图17所示的机器人系统1700。作为一个示例,系统200可以应用于例如手术机器人等机器人系统,执行臂末端231的远端处设置的末端器械240例如可以是手术执行器。
40.本公开的一些实施例提供了一种用于机器人系统的执行臂的误差检测方法。图3示出根据本公开一些实施例的误差检测方法300(以下也简称“方法300”)的流程图。方法300可以由硬件、软件或者固件实现或执行。在一些实施例中,方法300可以由机器人系统(例如,图1所示的机器人系统100,或图17所示的机器人系统1700)执行。在一些实施例中,方法300可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图1所示的控制装置120、图2所示的控制装置220或图17所示的控制装置1720)读取并执行。例如,用于机器人系统的控制装置可以包括处理器,被配置为执行方法300。在一些实施例中,这些指令可以存储在计算机可读介质上。
41.参看图3,在步骤301,获得执行臂的末端的目标位姿。在一些实施例中,可以基于主操作器的位姿与执行臂的末端的位姿之间的主从运动映射关系,根据主操作器的位姿确定执行臂的末端的目标位姿。获得执行臂的末端的目标位姿的示例性方法包括如图4所示的方法。
42.图4示出根据本公开一些实施例的确定执行臂的末端的目标位姿的方法400的流程图。如图4所示,该方法400中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120、图2所示的控制装置220或图17所示的控制装置1720)来执行。方法400中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法400可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方法400可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
43.图5示出根据本公开一些实施例的主从运动映射中的坐标系示意图。在图5中各坐标系的定义如下:执行臂基坐标系{tb},原点位于执行臂的基座或者入鞘套出口,与基座延长线或者入鞘套轴向方向一致,方向如图5所示。相机坐标系{lens},原点位于相机中心,相机轴线方向为方向,视野摆正后上方为方向。执行臂的末端坐标系{wm},原点位于执行臂的末端,与末端的轴线方向一致,方向如图5所示。参考坐标系{w},可以是主操作器或执行臂或相机所在空间的坐标系,例如执行臂基坐标系{tb},或者世界坐标系,如图5所示。在一些实施例中,可以以操作者的体感为基准,当操作者端坐于主控台之前时,体感向上为方向,体感向前方向为方向。显示器坐标系{screen},原点位于显示器中心,垂直屏幕画面向内方向为正方向,屏幕画面上方为方向。主操作器基坐标系{combx},坐标轴方向如图5所示。主操作器的手柄坐标系{h},坐标轴方向如图5所示。
44.下面以图5所示的坐标系为例,对确定执行臂的末端的目标位姿的方法400进行描述。但是,本领域技术人员可以理解,可以采用其他坐标系定义实现确定执行臂的末端的目标位姿的方法400。
45.参看图4,在步骤401,可以确定主操作器的当前位姿,当前位姿包括当前位置和当
前姿态。在一些实施例中,主操作器的当前位姿是相对主操作器基坐标系{combx}的位姿。例如,主操作器的位姿是主操作器的手柄或其一部分定义的坐标系相对主操作器基坐标系{combx}(例如,主操作器所在的支架或基座定义的坐标系、或世界坐标系)的位姿。在一些实施例中,确定主操作器的当前位置包括确定主操作器的手柄相对主操作器基坐标系{combx}的当前位置,确定主操作器的当前姿态包括确定主操作器的手柄相对主操作器基坐标系{combx}的当前姿态。
46.在一些实施例中,可以基于坐标变换确定主操作器的当前位姿。例如,可以基于主操作器的手柄的坐标系{h}与主操作器基坐标系{combx}之间的变换关系确定手柄的当前位姿。通常情况下,主操作器基坐标系{combx}可以设置在主操作器所在的支架或基座上,且在遥操作过程中,主操作器基坐标系{combx}保持不变。
47.在一些实施例中,可以基于主操作器传感器确定主操作器的当前位姿。在一些实施例中,接收主操作器的至少一个关节的当前关节信息,并且基于至少一个关节的当前关节信息,确定主操作器的当前位姿。例如,主操作器的当前位姿是基于主操作器传感器获得的至少一个关节的当前关节信息确定的。主操作器传感器设置在主操作器的至少一个关节位置处。例如,主操作器包括至少一个的关节,在至少一个关节处设置至少一个主操作器传感器。基于主操作器传感器获取对应关节的关节信息(位置或者角度),计算主操作器的当前位姿。例如,基于正向运动学算法计算主操作器的当前位置和当前姿态。
48.在一些实施例中,主操作器包括用于控制手柄的姿态的至少一个姿态关节。确定主操作器的手柄的当前姿态包括:获得至少一个姿态关节的关节信息,并且基于至少一个姿态关节的关节信息,确定主操作器的当前姿态。主操作器包括机械臂,机械臂包括位置关节以及姿态关节。姿态关节调整主操作器的姿态,通过一个或者多个姿态关节控制主操作器达到目标姿态。位置关节调整主操作器的位置,通过一个或者多个的位置关节控制主操作器达到目标位置。主操作器传感器设置在度机械臂的姿态关节以及位置关节处,用于获取姿态关节以及位置关节对应的关节信息(位置或者角度)。根据获取到的关节信息,可以确定主操作器的手柄相对主操作器基坐标系{combx}的当前位姿。例如,主操作器可以包括7个关节,其中,关节5、关节6和关节7为姿态关节,用于调整主操作器的手柄的姿态。基于姿态关节的主操作器传感器获取的关节信息(如角度)以及正向运动学算法,计算主操作器的当前姿态。关节1、关节2、关节3为位置关节,用于调整主操作器的手柄的位置。基于位置关节的主操作器传感器获取的关节信息(如位置)以及正向运动学算法,计算主操作器的当前位置。
49.在步骤403,可以基于主操作器的当前位姿及主操作器与执行臂的末端的位姿关系,确定执行臂的末端的目标位姿。例如,建立主操作器与执行臂的末端的主从映射关系,通过遥操作主操作器以控制执行臂的末端的位姿。位姿关系包括执行臂的末端相对参考坐标系{w}的位姿与主操作器相对参考坐标系{w}的位姿之间的关系。参考坐标系{w}包括主操作器或执行臂或相机所在空间的坐标系或者世界坐标系。
50.在一些实施例中,主操作器与执行臂的末端之间的位姿关系可以包括主操作器的位姿变化量与执行臂的末端的位姿变化量之间的关系,例如相等或者成比例。确定执行臂的末端的目标位姿包括:确定主操作器的先前位姿,确定执行臂的末端的起始位姿,并且基于主操作器的先前位姿和当前位姿以及执行臂的末端的起始位姿,确定执行臂的末端的目
标位姿。主操作器的先前位姿以及当前位姿可以是主操作器的手柄相对主操作器基坐标系{combx}的位姿。执行臂的末端的起始位姿以及目标位姿可以是执行臂的末端相对执行臂基坐标系{tb}的位姿。
51.执行臂的末端的位姿可以包括执行臂的末端坐标系{wm}相对执行臂基坐标系{tb}的位姿。执行臂的基坐标系{tb}可以是执行臂所安装的基座的坐标系、执行臂的末端所穿过的鞘套的坐标系(例如,鞘套出口的坐标系)、执行臂的近端运动中心点(remote center of motion,rcm)的坐标系等。例如,执行臂的基坐标系{tb}可以设置在鞘套出口位置处,且在遥操作过程中,执行臂的基坐标系{tb}保持不变。可以对执行臂的末端的起始位姿进行坐标系变换,得到相对其他坐标系(例如,参考坐标系)的位姿。
52.在一些实施例中,可以接收主操作器的至少一个关节的先前关节信息,并且基于至少一个关节的先前关节信息,确定主操作器的先前位姿。例如,基于主操作器传感器读取主操作器在先前时间以及当前时间的关节信息,确定主操作器的手柄的先前位姿和当前位姿。基于手柄相对主操作器基坐标系{combx}的先前位置以及当前位置,确定主操作器的手柄的位置变化量。基于手柄相对主操作器基坐标系{combx}的先前姿态以及当前姿态,确定主操作器的手柄的姿态变化量。
53.在一些实施例中,可以接收上一轮检测循环获得的执行臂的末端的实际位姿,作为本轮检测循环中执行臂的末端的起始位姿。例如,在每一轮检测循环中,相机可以对执行臂的末端拍摄定位图像,通过定位图像可以识别位于执行臂的末端上的多个位姿标识,进而确定执行臂的末端的实际位姿(在后详述),该实际位姿可以作为下一轮检测循环中执行臂的末端的起始位姿。例如,对于第一轮检测循环,则可以采用执行臂的末端的初始位姿(例如,执行臂的零位)作为第一轮检测循环的起始位姿。
54.在一些实施例中,可以基于主操作器的先前位姿以及当前位姿,确定主操作器的位姿变化量。可以基于主操作器的位姿变化量及主操作器与执行臂的末端的位姿关系,确定执行臂的末端的位姿变化量。可以基于执行臂的末端的起始位姿以及执行臂的末端的位姿变化量,确定执行臂的末端的目标位姿。
55.位姿关系可以包括位置关系以及姿态关系。主操作器与执行臂的末端之间的位置关系可以包括主操作器的位置变化量与执行臂的末端的位置变化量之间的关系,例如相等或成比例。主操作器与执行臂的末端之间的姿态关系可以包括主操作器的姿态变化量与执行臂的末端的姿态变化量之间的关系,例如相等或成比例。
56.在一些实施例中,方法400还包括:确定主操作器的手柄相对主操作器基坐标系的当前位置,确定手柄相对主操作器基坐标系的先前位置,确定执行臂的末端相对执行臂基坐标系的起始位置,以及基于手柄相对主操作器基坐标系的先前位置和当前位置、执行臂基坐标系与主操作器基坐标系的变换关系、执行臂的末端相对执行臂基坐标系的起始位置,确定执行臂的末端相对执行臂基坐标系的目标位置。例如,基于主操作器传感器读取的主操作器在先前时间对应的关节信息确定主操作器的先前位置,基于主操作器传感器读取的主操作器在当前时间对应的关节信息确定主操作器的当前位置。基于手柄相对主操作器基坐标系{combx}的先前位置以及当前位置确定主操作器的位置变化量。基于上一轮检测循环获得的执行臂的末端的实际位姿确定执行臂的末端的起始位置。基于主操作器的位置变化量及主操作器与执行臂的末端的位姿关系确定执行臂的末端的位置变化量。基于执行
臂的末端的起始位置以及执行臂的末端的位置变化量确定执行臂的末端的目标位置。
57.在一些实施例中,方法400还包括:确定主操作器的手柄相对主操作器基坐标系的当前姿态,确定手柄相对主操作器基坐标系的先前姿态,确定执行臂的末端相对执行臂基坐标系的起始姿态,以及基于手柄相对主操作器基坐标系的先前姿态和当前姿态、执行臂基坐标系与主操作器基坐标系的变换关系、执行臂的末端相对执行臂基坐标系的起始姿态,确定执行臂的末端相对执行臂基坐标系的目标姿态。例如,基于主操作器传感器读取的主操作器在先前时间对应的关节信息确定主操作器的先前姿态,基于主操作器传感器读取的主操作器在当前时间对应的关节信息确定主操作器的当前姿态。基于手柄相对主操作器基坐标系{combx}的先前姿态以及当前姿态确定主操作器的姿态变化量。基于上一轮检测循环获得的执行臂的末端的实际位姿确定执行臂的末端的起始姿态。基于主操作器的姿态变化量及主操作器与执行臂的末端的位姿关系确定执行臂的末端的姿态变化量。基于执行臂的末端的起始姿态以及执行臂的末端的姿态变化量确定执行臂的末端的目标姿态。
58.在一些实施例中,位姿关系包括:执行臂的末端在参考坐标系{w}中的位置变化量与主操作器在参考坐标系{w}中的位置变化量成比例,可以表示为:
59.w
δp
wm
=k
·wδphꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
60.在公式(1)中,左侧的wδp
wm
表示执行臂的末端相对参考坐标系{w}的位置变化量,右侧的wδph表示主操作器相对参考坐标系{w}的位置变化量。并且,wδp
wm
与wδph呈比例关系,比例系数为k。
61.在一些实施例中,可以基于主操作器相对参考坐标系{w}的先前位置wp
h(t0)
及当前位置wph确定主操作器的位置变化量wδph。例如,在遥操作中的t0时刻,可以基于主操作器传感器获取到的主操作器的关节信息,确定主操作器的手柄相对参考坐标系{w}的先前位置wp
h(t0)
。在遥操作中的t1时刻,可以基于主操作器传感器获取到的主操作器的关节信息,确定主操作器的手柄相对参考坐标系{w}的当前位置wph。基于主操作器在t0时刻的先前位置wp
h(t0)
以及主操作器在t1时刻的当前位置wph,得到主操作器的位置变化量wδph。在一些实施例中,t0时刻至t1时刻之间可以包括执行臂的多个控制循环,t0时刻可以是遥操作指令被触发的时刻或者多个控制循环开始的时刻,t1时刻可以是遥操作指令结束的时刻或者多个控制循环完成的时刻。
62.在一些实施例中,可以基于执行臂的末端相对参考坐标系{w}的起始位置wp
wms
及目标位置wp
wmt
,确定执行臂的末端的位置变化量wδp
wm
。在一些实施例中,执行臂的检测循环(例如,t0至t1)可以涵盖执行臂的多个控制循环。例如,执行臂的上一轮检测循环可以在t0时刻结束,执行臂的本轮检测循环可以在t0时刻开始,在t1时刻结束。在一些实施例中,可以将上一轮检测循环(例如,t0时刻)获得的执行臂的末端的实际位姿中的实际位置wp
wmr(t0)
,确定为当前检测循环中执行臂的末端相对参考坐标系{w}的起始位置wp
wms
。可以基于手柄的位置变化量wδph以及执行臂的末端相对参考坐标系{w}的起始位置wp
wms
,确定执行臂的末端相对参考坐标系{w}的目标位置wp
wmt

63.在公式(1)中,执行臂的末端相对参考坐标系{w}的位置变化量wδp
wm
可以由执行臂的末端相对参考坐标系{w}的目标位置wp
wmt
以及执行臂的末端(例如,在t0时刻)相对参考坐标系{w}的起始位置wp
wms
的差值表示,如公式(2)所示,
64.w
δp
wm
=wp
wmt-w
p
wms
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
65.在公式(1)中,主操作器相对参考坐标系{w}的位置变化量wδph可以由主操作器(例如,在t1时刻)相对参考坐标系{w}的当前位置wph以及主操作器(例如,在t0时刻)相对参考坐标系{w}的先前位置wp
h(t0)
的差值表示,如公式(3)所示,
66.w
δph=wp
h-w
p
h(t0)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
67.在一些实施例中,在公式(1)的左右两侧分别乘以相同的矩阵
tbrw
,基于公式(1)至公式(3)得到公式(4),
68.tbrw
(wp
wmt-w
p
wms
)=k
·
tbrw
(wp
h-w
p
h(t0)
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
69.基于公式(4)的左侧得到公式(5),
70.tbrw
(wp
wmt-w
p
wms
)=
tb
p
wmt-tb
p
wms
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
71.基于公式(4)的右侧得到公式(6),
72.k
·
tbrw
(wp
h-w
p
h(t0)
)=k
·
tbrcombx
(
combx
p
h-combx
p
h(t0)
)
ꢀꢀꢀ
(6)
73.基于公式(5)及公式(6)得到公式(7),
74.tb
p
wmt
=k
·
tbrcombx
(
combx
p
h-combx
p
h(t0)
)+
tb
p
wms
ꢀꢀꢀꢀꢀꢀꢀ
(7)
75.基于公式(7),在一些实施例中,可以基于手柄相对主操作器基坐标系{combx}的先前位置
combx
p
h(t0)
和当前位置
combx
ph、执行臂的末端相对执行臂基坐标系{tb}的当前位置
tb
p
wms
、主操作器基坐标系{combx}与执行臂基坐标系{tb}的变换关系
tbrcombx
,确定执行臂的末端相对执行臂基坐标系{tb}的目标位置
tb
p
wmt

76.在一些实施例中,执行臂的末端在参考坐标系{w}中的姿态与主操作器在参考坐标系{w}中的姿态一致。在一些实施例中,执行臂的末端相对参考坐标系{w}的姿态变化量与主操作器相对参考坐标系{w}的姿态变化量一致,可以表示为:
77.wrwms-wmt

wrh(t0)-h
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)
78.在公式(8)中,左侧的
wrwms-wmt
表示执行臂的末端的姿态相对参考坐标系{w}的姿态变化量,右侧的
wrh(t0)-h
表示主操作器相对参考坐标系{w}的姿态变化量。
79.在一些实施例中,可以基于主操作器相对参考坐标系{w}的先前姿态
wrh(t0)
及当前姿态wrh确定主操作器的姿态变化量
wrh(t0)-h
。例如,在遥操作中的t0时刻,可以基于主操作器传感器获取到的主操作器的关节信息,确定主操作器的手柄相对参考坐标系{w}的先前姿态
wrh(t0)
。在遥操作中的t1时刻,可以基于主操作器传感器获取到的主操作器的关节信息,确定主操作器的手柄相对参考坐标系{w}的当前姿态wrh。可以基于主操作器在t0时刻的先前姿态
wrh(t0)
以及主操作器在t1时刻的当前姿态wrh,得到主操作器的姿态变化量
wrh(t0)-h
。类似地,在一些实施例中,t0时刻至t1时刻可以对应于单个检测循环,可以包括执行臂的多个控制循环,t0时刻可以是遥操作指令被触发的时刻或者检测循环开始的时刻,t1时刻可以是遥操作指令结束的时刻或者检测循环完成的时刻。
80.在一些实施例中,可以基于执行臂的末端相对参考坐标系{w}的起始姿态
wrwms
及目标姿态
wrwmt
,确定执行臂的末端的姿态变化量
wrwms-wmt
。同样地,在一些实施例中,执行臂的检测循环(例如,t0至t1)可以涵盖执行臂的多个控制循环。例如,执行臂的上一轮检测循环可以在t0时刻结束,执行臂的本轮检测循环可以在t0时刻开始,在t1时刻结束。在一些实施例中,可以将上一轮检测循环(例如,t0时刻)获得的执行臂的末端的实际位姿中的实际姿态
wrwmr(t0)
,确定为当前检测循环中执行臂的末端相对参考坐标系{w}的起始姿态
wrwms
。可以基于手柄的姿态变化量
wrh(t0)-h
以及执行臂的末端相对参考坐标系{w}的起始姿态
wrwms

确定执行臂的末端相对参考坐标系{w}的目标姿态
wrwmt

81.在公式(8)中,执行臂的末端的姿态相对参考坐标系{w}的姿态变化量
wrwms-wmt
可以基于执行臂的末端相对参考坐标系{w}的起始姿态wp
wms
以及执行臂的末端相对参考坐标系{w}的目标姿态
wrwmt
确定。主操作器相对参考坐标系{w}的姿态变化量
wrh(t0)-h
可以基于手柄(例如,在t0时刻)相对参考坐标系{w}的先前姿态
wrh(t0)
以及手柄在(例如,在t1时刻)相对参考坐标系{w}的当前姿态wrh确定。
82.具体参见公式(9),
83.wrwmt
(
wrwms
)
t
=wrh(
wrh(t0)
)
t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
84.在一些实施例中,在公式(9)的左右两侧分别乘以相同的矩阵
tbrw
(
tbrw
)
t
,基于公式(9)得到公式(10),
85.tbrwwrwmt
(
wrwms
)
t
(
tbrw
)
t

tbrww
rh(
wrh(t0)
)
t
(
tbrw
)
t
ꢀꢀꢀꢀꢀ
(10)
86.基于公式(10)的左侧得到公式(11),
87.tbrwwrwmt
(
wrwms
)
t
(
tbrw
)
t
=(
tbrwwrwmt
)(
tbrwwrwms
)
t

tbrwmt
(
tbrwms
)
t
ꢀꢀꢀ
(11)
88.基于公式(10)的右侧得到公式(12),
89.tbrww
rh(
wrh(t0)
)
t
(
tbrw
)
t

tb
rh(
tbrh(t0)
)
t
=(
tbrcombxcombx
rh)(
tbrcombxcombxrh(t0)
)
t
ꢀꢀꢀ
(12)
90.综合公式(8)至公式(12),可得出执行臂的末端在遥操作过程中的目标姿态
tbrwmt
表达式如公式(13),
91.tbrwmt

tbrcombx
(
combx
rh(
combxrh(t0)
)
t
)
combxrtbtbrwms
ꢀꢀꢀꢀꢀꢀ
(13)
92.基于公式(13),在一些实施例中,可以基于手柄相对主操作器基坐标系{combx}的先前姿态
combxrh(t0)
和当前姿态
combx
rh、执行臂的末端相对执行臂基坐标系{tb}的起始姿态
wrwms
及执行臂基坐标系{tb}与主操作器基坐标系{combx}的变换关系
combxrtb
,确定执行臂的末端相对执行臂基坐标系{tb}的目标姿态
tbrwmt

93.在一些实施例中,执行臂基坐标系{tb}与主操作器基坐标系{combx}的变换关系
combxrtb
可以是基于执行臂基坐标系{tb}与相机坐标系{lens}的变换关系
lensrtb
、相机坐标系{lens}与显示器坐标系{screen}的变换关系
screenrlens
、显示器坐标系{screen}与主操作器基坐标系{combx}的变换关系
combxrscreen
确定。
94.在一些实施例中,主操作器与显示器的变换关系可以预先确定,例如主操作器与显示器可以分别固定设置在主控台车上,显示器坐标系{screen}与主操作器基坐标系{combx}具有预定的变换关系。一些实施例中,执行臂基坐标系{tb}与相机坐标系{lens}具有预定的变换关系。在一些实施例中,相机可以设置在视觉工具的末端,在操作者进行作业之前,视觉工具已经运动结束,执行臂基坐标系{tb}与相机坐标系{lens}的变换关系
lensrtb
不再变化。
95.在一些实施例中,显示器坐标系{screen}与相机坐标系{lens}对于视野方向的定义一致。因此执行臂的末端在显示器中的图像相对于显示器坐标系{screen}的位置变化量与执行臂的末端相对于相机坐标系{lens}的位置变化量一致。这样,当操作者握住主操作器的手柄操作时,操作者感受到的执行臂末端的执行器的图像的位姿变化与操作者感受到的主操作器的手柄的位姿变化保持预设的变换关系。
96.在一些实施例中,执行臂的末端相对参考坐标系{w}的目标位姿可以基于执行臂的末端相对执行臂基坐标系{tb}的目标位姿以及执行臂基坐标系{tb}与参考坐标系{w}的
变换关系
wrtb
确定。在一些实施例中,执行臂基坐标系{tb}与参考坐标系{w}具有预定的变换关系。具体如公式(14),
[0097][0098]
本领域技术人员可以理解,执行臂基坐标系{tb}可以作为参考坐标系{w}。
[0099]
在一些实施例中,执行臂上(例如,执行臂末端231上)分布有多个位姿标识。在一些实施例中,多个位姿标识设置在执行臂230的柱状部分的外表面上。例如,多个位姿标识沿周向分布在执行臂末端231上,例如沿周向设置在执行臂末端231的柱状部分的外表面上。在一些实施例中,执行臂末端231的柱状部分的外表面上设置有包括多个位姿标识的定位标签232,多个位姿标识包括沿柱状部分的周向分布在定位标签上的多个不同的位姿标识图案以及在位姿标识图案中的位姿标识图案角点。
[0100]
在一些实施例中,位姿标识可以包括位姿标识图案和在位姿标识图案中的位姿标识图案角点。在一些实施例中,位姿标识图案可以设置在执行臂末端上的标签上,或者可以印刷在执行臂末端上,或者可以是由执行臂末端自身的物理构造形成的图案,例如,可以包括凹陷或凸起及其组合。在一些实施例中,位姿标识图案可以包括以亮度、灰度、色彩等形成的图案。在一些实施例中,位姿标识图案可以包括主动(例如,自发光)或被动(例如,反射光线)提供被图像采集设备探测的信息的图案。本领域技术人员可以理解,在一些实施例中,位姿标识的位姿或者位姿标识图案的位姿可以由位姿标识图案角点坐标系的位姿来表示。在一些实施例中,位姿标识图案设置在执行臂末端上适于被图像采集设备采集图像的区域,例如,在工作过程中可以被图像采集设备的视场覆盖的区域或者在工作过程中不容易被干扰或遮挡的区域。
[0101]
图6示出根据一些实施例的包括多个位姿标识的标签600的示意图。图7示出设置在执行臂末端周侧并形成圆筒形的标签700的示意图。可以理解,简单起见,标签600可以与标签700包括相同的位姿标识图案。
[0102]
参看图6,多个位姿标识可以包括多个不同的位姿标识图案610。多个位姿标识还可以包括在多个不同的位姿标识图案610中的多个位姿标识图案角点p6,在本公开中以“〇”符号表示位姿标识图案角点。在一些实施例中,可以通过识别位姿标识图案610或其中的位姿标识图案角点p6确定位姿标识。
[0103]
参看图7,在周向设置状态下,标签600变为空间构造为圆筒形的标签700。在一些实施例中,位姿标识的绕轴角度或者滚转角可以通过位姿标识图案或位姿标识图案角点的绕轴角度表示。每个位姿标识图案或位姿标识图案角点标识的绕轴角度是已知的或预先确定的。在一些实施例中,基于多个位姿标识(例如位姿标识图案或位姿标识图案角点)的分布,可以确定每个位姿标识所标识的绕轴角度。在一些实施例中,多个位姿标识可以均匀分布(例如,标签600中的位姿标识图案角点等间距分布,标签700中的位姿标识图案角点等分布角分布)。另一些实施例中,多个位姿标识可以非均匀分布。在一些实施例中,基于多个位姿标识的分布,每个位姿标识图案可以用于标识特定的绕轴角度,每个位姿标识图案与所标识的绕轴角度具有一一对应关系。在本公开中,绕轴角度或者滚转角是指绕z轴(例如,执行臂的末端坐标系{wm}的z轴)的角度。在一些实施例中,z轴可以是沿执行臂末端的切线方
向。
[0104]
如图7所示,标签700中多个不同的位姿标识图案710沿圆柱形结构周向均匀分布,多个位姿标识图案角点均匀分布在执行臂的末端坐标系{wm}的xy平面的截面圆720上,则任意相邻的位姿标识图案角点的分布角(例如,角度α0)相等。设定x轴指向的位姿标识图案角点p7,p7作为标识0
°
绕轴角度的参照角点(位姿标识图案角点p7所在的位姿标识图案作为参照图案),则可以根据任意位姿标识图案角点与位姿标识图案角点p7的位置关系确定该位姿标识图案角点标识的绕轴角度。在一些实施例中,位姿标识图案角点标识的绕轴角度可以基于以下公式(15)确定:
[0105]
αm=α0(m-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0106]
其中,αm为以位姿标识图案角点p7作为第一个位姿标识图案角点,按照截面圆720的顺时针方向,第m个位姿标识图案角点的绕轴角度。
[0107]
参看图3,在步骤303,获取定位图像。在一些实施例中,定位图像中包含执行臂的末端上的多个位姿标识。在一些实施例中,可以从如图2所示的图像采集设备250接收定位图像。例如,控制装置220可以接收图像采集设备250主动发送的定位图像。或者,控制装置220可以向图像采集设备250发送图像请求指令,图像采集设备250响应图像请求指令向控制装置220发送定位图像。
[0108]
继续参看图3,在步骤305,在定位图像中,识别位于执行臂的末端上的多个位姿标识,多个位姿标识包括不同的位姿标识图案。例如,识别位于执行臂的末端上的多个位姿标识的示例性方法可以包括如图10、图12、图14和图15所示的方法。在一些实施例中,控制装置220可以通过图像处理算法识别定位图像中的部分或全部的位姿标识。在一些实施例中,图像处理算法可以包括特征识别算法,图像处理算法可以提取或识别位姿标识的特征。例如,图像处理算法可以包括角点检测算法,用于检测位姿标识图案角点。该角点检测算法可以是包括但不限于基于灰度图的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测中的一种。例如,图像处理算法可以是颜色特征提取算法,用于检测位姿标识图案中的颜色特征。再例如,图像处理算法可以是轮廓检测算法,用于检测位姿标识图案的轮廓特征。在一些实施例中,控制装置可以通过识别模型识别定位图像中的部分或全部的位姿标识。
[0109]
继续参看图3,在步骤307,基于多个位姿标识,确定执行臂的末端的实际位姿。在一些实施例中,方法300还包括:确定多个位姿标识在定位图像中的二维坐标;以及基于多个位姿标识在定位图像中的二维坐标和多个位姿标识相对执行臂的末端坐标系的三维坐标,确定执行臂的末端坐标系相对参考坐标系的位姿,作为执行臂的末端的实际位姿。在一些实施例中,位姿标识的坐标可以通过位姿标识图案角点的坐标表示。例如,位姿标识在定位图像中的二维坐标和在执行臂的末端坐标系中的三维坐标可以通过位姿标识图案角点的坐标表示。在一些实施例中,可以基于多个位姿标识图案角点在定位图像中的二维坐标和在执行臂的末端坐标系中的三维坐标,确定执行臂的末端坐标系相对参考坐标系的位姿,作为执行臂的末端的实际位姿。
[0110]
在一些实施例中,方法300还可以包括:基于多个位姿标识图案角点在定位图像中的二维坐标、多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标和相机坐标系相对参考坐标系的变换关系,确定执行臂的末端坐标系相对参考坐标系的位姿。
[0111]
在一些实施例中,相机坐标系相对参考坐标系的变换关系可以是已知的。例如,参考坐标系为世界坐标系,相机坐标系相对世界坐标系的变换关系可以根据相机摆放的位姿确定。另一些实施例中,根据实际的需求,参考坐标系也可以是相机坐标系本身。
[0112]
在一些实施例中,基于相机成像原理与投影模型,基于多个位姿标识图案角点在定位图像中的二维坐标和多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标,确定执行臂的末端坐标系相对相机坐标系的位姿。基于执行臂的末端坐标系相对相机坐标系的位姿和相机坐标系相对参考坐标系的变换关系,可以得到执行臂的末端坐标系相对参考坐标系的位姿。在一些实施例中,还可以考虑相机的内参。例如,相机的内参可以是如图2所示的图像采集设备250的相机内参。相机的内参可以是已知的或者经过标定而得到的。在一些实施例中,相机坐标系可以理解为以相机原点建立的坐标系。例如,以相机的光心为原点建立的坐标系或者以相机的镜头中心为原点建立的坐标系。当相机为双目相机时,相机坐标系的原点可以是相机左镜头的中心,或者右镜头的中心,或者左右镜头中心连线上的任意一点(例如该连线的中点)。
[0113]
在一些实施例中,执行臂的末端坐标系{wm}相对参考坐标系(例如,世界坐标系){w}的位姿可以基于以下公式(16)确定:
[0114][0115]
其中,
wrwm
为执行臂的末端坐标系相对参考坐标系的姿态,wp
wm
为执行臂的末端坐标系相对参考坐标系的位置,
wrlens
为相机坐标系相对参考坐标系的姿态,wp
lens
为相机坐标系相对参考坐标系的位置,
lensrwm
为执行臂的末端坐标系相对相机坐标系的姿态,
lens
p
wm
为执行臂的末端坐标系相对相机坐标系的位置。
[0116]
本公开一些实施例提供了确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法。在一些实施例中,基于多个位姿标识的分布,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。例如,基于多个位姿标识图案角点的分布,确定多个位姿标识图案角点在执行臂的末端坐标系中的三维坐标。
[0117]
图8示出根据本公开一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法800的流程图。如图8所示,该方法800中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120,图2所示的控制装置220,或图17所示的控制装置1720)来执行。方法800中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法800可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方法800可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
[0118]
参看图8,在步骤801,基于多个位姿标识的分布,确定多个位姿标识相对执行臂的末端坐标系的z轴的绕轴角度。在一些实施例中,可以基于多个位姿标识图案,确定多个位姿标识相对执行臂的末端坐标系的z轴的绕轴角度。例如,每个位姿标识图案可以标识特定的绕轴角度,不同的位姿标识图案与所标识的绕轴角度一一对应。基于识别出位姿标识图案以及位姿标识图案与绕轴角度的对应关系,可以确定被识别出的位姿标识图案所标识的
绕轴角度。应理解,每个位姿标识图案的分布是已知的或预先确定的。在一些实施例中,多个位姿标识图案或者多个位姿标识图案角点的分布可以是如图6所示的分布。在一些实施例中,每个位姿标识图案角点标识的绕轴角度还可以基于公式(15)确定。
[0119]
参看图8,在步骤803,基于多个位姿标识的绕轴角度,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。在一些实施例中,如图7所示,每个位姿标识图案角点均位于在截面圆720的圆周上,截面圆720的圆心与半径r均是已知的。以位姿标识图案角点p7作为参照角点,位姿标识图案角点p7在执行臂的末端坐标系{wm}的三维坐标为(r,0,0)。在一些实施例中,每个位姿标识图案角点在执行臂的末端坐标系{wm}中的三维坐标可以基于以下公式(17)确定:
[0120]cm
=[r
·
cosα
m r
·
sinα
m 0]
t
ꢀꢀꢀꢀꢀꢀꢀ
(17)
[0121]
其中,cm为以位姿标识图案角点p7作为第一个位姿标识图案角点,按照截面圆720的顺时针方向,第m个位姿标识图案角点标识的特定的绕轴角度可以基于多个位姿标识在执行臂的末端坐标系{wm}中的三维坐标。
[0122]
在一些实施例中,基于公式(15)确定第m个位姿标识图案角点标识的绕轴角度αm,之后基于公式(15)确定的绕轴角度αm和公式(17)确定三维坐标cm。
[0123]
图9示出根据本公开另一些实施例的确定多个位姿标识相对执行臂的末端坐标系的三维坐标的方法900的流程图。方法900可以是图8所示方法800的替换实施例。如图9所示,该方法900中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120,图2所示的控制装置220,或图17所示的控制装置1720)来执行。方法900中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法900可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方法900可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
[0124]
参看图9,在步骤901,基于多个位姿标识中的至少两个,确定多个位姿标识的排布顺序。在一些实施例中,多个位姿标识的排布顺序可以通过多个位姿标识图案的排布顺序表示。在一些实施例中,通过识别任意两个位姿标识图案确定多个位姿标识的排布顺序。应理解,多个位姿标识包括不同的位姿标识图案,在已知任意两个位姿标识图案的情况下,可以基于多个位姿标识图案已知的分布(例如,图6所示标签600中不同位姿标识图案的分布,或者图7所示标签700中不同位姿标识图案的分布),确定定位图像中多个位姿标识的排布顺序,例如顺时针排布或逆时针排布。
[0125]
参看图9,在步骤903,基于多个位姿标识的排布顺序,确定多个位姿标识相对执行臂的末端坐标系的三维坐标。在一些实施例中,基于多个位姿标识已知的分布,可以确定每个位姿标识在执行臂的末端坐标系中的三维坐标,每个位姿标识的三维坐标可以通过位姿标识图案角点在执行臂的末端坐标系中的三维坐标表示,每个位姿标识图案对应执行臂的末端坐标系中的一个坐标点。在确定多个位姿标识图案的排布顺序的之后,基于识别出的位姿标识图案可以确定其余的位姿标识图案,进而可以确定每个位姿标识图案在执行臂的末端坐标系中的三维坐标。在一些实施例中,识别定位图像中的多个位姿标识角点,确定多个位姿标识角点中的任意两个对应的位姿标识图案。基于识别出的两个位姿标识图案确定多个位姿标识图案角点的排布顺序,进而可以确定每个位姿标识图案角点在执行臂的末端
π/4四个方向的一阶导数;i
xy
和i
45_45
分别是像素点在0,π/2和π/4,-π/4方向的二阶导数。
[0133]
在一些实施例中,方法1000还可以包括将roi划分成多个子区域。例如,可以采用非极大抑制法在一个roi范围中平均分割出多个子图像。在一些实施例中,可以将roi平均分割成5
×
5像素的多个子图像。上述实施例为示例性的,并非限制性的,应当理解,还可以将定位图像或roi分割成其他尺寸大小的多个子图像,例如,分割成9
×
9像素的多个子图像。
[0134]
在一些实施例中,方法1000还可以包括确定每个子区域中角点似然值最大的像素以形成像素集合。在一些实施例中,像素集合作为从定位图像中确定的多个候选标识。例如,可以确定每个子图像中的cl值最大的像素点,将每个子图像中的cl值最大的像素点与第一阈值进行比较,确定cl值大于第一阈值的像素的集合。在一些实施例中,第一阈值可以设定为0.06。应当理解,第一阈值还可以设定为其他值。
[0135]
参看图10,步骤1003,基于多个不同的位姿图案匹配模板,从多个候选位姿标识中识别第一位姿标识。在一些实施例中,将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点处的图案进行匹配,以识别第一位姿标识。例如,确定达到预设位姿图案匹配度标准的候选位姿标识图案角点为第一位姿标识图案角点。在一些实施例中,位姿图案匹配模板与位姿标识图案角点附近区域的图案具有相同或相似的特征。若位姿图案匹配模板与候选位姿标识图案角点附近区域的图案的匹配度达到预设位姿图案匹配度标准(例如,匹配度高于阈值),则可以认为候选位姿标识图案角点附近区域的图案与位姿图案匹配模板具有相同或相似的特征,进而可认为当前的候选位姿标识图案角点为位姿标识图案角点。
[0136]
在一些实施例中,确定像素集合中cl值最大的像素点,作为候选位姿标识图案角点。例如,可以将该像素集合中的所有像素按cl值从大到小的顺序排序,并将cl值最大的像素作为候选位姿标识图案角点。在一些实施例中,在确定了候选位姿标识图案角点之后,将位姿图案匹配模板与候选位姿标识图案角点处的图案进行匹配,如果达到了预设位姿图案匹配度标准,则确定候选位姿标识图案角点为识别出的第一位姿标识图案角点。
[0137]
在一些实施例中,方法1000还可以包括响应于匹配失败,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点。例如,如果候选位姿标识图案角点未达到预设的匹配度标准,则选择次级cl值的像素点(cl值第二大的像素点)作为候选位姿标识图案角点,将位姿图案匹配模板与该候选位姿标识图案角点处的图案进行匹配,依次类推,直至识别出第一位姿标识图案角点。
[0138]
在一些实施例中,位姿标识图案可以为黑白相间的图形(例如,棋盘格图形),因此位姿图案匹配模板可以为相同的图形,利用位姿图案匹配模板的灰度分布gm与候选位姿标识图案角点对应的像素点的像素邻域灰度分布g
image
间的相关性系数(correlation coefficient,cc)来进行匹配。像素点的像素邻域灰度分布g
image
为以该像素点为中心一定范围内(例如,10
×
10像素)像的像素的灰度分布。相关性系数可以基于以下公式(19)确定:
[0139][0140]
其中,var()为方差函数,cov()为协方差函数。在一些实施例中,当相关性系数小于0.8时,像素领域内的灰度分布与位姿图案匹配模板相关性较低,则判定该角点似然值最
大的候选位姿标识图案角点不是位姿标识图案角点,否则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点。
[0141]
在一些实施例中,方法1000还可以包括确定候选位姿标识图案角点的边缘方向。例如,如图11所示,候选位姿标识图案角点为位姿标识图案1100中的角点p
11
,角点p
11
的边缘方向可以是指形成角点p
11
的边缘的方向,如图11中虚线箭头示意的方向。
[0142]
在一些实施例中,边缘方向可以通过对以候选位姿标识图案角点为中心的一定范围邻域(例如10
×
10像素)的每个像素在平面坐标系的x方向和y方向的一阶导数值(i
x
和iy)确定。例如,边缘方向可以基于以下公式(20)进行计算:
[0143][0144]
其中,一阶导数(i
x
和iy)可以通过对一定范围邻域范围内每一个像素点进行卷积操作得到。一些实施例中,通过对每个范围邻域内的像素点的边缘方向i
angle
和对应的权重i
weight
进行聚类计算获得该像素点的边缘方向,选择权重i
weight
占比最大的类对应的i
angle
作为边缘方向。需要说明的是,如果存在多个边缘方向,则选择权重i
weight
占比最大的多个类对应的i
angle
作为边缘方向。
[0145]
在一些实施例中,聚类计算所用的方法可以是k均值方法、birch(balanced iterative reducing and clustering using hierarchies,基于层次结构的平衡迭代聚类方法)方法、dbscan(density-based spatial clustering of applications with noise,具有噪声的基于密度的聚类方法)方法、gmm(gaussian mixed model,高斯混合模型)方法中的任意一种。
[0146]
在一些实施例中,方法1000还可以包括基于边缘方向旋转位姿图案匹配模板。根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板与候选位姿标识图案角点处的图像对齐。候选位姿标识图案角点的边缘方向可以用于确定该候选标识图案角点处的图像在定位图像中的设置方向。在一些实施例中,根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板调整至与候选位姿标识图案角点处的图像方向相同或接近相同以便于进行图像匹配。
[0147]
参看图10,步骤1005,以第一位姿标识作为起点,搜索位姿标识。例如,图12示出根据本公开一些实施例的用于搜索位姿标识的方法1200的流程图。如图12所示,该方法1200中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120,图2所示的控制装置220,或图17所示的控制装置1720)来执行。方法1200中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法1200可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方法1200可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
[0148]
参看图12,在步骤1201,以第一位姿标识作为起点,搜索第二位姿标识。在一些实施例中,以第一位姿标识图案角点作为起点,在设定的搜索方向上搜索第二位姿标识图案角点。在一些实施例中,设定的搜索方向可以包括:第一位姿标识图案角点的正前方(对应0
°
角度方向)、正后方(对应120
°
角度方向)、正上方(90
°
角度方向)、正下方(-90
°
角度方向)和斜向(例如
±
45
°
角度方向)中的至少一个方向。
[0149]
在一些实施例中,设定的搜索方向为n个,例如在8个方向进行搜索,每个搜索方向v
sn
可以基于以下公式(21)确定:
[0150]vsn
=[cos(n
·
π/4)sin(n
·
π/4)],(n=1,2,

,8)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(21)
[0151]
在一些实施例中,当前步骤中设定的搜索方向可以根据上一帧确定的多个位姿标识图案角点中相邻位姿标识图案角点之间的偏差角度确定。示例性地,预定的搜索方向基于以下公式(22)确定:
[0152][0153]
其中,(xj,yj)为上一帧(或者上个图像处理周期)确定的多个位姿标识图案角点的二维坐标;n
last
为上一帧确定的多个位姿标识图案角点的个数;v
s1
为第一个设定的搜索方向;v
s2
为第二个设定的搜索方向。
[0154]
在一些实施例中,如图13所示,以第一位姿标识图案角点p
1301
的坐标位置作为搜索起点,在设定的搜索方向上搜索第二位姿标识图案角点p
1302
的坐标位置具体可以包括:以第一位姿标识图案角点p
1301
的坐标位置作为搜索起点,通过搜索框(例如,图13中的虚线框)以一定的搜索步长在设定的搜索方向v
1301
上搜索位姿标识图案角点。若搜索框内存在至少一个候选位姿标识图案角点,则优先选择搜索框内角点似然值最大的候选位姿标识图案角点为第二位姿标识图案角点p
1302
。在搜索框限制在合适的大小情况下,以第一位姿标识图案角点p
1301
的坐标位置作为搜索起点进行第二位姿标识图案角点p
1302
搜索时,搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点为位姿标识图案角点的可能性较大。因此,可以认为搜索框内角点似然值最大的候选位姿标识图案角点为第二位姿标识图案角点p
1302
,以便提高数据处理速度。其他实施方式中,为了提高位姿标识图案角点识别的准确度,选择搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点进行角点的识别,以确定该角点似然值最大的候选位姿标识图案角点是否为位姿标识图案角点。例如,将位姿图案匹配模板与该角点似然值最大的候选位姿标识图案角点处一定范围内的图像进行匹配,满足预设位姿图案匹配度标准的候选位姿标识图案角点可以认为是搜索到的第二位姿标识图案角点p
1302

[0155]
在一些实施例中,继续参看图13,搜索框的大小可以逐步增大,从而搜索范围逐步增大。搜索步长可与搜索框的边长同步变化。其他实施方式中,搜索框的大小也可以为固定的大小。
[0156]
在一些实施例中,位姿标识图案可以为黑白相间的棋盘格图形,可以基于公式(19)中的相关性系数来进行图案匹配。如果相关性系数大于阈值,则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点,记为第二位姿标识图案角点。
[0157]
图14示出根据本公开一些实施例的用于搜索第二位姿标识的方法1400的流程图。如图14所示,该方法1400中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120,图2所示的控制装置220,或图17所示的控制装置1720)来执行。方法1400中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法1400可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方
法1400可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。在一些实施例中,方法1200中的步骤1201可以与方法1400类似地实现。
[0158]
参看图14,在步骤1401,以第一位姿标识作为起点,搜索第二位姿标识的候选位姿标识图案角点。在一些实施例中,搜索第二位姿标识的候选位姿标识图案角点可以与图13所示搜索第二位姿标识图案角点p
1302
类似地实现。
[0159]
在步骤1403,基于多个位姿标识的分布,确定第一位姿图案匹配模板和第二位姿图案匹配模板,第一位姿图案匹配模板和第二位姿图案匹配模板对应于与第一位姿标识相邻的位姿标识。在一些实施例中,步骤1403可以在步骤1401之前或者之后执行,步骤1403也可以与步骤1401同步执行。在一些实施例中,可以基于第一位姿标识包括的位姿标识图案以及多个位姿标识图案的分布,确定第一位姿标识相邻的位姿标识包括的位姿标识图案,进而确定第一位姿图案匹配模板和第二位姿图案匹配模板。
[0160]
在步骤1405,将第一位姿图案匹配模板和/或第二位姿图案匹配模板与第二位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别第二位姿标识。在一些实施例中,可以基于公式(19)中的相关性系数将第一位姿图案匹配模板和/或第二位姿图案匹配模板与第二位姿标识的候选位姿标识图案角点位置处的图案进行匹配。如果相关性系数大于阈值,则确定第二位姿标识的候选位姿标识图案角点作为第二位姿标识的位姿标识图案角点,并且确定相关性系数大于阈值的位姿图案匹配模板(第一位姿图案匹配模板或第二位姿图案匹配模板)对应的图案为第二位姿标识的位姿标识图案。
[0161]
参看图12,在步骤1203,基于第一位姿标识、第二位姿标识,确定搜索方向。在一些实施例中,搜索方向包括:第一搜索方向和第二搜索方向。第一搜索方向可以是以第一位姿标识图案角点的坐标位置为起点,且远离第二位姿标识图案角点的方向。第二搜索方向可以是以第二位姿标识图案角点的坐标位置为起点,且远离第一位姿标识图案角点的方向。例如,图13中所示的搜索方向v
1302

[0162]
参看图12,在步骤1205,以第一位姿标识或第二位姿标识作为起点,在搜索方向上搜索位姿标识。在一些实施例中,若以第一位姿标识图案角点为新的起点,则可以以上述实施例中的第一搜索方向作为搜索方向进行位姿标识图案角点的搜索。若以第二位姿标识图案角点为新的搜索起点,则可以以上述实施例中的第二搜索方向作为搜索方向进行位姿标识图案角点的搜索。在一些实施例中,搜索新的位姿标识图案角点(例如,图13中的第三位姿标识图案角点p
1303
)可以与方法1200中的步骤1201或者方法1500类似地执行。在一些实施例中,搜索步长可以是第一位姿标识图案角点p
1301
和第二位姿标识图案角点p
1302
之间的距离l1。
[0163]
图15示出根据本公开一些实施例的用于搜索位姿标识的方法1500的流程图。如图15所示,该方法1500中的部分或全部步骤可以由控制装置(例如,图1所示的控制装置120,图2所示的控制装置220,或图17所示的控制装置1720)来执行。方法1500中的部分或全部步骤可以由软件、固件和/或硬件来实现。在一些实施例中,方法1500可以由机器人系统(例如,图1所示的机器人系统100或图17所示的机器人系统1700)执行。在一些实施例中,方法1500可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器(例如,图17所示的控制装置1720)读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质
上。在一些实施例中,方法1200中的步骤1205可以与方法1500类似地实现。
[0164]
参看图15,在步骤1501,以第一位姿标识或第二位姿标识作为起点,搜索第三位姿标识的候选位姿标识图案角点。在一些实施例中,搜索第三位姿标识的候选位姿标识图案角点可以与图13所示搜索第三位姿标识图案角点p
1303
类似地实现。
[0165]
在步骤1503,基于多个位姿标识的分布,确定第三位姿图案匹配模板,第三位姿图案匹配模板对应于与第一位姿标识相邻或与第二位姿标识相邻的位姿标识。在一些实施例中,可以基于第一位姿标识或第二位姿标识包括的位姿标识图案以及多个位姿标识图案的分布,确定第一位姿标识或第二位姿标识相邻的位姿标识包括的位姿标识图案,进而确定第三位姿图案匹配模板。
[0166]
在步骤1505,将第三位姿图案匹配模板与第三位姿标识的候选位姿标识图案角点位置处的图案进行匹配,以识别第三位姿标识。在一些实施例中,步骤1505可以与步骤1405类似地实现。
[0167]
在一些实施例中,响应于搜索距离大于搜索距离阈值,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。在一些实施例中,在确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点之后,可以基于与步骤1003类似地方法识别新的第一位姿标识。在一些实施例中,搜索距离大于搜索距离阈值可以理解为在部分或者全部的搜索方向上的搜索距离大于搜索距离阈值。在一些实施例中,搜索距离阈值可以包括第n-1个位姿标识图案角点和第n-2个位姿标识图案角点的距离的设定倍数,其中n≥3。
[0168]
例如,搜索距离阈值为两倍的前两个位姿标识图案角点的距离。这样,搜索第三个位姿标识图案角点的最大搜索距离是第一位姿标识图案角点和第二位姿标识图案角点的距离的两倍,若在搜索方向上达到该搜索距离还未搜索到位姿标识图案角点,则确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点,以及识别新的第一位姿标识,并且当前搜索过程也相应停止。在一些实施例中,与方法1000类似,可以重新确定新的第一位姿标识图案角点,并且与方法1200类似,可以以新的位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。
[0169]
在一些实施例中,响应于识别到的位姿标识图案角点数量大于或等于位姿标识数量阈值,可以基于搜索到的位姿标识的搜索,确定执行臂的末端相对参考坐标系的位姿,对位姿标识图案角点的搜索也相应停止。例如,当识别到四个位姿标识图案角点,停止对位姿标识图案角点的搜索。
[0170]
在一些实施例中,响应于识别到的位姿标识数量小于位姿标识数量阈值,确定像素集合中剩余像素的角点似然值最大的像素作为候选位姿标识图案角点;以及将多个不同的位姿图案匹配模板分别与候选位姿标识图案角点位置处的图案进行匹配,以识别第一位姿标识。在一些实施例中,若识别到的位姿标识(例如,位姿标识图案角点)总数小于设定的位姿标识数量阈值,则认为上述步骤中基于第一位姿标识的搜索失败。在一些实施例中,在搜索失败的情况下,确定像素集合中剩余像素的角点似然值最大的像素作为新的候选位姿标识图案角点,之后可以基于与步骤1003类似地方法识别新的第一位姿标识。在一些实施例中,与方法1000类似,可以重新确定新的第一位姿标识图案角点,并且与方法1200类似,
可以以新的位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。
[0171]
在一些实施例中,在搜索到或者识别到位姿标识图案角点之后,还可以对已确定的位姿标识图案角点进行亚像素定位,以提高位姿标识图案角点的位置精度。
[0172]
在一些实施例中,可以对像素点的cl值基于模型进行拟合,以确定经亚像素定位后的位姿标识图案角点的坐标。例如,roi中每个像素点的cl值的拟合函数可以为二次曲面函数,该函数的极值点为亚像素点。拟合函数可以基于以下公式(23)和(24)确定:
[0173]
s(x,y)=ax2+by2+cx+dy+exy+f
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(23)
[0174][0175]
其中,s(x,y)为每个roi中的所有像素点的cl值拟合函数,a、b、c、d、e、f为系数;xc为位姿标识的x坐标,yc为位姿标识的y坐标。
[0176]
继续参看图3,在步骤309,响应于目标位姿与实际位姿满足误差检测条件,生成与故障相关的控制信号。在获得执行臂的末端的目标位姿与实际位姿之后,控制装置确定执行臂的末端的位姿误差,以判断执行臂是否正确地进行到了操作者期望的位置与姿态,进而判断机器人系统是否出现故障。在一些实施例中,当执行臂的目标位姿与实际位姿满足误差检测条件(例如大于等于误差阈值)时,控制装置判断执行臂没有正确移动到与主操作器对应的位置与姿态,发出与故障相关的控制信号。例如,控制装置可以发出第一报警信号,该第一报警信号指示执行臂的控制发生故障。
[0177]
在一些实施例中,控制装置可以在遥操作中实时获取执行臂的多组目标位姿和实际位姿,基于该多组目标位姿和实际位姿综合判断执行臂的运行状况。在一些实施例中,控制装置可以以预定周期确定执行臂末端的目标位姿和实际位姿,通过多个检测循环对执行臂进行误差检测,并应用数理统计方法对多组误差进行分析,在满足误差检测条件时发出与故障相关的控制信号。
[0178]
例如,在第k次误差检测循环中,位姿差可以表示如下:
[0179][0180]
其中,为第k次误差检测循环时执行臂的位置差,为第k次误差检测循环时执行臂的角度差,p
tk
为第k次误差检测循环时执行臂的目标位置,r
tk
为第k次误差检测循环时执行臂的目标姿态,为第k次误差检测循环时执行臂的实际位置,r
rk
为第k次误差检测循环时执行臂的实际姿态,表示与之间的转角。
[0181]
在一些实施例中,控制装置可以将多个检测循环中获得的误差储存至存储器,并对这些误差进行累计,当误差的累计值满足误差检测条件(例如,超过阈值)时,发出与故障相关的控制信号。
[0182]
在一些实施例中,方法300还包括响应于目标位姿与实际位姿满足误差检测条件,接收用于驱动执行臂的至少一个驱动装置的状态信息,以及响应于状态信息与至少一个驱
动装置的驱动信息满足故障检测条件,发出第二报警信号,第二报警信号指示执行臂的驱动装置发生故障。
[0183]
在一些实施例中,驱动装置设置有驱动装置传感器,驱动装置传感器与驱动装置耦合并且用于获得驱动装置的状态信息。例如,驱动装置可以包括至少一个驱动电机,驱动装置传感器可以包括电位计或者编码器,驱动装置传感器与驱动电机耦合以记录和输出电机的状态信息。控制装置基于执行臂的末端的目标位姿向至少一个驱动装置发送驱动信息,并通过驱动装置传感器接收用于驱动执行臂的至少一个驱动装置的状态信息,在状态信息与驱动信息满足故障检测条件(例如大于等于误差阈值)时,发出用于指示驱动执行臂的至少一个驱动装置发生故障的第二报警信号。
[0184]
本公开一些实施例中,本公开还提供了一种计算机设备,计算机设备包括存储器和处理器。存储器可以用于存储有至少一条指令,处理器与存储器耦合,用于执行至少一条指令以执行本公开的方法中的部分步骤或全部步骤,如图3、图4、图8、图9、图10、图12、图14和图15中公开的方法中的部分步骤或全部步骤。
[0185]
图16示出根据本公开一些实施例的计算机设备1600的示意框图。参看图16,该计算机设备1600可以包括中央处理单元(cpu)1601、包括随机存取存储器(ram)1602和只读存储器(rom)1603的系统存储器1604,以及连接各部件的系统总线1605。计算机设备1600还可以包括输入/输出系统,和用于存储操作系统1613、应用程序1614和其他程序模块1615的大容量存储设备1607。输入/输出设备包括主要由显示器1608和输入设备1609组成的输入/输出控制器1610。
[0186]
大容量存储设备1607通过连接到系统总线1605的大容量存储控制器(未示出)连接到中央处理单元1601。大容量存储设备1607或者计算机可读介质为计算机设备提供非易失性存储。大容量存储设备1607可以包括诸如硬盘或者光盘只读存储器(compact disc read-only memory,cd-rom)驱动器之类的计算机可读介质(未示出)。
[0187]
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、闪存或其他固态存储其技术,cd-rom、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器和大容量存储设备可以统称为存储器。
[0188]
计算机设备1600可以通过连接在系统总线1605上的网络接口单元1611连接到网络1612。
[0189]
系统存储器1604或大容量存储设备1607还用于存储一个或者一个以上的指令。中央处理器1601通过执行该一个或一个以上指令来实现本公开一些实施例中的方法的全部或者部分步骤。
[0190]
本公开一些实施例中,本公开还提供一种计算机可读存储介质,存储介质中存储有至少一条指令,该至少一条指令由处理器执行以使计算机执行本公开一些实施例的方法中的部分步骤或全部步骤,如图3、图4、图8、图9、图10、图12、图14和图15中公开的方法中的部分步骤或全部步骤。计算机可读存储介质的示例包括计算机程序(指令)的存储器,例如,只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、只
读光盘(compact disc read-only memory,cd-rom)、磁带、软盘和光数据存储设备等。
[0191]
图17示出根据本公开一些实施例的机器人系统的示意图1700。如图17所示,机器人系统1700,包括:主操作器1710、控制装置1720、驱动装置1760、从动工具1750、和图像采集设备1770。主操作器1710包括机械臂、设置在机械臂上的手柄以及设置在机械臂上的至少一个关节处的至少一个主操作器传感器,至少一个主操作器传感器用于获得至少一个关节的关节信息。在一些实施例中,主操作器1710包括六自由度机械臂,六自由度机械臂上的每一个关节处设置一个主操作器传感器,通过每个关节的主操作器传感器生成关节信息(如关节角度数据)。在一些实施例中,主操作器传感器采用电位计和/或编码器。在从动工具1750上设置有执行臂1740,在一些实施例中,执行臂1740包括多构节连续体可形变臂。在执行臂1740的末端1730上可以形成有或设置有多个位姿标识,多个位姿标识包括不同的位姿标识图案,在末端1730的远端可以设置有执行器。图像采集设备1770可以用于采集执行臂1740的定位图像。驱动装置1760用于驱动执行臂1740,至少一个驱动装置传感器与至少一个驱动装置耦合并且用于获得驱动信息。控制装置1720与主操作器1710、至少一个驱动装置1760以及图像采集设备1770通信连接,被配置为执行本公开一些实施例的方法中的部分步骤或全部步骤,如图3、图4、图8、图9、图10、图12、图14和图15中公开的方法中的部分步骤或全部步骤。
[0192]
机器人对操作精度和人机交互体验要求很高。在机器人系统操作过程中,执行臂如果无法准确、快递地移动目标位置和姿态,会降低操作者的操作体验,甚至会导致操作失败,产生不必要的风险。在本公开的实施例中,通过对执行臂的实际位姿进行检测,并与操作者所期望的执行臂的目标位姿进行实时比较,可以发现所存在的故障风险。本公开的实施例可以改善机器人系统的操作性和安全性,降低机器人系统操作过程中执行臂的位姿误差而带来的操作风险。
[0193]
注意,上述仅为本公开的示例性实施例及所运用技术原理。本领域技术人员会理解,本公开不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本公开的保护范围。因此,虽然通过以上实施例对本公开进行了较为详细的说明,但是本公开不仅仅限于以上实施例,在不脱离本公开构思的情况下,还可以包括更多其他等效实施例,而本公开的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1