一种开颅机器人的协同交互控制系统转让专利

申请号 : CN201710182375.8

文献号 : CN106965175B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 段星光韩定强崔腾飞李浩源

申请人 : 北京理工大学

摘要 :

本发明公开了一种开颅机器人的协同交互控制系统,系统包括运动限制模块、医生‑机器人交互模块、机器人‑患者交互模块和求解器;运动限制模块用于实时追踪机器人的位置,并和限定的区域进行对比,从而将机器人限制在一定区域内运动;医生‑机器人交互模块用于完成医生对机器人的实时速度控制;机器人‑患者交互模块在颅骨铣削过程中,铣刀的末端和颅骨底面保持一定的接触力,以及在颅骨钻孔的过程中保持一定的钻进力;求解器用于完成机器人的逆运动学解算,输入和输出分别为机器人运动和关节运动速度,从而驱动机器人运动。本发明综合医生灵活度高与机器人精度高的优点,提高手术安全性的同时提高手术效率与质量,降低医生开颅手术疲劳程度。

权利要求 :

1.一种开颅机器人的协同交互控制系统,其特征在于,该系统包括运动限制模块、医生-机器人交互模块、机器人-患者交互模块和求解器;其中,所述运动限制模块用于实时追踪机器人的位置,并和限定的区域进行对比,从而将机器人限制在一定区域内运动;所述医生-机器人交互模块用于完成医生对机器人的实时速度控制,即医生拖动机器人进行运动;

所述机器人-患者交互模块在颅骨铣削过程中,铣刀的末端和颅骨底面保持一定的接触力,以及在颅骨钻孔的过程中保持一定的钻进力;所述求解器用于完成机器人的逆运动学解算,输入为机器人运动的速度,输出为机器人的关节运动速度,从而驱动机器人运动;

所述运动限制模块的输入为术前或术中实时规划的安全区域范围yr以及安全姿态角θr,θr为颅铣或颅钻的轴线方向和接触面法向的夹角,通过求和运算器与实时的机器人的位置姿态进行对比,从而由控制器Cr生成控制速度 再与权重矩阵I-W相乘得到输出速度来限制机器人的运动,机器人的实时位置姿态由正运动学计算C(q)来完成;

医生-机器人交互模块的输入fh为医生施加在机器人操作手把上的操作力,通过与刚度矩阵Kh相乘,从而得到由医生的操作力所产生的速度 即医生的期望速度,通过力和机器人末端速度一一对应的方式来完成医生和机器人的交互,通过射影算子Pp对速度进行切向或法向上的分解,再与权重矩阵W相乘调节其输出速度的大小;

机器人-患者交互模块的输入为接触力fc_d,通过求和运算器完与实时反馈力fc对比,从而得到控制的偏差,将控制偏差输入到比例控制器KpCy中,其中Cy为系统柔顺度,用于建立起速度和接触力的关系,Kp为比例控制系数矩阵,然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与其它速度进行求和,另外控制偏差通过微分运算器d/dt得到偏差的导数,将导数输入到微分控制器中KdCy,Kd为微分控制系数矩阵,然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与运动限制模块和医生-机器人交互模块的输出速度进行求和得到速度 再通过逆运动学求解器完成关节速度的求解,驱动机器人的运动。

2.如权利要求1所述的开颅机器人的协同交互控制系统,其特征在于,当权重矩阵W=1时,机器人由医生的施加的力控制,其控制刚度为Kh,即机器人跟随人手的运动;当W=0时,机器人为纯位置控制,其刚度可认为无穷大;当机器人末端偏离安全区域越远时,W的值越小,此时速度 所占的比重增加, 所占比重减小,对医生产生的反馈力增加,即偏离安全区域的距离和机器人对医生产生的反馈力成正比,从而达到阻抗控制的效果,将机器人限定在安全区域内。

3.如权利要求2所述的开颅机器人的协同交互控制系统,其特征在于,在颅骨铣削的过程共有三个控制任务同时进行,一是根据术前的医学图像采集到的颅骨三维数据实时计算出当前颅骨表面的法线矢量,从而控制铣刀和颅骨表面垂直,安全姿态角θr为0°;二是在法线方向上实现对机器人的力矩控制,保持铣刀末端和颅骨一定的接触力,分开粘合在一起的硬膜;三是医生通过把持末端实现铣刀在颅骨表面切向上的运动控制;每个控制任务都会生成一条实时运动轨迹,最后基于安全区域的约束带完成这三条轨迹的叠加得;

从医学图像上可以得到颅骨表面的法线矢量为n,因此可以得到力控的射影算子为Pp=nnT,位置控制的射影算子为Pf=I-nnT,位置控制和力控任务可以被解耦为:

其中 和 为位置控制和力控任务所生成的速度,在交互过程中,安全性不仅仅体现在机器人与接触力的控制上,同时也体现在机器人本身位置、姿态的约束上;通过正运动学实时计算出机械臂当前的位姿,并通过和安全区域yr的对比来决定权重矩阵W的值,从而在速度上限制机器人运动;因此最终生成的速度轨迹为:

4.如权利要求2所述的开颅机器人的协同交互控制系统,其特征在于,在颅骨钻孔的过程中有三个控制任务同时进行,一是为了保证孔的位置不偏,需要控制钻头的轴线与颅骨表面垂直,设定安全姿态角θr为0°;二是通过设定接触力fc_d,由机器人来控制进钻力的大小;三是将医生实时对机器人的控制产生的速度沿着颅骨表面法线的方向上进行分解;此时Pp=Pf=nnT,位置控制和力控通过解耦进行叠加;为了防止钻透硬膜,当颅骨钻透后令求解器的输入速度 从而使机器人运动停止。

说明书 :

一种开颅机器人的协同交互控制系统

技术领域

[0001] 本发明涉及一种交互控制系统,具体涉及一种开颅机器人的协同交互控制系统。

背景技术

[0002] 神经外科疾病治疗方法主要以手术为主。目前,神经外科手术中开颅手术所占比例最高,仅解放军总医院每年开颅手术达三千例以上。而且神经外科手术为外科手术中最费时费力的手术之一,尤其是开颅手术。传统开颅手术均为人来完成,医生在开颅手术中所使用的颅钻/颅铣有两类:一类是电动气动式,另一类是手动式。现有的颅钻/颅铣均为手持进钻设备,重量在1kg左右,医生长时间负重操作,并且需要保证钻铣的高精度,保障手术安全,这种传统的开颅方法大大消耗医生的体力与精力,并且还需要有经验的医生方可实施。一般开颅需要1小时,清除肿瘤需要2小时,由此可见开颅在神经外科手术中无论是时间还是数量上都占据较大比重,消耗医生精力很多,更何况在开颅之后尚需完成更复杂、精细及耗时的进一步手术操作。因此把开颅这项兼具复杂性与高风险性的任务由机器人来辅助执行,通过人机协同控制算法来提高安全性和时效性,具有十分重要的意义。
[0003] 协同交互控制主要体现在机械臂的逆向驱动上,即机械臂能对外界施加的力做出相应的运动。目前实现机械臂逆向驱动的方式有以下几种:(1)通过检测电机的电流突变来实现,但该方式需要比较精确的动力学模型和关节的摩擦力补偿,对于轻型机械臂(惯性小,关节摩擦力小)一般采用该方法,如巴瑞特全丝传动机械臂能达到较好的交互控制效果(丝传动摩擦力的影响可忽略不计),但对于传统结构的机械臂效果较差;(2)通过在每个关节增加扭矩传感器,直接避开了对减速器、电机转子的建模,可以精确的检测关节力矩,并且效果较好,如kuka iiwa的七自由度机械臂,但是成本较高。(3)仅使用电机编码器,通过编码返回的关节角度的变化,从而预测施加在机械臂上的力,驱动机械臂运动;(4)通过在末端加力传感器,该方式能在不需要知道机械臂动力学的情况下直接实现其逆向驱动,而且不受末端负载的影响。
[0004] 然而在现有的技术中,侧重于单方面的交互控制,前三种实现交互操作的方式多用于拖动示教或者碰撞检测,但当末端负载变化时,负载对机械臂施加的力和人对机械臂施加的力直接耦合在一起,无法分辨,第四种方式也只用于机器人柔性装配或者拖动示教上,使用场景比较受限制。对于开颅手术机器人人,不仅仅需要解决医生和机器人之间的交互,而且需要解决机器人和患者以及患者和医生的交互,这对算法的安全性以及功能实现的要求更加苛刻,是现有的技术难以解决的问题。

发明内容

[0005] 本发明的目的是针对现有交互控制算法的不足,提供了一种开颅机器人的协同交互控制系统,系统通过力/位/阻抗混合控制的方式实现开颅手术机器人、医生以及病患三者之间的安全交互控制,手术过程中医生通过操控手把来实现对机器人的牵引并进行颅骨切割钻铣,综合医生灵活度高与机器人精度高的优点,提高手术安全性的同时提高手术效率与质量,最大程度降低医生开颅手术疲劳程度。
[0006] 一种开颅机器人的协同交互控制系统,该系统包括运动限制模块、医生-机器人交互模块、机器人-患者交互模块和求解器;其中,所述运动限制模块用于实时追踪机器人的位置,并和限定的区域进行对比,从而将机器人限制在一定区域内运动;所述医生-机器人交互模块用于完成医生对机器人的实时速度控制,即医生拖动机器人进行运动;所述机器人-患者交互模块在颅骨铣削过程中,铣刀的末端和颅骨底面保持一定的接触力,以及在颅骨钻孔的过程中保持一定的钻进力;所述求解器用于完成机器人的逆运动学解算,输入为机器人运动的速度,输出为机器人的关节运动速度,从而驱动机器人运动。
[0007] 进一步地,所述运动限制模块的输入为术前或术中实时规划的安全区域范围yr以及安全姿态角θr,θr为颅铣或颅钻的轴线方向和接触面法向的夹角,通过求和运算器与实时的机器人的位置姿态进行对比,从而由控制器Cr生成控制速度 再与权重矩阵I-W相乘得到输出速度来限制机器人的运动,机器人的实时位置姿态由正运动学计算C(q)来完成;
[0008] 医生-机器人交互模块的输入fh为医生施加在机器人操作手把上的操作力,通过与刚度矩阵Kh相乘,从而得到由医生的操作力所产生的速度 即医生的期望速度,通过力和机器人末端速度一一对应的方式来完成医生和机器人的交互,通过射影算子Pp对速度进行切向或法向上的分解,再与权重矩阵W相乘调节其输出速度的大小;
[0009] 机器人-患者交互模块的输入为接触力fc_d,通过求和运算器完与实时反馈力fc对比,从而得到控制的偏差,将控制偏差输入到比例控制器KpCy中,其中Cy为系统柔顺度,用于建立起速度和接触力的关系,Kp为比例控制系数矩阵,然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与其它速度进行求和,另外控制偏差通过微分运算器d/dt得到偏差的导数,将导数输入到微分控制器中KdCy,Kd为微分控制系数矩阵,然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与运动限制模块和医生-机器人交互模块的输出速度进行求和得到速度 再通过逆运动学求解器完成关节速度的求解,驱动机器人的运动。
[0010] 进一步地,当权重矩阵W=1时,机器人由医生的施加的力控制,其控制刚度为Kh,即机器人跟随人手的运动;当W=0时,机器人为纯位置控制,其刚度可认为无穷大;当机器人末端偏离安全区域越远时,W的值越小,此时速度 所占的比重增加, 所占比重减小,对医生产生的反馈力增加,即偏离安全区域的距离和机器人对医生产生的反馈力成正比,从而达到阻抗控制的效果,将机器人限定在安全区域内。
[0011] 进一步地,在颅骨铣削的过程共有三个控制任务同时进行,一是根据术前的医学图像采集到的颅骨三维数据实时计算出当前颅骨表面的法线矢量,从而控制铣刀和颅骨表面垂直,安全姿态角θr为0°;二是在法线方向上实现对机器人的力矩控制,保持铣刀末端和颅骨一定的接触力,分开粘合在一起的硬膜;三是医生通过把持末端实现铣刀在颅骨表面切向上的运动控制;每个控制任务都会生成一条实时运动轨迹,最后基于安全区域的约束带完成这三条轨迹的叠加得;
[0012] 从医学图像上可以得到颅骨表面的法线矢量为n,因此可以得到力控的射影算子为Pp=nnT,位置控制的射影算子为Pf=I-nnT,位置控制和力控任务可以被解耦为:
[0013]
[0014]
[0015] 其中 和 为位置控制和力控任务所生成的速度,在交互过程中,安全性不仅仅体现在机器人与接触力的控制上,同时也体现在机器人本身位置、姿态的约束上;通过正运动学实时计算出机械臂当前的位姿,并通过和安全区域yr(圆环状区域,保证铣削的轨迹处于圆环之内)的对比来决定权重矩阵W的值,从而在速度上限制机器人运动,提高安全性;因此最终生成的速度轨迹为:
[0016]
[0017] 进一步地,在颅骨钻孔的过程中有三个控制任务同时进行,一是为了保证孔的位置不偏,需要控制钻头的轴线与颅骨表面垂直,设定安全姿态角θr为0°;二是通过设定接触力fc_d,由机器人来控制进钻力的大小;三是将医生实时对机器人的控制产生的速度沿着颅骨表面法线的方向上进行分解;此时Pp=Pf=nnT,位置控制和力控通过解耦进行叠加;为了防止钻透硬膜,当颅骨钻透后令求解器的输入速度 从而使机器人运动停止。
[0018] 有益效果:
[0019] 1.本发明的控制系统能实现医生与机器人的良好交互,形成医生在环的控制模式,解决了医生在机器人辅助手术中所处控制地位的问题。
[0020] 2.本发明的控制系统综合了医生灵活度高与机器人精度高的优点,提高手术安全性的同时提高手术效率与质量,降低医疗机器人本身的复杂程度,充分利用人机交互模式,最大程度降低医生开颅手术疲劳程度,减少医生对经验的依赖。
[0021] 3.先前手术机器人少有辅助完成开颅手术的功能,本发明技术方案实现了手术机器人复杂危险性高的开颅手术任务,减轻医生手术的负担,提高手术精度与效率,实现了医疗机器人的创新。

附图说明

[0022] 图1为本发明的控制逻辑框图。

具体实施方式

[0023] 下面结合附图并举实施例,对本发明进行详细描述。
[0024] 如附图1所示,本发明提供了一种开颅机器人的协同交互控制系统,该系统包括虚线中的四个模块,分别是:运动限制模块Ⅰ、医生-机器人交互模块Ⅱ、机器人-患者交互模块Ⅲ和求解器Ⅳ;
[0025] 其中,运动限制模块Ⅰ用于实时追踪机器人的位置,并和限定的区域进行对比,从而将机器人限制在一定区域内运动;医生-机器人交互模块Ⅱ用于完成医生对机器人的实时速度控制,即医生拖动机器人进行运动;机器人-患者交互模块Ⅲ在颅骨铣削过程中,铣刀的末端和颅骨底面保持一定的接触力,以及在颅骨钻孔的过程中保持一定的钻进力;求解器Ⅳ用于完成机器人的逆运动学解算,输入为机器人运动的速度,输出为机器人的关节运动速度,从而驱动机器人运动。
[0026] 第一部分运动限制模块Ⅰ的控制输入为术前或术中实时规划的安全区域范围yr以及安全姿态角θr(即为颅铣或颅钻的轴线方向和接触面法向的夹角),通过求和运算器来与实时的机器人的位置姿态进行对比,从而由控制器Cr生成控制速度 再与权重矩阵I-W相乘得到输出速度来限制机器人的运动,机器人的实时位置姿态由正运动学计算C(q)来完成;
[0027] 中间部分医生-机器人交互模块Ⅱ的控制输入fh为医生施加在机器人操作手把上的操作力,通过与刚度矩阵Kh相乘,从而得到由医生的操作力所产生的速度 即医生的期望速度,通过力和机器人末端速度一一对应的方式来完成医生和机器人的交互,通过射影算子Pp对速度进行切向或法向上的分解,再与权重矩阵W相乘调节其输出速度的大小;
[0028] 第三部分机器人-患者交互模块Ⅲ的控制用于完成机器人和患者之间接触力的控制,控制输入为接触力fc_d,通过求和运算器完与实时反馈力fc对比,从而得到控制的偏差,将控制偏差输入到比例控制器KpCy中(其中Cy为系统柔顺度,用于建立起速度和接触力的关系,Kp为比例控制系数矩阵),然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与其它速度进行求和,另外控制偏差通过微分运算器d/dt得到偏差的导数,将导数输入到微分控制器中KdCy(其中Kd为微分控制系数矩阵),然后将输出的速度通过射影算子Pf进行法向上的分解,最后输出的速度与其它速度进行求和。最后将I、II、III部分输出的速度进行求和得到速度 再通过第四部分逆运动学求解器Ⅳ完成关节速度的求解,驱动机器人的运动。
[0029] 当权重矩阵W=1时,机器人由医生的施加的力控制,其控制刚度为Kh,即机器人跟随人手的运动。当W=0时,机器人为纯位置控制,其刚度可认为无穷大。当机器人末端偏离安全区域越远时,W的值越小,此时速度 所占的比重增加, 所占比重减小,对医生产生的反馈力增加,即偏离安全区域的距离和机器人对医生产生的反馈力成正比,从而达到阻抗控制的效果,将机器人限定在安全区域内。
[0030] 在颅骨铣削的过程共有三个控制任务同时进行。一是根据术前的医学图像采集到的颅骨三维数据实时计算出当前颅骨表面的法线矢量,从而控制铣刀和颅骨表面垂直(安全姿态角θr为0°);二是在法线方向上实现对机器人的力矩控制,保持铣刀末端和颅骨一定的接触力,分开粘合在一起的硬膜;三是,医生通过把持末端实现铣刀在颅骨表面切向上的运动控制。每个控制任务都会生成一条实时运动轨迹,最后基于安全区域的约束带完成这三条轨迹的叠加得。
[0031] 从医学图像上可以得到颅骨表面的法线矢量为n,因此可以得到力控的射影算子T T为Pp=nn,位置控制的射影算子为Pf=I-nn,位置控制和力控任务可以被解耦为:
[0032]
[0033]
[0034] 其中 和 为位置控制和力控任务所生成的速度。在交互过程中,安全性不仅仅体现在机器人与接触力的控制上,同时也体现在机器人本身位置、姿态的约束上。通过正运动学可以实时计算出机械臂当前的位姿,并通过和安全区域yr(圆环状区域,保证铣削的轨迹处于圆环之内)的对比来决定权重矩阵W的值,从而在速度上限制机器人运动,提高安全性。因此最终生成的速度轨迹为:
[0035]
[0036] 在颅骨钻孔的过程中有三个控制任务同时进行。一是为了保证孔的位置不偏,需要控制钻头的轴线与颅骨表面垂直(设定安全姿态角θr为0°);二是通过设定接触力fc_d,由机器人来控制进钻力的大小;三是将医生实时对机器人的控制产生的速度沿着颅骨表面法T线的方向上进行分解。此时Pp=Pf=nn ,位置控制和力控通过解耦进行叠加,与颅骨的铣削控制过程类似。当颅骨钻透后,反馈力fc瞬间减小,此时令求解器Ⅳ的输入速度 从而使机器人运动停止,防止钻透硬膜。
[0037] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。