1.本发明涉及腔镜手术机器人技术领域,具体而言,涉及一种基于术式仿真的腔镜手术机器人碰撞检测方法及装置。
背景技术:2.腔镜手术体外操作空间较小,腔镜手术机器人在进行腔镜手术时机械臂可能会发生碰撞现象,机械臂之间的碰撞以及机械臂与其他设备的干涉会产生诸如视野晃动、微器械末端抖动等问题,都会对微创手术操作产生较大影响。为克服这一问题,目前多采用术前规划进行被动预防或通过机械臂集成相应的检测传感器来预判碰撞、干涉,但均不能清晰直观地反映手术机器人的机械臂动作,不便于对手术机器人进行调整、改进。
技术实现要素:3.本发明解决的问题是:如何仿真模拟手术机器人的操作,以检测机械臂之间的碰撞。
4.为解决上述问题,本发明提供一种基于术式仿真的腔镜手术机器人碰撞检测方法,包括:
5.获取腔镜手术的戳卡布局与手术区域;
6.根据所述戳卡布局与所述手术区域,确定手术机器人机械臂所持手术器械的运动轨迹数据及初始插入姿态;
7.根据所述初始插入姿态,确定所述机械臂的术前摆位;
8.根据所述运动轨迹数据和所述术前摆位,确定所述机械臂的术中运动;
9.检测所述术中运动中所述机械臂之间的碰撞情况。
10.可选地,所述获取腔镜手术的戳卡布局与手术区域包括:
11.获取关于所述腔镜手术的文献、书籍及临床经验信息;
12.根据所述文献、所述书籍及所述临床经验信息,提取所述戳卡布局与所述手术区域。
13.可选地,所述根据所述初始插入姿态,确定所述机械臂的术前摆位包括:
14.根据所述初始插入姿态,通过机器人运动学逆解所述机械臂的术前摆位;
15.所述根据所述运动轨迹数据和所述术前摆位,确定所述机械臂的术中运动包括:
16.根据所述运动轨迹数据和所述术前摆位,通过机器人运动学逆解所述机械臂的术中运动。
17.可选地,所述根据所述戳卡布局与所述手术区域,确定手术机器人机械臂所持手术器械的运动轨迹数据及初始插入姿态包括:
18.当内窥镜为0
°
内窥镜时,所述内窥镜的所述初始插入姿态为所述内窥镜对应戳卡与所述手术区域中心的连线;
19.当所述内窥镜为带倾角的内窥镜时,所述内窥镜对应戳卡和所述手术区域中心的
连线与所述内窥镜的初始插入姿态的夹角大于0
°
。
20.可选地,所述检测所述术中运动中所述机械臂之间的碰撞情况包括:
21.当所述术中运动中所述机械臂之间发生碰撞时,确定发生碰撞的所述机械臂及其姿态与干涉距离。
22.可选地,所述当所述术中运动中所述机械臂之间发生碰撞时,确定发生碰撞的所述机械臂及其姿态与干涉距离之后,所述检测所述术中运动中所述机械臂之间的碰撞情况还包括:
23.确定所述机械臂在手术空间中的碰撞率。
24.可选地,所述当所述术中运动中所述机械臂之间发生碰撞时,确定发生碰撞的所述机械臂及其姿态与干涉距离之前,所述检测所述术中运动中所述机械臂之间的碰撞情况还包括:
25.在所述机械臂上建立包络体模型;
26.对所述包络体模型进行运动学建模;
27.根据所述机械臂间距判断不同所述机械臂之间是否发生碰撞。
28.为解决上述问题,本发明还提供一种基于术式仿真的腔镜手术机器人碰撞检测装置,包括:
29.获取单元,用于获取腔镜手术的戳卡布局与手术区域;
30.计算识别单元,用于根据所述戳卡布局与所述手术区域,确定手术机器人机械臂所持手术器械的运动轨迹数据及初始插入姿态;用于根据所述初始插入姿态,确定所述机械臂的术前摆位;用于根据所述运动轨迹数据和所述术前摆位,确定所述机械臂的术中运动;以及用于检测所述术中运动中所述机械臂之间的碰撞情况。
31.为解决上述问题,本发明还提供一种基于术式仿真的腔镜手术机器人碰撞检测装置,包括存储有计算机程序的计算机可读存储介质和处理器,当所述计算机程序被所述处理器读取并运行时,实现如权利要求1至7任一项所述的基于术式仿真的腔镜手术机器人碰撞检测方法。
32.为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,当所述计算机程序被处理器读取并运行时,实现如上所述的基于术式仿真的腔镜手术机器人碰撞检测方法。
33.本发明与现有技术相比,具有以下有益效果:基于术式仿真的腔镜手术机器人碰撞检测方法用于复现腔镜手术中手术机器人的操作,其采用机器人运动仿真软件,能够以三维图形的形式仿真模拟腔镜手术中手术机器人的操作(运动),并实现仿真模拟的可视化,以清晰直观地反映手术机器人的机械臂动作以及机械臂之间的碰撞情况,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析(例如分析手术机器人进行不同腔镜手术时易发生的机械臂碰撞状态),从而便于发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据与方向。其中,本方法引入腔镜手术术式的戳卡分布及手术操作范围,使手术机器人进行操作仿真的效果更接近手术机器人的临床实际效果,提升了本方法运动仿真的准确性与可靠性;且本方法适于对不同腔镜手术术式及不同的器械插入位姿进行运动仿真,以便于分析得到最佳的器械插入位姿。
附图说明
34.图1为本发明实施例中基于术式仿真的腔镜手术机器人碰撞检测方法的流程图;
35.图2为本发明实施例中步骤100的流程图;
36.图3为本发明实施例中步骤500的流程图;
37.图4为本发明实施例中带倾角的内窥镜处于初始插入姿态时的结构示意图;
38.图5为本发明实施例中基于术式仿真的腔镜手术机器人碰撞检测装置的结构示意图。
39.附图标记说明:
40.10-获取单元;20-计算识别单元。
具体实施方式
41.为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
42.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
43.结合图1所示,本发明实施例提供一种基于术式仿真的腔镜手术机器人碰撞检测方法,包括以下步骤:
44.步骤100、获取腔镜手术的戳卡布局与手术区域。
45.具体地,根据文献、书籍及医生的临床经验信息、手术记录等,获取其中所有腔镜手术的戳卡布局与相应的手术区域,其中,戳卡布局即戳卡(trocar)在人体上的布置位置,手术区域即手术器械围绕病灶的操作区域。
46.步骤200、根据戳卡布局与手术区域,确定手术机器人机械臂所持手术器械的运动轨迹数据及初始插入姿态。
47.具体地,通过在手术区域建立坐标系,或者对手术区域进行网格划分,例如将手术区域划分为多个边长相等的正方体网格,以便于结合坐标系或网格来确定手术器械(例如手术刀、手术钳、内窥镜等)在手术区域内的运动轨迹数据(比如通过手术器械经过的网格、网格节点来反映手术器械的运动轨迹)。以手术区域中心(也是病灶中心)作为“目标点”,戳卡在人体上的布置位置与“目标点”的连线即为手术器械的初始插入姿态。
48.步骤300、根据初始插入姿态,确定机械臂的术前摆位。
49.具体地,根据手术器械的初始插入姿态,通过机器人运动学逆解腔镜手术机器人(后文简称手术机器人)持有相应手术器械的机械臂(例如器械臂、镜头臂等)的各关节变量,实现机械臂术前摆位。其中,手术机器人的机械臂一般分为被动部分与主动部分,被动部分与主动部分的区别在于手术过程中该关节是否动作;如果该关节动作,则称其为主动部分;如果该关节不动作,则称其为被动部分。机械臂术前摆位即对手术前机械臂连接戳卡时的机械臂被动部分与主动部分的初始关节角度进行规定,使得与机械臂连接的手术器械保持在初始插入姿态。
50.步骤400、根据运动轨迹数据和术前摆位,确定机械臂的术中运动。
51.具体地,根据手术器械的运动轨迹数据及初始插入姿态,在机械臂术前摆位的基础上,通过对手术器械的运动轨迹数据进行运动学逆解,得到手术机器人机械臂的各关节变量,并对手术器械、手术机器人机械臂的主动部分等进行运动仿真,确定手术机器人机械臂在腔镜手术中的术中运动。其中,可通过机器人运动仿真软件进行手术机器人机械臂的运动仿真。
52.步骤500、检测术中运动中机械臂之间的碰撞情况。
53.具体地,根据仿真的手术机器人机械臂的术中运动,检测术中运动中机械臂之间的碰撞情况;当术中运动中机械臂之间发生碰撞时,确定发生碰撞的机械臂及其姿态等信息,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析,从而发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据。
54.这样,基于术式仿真的腔镜手术机器人碰撞检测方法用于复现腔镜手术中手术机器人的操作,其采用机器人运动仿真软件,能够以三维图形的形式仿真模拟腔镜手术中手术机器人的操作(运动),并实现仿真模拟的可视化,以清晰直观地反映手术机器人的机械臂动作以及机械臂之间的碰撞情况,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析(例如分析手术机器人进行不同腔镜手术时易发生的机械臂碰撞状态),从而便于发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据与方向。其中,本方法引入腔镜手术术式的戳卡分布及手术操作范围,使手术机器人进行操作仿真的效果更接近手术机器人的临床实际效果,提升了本方法运动仿真的准确性与可靠性;且本方法适于对不同腔镜手术术式及不同的器械插入位姿进行运动仿真,以便于分析得到最佳的器械插入位姿。
55.可选地,根据本方法检测到手术机器人的结构设计问题,并对其进行改进后,可继续使用改进后的手术机器人进行术式仿真(即实施本方法),从而继续发现问题。依此循环,可不断改进设备。
56.可选地,结合图1、图2所示,步骤100包括:
57.步骤110、获取关于腔镜手术的文献、书籍及临床经验信息;
58.步骤120、根据文献、书籍及临床经验信息,提取戳卡布局与手术区域。
59.具体地,先获取文献、书籍及医生的临床经验信息、手术记录等,再通过对文献、书籍及医生的临床经验信息、手术记录等进行整理总结(归纳、筛选),提取其中所有腔镜手术的戳卡布局(即戳卡在人体上的布置位置)及相应的手术区域(即手术器械围绕病灶的操作区域),以使手术机器人进行操作仿真的效果更接近手术机器人的临床实际效果,从而提升本方法运动仿真的准确性与可靠性
60.可选地,步骤300包括:
61.根据初始插入姿态,通过机器人运动学逆解机械臂的术前摆位;
62.步骤400包括:
63.根据运动轨迹数据和术前摆位,通过机器人运动学逆解机械臂的术中运动。
64.具体地,步骤300中,在确定手术器械的初始插入姿态后,通过机器人运动学逆解腔镜手术机器人持有相应手术器械的机械臂的各关节变量,实现机械臂术前摆位。步骤400中,在确定手术器械的运动轨迹、初始插入姿态及机械臂的术前摆位的前提下,通过对手术器械的运动轨迹数据进行运动学逆解,得到手术机器人持有相应手术器械的机械臂相应关
节变量,并通过机器人运动仿真软件对手术器械、手术机器人机械臂的主动部分等进行运动仿真,确定手术机器人机械臂在腔镜手术中的术中运动。
65.可选地,步骤200包括:
66.当内窥镜为0
°
内窥镜时,内窥镜的初始插入姿态为内窥镜对应戳卡与手术区域中心的连线;
67.当内窥镜为带倾角的内窥镜时,内窥镜对应戳卡和手术区域中心的连线与内窥镜的初始插入姿态的夹角大于0
°
。
68.具体地,在内窥镜为0
°
内窥镜时,内窥镜的初始插入姿态类似其他手术器械的初始插入姿态,均是相应戳卡到手术区域中心的连线。结合图4所示,在内窥镜为带α倾角的内窥镜时,可根据手术区域中心位置、内窥镜头距离手术区域中心的距离、内窥镜对应戳卡位置及内窥镜倾角计算内窥镜对应戳卡和手术区域中心的连线与内窥镜的初始插入姿态的夹角;具体地,内窥镜镜头与手术区域中心之间需具有一定距离a,而手术区域中心到内窥镜对应戳卡的距离为b(可根据手术区域中心相对戳卡的坐标计算得到),镜头轴线与光轴(其对准手术区域中心)夹角为α,如此,可根据α,a,b的几何关系结合相应坐标系计算出内窥镜镜头的位置,此时,以内窥镜对应戳卡到内窥镜镜头的连线作为内窥镜的初始插入姿态,即可计算得到内窥镜的初始插入姿态与内窥镜对应戳卡和手术区域中心的连线之间的大于0
°
夹角的大小。
69.可选地,结合图1、图3所示,步骤500包括以下步骤:
70.步骤540、当术中运动中机械臂之间发生碰撞时,确定发生碰撞的机械臂及其姿态与干涉距离。
71.具体地,在术中运动中,当机械臂之间发生碰撞时,确定发生碰撞的机械臂、发生碰撞的机械臂的姿态以及发生碰撞的机械臂之间的干涉距离,如此,以全面收集手术机器人机械臂的碰撞信息,便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析,从而发现手术机器人结构设计问题,以为手术机器人的改进提供了有力且可靠的依据。其中,发生碰撞的机械臂的姿态包括相应机械臂的位置及关节角度(例如通过计算发生碰撞的机械臂相应关节处的电机码盘值得到)等信息,发生碰撞的机械臂之间的干涉距离包括发生碰撞的机械臂之间的间距及碰撞深度(后文介绍)等信息。
72.可选地,结合图1、图3所示,步骤540之后,步骤500还包括以下步骤:
73.步骤550、确定机械臂在手术空间中的碰撞率。
74.具体地,手术空间为手术机器人所有机械臂所持手术器械在相应腔镜手术中的运动空间的结合;通过对手术空间进行网格划分,例如,将手术空间划分为多个边长相等的正方体网格,以使得手术空间由多个边长相等的正方体网格构成。通过计算手术空间中所有的网格的节点(例如正方体网格的顶点,其中,多个正方体公共的一个顶点记为一个节点)的数量i1,以及计算在机械臂之间发生碰撞时所有手术器械所经过的网格节点的数量i2,即可得到机械臂在手术空间中的碰撞率ic=i2/i1。通过计算碰撞率ic,以直接反映手术机器人在相应腔镜手术中机械臂的碰撞几率。
75.可选地,结合图1、图3所示,步骤540之前,步骤510还包括以下步骤:
76.步骤510、在机械臂上建立包络体模型;
77.步骤520、对包络体模型进行运动学建模;
78.步骤530、根据机械臂间距判断不同机械臂之间是否发生碰撞。
79.具体地,对于不同机械臂上的可能发生碰撞的连杆分别建立包络体模型,并使包络体模型能够包裹整个连杆或可能发生碰撞的结构部分。之后,对包络体模型进行运动学建模,完成碰撞检测模型的建立。各包络体模型的实时空间位置可通过计算相应关节处电机码盘值得到,根据包络体模型的实时空间位置则可以轻易地计算获得连杆间距,即两个不同包络体模型的距离。其后,根据连杆最短间距即可判断两个不同机械臂之间是否碰撞。
80.在本实施例中,由于机械臂的连杆结构较为复杂,不易对机械臂的连杆的空间位置进行分析,因此通过将不同机械臂的连杆抽象为包络体模型便于进行分析。建立包络体模型的方式包括:确定机械臂上连杆上的特征点的位置,通过特征点、预设的包络体模型的半径以及预设的包络体模型的长度建立包络体模型;其中,包络体模型的长度是两个特征点之间的距离长度。例如:将两个不同机械臂的连杆的胶囊包络体分别简化为线段ab和cd,设a点坐标为(x1,y1,z1),b点的坐标为(x2,y2,z2),c点的坐标为(x3,y3,z3),d点的坐标为(x4,y4,z4)。
81.设p是直线ab上的一点,p点的坐标(x,y,z)可以表示为
[0082][0083]
当参数0≤s≤1时,p是线段ab上的点;当参数s《0时,p是ba延长线上的点;当参数s》1时,p是ab延长线上的点。
[0084]
设q是直线cd上的一点,q点的坐标(u,v,w)可以表示为
[0085][0086]
当参数0≤t≤1时,q是线段cd上的点;当参数t《0时,q是dc延长线上的点;当参数t》1时,q是cd延长线上的点。
[0087]
p、q两点之间的距离为:
[0088][0089]
求两连杆的最短距离也就是求线段ab、cd的最短距离,也就是求关于变量s、t的pq两点之间的距离。将p、q两点之间的距离公式分别对变量s、t求偏导数,偏导数为零时的s、t取值经过计算便得到两机械臂连杆的最短距离。如果s、t的值大于0小于1,说明p、q两点在连杆上。则两连杆的最短距离为:
[0090][0091]
反之,如果s、t的值不满足大于0小于1的条件,说明p、q两点不在连杆上。则两连杆的最短距离为a点到线段cd的最短距离、b点到线段cd的最短距离、c点到线段ab的最短距离、d点到线段ab的最短距离中的最小值。
[0092]
这样,在两连杆的最短距离大于两连杆的包络体模型的半径之和时,两连杆未发生碰撞;在两连杆的最短距离小于或等于两连杆的包络体模型的半径之和时,两连杆发生
碰撞,两连杆的包络体模型的半径之和与两连杆的最短距离之差即为两连杆的碰撞深度。
[0093]
通过机器人运动仿真软件进行手术机器人机械臂的碰撞仿真,使得本方法能够高效且快速地执行;且通过采用包络体模型进行不同机械臂之间的碰撞仿真,进一步提升了本方法执行的速度与效率。
[0094]
结合图5所示,本发明另一实施例提供一种基于术式仿真的腔镜手术机器人碰撞检测装置,包括:
[0095]
获取单元10,用于获取腔镜手术的戳卡布局与手术区域;
[0096]
计算识别单元20,用于根据戳卡布局与手术区域,确定手术机器人机械臂所持手术器械的运动轨迹数据及初始插入姿态;用于根据初始插入姿态,确定机械臂的术前摆位;用于根据运动轨迹数据和术前摆位,确定机械臂的术中运动;以及用于检测术中运动中机械臂之间的碰撞情况。
[0097]
本实施例中,基于术式仿真的腔镜手术机器人碰撞检测装置通过获取单元10与计算识别单元20等结构的配合,以实施上述的基于术式仿真的腔镜手术机器人碰撞检测方法,用于复现腔镜手术中手术机器人的操作,其采用机器人运动仿真软件,能够以三维图形的形式仿真模拟腔镜手术中手术机器人的操作(运动),并实现仿真模拟的可视化,以清晰直观地反映手术机器人的机械臂动作以及机械臂之间的碰撞情况,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析,从而便于发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据与方向。
[0098]
本发明又一实施例提供一种基于术式仿真的腔镜手术机器人碰撞检测装置,包括存储有计算机程序的计算机可读存储介质和处理器,当计算机程序被处理器读取并运行时,实现上述的基于术式仿真的腔镜手术机器人碰撞检测方法。
[0099]
本实施例中,通过基于术式仿真的腔镜手术机器人碰撞检测装置的处理器、计算机可读存储介质等结构的配合,执行上述的基于术式仿真的腔镜手术机器人碰撞检测方法,以用于复现腔镜手术中手术机器人的操作,其采用机器人运动仿真软件,能够以三维图形的形式仿真模拟腔镜手术中手术机器人的操作(运动),并实现仿真模拟的可视化,以清晰直观地反映手术机器人的机械臂动作以及机械臂之间的碰撞情况,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析,从而便于发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据与方向。
[0100]
本发明再一实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,当计算机程序被处理器读取并运行时,实现上述的基于术式仿真的腔镜手术机器人碰撞检测方法。
[0101]
本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本发明实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0102]
通过计算机可读存储介质,存储基于术式仿真的腔镜手术机器人碰撞检测方法相应的计算机程序,能够保证基于术式仿真的腔镜手术机器人碰撞检测方法相应的计算机程序被相应处理器读取和运行时的稳定性。这样执行基于术式仿真的腔镜手术机器人碰撞检
测方法,以用于复现腔镜手术中手术机器人的操作,其采用机器人运动仿真软件,能够以三维图形的形式仿真模拟腔镜手术中手术机器人的操作(运动),并实现仿真模拟的可视化,以清晰直观地反映手术机器人的机械臂动作以及机械臂之间的碰撞情况,以便于对相应腔镜手术中手术机器人机械臂的碰撞状态进行分析,从而便于发现手术机器人结构设计问题,为手术机器人的改进提供了有力且可靠的依据与方向。
[0103]
虽然本公开披露如上,但本公开的保护范围并非仅限于此。本领域技术人员在不脱离本公开的精神和范围的前提下,可进行各种变更与修改,这些变更与修改均将落入本发明的保护范围。