CN116460837A - 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 - Google Patents
基于关联标识的操作臂防碰撞控制方法和手术机器人系统 Download PDFInfo
- Publication number
- CN116460837A CN116460837A CN202210031849.XA CN202210031849A CN116460837A CN 116460837 A CN116460837 A CN 116460837A CN 202210031849 A CN202210031849 A CN 202210031849A CN 116460837 A CN116460837 A CN 116460837A
- Authority
- CN
- China
- Prior art keywords
- pose
- arm
- coordinate system
- operation arm
- angle
- 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
- 238000000034 method Methods 0.000 title claims abstract description 162
- 238000003860 storage Methods 0.000 claims abstract description 21
- 238000003384 imaging method Methods 0.000 claims description 33
- 230000009466 transformation Effects 0.000 claims description 30
- 230000033001 locomotion Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 17
- 238000011156 evaluation Methods 0.000 claims description 9
- 238000009826 distribution Methods 0.000 claims description 8
- 230000004807 localization Effects 0.000 claims description 7
- 239000003550 marker Substances 0.000 claims description 6
- 238000007476 Maximum Likelihood Methods 0.000 claims description 5
- 238000005096 rolling process Methods 0.000 claims description 3
- 210000000988 bone and bone Anatomy 0.000 description 32
- 238000010586 diagram Methods 0.000 description 26
- 238000012545 processing Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000005452 bending Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 239000004973 liquid crystal related substance Substances 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 125000006850 spacer group Chemical group 0.000 description 3
- 238000002591 computed tomography Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 241000208199 Buxus sempervirens Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000009297 electrocoagulation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005755 formation reaction Methods 0.000 description 1
- 230000003993 interaction Effects 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
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002432 robotic surgery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 210000001519 tissue Anatomy 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/30—Surgical robots
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B34/00—Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
- A61B34/70—Manipulators specially adapted for use in surgery
-
- 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/1679—Programme controls characterised by the tasks executed
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Surgery (AREA)
- Robotics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Biomedical Technology (AREA)
- Mechanical Engineering (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Manipulator (AREA)
Abstract
本公开涉及控制技术领域,公开了一种机器人系统的操作臂的防碰撞控制方法、计算机设备、计算机可读存储介质和手术机器人系统。防碰撞控制方法包括:获取定位图像;在定位图像中,识别位于至少两个操作臂中的第一操作臂的第一操作臂末端上的多个第一操作臂位姿标识;基于多个第一操作臂位姿标识,识别位于第一操作臂末端上的第一操作臂角度标识,第一操作臂角度标识与多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系;基于第一操作臂角度标识和多个第一操作臂位姿标识,确定第一操作臂末端相对参考坐标系的第一位姿;以及基于第一位姿,确定用于第一操作臂的第一防碰撞操作。
Description
技术领域
本公开属于控制技术领域,尤其涉及一种基于关联标识的用于操作臂的防碰撞控制方法和手术机器人系统。
背景技术
随着技术的发展,由人工或者计算机控制机器人系统执行期望的动作以辅助或者替代操作人员变得越来越普及。协同操作的机器人系统通常包括至少两个操作臂。
上述应用中,需要防止操作臂工作时发生碰撞。
发明内容
在一些实施例中,本公开提供一种机器人系统的操作臂的控制方法,机器人系统包括至少两个操作臂,控制方法包括:获取定位图像;在定位图像中,识别位于至少两个操作臂中的第一操作臂的第一操作臂末端上的多个第一操作臂位姿标识;基于多个第一操作臂位姿标识,识别位于第一操作臂末端上的第一操作臂角度标识,第一操作臂角度标识与多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系;基于第一操作臂角度标识和多个第一操作臂位姿标识,确定第一操作臂末端相对参考坐标系的第一位姿;以及基于第一位姿,确定用于第一操作臂的第一防碰撞操作。
在一些实施例中,本公开提供了一种计算机设备,计算机设备包括:存储器,用于存储有至少一条指令;以及处理器,与存储器耦合,用于执行所述至少一条指令以执行本公开的方法。
在一些实施例中,本公开提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,至少一条指令由处理器执行以使计算机执行本公开的方法。
在一些实施例中,本公开提供了一种手术机器人系统,包括:至少两个手术工具,至少两个手术工具中的第一手术工具包括第一操作臂、设置在第一操作臂的第一操作臂末端的执行器以及设置在第一操作臂末端上的至少一个第一操作臂角度标识和多个第一操作臂位姿标识,至少一个第一操作臂角度标识与多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系;图像采集器,用于采集操作臂的定位图像;以及控制装置,与图像采集器连接,用于执行本公开的方法。
附图说明
图1示出根据本公开一些实施例的操作臂控制系统的示意图;
图2示出根据本公开一些实施例的操作臂的构节示意图;
图3示出根据本公开一些实施例的操作臂的结构示意图;
图4示出包括多个位姿标识与多个角度标识的标签示意图;
图5示出标签设置在操作臂末端周侧形成的圆筒形标签的示意图;
图6示出根据本公开一些实施例的实施场景示意图;
图7示出根据本公开一些实施例的操作臂的控制方法的流程图;
图8示出根据本公开一些实施例的用于确定第一防碰撞操作或第二防碰撞操作的方法的流程图;
图9示出根据本公开一些实施例中包围盒示意图;
图10示出根据本公开一些实施例中包围盒更新的示意图;
图11示出根据本公开另一些实施例的用于确定第一防碰撞操作或第二防碰撞操作的方法的流程图;
图12示出根据本公开一些实施例中包络示意图;
图13示出根据本公开一些实施例中包络更新的示意图;
图14示出根据本公开一些实施例的用于确定操作臂坐标系相对参考坐标系的位姿的方法的流程图;
图15示出根据本公开另一些实施例的用于确定操作臂坐标系相对参考坐标系的位姿的方法的流程图;
图16示出根据本公开一些实施例的多个位姿标识在截面圆的示意图;
图17示出根据本公开一些实施例的用于识别位姿标识的方法的流程图;
图18示出根据本公开一些实施例的位姿标识图案的示意图;
图19示出根据本公开一些实施例的用于搜索位姿标识的方法的流程图;
图20示出根据本公开一些实施例的搜索位姿标识的示意图;
图21示出根据本公开一些实施例的识别角度标识的方法的流程图;
图22示出根据本公开一些实施例的计算机设备的示意框图;
图23示出根据本公开一些实施例的手术机器人系统的示意图;
图24示出根据本公开一些实施例的手术机器人系统的示意图;
图25示出根据本公开一些实施例的手术工具的示意图;
图26示出根据本公开一些实施例的主控台车的示意图;
图27示出根据本公开一些实施例的手术台车的示意图。
具体实施方式
下面结合附图描述本公开的示例性实施例,本领域技术人员可以理解,本公开的范围并不仅限于这些实施方案。本公开可以在下述实施方案的基础上作出各种改进和变化。这些改进和变化都包括在本公开的范围之内。在本公开的附图所示的各个实施方案之间,相似附图标记指示相似部件。
在本公开中,术语“位置”指物体或物体的一部分在三维空间中的定位(例如,可使用笛卡尔X、Y和Z坐标方面的变化描述三个平移自由度,例如分别沿笛卡尔X轴、Y轴和Z轴的三个平移自由度)。在本公开中,术语“姿态”指物体或物体的一部分的旋转设置(例如三个旋转自由度,可使用滚转、俯仰和偏转来描述这三个旋转自由度)。在本公开中,术语“位姿”指物体或物体的一部分的位置和姿态的组合,例如可使用以上提到的六个自由度中的六个参数来描述。
在本公开中,参考坐标系可以理解为能够描述物体位姿的坐标系。根据实际的定位需求,参考坐标系可以选择以虚拟参照物的原点或实体参照物的原点为坐标系原点。在一些实施例中,参考坐标系可以为世界坐标系或者相机坐标系或者操作人员自身的感知坐标系等。在本公开中,物体可以理解为需要被定位的对象或目标,例如操作臂或者操作臂末端或者设置在操作臂末端的远端的执行器。其中,操作臂可以是刚性臂或者可形变臂。在本公开中,操作臂或其一部分的位姿是指操作臂或其一部分定义的操作臂坐标系相对于参考坐标系的位姿。
图1示出根据本公开一些实施例的操作臂控制系统100的示意图。操作臂控制系统100可以应用于机器人系统。在一些实施例中,机器人系统可以是手术机器人系统,例如图23示出的手术机器人系统2300和图24示出的手术机器人系统2400。应当理解,机器人系统还可以是其他领域(例如,制造、机械等等)的专用或通用机器人系统。在一些实施例中,机器人系统包括至少两个操作臂,例如第一操作臂140-1和第二操作臂140-2。如图1所示,操作臂控制系统100可以包括图像采集设备110和控制装置120。图像采集设备110与控制装置120通信连接。在一些实施例中,第一操作臂140-1在末端或远端处可以包括第一操作臂末端130-1。在一些实施例中,第一操作臂末端130-1的远端处可以设置第一执行器160-1。与第一操作臂140-1类似,在一些实施例中,第二操作臂140-2在末端或远端处可以包括第二操作臂末端130-2。第二操作臂末端130-2的远端处可以设置第二执行器160-2。
在一些实施例中,如图1所示,控制装置120可以用于控制第一操作臂140-1和/或第二操作臂140-2的运动,以调整第一操作臂140-1或第二操作臂140-2的位姿、相互协调等。在一些实施例中,控制装置120可以控制第一操作臂140-1运动,以使第一操作臂末端130-1或第一执行器160-1运动至期望的位置和姿态。控制装置120还可以控制第二操作臂140-2运动,以使第二操作臂末端130-2或第二执行器160-2运动至期望的位置和姿态。在一些实施例中,控制装置120可以基于第一操作臂140-1或第二操作臂140-2的位置和/或姿态,确定用于第一操作臂140-1或第二操作臂140-2的防碰撞操作。例如,控制装置120可以基于第一操作臂末端130-1的位姿,确定用于第一操作臂140-1的防碰撞操作。在一些实施例中,通过执行防碰撞操作可以避免第一操作臂140-1与第二操作臂140-2发生碰撞。例如,通过执行防碰撞操作避免第一操作臂末端130-1或第一执行器160-1与第二操作臂140-2末端或第二执行器160-2发生碰撞。
在本公开中,控制装置120可以与驱动单元150(例如电机)通信连接并向驱动单元150发送驱动信号,从而使驱动单元150基于驱动信号控制第一操作臂140-1或第二操作臂140-2运动到相应的目标位姿。例如,驱动单元150可以为伺服电机,可以接受控制装置120的指令以控制第一操作臂140-1或第二操作臂140-2运动。控制装置120还可以例如通过通信接口与驱动单元150耦合的传感器通信连接,以接收第一操作臂140-1或第二操作臂140-2的运动数据,实现对第一操作臂140-1或第二操作臂140-2的运动状态监控。在本公开的一个示例中,该通信接口可以为CAN(Controller Area Network)总线通信接口,其使得控制装置120能够通过CAN总线与驱动单元150以及传感器连接通信。在一些实施例中,第一操作臂140-1和第二操作臂140-2可分别受不同的驱动单元驱动。
在一些实施例中,第一操作臂140-1或第二操作臂140-2可以包括连续体可形变臂。连续体可形变臂例如是如图3所示的操作臂300。在一些实施例中,第一操作臂140-1或第二操作臂140-2可以包括由多个关节构成的具有多自由度的操作臂。诸如可以实现4至7个自由度运动的操作臂。例如可以实现6个自由度运动的操作臂。
在一些实施例中,图像采集设备110可以包括但不限于双镜头图像采集设备或单镜头图像采集设备,例如双目或单目相机。在一些实施例中,图像采集设备110可以用于采集定位图像。定位图像中可以包括第一操作臂140-1的部分或全部的图像。在一些实施例中,图像采集设备110可以用于采集第一操作臂末端130-1的图像,第一操作臂末端130-1上可以设置有多个标识。在一些实施例中,多个标识可以包括位姿标识和角度标识(如下详述)。例如,第一操作臂末端130-1上可以设置有第一操作臂定位标签170-1(第一操作臂定位标签170-1例如可以是图4所示的标签400)。第一操作臂定位标签170-1可以包括多个标识,多个标识包括标识图案(如下详述)。在一些实施例中,定位图像中还可以包括第二操作臂140-2的部分或全部的图像。例如,定位图像中还包括第二操作臂末端130-2的图像。类似地,第二操作臂末端130-2上可以设置多个标识。例如,第二操作臂末端130-2上可以设置有第二操作臂定位标签170-2。类似地,第二操作臂定位标签170-2可以包括多个标识,多个标识包括位姿标识和角度标识(如下详述)。在一些实施例中,第二操作臂140-2上设置的标识图案与第一操作臂140-1上设置的标识图案可以相同或者不同。
如图1所示,第一操作臂末端130-1处于图像采集设备110的观测视野之内,则采集的定位图像中可以包括第一操作臂末端130-1的图像。在一些实施例中,图像采集设备110可以包括但不限于双镜头图像采集设备或单镜头图像采集设备,例如双目或单目相机。根据不同的应用场景,图像采集设备110可以是工业相机、水下相机、微型电子相机、内窥镜相机等。在一些实施例中,图像采集设备110可以是位置固定的或者位置变化的,例如,固定在监控位置的工业相机或者位置或姿态可调节的内窥镜相机。在一些实施例中,图像采集设备110可以实现可见光波段成像、红外波段成像、CT(Computed Tomography,电子计算机断层扫描)成像和声波成像等中的至少一种。根据采集的图像的种类不同,本领域技术人员可以选择不同的图像采集设备作为图像采集设备110。
在一些实施例中,控制装置120可以接收来自图像采集设备110的定位图像,并且对定位图像进行处理。例如,控制装置120可以在定位图像中,识别位于第一操作臂140-1上的多个标识,并且确定第一操作臂140-1或者第一执行器160-1相对参考坐标系(例如世界坐标系)的位姿。
图2示出根据本公开一些实施例的操作臂的构节200的示意图。操作臂(例如第一操作臂140-1或者第二操作臂140-2)可以包括至少一个可形变的构节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的结构示意图。在一些实施例中,第一操作臂140-1或第二操作臂140-2可以是如图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的基盘连接。如图3所示,每个构节(第一构节3201和第二构节3202)可以包括基座盘、固定盘以及贯穿基座盘和固定盘的多根结构骨,多根结构骨可以与固定盘固定连接,与基座盘滑动连接。连续体可形变臂及其包含的构节可以通过运动学模型描述(如下详述)。
在一些实施例中,操作臂300的每个构节的结构具体可如图2所示的构节200。如图2所示,基座盘坐标系附着在第t(t=1,2,3…)节连续体段的基座盘上,其原点位于基座盘中心,XY平面与基座盘平面重合,/>从基座盘中心指向第一根结构骨(第一根结构骨可以理解为从多根结构骨中任意指定的一根作为参照的结构骨)。弯曲平面坐标系1/>其原点与基座盘坐标系原点重合,XY平面和弯曲平面重合,/>与/>重合。固定盘坐标系/>附着在第t节连续体段的固定盘上,其原点位于固定盘中心,XY平面与固定盘平面重合,/>从固定盘中心指向第一根结构骨。弯曲平面坐标系2/>其原点位于固定盘中心,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表示第一连续体段的基座盘相对于世界坐标系的齐次变换矩阵;1bT1e表示第一连续体段的固定盘相对于第一连续体段的基座盘的齐次变换矩阵;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的进给量。
在一些实施例中,操作臂(例如,图1所示的第一操作臂140-1或第二操作臂140-2,图3所示的操作臂主体320)上分布有多个位姿标识和至少一个角度标识。例如,多个位姿标识沿周向分布在操作臂末端310上,多个角度标识沿周向分布在操作臂末端310上。多个位姿标识与多个角度标识在操作臂末端310上沿轴向并列设置。例如,多个位姿标识与多个角度标识设置在操作臂末端310的柱状部分的外表面上。
在一些实施例中,每个角度标识与位姿标识之一具有位置关联关系。基于该位置关联关系,通过位姿标识的位置,可以确定角度标识可能分布的区域。或者,通过角度标识的位置,可以确定位姿标识可能分布的区域。位置关联关系可以根据位姿标识和角度标识的具体布置方式确定,并且可以是预先设计的。
在一些实施例中,位置关联关系可以包括角度标识与位姿标识在轴向的对应关系。例如,位置关联关系可以包括沿轴向的偏移。基于在轴向的对应关系,在已知一个或多个位姿标识在操作臂末端上的位置的情况下,沿轴向偏移一定的距离可以确定角度标识可能存在的区域。例如,位置关联关系还可以包括沿轴向的斜对齐等等。
在一些实施例中,多个位姿标识与多个角度标识可以设置在贴附在操作臂末端周侧的标签上。
在一些实施例中,位姿标识可以包括位姿标识图案和位姿标识图案角点,角度标识可以包括角度标识图案和角度标识图案角点。在一些实施例中,位姿标识图案和角度标识图案可以设置在贴附在操作臂末端上的标签上,或者可以印刷在操作臂末端上,或者可以是由操作臂末端自身的物理构造形成的图案,例如,可以包括凹陷或凸起及其组合。在一些实施例中,位姿标识图案或角度标识图案可以包括以亮度、灰度、色彩等形成的图案。在一些实施例中,位姿标识图案和角度标识图案可以包括主动(例如,自发光)或被动(例如,反射光线)提供被图像采集设备探测的信息的图案。本领域技术人员可以理解,在一些实施例中,位姿标识的位姿可以由位姿标识图案角点坐标系的位姿来表示,角度标识的位姿可以由角度标识图案角点坐标系的位姿来表示。
在一些实施例中,位姿标识图案或角度标识图案设置在操作臂末端上适于被图像采集设备采集图像的区域,例如,在工作过程中可以被图像采集设备的视场覆盖的区域或者在工作过程中不容易被干扰或遮挡的区域。
图4示出根据一些实施例的包括多个位姿标识与多个角度标识的标签400的示意图。图5示出设置在操作臂末端周侧并形成圆筒形的标签500的示意图。可以理解,简单起见,标签400可以与标签500包括相同的位姿标识图案和角度标识图案。
参看图4,多个位姿标识(本公开中以“○”符号表示位姿标识图案角点)和多个角度标识(本公开中以“△”符号表示角度标识图案角点)并排设置。多个位姿标识图案411可以相同或类似,并且多个位姿标识图案角点位于多个位姿标识图案411中。多个角度标识图案421-426可以不同,并且多个角度标识图案角点位于多个角度标识图案421-426中。
每个角度标识与位姿标识之一可以具有位置关联关系。例如,如图4所示,在箭头所示的方向上,部分位姿标识(例如位姿标识图案411)和对应的角度标识(例如,角度标识图案421)沿箭头方向排列并且具有间隔距离d1。参看图5,在沿周向设置状态下,标签400变为空间构造为圆筒形的标签500,每个角度标识与位姿标识之一的位置关联关系可以包括角度标识与位姿标识在轴向(如图5中Z轴正方向)的对应关系。基于在轴向的对应关系,在已知一个或多个位姿标识在操作臂末端上的位置的情况下,沿轴向偏移一定的距离(如距离d1)可以确定角度标识可能存在的区域。在一些实施例中,角度标识与位姿标识在轴向的对应关系可以通过角度标识图案角点与位姿标识图案角点在轴向的对应关系表示。在一些实施例中,基于角度标识与位姿标识在轴向的对应关系,角度标识图案角点与位姿标识图案角点之一沿Z轴方向的投影重合。
在一些实施例中,角度标识或位姿标识的绕轴角度或者滚转角可以通过角度标识图案角点或位姿标识图案角点的绕轴角度表示。角度标识图案角点相对于操作臂坐标系(例如建立在操作臂末端的坐标系,如图5所示的XY坐标系)的角度是已知的或预先确定的,例如图5中的角度标识图案角点R5在XY坐标系下与X轴的角度为θ。基于位置关联关系,可以得到与其位置相关联的位姿标识图案角点P5相对X轴的夹角为角度θ。应该理解,角度标识图案角点R5和位姿标识图案角点P5对应的角度θ可以称为角度标识或位姿标识的绕Z轴的绕轴角度或者滚转角。在本公开中,绕轴角度或者滚转角是指绕Z轴的角度。可以理解,清楚起见,图5中将角度标识图案角点R5和位姿标识图案角点P5示为分离,但它们是重合的。
图6示出根据本公开一些实施例的实施场景600的示意图。如图6所示,操作臂640包括末端630以及远端的执行器660,多个位姿标识和角度标识可以沿周向设置在末端630上。例如,如图4所示的标签400沿周向设置在操作臂末端630上,形成圆筒形的角度标识图案带610和位姿标识图案带620。多个位姿标识图案角点分布在操作臂末端630的位姿标识图案带620的截面圆621上,多个角度标识图案角点分布在操作臂末端630的角度标识图案带610的截面圆611上。
在一些实施例中,多个角度标识图案为不同的图案。每个角度标识图案用于指示或标识不同的绕轴角度。在一些实施例中,每个角度标识的图案与所标识的绕轴角度具有一一对应关系,基于角度标识的图案可以确定所标识的绕轴角度。
例如,如图6所示,多个不同的角度标识图案(如图4中示出的多个角度标识图案421-426)沿圆柱形结构周向均匀分布,形成角度标识图案角点A-F。设定角度标识图案角点A对应的角度标识图案为参照图案(例如,设定角度标识图案角点A对应的角度标识图案用于标识0°绕轴角度),设立平面坐标系{wm1},则可以根据其余角度标识图案与角度标识图案角点A对应的角度标识图案的位置关系确定其余角度标识图案包含的角度标识图案角点标识的绕轴角度。例如,参看图6,当识别出角度标识图案角点B对应的角度标识图案,则根据角度标识图案角点B对应的角度标识图案与角度标识图案角点A对应的角度标识图案的位置关系,可以确定在截面圆611的二维平面坐标系内角度标识图案角点B标识的绕轴角度为60°。截面圆611的二维平面坐标系的原点为截面圆611的圆心,X轴方向为原点指向角度标识图案角点A,Y轴垂直于X轴。
在一些实施例中,执行器660的位姿可以通过将操作臂坐标系{wm}(例如,操作臂末端坐标系)平移预定距离来确定。或者,执行器660的位姿可以近似地等于操作臂末端坐标系{wm}的位姿。
在一些实施例中,基于操作臂坐标系相对参考坐标系的位姿,确定执行器660相对参考坐标系(例如,参考坐标系为世界坐标系{w})的位姿。具体计算公式如下:
其中,wRtip为执行器相对世界坐标系的姿态,wPtip为执行器相对世界坐标系的位置,wmRtip为执行器相对世界坐标系的姿态,wmPtip为执行器相对世界坐标系的位置,wRwm为操作臂坐标系相对世界坐标系的姿态,wPwm为操作臂坐标系相对世界坐标系的位置。
本公开一些实施例提供了一种用于机器人系统的操作臂的控制方法。在一些实施例中,该机器人系统包括至少两个操作臂。图7示出根据本公开一些实施例的操作臂的控制方法700的流程图。方法700中的部分或全部步骤可以由操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法700可以由软件、固件和/或硬件来实现。在一些实施例中,方法700可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图7,在步骤701,获取定位图像。在一些实施例中,定位图像中包含第一操作臂上的多个位姿标识和至少一个角度标识。在一些实施例中,可以从如图1所示的图像采集设备110接收定位图像。例如,控制装置120可以接收图像采集设备110主动发送的定位图像。或者,控制装置120可以向图像采集设备110发送图像请求指令,图像采集设备110响应图像请求指令向控制装置120发送定位图像。
继续参看图7,在步骤703,在定位图像中,识别位于至少两个操作臂中的第一操作臂的第一操作臂末端上的多个第一操作臂位姿标识。例如,识别位于操作臂上的多个位姿标识的示例性方法可以包括如图17和图19所示的方法。在一些实施例中,控制装置120可以通过图像处理算法识别定位图像中的部分或全部的位姿标识。在一些实施例中,图像处理算法可以包括特征识别算法,图像处理算法可以提取或识别位姿标识的特征。例如,图像处理算法可以包括角点检测算法,用于检测位姿标识图案角点。该角点检测算法可以是包括但不限于基于灰度图的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测中的一种。例如,图像处理算法可以是颜色特征提取算法,用于检测位姿标识图案中的颜色特征。再例如,图像处理算法可以是轮廓检测算法,用于检测位姿标识图案的轮廓特征。在一些实施例中,控制装置可以通过识别模型识别定位图像中的部分或全部的位姿标识。
继续参看图7,在步骤705,基于多个第一操作臂位姿标识,识别位于第一操作臂末端上的第一操作臂角度标识,第一操作臂角度标识与多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系。在一些实施例中,在识别出多个第一操作臂位姿标识之后,根据位置关联关系,识别第一操作臂角度标识。在一些实施例中,第一操作臂角度标识与第一位姿标识的位置关联关系可以是如图4或图5中示出的位置关联关系。在一些实施例中,第一位姿标识(例如是第一位姿标识图案或第一位姿标识图案角点)是指多个第一操作臂位姿标识中与第一操作臂角度标识具有位置关联关系的位姿标识。识别第一操作臂角度标识的示例性方法包括如图21所示的方法。
继续参看图7,在步骤707,基于第一操作臂角度标识和多个第一操作臂位姿标识,确定第一操作臂末端相对参考坐标系的第一位姿。确定第一操作臂末端相对参考坐标系的位姿的示例性方法包括如图14或图15所示的方法。在一些实施例中,可以基于第一操作臂角度标识、第一位姿标识和多个第一操作臂位姿标识,确定第一操作臂末端相对参考坐标系的位姿。
在一些实施例中,方法700还包括:基于第一操作臂角度标识和多个第一操作臂位姿标识,确定第一操作臂坐标系和第一操作臂位姿标识坐标系的变换关系。在一些实施例中,根据第一操作臂坐标系和第一操作臂位姿标识坐标系的变换关系,可以将第一操作臂位姿标识坐标系中的三维坐标转换为在第一操作臂坐标系中对应的三维坐标。在一些实施例中,根据第一操作臂坐标系和第一操作臂位姿标识坐标系的变换关系和第一操作臂位姿标识坐标系相对参考坐标系的位姿,得到第一操作臂坐标系相对参考坐标系的位姿。
在一些实施例中,第一操作臂坐标系和第一操作臂位姿标识坐标系的变换关系可以包括第一操作臂位姿标识坐标系相对第一操作臂坐标系的滚转角。在一些实施例中,可以基于第一操作臂角度标识和第一位姿标识,确定第一操作臂位姿标识坐标系相对第一操作臂坐标系的滚转角。应该理解,第一操作臂位姿标识坐标系相对第一操作臂坐标系的滚转角可以是第一操作臂位姿标识坐标系绕第一操作臂坐标系的Z轴的转动的角度。
在一些实施例中,第一操作臂坐标系可以是基于多个第一操作臂位姿标识或多个第一操作臂角度标识,在物体上设定的固定坐标系。在一些实施例中,第一操作臂坐标系的Z轴平行于第一操作臂的轴向,第一操作臂坐标系的XY平面与多个第一操作臂位姿标识图案角点处于同一平面,或者与多个第一操作臂角度标识图案角点处于同一平面。
在一些实施例中,可以确定第一操作臂位姿标识坐标系,以方便确定多个第一操作臂位姿标识的位置。在一些实施例中,第一操作臂位姿标识的位置可以通过第一操作臂位姿标识图案角点的位置表示。在一些实施例中,第一操作臂位姿标识坐标系的Z轴平行于第一操作臂的轴向或与轴向重合,第一操作臂位姿标识坐标系的XY平面与多个第一操作臂位姿标识图案角点处于同一平面。
示例性地,参看图6,以操作臂640为例,操作臂坐标系{wm}≡[Xwm Ywm Zwm]T的原点为多个位姿标识图案角点所在截面圆621的圆心,X轴方向为原点指向其中一个位姿标识图案角点,Z轴的方向平行操作臂末端630的轴向,Y轴垂直于XZ平面。操作臂坐标系{wm}的X轴与截面圆611的二维平面坐标系{wm1}≡[Xwm1 Ywm1]T的X轴平行,操作臂坐标系的Y轴与截面圆611的二维平面坐标系{wm1}的Y轴平行。角度标识图案角点在截面圆611的二维平面坐标系{wm1}中标识的绕轴角度可以与其在操作臂坐标系{wm}中标识的绕轴角度相等。位姿标识坐标系{wm0}≡[Xwm0 Ywm0 Zwm0]T的原点为多个位姿标识图案角点所在截面圆621的圆心,X轴方向为原点指向其中一个位姿标识图案角点,Z轴的方向平行物体操作臂末端630的轴向,Y轴垂直于XZ平面。继续参看图6,操作臂坐标系{wm}的Z轴与位姿标识坐标系{wm0}的Z轴重合。操作臂坐标系{wm}相对位姿标识坐标系{wm0}的变换关系可以通过位姿标识坐标系{wm0}相对操作臂坐标系{wm}的滚转角α0确定。滚转角α0可以是指位姿标识坐标系{wm0}相对操作臂坐标系{wm}绕Z轴的转动角度。
在一些实施例中,参看图6,滚转角α0通过如下公式计算:
α0=α1-α2 (14)
其中α1为第一绕轴角度,α2为第二绕轴角度。第一绕轴角度为角度标识图案角点(例如,角度标识图案角点R6)在操作臂坐标系中标识的绕轴角度。第二绕轴角度为第一位姿标识图案角点(例如,位姿标识图案角点P6)在位姿标识坐标系中标识的绕轴角度。
继续参看图7,在步骤709,基于第一位姿,确定用于第一操作臂的第一防碰撞操作。在一些实施例中,方法700还可以包括基于第一位姿,确定用于第一操作臂的驱动信号,以驱动第一操作臂执行第一防碰撞操作。在一些实施例中,第一防碰撞操作可以包括停止第一操作臂的运动或产生碰撞报警信息。在一些实施例中,第一防碰撞操作还可以包括减小第一操作臂的运动速度或者控制第一操作臂沿当前运动方位反向运动。在一些实施例中,第一防碰撞操作的碰撞报警信息包括多个不同报警等级的碰撞报警信息。不同等级的报警信息对应于不同级别的碰撞风险,可以通过不同的声音或不同颜色的光表示。
在一些实施例中,方法700还可以包括:响应于在定位图像中未识别出第一操作臂位姿标识,基于第一操作臂的驱动信息和第一操作臂的运动学模型,确定第一操作臂末端的第一运动学位姿作为第一位姿。在一些实施例中,第一操作臂的驱动信息例如可以是第一操作臂的驱动单元的驱动值。第一操作臂的驱动单元的驱动值可以基于驱动电机的编码器数值获取。应当理解,运动学模型可以表示操作臂的关节空间和任务空间的运动关系的数学模型。例如,运动学模型可以通过D-H(Denavit-Hartenberg)参数法和指数积表示法等方法建立。
在一些实施例中,机器人系统可以通过主操作器进行遥操作。本领域技术人员可以理解,主操作器的位姿与遥操作状态下的操作臂的位姿具有映射关系。该映射关系例如是基于主操作器的构型和操作臂的构型确定的主从映射关系。在一些实施例中,主操作器的位姿例如可以基于主操作器的关节驱动电机的驱动值或者主操作器的部分或全部关节上的位移传感器的数值确定。方法700还可以包括:响应于在定位图像中未识别出第一操作臂位姿标识,基于主操作器的位姿,确定第一操作臂末端的第一运动学位姿作为第一位姿。例如,基于主操作器的位姿和第一操作臂的主从映射关系,确定第一操作臂末端的第一运动学位姿作为第一位姿。在一些实施例中,主操作器例如可以是图26中示出的主操作器2601。
在一些实施例中,机器人系统的至少两个操作臂包括第二操作臂。方法700还可以包括:确定第二操作臂的第二操作臂末端相对参考坐标系的第二位姿;以及基于第一位姿和第二位姿,确定第一防碰撞操作和/或用于第二操作臂的第二防碰撞操作。在一些实施例中,第二防碰撞操作可以包括停止第二操作臂的运动或产生碰撞报警信息。在一些实施例中,第二防碰撞操作还可以包括减小第二操作臂的运动速度或者控制第二操作臂沿当前运动方位反向运动。在一些实施例中,第二防碰撞操作的碰撞报警信息包括多个不同报警等级的碰撞报警信息。
在一些实施例中,提供了一种确定第二操作臂末端相对参考坐标系的第二位姿的方法。方法700还可以包括基于第二操作臂的驱动信息和第二操作臂的运动学模型,确定第二操作臂末端的第二运动学位姿作为第二位姿。与第一操作臂类似,在一些实施例中,第二操作臂的驱动信息例如可以是第二操作臂的驱动单元的驱动值。第二操作臂的驱动单元的驱动值可以基于驱动电机的编码器数值获取。
在一些实施例中,提供了另一种确定第二操作臂末端相对参考坐标系的第二位姿的方法。方法700还可以包括基于主操作器的位姿,确定第二操作臂末端的第二运动学位姿作为第二位姿。例如,基于主操作器的位姿和第二操作臂的主从映射关系,确定第二操作臂末端的第二运动学位姿作为第二位姿。在一些实施例中,主操作器例如可以是图26中示出的主操作器2601。
在一些实施例中,提供了另一种确定第二操作臂末端相对参考坐标系的第二位姿的方法。在一些实施例中,参考图1,第二操作臂末端130-2上可以设置有多个不同的第二操作臂标识,这些第二操作臂标识包括不同的第二操作臂标识图案。方法700还可以包括:在定位图像中,识别位于第二操作臂末端上的多个第二操作臂标识,多个第二操作臂标识包括不同的第二操作臂标识图案;以及基于多个第二操作臂标识,确定第二位姿。在一些实施例中,确定第二位姿的方法与确定第一位姿的方法类似。例如,可以通过步骤703、步骤705、步骤707、图14和图15中所示的方法,确定第二位姿。
在一些实施例中,方法700还可以包括:响应于在定位图像中未识别出第二操作臂位姿标识,基于第二操作臂的驱动信息和第二操作臂的运动学模型,确定第二操作臂末端的第二运动学位姿作为第二位姿。
在一些实施例中,定位图像中包含多个第一操作臂标识(例如,多个第一操作臂位姿标识和第一操作臂角度标识)和多个第二操作臂标识(例如,多个第二操作臂位姿标识和第二操作臂角度标识)。应理解,基于定位图像中的多个第一操作臂标识和多个第二操作臂标识可以确定两个位姿,分别对应第一操作臂末端和第二操作臂末端相对参考坐标系的位姿,即第一位姿和第二位姿。本公开还提供了从两种位姿中确定第一位姿或第二位姿的方法。在一些实施例中,方法700还可以包括:基于第一操作臂的驱动信息和运动学模型,确定第一操作臂末端的第一运动学位姿,以及基于第一运动学位姿,从第一位姿和第二位姿中确定第一位姿。本领域技术人员可以理解,第一运动学位姿与第一位姿为相近的位姿,与第一运动学位姿接近的位姿为第一位姿,另一位姿则为第二位姿。在一些实施例中,方法700还可以包括:基于第二操作臂的驱动信息和运动学模型,确定第二操作臂末端的第二运动学位姿,以及基于第二运动学位姿,从第一位姿和第二位姿中确定第二位姿。第二运动学位姿与第二位姿为相近的位姿,与第二运动学位姿接近的位姿为第二位姿,另一位姿则为第一位姿。在一些实施例中,第一运动学位姿或第二运动学位姿还可以基于主操作器的位姿确定。例如,基于主操作器的位姿和第一操作臂的主从映射关系,确定第一运动学位姿。在一些实施例中,可以通过第一操作臂和第二操作臂的空间位置,区分第一位姿和第二位姿。例如,第一操作臂和第二操作臂分别从左、右排布的通道伸出,并且分别在图像的左侧和右侧进行操作。这样,可以确定位于图像左侧的标识是第一操作臂标识,且位于图像右侧的标识是第二操作臂标识。
在一些实施例中,可以通过包围盒法实现对第一操作臂或第二操作臂的碰撞检测。图8示出根据本公开一些实施例的用于确定第一防碰撞操作或第二防碰撞操作的方法800的流程图。如图8所示,该方法800中的部分或全部步骤可以例如由图1示出的操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法800可以由软件、固件和/或硬件来实现。在一些实施例中,方法800可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图8,在步骤801,基于第一位姿,确定设置在第一操作臂末端上的第一执行器的第一包围盒,第一包围盒包括一个或多个第一子包围盒。
在步骤803,基于第二位姿,确定设置在第二操作臂末端上的第二执行器的第二包围盒,第二包围盒包括一个或多个第二子包围盒。
在步骤805,基于第一包围盒和第二包围盒,确定第一防碰撞操作和/或第二防碰撞操作。
图9示出本公开一些实施例中包围盒示意图。如图9所示,包括:第一操作臂940-1、第一操作臂末端930-1、第一执行器960-1、第二操作臂940-2、第二操作臂末端930-2和第二执行器960-2。其中,第一执行器960-1通过第一包围盒980-1表征,第二执行器960-2通过第二包围盒980-2表征。图9中包围盒以二维图示出,本领域技术人员可以理解,图9中所示包围盒(例如,第一包围盒980-1、第二包围盒980-2)、第一操作臂末端930-1、第一执行器960-1、第二操作臂末端930-2和第二执行器960-2还可以是以三维结构示出。
在一些实施例中,第一包围盒或第二包围盒可以基于球形(Spheres)包围盒检测法、轴向包围盒(Aligned Axis Bounding Box,AABB)检测法、方向包围盒(OrientedBounding Box,OBB)检测法、离散方向多面体(Discrete Orientation Polytope,k-DOPs)检测法和固定方向凸包(Fixed Direction Hull,FDH)检测法中的任意一种生成。
在一些实施例中,方法800还可以包括响应于第一包围盒与第二包围盒相交,控制第一操作臂或第二操作臂执行对应的防碰撞操作。
在一些实施例中,方法800还可以包括基于第一位姿确定第一操作臂对应的虚拟模型,通过上述包围盒检测法对第一操作臂在第一位姿状态下的虚拟模型构建包括一个或多个第一子包围盒的第一包围盒。基于第二位姿确定第二操作臂的对应的虚拟模型,通过上述包围盒检测法对第二操作臂在第二位姿状态下的虚拟模型构建包括一个或多个第二子包围盒的第二包围盒。
在一些实施例中,方法800还可以包括:响应于第一包围盒与第二包围盒相交,更新第一包围盒的第一子包围盒和/或第二包围盒的第二子包围盒;以及,基于更新的第一包围盒和第二包围盒,确定第一防碰撞操作和/或第二防碰撞操作。
在一些实施例中,更新第一包围盒的第一子包围盒和/或第二包围盒的第二子包围盒,例如可以是构建尺寸更小的包围盒以表征第一包围盒或第二包围盒包裹的结构。在一些实施例中,构建尺寸更小的包围盒例如可以是分割第一包围盒或第二包围盒。在一些实施例中,通过更新第一包围盒的第一子包围盒或第二包围盒的第二子包围盒可以构建基于层次的第一包围盒或第二包围盒。在一些实施例中,可以基于相交的第一包围盒或第二包围盒的层次或层级,确定第一防碰撞操作或第二防碰撞操作,例如确定碰撞风险的级别并生成对应级别的报警信号。每一次更新之后的包围盒尺寸更小,进而基于更新之后的包围盒的碰撞检测精度也更高。
图10示出本公开一些实施例中包围盒更新的示意图。如图10所示,执行器1060(例如第一执行器或第二执行器)例如可以是夹钳。图10示出包围盒三次更新的过程,由包围盒1080a更新至包围盒1080b、更新至包围盒1080c、再更新至包围盒1080d,包围盒的尺寸逐渐减小,能够更加精细的表示执行器1060的结构。
在另一些实施例中,可以通过包围盒算法直接构建出多层次的包围盒。例如,通过AABB检测法构建第一操作臂末端或者执行器的层次包围盒(在一些实施例中,层次包围盒也可以称为包围盒树)。
在一些实施例中,本公开提供了一种基于碰撞评价指数,确定第一防碰撞操作和/或第二防碰撞操作的方法。碰撞评价指数可以用于表征第一操作臂末端和第二操作臂末端的接近程度或者用于表征第一执行器和第二执行器的接近程度。在一些实施例中,方法800还可以包括:确定相交的第一包围盒或第二包围盒的层次或层级。基于确定的包围盒的层次或层级,确定碰撞评价指数。基于碰撞评价指数,确定第一防碰撞操作和/或第二防碰撞操作。本领域技术人员可以理解,不同层次的包围盒对应不同的尺寸,基于小尺寸包围盒的层次确定的碰撞评价指数表征的接近程度更高。在一些实施例中,可以基于碰撞评价指数确定具体的第一防碰撞操作或第二防碰撞操作。例如,可以基于碰撞评价指数,确定停止操作臂的运动或减小操作臂的运动速度或产生碰撞报警信息。例如,可以基于碰撞评价指数,确定触发不同报警等级的碰撞报警信息。
图11示出根据本公开另一些实施例的用于确定第一防碰撞操作或第二防碰撞操作的方法1100的流程图。如图11所示,该方法1100中的部分或全部步骤可以例如由图1示出的操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法1100可以由软件、固件和/或硬件来实现。在一些实施例中,方法1100可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图11,在步骤1101,基于第一位姿,确定设置在第一操作臂末端上的第一执行器的第一包络。
在步骤1103,基于第二位姿,确定设置在第二操作臂末端上的第二执行器的第二包络。
在步骤1105,基于第一包络和第二包络,确定第一防碰撞操作和/或第二防碰撞操作。
图12示出本公开一些实施例中包络示意图。如图12所示,包括:第一操作臂1240-1、第一操作臂末端1230-1、第一执行器1260-1、第二操作臂1240-2、第二操作臂末端1230-2和第二执行器1260-2。其中,第一执行器1260-1通过第一包络1280-1表征,第二执行器1260-2通过第二包络1280-2表征。
在一些实施例中,基于第一位姿确定第一执行器的虚拟模型的边缘作为第一包络或基于第二位姿确定第二执行器的虚拟模型的边缘作为第二包络。另一些实施例中,也可以通过将虚拟模型的边缘外扩一定的距离得到对应的包络(例如,第一包络或第二包络)。
在一些实施例中,方法1100还可以包括响应于主操作器的第一控制信息,更新第一执行器的第一包络,其中,第一控制信息用于调整第一执行器的工作状态。方法1100还可以包括响应于主操作器的第二控制信息,更新第二执行器的第二包络,其中,第二控制信息用于调整第二执行器的工作状态。
在一些实施例中,第一执行器或第二执行器例如可以是具有夹持或切割功能的执行器。第一控制信息或第二控制信息例如可以是第一执行器或第二执行器张开或闭合的控制信息(例如是图26中示出的夹钳26012的张合角度信息)。在一些实施例中,以第一执行器为例,方法1100还可以包括响应于主操作器的第一控制信息,更新第一执行器的虚拟模型;以及基于更新的第一执行器的虚拟模型,确定新的第一包络。例如,第一执行器为夹钳,主操作器发出控制夹钳张开的第一控制信息,响应于第一控制信息,更新夹钳张开状态下的虚拟模型,以及基于夹钳张开状态下的虚拟模型,确定新的第一包络。
图13示出本公开一些实施例中包络更新的示意图。如图13所示,执行器1360(例如第一执行器或第二执行器)例如可以是夹钳。图13示出执行器1360由闭合状态更新为张开状态,执行器1360的包络也由包络1380a更新为新的包络1380b。更新的包络1380b更能够准确表征张开工作状态下的执行器1360。
在一些实施例中,本公开还提供了另一种基于碰撞评价指数,确定第一防碰撞操作和/或第二防碰撞操作的方法。在一些实施例中,方法1100还可以包括:确定第一包络和第二包络的重叠范围。基于重叠范围,确定碰撞评价指数。基于碰撞评价指数,确定第一防碰撞操作和/或第二防碰撞操作。在一些实施例中,第一包络和第二包络的重叠范围可以通过第一包络和第二包络的重叠面积/体积,或者重叠的部分的最大宽度/深度表示。
图14示出根据本公开一些实施例的用于确定操作臂坐标系相对参考坐标系的位姿的方法1400的流程图。在一些实施例中,方法1400可以用于确定第一操作臂末端相对参考坐标系的第一位姿或第二操作臂末端相对参考坐标系的第二位姿。在一些实施例中,操作臂坐标系可以包括操作臂末端的坐标系。例如,操作臂末端310的坐标系。方法1400中的部分或全部步骤可以由操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法1400可以由软件、固件和/或硬件来实现。在一些实施例中,方法1400可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图14,在步骤1401,基于角度标识和多个位姿标识,确定位姿标识坐标系相对操作臂坐标系的滚转角。在一些实施例中,确定角度标识在操作臂坐标系中标识的第一绕轴角度。确定第一位姿标识在位姿标识坐标系中标识的第二绕轴角度。基于第一绕轴角度和第二绕轴角度,确定位姿标识坐标系相对操作臂坐标系的滚转角。在一些实施例中,位姿标识坐标系相对操作臂坐标系的滚转角可以基于公式(14)确定。
在步骤1403,基于多个位姿标识,确定位姿标识坐标系相对参考坐标系的位姿。位姿标识在相应坐标系中的坐标可以通过位姿标识图案角点在相应坐标系中的坐标表示。例如,位姿标识的在定位图像中的二维坐标和在位姿标识坐标系中的三维坐标可以通过位姿标识图案角点的坐标表示。在一些实施例中,基于多个位姿标识图案角点在定位图像中的二维坐标和多个位姿标识图案角点在位姿标识坐标系中的三维坐标,确定位姿标识坐标系相对参考坐标系的位姿。在一些实施例中,基于多个位姿标识图案角点在定位图像中的二维坐标、多个位姿标识图案角点在位姿标识坐标系中的三维坐标和相机坐标系相对参考坐标系的变换关系,确定位姿标识坐标系相对参考坐标系的位姿。
在一些实施例中,基于多个位姿标识的分布,确定多个位姿标识图案角点在位姿标识坐标系中的三维坐标。例如,参看图16,每个位姿标识图案角点均位于在截面圆1622的圆周上,截面圆1622的圆心与半径r均是已知的。设定截面圆1622的圆心为位姿标识坐标系的原点,XY平面位于截面圆1622上,X轴可以指定为由原点出发指向任一已确定的位姿标识图案角点(例如,位姿标识图案角点P16),进而可基于多个位姿标识的分布,确定每个位姿标识图案角点在位姿标识坐标系中的三维坐标。例如,如图16所示,位姿标识图案角点P16在位姿标识坐标系的三维坐标为(r,0,0),则其余位姿标识图案角点在位姿标识坐标系中的三维坐标可以根据以下公式计算:
Cm=[r·cos((m-1)·χ)r·sin((m-1)·χ)0]T (15)
其中,Cm为以位姿标识图案角点P16作为起点,第m个位姿标识图案角点在位姿标识坐标系中的三维坐标;χ为相邻的位姿标识图案角点之间的绕轴夹角。
在一些实施例中,相机坐标系相对参考坐标系的变换关系可以是已知的。例如,参考坐标系为世界坐标系,相机坐标系相对世界坐标系的变换关系可以根据相机摆放的位姿确定。另一些实施例中,根据实际的需求,参考坐标系也可以是相机坐标系本身。
在一些实施例中,基于相机成像原理与投影模型,基于多个位姿标识图案角点在定位图像中的二维坐标和多个位姿标识图案角点在位姿标识坐标系中的三维坐标,确定位姿标识坐标系相对相机坐标系的位姿。基于位姿标识坐标系相对相机坐标系的位姿和相机坐标系相对参考坐标系的变换关系,可以得到位姿标识坐标系相对参考坐标系的位姿。在一些实施例中,还可以考虑相机的内参。例如,相机的内参可以是如图1所示的图像采集设备110或者图27所示的成像模组2760b的相机内参。相机的内参可以是已知的或者经过标定而得到的。
在一些实施例中,相机坐标系可以理解为以相机原点建立的坐标系。例如,以相机的光心为原点建立的坐标系或者以相机的镜头中心为原点建立的坐标系。当相机为双目相机时,相机坐标系的原点可以是相机左镜头的中心,或者右镜头的中心,或者左右镜头中心连线上的任意一点(例如该连线的中点)。
参看图14,在步骤1405,基于位姿标识坐标系相对操作臂坐标系的滚转角和位姿标识坐标系相对参考坐标系的位姿,确定操作臂坐标系相对参考坐标系的位姿。在一些实施例中,操作臂坐标系相对参考坐标系的位姿可以作为操作臂相对参考坐标系的当前相对位姿。
例如,以参考坐标系为世界坐标系为例,操作臂坐标系相对世界坐标系的位姿具体如下:
wRwm=wRwm0·rotz(α0)
wPwm=wPwm0 (16)
其中,wRwm为操作臂坐标系相对世界坐标系的姿态,wPwm为操作臂坐标系相对世界坐标系的位置,wRwm0为位姿坐标系相对世界坐标系的姿态,wPwm0为位姿坐标系相对世界坐标系的位置,rotz(α0)表示绕操作臂坐标系的Z轴转动滚转角α0。
在一些实施例中,操作臂坐标系相对世界坐标系的位姿具体计算公式如下:
wRwm=wRlens lensRwm0 wm0Rwm
wPwm=wRlens(lensRwm0 wm0Pwm+lensPwm0)+wPlens (17)
其中,wRlens为相机坐标系相对世界坐标系的姿态,wPlens为相机坐标系相对世界坐标系的位置,lensRwm0为位姿标识坐标系相对相机坐标系的姿态,lensPwm0为位姿标识坐标系相对相机坐标系的位置,wm0Rwm为操作臂坐标系相对位姿标识坐标系的姿态,wm0Pwm为操作臂坐标系相对位姿标识坐标系的位置。
图15示出根据本公开另一些实施例的用于确定操作臂坐标系相对参考坐标系的位姿的方法1500的流程图。方法1500可以是图14的方法1400的替换实施例。方法1500中的部分或全部步骤可以由操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法1500可以由软件、固件和/或硬件来实现。在一些实施例中,方法1500可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图15,在步骤1501,基于位姿标识坐标系相对操作臂坐标系的滚转角和多个位姿标识在位姿标识坐标系中的三维坐标,确定多个位姿标识在操作臂坐标系中的三维坐标。可以理解,已知位姿标识坐标系相对操作臂坐标系的滚转角,可以根据坐标变换将多个位姿标识图案角点在位姿标识坐标系中的三维坐标变换为在操作臂坐标系中的三维坐标。
在步骤1503,基于多个位姿标识在定位图像中的二维坐标和多个位姿标识在操作臂坐标系中的三维坐标,确定操作臂坐标系相对参考坐标系的位姿。在一些实施例中,步骤1503可以与方法1400中步骤1403和1405类似地实现。
图17示出根据本公开一些实施例的用于识别位姿标识的方法1700的流程图。方法1700中的部分或全部步骤可以由操作臂控制系统100的控制装置(例如控制装置120)或者图24示出的主控台车2402、手术台车2403的控制器来执行。控制装置120可以配置在计算设备上。方法1700可以由软件、固件和/或硬件来实现。在一些实施例中,方法1700可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图17,在步骤1701,从定位图像中确定多个候选位姿标识。在一些实施例中,候选位姿标识可以通过候选位姿标识图案角点表示。在一些实施例中,候选位姿标识图案角点可以是指经过对定位图像进行初步处理或者初步识别得到的可能的位姿标识图案角点。在一些实施例中,可以先从定位图像中截取ROI(Region of Interest,感兴趣区域),从ROI中确定多个候选位姿标识。其中,ROI可以是定位图像的全图像,也可以是部分区域。例如,可以基于上一帧图像(例如,上一图像处理周期的定位图像)确定的多个位姿标识图案角点一定范围内的区域截取当前帧的ROI。对非第一帧的定位图像,ROI可以为上一图像处理周期的多个位姿标识图案角点的坐标构成的虚点为中心的一定距离范围内的区域。一定距离范围可以是位姿标识图案角点平均间隔距离的固定倍数,例如两倍。应理解,预定倍数还可以是上一图像处理周期中多个候选位姿标识图案角点平均间隔距离的可变倍数。
在一些实施例中,方法1700可以包括:确定定位图像中各像素点的角点似然值(Corner Likelihood,CL)。在一些实施例中,像素点的角点似然值可以是表征像素点作为特征点(例如,角点)的可能性的数值。在一些实施例中,在计算各像素点的角点似然值之前可以对定位图像进行预处理,之后确定预处理之后的图像中各像素点的角点似然值。图像的预处理例如可以包括:图像灰度化、图像去噪、图像增强中的至少一种。
例如,图像预处理可以包括:从定位图像中截取ROI,将ROI转为相应的灰度图像。
在一些实施例中,确定ROI中的每个像素点的角点似然值的方式例如可以包括对ROI范围内每一个像素点进行卷积操作,得到每个像素点的一阶和/或二阶导数。利用ROI范围内每个像素点的一阶和/或二阶导数求出每个像素点的角点似然值。示例性地,各像素点的角点似然值可以根据如下公式计算:
CL=max(cxy,c45)
cxy=τ2·|Ixy|-1.5·τ·(|I45|+In45)
c45=τ2·|I45_45|-1.5·τ·(|Ix|+Iy) (18)
其中,τ为设定的常数,例如设定为2;Ix、I45、Iy、In45分别是像素点在0、π/4、π/2、-π/4四个方向的一阶导数;Ixy和I45_45分别是像素点在0,π/2和π/4,-π/4方向的二阶导数。
在一些实施例中,将ROI划分成多个子图像。例如,可以采用非极大抑制法在一个ROI范围中平均分割出多个子图像。在一些实施例中,可以将ROI平均分割成5×5像素的多个子图像。上述实施例为示例性的,并非限制性的,应当理解,还可以将定位图像或ROI分割成其他尺寸大小的多个子图像,例如,分割成9×9像素的多个子图像。可以确定每个子图像中的CL值最大的像素点,将每个子图像中的CL值最大的像素点与第一阈值进行比较,确定CL值大于第一阈值的像素点集合。在一些实施例中,第一阈值可以设定为0.06。应当理解,第一阈值还可以设定为其他值。在一些实施例中,CL值大于第一阈值的像素点可以作为候选位姿标识图案角点。
参看图17,在步骤1703,基于位姿图案匹配模板,从多个候选位姿标识中识别初始位姿标识。在一些实施例中,通过位姿图案匹配模板与候选位姿标识图案角点之一处的图像进行匹配,确定达到预设位姿图案匹配度标准的候选位姿标识图案角点为初始位姿标识图案角点。
在一些实施例中,位姿图案匹配模板与位姿标识图案角点附近区域的图像具有相同或相似的特征。若位姿图案匹配模板与候选位姿标识图案角点附近区域的图像的匹配度达到预设位姿图案匹配度标准(例如,匹配度高于阈值),则可以认为候选位姿标识图案角点附近区域的图案与位姿图案匹配模板具有相同或相似的特征,进而可认为当前的候选位姿标识图案角点为位姿标识图案角点。
在一些实施例中,确定像素点集合中CL值最大的像素点,作为待匹配候选位姿标识图案角点。例如,可以将该像素点集合中的所有像素点让CL值从大到小的顺序排序,并将CL值最大的像素点作为待匹配候选位姿标识图案角点。在确定了待匹配候选位姿标识图案角点之后,使用位姿图案匹配模板与待匹配候选位姿标识图案角点处的图案进行匹配,如果达到了预设位姿图案匹配度标准,则确定待匹配候选位姿标识图案角点为识别出的初始位姿标识图案角点。如果待匹配候选位姿标识图案角点未达到预设的匹配度标准,则选择次级CL值的像素点(CL值第二大的像素点)作为待匹配候选位姿标识图案角点,使用位姿图案匹配模板与该候选位姿标识图案角点处的图像进行匹配,依次类推,直至识别出初始位姿标识图案角点。
在一些实施例中,位姿标识图案可以为黑白相间的棋盘格图形,因此位姿图案匹配模板可以为相同的棋盘格图形,利用位姿图案匹配模板的灰度分布GM与候选位姿标识图案角点对应的像素点的像素邻域灰度分布Gimage间的相关性系数(CorrelationCoefficient,CC)来进行匹配。像素点的像素邻域灰度分布Gimage为以该像素点为中心一定范围内(例如,10×10像素)像的像素的灰度分布。具体公式如下:
其中,Var为方差函数,Cov为协方差函数。在一些实施例中,当CC值小于0.8时,像素领域内的灰度分布与位姿图案匹配模板相关性较低,则判定该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点,否则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点。
在一些实施例中,方法1700包括:确定候选位姿标识图案角点的边缘方向。例如,如图18所示,图18中包括一个位姿标识图案1800,候选位姿标识图案角点为位姿标识图案1800中的角点P1801,那么该角点P1801的边缘方向可以是指形成角点P1801的边缘的方向,如图18中虚线箭头示意的方向。
在一些实施例中,边缘方向可以通过对以候选位姿标识图案角点为中心的一定范围邻域(例如10×10像素)的每个像素在平面坐标系的X方向和Y方向的一阶导数值(Ix和Iy)确定。例如,边缘方向可以通过以下公式进行计算:
其中,一阶导数(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,高斯混合模型)方法中的任意一种。
在一些实施例中,方法1700包括:根据边缘方向旋转位姿图案匹配模板。根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板与候选位姿标识图案角点处的图像对齐。
候选位姿标识图案角点的边缘方向可以用于确定该候选标识图案角点处的图像在定位图像中的设置方向。在一些实施例中,根据边缘方向旋转位姿图案匹配模板,可以将位姿图案匹配模板调整至与候选位姿标识图案角点处的图像方向相同或接近相同以便于进行图像匹配。
参看图17,在步骤1705,以初始位姿标识作为起点,搜索位姿标识。
例如,图19示出根据本公开一些实施例的用于搜索位姿标识的方法1900的流程图。如图19所示,该方法1900中的部分或全部步骤可以由数据处理装置(例如,图1所示的控制装置120或者图24示出的主控台车2402、手术台车2403的控制器)来执行。控制装置120可以配置在计算设备上。方法1900可以由软件、固件和/或硬件来实现。在一些实施例中,方法1900可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图19,在步骤1901,以初始位姿标识作为起点,确定第二个位姿标识。在一些实施例中,以初始位姿标识图案角点作为起点,在设定的搜索方向上搜索第二个位姿标识图案角点。在一些实施例中,设定的搜索方向可以包括:初始位姿标识图案角点的正前方(对应0°角度方向)、正后方(对应180°角度方向)、正上方(90°角度方向)、正下方(-90°角度方向)和斜向(例如±45°角度方向)中的至少一个方向。
在一些实施例中,设定的搜索方向为n个,例如在8个方向进行搜索,每个搜索方向vsn可以根据如下公式计算:
vsn=[cos(n·π/4)sin(n·π/4)],(n=1,2,…,8) (21)
在一些实施例中,当前步骤中设定的搜索方向可以根据上一帧确定的多个位姿标识图案角点中相邻位姿标识图案角点之间的偏差角度确定。示例性地,预定的搜索方向可以根据如下公式计算:
/>
其中,(xj,yj)为上一帧(或者上个图像处理周期)确定的多个位姿标识图案角点的二维坐标;nlast为上一帧确定的多个位姿标识图案角点的个数;vs1为第一个设定的搜索方向;vs2为第二个设定的搜索方向。
在一些实施例中,如图20所示,以初始位姿标识图案角点P2001的坐标位置作为搜索起点,在设定的搜索方向上搜索第二个位姿标识图案角点P2002的坐标位置具体可以包括:以初始位姿标识图案角点P2001的坐标位置作为搜索起点,通过搜索框(例如,图20中的虚线框)以一定的搜索步长在设定的搜索方向V2001上搜索位姿标识图案角点。若搜索框内存在至少一个候选位姿标识图案角点,则优先选择搜索框内角点似然值最大的候选位姿标识图案角点为第二个位姿标识图案角点P2002。在搜索框限制在合适的大小情况下,以初始位姿标识图案角点P2001的坐标位置作为搜索起点进行第二位姿标识图案角点P2002搜索时,搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点为位姿标识图案角点的可能性较大。因此,可以认为搜索框内角点似然值最大的候选位姿标识图案角点为第二个位姿标识图案角点P2002,以便提高数据处理速度。其他实施方式中,为了提高位姿标识图案角点识别的准确度,在搜索框内存在至少一个候选位姿标识图案角点的情况下,选择搜索框内出现的候选位姿标识图案角点中角点似然值最大的候选位姿标识图案角点进行角点的识别,以确定该角点似然值最大的候选位姿标识图案角点是否为位姿标识图案角点。例如,对位姿图案匹配模板与该角点似然值最大的候选位姿标识图案角点处一定范围内的图像进行匹配,满足预设位姿图案匹配度标准的候选位姿标识图案角点可以认为是搜索到的第二个位姿标识图案角点P2002。
在一些实施例中,继续参看图20,搜索框的大小可以逐步增大,从而搜索范围逐步增大。搜索步长可与搜索框的边长同步变化。其他实施方式中,搜索框的大小也可以为固定的大小。
在一些实施例中,位姿标识图案可以为黑白相间的棋盘格图形,可以采用公式(19)中的相关性系数CC来进行图案匹配。如果CC大于阈值,则认为该角点似然值最大的候选位姿标识图案角点是位姿标识图案角点,记为第二个位姿标识图案角点。
参看图19,在步骤1903,基于初始位姿标识、第二个位姿标识,确定搜索方向。在一些实施例中,搜索方向包括:第一搜索方向和第二搜索方向。第一搜索方向可以是以初始位姿标识图案角点的坐标位置为起点,且远离第二位姿标识图案角点的方向。第二搜索方向可以是以第二位姿标识图案角点的坐标位置为起点,且远离第一位姿标识图案角点的方向。例如,图20中所示的搜索方向V2002。
在步骤1905,以初始位姿标识或第二个位姿标识作为起点,在搜索方向上搜索位姿标识。在一些实施例中,若以第一位姿标识图案角点为新的起点,则可以以上述实施例中的第一搜索方向作为搜索方向进行位姿标识图案角点的搜索。若以第二位姿标识图案角点为新的搜索起点,则可以以上述实施例中的第二搜索方向作为搜索方向进行位姿标识图案角点的搜索。在一些实施例中,搜索新的位姿标识图案角点(例如,图20中的第三位姿标识图案角点P2003)可以与步骤1901类似地执行。在一些实施例中,搜索步长可以是初始位姿标识图案角点和第二个位姿标识图案角点之间的距离L1。
在一些实施例中,响应于搜索到的位姿标识图案角点数量大于或等于位姿标识图案角点数量阈值,停止对位姿标识图案角点的搜索。例如,当搜索到(识别到)四个位姿标识图案角点,停止对位姿标识图案角点的搜索。
在一些实施例中,响应于搜索的距离大于第N-1个位姿标识图案角点和第N-2个位姿标识图案角点的距离的设定倍数,停止对第N个位姿标识图案角点的搜索,其中N≥3。例如,搜索的结束条件可以是搜索的距离大于两倍的前两个位姿标识图案角点的距离。这样,搜索第三个位姿标识图案角点的最大搜索距离是初始位姿标识图案角点和第二个位姿标识图案角点的距离的两倍。若达到该搜索距离还未搜索到位姿标识图案角点,则认为未找到第三个位姿标识图案角点并且搜索结束。
在一些实施例中,若搜索到的位姿标识图案角点的总数大于或等于设定的阈值(例如,设定的阈值为4),则认为成功识别到了足够的位姿标识图案角点。若找到的位姿标识图案角点总数小于设定的数值,则认为上述步骤中基于初始位姿标识图案角点的搜索不成功。搜索不成功的情况下,从候选位姿标识图案角点中重新确定新的初始位姿标识图案角点,之后基于该重新确定的初始位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。与方法1700类似,可以重新确定新的初始位姿标识图案角点,并且与方法1900类似,可以以新的位姿标识图案角点为搜索起点,搜索其余的位姿标识图案角点。
在一些实施例中,在搜索到或者识别到位姿标识图案角点之后,还可以对已确定的位姿标识图案角点进行亚像素定位,以提高位姿标识图案角点的位置精度。
在一些实施例中,可以对像素点的CL值基于模型进行拟合,以确定经亚像素定位后的位姿标识图案角点的坐标。例如,ROI中每个像素点的CL值的拟合函数可以为二次曲面函数,该函数的极值点为亚像素点。拟合函数可以如下:
S(x,y)=ax2+by2+cx+dy+exy+f (23)
其中,S(x,y)为每个ROI中的所有像素点的CL值拟合函数,a、b、c、d、e、f为系数;xc为位姿标识的x坐标,yc为位姿标识的y坐标。
图21示出根据本公开一些实施例的识别角度标识的方法2100的流程图。如图21所示,该方法2100中的部分或全部步骤可以由数据处理装置(例如,图1所示的控制装置120或者图24示出的主控台车2402、手术台车2403的控制器)来执行。控制装置120可以配置在计算设备上。方法2100可以由软件、固件和/或硬件来实现。在一些实施例中,方法2100可以实现为计算机可读的指令。这些指令可以由通用处理器或专用处理器读取并执行。在一些实施例中,这些指令可以存储在计算机可读介质上。
参看图21,在步骤2101,基于多个位姿标识在定位图像中的二维坐标和多个位姿标识在位姿标识坐标系中的三维坐标,确定成像变换关系。在一些实施例中,位姿标识坐标系可以是在方法700所示实施例中详述的位姿标识坐标系。例如,位姿标识坐标系为如图6所示。在一些实施例中,成像变换关系可以是指位姿标识坐标系中的三维坐标与定位图像中的二维坐标的变换关系。应该理解,基于成像变换关系,也可以将定位图像中的二维坐标变换为位姿标识坐标系中的三维坐标。在一些实施例中,多个位姿标识在位姿标识坐标系中的三维坐标可以基于公式(15)确定。在一些实施例中,多个位姿标识的数量可以大于或等于4个,例如,可以基于4个位姿标识在定位图像中的二维坐标和在位姿标识坐标系中对应的4个三维坐标,得到成像变换关系。
参看图21,在步骤2103,基于成像变换关系、多个位姿标识在位姿标识坐标系中的三维坐标和位置关联关系,在定位图像中确定多个角度标识候选区域。在一些实施例中,角度标识候选区域可以表示角度标识图案的候选区域。在一些实施例中,基于多个位姿标识图案角点在位姿标识坐标系中的三维坐标和位置关联关系,在位姿标识坐标系中确定多个角度标识图案角点候选三维坐标。例如,根据多个位姿标识图案角点在位姿标识坐标系中的三维坐标,沿轴向偏移一定的距离可以确定多个在位姿标识坐标系中的三维坐标。这些三维坐标由多个角度标识图案角点候选三维坐标表示。例如,参看图4,位置关联关系为角度标识和对应的位姿标识沿位姿标识坐标系的Z轴间隔一定距离。在确定位姿标识图案角点的位置的前提下,沿Z轴的正方向或反方向移动一定距离得到的位置可以认为是角度标识图案角点在位姿标识坐标系下的候选位置。
在一些实施例中,基于成像变换关系和多个角度标识图案角点候选三维坐标,在定位图像中确定多个角度标识候选区域。例如,基于成像变换关系和多个角度标识图案角点候选三维坐标,在定位图像中得到多个角度标识图案角点候选二维坐标。在一些实施例中,基于多个角度标识图案角点候选二维坐标,确定多个角度标识图案候选区域。例如,以每个角度标识图案角点候选二维坐标为中心,在定位图像中确定一定范围大小(例如,5×5像素、10×10像素等)的区域作为角度标识候选区域。在一些实施例中,一定范围大小的区域大于或等于角度标识图案成像后的大小。角度标识图案成像后的大小可以基于角度标识图案的实际大小和成像变换关系得到。
参看图21,在步骤2105,从多个角度标识候选区域,识别角度标识。在一些实施例中,角度标识包括角度标识图案和角度标识图案角点。在一些实施例中,方法2100可以包括确定每个角度标识候选区域中角点似然值最大的像素点以形成像素集合。在一些实施例中,像素点的角点似然值可以是在执行方法1700时计算的,也可以是基于公式(18)重新计算得到。方法2100还包括确定像素集合中角点似然值最大的像素点对应的角度标识候选区域作为待识别的角度标识候选区域。方法2100还包括使用多个角度图案匹配模板分别与待识别的角度标识候选区域进行匹配,以识别角度标识。在一些实施例中,角度标识图案为图形特征不同的图案。多个角度图案匹配模板可以是指与多个角度标识图案分别对应的具有相同或相似图形特征的标准角度图案模板。在一些实施例中,通过确定多个角度标识候选区域,可以在多个角度标识候选区域进行角度标识的识别,避免了在整个图像范围内进行角度标识的识别,提高了数据处理的速度。
在一些实施例中,可以使用平方差匹配法、归一化平方差匹配法、相关匹配法、归一化相关匹配法、相关系数匹配法和归一化相关系数匹配法中的任意一种模板匹配算法对角度图案匹配模板与角度标识候选区域进行匹配运算。
在一些实施例中,由于角度图案匹配模板与角度标识图案具有相同或相似的图形特征,因此角度标识的图案信息可以包括对应的角度图案匹配模板的图案信息。例如,角度图案匹配模板的形状、图像中可被识别的特征等。在一些实施例中,每个角度图案匹配模板与对应的角度标识图案所标识的绕轴角度具有一一对应关系。基于特定的角度图案匹配模板或者识别出的角度标识对应的角度标识图案的图案信息,确定第一绕轴角度。
在一些实施例中,方法2100可以包括响应于匹配失败,确定像素集合的剩余像素点中角点似然值最大的像素点对应的角度标识候选区域作为待识别的角度标识候选区域。在一些实施例中,在确定新的待识别的角度标识候选区域之后,使用多个角度图案匹配模板分别与待识别的角度标识候选区域进行匹配,以识别角度标识。
在一些实施例中,基于识别出的角度标识所在的角度标识候选区域,确定与角度标识具有位置关联关系的第一位姿标识。在一些实施例中,多个角度标识候选区域分别对应识别出的多个位姿标识图案角点中的至少一个,在确定识别出的角度标识所在的角度标识候选区域之后,可以基于多个角度标识候选区域与多个位姿标识图案角点的对应关系,确定第一位姿标识图案角点。
本公开一些实施例中,本公开还提供了一种计算机设备,计算机设备包括存储器和处理器。存储器可以用于存储有至少一条指令,处理器与存储器耦合,用于执行至少一条指令以执行本公开的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。
图22示出根据本公开一些实施例的计算机设备2200的示意框图。参看图22,该计算机设备2200可以包括中央处理单元(CPU)2201、包括随机存取存储器(Random AccessMemory,RAM)2202和只读存储器(Read-Only Memory,ROM)2203的系统存储器2204,以及连接各部件的系统总线2205。计算机设备2200还可以包括输入/输出设备2206,和用于存储操作系统2213、应用程序2214和其他程序模块2215的大容量存储设备2207。输入/输出设备2206包括主要由显示器2208和输入设备2209组成的输入/输出控制器2210。
大容量存储设备2207通过连接到系统总线2205的大容量存储控制器(未示出)连接到中央处理单元2201。大容量存储设备2207或者计算机可读介质为计算机设备提供非易失性存储。大容量存储设备2207可以包括诸如硬盘或者光盘只读存储器(Compact DiscRead-Only Memory,CD-ROM)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括只读存储器、随机存取存储器、闪存或其他固态存储其技术,只读光盘、或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器和大容量存储设备可以统称为存储器。
计算机设备2200可以通过连接在系统总线2205上的网络接口单元2211连接到网络2212。
系统存储器2204或大容量存储设备2207还用于存储一个或者一个以上的指令。中央处理单元2201通过执行该一个或一个以上指令来实现本公开一些实施例中的方法的全部或者部分步骤。
本公开一些实施例中,本公开还提供一种计算机可读存储介质,存储介质中存储有至少一条指令,该至少一条指令由处理器执行以使计算机执行本公开一些实施例的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。计算机可读存储介质的示例包括计算机程序(指令)的存储器,例如,只读存储器、随机存取存储器、只读光盘、磁带、软盘和光数据存储设备等。
图23示出根据本公开一些实施例的手术机器人系统2300的示意图。本公开一些实施例中,参看图23,手术机器人系统2300可以包括:至少两个手术工具2301、图像采集器2310以及控制装置2320(例如,处理器),至少两个手术工具2301中的第一手术工具包括第一操作臂、设置在第一操作臂的第一操作臂末端的执行器以及设置在第一操作臂末端上的多个第一操作臂标识,多个第一操作臂标识包括至少一个第一操作臂角度标识和多个第一操作臂位姿标识,至少一个第一操作臂角度标识与所多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系。图像采集器2310可以用于采集第一操作臂的定位图像。控制装置2320与图像采集器2310连接,用于执行本公开一些实施例的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。在一些实施例中,手术工具2301例如可以是图25中示出的手术工具2500。
图24示出根据本公开一些实施例的手术机器人系统2400的示意图。本公开一些实施例中,参看图24,手术机器人系统2400可以包括手术工具2401、主控台车2402、和手术台车2403。手术台车2403上设置有驱动模组,用于驱动手术工具2401,手术工具2401安装在手术台车2403上并与驱动模组连接。主控台车2402与手术台车2403通信连接,用于控制手术工具2401执行手术操作。在一些实施例中,主控台车2402可以用于执行本公开一些实施例的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。在一些实施例中主控台车2402与手术台车2403之间通过有线传输或者无线传输方式连接。例如,主控台车2402与手术台车2403可以通过线缆连接。
在一些实施例中,手术机器人系统2400至少包括两个手术工具2401,手术工具2401包括操作臂和设置在操作臂末端的执行器。在一些实施例中,手术机器人系统2400可以包括一台手术台车2403,一台手术台车2403能够安装至少两个手术工具2401。在一些实施例中,手术机器人系统2400可以包括至少两台手术台车2403,每台手术台车2403安装一个手术工具2401。在一些实施例中,手术机器人系统2400还可以包括成像工具2404。成像工具2404可以包括操作臂和设置在操作臂末端的成像模组。成像工具2404可以设置在手术台车2403上并由对应的驱动模组驱动。成像模组获取的手术工具2401的操作臂及其执行器的图像可以传输至主控台车2402。在一些实施例中,手术工具2401例如是图25中示出的手术工具2500。在一些实施例中,主控台车2402例如是图26中示出的主控台车2600。在一些实施例中,手术台车2403例如是图27中示出的手术台车2700。
图25示出本公开一些实施例的手术工具2500的示意图。本公开一些实施例中,参看图25,手术工具2500包括驱动传动装置2590、操作臂2540和设置在操作臂末端的执行器2560。在一些实施例中,驱动传动装置2590可以配合驱动模组驱动操作臂2540运动。驱动传动装置2590用于与驱动模组连接,驱动模组的驱动力经驱动传动装置2590传递至操作臂2540,进而驱动操作臂2540实现多自由度运动。驱动模组还可以控制执行器2560执行手术操作。本公开一些实施例中,执行器2560可以包括但不限于双极弯分离钳执行器、双极弯头抓钳执行器、单极弯剪执行器、单极电钩执行器、双极抓钳执行器、持针钳执行器与组织抓钳执行器。在一些实施例中,手术工具2500例如可以安装在图24中示出的手术台车2403或者图27中示出的手术台车2700。
图26示出本公开一些实施例的主控台车2600的示意图。本公开一些实施例中,参看图26,主控台车2600包括:控制器(控制器可以配置在计算机设备上,设置在主控台车2600内部)、主操作器2601、主控台车显示器(例如显示器2602-2604)和踏板(例如踏板2605-2607)。控制器分别与主操作器2601、主控台车显示器和踏板通信连接,用于与主操作器2601、主控台车显示器和踏板进行信号交互,并基于收集到的控制信息生成相应的控制指令。在一些实施例中,控制器还与手术台车通信连接,例如与图24中示出的手术台车2403通信连接,用于控制手术工具2401执行手术操作或者控制成像工具2404工作。在一些实施例中,主控台车2600的控制器还可以用于执行本公开一些实施例的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。
在一些实施例中,主操作器2601通常包括分别对应医疗工作人员左手操作的左主操作器(例如,用于控制第一操作臂)和右手操作的右主操作器(例如,用于控制第二操作臂)。在实际场景中,主操作器2601用于采集医疗工作人员的操作输入,医疗工作人员通过遥操作主操作器2601进而控制手术工具或成像工具在操作区域中的运动,以实现医疗操作。在一些实施例中,主操作器2601包括多自由度机械臂26011,多自由度机械臂26011上的每一个关节处设置主操作器传感器,通过每个关节的主操作器传感器生成关节信息(如关节角度数据)。在一些实施例中,主操作器传感器采用电位计和/或编码器。在一些实施例中,多自由度机械臂26011具有六个自由度。在一些实施例中,主操作器2601的位姿可由主操作器关节的关节信息的集合(例如由这些关节信息组成的一维矩阵)来表示。在一些实施例中,主操作器2601还包括夹钳26012,夹钳26012可以用于控制执行器的张合角度。在一些实施例中,主控台车显示器包含立体显示器2602、主控外部显示器2603、主控触摸显示器2604。立体显示器2602显示术部图像及系统状态提示,主控外部显示器2603显示术部图像及系统状态提示,触摸显示器2604显示主控台车2600的软件用户界面。在一些实施例中,立体显示器2602或主控外部显示器2603显示的图像可以基于成像模组获取的图像确定,例如图27中示出的成像模组2760b。在一些实施例中,主控台车踏板用于采集医疗工作人员双脚的输入,包含电切踏板2605、电凝踏板2606、离合踏板2607等结构。
图27示出本公开一些实施例的手术台车2700的示意图。本公开一些实施例中,参看图27,手术台车2700包括:控制器(控制器可以配置在计算机设备上,设置在手术台车2700内部)、手术台车底盘2702、手术台车机箱2703、系统状态显示器2705、主立柱2706、主横梁2707、定位臂2708、驱动模组2709等部件。手术台车底盘2702用于实现手术台车2700的移动和固定功能。手术台车机箱2703用于在内部集成手术台车电气件。系统状态显示器2705用于显示手术台车系统用户界面和接收用户输入。主立柱2706可升降,其顶端与主横梁2707固定。主横梁2707的端部有横梁云台,横梁云台下端固定有多个定位臂2708。定位臂2708搭载驱动模组2709,驱动模组2709用于装载手术工具2701或成像工具2704(成像工具2704例如可以是3D电子内窥镜)。在一些实施例中,手术台车2700集成多支定位臂2708,每支定位臂2708具备多个运动关节。在一些实施例中,手术台车2700集成有多个手术工具2701和成像工具2704,多个手术工具2701的部分操作臂2740a及执行器2760a和成像工具2704的部分操作臂2740b及成像模组2760b经鞘管2710进入工作空间。在一些实施例中,手术台车2700的控制器还可以用于执行本公开一些实施例的方法中的部分步骤或全部步骤,如图7、图8、图11、图14、图15、图17、图19和图21中公开的方法中的部分步骤或全部步骤。
在机器人系统操作过程中,尤其是手术机器人手术期间,操作臂的碰撞会带来意外风险,是操作失败,甚至会造成不可挽回的损失。在本公开的实施例中,可以对操作臂的位姿进行检测,以发现碰撞风险。例如,可以对多个操作臂的位姿进行检测,如果发现碰撞风险,可以进行碰撞预警,例如发出警报,也可以进行躲避操作,例如暂停运动或向相反方向运动。本公开的实施例可以减轻、甚至规避机器人系统操作过程中的碰撞风险,使得机器人系统的安全性得到显著提高。
虽然已经举例说明和描述了本公开的具体实施方案,但是对于本领域技术人员来说显而易见的是,在不脱离本公开实质和范围的情况下可以做出多种其他改变和变型。因此,在随附的权利要求书中包括属于本公开范围内的所有这些改变和变型。
Claims (27)
1.一种机器人系统的操作臂的控制方法,所述机器人系统包括至少两个操作臂,所述控制方法包括:
获取定位图像;
在所述定位图像中,识别位于所述至少两个操作臂中的第一操作臂的第一操作臂末端上的多个第一操作臂位姿标识;
基于所述多个第一操作臂位姿标识,识别位于所述第一操作臂末端上的第一操作臂角度标识,所述第一操作臂角度标识与所述多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系;
基于所述第一操作臂角度标识和所述多个第一操作臂位姿标识,确定所述第一操作臂末端相对参考坐标系的第一位姿;以及
基于所述第一位姿,确定用于所述第一操作臂的第一防碰撞操作。
2.根据权利要求1所述的控制方法,所述至少两个操作臂包括第二操作臂,所述控制方法还包括:
确定所述第二操作臂的第二操作臂末端相对所述参考坐标系的第二位姿;以及
基于所述第一位姿和所述第二位姿,确定所述第一防碰撞操作和/或用于所述第二操作臂的第二防碰撞操作。
3.根据权利要求2所述的控制方法,还包括:
基于所述第一位姿,确定设置在所述第一操作臂末端上的第一执行器的第一包围盒,所述第一包围盒包括一个或多个第一子包围盒;
基于所述第二位姿,确定设置在所述第二操作臂末端上的第二执行器的第二包围盒,所述第二包围盒包括一个或多个第二子包围盒;以及
基于所述第一包围盒和所述第二包围盒,确定所述第一防碰撞操作和/或所述第二防碰撞操作。
4.根据权利要求3所述的控制方法,还包括:
响应于所述第一包围盒与所述第二包围盒相交,更新所述第一包围盒的第一子包围盒和/或所述第二包围盒的第二子包围盒;
基于更新的所述第一包围盒和所述第二包围盒,确定所述第一防碰撞操作和/或所述第二防碰撞操作。
5.根据权利要求2所述的控制方法,还包括:
基于所述第一位姿,确定设置在所述第一操作臂末端上的第一执行器的第一包络;
基于所述第二位姿,确定设置在所述第二操作臂末端上的第二执行器的第二包络;以及
基于所述第一包络和所述第二包络,确定所述第一防碰撞操作和/或所述第二防碰撞操作。
6.根据权利要求5所述的控制方法,还包括:
响应于主操作器的第一控制信息,更新所述第一执行器的第一包络,其中,所述第一控制信息用于调整所述第一执行器的工作状态;和/或
响应于所述主操作器的第二控制信息,更新所述第二执行器的第二包络,其中,所述第二控制信息用于调整所述第二执行器的工作状态。
7.根据权利要求5所述的控制方法,还包括:
确定所述第一包络和所述第二包络的重叠范围;以及
基于所述重叠范围,确定所述第一操作臂末端和所述第二操作臂末端的碰撞评价指数;以及
基于所述碰撞评价指数,确定所述第一防碰撞操作和/或第二防碰撞操作。
8.根据权利要求2所述的控制方法,还包括:
基于所述第二操作臂的驱动信息和运动学模型,确定所述第二操作臂末端的运动学位姿作为所述第二位姿。
9.根据权利要求2所述的控制方法,还包括:
在所述定位图像中,识别位于所述第二操作臂末端上的多个第二操作臂位姿标识;
基于所述多个第二操作臂位姿标识,识别位于所述第二操作臂末端上的第二操作臂角度标识,所述第二操作臂角度标识与所述多个第二操作臂位姿标识中的第一位姿标识具有位置关联关系;以及
基于所述第二操作臂角度标识和所述多个第二操作臂位姿标识,确定所述第二位姿。
10.根据权利要求9所述的控制方法,还包括:
响应于在所述定位图像中未识别出所述第一操作臂位姿标识,基于所述第一操作臂的驱动信息和运动学模型或者基于主操作器的位姿,确定所述第一操作臂末端的第一运动学位姿作为所述第一位姿;和/或
响应于在所述定位图像中未识别出所述第二操作臂位姿标识,基于所述第二操作臂的驱动信息和运动学模型或者基于所述主操作器的位姿,确定所述第二操作臂末端的第二运动学位姿作为所述第二位姿。
11.根据权利要求9所述的控制方法,还包括:
基于所述第一操作臂的驱动信息和运动学模型或者基于主操作器的位姿,确定所述第一操作臂末端的第一运动学位姿;以及
基于所述第一运动学位姿,从所述第一位姿和所述第二位姿中确定所述第一位姿,和/或
基于所述第二操作臂的驱动信息和运动学模型或者基于所述主操作器的位姿,确定所述第二操作臂末端的第二运动学位姿;以及
基于所述第二运动学位姿,从所述第一位姿和所述第二位姿中确定所述第二位姿。
12.根据权利要求1-11中任一项所述的控制方法,所述第一防碰撞操作包括以下中的至少一项:
停止所述第一操作臂的运动;或
产生碰撞报警信息。
13.根据权利要求12所述的控制方法,所述碰撞报警信息包括多个不同报警等级的碰撞报警信息。
14.根据权利要求1所述的控制方法,包括:
基于所述第一操作臂角度标识和所述多个第一操作臂位姿标识,确定第一操作臂位姿标识坐标系相对第一操作臂坐标系的滚转角;
基于所述多个第一操作臂位姿标识,确定所述第一操作臂位姿标识坐标系相对所述参考坐标系的位姿;以及
基于所述第一操作臂位姿标识坐标系相对所述第一操作臂坐标系的滚转角和所述第一操作臂位姿标识坐标系相对所述参考坐标系的位姿,确定所述第一操作臂坐标系相对所述参考坐标系的位姿。
15.根据权利要求14所述的控制方法,包括:
基于所述多个第一操作臂位姿标识在所述定位图像中的二维坐标和所述多个第一操作臂位姿标识在所述第一操作臂位姿标识坐标系中的三维坐标,确定所述第一操作臂位姿标识坐标系相对所述参考坐标系的位姿。
16.根据权利要求1所述的控制方法,包括:
基于所述第一操作臂角度标识和所述多个第一操作臂位姿标识,确定第一操作臂位姿标识坐标系相对第一操作臂坐标系的滚转角;
基于所述第一操作臂位姿标识坐标系相对所述第一操作臂坐标系的滚转角和所述多个第一操作臂位姿标识在第一操作臂位姿标识坐标系中的三维坐标,确定所述多个第一操作臂位姿标识在第一操作臂坐标系中的三维坐标;以及
基于所述多个第一操作臂位姿标识在所述定位图像中的二维坐标和所述多个第一操作臂位姿标识在所述第一操作臂坐标系中的三维坐标,确定所述第一操作臂坐标系相对所述参考坐标系的位姿。
17.根据权利要求14-16中任一项所述的控制方法,包括:
确定所述第一操作臂角度标识在所述第一操作臂坐标系中标识的第一绕轴角度;
确定所述多个第一操作臂位姿标识中的第一位姿标识在所述第一操作臂位姿标识坐标系中标识的第二绕轴角度;以及
基于所述第一绕轴角度和所述第二绕轴角度,确定所述第一操作臂位姿标识坐标系相对所述第一操作臂坐标系的滚转角。
18.根据权利要求1-11、14-16中任一项所述的控制方法,所述位置关联关系包括:
所述第一操作臂角度标识与所述多个第一操作臂位姿标识中的第一位姿标识在轴向的对应关系。
19.根据权利要求1所述的控制方法,包括:
基于所述多个第一操作臂位姿标识的分布,确定所述多个第一操作臂位姿标识在第一操作臂位姿标识坐标系中的三维坐标;
基于所述多个第一操作臂位姿标识在所述定位图像中的二维坐标和所述多个第一操作臂位姿标识在所述第一操作臂位姿标识坐标系中的三维坐标,确定成像变换关系;
基于所述成像变换关系、所述多个第一操作臂位姿标识在所述第一操作臂位姿标识坐标系中的三维坐标和所述位置关联关系,在所述定位图像中确定多个角度标识候选区域;以及
从所述多个角度标识候选区域,识别所述第一操作臂角度标识。
20.根据权利要求19所述的控制方法,包括:
基于所述多个第一操作臂位姿标识在所述第一操作臂位姿标识坐标系中的三维坐标和所述位置关联关系,在所述第一操作臂位姿标识坐标系中确定多个角度标识候选三维坐标;以及
基于所述成像变换关系和所述多个角度标识候选三维坐标,在所述定位图像中确定所述多个角度标识候选区域。
21.根据权利要求19或20所述的控制方法,包括:
确定每个所述角度标识候选区域中角点似然值最大的像素以形成像素集合;
确定所述像素集合中角点似然值最大的像素对应的角度标识候选区域作为待识别的角度标识候选区域;以及
使用多个第一操作臂角度图案匹配模板分别与所述待识别的角度标识候选区域进行匹配,以识别所述第一操作臂角度标识。
22.根据权利要求19或20所述的控制方法,包括:
基于所述角度标识候选区域,确定与所述第一操作臂角度标识具有位置关联关系的所述第一位姿标识。
23.根据权利要求1所述的控制方法,包括:
从所述定位图像中确定多个候选位姿标识;
基于第一操作臂位姿图案匹配模板,从所述多个候选位姿标识中识别初始位姿标识;以及
以所述初始位姿标识作为起点,搜索位姿标识。
24.根据权利要求1-11、14-16、19-20和23中任一项所述的控制方法,所述多个第一操作臂位姿标识与所述第一操作臂角度标识设置在所述第一操作臂的柱状部分的外表面上。
25.一种计算机设备,包括:
存储器,用于存储有至少一条指令;以及
处理器,与所述存储器耦合,用于执行所述至少一条指令以执行如权利要求1-24中任一项所述的控制方法。
26.一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器执行以使计算机执行如权利要求1-24中任一项所述的控制方法。
27.一种手术机器人系统,包括:
至少两个手术工具,所述至少两个手术工具中的第一手术工具包括第一操作臂、设置在所述第一操作臂的第一操作臂末端的执行器以及设置在所述第一操作臂末端上的至少一个第一操作臂角度标识和多个第一操作臂位姿标识,所述至少一个第一操作臂角度标识与所述多个第一操作臂位姿标识中的第一位姿标识具有位置关联关系;
图像采集器,用于采集定位图像;以及
控制装置,与所述图像采集器连接,用于执行如权利要求1-24中任一项所述的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031849.XA CN116460837A (zh) | 2022-01-12 | 2022-01-12 | 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210031849.XA CN116460837A (zh) | 2022-01-12 | 2022-01-12 | 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116460837A true CN116460837A (zh) | 2023-07-21 |
Family
ID=87172276
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210031849.XA Pending CN116460837A (zh) | 2022-01-12 | 2022-01-12 | 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116460837A (zh) |
-
2022
- 2022-01-12 CN CN202210031849.XA patent/CN116460837A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190142359A1 (en) | Surgical positioning system and positioning method | |
EP4209313A1 (en) | Error detection method and robot system based on a plurality of pose identifications | |
WO2022012337A1 (zh) | 运动臂系统以及控制方法 | |
CN114536292A (zh) | 基于复合标识的误差检测方法及机器人系统 | |
US20220415006A1 (en) | Robotic surgical safety via video processing | |
WO2022014312A1 (ja) | ロボット制御装置、およびロボット制御方法、並びにプログラム | |
Beyl et al. | Time-of-flight-assisted Kinect camera-based people detection for intuitive human robot cooperation in the surgical operating room | |
CN116766194A (zh) | 基于双目视觉的盘类工件定位与抓取系统和方法 | |
EP4209312A1 (en) | Error detection method and robot system based on association identification | |
CN114536402B (zh) | 基于关联标识的机器人系统故障检测处理方法及机器人系统 | |
CN114536331B (zh) | 基于关联标识确定可形变机械臂的外部受力的方法及机器人系统 | |
CN116460837A (zh) | 基于关联标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN116459018A (zh) | 基于复合标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN116492064A (zh) | 基于位姿标识的主从运动的控制方法及手术机器人系统 | |
CN116459019A (zh) | 基于位姿标识的操作臂防碰撞控制方法和手术机器人系统 | |
CN114347037A (zh) | 基于复合标识的机器人系统故障检测处理方法及机器人系统 | |
CN114536401B (zh) | 基于多个位姿标识的机器人系统故障检测处理方法及机器人系统 | |
CN116492063A (zh) | 基于定位图像的主从运动的控制方法及手术机器人系统 | |
CN116468648A (zh) | 基于关联标识的执行臂检测方法及机器人系统 | |
CN116492062A (zh) | 基于复合标识的主从运动的控制方法及手术机器人系统 | |
CN115946105A (zh) | 操作臂的控制方法和手术机器人系统 | |
CN116728394A (zh) | 基于定位图像的机器人系统的控制方法和机器人系统 | |
CN115957005A (zh) | 用于控制操作臂的方法和手术机器人系统 | |
CN116468646A (zh) | 基于复合标识的执行臂检测方法及机器人系统 | |
CN116468647A (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 |