发明内容
本发明的目的在于提供一种手术机器人系统、碰撞检测方法、系统及可读存储介质,以解决现有的手术机器人中机械臂易产生碰撞的问题。
为解决上述技术问题,根据本发明的第一个方面,提供了一种手术机器人的碰撞检测方法,其包括:
利用至少两台相机获取手术机器人于手术环境中时,目标对象节点于不同角度下的至少两个图像信息;其中所述目标对象节点至少包括位于所述手术机器人的机械臂上的特征点;
根据所述至少两个图像信息,获得所述目标对象节点的空间三维坐标;
基于所述目标对象节点的空间三维坐标,获得至少两个所述目标对象节点之间的距离与预设阈值的差值,若所述差值小于或等于零,则进行报警、提示和启动安全保护机制中的至少一种。
可选的,在所述手术机器人的碰撞检测方法中,所述目标对象节点还包括所述手术台的角点。
可选的,在所述手术机器人的碰撞检测方法中,在获得所述目标对象节点的空间三维坐标后,所述手术机器人的碰撞检测方法还包括:
通过对所述目标对象节点进行标注,建立不同的所述相机中同一个所述目标对象节点的对应拓扑关系。
可选的,在所述手术机器人的碰撞检测方法中,在获得所述目标对象节点的空间三维坐标前,所述手术机器人的碰撞检测方法还包括:
通过标定所述相机的内参和/或外参,建立至少两台所述相机的相机坐标系、手术机器人坐标系与同一个参考坐标系的转换关系。
可选的,在所述手术机器人的碰撞检测方法中,所述内参包括所述相机的像素,所述外参包括所述相机于手术环境中的安装位置。
可选的,在所述手术机器人的碰撞检测方法中,基于所述相机的像素和所述相机的安装位置,将不同的所述相机对应的世界坐标系转换至不同的所述相机的相机坐标系,进而将不同的所述相机的相机坐标系转换至同一个所述参考坐标系。
可选的,在所述手术机器人的碰撞检测方法中,根据所述至少两个图像信息,获得所述目标对象节点的空间三维坐标的方法包括:利用最小二乘算法求解所述至少两个图像信息。
为解决上述技术问题,根据本发明的第二个方面,还提供了一种可读存储介质,其上存储有程序,所述程序被执行时,实现如上所述的手术机器人的碰撞检测方法。
为解决上述技术问题,根据本发明的第三个方面,还提供了一种手术机器人的碰撞检测系统,其包括:至少两台相机以及与所述相机通信连接的处理器;至少两台所述相机用于在不同角度下获取目标对象节点的至少两个图像信息,并传输至所述处理器;所述处理器根据如上所述的手术机器人的碰撞检测方法,判断手术机器人是否会产生碰撞。
为解决上述技术问题,根据本发明的第四个方面,还提供了一种手术机器人系统,其包括:手术机器人、以及如上所述的手术机器人的碰撞检测系统;所述手术机器人包括至少两条机械臂,至少两条所述机械臂上的特征点被配置为所述目标对象节点,所述处理器用于根据所述目标对象节点空间位置,判断所述机械臂之间是否会发生碰撞,若是,则指示所述手术机器人发出报警、提示和启动安全保护机制中的至少一种。
可选的,所述手术机器人系统还包括:至少一个手术台,所述手术台的角点亦被配置为所述目标对象节点,所述处理器还用于根据所述机械臂的特征点和所述角点的空间位置,判断所述机械臂与所述手术台之间是否会发生碰撞,若是,则指示所述手术机器人发出报警、提示和启动安全保护机制中的至少一种。
可选的,所述手术机器人系统还包括:提示部件,所述提示部件包括设置于所述机械臂上的提示器;和/或,所述提示部件包括用于显示所述报警或提示信息的显示屏。
综上所述,在本发明提供的手术机器人系统、碰撞检测方法、系统及可读存储介质中,手术机器人的碰撞检测方法包括:利用至少两台相机获取手术机器人于手术环境中时,目标对象节点于不同角度下的至少两个图像信息;其中所述目标对象节点至少包括位于所述手术机器人的机械臂上的特征点;根据所述至少两个图像信息,获得所述目标对象节点的空间三维坐标;基于所述目标对象节点的空间三维坐标,获得至少两个所述目标对象节点之间的距离与预设阈值的差值,若所述差值小于或等于零,则进行报警、提示和启动安全保护机制中的至少一种。
如此配置,通过至少两台相机对机械臂进行视觉重建,有效地解决了机械臂之间的碰撞检测问题,降低了手术风险,且成本较低,对现有手术机器人的运行控制系统也不会造成干扰,方便部署。
附图说明
本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
图1是本发明一实施例的手术机器人系统的应用场景的示意图;
图2是本发明一实施例的手术机器人的碰撞检测方法的流程图;
图3是本发明一实施例的手术机器人系统的示意图;
图4是本发明一实施例的双目立体视觉算法的原理图;
图5是本发明一实施例的世界坐标系转换到相机坐标系的示意图;
图6是本发明一实施例的相机坐标系到手术机器人坐标系的转换示意图;
图7是本发明一实施例的对目标对象节点进行标注的示意图;
图8是本发明一实施例的建立机械臂的特征点的对应拓扑关系的示意图;
图9是本发明一实施例的建立手术台的角点的对应拓扑关系的示意图;
图10是本发明一实施例的提示部件的示意图。
附图中:
10-医生端控制装置;20-患者端控制装置;21-机械臂;22-关节;23-信号灯;30-处理器;40-相机;50-手术台;60-手术机器人坐标系;61-相机坐标系;221、222、223-节点;51、52、53、54-角点。
具体实施方式
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
如在本发明中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者至少两个该特征,术语“近端”通常是靠近操作者的一端,术语“远端”通常是靠近患者即靠近病灶的一端,“一端”与“另一端”以及“近端”与“远端”通常是指相对应的两部分,其不仅包括端点,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。此外,如在本发明中所使用的,一元件设置于另一元件,通常仅表示两元件之间存在连接、耦合、配合或传动关系,且两元件之间可以是直接的或通过中间元件间接的连接、耦合、配合或传动,而不能理解为指示或暗示两元件之间的空间位置关系,即一元件可以在另一元件的内部、外部、上方、下方或一侧等任意方位,除非内容另外明确指出外。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
本发明的主要目的在于提供一种手术机器人系统、碰撞检测方法、系统及可读存储介质,以解决现有的手术机器人中机械臂易产生碰撞的问题。
以下参考附图进行描述。
请参考图1至图10,其中,图1是本发明一实施例的手术机器人系统的应用场景的示意图;图2是本发明一实施例的手术机器人的碰撞检测方法的流程图;图3是本发明一实施例的手术机器人系统的示意图;图4是本发明一实施例的双目立体视觉算法的原理图;图5是本发明一实施例的世界坐标系转换到相机坐标系的示意图;图6是本发明一实施例的相机坐标系到手术机器人坐标系的转换示意图;图7是本发明一实施例的对目标对象节点进行标注的示意图;图8是本发明一实施例的建立机械臂的特征点的对应拓扑关系的示意图;图9是本发明一实施例的建立手术台的角点的对应拓扑关系的示意图;图10是本发明一实施例的提示部件的示意图。
本发明实施例提供一种手术机器人系统,图1示出了一个示范性的实施例中,利用所述手术机器人系统进行手术的应用场景。本发明的手术机器人系统对应用环境没有特别的限制。该手术机器人系统包括手术机器人及碰撞检测系统,所述手术机器人包括医生端控制装置10、患者端控制装置20以及手术台50;所述碰撞检测系统包括至少两台相机40以及与所述相机通信连接的处理器30。所述患者端控制装置20包括至少两条机械臂21,每条机械臂包括若干个关节22(如图8所示),机械臂21的末端用于挂载(或连接)手术器械和/或内窥镜。操作者从医生端控制装置10操纵以控制患者端控制装置20驱动机械臂21,实现操作手术器械和/或内窥镜,对位于手术台50上的患者进行手术。
发明人发现,如能够得到一待监测的物体表面上所有点的三维坐标,则该待监测的物体的形状与位置就是唯一确定的,在某些场合,例如待监测的物体是一个多面体,则只需要知道它的各个顶点的三维坐标与相邻关系,则该多面体的形状与位置即是唯一确定的。基于上述研究,为了便于通过碰撞检测系统对手术机器人进行碰撞检测,可将机械臂21抽象为若干个特征点的集合,例如将机械臂21的关节22作为特征点,如确定了关节22的坐标,即可确定当前机械臂21的位姿。因此若将机械臂21上的特征点配置为目标对象节点,处理器30根据目标对象节点的空间位置,即可判断机械臂21之间是否会发生碰撞。
进一步的,还可以将手术台50的角点亦配置为目标对象节点。具体的,可将手术台50抽象为若干个角点所包络的多面体,如确定了手术台50的角点,即可确定手术台50的位姿。由此,将机械臂21的特征点和手术台50的角点配置为目标对象节点,通过至少两台相机40对目标对象节点进行监测,处理器30即可基于双目立体视觉算法,获得目标对象节点的三维坐标,从而得到机械臂21和手术台50的位姿,进而根据机械臂21的特征点和角点的空间位置,判断所述机械臂21与所述手术台50之间是否会发生碰撞。
基于上述理论以及上述的碰撞检测系统,请参考图2,本实施例提供一种手术机器人的碰撞检测方法,其包括:
步骤S1:利用至少两台相机40获取手术机器人于手术环境中时,目标对象节点于不同角度下的至少两个图像信息;其中所述目标对象节点至少包括位于所述手术机器人的机械臂上的特征点;
步骤S2:根据所述至少两个图像信息,获得所述目标对象节点的空间三维坐标;
步骤S3:基于所述目标对象节点的空间三维坐标,获得至少两个所述目标对象节点之间的距离与预设阈值的差值,若所述差值小于或等于零,则进行报警、提示和启动安全保护机制中的至少一种。
在步骤S1中,所述目标对象节点包括机械臂21上的特征点,在步骤S3中,若差值小于或等于零,可以认为机械臂21可能会产生碰撞,因此可进行报警、提示或启动安全保护机制等操作,以提示操作者和保护患者。需要说明的,当手术机器人启动安全保护机制后,医生端控制装置10与患者端控制装置20脱离与主从关系,患者端控制装置20的机械臂21处于锁定状态,使得处于安全保护机制下的手术机器人无法进行手术操作,可避免对患者造成伤害。可以理解的,当仅将机械臂21上的特征点配置为目标对象节点的情况时,需至少两条机械臂21才会产生碰撞的问题,因此所述手术机器人包括至少两条机械臂21,至少两条所述机械臂21上的特征点被配置为所述目标对象节点。
优选的,在步骤S1中,所述目标对象节点还包括所述手术台50的角点,此时处理器30可根据机械臂21的特征点和角点的空间位置,判断机械臂21与手术台50之间是否会发生碰撞。
下面结合一示范性的实施例进行说明。请参考图3,在手术室上部四周墙壁上安装特定选择的相机40(如数字摄像机),相机40的数量可根据手术室的大小以及避免遮挡的原则,如可选为2~6台,确保手术室中任意一个目标对象节点都至少在两台相机40的视场场景中,一般的,对于任意一个目标对象节点,只需要被两台不同位置的相机40同时拍摄到,则该目标对象节点的三维坐标即可被确定。两台不同位置的相机40能够拍摄到一个目标对象节点的不同角度下的两个图像信息并传输至处理器30,处理器30根据所述两个图像信息,即可获得所述目标对象节点的空间三维坐标。处理器30通过监控各目标对象节点之间的距离,若任意两个目标对象节点之间的距离与预设阈值的差值小于或等于零,则进行报警或提示,其中,预设阈值可根据实际进行选取。优选的,报警或提示可传递到医生端控制装置10,反馈给操作者;或者在机械臂21上发出示警信号等。
可选的,处理器30基于不同角度下的两个图像信息,可根据双目立体视觉算法,计算得到目标对象节点的空间三维坐标。下面结合图4,说明双目立体视觉算法的原理,对于空间物体表面任意一个空间点P,如果用相机C1观察,看到它在相机C1的图像点位于p1,但我们无法由p1得知P的三维位置,事实上,在O1P(O1为相机C1的光心)连线上任意一点P’于相机C1上的图像点都是p1,因此,由p1点的位置,只能知道空间点P位于直线O1 p1上。同理,从相机C2的角度观察,可知空间点P位于直线O2p2上(O2为相机C2的光心,p2为空间点P在相机C2上的图像点)。由此,直线O1 p1与直线O2p2两条直线的交点即可确定为空间点P所处的位置,即空间点P的三维坐标是唯一确定的。
进一步的,在步骤S2之前,所述碰撞检测方法还包括:通过标定所述相机40的内参和/或外参以识别各个相机,建立至少两台所述相机40的相机坐标系、手术机器人坐标系与同一个参考坐标系的转换关系。由于每台相机40均具有各自的相机坐标系,并对应各自的世界坐标系,因此在利用至少两台相机40所拍摄的图像信息计算目标对象节点的空间三维坐标之前,可将这些相机40进行标定,将其各自的相机坐标系转换至同一个参考坐标系中,以便于进行计算。可选的,所述内参包括所述相机40的像素,所述外参包括所述相机40于手术环境中的安装位置。优选的,基于所述相机40的像素和所述相机40的安装位置,将不同的所述相机40对应的世界坐标系转换至不同的所述相机40的相机坐标系;进而将不同的所述相机40的相机坐标系转换至同一个所述参考坐标系。具体的,请参考图5,对于一个相机40而言,其自身具有相机坐标系(Xc,Yc,Zc),其还对应一世界坐标系(Xw,Yw,Zw)。相机坐标系的x轴和y轴与图像坐标系的对应轴平行,相机坐标系与图像坐标系两个坐标系间的距离就是相机的焦距f。相机坐标系以相机40的光心为坐标原点,光轴为z轴,因此可以用(Xc,Yc,Zc)来表示相机坐标系。根据如下的转换关系,可以将世界坐标系转换到相机坐标系中:
其中,R为3×3单位的正交矩阵,表示了坐标系之间的旋转操作;t为三维平移向量,代表了坐标系之间的平移操作;0表示三维零向量。通过上述的转换关系,可以将世界坐标系转换至相机坐标系中。需理解,这里的世界坐标系(Xw,Yw,Zw),是相对于某一特定的相机40的,实际中,该转换关系的应用场景是已知相机坐标系(Xc,Yc,Zc),求解目标对象节点在世界坐标系中的坐标。进一步的,请参考图6,在一个示范例中,为简化计算,可将手术机器人坐标系60作为统一的参考坐标系,一般的,手术机器人坐标系60是全局唯一的,把若干个相机坐标系61(以及其各自对应的世界坐标系)转换到手术机器人坐标系60中,即实现了将不同的相机40所拍摄的图像信息的坐标统一。可以理解的,参考坐标系并非必须采用手术机器人坐标系,其可以是手术室中任一点处的坐标系,因此也可以将相机坐标系61和手术机器人坐标系60分别转换到同一个参考坐标系中,以实现坐标统一。图6中,STC为相机坐标系61与手术机器人坐标系60之间的坐标映射关系。由此,当相机40安装固定好之后,相机坐标系61与手术机器人坐标系60之间的转换关系是固定且可计算得到的,在一些实施例中,相机坐标系61与手术机器人坐标系60之间的转换关系可预先置入在存储器中以供处理器30调用,处理器30可根据目标对象节点在相机坐标系61下的坐标,转换为目标对象节点在手术机器人坐标系60下的坐标,进而即可获知目标对象节点的位置和姿态信息,从而建立起手术室内的统一的参考坐标系。
进一步的,在步骤S2之后,所述碰撞检测方法还包括:通过对所述目标对象节点进行标注,建立不同的所述相机40中同一个所述目标对象节点的对应拓扑关系。请参考图7至图9,由于不同的相机40中,机械臂21和手术台50的姿态和位置均不同,会导致同一个目标对象节点在不同的相机40所拍摄的图像信息中,呈现不同的状态。因此在多路相机拍摄的图像信息中需要将同一个目标对象节点检测出来,并建立各个相机40中对于同一个目标对象节点的拓扑关系。在一些实施例中,可采用手动标注的方式,实现对目标对象节点进行标注。例如在图8所示出的示范例中,某一机械臂21具有三个关节22,可将其分别标注为:节点221、节点222以及节点223。在两个不同的相机40所拍摄的图像中,分别对该三个节点进行人工标注,如此配置,该两个相机40(相机40-C1,相机40-C2)所拍摄的图像(分别为图像C1P和图像C2P)对于该机械臂21的三个关节22即形成了对应的拓扑关系,可准确地对每个关节22的三维坐标进行计算,从而准确地获知机械臂21的位姿。在图9示出的示范例中,手术台50具有四个角点,可将其分别标注为:角点51、角点52、角点53和角点54,同样的,在不同的相机40所拍摄的图像中,分别对该四个角点进行人工标注,以获得不同的相机40所拍摄的图像对于该四个角点的拓扑关系。进一步,可对整个手术机器人系统中所有的目标对象节点的对应关系建立一个拓扑关系表,该拓扑关系表即可作为后续的空间关系判定的基础依据。
优选的,步骤S3中,可利用最小二乘算法求解所述至少两个图像信息。下面继续参考图4,空间中任意一个空间点P在两个相机C1与相机C2上的图像点p1与p2已经从两个图像中分别检测出来。即已知p1与p2为空间中同一个空间点P分别于相机C1与相机C2上的对应点。基于前述对于同一个目标对象节点的拓扑关系,并且各个相机的内参和外参已经经过标定,相机C1与相机C2的投影矩阵分别为M1与M2,于是有:
其中,(u1,v1,1)与(u2,v2,1)分别为p1与p2点在各自图像中的图像齐次坐标;(X,Y,Z,1)为P点在世界坐标系下的齐次坐标;
为Mk的第i行第j列元素,k为投影矩阵序号。上式(4.1)与式(4.2)消去Z
c1与Z
c2得到关于X,Y,Z的四个线性方程:
由于空间点P是直线O1p1与直线O2p2的交点,它必然同时满足上述4式,联立这4个式子,从而求出空间点P在世界坐标系下的坐标(X,Y,Z)。四个方程,三个未知数,也就是说这个方程组只需有三个独立的方程即可求解,之前已经假设p1与p2点是空间中同一空间点P的对应点,因此已经假设了直线O1p1与直线O2p2一定相交,或者说,这四个方程必定有解,而且解是唯一的。而实际应用中,由于数据一般会有噪声,因此可以用最小二乘法求出空间点P的三维坐标(X,Y,Z)。最小二乘法是本领域广泛采用的算法,本领域技术人员可根据现有技术对最小二乘法进行理解,这里不再展开说明。
请参考图10,可选的,在一个示范例中,手术机器人系统还包括提示部件,所述提示部件包括设置于所述机械臂21上的提示器;和/或,所述提示部件包括用于显示所述报警或提示信息的显示屏。设置于所述机械臂21上的提示器如包括信号灯23或蜂鸣器,显示屏如可为医生端控制装置10上的显示装置,或其它独立设置的显示装置,显示屏上可显示交互视觉软件的界面,当处理器检测出目标对象节点之间的距离与预设阈值的差值小于或等于零时,所述处理器30可通过提示部件显示报警或提示的信息,以提示操作者。表1示范性的示出了一种碰撞逻辑的提示情况,需理解,下表中仅为一种碰撞逻辑的提示情况而非对提示情况的限定。
表1
基于上述碰撞检测方法,本实施例还提供一种可读存储介质,其上存储有程序,所述程序被执行时实现如上所述的手术机器人的碰撞检测方法,该可读存储介质可集成设置在手术机器人系统中,如集成于处理器所连接的存储器中,也可以独立附设。
综上所述,在本发明提供的手术机器人系统、碰撞检测方法、系统及可读存储介质中,手术机器人的碰撞检测方法包括:利用至少两台相机获取手术机器人于手术环境中时,目标对象节点于不同角度下的至少两个图像信息;其中所述目标对象节点至少包括位于所述手术机器人的机械臂上的特征点;根据所述至少两个图像信息,获得所述目标对象节点的空间三维坐标;基于所述目标对象节点的空间三维坐标,获得至少两个所述目标对象节点之间的距离与预设阈值的差值,若所述差值小于或等于零,则进行报警、提示和启动安全保护机制中的至少一种。如此配置,通过至少两台相机对机械臂进行视觉重建,有效地解决了机械臂之间的碰撞检测问题,降低了手术风险,且成本较低,对现有手术机器人的运行控制系统也不会造成干扰,方便部署。
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。