1.本发明涉及机械臂控制技术领域,尤其涉及一种机械臂平面控制方法、装置、机械臂及存储介质。
背景技术:2.手术机器人在一些工作过程中,需要医生手持机械臂末端摆锯在规划的平面上进行平移切割。为了保证切割过程中的精准,不会超过合理的接线,在术前规划阶段会根据切割对象的位置情况对周围软组织进行规划保护,在规划时设计边界防止机械臂末端摆锯锯片超过边界对周围组织造成伤害。而现在的机械臂很难进行精准控制,并生成合理的工作边界,以安全的进行手术工作。
技术实现要素:3.第一方面,本技术提供一种机械臂平面控制方法,包括:
4.根据对工作对象和所述工作对象的对象模型进行预先配准后得到的匹配参数,以及获取的机械臂的末端工具处所受到的外力,控制所述末端工具在预先规划的工作平面上移动;
5.根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的所述工作平面的工作边界,控制所述末端工具在所述工作边界内移动。
6.进一步的,所述控制所述末端工具在预先规划工作平面上移动包括:
7.通过视觉传感器,获取所述末端工具的位置,并通过所述匹配参数获取所述工作平面的实际坐标,确定所述末端工具与所述工作平面之间的相对位置;其中所述视觉传感器设置在使得视觉范围覆盖所述机械臂和所述工作对象的位置;
8.调整所述末端工具的位置,使所述末端工具作用于所述工作平面上,通过设置在所述末端工具处的力传感器获取所述外力,并控制垂直于所述工作平面的力矩为0,使得所述末端工具维持在所述工作平面上。
9.进一步的,所述工作边界通过预先规划得到,包括:
10.根据所述工作平面和所述对象模型,规划所述工作边界,以使所述工作边界正好包围所述工作平面中的所述工作对象。
11.进一步的,所述控制所述末端工具在所述工作边界内移动,包括:
12.实时计算所述当前坐标和所述目标坐标的第一距离,以及在所述末端工具运动方向上,所述当前坐标与所述工作边界的第二距离;
13.控制保持所述第一距离小于所述第二距离,使得所述末端工具在所述工作边界内移动。
14.进一步的,所述匹配参数包括旋转参数和平移参数;
15.所述工作对象和所述工作对象的对象模型进行预先配准,包括:
16.获取所述对象模型的模型点云数据,通过视觉传感器,获取所述工作对象表面的
标记点,从而获取所述工作对象的实际点云数据;
17.确定所述模型点云数据和所述实际点云数据的转换关系,计算所述模型点云数据转换到所述实际点云数据的平移参数和旋转参数。
18.进一步的,所述计算所述模型点云数据转换到所述实际点云数据的平移参数和旋转参数,包括:
19.根据所述转换关系,计算所述模型点云数据转换到所述实际点云数据的误差值,通过计算所述误差值的最小值,获取所述平移参数和所述旋转参数。
20.进一步的,所述误差值通过如下表达式计算得到:
[0021][0022]
式子中,p为所述对象模型的坐标点集,q为所述工作对象的坐标点集,i为点集p和q中坐标点的下标,r为所述旋转参数,t为所述平移参数,n为所述坐标点的总数。
[0023]
第二方面,本技术还提供一种机械臂平面控制装置,包括:
[0024]
第一控制模块,用于根据对工作对象和所述工作对象的对象模型进行预先配准后得到的匹配参数,以及获取的手术机械臂的末端工具处所受到的外力,以控制所述末端工具在预先规划的工作平面上移动;
[0025]
第二控制模块,用于根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的所述工作平面的工作边界,控制所述末端工具在所述工作边界内移动。
[0026]
第三方面,本技术还提供一种机械臂,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的机械臂平面控制方法。
[0027]
第四方面,本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的机械臂平面控制方法。
[0028]
本发明实施例公开了一种机械臂平面控制方法、装置、机械臂及存储介质,该方法包括:根据对工作对象和所述工作对象的对象模型进行预先配准后得到的匹配参数,以及获取的手术机械臂的末端工具处所受到的外力,以维持所述末端工具在预先规划的工作平面上移动;根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的所述工作平面的工作边界,控制所述末端工具在所述工作边界内移动。以保障机械臂的移动范围不会超界。保证手术机械臂的手术过程更加安全。
附图说明
[0029]
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0030]
图1示出了本技术实施例一种机械臂平面控制方法流程示意图;
[0031]
图2示出了本技术实施例一种手术机械臂末端工具坐标系示意图;
[0032]
图3示出了本技术实施例一种工作边界示意图;
[0033]
图4示出了本技术实施例机械臂工作场景示意图;
[0034]
图5示出了本技术实施例一种机械臂平面控制装置结构示意图。
具体实施方式
[0035]
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
[0036]
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0037]
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0038]
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0039]
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
[0040]
本技术的技术方案,通过对工作对象进行扫描,对得到的对象模型和实际的工作对象进行配准,得到图像坐标系和实际坐标系这两个坐标系之间的转换关系,从而可以将在图像坐标系下进行的术前规划数据,转换成实际坐标系下的数据,进而可以在对象模型上规划工作平面和工作边界,使得械臂可以在规划的范围内工作,不超过边界。
[0041]
在术前规划时,根据对象模型,规划手术机械臂在该工作对象上的工作平面以及工作边界,通过配准得到的匹配参数,将规划出来的工作平面和工作边界坐标转换成实际坐标,使得机械臂可以根据自身的坐标系进行控制。然后再根据机械臂当前位置和接下来的位置进行判定,判断末端工具是不是会超过边界,若会超过,则不予执行该命令,若不会超过,则允许执行。从而控制该手术机械臂的末端工具不会超出该工作边界,以对患者进行更好的保护作用,加强手术机械臂的安全性。
[0042]
接下来以具体实施例说明本技术的技术方案。
[0043]
实施例1
[0044]
如图1所示,本技术的技术方案包括以下步骤:
[0045]
步骤s100,根据对工作对象和所述工作对象的对象模型进行配准后得到的匹配参数,以及手术机械臂的末端工具处所受到的外力,控制所述末端工具在预先规划工作平面上移动。
[0046]
在本实施例中,可根据手术机器人具体的工作内容以确定具体的工作对象,例如,该工作对象可以是膝关节或口腔等,则对象模型可以是通过ct扫描等方式获得的膝关节的
骨骼模型或口腔模型。建立模型以便给手术机械臂进行术前规划,接下来以膝关节为例进行本技术技术方案的说明。
[0047]
骨骼模型是膝关节在电脑中建立的三维模型,是立体的膝关节模型,可以理解的是,扫描出来的骨骼模型和实际的膝关节是完全一样的大小,只是所在的坐标系不同。
[0048]
得到了骨骼模型后,还需要将骨骼模型和实际的膝关节配准。因为在图像中的骨骼模型所在的坐标系和实际物理空间中的膝关节,不在同一个坐标系中,因此直接在图像上进行的术前规划,和实际物理空间中是不一样的,因此需要获取图像坐标系中的骨骼模型,到物理空间坐标系下的膝关节之间的坐标转换关系,即匹配参数。
[0049]
其中本步骤需要求取的坐标转换关系h可以表示为:
[0050][0051]
其中,r代表旋转参数,t代表平移参数,v代表透视向量,u代表比例因子。因为通过ct扫描得到的骨骼模型是不会有形变和缩放的,因此透视向量v为0,比例因子u为1,所以主要需要求取旋转参数和平移参数。
[0052]
其中,旋转参数表示从图像坐标系中的骨骼模型,到物理空间坐标系下的膝关节的旋转变换,平移参数代表骨骼模型到膝关节的平移变换,透视向量和比例因子表示骨骼模型和膝关节之间的缩放大小。
[0053]
为了进行配准,还需要获取膝关节在空间中的位置,因此需要在膝关节上设置标记点,通过视觉传感器来拍摄获取这些标记点的位置,为了能精确的拍摄获取标记点的位置,以确认膝关节的位置,可以通过探针来获取这些标记点的位置,即通过手持探针指向这些标记点的位置,视觉传感器通过获取探针的图像数据,进而计算到探针针尖所在位置,因为探针针尖指向标记点,所以可以得到这些标记点的位置。
[0054]
标记点的坐标也有多个,因此可以通过这些标记点的位置,得到膝关节在物理空间中的位置。
[0055]
由此,可以得到两个点集,即骨骼模型的点集p以及膝关节的点集q,这两个点集中的坐标点一一对应,所以存在如下表达式:
[0056][0057]
该式子中,i为点集p和q中第i个坐标点,n为坐标点的总数。该式表示在旋转参数r和平移参数t的情况下,骨骼模型的点集转换到实际膝关节的点集的误差值。
[0058]
可以理解的是,可以计算得到使得上述表达式的误差值为最小值的r和t,该r和t是使得骨骼模型与实际的膝关节之间的转换误差最小的旋转变化与平移变化的组合,也就是进行坐标转换效果最好的参数组合,则由该r和t组成的转换关系h即为需要得到的转换关系,因此可以将该r和t作为配准结果。
[0059]
得到配准结果后,就可以得到图像坐标系中的点到实际物理坐标系下的点的映射关系,在进行术前规划时,规划的手术路径以及手术区域,都可以反应到实际的物理坐标系下,为后续控制机械臂提供了便利。
[0060]
实际手术前,会进行术前规划,例如膝关节的置换手术,需要确定从哪一面开刀破
皮,怎样进行切割,然后取出膝关节并将要换进去的膝关节模型放进去。本实施例主要关心对工作平面的选取和工作边界的规划。
[0061]
其中,工作平面与手术机械臂进行手术的方位相关,简单来讲,可以认为是在术前规划中,手术机械臂进行手术动作所形成的平面。例如需要对膝关节进行切割,切割面需要是平整的,因此手术机械臂需要在规划的切割面上运动,而不能有其他平面方向上的运动。例如对膝关节进行横向切割时,不能有纵向运动,或者呈一定倾斜角度的运动,纵向切割时也不能有横向运动,这样保证进行切割时的精准。
[0062]
其中,为了控制手术机械臂在该给定的平面上移动,需要对机械臂各个方面向的力矩进行控制。对于机械臂来讲,会受到如朝下的重力,和运动方向相反的摩擦力或者因为一些系统错误所导致的干扰力,这些力都是外力,通过在机械臂末端设置力传感器,实时的获取机械臂末端所受到的外力,这样可以根据这些外力,计算得到电机应该输出多大的力去平衡这些外力,达到将机械臂稳定在一个平面上的效果。
[0063]
如图2所示,为手术机械臂末端工具坐标系示意图,已知对手术机械臂的末端工具建立坐标系后,在该xyz坐标系下存在前后左右上下六个方向,若上述的工作平面是xy平面,则在该平面上进行移动时,不能进行z轴方向上的移动,为此,需要将位于z轴方向上的力矩控制为0,以保持末端工具在xy平面上的运动。
[0064]
可以理解的是,手术机械臂在运动时,会受到重力等因素的影响,因此在运动时,机械臂需要平衡掉这些外力,使得各个方向实际的力矩和理论上的相同。同样的,针对这些垂直于工作平面的力矩,需要考虑到重力等外力的影响,使之平衡到0,这样才不会影响末端工具在该平面上的运动,保证末端工具不会在工作时出现差错。
[0065]
步骤s200,根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的工作边界,控制所述末端工具在所述工作边界内移动。
[0066]
针对规划好的平面,需要规划其工作边界,该工作边界表示那些不应该被影响到的部位,如在进行膝关节切割时,切割的主要对象是骨头,而不是周边的肌肉组织,因此不能切割到这些肌肉组织,所以需要根据这些肌肉组织来规划这些平面。因为上述的肌肉组织都是包裹住膝关节的四周的,只要不超过膝关节的边界,则不会在切割时伤害到肌肉组织,所以可以根据膝关节的模型进行这些边界的规划。
[0067]
如图3所示,图中膝关节20在如图所示的平面中进行切割,手术机械臂30从如图所示的方向,对膝关节20进行切割操作,可以理解的是,除了面向手术机械臂30的那一面需要破皮外,其余的三面的软组织都属于不应该被影响到的部位,且切割的范围也应该局限在膝关节20自身所占空间,因此可以按照该膝关节20的大小,规划出工作边界10。工作边界10为半开口的边界,朝向手术机械臂30的部分没有边界,而另外三面根据膝关节20本身的轮廓大小,设置了对应边界,以局限手术机械臂的活动空间,以保护其他的肌肉组织。
[0068]
具体而言,该工作边界10的生成可以参照如图3所示,该膝关节20以椭圆形示意,则工作边界10就以最长的直径为长,最短的直径为宽,设置和该椭圆形四周相切的矩形,并将手术机械臂所在方向的边界去除,得到如图3中的半开口的工作边界10。
[0069]
确定了工作平面和工作边界后,需要控制手术机械臂保持在该平面上移动,通过前述经过配准得到的匹配参数,可以获得规划出来的工作边界与工作平面在物理空间中的实际坐标,根据这些实际坐标,控制手术机械臂调整到适当的位置,让手术机械臂的末端工
具落在工作平面上。
[0070]
在末端工具进行工作时,会实时计算末端工具当前坐标,接下来的指令使得末端工具会移动到的目标坐标,以及距离该目标坐标最近的工作边界的坐标。
[0071]
当前坐标为机械臂末端工具当前所在的空间坐标,该坐标通过视觉传感器获得。目标坐标则可以通过解析手术机械臂的控制指令,计算手术机械臂在经过了这个控制指令后,会到达的坐标,该坐标即为目标坐标。最近的工作边界的坐标可以通过机械臂的移动方向确定。
[0072]
获取这些坐标后,可以实时计算所述当前坐标和所述目标坐标的第一距离,以及在所述末端工具运动方向上,所述当前坐标与所述工作边界坐标点的第二距离。
[0073]
当第一距离小于第二距离时,可知末端工具在移动后,不会穿过所划定的工作边界,则可以认为不会发生影响到周边肌肉组织的情况,若是第一距离大于第二距离,则认为在执行了下一个指令后,末端工具会穿过所划定的工作边界,则可以认为会发生影响到周边肌肉组织的情况,因此机械臂不会执行该指令,并反馈给控制端,重新规划接下来的运动距离和方向。
[0074]
具体的,如图4所示,a点为手术机械臂末端工具的当前位置,b点为根据接下来的控制指令,计算得到的目标坐标,则ab两点可以得到一条轨迹直线,该轨迹直线和已知的工作边界10相交于c点,该c点就是上述工作边界坐标点。其中线段ab的长度为第一距离,线段ac的长度为第二距离,可知当ab大于ac时,b点会超过边界,机械臂不能执行该控制指令。当ab小于ac时,则代表b点不会超过边界,机械臂可以执行该控制指令。
[0075]
可以理解的是,若机械臂的运动方向是朝向没有边界的开口处运动时,是不需要进行上述计算的。
[0076]
本发明实施例公开了一种机械臂平面控制方法包括:根据对工作对象和所述工作对象的对象模型进行预先配准后得到的匹配参数,以及获取的机械臂的末端工具处所受到的外力,以控制所述末端工具在预先规划的工作平面上移动;根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的所述工作平面的工作边界,控制所述末端工具在所述工作边界内移动。以保障机械臂的移动范围不会超界。保证手术机械臂的工作过程更加安全。可以理解的是,本技术的技术方案主要是用于对手术机械臂的控制,为了手术过程的安全进行的机械臂控制的改良,提高手术机械臂工作时的安全度,同时也避免了机械臂在工作区域外的地方进行运动,减少了意外和损伤,更好的控制机械臂的移动,提高了对机械臂的控制精度。
[0077]
如图5所示,本技术还提供一种机械臂平面控制装置,包括:
[0078]
第一控制模块40,用于根据对工作对象和所述工作对象的对象模型进行配准后得到的匹配参数,以及手术机械臂的末端工具处所受到的外力,以控制所述末端工具在预先规划工作平面上移动。
[0079]
第二控制模块50,用于根据所述末端工具的当前坐标、所述末端工具移动后的目标坐标以及预先规划的工作边界,控制所述末端工具在所述工作边界内移动。
[0080]
可以理解的是,上述功能模块的功能和上述方法流程是对应的,在此不再赘述。
[0081]
本技术还提供一种机械臂,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的机械臂平面控制装置各个模块的功能。
[0082]
本技术还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的机械臂平面控制装置各个模块的功能。
[0083]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0084]
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
[0085]
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0086]
以上所述,仅为本发明的具体实施方式,其中虽然设计手术过程,但是都是为了方便理解进行的扩展说明,本技术的技术方案不涉及治疗,只涉及对机械臂的控制,保证机械臂在手术过程中,不会伤害软组织,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。