CN117414197A - 机械臂末端动力工具的力控制方法、装置、设备及介质 - Google Patents
机械臂末端动力工具的力控制方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117414197A CN117414197A CN202210813464.9A CN202210813464A CN117414197A CN 117414197 A CN117414197 A CN 117414197A CN 202210813464 A CN202210813464 A CN 202210813464A CN 117414197 A CN117414197 A CN 117414197A
- Authority
- CN
- China
- Prior art keywords
- power tool
- tail end
- coordinate
- coordinate system
- force
- 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 62
- 230000000007 visual effect Effects 0.000 claims abstract description 38
- 238000005520 cutting process Methods 0.000 claims description 71
- 239000000700 radioactive tracer Substances 0.000 claims description 40
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 18
- 230000005484 gravity Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000007781 pre-processing Methods 0.000 claims description 11
- 230000001133 acceleration Effects 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 20
- 238000001356 surgical procedure Methods 0.000 description 18
- 230000006837 decompression Effects 0.000 description 14
- 230000000399 orthopedic effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000002684 laminectomy Methods 0.000 description 3
- 238000012829 orthopaedic surgery Methods 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 210000000278 spinal cord Anatomy 0.000 description 3
- 210000000115 thoracic cavity Anatomy 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 208000005198 spinal stenosis Diseases 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 206010029174 Nerve compression Diseases 0.000 description 1
- 206010041549 Spinal cord compression Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000002324 minimally invasive surgery Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000003867 tiredness Effects 0.000 description 1
- 208000016255 tiredness Diseases 0.000 description 1
Classifications
-
- 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
- A61B34/77—Manipulators with motion or force scaling
-
- 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/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
-
- 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
- A61B34/37—Master-slave 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
- A61B34/76—Manipulators having means for providing feel, e.g. force or tactile feedback
-
- 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/20—Surgical navigation systems; Devices for tracking or guiding surgical instruments, e.g. for frameless stereotaxis
- A61B2034/2046—Tracking techniques
- A61B2034/2065—Tracking using image or pattern recognition
Landscapes
- Health & Medical Sciences (AREA)
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Surgery (AREA)
- Robotics (AREA)
- Biomedical Technology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Heart & Thoracic Surgery (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是本公开实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本公开实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本公开。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本公开的描述。
如背景技术内容,现有的机器人辅助骨科手术系统多用于术中规划导航定位,机器人辅助骨科手术系统虽然可以帮助医生完成手术规划,精准定位导航。但是,无法解决人机协同控制过程中的力控制问题,即无法通过医生与机器人的力交互完成对于手术切割平面区域的限制,尚不能满足脊柱减压手术对于精准操作的要求。
以胸椎和腰椎椎板切除减压术为例,胸椎和腰椎椎板切除减压术是通过手术解除因椎管狭窄脊髓和神经受压的方法,脊柱任何部位的椎管狭窄都可以实行减压术,只是致压部位和性质不同,减压途径和方式也不一样。
在临床上,由于手术区域位于脊髓附近,存在较高的手术风险,因此对手术的切割精准性要求极高。目前的胸椎和腰椎椎板切除减压术多是由经验丰富的医生手持切割器械进行操作,对于医生的经验、术中操作精度要求高。虽然手术机器人本身不存在人手抖动、乏累的问题,但是由于医生手持切割器械进行操作,加上切割时产生的不稳定反作用力,使得医生难以持续维持恒定的力和精准的切割位置,从而导致准确性降低,手术时间延长。
有鉴于此,本公开实施例提供一种机械臂末端动力工具的力控制方法,通过视觉传感器采集到的视觉信号信息以及当前时刻的机械臂位姿信息,计算当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;当医生拖动动力工具进行手术操作时,将力传感器感应到的力传感器信号进行预处理得到力信号,并将力信号转换为动力工具末端坐标系下的末端力信号;根据末端力信号以及相对位置关系,利用力控制算法确定动力工具末端对应的位置控制量,从而根据位置控制量以及规划的虚拟边界,对动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对下一时刻的动力工具的位姿进行调整,从而保证动力工具末端的位置始终处于手术规划平面区域内。本公开实现了机器人辅助骨科手术系统中对人机交互的力控制方法,实现术中对动力工具拖动操作的区域限定,通过机械臂自动调整动力工具的位姿,使医生拖动动力工具移动时,动力工具末端不会超出规划的限定区域,从而辅助医生完成长时间的精准操作,满足骨科手术对于精准操作的要求。
需要说明的是,本公开以下实施例是以机器人辅助脊柱椎板减压手术中的力控制过程为例进行说明的。但是应当理解的是,本公开实施例提供的机械臂末端动力工具的力控制方法不限于骨科手术,更不限于脊柱椎板减压手术。其他任何基于机器人辅助手术系统的手术场景均适用于本方案,以下实施例中的应用场景也不构成对本公开技术方案的限定。
下面以机器人辅助脊柱椎板减压手术为例,对本公开涉及的脊柱机器人系统的整体架构以及机器人辅助脊柱椎板减压手术的整体操作流程进行说明。
本公开在实际场景中涉及的脊柱机器人系统由以下部分组成:主控台车、主机台车和工具箱,其中,主控台车中可以包括主控电脑和双目相机,主机台车中可以包括机械臂、机头示踪器和机械臂末端工具(即动力工具),工具箱中可以包括患者示踪器。在实际应用中,主机台车的机械臂末端可以由以下硬件结构组成:机械臂末端关节、机械臂末端法兰盘、六维力传感器、动力工具和机头示踪器。本公开不对脊柱机器人系统以及机械臂末端的具体结构进行限定,任何包含力传感器结构的手术机器人系统均适用于本公开技术方案,上述脊柱机器人系统以及机械臂末端结构不构成对本公开技术方案的限定。
本公开在实际场景中涉及的机器人辅助脊柱椎板减压手术的整体操作流程具体可以包括以下步骤:
Step1:根据CT影像或术中三维影像对患者的患处进行配准;
Step2:医生在机器人辅助手术系统的软件上规划将要切割的平面区域,包括大小、形状和深度;
Step3:连接机械臂末端的六维力传感器,并根据六维力信号标定的流程和算法进行六维力的工具重力标定和零漂标定;
Step4:根据医生在软件上对切割平面区域的规划结果,机械臂会自动将切割工具移动到切割平面的初始位置;
Step5:在切割过程中,动力工具开启,医生拖动动力切割工具,机械臂会根据医生拖动力的大小提供反馈,动力工具末端顺着医生施力的方向在规划平面内移动,达到切割的目的;同时,系统会根据机头示踪器和患者示踪器的位置,实时计算动力切割工具末端在规划切割平面区域中的位置,并且进行边界控制,使得动力切割工具末端不超出规划的切割平面区域范围;
Step6:切割完毕后,医生移动动力工具离开切割区域,医生进行手术后续操作。
进一步地,上述Step5切割过程中涉及的力控制算法是由安装在系统中的控制器来实现的,控制器包括跟踪控制模块、力控制模块和虚拟边界判定模块,下面结合附图以及具体实施例对控制器的结构及其功能进行详细介绍。图1是本公开实施例提供的控制器的整体算法流程示意图。如图1所示,该控制器具体可以包括:
跟踪控制模块,用于根据利用双目视觉相机获取的机头示踪器和患者示踪器的位置信息以及从机械臂处获取到的机械臂位姿信息,实时计算出手术规划平面区域在机械臂坐标系下的相对位置关系和当前动力工具末端在手术规划平面区域坐标系下的相对位置关系,相对位置关系用于追踪和力控制量的计算;
力控制模块,用于根据力传感器获取的力传感器信息以及跟踪控制模块输出的相对位置关系,通过力控制算法计算动力工具末端的位置控制量;
虚拟边界判定模块,用于根据跟踪控制模块输出的相对位置关系和力控制模块输出的动力工具末端的位置控制量与手术中医生输入的规划切割平面区域信息结合,判断动力工具末端是否会超出规划的切割平面区域并修改控制位姿,达到始终令动力切割工具末端处于规划切割平面区域内的目的,输出最终的控制指令。
图2是本公开实施例提供的机械臂末端动力工具的力控制方法的流程示意图。图2的机械臂末端动力工具的力控制方法可以由上述控制器来执行。如图2所示,该机械臂末端动力工具的力控制方法具体可以包括:
S201,基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
S202,当动力工具受到外力作用时获取力信号,并将力信号转换为动力工具末端坐标系下的末端力信号;
S203,基于末端力信号以及相对位置关系,确定动力工具末端对应的位置控制量,位置控制量用于表示下一时刻的动力工具末端在手术规划平面区域坐标系下的相对位置;
S204,根据位置控制量以及手术规划平面区域对应的虚拟边界,对动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对位置控制量进行调整,根据调整后的位置控制量生成控制指令并发送给机械臂,控制指令用于控制机械臂对下一时刻的动力工具的位姿进行调整,以使动力工具末端的位置始终处于手术规划平面区域内。
具体地,本公开实施例的动力工具包括超声骨刀和磨钻等手术工具,在实际应用中,动力工具也称为机械臂末端工具、末端工具、切割工具、动力切割工具等;手术规划平面区域是医生在机器人辅助手术系统的软件上所规划的手术切割区域,手术规划平面区域也称为手术切割平面区域、规划平面区域、规划切割平面区域、切割区域、规划区域等。应当理解的是,上述名词之间的差异仅仅是对同一事物的不同表达方式,不同名词之间所指代的实质内容相同,名词上的替换不构成对本公开技术方案的限定。
进一步地,在医生拖动动力工具进行切割手术的过程中,本公开实施例所提供的基于控制器的动力工具的力控制方法是以一定的时间周期进行迭代的,即每一个时间周期内,都需要读取视觉传感器信息(即视觉信号信息)、机械臂位姿信息和力传感器信息(即力传感器信号),切割规划信息可以无需重复读取。在每个时间周期内,都需要完成跟踪控制模块、力控制模块、虚拟边界判定模块的计算,每个循环时间周期最终都会输出对机械臂的控制指令,用于调整动力工具的位姿,使动力工具末端在整个手术操作过程中始终处于切割规划的平面区域内。
下面结合具体附图以及实施例,对本公开基于控制器实现动力工具的力控制的过程及原理进行细化说明。图3是本公开实施例提供的基于控制器实现的动力工具力控制的算法流程示意图。如图3所示,该基于控制器实现的动力工具力控制的算法具体可以包括以下内容:
控制器由三个虚拟模块所组成,即跟踪控制模块、力控制模块和虚拟边界判定模块,每个虚拟模块用于执行相应的操作并输出对应的结果,下面分别结合具体实施例,对每个虚拟模块所涉及的处理过程的内容进行详细说明。
在一些实施例中,跟踪控制模块用于基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系,包括:
获取利用视觉传感器采集的视觉信号信息,根据视觉信号信息计算患者示踪器坐标系在机头示踪器坐标系下的相对位置关系;
基于预先获取的配准结果、当前时刻的机械臂位姿信息以及患者示踪器坐标系在机头示踪器坐标系下的相对位置关系,对手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系进行更新;
基于当前时刻的机械臂位姿信息以及预先标定的工具矩阵,计算动力工具末端坐标系在机械臂基座坐标系下的相对位置关系;
根据更新后的手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系,以及动力工具末端坐标系在机械臂基座坐标系下的相对位置关系,计算动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
其中,视觉信号信息包括患者示踪器以及机头示踪器对应的位置信息,配准结果包括患处影像与患者的患处之间的配准结果,在实际应用中,由于手术过程中患者的患处基于患者示踪器的位置进行定位,因此配准也可以理解为患处影像与患者示踪器之间的配准,配准的过程可以理解为建立影像坐标系与患者示踪器坐标系之间变换关系的过程。
具体地,跟踪控制模块首先根据获取到的视觉信号信息,计算患者示踪器坐标系在机头示踪器坐标系下的相对位置Tpatient2robot;再根据配准结果Torigin2patient(即配准后得到的变换矩阵),当前时刻的机械臂位姿Ttcp2base和患者示踪器坐标系在机头示踪器坐标系下的相对位置Tpatient2robot,更新手术规划平面区域的初始位置在机械臂基座坐标系下的相对位姿Torigin2base。
进一步地,基于当前时刻的机械臂位姿Ttcp2base和预先标定的工具矩阵Ttool2robot,计算出动力工具末端在机器人基座坐标系下位姿Ttool2base;预先标定的工具矩阵是指预先标定的动力工具末端到机械臂末端法兰盘之间的安装矩阵,工具矩阵中包含工具参数信息(比如动力工具末端到机械臂末端法兰盘之间的长度对应的三维坐标参数);最后,根据计算出的位姿Ttool2base和相对位姿Torigin2base,计算动力工具末端在手术规划平面区域移动的相对位姿Ttool2origin,该相对位姿Ttool2origin用于之后的力控制和边界判断。
另外,在本申请的另一实施例中,还可以基于当前时刻患者示踪器坐标系在机头示踪器坐标系下的相对位置Tpatient2robot和预先标定的工具矩阵Ttool2robot,并通过结合规划信息(即配准结果Torigin2patient)来计算动力工具末端在手术规划平面区域移动的相对位姿Ttool2origin。
需要说明的是,本公开实施例中的相对位姿指代的是坐标系之间的相对位置关系(由于机械臂的位置和姿态均可能发生改变,所以有时采用相对位姿的表述方式),因此动力工具末端在手术规划平面区域移动的相对位姿Ttool2origin,也就是动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系。
在实际应用中,在跟踪控制模块中,会涉及到多个坐标系之间的坐标变换,比如相机坐标系、机头示踪器坐标系、患者示踪器坐标系、机械臂基座坐标系、机械臂末端工具坐标系、切割平面区域坐标系等的坐标变换,跟踪控制模块用于根据上述坐标系计算出规划的切割区域在机械臂坐标系下的相对位置信息(即动力工具末端在手术规划平面区域移动的相对位姿),将该相对位置信息作为跟踪指令发送给虚拟边界判定模块进行边界判断,该相对位置信息还用于输入到力控制模块中进行位置控制量的计算。
在一些实施例中,当动力工具受到外力作用时获取力信号,包括:当医生拖动动力工具进行手术操作时,安装在机械臂末端的力传感器对施加给动力工具的拖动力进行感应,并根据感应到的拖动力的方向和扭矩生成力传感器信号,对力传感器信号执行预处理操作得到力信号,其中,力传感器包括六维力传感器。
具体地,在医生拖动动力工具进行手术切割的过程中,当动力工具受到医生的拖动力时,安装在机械臂末端的力传感器对拖动力进行感应,并产生力传感器信号。在实际应用中,力传感器可以采用六维力传感器,六维力传感器所产生的力传感器信号包括由三个方向的力和三个方向的扭矩所组成的六维数据。
在一些实施例中,对力传感器信号执行预处理操作得到力信号,并将力信号转换为动力工具末端坐标系下的末端力信号,包括:对力传感器信号进行滤波处理,并对滤波处理后的力传感器信号进行工具重力标定和传感器零漂标定,基于标定结果在力传感器坐标系下对工具重力和零漂进行补偿,得到补偿后的力信号;将力传感器坐标系下的力信号映射到动力工具末端坐标系下,得到动力工具末端坐标系下的末端力信号。
具体地,将力传感器产生的力传感器信号发送给力控制模块进行处理,力控制模块首先对力传感器信号进行预处理,得到预处理后的力信号,再将力信号转换到动力工具末端坐标系下,得到末端力信号。下面结合具体实施例对力传感器信号的预处理过程进行详细说明,具体可以包括以下内容:
在实际应用中,由于六维力传感器采集的六维力传感器信号有杂音,并伴随着工具重力、零漂等问题,无法直接在力控制算法中使用,因此需要进行预处理操作。六维力传感器信号的预处理过程包括滤波、工具重力标定、传感器零漂标定和最后的补偿操作。
其中,滤波处理可以采用巴特沃斯滤波器对六维力传感器信号进行滤波,以消除六维力传感器信号中的杂音;工具重力标定处理用于采集至少3个不同姿态下的机械臂末端姿态信息和力传感器信息,计算安装在六维力传感器上的负载重力和质心;传感器零漂标定处理用于根据工具重力标定计算得到的负载重力和质心,以及单个点位或多个点位的六维力信号数据,在力传感器坐标系下进行负载的重力补偿和零漂补偿,使补偿后的数据在无外力时基本为0。
需要说明的是,本公开实施例的六维力传感器信号处理中的工具重力标定可以直接采用首次标定好的数据,不必在每次的定时循环操作过程中进行重新标定,即无需在每个时间周期内进行工具重力标定。
进一步地,在对力传感器信号执行预处理操作后,力控制模块使用补偿后的力信号进行坐标系转换。由于得到的力信号是在力传感器坐标系下的力对应的值,因此需要将力信号映射到动力工具末端坐标系下,实现将力传感器坐标系下的力对应的值映射到动力工具末端坐标系下的力对应的值,即通过坐标系转换得到动力工具末端坐标系下的末端力信号,并将末端力信号记为F_tool。
在一些实施例中,基于末端力信号以及相对位置关系,确定动力工具末端对应的位置控制量,包括:将末端力信号的值与预设的最小阈值进行比较,当末端力信号的值大于最小阈值时,触发预定的力控制算法对位置控制量的计算操作,其中,对位置控制量的计算包括基于末端力信号计算动力工具末端的速度控制量,并基于当前时刻的相对位置关系、速度控制量以及时间周期,计算得到动力工具末端在下一时刻的位置控制量;当末端力信号的值小于或等于最小阈值时,将前一时间周期计算的位置控制量作为动力工具末端在下一时刻的位置控制量。
具体地,力控制模块在计算得到末端力信号之后,利用力控制算法来确定动力工具末端对应的位置控制量,力控制算法包括根据末端力信号进行力的阈值判断,以及位置控制量的确定,当然在实际应用中,对力传感器信号进行处理得到末端力信号的过程也可以认为是力控制算法的一部分。
进一步地,力控制模块将末端力信号的值与程序中预先设定的最小阈值进行比较,根据比较结果的不同,力控制算法的操作也不相同,下面对不同比较结果时的力控制算法对应的操作进行详细说明,具体可以包括以下内容:
若比较结果为末端力信号超过触发位置控制量计算的最小阈值时,则根据末端力信号F_tool计算动力工具末端在下一时刻对应的位置控制量Ttoolcontrol2origin,具体计算方式为:将末端力信号F_tool与预设的系数K相乘,得到动力工具末端坐标系的移动速度V_control,将V_control作为动力工具末端在当前时间周期的速度控制量;
根据当前时刻的相对位置关系(即动力工具末端在手术规划平面区域移动的相对位姿Ttool2origin)、动力工具末端在当前时间周期的速度控制量以及时间周期的长度,计算得到动力工具末端在下一时刻的位置控制量Ttoolcontrol2origin,例如:动力工具末端在下一时刻的位置控制量Ttoolcontrol2origin=相对位置关系Ttool2origin+速度控制量V_control*时间周期的长度/ms,其中,时间周期的长度是指时间周期对应的时间跨度或时间长度,通常一次时间周期的长度一般为几毫秒。
需要说明的是,本公开实施例是在一个时间周期内通过速度控制量进行积分得到的下一时刻的位置控制量,由于控制指令的生成是按照固定周期进行迭代的,因此在根据当前周期的速度控制量计算下一时刻的位置控制量时,需要结合周期的时间长度;下一时刻的位置控制量是基于相对位置关系、速度控制量和时间周期的长度进行积分计算得到的位姿矩阵。
在一些实施例中,基于末端力信号计算动力工具末端的速度控制量,包括:将末端力信号的值与预设系数相乘,得到动力工具末端的移动速度,将移动速度作为动力工具末端在当前时间周期内的速度控制量;或者,利用预设的导纳公式基于末端力信号的值计算加速度控制量,基于动力工具末端在当前时刻的速度、加速度控制量以及时间周期,计算速度控制量。
具体地,速度控制量作为位置控制量计算时的中间结果,本公开实施例的力控制模块在计算速度控制量时可以采用两种不同的计算方式;第一种计算方式是,通过利用末端力信号与系数相乘,将两者之间的乘积作为动力工具末端在当前时间周期内的速度控制量;第二种计算方式是,基于末端力信号的值,利用预设的导纳公式先计算得到加速度控制量,计算加速度控制量与时间周期长度的乘积,将该乘积与动力工具末端在当前时刻的速度相加,将计算结果作为动力工具末端在当前时间周期内的速度控制量。
若比较结果为末端力信号不超过触发位置控制量计算的最小阈值时,则动力工具末端在下一时刻的位置控制量保持不变,此时使用前一周期计算得到的位置控制量作为动力工具末端在下一时刻的位置控制量。
在一些实施例中,根据位置控制量以及手术规划平面区域对应的虚拟边界,对动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对位置控制量进行调整,包括:根据位置控制量对应的坐标矩阵,确定位置控制量对应的垂直方向坐标和水平方向坐标,利用虚拟边界分别对垂直方向坐标和水平方向坐标进行边界判断,以判断动力工具末端在下一时刻的位置坐标是否处于虚拟边界范围内;当位置坐标在虚拟边界范围外时,将动力工具末端在下一时刻的位置坐标调整为虚拟边界上的边界点对应的坐标,边界点为距离动力工具末端最近的虚拟边界上的边界点,并且将动力工具在下一时刻的目标姿态调整为初始规划的姿态;当位置坐标在虚拟边界范围内时,保持动力工具末端在下一时刻对应的位置坐标不变,并且将动力工具在下一时刻的目标姿态调整为初始规划的姿态。
具体地,在通过力控制模块确定动力工具末端在下一时刻对应的位置控制量之后,虚拟边界判定模块根据跟踪控制模块和力控制模块输出的结果,对动力工具末端在下一时刻的位置坐标(即位置控制量)进行边界判断,并根据判断结果对下一时刻的动力工具的位姿进行调整。
进一步地,虚拟边界判定模块首先获取力控制模块输出的用于表示下一时刻的动力工具末端在手术规划平面区域的初始位置坐标系下的相对位置的位置控制量Ttoolcontrol2origin,根据位置控制量Ttoolcontrol2origin确定动力工具末端在下一时刻的位置是否超出规划的切割平面区域。若超出规划的切割平面区域(即在虚拟边界范围外),则调整位置控制量Ttoolcontrol2origin的位置坐标到最近的切割平面区域边界点;若未超出规划的切割平面区域(即在虚拟边界范围内),则不对位置控制量Ttoolcontrol2origin的位置坐标进行调整,此时,动力工具末端在下一时刻对应的位置坐标也不会发生变化。需要说明的是,无论位置控制量的位置坐标是否超出规划的切割平面区域,动力工具在下一时刻的目标姿态始终调整为初始规划的姿态。
在一些实施例中,该方法还包括利用预设的虚拟边界判断算法对动力工具末端在下一时刻对应的位置控制量进行虚拟边界判断,包括:以动力工具坐标系下任意两个坐标轴所组成的平面作为切割平面,并将切割平面中工具切割方向对应的坐标轴作为第一坐标轴,将工具平移方向对应的坐标轴作为第二坐标轴,将切割平面以外的坐标轴作为第三坐标轴;沿第二坐标轴的方向对虚拟边界的边界点进行等距离插补,得到边界点集,边界点集中包含多个插补边界点;根据当前点对应的第二坐标轴的坐标值,确定距离当前点最近的插补边界点所对应的序号;根据序号判断当前点是否超出虚拟边界对应的工具平移方向上的边界,若超出,则将输出点的第二坐标轴的坐标设置为最近的插补边界点对应的第二坐标轴的坐标;若未超出,则将输出点的第二坐标轴的坐标设置为当前点对应的第二坐标轴的坐标;根据序号判断当前点是否超出虚拟边界对应的工具切割方向上的边界,若超出,则将输出点的第一坐标轴的坐标设置为最近的插补边界点对应的第一坐标轴的坐标;若未超出,则将输出点的第一坐标轴的坐标设置为当前点对应的第一坐标轴的坐标;将输出点的第三坐标轴的坐标设置为最近的插补边界点对应的第三坐标轴的坐标,基于输出点分别对应的第一坐标轴、第二坐标轴以及第三坐标轴的坐标,确定动力工具末端在下一时刻对应的位置控制量;其中,当前点表示动力工具末端在当前时刻的位置,输出点表示动力工具末端在下一时刻的位置。
进一步地,本公开实施例的位置控制量的边界判断是基于程序中预先设定好的虚拟边界判断算法来实现的,下面结合具体实施例对虚拟边界判断算法的具体实现方式进行详细说明,具体可以包括以下内容:
以动力工具坐标系下的YZ平面作为切割平面进行虚拟边界判断为例,其中Z轴表示垂直方向(即工具切割方向),Y轴表示水平方向(即工具平移方向),此时,虚拟边界判断算法可以包括以下处理操作流程:
1)对输入的虚拟边界的边界点根据Y坐标轴进行等距离插补,得到边界点集;
2)将平面的X坐标作为输出点的X坐标;
3)根据当前点的Y坐标值计算对应的Y坐标值最近的边界点的序号i;
4)根据i判断当前点的Y坐标是否超出了左右边界:若超出,则将输出点的Y坐标设置为最近的边界点的Y坐标;若未超出,则输出点的Y坐标依然为当前点的Y坐标;
5)判断当前点的Z坐标是否超出了对应边界点的深度:若超出,则将输出点的Z坐标设置为最近的边界点的Z坐标;若未超出,则输出点的Z坐标依然为当前点的Z坐标。
其中,虚拟边界的边界点是根据手术规划平面区域的边界所确定的边界点,当前点是指位置控制量对应的坐标点,输出点是指经过虚拟边界判断得到的实际位置控制量的坐标点。
在实际应用中,除了以动力工具坐标系下的YZ平面为切割平面进行虚拟边界判断,还可以动力工具坐标系下的XY平面或者XZ平面作为切割平面进行虚拟边界判断,不同参考平面的选择不会对上述虚拟边界判断算法的实质造成影响,仅需要对应调整相应的坐标即可。
在一些实施例中,根据调整后的位置控制量生成控制指令并发送给机械臂,包括:根据更新后的手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系以及预先标定的工具矩阵,对调整后的动力工具末端下一时刻对应的位置控制量进行坐标系转换,得到在机械臂基座坐标系下的位置控制量,根据机械臂坐标系下的位置控制量生成控制指令,并将控制指令发送给机械臂。
具体地,在确定最终的位置控制量后,根据视觉跟踪模块(即跟踪控制模块)更新的手术规划平面区域的初始位置在机械臂基座坐标系下的相对位姿Torigin2base和一些工具常量(即预先标定的工具矩阵)进行坐标系转换,将调整后的位置控制量从规划坐标转换到机械臂坐标系中,将坐标转换后的位置控制量作为机械臂控制指令发送给机械臂,换言之,将调整后的位置控制量Ttoolcontrol2origin转换为最终的机械臂控制指令posecontrol2base输出。
在实际应用中,最终输出的机械臂控制指令可以包括位姿信息,也可以包括机械臂关节角信息。机械臂根据获取到的控制指令对下一时刻的动力工具的位姿进行调整,使下一时刻的动力工具末端的位置坐标与调整后的位置控制量的坐标一致。
根据本公开实施例提供的技术方案,本公开通过安装在系统控制程序中的控制器,利用控制器中的跟踪控制模块、力控制模块和虚拟边界判定模块分别进行视觉跟踪控制量计算、力控制量计算、虚拟边界判定和控制量计算,通过医生与动力工具之间的力交互,利用力控制算法计算动力工具末端的位置控制量,根据虚拟边界判断算法对位置控制量的位置坐标进行边界判断,并通过调整位置控制量使动力工具末端的位置始终处于手术切割平面区域内。本公开通过医生与机器人的力交互完成对于切割平面区域的限制,可同时满足机器人辅助医生操作和机器人根据医生的规划提供安全限位,防止切割超出规划平面区域范围造成人体损伤,从而降低手术风险。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是本公开实施例提供的机械臂末端动力工具的力控制装置的结构示意图。如图4所示,该机械臂末端动力工具的力控制装置包括:
确定模块401,被配置为基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
转换模块402,被配置为当动力工具受到外力作用时获取力信号,并将力信号转换为动力工具末端坐标系下的末端力信号;
计算模块403,被配置为基于末端力信号以及相对位置关系,确定动力工具末端对应的位置控制量,位置控制量用于表示下一时刻的动力工具末端在手术规划平面区域坐标系下的相对位置;
调整模块404,被配置为根据位置控制量以及手术规划平面区域对应的虚拟边界,对动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对位置控制量进行调整,根据调整后的位置控制量生成控制指令并发送给机械臂,控制指令用于控制机械臂对下一时刻的动力工具的位姿进行调整,以使动力工具末端的位置始终处于手术规划平面区域内。
在一些实施例中,图4的确定模块401获取利用视觉传感器采集的视觉信号信息,根据视觉信号信息计算患者示踪器坐标系在机头示踪器坐标系下的相对位置关系;基于预先获取的配准结果以及当前时刻的机械臂位姿信息,对手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系进行更新;基于当前时刻的机械臂位姿信息以及预先标定的工具矩阵,计算动力工具末端坐标系在机械臂基座坐标系下的相对位置关系;根据更新后的手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系,以及动力工具末端坐标系在机械臂基座坐标系下的相对位置关系,计算动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;其中,视觉信号信息包括患者示踪器以及机头示踪器对应的位置信息,配准结果包括患处影像与患者的患处之间的配准结果。
在一些实施例中,图4的转换模块402当医生拖动动力工具进行手术操作时,安装在机械臂末端的力传感器对施加给动力工具的拖动力进行感应,并根据感应到的拖动力的方向和扭矩生成力传感器信号,对力传感器信号执行预处理操作得到力信号,其中,力传感器包括六维力传感器。
在一些实施例中,图4的转换模块402对力传感器信号进行滤波处理,并对滤波处理后的力传感器信号进行工具重力标定和传感器零漂标定,基于标定结果在力传感器坐标系下对工具重力和零漂进行补偿,得到补偿后的力信号;将力传感器坐标系下的力信号映射到动力工具末端坐标系下,得到动力工具末端坐标系下的末端力信号。
在一些实施例中,图4的计算模块403将末端力信号的值与预设的最小阈值进行比较,当末端力信号的值大于最小阈值时,触发预定的力控制算法对位置控制量的计算,其中,对位置控制量的计算包括基于末端力信号计算动力工具末端的速度控制量,并基于当前时刻的相对位置关系、速度控制量以及时间周期,计算得到动力工具末端在下一时刻的位置控制量;当末端力信号的值小于或等于最小阈值时,将前一时间周期计算的位置控制量作为动力工具末端在下一时刻的位置控制量。
在一些实施例中,图4的计算模块403将末端力信号的值与预设系数相乘,得到动力工具末端的移动速度,将移动速度作为动力工具末端在当前时间周期内的速度控制量;或者,利用预设的导纳公式基于末端力信号的值计算加速度控制量,基于动力工具末端在当前时刻的速度、加速度控制量以及时间周期,计算速度控制量。
在一些实施例中,图4的调整模块404根据位置控制量对应的坐标矩阵,确定位置控制量对应的垂直方向坐标和水平方向坐标,利用虚拟边界分别对垂直方向坐标和水平方向坐标进行边界判断,以判断动力工具末端在下一时刻的位置坐标是否处于虚拟边界范围内;当位置坐标在虚拟边界范围外时,将动力工具末端在下一时刻的位置坐标调整为虚拟边界上的边界点对应的坐标,边界点为距离动力工具末端最近的虚拟边界上的边界点,并且将动力工具在下一时刻的目标姿态调整为初始规划的姿态;当位置坐标在虚拟边界范围内时,保持动力工具末端在下一时刻对应的位置坐标不变,并且将动力工具在下一时刻的目标姿态调整为初始规划的姿态。
在一些实施例中,图4的调整模块404以动力工具坐标系下任意两个坐标轴所组成的平面作为切割平面,并将切割平面中工具切割方向对应的坐标轴作为第一坐标轴,将工具平移方向对应的坐标轴作为第二坐标轴,将切割平面以外的坐标轴作为第三坐标轴;沿第二坐标轴的方向对虚拟边界的边界点进行等距离插补,得到边界点集,边界点集中包含多个插补边界点;根据当前点对应的第二坐标轴的坐标值,确定距离当前点最近的插补边界点所对应的序号;根据序号判断当前点是否超出虚拟边界对应的工具平移方向上的边界,若超出,则将输出点的第二坐标轴的坐标设置为最近的插补边界点对应的第二坐标轴的坐标;若未超出,则将输出点的第二坐标轴的坐标设置为当前点对应的第二坐标轴的坐标;根据序号判断当前点是否超出虚拟边界对应的工具切割方向上的边界,若超出,则将输出点的第一坐标轴的坐标设置为最近的插补边界点对应的第一坐标轴的坐标;若未超出,则将输出点的第一坐标轴的坐标设置为当前点对应的第一坐标轴的坐标;将输出点的第三坐标轴的坐标设置为最近的插补边界点对应的第三坐标轴的坐标,基于输出点分别对应的第一坐标轴、第二坐标轴以及第三坐标轴的坐标,确定动力工具末端在下一时刻对应的位置控制量;其中,当前点表示动力工具末端在当前时刻的位置,输出点表示动力工具末端在下一时刻的位置。
在一些实施例中,图4的调整模块404根据更新后的手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系以及预先标定的工具矩阵,对调整后的动力工具末端下一时刻对应的位置控制量进行坐标系转换,得到在机械臂基座坐标系下的位置控制量,根据机械臂坐标系下的位置控制量生成控制指令,并将控制指令发送给机械臂。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
图5是本公开实施例提供的电子设备5的结构示意图。如图5所示,该实施例的电子设备5包括:处理器501、存储器502以及存储在该存储器502中并且可以在处理器501上运行的计算机程序503。处理器501执行计算机程序503时实现上述各个方法实施例中的步骤。或者,处理器501执行计算机程序503时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序503可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器502中,并由处理器501执行,以完成本公开。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序503在电子设备5中的执行过程。
电子设备5可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备5可以包括但不仅限于处理器501和存储器502。本领域技术人员可以理解,图5仅仅是电子设备5的示例,并不构成对电子设备5的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器501可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器502可以是电子设备5的内部存储单元,例如,电子设备5的硬盘或内存。存储器502也可以是电子设备5的外部存储设备,例如,电子设备5上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器502还可以既包括电子设备5的内部存储单元也包括外部存储设备。存储器502用于存储计算机程序以及电子设备所需的其它程序和数据。存储器502还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本公开实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围,均应包含在本公开的保护范围之内。
Claims (20)
1.一种机械臂末端动力工具的力控制方法,其特征在于,包括:
基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
当动力工具受到外力作用时获取力信号,并将所述力信号转换为动力工具末端坐标系下的末端力信号;
基于所述末端力信号以及所述相对位置关系,确定动力工具末端对应的位置控制量,所述位置控制量用于表示下一时刻的动力工具末端在手术规划平面区域坐标系下的相对位置;
根据所述位置控制量以及所述手术规划平面区域对应的虚拟边界,对所述动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对所述位置控制量进行调整,根据调整后的位置控制量生成控制指令并发送给机械臂,所述控制指令用于控制所述机械臂对下一时刻的所述动力工具的位姿进行调整,以使所述动力工具末端的位置始终处于所述手术规划平面区域内。
2.根据权利要求1所述的方法,其特征在于,所述基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系,包括:
获取利用所述视觉传感器采集的视觉信号信息,根据所述视觉信号信息计算患者示踪器坐标系在机头示踪器坐标系下的相对位置关系;
基于预先获取的配准结果、所述当前时刻的机械臂位姿信息以及所述患者示踪器坐标系在机头示踪器坐标系下的相对位置关系,对所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系进行更新;
基于所述当前时刻的机械臂位姿信息以及预先标定的工具矩阵,计算所述动力工具末端坐标系在机械臂基座坐标系下的相对位置关系;
根据更新后的所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系,以及所述动力工具末端坐标系在机械臂基座坐标系下的相对位置关系,计算所述动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
其中,所述视觉信号信息包括患者示踪器以及机头示踪器对应的位置信息,所述配准结果包括患处影像与患者的患处之间的配准结果。
3.根据权利要求1所述的方法,其特征在于,所述当动力工具受到外力作用时获取力信号,包括:
当医生拖动所述动力工具进行手术操作时,安装在机械臂末端的力传感器对施加给所述动力工具的拖动力进行感应,并根据感应到的拖动力的方向和扭矩生成力传感器信号,对所述力传感器信号执行预处理操作得到力信号,其中,所述力传感器包括六维力传感器。
4.根据权利要求3所述的方法,其特征在于,所述对所述力传感器信号执行预处理操作得到力信号,并将所述力信号转换为动力工具末端坐标系下的末端力信号,包括:
对所述力传感器信号进行滤波处理,并对滤波处理后的力传感器信号进行工具重力标定和传感器零漂标定,基于标定结果在力传感器坐标系下对工具重力和零漂进行补偿,得到补偿后的力信号;将所述力传感器坐标系下的力信号映射到所述动力工具末端坐标系下,得到所述动力工具末端坐标系下的末端力信号。
5.根据权利要求1所述的方法,其特征在于,所述基于所述末端力信号以及所述相对位置关系,确定动力工具末端对应的位置控制量,包括:
将所述末端力信号的值与预设的最小阈值进行比较,当所述末端力信号的值大于所述最小阈值时,触发预定的力控制算法对位置控制量的计算,其中,对所述位置控制量的计算包括基于所述末端力信号计算所述动力工具末端的速度控制量,并基于当前时刻的所述相对位置关系、所述速度控制量以及时间周期,计算得到所述动力工具末端在下一时刻的位置控制量;当所述末端力信号的值小于或等于所述最小阈值时,将前一时间周期计算的位置控制量作为所述动力工具末端在下一时刻的位置控制量。
6.根据权利要求5所述的方法,其特征在于,所述基于所述末端力信号计算所述动力工具末端的速度控制量,包括:
将所述末端力信号的值与预设系数相乘,得到所述动力工具末端的移动速度,将所述移动速度作为所述动力工具末端在当前时间周期内的速度控制量;
或者,
利用预设的导纳公式基于所述末端力信号的值计算加速度控制量,基于所述动力工具末端在当前时刻的速度、所述加速度控制量以及所述时间周期,计算所述速度控制量。
7.根据权利要求1所述的方法,其特征在于,所述根据所述位置控制量以及所述手术规划平面区域对应的虚拟边界,对所述动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对所述位置控制量进行调整,包括:
根据所述位置控制量对应的坐标矩阵,确定所述位置控制量对应的垂直方向坐标和水平方向坐标,利用所述虚拟边界分别对所述垂直方向坐标和水平方向坐标进行边界判断,以判断所述动力工具末端在下一时刻的位置坐标是否处于虚拟边界范围内;
当所述位置坐标在所述虚拟边界范围外时,将所述动力工具末端在下一时刻的位置坐标调整为所述虚拟边界上的边界点对应的坐标,所述边界点为距离所述动力工具末端最近的所述虚拟边界上的边界点,并且将所述动力工具在下一时刻的目标姿态调整为初始规划的姿态;
当所述位置坐标在所述虚拟边界范围内时,保持所述动力工具末端在下一时刻对应的位置坐标不变,并且将所述动力工具在下一时刻的目标姿态调整为初始规划的姿态。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括利用预设的虚拟边界判断算法对所述动力工具末端在下一时刻对应的位置控制量进行虚拟边界判断,包括:
以动力工具坐标系下任意两个坐标轴所组成的平面作为切割平面,并将所述切割平面中工具切割方向对应的坐标轴作为第一坐标轴,将工具平移方向对应的坐标轴作为第二坐标轴,将切割平面以外的坐标轴作为第三坐标轴;
沿所述第二坐标轴的方向对所述虚拟边界的边界点进行等距离插补,得到边界点集,所述边界点集中包含多个插补边界点;
根据当前点对应的第二坐标轴的坐标值,确定距离所述当前点最近的插补边界点所对应的序号;
根据所述序号判断所述当前点是否超出所述虚拟边界对应的工具平移方向上的边界,若超出,则将输出点的第二坐标轴的坐标设置为最近的插补边界点对应的第二坐标轴的坐标;若未超出,则将输出点的第二坐标轴的坐标设置为所述当前点对应的第二坐标轴的坐标;
根据所述序号判断所述当前点是否超出所述虚拟边界对应的工具切割方向上的边界,若超出,则将输出点的第一坐标轴的坐标设置为最近的插补边界点对应的第一坐标轴的坐标;若未超出,则将输出点的第一坐标轴的坐标设置为所述当前点对应的第一坐标轴的坐标;
将输出点的第三坐标轴的坐标设置为最近的插补边界点对应的第三坐标轴的坐标,基于所述输出点分别对应的第一坐标轴、第二坐标轴以及第三坐标轴的坐标,确定所述动力工具末端在下一时刻对应的位置控制量;
其中,所述当前点表示所述动力工具末端在当前时刻的位置,所述输出点表示所述动力工具末端在下一时刻的位置。
9.根据权利要求1所述的方法,其特征在于,所述根据调整后的位置控制量生成控制指令并发送给机械臂,包括:
根据更新后的所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系以及预先标定的工具矩阵,对调整后的所述动力工具末端下一时刻对应的位置控制量进行坐标系转换,得到在机械臂基座坐标系下的位置控制量,根据所述机械臂坐标系下的位置控制量生成控制指令,并将所述控制指令发送给机械臂。
10.一种机械臂末端动力工具的力控制装置,其特征在于,包括:
确定模块,被配置为基于视觉传感器采集的视觉信号信息以及当前时刻的机械臂位姿信息,确定当前时刻的动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
转换模块,被配置为当动力工具受到外力作用时获取力信号,并将所述力信号转换为动力工具末端坐标系下的末端力信号;
计算模块,被配置为基于所述末端力信号以及所述相对位置关系,确定动力工具末端对应的位置控制量,所述位置控制量用于表示下一时刻的动力工具末端在手术规划平面区域坐标系下的相对位置;
调整模块,被配置为根据所述位置控制量以及所述手术规划平面区域对应的虚拟边界,对所述动力工具末端在下一时刻的位置坐标进行边界判断,并根据判断结果对所述位置控制量进行调整,根据调整后的位置控制量生成控制指令并发送给机械臂,所述控制指令用于控制所述机械臂对下一时刻的所述动力工具的位姿进行调整,以使所述动力工具末端的位置始终处于所述手术规划平面区域内。
11.根据权利要求10所述的装置,其特征在于,所述确定模块进一步用于:
获取利用所述视觉传感器采集的视觉信号信息,根据所述视觉信号信息计算患者示踪器坐标系在机头示踪器坐标系下的相对位置关系;
基于预先获取的配准结果、所述当前时刻的机械臂位姿信息以及所述患者示踪器坐标系在机头示踪器坐标系下的相对位置关系,对所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系进行更新;
基于所述当前时刻的机械臂位姿信息以及预先标定的工具矩阵,计算所述动力工具末端坐标系在机械臂基座坐标系下的相对位置关系;
根据更新后的所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系,以及所述动力工具末端坐标系在机械臂基座坐标系下的相对位置关系,计算所述动力工具末端坐标系在手术规划平面区域坐标系下的相对位置关系;
其中,所述视觉信号信息包括患者示踪器以及机头示踪器对应的位置信息,所述配准结果包括患处影像与患者的患处之间的配准结果。
12.根据权利要求10所述的装置,其特征在于,所述转换模块进一步用于:
当医生拖动所述动力工具进行手术操作时,安装在机械臂末端的力传感器对施加给所述动力工具的拖动力进行感应,并根据感应到的拖动力的方向和扭矩生成力传感器信号,对所述力传感器信号执行预处理操作得到力信号,其中,所述力传感器包括六维力传感器。
13.根据权利要求12所述的装置,其特征在于,所述转换模块进一步还用于:
对所述力传感器信号进行滤波处理,并对滤波处理后的力传感器信号进行工具重力标定和传感器零漂标定,基于标定结果在力传感器坐标系下对工具重力和零漂进行补偿,得到补偿后的力信号;将所述力传感器坐标系下的力信号映射到所述动力工具末端坐标系下,得到所述动力工具末端坐标系下的末端力信号。
14.根据权利要求10所述的装置,其特征在于,所述计算模块进一步用于:
将所述末端力信号的值与预设的最小阈值进行比较,当所述末端力信号的值大于所述最小阈值时,触发预定的力控制算法对位置控制量的计算,其中,对所述位置控制量的计算包括基于所述末端力信号计算所述动力工具末端的速度控制量,并基于当前时刻的所述相对位置关系、所述速度控制量以及时间周期,计算得到所述动力工具末端在下一时刻的位置控制量;当所述末端力信号的值小于或等于所述最小阈值时,将前一时间周期计算的位置控制量作为所述动力工具末端在下一时刻的位置控制量。
15.根据权利要求14所述的装置,其特征在于,所述计算模块进一步用于:
将所述末端力信号的值与预设系数相乘,得到所述动力工具末端的移动速度,将所述移动速度作为所述动力工具末端在当前时间周期内的速度控制量;
或者,
利用预设的导纳公式基于所述末端力信号的值计算加速度控制量,基于所述动力工具末端在当前时刻的速度、所述加速度控制量以及所述时间周期,计算所述速度控制量。
16.根据权利要求10所述的装置,其特征在于,所述调整模块进一步用于:
根据所述位置控制量对应的坐标矩阵,确定所述位置控制量对应的垂直方向坐标和水平方向坐标,利用所述虚拟边界分别对所述垂直方向坐标和水平方向坐标进行边界判断,以判断所述动力工具末端在下一时刻的位置坐标是否处于虚拟边界范围内;
当所述位置坐标在所述虚拟边界范围外时,将所述动力工具末端在下一时刻的位置坐标调整为所述虚拟边界上的边界点对应的坐标,所述边界点为距离所述动力工具末端最近的所述虚拟边界上的边界点,并且将所述动力工具在下一时刻的目标姿态调整为初始规划的姿态;
当所述位置坐标在所述虚拟边界范围内时,保持所述动力工具末端在下一时刻对应的位置坐标不变,并且将所述动力工具在下一时刻的目标姿态调整为初始规划的姿态。
17.根据权利要求16所述的装置,其特征在于,所述调整模块进一步用于利用预设的虚拟边界判断算法对所述动力工具末端在下一时刻对应的位置控制量进行虚拟边界判断,包括:
以动力工具坐标系下任意两个坐标轴所组成的平面作为切割平面,并将所述切割平面中工具切割方向对应的坐标轴作为第一坐标轴,将工具平移方向对应的坐标轴作为第二坐标轴,将切割平面以外的坐标轴作为第三坐标轴;
沿所述第二坐标轴的方向对所述虚拟边界的边界点进行等距离插补,得到边界点集,所述边界点集中包含多个插补边界点;
根据当前点对应的第二坐标轴的坐标值,确定距离所述当前点最近的插补边界点所对应的序号;
根据所述序号判断所述当前点是否超出所述虚拟边界对应的工具平移方向上的边界,若超出,则将输出点的第二坐标轴的坐标设置为最近的插补边界点对应的第二坐标轴的坐标;若未超出,则将输出点的第二坐标轴的坐标设置为所述当前点对应的第二坐标轴的坐标;
根据所述序号判断所述当前点是否超出所述虚拟边界对应的工具切割方向上的边界,若超出,则将输出点的第一坐标轴的坐标设置为最近的插补边界点对应的第一坐标轴的坐标;若未超出,则将输出点的第一坐标轴的坐标设置为所述当前点对应的第一坐标轴的坐标;
将输出点的第三坐标轴的坐标设置为最近的插补边界点对应的第三坐标轴的坐标,基于所述输出点分别对应的第一坐标轴、第二坐标轴以及第三坐标轴的坐标,确定所述动力工具末端在下一时刻对应的位置控制量;
其中,所述当前点表示所述动力工具末端在当前时刻的位置,所述输出点表示所述动力工具末端在下一时刻的位置。
18.根据权利要求10所述的装置,其特征在于,所述调整模块进一步用于:
根据更新后的所述手术规划平面区域坐标系在机械臂基座坐标系下的相对位置关系以及预先标定的工具矩阵,对调整后的所述动力工具末端下一时刻对应的位置控制量进行坐标系转换,得到在机械臂基座坐标系下的位置控制量,根据所述机械臂坐标系下的位置控制量生成控制指令,并将所述控制指令发送给机械臂。
19.一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210813464.9A CN117414197A (zh) | 2022-07-11 | 2022-07-11 | 机械臂末端动力工具的力控制方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210813464.9A CN117414197A (zh) | 2022-07-11 | 2022-07-11 | 机械臂末端动力工具的力控制方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117414197A true CN117414197A (zh) | 2024-01-19 |
Family
ID=89531297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210813464.9A Pending CN117414197A (zh) | 2022-07-11 | 2022-07-11 | 机械臂末端动力工具的力控制方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117414197A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117901105A (zh) * | 2024-01-31 | 2024-04-19 | 北京纳通医用机器人科技有限公司 | 控制位置确定方法、装置、设备及存储介质 |
-
2022
- 2022-07-11 CN CN202210813464.9A patent/CN117414197A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117901105A (zh) * | 2024-01-31 | 2024-04-19 | 北京纳通医用机器人科技有限公司 | 控制位置确定方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3636393B1 (en) | Medical robot and control method thereof | |
US20240016556A1 (en) | Estimation of a position and orientation of a frame used in controlling movement of a tool | |
CN110215284B (zh) | 一种可视化系统和方法 | |
EP3135444B1 (en) | Robot arm apparatus, robot arm control method, and program | |
EP3135445B1 (en) | Robot arm device | |
US20230165649A1 (en) | A collaborative surgical robotic platform for autonomous task execution | |
EP3112096B1 (en) | Robot arm apparatus, calibration method, and program | |
CN202146362U (zh) | 一种基于光学导航七自由度颅颌面手术辅助机械臂 | |
CN114404047B (zh) | 定位方法、系统、装置、计算机设备和存储介质 | |
WO2024027647A1 (zh) | 机器人控制方法、系统和计算机程序产品 | |
EP3437584A1 (en) | Medical support arm control device, medical support arm device control method, and medical system | |
CN117414197A (zh) | 机械臂末端动力工具的力控制方法、装置、设备及介质 | |
CN114027985A (zh) | 一种用于骨关节置换手术的机器人 | |
WO2023205782A1 (en) | Two-way communication between head-mounted display and electroanatomic system | |
CN115153734A (zh) | 一种平面切割控制方法、装置及存储介质 | |
Majak et al. | Augmented reality visualization for aiding biopsy procedure according to computed tomography based virtual plan | |
CN112959327B (zh) | 机器人运动控制方法、系统、电子设备及存储介质 | |
CN114391793A (zh) | 一种内窥镜视野自主控制方法、系统及介质 | |
CN111053613B (zh) | 一种运动追踪方法、装置、机械臂及计算机可读存储介质 | |
CN114521131A (zh) | 用于臂间配准的系统和方法 | |
Moustris et al. | Shared control for motion compensation in robotic beating heart surgery | |
CN115869071A (zh) | 手术内镜的控制方法、装置、手术机器人系统 | |
CN114504735A (zh) | 经颅磁刺激导航过程的路径规划方法及相关装置 | |
CN117653337A (zh) | 具有约束边界的手术规划方法及手术机器人控制方法 | |
Staub et al. | Micro camera augmented endoscopic instruments: Towards superhuman performance in remote surgical cutting |
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 |