CN115379814A - 用于基于虚拟边界控制工具的机器人移动的系统和方法 - Google Patents
用于基于虚拟边界控制工具的机器人移动的系统和方法 Download PDFInfo
- Publication number
- CN115379814A CN115379814A CN202180024918.8A CN202180024918A CN115379814A CN 115379814 A CN115379814 A CN 115379814A CN 202180024918 A CN202180024918 A CN 202180024918A CN 115379814 A CN115379814 A CN 115379814A
- Authority
- CN
- China
- Prior art keywords
- tool
- boundary
- virtual boundary
- virtual
- user
- 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
Images
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/25—User interfaces for surgical systems
-
- 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
-
- 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/10—Computer-aided planning, simulation or modelling of surgical operations
-
- 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/32—Surgical robots operating autonomously
-
- 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/74—Manipulators with manual electric input means
-
- 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
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/03—Automatic limiting or abutting means, e.g. for safety
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/06—Measuring instruments not otherwise provided for
-
- 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/2051—Electromagnetic tracking systems
-
- 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/2055—Optical tracking systems
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/06—Measuring instruments not otherwise provided for
- A61B2090/064—Measuring instruments not otherwise provided for for measuring force, pressure or mechanical tension
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B90/00—Instruments, implements or accessories specially adapted for surgery or diagnosis and not covered by any of the groups A61B1/00 - A61B50/00, e.g. for luxation treatment or for protecting wound edges
- A61B90/39—Markers, e.g. radio-opaque or breast lesions markers
- A61B2090/3937—Visible markers
- A61B2090/3945—Active visible markers, e.g. light emitting diodes
Landscapes
- Health & Medical Sciences (AREA)
- Surgery (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Biomedical Technology (AREA)
- Heart & Thoracic Surgery (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- Robotics (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Pathology (AREA)
- Human Computer Interaction (AREA)
- Manipulator (AREA)
Abstract
提供了用于基于一个或多个虚拟边界来控制工具的机器人移动的系统和方法。系统包括工具和支撑工具的操纵器。控制系统基于工具与和目标部位相关联的一个或多个虚拟边界之间的关系来控制操纵器的操作和工具的移动。控制系统包括边界处理程序以确定工具是顺从一个或多个虚拟边界还是违反一个或多个虚拟边界。
Description
相关申请的交叉引用
本申请要求2020年3月27日提交的美国临时专利申请号63/000,860的优先权和所有权益,所述申请的公开内容特此以引用方式全文并入本文。
技术领域
本公开总体上涉及用于基于虚拟边界控制工具的机器人移动的系统和方法。
背景技术
手术系统可以包括机器人操纵器和联接到操纵器的工具以对患者执行外科手术。在操作期间,手术系统可以限制工具的移动以避免违反为保护患者解剖结构的部分不受工具影响而建立的虚拟边界。
在一些情况下,用户可能希望调整患者的位置以改进对患者解剖结构上的目标部位的触及或改进用户对患者解剖结构的可视化,或者患者解剖结构可能由于某个其他原因而移动。为了在患者解剖结构移动时维持顺从虚拟边界,手术系统可以命令操纵器自主地移动工具以补偿患者解剖结构的这种移动。然而,一些用户可能更喜欢限制工具的这种自主移动。例如,用户可能不希望工具意外移动,或者用户可能希望工具的移动仅响应于来自用户的输入而发生。
发明内容
本发明内容以简化形式介绍了对下文在具体实施方式中进一步描述的概念的选择。本发明内容并非意图限制所要求保护的主题的范围,也非意图标识所要求保护的主题的范围的关键特征或本质特征。
根据第一方面,提供了一种手术系统,所述手术系统包括:工具;操纵器,所述操纵器用于支撑所述工具;以及控制系统,所述控制系统用于基于所述工具与和目标部位相关联的虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动。所述控制系统包括用户输入,所述用户输入具有第一输入状态和第二输入状态。所述控制系统被配置为当所述用户输入处于所述第一输入状态时启用所述工具的自主的顺从边界移动,使得所述工具维持顺从所述虚拟边界。所述控制系统被配置为当所述用户输入处于所述第二输入状态时禁用所述工具的自主的顺从边界移动。所述控制系统包括边界处理程序以响应于所述用户输入从所述第二输入状态转变为所述第一输入状态而确定所述工具是否违反所述虚拟边界。
根据第二方面,提供了一种手术系统,所述手术系统包括:工具;操纵器,所述操纵器用于支撑所述工具;以及控制系统,所述控制系统用于基于所述工具与和目标部位相关联的第一虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动。所述控制系统包括虚拟边界选择器以使得用户能够选择与所述目标部位相关联的第二虚拟边界。所述控制系统被配置为使得所述用户能够在所述控制系统维持所述工具顺从所述第一虚拟边界时使用所述虚拟边界选择器来选择所述第二虚拟边界。所述控制系统包括边界处理程序以响应于所述用户选择所述第二虚拟边界而确定所述工具是否顺从所述第二虚拟边界。
根据第三方面,提供了一种手术系统,所述手术系统包括:工具;操纵器,所述操纵器用于支撑所述工具;以及控制系统,所述控制系统用于基于所述工具与和目标部位相关联的虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动。所述操纵器可以多种模式操作,所述多种模式包括手动模式和半自主模式,在所述手动模式中,所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,在所述半自主模式中,所述操纵器沿着工具路径移动所述工具。所述控制系统包括路径处理程序以响应于所述控制系统转变为所述半自主模式而生成从所述工具的当前位置到所述工具路径的导入路径。所述控制系统还包括边界处理程序以在所述工具沿着所述导入路径移动之前通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是否顺从所述虚拟边界来确定所述工具沿着所述导入路径的移动是否会维持顺从所述虚拟边界。
根据第四方面,提供了一种用于基于工具与和目标部位相关联的虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法。所述方法包括当用户输入处于第一输入状态时并且响应于所述虚拟边界相对于所述工具移动,发起所述工具的自主的顺从边界移动,使得所述工具维持顺从所述虚拟边界。所述方法还包括当所述用户输入处于第二输入状态时,禁用所述工具的自主的顺从边界移动;以及响应于所述用户输入从所述第二输入状态转变为所述第一输入状态而确定所述工具是否违反所述虚拟边界。
根据第五方面,提供了一种用于基于工具与和目标部位相关联的第一虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法。所述方法包括使得用户能够选择与所述目标部位相关联的第二虚拟边界。所述方法还包括使得所述用户能够在维持所述工具顺从所述第一虚拟边界时选择所述第二虚拟边界;以及响应于所述用户选择所述第二虚拟边界而确定所述工具是否顺从所述第二虚拟边界。
根据第六方面,提供了一种用于基于工具与和目标部位相关联的虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法,其中所述操纵器可以多种模式操作,所述多种模式包括手动模式和半自主模式,在所述手动模式中,所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,在所述半自主模式中,所述操纵器沿着工具路径移动所述工具。所述方法包括将所述操纵器转变为所述半自主模式;以及响应于将所述操纵器转变为所述半自主模式而生成从所述工具的当前位置到所述工具路径的导入路径。所述方法还包括在所述工具沿着所述导入路径移动之前通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是否顺从所述虚拟边界来确定所述工具沿着所述导入路径的移动是否会维持顺从所述虚拟边界。
根据第七方面,提供了一种手术系统,所述手术系统包括:定位系统,所述定位系统被配置为跟踪第一对象和第二对象;以及至少一个控制器,所述至少一个控制器被配置为:将虚拟边界与一个或多个第一对象相关联;将第一立体定向交互特征和第二立体定向交互特征与一个或多个第二对象相关联;为所述第一立体定向交互特征定义第一参数;为所述第二立体定向交互特征定义第二参数,其中所述第一参数不同于所述第二参数;以及基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成响应。
根据第八方面,提供了一种操作手术系统的方法,所述手术系统包括定位系统和至少一个控制器,所述方法包括:利用所述定位系统跟踪第一对象和第二对象;以及利用所述至少一个控制器将虚拟边界与一个或多个第一对象相关联;利用所述至少一个控制器将第一立体定向交互特征和第二立体定向交互特征与一个或多个第二对象相关联;利用所述至少一个控制器为所述第一立体定向交互特征定义第一参数;利用所述至少一个控制器为所述第二立体定向交互特征定义第二参数,其中所述第一参数不同于所述第二参数;以及利用所述至少一个控制器基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成响应。
上述任何方面都可以全部或部分地组合。
上述任何方面都可以与以下任何实施方式一起利用,而无论这些实施方式是全部还是部分地利用:
在一些实施方式中,操纵器是手术机器人操纵器,其包括底座和形成机器人臂的多个连杆和关节。在一些实施方式中,操纵器是克服重力自由地支撑在用户的手中的手持操纵器,其中底座是工具的底座部分(例如,由用户徒手握持的部分)并且工具尖端可相对于底座部分移动。在一些实施方式中,工具是旋转切割锉、锯、切割导向器、超声振动工具、激光切割工具等。
在一些实施方式中,控制系统被配置为响应于工具违反虚拟边界而发起恢复模式。在一些实施方式中,当用户输入从第二输入状态转变为第一输入状态时,发生违反。在一些实施方式中,当用户输入处于第一输入状态时,工具的自主的顺从边界移动在恢复模式中保持禁用。
在一些实施方式中,工具包括工具驱动器并且控制系统被配置为响应于工具违反虚拟边界而禁用工具驱动器的操作。在一些实施方式中,当用户输入从第二输入状态转变为第一输入状态时,发生违反。
在一些实施方式中,控制系统被配置为引导用户在恢复模式中将工具放置成顺从虚拟边界。在一些实施方式中,通过生成用户反馈来发生引导。在一些实施方式中,反馈包括听觉反馈、视觉反馈和触觉反馈中的一者或多者。在一些实施方式中,所述控制系统被配置为当所述工具被放置成顺从所述虚拟边界时停止生成所述用户反馈。在一些实施方式中,控制系统被配置为限制工具与虚拟边界之间的相对移动。在一些实施方式中,当用户输入处于第一输入状态时并且通过利用边界处理程序生成边界约束来发生限制相对移动。
在一些实施方式中,所述控制系统包括:约束求解器,所述约束求解器用于基于所述边界约束计算适于维持所述工具顺从所述虚拟边界的约束力。在一些实施方式中,所述控制系统包括:虚拟模拟器,所述虚拟模拟器用于基于所述约束力在虚拟模拟中模拟所述工具的动力学并输出命令的姿态。在一些实施方式中,所述控制系统被配置为命令所述操纵器基于所述命令的姿态移动所述工具。
在一些实施方式中,边界处理程序可在边界启用状态与边界禁用状态之间操作。边界启用状态是其中边界约束从边界处理程序传输到约束求解器以由此启用工具的自主的顺从边界移动的状态。在一些实施方式中,当虚拟边界以原本会导致工具违反虚拟边界的方式相对于工具移动时,发生启用自主的顺从边界移动。在一些实施方式中,其中边界约束不再从边界处理程序传输到约束求解器以由此禁用工具的自主的顺从边界移动使得虚拟边界可以导致工具违反虚拟边界的方式相对于工具移动的边界禁用状态。在一些实施方式中,所述边界处理程序被配置为:响应于所述用户输入从所述第一输入状态转变为所述第二输入状态而以所述边界禁用状态操作。在一些实施方式中,所述边界处理程序被配置为:响应于在所述工具顺从所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界启用状态操作。在一些实施方式中,所述边界处理程序被配置为:响应于在所述工具违反所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界禁用状态操作。
在一些实施方式中,所述控制系统被配置为向用户提供触觉反馈以引导所述用户将所述工具放置成顺从所述虚拟边界。在一些实施方式中,通过激活一个或多个引导约束以引导工具顺从虚拟边界来发生反馈。在一些实施方式中,所述控制系统被配置为向用户提供触觉反馈以引导所述用户将所述工具放置成顺从所述虚拟边界。在一些实施方式中,触觉反馈通过抑制工具的移动而发生。在一些实施方式中,所述控制系统被配置为当所述工具被放置成顺从所述虚拟边界时,将所述边界处理程序从所述边界禁用状态切换到所述边界启用状态。
在一些实施方式中,所述用户输入被配置为使得所述第一输入状态指示用户正在主动接合所述工具并且所述第二输入状态指示所述用户已经释放所述工具。
在一些实施方式中,所述用户输入位于所述工具上并且所述用户输入被配置为使得所述用户输入被致动以将所述用户输入置于所述第一输入状态并且所述用户输入被释放以将所述用户输入置于所述第二输入状态。在一些实施方式中,所述工具具有握把,并且所述用户输入包括存在检测器以检测用户的手在所述握把上。
在一些实施方式中,所述控制系统包括示教器并且用户输入位于示教器上。在一些实施方式中,所述用户输入被配置为使得所述用户输入被致动以将所述用户输入置于所述第一输入状态并且所述用户输入被释放以将所述用户输入置于所述第二输入状态。
在一些实施方式中,用户输入被进一步定义为位于工具上的工具输入。在一些实施方式中,第一输入状态和第二输入状态进一步被定义为工具输入第一状态和工具输入第二状态。在一些实施方式中,控制系统包括示教器和位于示教器上的示教器输入,所述示教器输入具有示教器输入第一状态和示教器输入第二状态。
在一些实施方式中,操纵器可以手动模式操作,在所述手动模式中,当工具输入处于工具输入第一状态时,操纵器响应于由用户施加到工具的用户力和扭矩而移动工具。在一些实施方式中,操纵器可以半自主模式操作,在所述半自主模式中,当示教器输入处于示教器输入第一状态时,操纵器沿着工具路径移动工具。在一些实施方式中,所述边界处理程序被配置为响应于所述控制系统将所述操纵器的操作从所述手动模式和所述半自主模式中的一者切换到所述手动模式和所述半自主模式中的另一者而确定所述工具是顺从所述虚拟边界还是违反所述虚拟边界。在一些实施方式中,所述控制系统包括路径处理程序,所述路径处理程序被配置为生成从工具的当前位置到工具路径的导入路径。在一些实施方式中,当操纵器从手动模式切换到半自主模式时生成导入路径。在一些实施方式中,所述边界处理程序被配置为确定所述工具沿着所述导入路径的移动是会维持顺从所述虚拟边界还是会违反所述虚拟边界。在一些实施方式中,所述边界处理程序被配置为通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是会维持顺从所述虚拟边界还是会违反所述虚拟边界来确定所述工具沿着所述导入路径的移动是会维持顺从所述虚拟边界还是会违反所述虚拟边界。在一些实施方式中,所述边界处理程序被配置为以三个或更多个自由度对所述多个立体定向交互特征的运动进行建模。在一些实施方式中,所述控制系统包括引导处理程序,所述引导处理程序被配置为响应于所述边界处理程序确定如果所述工具沿着所述导入路径从所述当前位置移动到所述工具路径则所述工具将违反所述虚拟边界而向所述用户生成用户反馈。
在一些实施方式中,所述控制系统被配置为响应于以下各项中的一者或多者而禁用所述工具的自主的顺从边界移动:所述工具开始停止;在所述用户输入从所述第一输入状态转变为所述第二输入状态之后经过预定时间段;所述工具的线速度降低到低于一个或多个阈值;或者所述工具的角速度降低到低于一个或多个阈值。
在一些实施方式中,所述控制系统被配置为基于为所述虚拟边界定义的公差来确定所述工具是否保持顺从所述虚拟边界。
在一些实施方式中,所述控制系统被配置为在所述恢复模式下生成恢复工具路径以使所述工具移动成顺从所述虚拟边界。
在一些实施方式中,所述控制系统被配置为在所述恢复模式下将所述虚拟边界从起始位置移动,使得所述工具返回成顺从所述虚拟边界,此后将所述虚拟边界移动回到所述起始位置,同时实现所述工具的自主的顺从边界移动。
在一些实施方式中,响应于所述用户选择所述第二虚拟边界,所述边界处理程序被配置为:如果所述边界处理程序确定所述工具顺从所述第二虚拟边界,则激活所述第二虚拟边界并停用所述第一虚拟边界,使得所述控制系统转变以基于所述工具与所述第二虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动。在一些实施方式中,响应于所述用户选择所述第二虚拟边界,所述边界处理程序被配置为:如果所述边界处理程序确定所述工具违反所述第二虚拟边界,则维持所述第一虚拟边界处于活动状态,使得所述控制系统继续基于所述工具与所述第一虚拟边界之间的所述关系来控制所述操纵器的操作和所述工具的移动。在一些实施方式中,所述控制系统被配置为响应于所述边界处理程序确定所述工具违反所述第二虚拟边界而向所述用户生成用户反馈。
在一些实施方式中,所述控制系统包括具有第一输入状态和第二输入状态的用户输入,所述用户输入位于所述工具上并且被配置为使得所述用户输入由所述用户致动以将所述用户输入置于所述第一输入状态并且所述用户输入由所述用户释放以将所述用户输入置于所述第二输入状态。在一些实施方式中,所述控制系统被配置为使得所述用户能够在所述用户输入处于所述第一输入状态时利用所述虚拟边界选择器来选择所述第二虚拟边界。在一些实施方式中,所述虚拟边界选择器包括位于所述工具上的第二用户输入。在一些实施方式中,所述工具包括工具驱动器,并且所述控制系统被配置为当用户利用所述虚拟边界选择器选择所述第二虚拟边界时继续所述工具驱动器的操作。在一些实施方式中,所述控制系统被配置为当所述用户输入处于所述第一输入状态并且所述第一虚拟边界处于活动状态时限制所述工具与所述第一虚拟边界之间的相对移动。在一些实施方式中,所述控制系统通过利用所述边界处理程序生成第一边界约束来这样做,并且所述控制系统被配置为当所述用户输入处于所述第一输入状态并且所述第二虚拟边界处于活动状态时通过利用所述边界处理程序生成第二边界约束来限制所述工具与所述第二虚拟边界之间的相对移动。在一些实施方式中,所述控制系统包括:约束求解器,所述约束求解器用于计算约束力,所述约束力适于基于所述第一边界约束维持所述工具顺从所述第一虚拟边界或基于所述第二边界约束维持所述工具顺从所述第二虚拟边界。在一些实施方式中,所述控制系统包括虚拟模拟器,所述虚拟模拟器用于基于所述约束力在虚拟模拟中模拟所述工具的动力学并输出命令的姿态。在一些实施方式中,所述控制系统被配置为命令所述操纵器基于所述命令的姿态移动所述工具。在一些实施方式中,所述虚拟边界选择器被配置为使得所述用户能够在所述第一虚拟边界与所述第二虚拟边界之间触发、从多个虚拟边界中顺序地触发或者从虚拟边界列表中进行选择。
在一些实施方式中,所述第一参数和第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。在一些实施方式中,所述至少一个控制器被配置为:标识事件;以及响应于标识所述事件而改变所述第一参数或所述第二参数中的至少一者。在一些实施方式中,所述第一参数和第二参数各自进一步被定义为几何参数,所述几何参数被定义为以下至少一者:立体定向交互特征的大小、面积、体积或形状;并且其中所述第一几何参数不同于所述第二几何参数。在一些实施方式中,所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者通过定位在与所述一个或多个第二对象间隔开距离的位置处而与所述一个或多个第二对象相关联。在一些实施方式中,所述至少一个控制器被配置为通过被配置为进行以下操作来定义所述第一参数和所述第二参数中的一者或多者:接收定义所述第一参数和所述第二参数中的一者或多者的用户输入;或者基于手术信息来自动定义所述第一参数和所述第二参数中的一者或多者。在一些实施方式中,为了基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成所述响应,所述至少一个控制器被配置为:标识所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者与所述虚拟边界之间的冲突或预期冲突;以及生成响应,所述响应进一步被定义为所述至少一个控制器被配置为执行以下各项中的一者或多者:调整所述一个或多个第二对象的姿态;以及生成关于所述冲突或预期冲突的警报或通知。在一些实施方式中,所述一个或多个第二对象进一步被定义为单个第二对象,其中所述第一立体定向交互特征和所述第二立体定向交互特征与所述单个第二对象相关联。在一些实施方式中,所述一个或多个第二对象进一步被定义为单独的第二对象,其中所述第一立体定向交互特征与所述第二对象中的一者相关联并且所述第二立体定向交互特征与所述第二对象中的另一者相关联。在一些实施方式中,所述一个或多个第一对象进一步被定义为骨;所述虚拟边界进一步被定义为切割边界,所述切割边界描绘要从不应被移除的解剖结构中移除的解剖结构;所述一个或多个第二对象进一步被定义为旋转切割工具;所述第一立体定向交互特征和所述第二立体定向交互特征与所述旋转切割工具相关联并且位于相对于所述旋转切割工具的不同位置处;并且所述第一参数和第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。在一些实施方式中,所述一个或多个第一对象包括以下各项中的一者或多者:患者的解剖结构;形成机器人操纵器的运动链的任何部分,包括底座、连杆、关节、末端执行器、工具、无菌适配器、能量施加器;手持工具或装置;手术台;头戴式装置;手持显示装置或平板电脑;手术跟踪器;牵开器;成像装置;手术室中的人;并且所述一个或多个第二对象包括以下各项中的一者或多者:患者的解剖结构;形成机器人操纵器的运动链的任何部分,包括底座、连杆、关节、末端执行器、工具、无菌适配器、能量施加器;手持工具或装置;手术台;头戴式装置;手持显示装置或平板电脑;手术跟踪器;牵开器;成像装置;手术室中的人。
附图说明
本公开的优点将是容易理解的,因为当结合附图考虑时通过参考以下详细描述可以更好地理解本公开的优点。
图1是手术系统的透视图。
图2是用于控制手术系统的控制系统的框图。
图3是软件程序的功能框图。
图4示出了用于髋臼外科手术的边界生成器的输出。
图5示出了用于髋臼外科手术的路径生成器的输出。
图6示出了用于椎体外科手术的边界生成器的输出。
图7示出了用于股骨外科手术的边界生成器的输出。
图8示出了用于股骨外科手术的路径生成器的输出。
图9示出了用于股骨外科手术的边界生成器的输出。
图10是虚拟约束的图示。
图11是可由控制系统操作的模块的框图。
图12示出了样本约束方程。
图13和图14示出了用于执行虚拟模拟的样本正向动力学算法。
图15示出了由控制系统执行以在边界启用模式与边界禁用模式之间切换的一组示例性步骤。
图16示出了由控制系统执行以对约束求解、执行正向动力学和确定命令姿态的一组示例性步骤。
图16A示出了由控制系统执行以对约束求解、执行正向动力学和确定命令姿态的一组示例性步骤。
图17A至图17D示出了控制系统在确定命令姿态时如何解决冲突。
图18A至图18G示出了在股骨外科手术期间工具和虚拟边界的移动。
图19示出了第一虚拟边界与第二虚拟边界之间的切换。
图20示出了与机器人手术系统的部件相关联的多个立体定向交互特征。
具体实施方式
I.概述
参考图1,示出了手术系统10。系统10可用于治疗患者12的目标部位或解剖体积A,诸如治疗骨骼或软组织。在图1中,患者12正在接受外科手术。图1中的解剖结构包括患者12的股骨F、骨盆PEL和胫骨T。外科手术可能涉及组织移除或其他形式的治疗。治疗可以包括切割、凝固、损伤组织、其他原位组织治疗等。在一些示例中,外科手术包括局部或全膝关节或髋关节置换手术、肩部置换手术、脊柱手术或踝关节手术。在一些示例中,系统10被设计为切掉要被手术植入物置换的材料,所述手术植入物诸如髋关节和膝关节植入物,包括单室、双室、多室或全膝关节植入物、髋臼杯植入物、股骨柄植入物、螺钉、锚固件、其他紧固件等。这些类型的一些植入物在标题为“假体植入物及植入方法(Prosthetic Implant andMethod of Implantation)”的美国专利申请公开号2012/0330429中示出,所述专利的公开内容特此以引用方式并入本文。本文公开的系统10和技术可以用于执行其他外科手术或非外科手术,或者可以用于工业应用或其他应用。
系统10包括机器人操纵器14,也被称为手术机器人。操纵器14具有底座16和多个连杆18。操纵器推车17支撑操纵器14,使得操纵器14固定到操纵器推车17。连杆18共同形成操纵器14的一个或多个臂(例如,机器人臂)。操纵器14可以具有串联臂配置(如图1所示)、并联臂配置或任何其他合适的操纵器配置。在其他示例中,可以在多臂配置中利用多于一个操纵器14。
在图1中所示的示例中,操纵器14包括多个关节J和位于关节J处用于确定关节J的位置数据的多个关节编码器19。为了简单起见,图1中仅示出了一个关节编码器19,但是也可以类似地示出其他关节编码器19。根据一个示例的操纵器14具有实施操纵器14的至少六个自由度(DOF)的六个关节J1至J6。然而,操纵器14可以具有任意数量的自由度并且可以具有任意合适数量的关节J并且可以具有冗余关节。
操纵器14不需要关节编码器19,但是可以替代地或另外利用存在于每个关节J处的马达上的马达编码器。而且,操纵器14不需要旋转关节,但是可以替代地或另外利用一个或多个棱柱关节。设想了任何合适的关节类型组合。
操纵器14的底座16通常是操纵器14的一部分,其为操纵器14的其他部件或通常为系统10提供固定的参考坐标系。通常,操纵器坐标系MNPL的原点被定义在底座16的固定参考点处。底座16可以关于操纵器14的任何合适部分(诸如一个或多个连杆18)来限定。替代地或另外,底座16可以关于操纵器推车17来限定,诸如被限定在操纵器14物理地附接到推车17的位置。在一个示例中,底座16被限定在接头J1和J2的轴线的交点处。因此,尽管关节J1和J2在现实中是移动部件,但是关节J1和J2的轴线的交点仍然是虚拟的固定参考姿态,其提供固定位置和取向参考并且不相对于操纵器14移动和/或操纵器推车17移动。
在一些示例中,操纵器14可以是手持操纵器,其中底座16是工具的底座部分(例如,由用户徒手握持的部分)并且工具尖端可相对于底座部分移动。底座部分具有被跟踪的参考坐标系,并且工具尖端具有相对于参考坐标系计算的工具尖端坐标系(例如,经由马达和/或关节编码器和正向运动学计算)。工具尖端的移动可以被控制以遵循路径,因为可以确定其相对于路径的姿态。这种操纵器14在2012年8月31日提交的题为“包括壳体、从壳体延伸的切割附件和确立切割附件相对于壳体的位置的致动器的手术器械(SurgicalInstrument Including Housing,A Cutting Accessory that Extends from theHousing and Actuators that Establish the Position of the Cutting AccessoryRelative to the Housing)”的美国专利号9,707,043中示出,所述专利特此以引用方式并入本文。
操纵器14和/或操纵器推车17容纳操纵器控制器26或其他类型的控制单元。操纵器控制器26可以包括一个或多个计算机,或引导操纵器14的运动的任何其他合适形式的控制器。操纵器控制器26可以具有中央处理单元(CPU)和/或其他处理器、存储器(未示出)以及存储装置(未示出)。操纵器控制器26被加载有如下文所描述的软件。处理器可以包括用于控制操纵器14的操作的一个或多个处理器。处理器可以为任何类型的微处理器、多处理器和/或多核处理系统。操纵器控制器26另外或替代地可以包括一个或多个微控制器、现场可编程门阵列、片上系统、分立电路和/或能够执行本文描述的功能的其他合适的硬件、软件或固件。术语处理器不意图将任何实施方案限制于单个处理器。操纵器14还可以包括具有一个或多个显示器和/或输入装置(例如,按钮、传感器、开关、键盘、鼠标、传声器(语音激活)、手势控制装置、触摸屏、操纵杆、脚踏板等)的用户界面UI。
手术工具20联接到操纵器14并且可相对于底座16移动以在某些模式下与解剖结构交互。在某些实施方案中,工具20是由操纵器14支撑的末端执行器22或形成该末端执行器的一部分。工具20可以被用户抓握。操纵器14和工具20的一种可能布置在2013年8月2日提交的题为“能够以多种模式控制手术器械的手术操纵器(Surgical ManipulatorCapable of Controlling a Surgical Instrument in Multiple Modes)”的美国专利号9,119,655中进行了描述,所述专利的公开内容特此以引用方式并入本文。操纵器14和工具20可以被布置成替代配置。工具20可以类似于2014年3月15日提交的题为“手术机器人操纵器的末端执行器(End Effector of a Surgical Robotic Manipulator)”的美国专利申请公开号2014/0276949中所示的工具,所述专利特此以引用方式并入本文。
工具20包括被设计为在目标部位处接触患者12的组织的能量施加器24。在一个示例中,能量施加器24是锉25。锉25可以为大致球形并且包括球形中心、半径(r)和直径。替代地,能量施加器24可以是钻头、锯片27(参见图1中的替代工具)、超声振动尖端等。工具20和/或能量施加器24可以包括任何几何特征,例如周边、周长、半径、直径、宽度、长度、体积、面积、表面/平面、运动范围包络线(沿着任何一个或多个轴线)等。几何特征可以被考虑以确定如何相对于目标部位处的组织定位工具20以执行期望治疗。在本文描述的一些实施方案中,为了方便和易于说明,将描述具有工具中心点(TCP)的球形锉和具有TCP的矢状锯片,但不是意图将工具20限制为任何特定形式。
工具20可以包括工具控制器21以控制工具20的操作,诸如控制工具20的动力(例如,控制工具驱动器(诸如工具20的旋转马达)的动力),控制工具20的移动,控制工具20的冲洗/抽吸等。工具控制器21可以与操纵器控制器26或其他部件进行通信。工具20还可以包括具有一个或多个显示器和/或输入装置(例如,按钮、触发器、传感器、开关、键盘、鼠标、传声器(语音激活)、手势控制装置、触摸屏、操纵杆、脚踏板等)的用户界面UI,所述显示器和/或输入装置耦合到工具控制器21、操纵器控制器26和/或本文描述的其他控制器。操纵器控制器26控制(例如,TCP的)工具20相对于诸如操纵器坐标系MNPL的坐标系的状态(例如,位置和/或取向)。操纵器控制器26可以控制工具20的速度(线速度或角速度)、加速度或其他运动导数。
在一个示例中,工具中心点(TCP)是被限定在能量施加器24处的预定参考点。TCP具有相对于其他坐标系的已知或能够计算(即,不一定是静态的)的姿态。能量施加器24的几何形状在TCP坐标系中是已知的或相对于TCP坐标系限定。TCP可以位于工具20的锉25的球心处或锯片27的远端处,使得仅跟踪一个点。TCP可以取决于能量施加器24的配置以各种方式限定。操纵器14可以采用关节/马达编码器,或任何其他非编码器位置感测方法,以使得能够确定TCP的姿态。操纵器14可以使用关节测量来确定TCP姿态和/或可以采用技术来直接测量TCP姿态。工具20的控制不限于中心点。例如,可以使用任何合适的图元、网格等来表示工具20。
系统10还包括导航系统32。导航系统32的一个示例在2013年9月24日提交的题为“包括光学和非光学传感器的导航系统(Navigation System Including Optical andNon-Optical Sensors)”的美国专利号9,008,757中进行了描述,所述专利特此以引用方式并入本文。导航系统32跟踪各种对象的移动。此类对象包括例如操纵器14、工具20和解剖结构,例如,股骨F、骨盆PEL和胫骨T。导航系统32跟踪这些对象以收集每个对象关于(导航)定位器坐标系LCLZ的状态信息。定位器坐标系LCLZ中的坐标可以使用变换来变换为操纵器坐标系MNPL、其他坐标系和/或反之亦然。
导航系统32包括容纳导航控制器36和/或其他类型的控制单元的推车总成34。导航用户界面UI与导航控制器36进行操作性通信。导航用户界面包括一个或多个显示器38。导航系统32能够使用一个或多个显示器38向用户显示被跟踪对象的相对状态的图形表示。导航用户界面UI还包括一个或多个输入装置以向导航控制器36输入信息或以其他方式选择/控制导航控制器36的某些方面。此类输入装置包括交互式触摸屏显示器。然而,输入装置可以包括按钮、键盘、鼠标、传声器(语音激活)、手势控制装置、脚踏板等中的任何一者或多者。
导航系统32还包括耦合到导航控制器36的导航定位器44。在一个示例中,定位器44是光学定位器并且包括相机单元46。相机单元46具有容纳一个或多个光学传感器50的外壳48。定位器44可以包括它自己的定位器控制器49并且还可以包括摄像机VC。
导航系统32包括一个或多个跟踪器。在一个示例中,跟踪器包括指针跟踪器PT、一个或多个操纵器跟踪器52A、52B、第一患者跟踪器54、第二患者跟踪器55和第三患者跟踪器56。在图1所示的示例中,操纵器跟踪器牢固地附接到工具20(即,跟踪器52A),第一患者跟踪器54牢固地附接到患者12的股骨F,第二患者跟踪器55牢固地附接到患者12的骨盆PEL,并且第三患者跟踪器56牢固地固定到患者12的胫骨T。在该示例中,患者跟踪器54、55、56牢固地固定到骨区段。指针跟踪器PT牢固地固定到指针P,所述指针P用于将解剖结构配准到定位器坐标系LCLZ。操纵器跟踪器52A、52B可以固定到操纵器14的除工具20之外或与工具20不同的任何合适的部件,诸如底座16(即,跟踪器52B)或操纵器14的任何一个或多个连杆18。跟踪器52A、52B、54、55、56、PT可以以任何合适的方式固定到它们相应的部件。例如,跟踪器可以是刚性固定的、灵活连接的(光纤)或根本不物理连接的(超声波),只要有合适的(补充)方式来确定该相应跟踪器与和其相关联的对象的关系(测量值)即可。
跟踪器中的任何一者或多者可以包括有源标记物58。有源标记物58可以包括发光二极管(LED)。替代地,跟踪器52A、52B、54、55、56、PT可以具有反射从相机单元46发射的光的无源标记物,诸如反射器。可以利用本文未具体描述的其他合适的标记物。
定位器44跟踪跟踪器52A、52B、54、55、56、PT以确定跟踪器52A、52B、54、55、56、PT中的每一者的状态,所述状态分别对应于分别附接到跟踪器的对象的状态。定位器44可以执行已知的三角测量技术以确定跟踪器52、54、55、56、PT和相关联对象的状态。定位器44将跟踪器52A、52B、54、55、56、PT的状态提供给导航控制器36。在一个示例中,导航控制器36确定跟踪器52A、52B、54、55、56、PT的状态并将其传送给操纵器控制器26。如本文所使用的,对象的状态包括但不限于定义被跟踪对象的位置和/或取向的数据或位置和/或取向的等价物/导数。例如,状态可以是对象的姿态,并且可以包括线速度数据和/或角速度数据等。
导航控制器36可以包括一个或多个计算机,或任何其他合适形式的控制器。导航控制器36具有中央处理单元(CPU)和/或其他处理器、存储器(未示出)以及存储装置(未示出)。处理器可以为任何类型的处理器、微处理器或多处理器系统。导航控制器36加载有软件。例如,软件将从定位器44接收的信号转换为表示被跟踪对象的位置和取向的数据。导航控制器36另外或替代地可以包括一个或多个微控制器、现场可编程门阵列、片上系统、分立电路和/或能够执行本文描述的功能的其他合适的硬件、软件或固件。术语处理器不意图将任何实施方案限制于单个处理器。
尽管导航系统32的一个示例被示为采用三角测量技术来确定对象状态,但是导航系统32可以具有用于跟踪操纵器14、工具20和/或患者12的任何其他合适的配置。在另一个示例中,导航系统32和/或定位器44是基于超声的。例如,导航系统32可以包括耦合到导航控制器36的超声成像装置。超声成像装置对上述任何对象(例如,操纵器14、工具20和/或患者12)进行成像,并基于超声图像向导航控制器36生成状态信号。超声图像可以是2D、3D或两者的组合。导航控制器36可以近实时地处理图像以确定对象的状态。超声成像装置可以具有任何合适的配置并且可以不同于图1中所示的相机单元46。
在另一个示例中,导航系统32和/或定位器44是基于射频(RF)的。例如,导航系统32可以包括耦合到导航控制器36的RF收发器。操纵器14、工具20和/或患者12可以包括附接到其的RF发射器或转发器。RF发射器或转发器可以是无源的或被主动激励。RF收发器传输RF跟踪信号并基于从RF发射器接收的RF信号向导航控制器36生成状态信号。导航控制器36可以分析接收到的RF信号以将相关状态与其相关联。RF信号可以具有任何合适的频率。RF收发器可以定位在任何合适的位置处以使用RF信号有效地跟踪对象。此外,RF发射器或转发器可以具有与图1中所示的跟踪器52A、52B、54、55、56、PT显著不同的任何合适的结构配置。
在又另一示例中,导航系统32和/或定位器44是基于电磁的。例如,导航系统32可以包括耦合到导航控制器36的EM收发器。操纵器14、工具20和/或患者12可以包括附接到其的EM部件,诸如任何合适的磁跟踪器、电磁跟踪器、感应跟踪器等。跟踪器可以是无源的或被主动激励。EM收发器生成EM场并基于从跟踪器接收的EM信号向导航控制器36生成状态信号。导航控制器36可以分析接收到的EM信号以将相关状态与其相关联。同样,此类导航系统32的示例可以具有与图1中所示的导航系统32的配置不同的结构配置。
导航系统32可以具有本文未具体列举的任何其他合适的部件或结构。此外,可以针对本文描述的导航系统32的其他示例中的任一者实施或提供上文关于所示导航系统32描述的技术、方法和/或部件中的任一者。例如,导航系统32可以仅利用惯性跟踪或跟踪技术的任何组合,并且可以另外或替代地包括基于光纤的跟踪、机器视觉跟踪等。
参考图2,系统10包括控制系统60,所述控制系统包括操纵器控制器26、导航控制器36和工具控制器21以及其他部件。控制系统60还包括图3中所示的一个或多个软件程序和软件模块。软件模块可以是在操纵器控制器26、导航控制器36、工具控制器21或它们的任何组合上操作以处理数据以辅助控制系统10的一个或多个程序的部分。软件程序和/或模块包括存储在操纵器控制器26、导航控制器36、工具控制器21或其组合上的非暂时性存储器64中的计算机可读指令,以由控制器21、26、36的一个或多个处理器70执行。存储器64可以是任何合适的存储器配置,诸如RAM、非易失性存储器等,并且可以在本地或从远程数据库实施。另外,用于提示用户和/或与用户通信的软件模块可以形成一个或多个程序的部分,并且可以包括存储在操纵器控制器26、导航控制器36、工具控制器21或其任何组合上的存储器64中的指令。用户可以与导航用户界面UI或其他用户界面UI的输入装置中的任一者交互以与软件模块进行通信。用户界面软件可以在与操纵器控制器26、导航控制器36和/或工具控制器21分开的装置上运行。
控制系统60可以包括适合于执行本文描述的功能和方法的输入、输出和处理装置的任何合适的配置。控制系统60可以包括操纵器控制器26、导航控制器36或工具控制器21或它们的任何组合,或者可以仅包括这些控制器中的一者。这些控制器可以经由如图2所示的有线总线或通信网络、经由无线通信或其他方式进行通信。控制系统60也可以被称为控制器。控制系统60可以包括一个或多个微控制器、现场可编程门阵列、片上系统、分立电路、传感器、显示器、用户界面、指示器和/或能够执行本文描述的功能的其他合适的硬件、软件或固件。
II.虚拟边界和工具路径
参考图3,由控制系统60采用的软件包括边界生成器66。如图4所示,边界生成器66是生成用于约束工具20的移动和/或操作的虚拟边界71的软件程序或模块。虚拟边界71可以是一维、二维、三维的,并且可以包括点、线、轴线、轨迹、平面、体积、三角形网格等。虚拟边界71可以具有简单的形状或复杂的几何形状。在一些实施方案中,虚拟边界71是由三角形网格定义的表面。虚拟边界71也可以被称为虚拟对象。例如,虚拟边界71可以是其中希望工具20保持在由边界定义的体积内的保持在内边界(keep-in boundary),或者其中希望工具20保持在由边界定义的体积之外的保持在外边界(keep-out boundary)。虚拟边界71也可以是其中希望工具20保持在定义边界的点、线、平面、表面等上的保持在上边界(keep-onboundary),或者其中希望工具20保持远离定义边界的点、线、平面、表面等的保持远离边界(keep-off boundary)。虚拟边界71也可以是这些类型的边界的组合。也设想了其他类型的导航系统。
虚拟边界71可以关于诸如3D骨骼模型的解剖模型AM来定义。由于解剖模型AM经由配准或其他过程映射到患者的解剖结构,因此解剖模型AM与真实的患者解剖结构相关联。在图4的示例中,虚拟边界71包括基本上围绕髋臼的大致球形网格,其具有提供对髋臼的触及的入口部分71a(开口)。入口部分具有漏斗或圆锥形状。该虚拟边界71与髋臼的3D模型相关联。
解剖模型AM和相关联的虚拟边界71被配准到一个或多个患者跟踪器54、55、56。因此,解剖模型AM(和相关联的真实患者解剖结构)和固定到解剖模型AM的虚拟边界71可以由患者跟踪器54、55、56跟踪。虚拟边界71可以是植入物特定的,例如基于植入物的大小、形状、体积等定义的,和/或是患者特定的,例如基于患者的解剖结构定义的。虚拟边界71可以是在术前、术中或它们的组合中创建的边界。换言之,虚拟边界71可以在外科手术开始之前、在外科手术期间(包括在组织移除期间)或它们的组合来定义。在任何情况下,控制系统60通过在存储器中/从存储器存储/检索虚拟边界71、从存储器获得虚拟边界71、在术前创建虚拟边界71、在术中创建虚拟边界71等来获得虚拟边界71。
操纵器控制器26和/或导航控制器36跟踪工具20相对于一个或多个虚拟边界71的状态。在一个示例中,相对于虚拟边界71测量TCP的状态,以便经由虚拟模拟确定要施加到工具20的虚拟刚性体模型上的力,使得工具20保持顺从虚拟边界。工具20通过与虚拟边界71保持期望关系(诸如不移动超出虚拟边界)和/或维持相对于虚拟边界71的期望位置和/或取向来保持顺从虚拟边界。应当理解,还可以为任何虚拟边界71建立预定义的、可配置的公差,使得工具20对虚拟边界71的一些穿透或偏离完全顺从虚拟边界71不被视为违反虚拟边界71。例如,可以将小的公差设定为0.1毫米(mm),使得只要工具20穿透进入虚拟边界71小于0.1mm,工具20即保持顺从虚拟边界71(即,这不会被视为违反虚拟边界71)。在一些情况下,较大的公差可能是适当的。虚拟模拟的结果被命令至操纵器14。控制系统60以仿真物理手持件在存在物理边界/障碍物时的响应方式的方式来控制/定位操纵器14。边界生成器66可以在操纵器控制器26上实施。替代地,边界生成器66可以在其他部件(诸如导航控制器36)上实施。
参考图3和图5,路径生成器68是由控制系统60运行的另一个软件程序或模块。在一个示例中,路径生成器68由操纵器控制器26运行。路径生成器68生成用于供工具20横穿的工具路径TP,诸如用于移除解剖结构的区段以接收植入物的工具路径。工具路径TP可以包括多个路径段PS,或者可以包括单个路径段PS。路径段PS可以是直线段、曲线段、它们的组合等。工具路径TP也可以关于解剖模型AM来定义并且可以经由患者跟踪器54、55、56中的一者或多者来跟踪。工具路径TP可以是植入物特定的,例如基于植入物的大小、形状、体积等定义的,和/或是患者特定的,例如基于患者的解剖结构定义的。工具路径TP可以是3D路径,工具20的TCP意图在系统10的某些操作期间沿着所述路径移动。
在本文描述的一个版本中,工具路径TP被定义为组织移除路径,但是在其他版本中,工具路径TP可以用于除组织移除之外的治疗。本文所述的组织移除路径的一个示例包括铣削路径72。应当理解,术语“铣削路径”通常是指工具20在目标部位附近用于铣削解剖结构的路径,并且不意图要求工具20在路径的整个持续时间内可操作地铣削解剖结构。例如,铣削路径72可以包括工具20在没有铣削的情况下从一个位置转变到另一个位置的部分或区段。另外,可以采用沿着铣削路径72的其他形式的组织移除,诸如组织消融等。铣削路径72可以是在术前、术中或它们的组合中创建的预定义路径。换言之,铣削路径72可以在外科手术开始之前、在外科手术期间(包括在组织移除期间)或它们的组合来定义。在任何情况下,控制系统60通过在存储器中/从存储器存储/检索铣削路径72、从存储器获得铣削路径72、在术前创建铣削路径72、在术中创建铣削路径72等来获得铣削路径72。铣削路径72可以具有任何合适的形状或形状的组合,诸如圆形、螺旋形/螺旋式、直线形、曲线形、它们的组合等。图5中所示的铣削路径72在被工具20横穿时意图从髋臼移除材料以为髋臼杯植入物留出空间以便装配到髋臼。
示例性虚拟边界71和/或铣削路径72在图4至图9中示出。所示的虚拟边界71和/或铣削路径72的特定形状和布置是出于说明性目的。其他形状和布置也是可能的。如前所述,图4和图5示出了虚拟边界71和铣削路径72,它们经生成以用于其中髋臼正被准备(例如,铣削)以接收髋臼杯植入物的外科手术。
图6示出了虚拟边界71,所述虚拟边界包括基本上围绕椎体的大致球形网格,其具有提供对椎体的触及的入口部分71a(开口)。入口部分71a具有漏斗或圆锥形状并且延伸到圆柱形部分71b中。该虚拟边界71与椎体的3D模型相关联。生成该虚拟边界71以用于其中椎体正被准备(例如,铣削)以接收螺钉或其他植入物的外科手术。
图7示出了虚拟边界71,所述虚拟边界包括基本上围绕股骨的一端的大致球形网格,其具有提供对股骨的触及的入口部分71a(开口)。入口部分71a具有漏斗或圆锥形状并且延伸到沿着股骨的髓管向下延伸的管部分71b。该虚拟边界71与股骨的3D模型相关联。图8示出了铣削路径72,所述铣削路径被定义使得工具20能够从股骨移除材料以为股骨柄植入物腾出空间。因此,图7和图8示出了虚拟边界71和铣削路径72,它们经生成以用于其中股骨F正被准备(例如,铣削)以接收股骨柄植入物的外科手术。
图9示出了为穿过股骨的远端的五个切割平面生成的一系列虚拟边界71。图9中的虚拟边界71中的每一者包括基本上围绕股骨的远端的大致球形网格,其具有提供对股骨的触及的入口部分71a(开口)。入口部分71a继续进入沿着五个切割平面73a至73e中的一者限定的切割槽71b。生成这些虚拟边界71以用于其中股骨F正被准备(例如,经由平面切除)以接收全膝植入物的外科手术。设想了其他类型/形状的虚拟边界和/或铣削路径72用于其他外科手术。
用于生成虚拟边界71和/或铣削路径72的系统和方法的一个示例在题为“能够以多种模式控制手术器械的手术操纵器(Surgical Manipulator Capable of Controllinga Surgical Instrument in Multiple Modes)”的美国专利号9,119,655中进行了描述,所述专利的公开内容特此以引用方式并入本文。在一些示例中,虚拟边界71和/或铣削路径72可以离线生成,而不是在操纵器控制器26或导航控制器36上生成。此后,虚拟边界71和/或铣削路径72可以在运行时由操纵器控制器26利用。
返回参考图3,两个附加软件程序或模块在操纵器控制器26和/或导航控制器36上运行。一个软件模块执行行为控制74。行为控制74是计算指示工具20的下一命令位置和/或取向(例如,姿态)的数据的过程。在一些情况下,仅从行为控制74输出TCP的位置,而在其他情况下,输出工具20的位置和取向。来自边界生成器66、路径生成器68和一个或多个传感器(诸如力/扭矩传感器S)的输出可以作为输入馈送到行为控制74中以确定工具20的下一命令位置和/或取向。行为控制74可以处理这些输入以及下文进一步描述的一个或多个虚拟约束以确定命令姿态。
第二软件模块执行运动控制76。运动控制的一个方面是操纵器14的控制。运动控制器76从行为控制器74接收定义下一命令姿态的数据。基于这些数据,运动控制器76确定操纵器14的关节J的关节角的下一位置(例如,经由逆运动学和雅可比矩阵计算器),使得操纵器14能够按照行为控制74的命令(例如,以命令的姿态)定位工具20。换言之,运动控制器76将可以定义在笛卡尔空间中的命令姿态处理成操纵器14的关节角度,使得操纵器控制器26可以相应地命令关节马达,以将操纵器14的关节J移动到与工具20的命令姿态相对应的命令关节角度。在一个版本中,运动控制器76调节每个关节J的关节角度并不断调整每个关节马达输出的扭矩,以尽可能接近地确保关节马达将相关联的关节J驱动到命令的关节角度。
边界生成器66、路径生成器68、行为控制74和运动控制76可以是软件程序78的子集。替代地,每个都可以是单独和/或以其任意组合独立操作的软件程序。术语“软件程序”在本文中用于描述被配置为执行所描述的技术方案的各种能力的计算机可执行指令。为了简单起见,术语“软件程序”意图至少包括边界生成器66、路径生成器68、行为控制74和/或运动控制76中的任何一者或多者。软件程序78可以在操纵器控制器26、导航控制器36或它们的任何组合上实施,或者可以由控制系统60以任何合适的方式实施。
可以提供临床应用程序80来处理用户交互。临床应用程序80处理用户交互的许多方面并协调手术工作流程,包括术前计划、植入物放置、配准、骨骼制备可视化和植入物适配的术后评估等。临床应用程序80被配置为输出到显示器38。临床应用程序80可以在其自己的单独处理器上运行或者可以与导航控制器36一起运行。在一个示例中,临床应用程序80在用户设定植入物放置之后与边界生成器66和/或路径生成器68交互,然后将由边界生成器66和/或路径生成器68返回的虚拟边界71和/或工具路径TP发送到操纵器控制器26以供执行。操纵器控制器26如本文所述执行工具路径TP。操纵器控制器26可以在开始或恢复加工时另外创建某些段(例如,导入段)以平稳地返回到所生成的工具路径TP。操纵器控制器26还可以处理虚拟边界71以生成对应的虚拟约束,如下文进一步描述。
III.操作模式
系统10可以手动模式操作,诸如在美国专利号9,119,655中描述的,所述专利通过引用并入本文。这里,用户手动引导工具20及其能量施加器24,并且操纵器14执行工具及其能量施加器在目标部位处的移动。用户物理地接触工具20以使工具20在手动模式下移动。在一种版本中,操纵器14监测由用户施加在工具20上的力和扭矩以定位工具20。例如,操纵器14可以包括检测和测量用户施加到工具20的力和扭矩并生成由控制系统60使用的对应输入(例如,一个或多个对应的输入/输出信号)的一个或多个传感器(例如,力/扭矩传感器S)。由用户施加的力和扭矩至少部分地定义了用于确定如何在手动模式下移动工具20的外力Fext。外力Fext可以包括除由用户施加的力和扭矩之外的其他力和扭矩,诸如重力补偿力、反向驱动力等,如美国专利号9,119,655中所述,所述专利通过引用并入本文。因此,由用户施加的力和扭矩至少部分地定义外力Fext,并且在一些情况下可以完全地定义在手动模式下影响工具20的整体运动的外力Fext。
力/扭矩传感器S可以包括6自由度的力/扭矩传感器,如例如在美国专利号9,119,655中所公开的,所述专利通过引用并入本文。力/扭矩传感器S可以形成工具20、操纵器14或两者的部分。力/扭矩传感器S可以形成工具20与操纵器14之间的接口的部分,或者可以放置在任何合适的位置中,使得将由用户施加到工具20的力和扭矩传输到力/扭矩传感器S。操纵器控制器26和/或导航控制器36从力/扭矩传感器S接收输入(例如,信号)。响应于由用户施加的力和扭矩,操纵器14以对基于由用户施加的力和扭矩而本会发生的移动进行仿真的方式移动工具20。
工具20在手动模式下的移动也可以相对于由边界生成器66生成的一个或多个虚拟边界71受到约束(例如,限制)。在一些版本中,由力/扭矩传感器S进行的测量从力/扭矩传感器S的力/扭矩坐标系FT变换为另一个坐标系,诸如虚拟质量坐标系VM,其中对工具20的虚拟刚性体模型执行虚拟模拟,使得可以在虚拟模拟中将力和扭矩虚拟地施加到虚拟刚性体,以最终确定这些力和扭矩(以及其他输入)将如何影响虚拟刚性体的移动,如下所述。
系统10还可以在半自主模式下操作,其中操纵器14沿着铣削路径72自主地移动工具20(例如,操纵器14的活动关节J操作以移动工具20而无需用户在工具20上施加力/扭矩)。在美国专利号9,119,655中也描述了半自主模式下的操作示例,所述专利通过引用并入本文。在一些实施方案中,当操纵器14以半自主模式操作时,操纵器14能够在没有用户辅助的情况下移动工具20。没有用户辅助可能意味着用户没有物理地接触工具20来移动工具20。相反,用户可以使用与操纵器14进行通信(例如,有线或无线)的遥控器RC(参见图1)来控制移动的开始和停止。遥控器RC可以是握持在用户手中或以其他方式由用户抓握或支撑的示教器的形式。示教器可以具有任何合适的大小和/或形状以使用户能够握持和操作示教器。在一些版本中,示教器是便携式电子装置。
工具20的用户界面UI和遥控器RC可以各自包括耦合到工具控制器21、操纵器控制器26和/或导航控制器36的一个或多个用户输入装置(例如,按钮、传感器、开关、键盘、鼠标、传声器(语音激活)、手势控制装置、触摸屏、操纵杆、脚踏板等)以控制操纵器14的操作。例如,工具20的用户界面UI上的用户输入装置中的一者可以是具有第一输入状态和第二输入状态的工具输入82(例如,开关或其他形式的用户输入装置)(参见图1)。工具输入82可以由用户致动(例如,按压和保持)以被置于第一输入状态,并且可以被释放以被置于第二输入状态。工具20可以具有握把83,工具输入82位于所述握把上。在一些版本中,工具输入82是检测用户的手的存在的存在检测器,诸如在开/关状态之间切换的瞬时接触开关、电容式传感器、光学传感器等。工具输入82因此被配置为使得第一输入状态指示用户正在主动接合工具20并且第二输入状态指示用户已经释放工具20。
遥控器RC上的输入装置中的一者可以是具有第一输入状态和第二输入状态的示教器输入RC1(例如,开关或其他形式的用户输入装置)。类似于工具输入82,示教器输入RC1可以由用户致动(例如,按压和保持)以被置于第一输入状态,并且可以被释放以被置于第二输入状态。当示教器输入RC1被致动时,遥控器RC上的辅助示教器输入RC2、RC3(例如,开关或其他形式的用户输入装置)然后可以通过控制操纵器14的馈送速率(例如,操纵器14移动工具20的速度)来引起操纵器14的移动。例如,在半自主模式下,辅助示教器输入RC2可能会减慢馈送速率,并且辅助示教器输入RC3可能会增大馈送速率。在授予Moctezuma de LaBarrera等人的题为“用于控制从工件中移除材料的工具的机器人系统和方法(RoboticSystems and Methods for Controlling a Tool Removing Material from aWorkpiece)”的美国专利号10,117,713中公开了体现为用户示教器的此类遥控器RC,所述专利特此以引用方式并入本文。
工具输入82和示教器输入RC1可以是连续激活装置的形式,即,必须不断致动以允许工具20取决于哪个用户输入被致动而以手动模式或半自主模式运动的输入。例如,当用户不断致动工具输入82并且启用手动模式时,操纵器14将响应于由用户施加的输入力和扭矩而移动,并且控制系统60将强制执行虚拟边界71以保护患者的解剖结构。当工具输入82被释放时,来自力/扭矩传感器S的输入可以被禁用,使得操纵器14不再响应由用户施加到工具20的力和扭矩。
在正常操作条件下,当工具输入82处于第一输入状态(例如,被致动)时,并且无论示教器输入RC1的状态如何(工具输入82具有优先权),操纵器14都以手动模式操作,并且控制系统60在边界启用状态下操作以维持工具20顺从控制系统60当时所采用的虚拟边界71(或多个边界)。类似地,在正常操作条件下,当工具输入82处于第二输入状态(例如,被释放)并且示教器输入RC1处于第一输入状态(例如,被致动)时,操纵器14以半自主模式操作,并且控制系统60在边界启用状态下操作以维持工具20顺从虚拟边界71并顺从工具路径TP。
在边界启用状态下,控制系统60控制操纵器14的操作以维持工具20顺从虚拟边界71。结果,在边界启用状态下,控制系统60能够控制操纵器14以引起工具20的自主移动,使得如果虚拟边界71以原本会引起工具20违反虚拟边界71的方式相对于工具20移动,则控制系统60可以通过移动工具20来补偿虚拟边界71的此类移动。此类自主移动可以被称为自主的顺从边界移动。例如,如果操纵器14以手动模式操作,但是用户已经停止引起工具20的任何移动,例如,用户仍在致动工具输入82,但是没有在工具20上施加任何用户力或扭矩并且患者的解剖结构以虚拟边界71(其相对于患者的解剖结构是固定的)移动稍微超出工具20的TCP的方式移动,则控制系统60将通过以提供工具20的补偿移动以保持工具20的TCP顺从虚拟边界71的方式致动操纵器14上的关节马达中的一者或多者来做出反应。
当工具输入82和示教器输入RC1两者处于第二输入状态(例如,两者都尚未被致动)时,操纵器14在保持模式和边界禁用状态下操作。在保持模式中,工具20的移动被有效地禁用。在这种情况下,操纵器14仍然可以被激励并操作以通过监测编码器19并主动驱动关节马达以抵抗由于重力或用户意外施加在操纵器14或工具20上的力引起的外力而主动保持工具20相对于操纵器坐标系MNPL的当前位置和/或取向。在一些版本中,可以接合制动系统以将工具20保持在当前位置和/或取向中。在保持模式中,用户可能希望调整患者解剖结构和目标部位的定位而不导致工具20的任何意外移动,例如,使得工具20的移动仅响应于来自用户的输入而发生。用户可能出于各种原因而希望调整患者的解剖结构,诸如可视化、改进对目标部位的触及、允许清洁目标部位、移除或清洁软组织等。无论如何,如果患者的解剖结构已经移动,则相对于患者的解剖结构姿态固定的任何虚拟边界71也会移动。
在保持模式和边界禁用状态下,控制系统60禁用工具20的任何自主的顺从边界移动。结果,一旦用户已经完成移动患者的解剖结构以改进可视化、触及或其他方面,并且准备好在手动模式或半自主模式下重启操纵器14的操作,系统10首先检查以查看虚拟边界71是否已经以工具20现在违反虚拟边界71的方式移动(例如,在虚拟边界71之外、在虚拟边界71内部、偏离虚拟边界71等)。因此,当通过将工具输入82或示教器输入RC1切换到第一输入状态而切换回手动模式或半自主模式时,控制系统60执行冲突检查以确定工具20的TCP是否现在违反虚拟边界71。
如果检测到冲突,则手动模式或半自主模式(取决于致动哪个输入)保持禁用,并且控制系统60用于向用户提供关于情况以及可以如何移动工具20以将工具20放置成恢复顺从虚拟边界71的指导。否则,如果启用手动模式或半自主模式,特别是当工具20已经完全不顺从虚拟边界71时,则这可能导致工具20的突然和意外移动。对用户的指导可以是用户反馈的形式,诸如视觉反馈(工具20上的显示器38、视觉指示器LED等上)、听觉反馈(经由操纵器14、工具20等上的扬声器)和/或触觉反馈(例如,通过以触觉指导用户将工具20放置成与虚拟边界71成期望关系)。冲突检查可以周期性地或不断重复,并且如果工具20恢复顺从虚拟边界71,则可以启用手动或半自主模式并且用户反馈将停止。控制系统60可以在检测到工具20已经恢复顺从虚拟边界71时自动将操纵器14从边界禁用状态切换到边界启用状态。在一些版本中,可以由控制系统60提供自动指导以自主地将工具20移动到顺从虚拟边界71的位置。在这种情况下,恢复工具路径可以由路径生成器68(或其他模块)生成,并且可以基于工具20的当前姿态(例如,从当前姿态到顺从虚拟边界71的已知姿态)而生成,或者可以预定义恢复路径。
系统10还可以在引导式触觉模式下操作,如在2019年9月30日提交的题为“用于引导工具的移动的系统和方法(Systems and Methods for Guiding Movement of a Tool)”的美国临时专利申请号62/908,056中所述,所述专利特此以引用方式并入本文。引导触觉模式可以用于帮助例如在工具20处于保持模式和边界禁用状态下时违反虚拟边界71的情况下以触觉引导用户将工具20置于顺从虚拟边界71的目标状态。在引导触觉模式中,利用在手动模式和半自主模式两者中使用的控制方面。例如,由用户施加的力和扭矩仍然由力/扭矩传感器S检测,以确定馈送到虚拟模拟中以至少部分影响工具20的整体移动的外力Fext。另外,在引导触觉模式中,系统10生成体现在虚拟约束力Fc中的虚拟吸引(或排斥)力和扭矩,所述虚拟约束力与外力Fext一起被馈送到虚拟模拟中。
IV.求解约束和虚拟模拟
参考图11,一个或多个虚拟约束(诸如路径约束、边界约束、引导约束和其他约束)可以由控制系统60以各种模式使用以控制工具20的移动。通常,虚拟约束是由控制系统60考虑的对刚性体运动的限制连同其他运动相关信息,以确定如何命令操纵器14移动工具20。这些虚拟约束可影响工具20的位置和/或工具20的取向。如下文更详细描述的,控制系统60包括约束求解器84,所述约束求解器操作以计算满足或试图满足虚拟约束的约束力Fc。约束力Fc包含被定义为影响工具20的移动的力和扭矩。
可以基于由路径生成器68提供的工具路径TP来生成路径约束。实际上,路径约束导致虚拟力和/或扭矩由约束求解器84计算并用于虚拟模拟以沿着工具路径TP拉动工具20,使得工具20的TCP遵循沿着工具路径TP,而工具20保持期望取向。因此,路径约束也可以包括取向约束,但是也可以基于由用户施加的力/扭矩来调整取向。参见例如在美国专利号9,119,655中描述的用户重新取向方法,所述专利以引用方式并入本文。路径约束可以在某些操作模式下(诸如在半自主模式下)生成,但是可能无法在其他模式下(诸如在手动模式下)生成。
可以定义边界约束以禁止工具20违反一个或多个虚拟边界71。边界约束中的每一者可以被认为是单向的虚拟约束,其操作以维持工具20的TCP顺从一个或多个虚拟边界71。例如,边界约束可能导致虚拟力和/或扭矩被计算并在虚拟模拟中使用,使得工具20的TCP在虚拟边界71处具有零速度(或接近零速度)以防止TCP穿透进入虚拟边界71(或穿透太深)。边界约束可能在某些模式下(诸如在手动模式和半自主模式下)处于活动状态。然而,边界约束可以在某些情况下(诸如当控制系统60在如前所述的边界禁用状态下操作时)被禁用。例如,当在保持模式下移动解剖结构后检测到工具20与虚拟边界71的冲突时,手动模式或半自主模式由于边界约束不再输出到约束求解器84而被禁用。
在一些情况下,即使不再输出边界约束,仍然允许用户通过向工具20施加力和扭矩来以自由模式或其他类似模式移动工具20。在自由模式下,工具20响应于由用户施加到工具20的力和扭矩而相对自由地移动,这可以使得用户能够移动工具20以恢复顺从虚拟边界71。包括用户施加的力和扭矩的外力Fext是约束求解器84的输入,并被馈送到虚拟模拟器86中,使得当被启用时,外力Fext至少部分地影响工具20的整体移动。当工具输入82处于第一输入状态(例如,被致动)时,外力Fext通常在例如手动模式下启用。外力Fext也可以在自由模式下启用,以响应用户施加的力和扭矩以允许用户移动工具20以恢复顺从虚拟边界71。当用户输入(例如,工具输入82和示教器输入RC1)都处于第二输入状态(例如,两者都没有被致动)时,外力Fext被禁用。
引导约束被定义为产生在虚拟模拟中采用以引导用户将工具20置于顺从虚拟边界71的目标状态的虚拟吸引(或排斥)力和扭矩。引导约束被定义为最终影响工具20朝向目标状态的移动,使得为用户提供引导用户引起工具20的期望移动的一种或多种触觉交互效果。引导约束在某些模式下(诸如在引导触觉模式下)可能处于活动状态,但是在其他模式下可能是不活动的。引导约束还可以向用户提供其他形式的触觉反馈,诸如对工具20的移动的减弱感觉,以诸如当用户将工具20移动得更远离目标状态时指示错误或异常状况。
在一些版本中,虚拟约束是速度脉冲约束,其中计算力和/或扭矩以将虚拟脉冲施加到虚拟模拟中的对象,以根据期望的约束参数引起对象速度的变化。在一些版本中,约束类似于在美国专利号9,119,655中描述的脉冲建模中使用的约束,所述专利以引用方式并入本文。在一些版本中,所有模式都使用虚拟约束。
由控制系统60采用的虚拟约束主要由三个运行时参数定义:约束雅可比矩阵Jp,其将每个虚拟约束映射到用于虚拟模拟的坐标系;期望速度Vdes(或Vp2),其是坐标系中的虚拟约束的标量速度(例如,当患者不动并且相对于患者定义的相关联虚拟约束不移动时,期望速度可以为零,但是当患者移动时可能不为零,因为虚拟约束可能与患者相关);以及约束距离Δd,其是例如TCP与约束的接近程度并且指示是否违反了虚拟约束。Δd也可以被称为穿透深度,即,沿着约束方向的误差距离。
虚拟约束不是无限刚性的,而是虚拟约束中的每一者具有调谐参数以例如通过将弹簧和阻尼参数结合到约束中来调整虚拟约束的刚度。此类参数可以包括约束力混合参数(C)和误差减少参数(∈)。弹簧和阻尼参数可以在操作期间进行调整。在一些版本中,调谐参数的值可以基于某些关系而改变,所述关系例如,工具路径TP的曲率(用于路径约束)、虚拟边界71与TCP之间的关系(用于边界约束)、当前状态与目标状态之间的关系(用于引导约束)等。对于不同的虚拟约束,调谐参数可能不同。例如,边界约束可能比其他约束更刚性。虚拟约束可以包括具有调谐参数的第一值的第一虚拟约束和具有调谐参数的第二值的第二虚拟约束,所述第一值大于所述第二值,使得体现在约束力Fc中的所得虚拟力和/或扭矩适于由于第一虚拟约束与第二虚拟约束相比而更大程度地影响工具20的移动。调谐参数的值对于位置约束可以比对于取向约束更大(例如,更刚性),反之亦然。
调谐参数也可以设定为:保持不变;随着约束距离而呈指数上升/下降;随约束距离而线性变化;随约束方向而变化;考虑引力效应;等等。调谐参数也可以取决于最终基于虚拟约束计算的约束力Fc进行缩放,诸如通过取决于约束力Fc的大小或其任何分量来增加/减小刚度。调谐参数及其值、它们与特定关系的相关性以及它们可以被缩放的方式可以存储在控制系统60中的任何合适的存储器中的一个或多个查找表中以供以后检索。
每个虚拟约束还具有配置设置。所述配置设置可以包括:关于调谐参数的信息,诸如约束力混合参数(C)和误差减少参数(∈);力上限和/或下限;和/或约束距离偏移上限和下限。力上限和下限是指对针对每个虚拟约束计算的力的限制,所述限制最终由约束求解器84求解以产生约束力Fc,如下文进一步描述的。虚拟约束可以是单向约束(例如,为满足约束而计算的力仅为正或仅为负)或双向约束(例如,为满足约束而计算的力可以为正或负)。对于单向约束,可以在正方向上将力上限设定为高(例如,+100,000牛顿),并且可以将力下限设定为零,但是可以将力限制设定为任何期望限制。对于双向约束,力上限和下限可以在相反方向上设定为高(例如,+/-100,000牛顿)。上限和下限约束距离偏移指示约束何时处于活动状态。一些约束在某些模式下可能始终处于活动状态。关于边界约束,上限约束距离偏移可以为零并且下限约束距离偏移可以是大的负值(例如,-100,000mm),使得任何边界违反实际上都落入限制内。可以设定上限和下限约束距离偏移,使得当虚拟模拟指示工具20的TCP的提议状态将违反虚拟边界71时边界约束处于活动状态,如下文进一步描述的。
可以将包括引导约束、路径约束、边界约束和其他约束的各种虚拟约束馈送到约束求解器84中。这些约束可以由控制系统60开启/关闭。例如,在一些情况下,可能没有路径约束(诸如在手动模式下)、没有边界约束(诸如在保持模式、引导手动模式或自由模式下)并且没有其他约束正在生成。类似地,除非需要引导用户将工具20置于恢复顺从虚拟边界71,否则可能不生成引导约束。在行为控制74中采用的所有虚拟约束都可能影响工具20的移动。
约束求解器84基于被馈送到约束求解器84中的虚拟约束来计算在由虚拟模拟器86执行的虚拟模拟中要虚拟地施加到工具20的约束力Fc。约束求解器84的最终任务是为约束力Fc提供满足或试图满足所有约束的解,因此其他约束也可能影响约束力Fc的大小/方向。例如,当边界约束被主动传输到约束求解器84时,约束求解器84基于边界约束计算约束力Fc以具有适于维持工具20顺从虚拟边界71的力和/或扭矩的分量。
参考图12中所示的约束方程,约束求解器84将每个虚拟约束的约束数据以矩阵形式放置到约束方程的对应行中,以求解Fp。这里,Fp是选定坐标系中的力矢量,即,Fp的每个分量是作用在对应约束方向上的标量约束力。为了求解Fp,如下所述,将图12中所示的方程转换为矩阵方程,其中每一行表示单个一维约束。约束数据与约束求解器84已知的其他信息一起放置在约束方程中,所述其他信息诸如外力Fcgext、阻尼力F阻尼、惯性力F惯性、虚拟质量矩阵M、虚拟质量速度Vcg1和时间步长Δt(例如,被设定为125微秒的t帧)。
虚拟质量矩阵M结合了3x3质量和惯性矩阵。阻尼力F阻尼和惯性力F惯性由虚拟模拟器86计算/已知,并且基于由虚拟模拟器86在前一时间步长中输出的虚拟质量速度Vcg1(例如,虚拟质量坐标系VM的速度)。虚拟质量速度Vcg1是6-DOF速度矢量,其包括线速度分量和角速度分量。阻尼力F阻尼是6-DOF力/扭矩矢量,其根据虚拟质量速度Vcg1和阻尼系数矩阵(线性和旋转系数可能不相等)计算。对虚拟质量应用阻尼以提高其稳定性。惯性力F惯性也是6-DOF力/扭矩矢量,其根据虚拟质量速度Vcg1和虚拟质量矩阵M计算。阻尼力F阻尼和惯性力F惯性可以授予Bowling等人的美国专利号9,566,122中描述的方式来确定,所述专利特此以引用方式并入本文。
约束求解器84可以被配置有任何合适的算法指令(例如,迭代约束求解器、投影高斯-赛德尔求解器等)以求解该约束方程组,以便提供满足方程组(例如,满足各种约束)的解。在一些情况下,可能不会同时满足所有约束。例如,在其中运动被各种约束过度约束的情况下,约束求解器84将在给定各种约束的相对刚度/阻尼的情况下本质上找到“最佳拟合”解。约束求解器84求解方程组并最终输出约束力Fp。
当采用投影高斯-赛德尔求解器时,约束求解器84基于约束构造A和b矩阵,使用投影高斯-赛德尔求解方程组以确定所得力矢量Fp,取投影高斯-赛德尔的输出并将其从选定坐标系(例如,约束坐标系)变换为虚拟质量坐标系VM。例如,使用方程Fc=Jp TFp,其中Fc是约束力,力矢量Fp的分量被转换为施加到虚拟质量坐标系VM的等效力/扭矩矢量Fc。
例如,在Marijn Tamis和Giuseppe Maggiore于2015年6月15日撰写的“基于约束的物理求解器(Constraint based physics solver)”(v1.02)(可以见于http://www.mft-spirit.nl/files/MTamis_ConstraintBas edPhysicsSolver.pdf)中或在Marijn Tamis于2015年7月1日撰写的“用于实时物理模拟的投影高斯-赛德尔与连续脉冲求解器之间的比较(Comparison between Projected Gauss-Seidel and Sequential Impul se Solversfor Real-Time Physics Simulations)”(v1.01)(可见于http://www.mft-spirit.nl/files/MTamis_PGS_SI_Comparison.pdf)示出了使用投影高斯-赛德尔求解多个约束的方程组的方法,它们均特此以引用方式整体并入本文。
投影高斯-赛德尔方法解决了线性互补问题(LCP)。由于一些约束类型(例如,单边约束,诸如边界约束)只能在一个方向上推动(施加力),因此出现了与LCP相关联的不等式。如果针对此类约束计算的力超出了约束求解器84的给定迭代的力允许范围(这是无效的),则必须修剪给定的约束(或者交替限制/约束在其允许的上限值或下限值),并且求解剩余的约束,直到找到合适的结果(即,收敛)。通过这种方式,约束求解器84确定给定时间步长的有效约束集,然后求解它们的值。其他约束类型可以在正方向和负方向上施加力,例如,双边约束。此类约束包括用于引导用户将工具移向目标状态的引导约束。此类双边约束在被启用时通常是有效的并且在约束求解器84的迭代期间不被修剪/限制。
由约束求解器84计算的约束力Fc包括沿着x、y、z轴的三个力分量和关于x、y、z轴的三个扭矩分量。虚拟模拟器86在其虚拟模拟中利用约束力Fc以及外力Fcgext、阻尼力F虚拟和惯性力F惯性(所有这些都可以包括力/扭矩的六个分量)。在一些情况下,力/扭矩的这些分量首先被变换为公共坐标系(例如,虚拟质量坐标系VM),然后进行求和以定义合力FT。所得6-DOF力(即,力和扭矩)被施加到虚拟刚性体,并且所得运动由虚拟模拟器86计算。虚拟模拟器86因此用于有效地模拟各种约束如何影响虚拟刚性体的运动,所有这些约束都反映在合力FT中。虚拟模拟器86基于施加到虚拟刚性体的给定合力FT执行正向动力学以计算所得6-DOF姿态和虚拟刚性体的速度。在一个示例中,虚拟模拟器86包括物理引擎,所述物理引擎是存储在上述控制器21、26、36中的任何一者或多者的非暂时性存储器中并由控制系统60实施的可执行软件。
对于虚拟模拟,虚拟模拟器86将工具20建模为虚拟质量坐标系VM中的虚拟刚性体,通常虚拟质量坐标系VM的原点位于虚拟刚性体的质心处,并且坐标轴与虚拟刚性体的主轴对齐。出于虚拟模拟的目的,虚拟刚性体是工具20的动态对象和刚性体表示。虚拟刚性体根据虚拟模拟在笛卡尔空间中根据六自由度(6-DOF)自由移动。可以在没有视觉或图形表示的情况下以计算方式处理虚拟模拟。因此,不要求虚拟模拟显示虚拟刚性体的动力学。换言之,虚拟刚性体不需要在处理单元上执行的图形应用程序内建模。虚拟刚性体可能只存在于虚拟模拟中。
虚拟刚性体及其属性(质量、惯性矩阵、质心、主轴等)定义了工具20将如何响应于所施加的力和扭矩(例如,来自结合由用户施加的力和扭矩以及约束力和扭矩的合力FT)而移动。它控制工具20将感觉重还是轻以及它将如何响应于所施加的力和扭矩而移动(例如,在平移和旋转中加速)。通过调整虚拟刚性体的属性,控制系统60可以调整工具20对用户的感觉。为了使运动/感觉尽可能逼真,可能需要将虚拟刚性体的属性建模为合理地接近工具20的实际属性,但是这不是必需的。出于控制稳定性原因(在给定操纵器14的有限加速度、控制延迟等的情况下),虚拟质量和惯性可以被建模为比物理工具20的虚拟质量和惯性稍高。
虚拟刚性体可以对应于可以在工具20上或内的部件。另外或替代地,虚拟刚性体可以部分地延伸超出物理工具20。虚拟刚性体可以考虑具有能量施加器24的工具20或者可以考虑没有能量施加器24的工具20。此外,虚拟刚性体可以基于TCP。在一个示例中,虚拟刚性体的质心被理解为如果将虚拟力施加到虚拟刚性体的另一点并且虚拟刚性体原本不受约束(即,不受操纵器14约束)则虚拟刚性体将围绕其旋转的点。虚拟刚性体的质心可以接近工具20的实际质心但不必与其相同。虚拟刚性体的质心可以根据经验来确定。一旦工具20附接到操纵器14,质心的位置就可以被重设以适应各个从业者的偏好。
虚拟模拟器86通过在虚拟模拟中在虚拟刚性体上虚拟地施加力和/或扭矩(即,通过将来自合力FT的力和扭矩的分量虚拟地施加在虚拟质量坐标系VM中的虚拟刚性体的质心上)来有效地模拟工具20的刚性体动力学。因此,虚拟地施加到虚拟刚性体的力/扭矩可以包括与外力Fcgext(例如,其基于来自一个或多个传感器的输入)相关联的力/扭矩、阻尼力F阻尼、惯性力F惯性,以及来自与各种约束相关联的约束力Fc的力/扭矩(由于体现在约束力Fc中)。
刚性体雅可比矩阵可以用于将速度和力从一个坐标系(参考系)变换为同一虚拟刚性体上的另一个坐标系,并且也可以用于在这里将Fext的力和扭矩变换为虚拟质量坐标系VM(例如,以产生在约束方程中使用的Fcgext)。然后,虚拟模拟器86在内部计算阻尼力F阻尼和惯性力F惯性来确定合力FT,并且还输出阻尼力F阻尼和惯性力F惯性以供约束求解器84在下一时间步长中在其方程组中使用。
如图13和图14所示的虚拟正向动力学算法可以在虚拟模拟中用于模拟虚拟刚性体的运动,因为它会在施加合力FT时移动。实际上,虚拟正向动力学算法求解6-DOF中的方程F=ma(或a=F/m),并对加速度进行积分以产生速度,该速度随后用于确定新的姿态,如图14所示。控制系统60将虚拟力和/或扭矩(例如,合力FT)输入到虚拟模拟器86中,并且当虚拟刚性体处于具有初始速度的初始姿态时,这些虚拟力和/或扭矩在虚拟模拟中在质心(例如,CG)处被施加到虚拟刚性体。响应于控制系统60满足输入的虚拟力和/或扭矩,虚拟刚性体移动到具有不同状态(即,位置和/或取向)并在笛卡尔空间内具有最终速度的最终姿态。要发送到运动控制器76的下一命令姿态是基于由虚拟模拟器86计算的最终姿态。因此,虚拟模拟器86通过使用如图14所示的虚拟正向动力学模拟在虚拟刚性体上施加合力FT的效果来确定下一命令姿态。
速度限制可能会施加在模拟中的虚拟刚性体上。在一些情况下,可以将速度限制设定为高,使得它们通常不会影响模拟,或者可以将它们设定为任何期望值。虚拟刚性体处于初始姿态(初始状态)并且在虚拟模拟的每次迭代开始时(例如,在每个时间步长/间隔dt处)具有初始速度。初始姿态和初始速度可以被定义为虚拟模拟器86在前一时间步长中输出的最终姿态和最终速度。此后,虚拟模拟器86基于其虚拟模拟计算并输出下一命令姿态。控制系统60被配置为基于命令姿态命令操纵器14移动工具20。
返回参考图11,框图示出了被执行以使用先前描述的约束来控制操纵器14的操作和工具20的过程。在所示版本中,行为控制74包括路径处理程序88。路径处理程序88操作以根据由路径生成器68提供的工具路径TP来生成/输出路径约束。工具路径TP是路径处理程序88的输入。路径处理程序88基于先前描述的约束参数生成路径约束,包括确定约束运行时参数(例如,约束雅可比矩阵Jp、期望速度Vdes(或Vp2)和约束距离Δd)。在参考图11描述的版本中,路径处理程序88在半自主模式中被启用和处于活动状态,但是在其他模式中被禁用。
行为控制74还包括边界处理程序90以基于由边界生成器66生成的一个或多个虚拟边界71来生成边界约束。边界约束最终允许控制系统60基于工具20与和目标部位相关联的一个或多个虚拟边界71之间的关系来控制操纵器14的操作和工具20的移动。例如,控制系统60经由边界约束来限制工具20与虚拟边界71之间的相对运动。边界处理程序90的输入包括工具20的最后命令姿态(例如,被视为当前姿态)、虚拟边界71,以及工具输入82和示教器输入RC1的用户输入状态。边界处理程序90基于先前描述的约束参数生成边界约束,包括确定约束运行时参数(例如,约束雅可比矩阵Jp、期望速度Vdes(或Vp2)和约束距离Δd)。
行为控制74还包括引导处理程序94。在某些情况下,可能需要引导用户以将工具20引导到期望位置和/或取向的方式来操纵工具20。例如,在一些情况下,工具20的TCP可以处于它违反虚拟边界71的位置中。在这种情况下,可以禁用某些操作模式,诸如手动模式或半自主模式(例如,不生成边界约束或路径约束来影响工具20的移动),直到工具20的TCP顺从虚拟边界71。引导处理程序94可以获得工具20的目标状态,所述目标状态将工具20放置成顺从虚拟边界71,并且所述引导处理器可以基于目标状态和工具20的当前状态生成一个或多个引导约束。如前所述,用户还能够在自由模式下移动工具20以恢复顺从虚拟边界71,即,不产生任何引导约束,或者控制系统60可以经由恢复路径自动移动工具20以恢复顺从虚拟边界71。如下文进一步描述的,还设想了实现顺从虚拟边界71的其他方式。
引导处理程序94的输入包括恢复信号和最后的命令姿态(当前状态)。目标状态(例如,姿态)可以是来自边界处理程序90的恢复信号的部分,因为边界处理程序90可以标识不违反虚拟边界71的工具20的目标位置和/或取向。目标状态可以在解剖坐标系、解剖跟踪器坐标系等中定义,并且被变换为具有最后的命令姿态的公共坐标系。引导处理程序94基于最后的命令姿态和目标状态之间的关系来定义一个或多个引导约束。引导约束从引导处理程序94输出到约束求解器84。引导处理程序94被配置为激活引导约束以向用户提供触觉反馈以引导用户将工具20放置成顺从虚拟边界71,约束求解器84被配置为计算约束力Fc,所述约束力适于基于引导约束吸引工具20顺从虚拟边界71。
V.冲突检查以及边界启用和边界禁用状态
边界处理程序90取决于操作模式、用户输入状态等执行各种冲突检查。第一种类型的冲突检查涉及检查工具20的当前状态(例如,当前姿态)或由虚拟模拟器86在虚拟模拟中生成的工具20的提议状态(例如,提议姿态)是否/如何违反虚拟边界71。执行这种冲突检查以确定需要由边界处理程序90生成并由约束求解器84应用的边界约束,使得以防止或至少限制在手动模式或半自主模式的正常操作期间工具20违反虚拟边界71的方式来改变当前状态/提议状态。在一些版本中,这种类型的冲突检查在手动模式或半自主模式的操作期间在每个帧中执行,并且发生在虚拟模拟器86生成新的命令姿态之前,使得最终生成并由运动控制76执行的命令姿态限制工具20违反虚拟边界71。在一些版本中,这种类型的冲突检查可以由边界处理程序90基于在前一迭代中计算的命令姿态来执行(例如,前一时间帧的命令姿态被设定为当前姿态)。在那种情况下,边界处理程序90确定需要生成的边界约束以至少限制违反虚拟边界71。例如,来自前一帧的命令姿态可以是导致工具20稍微移动跨过虚拟边界71的姿态,但是边界处理程序90在当前帧中生成边界约束以使工具20返回。
在授予Bowling的题为“用于产生反作用力以实施虚拟边界的机器人手术系统和方法(Robotic Surgical System And Method For Producing Reactive Forces ToImplement Virtual Boundaries)”的美国专利申请公开号2018/0353253中描述了一种用于执行第一种类型的冲突检查的方法,所述专利特此以引用方式并入本文。也可以采用其他冲突检测方法。例如,如果虚拟边界71由三角形网格定义,则可以如美国专利号9,119,655中所述进行使用宽相位和窄相位搜索的冲突检测,所述专利以引用方式并入本文。
当工具输入82或示教器输入RC1从第二输入状态切换到第一输入状态时,例如当系统10正从保持模式切换到手动模式或从保持模式切换到半自主模式时,边界处理程序90执行第二种类型的冲突检查。用户输入的当前状态及其切换可以由用户输入状态检测器92检测。用户输入状态检测器92馈送用户输入(例如,工具输入82和示教器输入RC1)的当前状态,并向边界处理程序90指示其任何状态变化。第二种类型的冲突检查可以是每当用户输入中的每一者从一种状态切换到另一种状态时执行的子例程。
为了执行第二种类型的冲突检查,边界处理程序90对照工具20的当前状态(例如,最后的命令姿态)检查虚拟边界71的几何定义,以检查工具(例如,工具20的TCP)是顺从虚拟边界71还是违反虚拟边界71。如前所述,可以为虚拟边界71建立预定义的可配置公差,使得工具20一定程度地穿透到虚拟边界71中或工具20偏离完全顺从虚拟边界71不被视为违反虚拟边界71,因此第二种类型的冲突检查也需要考虑这些公差。这可能只需要检查虚拟边界71的有界体积并将工具20的TCP的当前位置与有界体积进行比较。在一些版本中,除了TCP之外,归属于工具20的一个或多个虚拟立体定向交互特征SIF的位置也可以与有界体积进行比较。这些立体定向交互特征SIF可以是与工具20上的实际点相对应的点、具有独特原点和半径的球体,或其他合适的几何形状。将立体定向交互特征SIF中的每一者与有界体积进行比较以检查冲突。例如,有界体积可以由体素定义,并且边界处理程序90可以执行冲突检测以确定工具20是否落入体素中的任一者内。其他冲突检测方法可以利用光线跟踪方法、配置空间搜索、包围体层次结构、点成员分类(PMC)等。边界处理程序90可以使用任何合适的方法检测工具20与虚拟边界71的冲突。
如果第二种类型的冲突检查指示工具20违反虚拟边界71,则启用恢复模式并且将恢复信号和相关联的目标状态发送到引导处理程序94,所述引导处理程序然后可以生成用户反馈,所述用户反馈先前被描述为引导用户将工具20放置成顺从虚拟边界71。当工具20违反虚拟边界71时,可以禁用操纵器14的期望操作模式(例如,手动模式或半自主模式)。当用户输入(例如,工具输入82或示教器输入RC1)处于第一输入状态时,工具20的自主的顺从边界移动在恢复模式中保持禁用。
如果冲突检查指示工具20已经顺从虚拟边界71,则可以启用操纵器14的期望操作模式。如果冲突检查通过(例如,TCP和/或其他SIF完全在虚拟边界71的允许区域中,或者穿透虚拟边界71的距离不超过配置的距离(例如,0.1mm)),则边界约束被激活并且工具20的移动被启用。第二种类型的冲突检查和边界约束的激活以原子方式(在同一时间步长中)完成,以避免检查与激活之间的移动竞争状况。
如果第二种类型的冲突检查未通过,则不启用边界约束并且经由恢复模式发起恢复序列。恢复序列可以包括显示在显示器38中的一者或多者上的用户消息,所述用户消息请求用户将工具20从切除区域移开。工具驱动器也被禁用(例如,不允许加工)。在一些版本中,在恢复模式中,可以启用高阻尼移动(例如,引导处理程序94可以采用阻尼约束来提供工具20的高阻尼移动)。也可以调整在由虚拟模拟器86执行的虚拟模拟中使用的阻尼系数,以改变阻尼力F阻尼以导致增加阻尼。此类移动可以通过允许操纵器14响应施加到工具20的用户力和扭矩来启用,但是以相对抑制方式启用。高阻尼移动允许用户通过触觉交互(经由阻尼约束)立即感觉到如果用户当时没有直接观看显示器38则存在异常状况。
恢复模式可以导致激活引导触觉模式以帮助在恢复期间引导用户。替代地,可以在恢复模式中激活自由模式以允许用户自由移动工具20以顺从虚拟边界71。如前所述,恢复路径可以另外或替代地在恢复模式中生成并且用于自主地移动工具20以恢复顺从虚拟边界71。在这种情况下,示教器输入RC1可以用于控制工具20沿着恢复路径的移动。在一些版本中,在恢复模式中,边界处理程序90或引导处理程序94可以生成与虚拟边界71相关联的恢复约束,所述恢复约束的调谐参数低于原始边界约束的调谐参数,使得工具20可以更逐渐地从违反虚拟边界71中恢复(即,虚拟边界71被有效地改变为不太刚性)。在一些版本中,在恢复模式中,控制系统60可以将虚拟边界71从其起始位置移动(例如,改变其位置/取向),使得工具20不再违反虚拟边界71。一旦工具20恢复顺从虚拟边界71,工具20的自主的顺从边界移动就可以由控制系统60启用,然后虚拟边界71缓慢地转变回到其起始位置,同时连同它一起轻轻推动工具20,使得工具20保持顺从虚拟边界71。
在恢复模式中执行的步骤相对较快地执行,使得在响应于用户最初激活工具输入82或示教器输入RC1而开始工具运动中没有明显延迟。例如,这允许用户/操纵器14相对有效地将工具20移回相对于虚拟边界71的允许区域。当工具20以恢复模式移动时,控制系统60周期性地或不断执行第二种类型的冲突检查,以检测工具20何时恢复顺从虚拟边界71。此时,在不需要用户释放工具输入82或示教器输入RC1的情况下,执行先前描述的边界约束激活,阻尼(如果采用)恢复到其正常设置(基于用户感觉提供对条件已解决的指示),使用工具驱动器和操作工具20的能力被启用,并且显示器38上的消息被更新/清除。
对于其中跟踪器中的一者在激活期间无效(即,不可见或低于质量阈值)的情况,也可以发起恢复序列。一旦跟踪器可见并且第二种类型的冲突检查被清除,则控制系统60切换到边界启用状态以允许在手动模式或半自主模式下操作。
图15示出了由边界处理程序90和相关联的部件执行以执行第二种类型的冲突检查的子例程。在步骤100中,边界处理程序90确定是否存在输入状态变化,即,工具输入82或示教器输入RC1是否从一种状态切换到另一种状态。如果不是,并且如果边界处理程序90尚未处于恢复模式,则边界处理程序90返回以检查状态改变。如果存在状态变化,则边界处理程序90然后在步骤102确定状态变化的本质,即,它是否是从第二输入状态到第一输入状态的改变/转变(例如,用户输入已经被致动),反之亦然(例如,释放)。如果工具输入82或示教器输入RC1已被致动,则边界处理程序90在步骤104执行冲突检查以确定工具20是顺从虚拟边界71还是违反虚拟边界71。
如果违反虚拟边界71,则:(i)在步骤106将控制系统60切换到边界禁用状态;(ii)在步骤108中禁用控制工具20的操作的工具驱动器,这意味着控制系统60有效地忽略来自用户的通常与工具20的操作相关联的任何输入;以及(iii)在步骤110发起恢复模式。应该注意,这些步骤可能几乎同时发生,并且图15中呈现的顺序仅用于说明目的。在步骤112中,经由恢复信号指示引导处理程序94生成用户反馈以通知用户违反了虚拟边界71和/或引导用户将工具20放置成顺从虚拟边界71。一旦处于恢复模式,子例程继续检查任何以后的状态变化,并且如果没有状态变化(例如,用户仍然致动工具输入82或示教器输入RC1),则边界处理程序90继续恢复模式以检查工具20是否保持违反虚拟边界71。
如果没有违反虚拟边界71,则:(i)在步骤114将控制系统60切换到边界启用状态;(ii)在步骤116中启用控制工具20的操作的工具驱动器;以及(iii)在步骤118结束恢复模式(如果处于活动状态)。尽管未示出,但是当恢复模式结束时,启用由用户选择的手动模式或半自主模式。应该注意,这些步骤可能几乎同时发生,并且图15中呈现的顺序仅用于说明目的。还应当注意,当在步骤116中启用工具驱动时,在处于恢复模式之后,工具20可能不会立即被激活,而是工具控制返回到用户以允许经由相关联的用户界面UI(例如,经由按钮、脚踏开关、触发器等)进行工具操作。在其中在恢复模式结束同时用户正在致动用户界面UI的输入以导致工具操作(例如,电动切割等)的情况下,控制系统60可以忽略该输入,直到用户释放输入并重新接合它,使得在离开恢复模式之后工具20不会发生意外操作。
如果工具输入82或示教器输入RC1已被释放,则:(i)在步骤120中将控制系统60切换到保持模式和边界禁用状态;(ii)在步骤122中禁用控制工具20操作的工具驱动器;以及(iii)在步骤124结束恢复模式(如果处于活动状态)。应该注意,这些步骤可能几乎同时发生,并且图15中呈现的顺序仅用于说明目的。
在一些版本中,控制系统60可以被配置为在用户输入从第一输入状态转变为第二输入状态之后经过预定时间段之后禁用工具20的自主的顺从边界移动。例如,可能希望在工具输入82或示教器输入RC1被释放之后保持虚拟边界71启用一小段时间(例如,100ms至500ms),以允许操纵器14/工具20开始停止。否则,如果立即禁用边界约束,则工具20可能滑行穿过虚拟边界71并以非期望的方式切割或移动。在一些情况下,当工具输入82或示教器输入RC1被释放时,控制系统60可以切换到如前所述的高度阻尼移动,使得工具20更快地开始停止。在固定时间间隔之后或者一旦工具20开始停止,则可以禁用虚拟边界71。该延迟可以如上所述预定/预配置,或者也可以由控制系统60通过监测工具20(例如,虚拟刚性体)及其速度(线速度、转速)并保持启用边界约束直到速度(线速度、转速)的大小低于某个阈值(或低于为每个自由度和/或每种类型速度定义的一组阈值)来自动控制。在一些情况下,虚拟边界71可以保持处于活动状态直到一个或多个速度低于一个或多个阈值或达到最大时间,以较早发生者为准。
在图15中概述的过程示出了边界处理程序90可如何在边界启用状态与边界禁用状态之间操作,在所述边界启用状态中,边界约束从边界处理程序90传输到约束求解器84,在所述边界禁用状态中,边界约束不再从边界处理程序90传输到约束求解器84,由此禁用工具20的自主的顺从边界移动。边界处理程序90:(i)响应于工具输入82或示教器输入RC1从第一输入状态转变为第二输入状态而以边界禁用状态操作,其中在工具输入82或示教器输入RC1被切换以允许操纵器14的移动稳定后在到边界禁用状态的转变中可能存在延迟;(ii)响应于工具输入82或示教器输入RC1从第二输入状态转变为第一输入状态而以边界启用状态操作,只要工具20顺从虚拟边界71即可;(iii)如果工具20在转变时或在转变后不久违反虚拟边界71,则响应于工具输入82或示教器输入RC1从第二输入状态转变为第一输入状态而以边界禁用状态操作;以及(iv)如果工具输入82或示教器输入RC1仍然处于第一输入状态,则一旦工具20被放置成顺从虚拟边界71,就从边界禁用状态切换到边界启用状态。
约束求解器84、虚拟模拟器86、路径处理程序88、边界处理程序90、用户输入状态检测器92和引导处理程序94各自包括存储在任何一个或多个上述控制器的非暂时性存储器中并通过控制系统60实施的可执行软件。约束求解器84、虚拟模拟器86、路径处理程序88、边界处理程序90、用户输入状态检测器92和引导处理程序94可以体现在一个或多个软件模块中,所述软件模块存储在任何合适的位置以供控制系统60实施。
VI.行为控制
图16总结了由行为控制74执行的各种步骤。这些包括由约束求解器84、虚拟模拟器86、路径处理程序88、边界处理程序90和引导处理程序94执行的步骤,如上所述。在步骤130中,基于从力/扭矩传感器S取得的读数计算外力Fext。在步骤132和133中,获得与各种虚拟约束相关联的约束数据并标识活动约束。在步骤133中,可以取决于虚拟模拟的结果来更新诸如边界约束的约束,如下文进一步描述的。图16表示其中在计算最终更新状态之前评估由虚拟模拟输出的提议状态的冲突的实施方案,但是在一些版本中,来自虚拟模拟的输出被设定为最终更新状态而不检查另外的冲突(参见下文进一步描述的图16A)。
在步骤134至138中,虚拟模拟器86执行刚性体计算以确定虚拟刚性体的质量逆矩阵M-1、惯性力F惯性和阻尼力F阻尼。在步骤140至144中,约束求解器84利用来自在步骤134至138中执行的刚性体计算的输出以及在步骤132和133中提供的约束数据来执行先前描述的约束力计算以最终产生约束力Fc。在步骤146中,将约束力Fc与变换为虚拟质量坐标系VM(Fcgext)的外力Fext、阻尼力F阻尼和惯性力F惯性相加以产生合力FT。在步骤148中,在由虚拟模拟器86进行的虚拟模拟中将合力FT施加到虚拟刚性体以确定虚拟刚性体的提议状态(例如,姿态和速度),并最终在步骤150中将初始状态和提议状态变换为TCP。
在步骤152中,采用软件触发,所述软件触发最初遵循一条路径,然后在下一执行中遵循另一条路径。在第一路径中,边界处理程序90在步骤154中执行第一种类型的冲突检查以确定提议状态是否会导致与虚拟边界71的冲突。如果未检测到冲突,则在步骤156中验证提议状态并将其保存为更新状态,并在步骤158将其变换为TCP。在步骤160中虚拟模拟器86输出新的命令姿态(TTCP)和速度(VTCP)。如果未检测到冲突,则触发器(步骤152)保持处于其当前状态,即,不切换触发器来遵循另一路径。
如果检测到冲突,则边界处理程序90在步骤162中计算冲突时间t冲突并切换触发器。参考图17A和图17B,可以通过计算当前状态与在虚拟模拟中计算的提议状态之间的第一距离(图17A)、计算当前状态与虚拟边界71之间的第二距离(图17B)并将第二距离与第一距离的比率乘以总时间帧t帧来确定冲突时间t冲突。因此,例如,如果虚拟边界71在距提议状态的距离的50%处穿过,则冲突时间t冲突是时间帧t帧的50%。然后在步骤164中将在步骤140至144中用于约束力计算的时间Δt重置为冲突时间t冲突(也参见图17C),并计算新的提议状态。因此,虚拟模拟被修整到冲突发生之前的时间。然后虚拟模拟确定新的提议状态。一旦确定了新的提议状态,触发器(步骤152)就导致遵循另一条路径(因为检测到冲突),并且新的提议状态在步骤166中变为更新的当前状态。一旦发生到步骤166的转变,触发器就自动重置以遵循第一路径。
接下来,参考图16和图17D,控制系统60考虑从发生冲突的时间(即,冲突时间t冲突),直到原始时间帧t帧结束。换言之,控制系统60在时间段Δt=t帧-t冲突期间执行新的虚拟模拟。在步骤168中为该下一轮虚拟模拟获得边界约束,以有效地生成保持工具20不穿过虚拟边界71(或因此工具20仅最低限度地穿过虚拟边界71)所需的虚拟脉冲。然后使用在步骤168中获得的边界约束来更新步骤133中的约束,并且针对新的时间段t帧-t冲突执行虚拟模拟(参见步骤148)。在步骤150中确定新的提议状态并再次将其变换为TCP。步骤152的触发器在被重置后再次遵循第一路径,并且在步骤154中再次执行冲突检查。对于一些虚拟边界71,一旦检测到冲突,上述步骤就将导致下一次冲突检查总是否定的,并且在步骤160处输出新的命令姿态和速度。然而,对于复杂的几何形状,即使检测到并解决了第一次冲突,下一轮虚拟模拟也可能导致又另一次冲突。在这种情况下,可以执行其他步骤来解决多个冲突,但是图16中所示的过程出于说明性目的是针对更简单的情况。在一些情况下,可以设定虚拟模拟的最大迭代次数,使得一旦达到了最大迭代次数,过程就停止。如果在达到最大迭代次数后仍然存在冲突,则这可以通过多种方式处理:(i)输出最新的提议状态作为最终更新状态;(ii)输出前一帧的状态(即,初始状态)作为最终更新状态;或者(iii)发出错误信号并停止操纵器14、工具20等的运动。
参考图16A,在一些版本中,图16中的步骤152、154、156、162、164、166和168被移除,并且虚拟模拟的输出反而被设定为新的更新状态,其最终产生新的命令姿态。在该版本中,第一次冲突检查是步骤132的一部分,其中边界处理程序90确定要馈送到约束求解器84中的边界约束(如果有的话)(连同其他约束)。
VII.示例性操作
图18A至图18G示出了系统10的一个操作示例。在图18A中,用户被示为在工具输入82处抓握工具20的握把83,使得工具输入82已经被致动并处于第一输入状态。用户在手动模式和边界启用状态下操作操纵器14以从目标部位(在这种情况下从股骨F)移除材料。虚拟边界71被示为覆盖在股骨F上,所述虚拟边界可以通过显示器38视觉地显示给用户。在图18A中,用户已经使用工具20从股骨F移除了少量组织,但是在虚拟边界71内仍有大量材料尚未移除。在这种配置中,如果需要,控制系统60通过启用工具20的自主的顺从边界移动来将工具20维持在虚拟边界71内,以解决原本可能导致工具20违反虚拟边界71的虚拟边界71的任何移动。
图18B示出了用户将工具20的TCP移动到股骨F上方以准备移动股骨以使用户更容易触及股骨F。
图18C示出了股骨F的用户移动。用户已经将他们的手从工具20的握把83移除并且工具输入82已经被释放。因此,工具输入82现在处于第二输入状态并且控制系统60现在切换到保持模式和边界禁用状态。因此,工具20的自主的顺从边界移动被禁用,并且股骨F可以由用户移动,而不会引起工具20的任何对应的移动。导航系统32借助定位器44经由牢固地固定到股骨F的第一患者跟踪器54跟踪股骨F的移动来检测股骨F的移动。如图所示,工具20已移动到虚拟边界71之外。
图18D示出了用户再次接合工具20以继续以手动模式操作。更具体地,用户再次致动工具输入82以将工具输入82置于第一输入状态。如先前所讨论的,从第二输入状态到第一输入状态的这种转变导致边界处理程序90执行第二种类型的冲突检查。该冲突检查的结果是工具20违反虚拟边界71。因此,引导处理程序94可以向用户提供一种或多种形式的用户反馈以指示工具20的这种状态和/或引导用户移动工具20以恢复顺从虚拟边界71。警报和相关联的指导被示为提供在图18D和图18E中的一个或多个显示器上。在图18E中,用户已经在引导触觉模式或自由模式中移动工具20以顺从虚拟边界71。
图18F示出了用户现在致动遥控器RC上的示教器输入RC1以将示教器输入RC1置于第一输入状态以在半自主模式下操作系统10。更具体地,用户已经释放工具输入82以从手动模式转变为半自主模式。当控制系统60将操作从手动模式转变为半自主模式时,控制系统60可以执行第三种类型的冲突检查(例如,除了执行第二种类型的冲突检查之外,还执行第三种类型的冲突检查)。更具体地,在启用半自主模式之前,路径处理程序88定义从工具20的当前姿态到工具路径TP上的起始点SP的导入路径LIP。即使工具20的当前姿态和起始点SP都顺从虚拟边界71,该直线路径有时也可能与虚拟边界71相交(如图18F所示)。第三种类型的冲突检查确定由路径处理程序88生成的导入路径LIP是否违反虚拟边界71。如果没有违反虚拟边界71,则控制系统60能够以半自主模式将工具20沿着导入路径LIP自主地移动到工具路径TP。如果在工具20沿着导入路径LIP移动的情况下将违反虚拟边界71,则控制系统60通过向用户指示将违反虚拟边界并向用户提供关于如何移动工具20以避免此类违反的指导(如图18F中的显示器38上所示的指令“改变工具位置”所示)来做出响应。半自主模式保持禁用。
第三种类型的冲突检查可以类似于第一种类型的冲突检查来执行。如所提及的,当操纵器14从手动模式转变为半自主模式时,路径处理程序88生成从工具20的当前位置(或姿态)到工具路径TP的起始点的导入路径LIP。边界处理程序90确定工具20沿着导入路径LIP的移动是会维持顺从虚拟边界71还是会违反虚拟边界71。
VIII.其他冲突检查
在图18G中所示的一些版本中,边界处理程序90被配置为通过对与工具20相关联的多个立体定向交互特征SIF的运动进行建模以确定立体定向交互特征SIF是会维持顺从虚拟边界71还是会违反虚拟边界71来确定工具20沿着导入路径LIP的移动是会维持顺从虚拟边界71还是会违反虚拟边界71。这可以通过对来自立体定向交互特征SIF的直线运动进行类似的冲突检查来执行。此类运动可以通过将导入路径LIP及其对应取向变换为对应的立体定向交互特征SIF中的每一者来确定(参见图18G中的LIPT)。在一些版本中,边界处理程序90被配置为以三个或更多个自由度对多个立体定向交互特征SIF的更复杂的运动进行建模。引导处理程序94响应于边界处理程序90确定如果工具20(或其任何建模的点)从当前位置沿着导入路径LIP移动到工具路径TP则工具20将违反虚拟边界71而向用户生成反馈。
导入路径LIP冲突检查可以考虑启用的立体定向交互特征SIF及其形状,其可以是为工具20配置的球体及其位置,并且确保将它们中的每一者扫过各自将在TCP横穿建议的导入路径LIP时遇到的运动范围。请注意,导入路径LIP可以包括将位置和/或取向与起始点SP对齐(对于大于3-DOF自主加工的情况),即,在导入期间每个立体定向交互特征SIF的最终移动不一定是直线。因此,控制系统60可以:(i)对每个立体定向交互特征SIF的运动进行精确建模,并根据适用的平移/旋转轨迹或者如图所示执行连续冲突检测,(ii)通过仅在立体定向交互特征SIF的起始位置与结束位置之间平移地扫描冲突形状来近似所述立体定向交互特征SIF轨迹。如果导入路径冲突检查未通过,则在工具20的任何运动(即,操纵器14保持在保持模式、自由模式或手动模式)之前向用户发出警报,并经由显示器38向用户提供关于如何解决这种情况的潜在增强的视觉信息。
参考图19,边界处理程序90可以被配置为当用户希望在手动模式或半自主模式的操作期间从当前虚拟边界(示为第一虚拟边界71)切换到第二虚拟边界75时执行第四种类型的冲突检查。如果用户希望在外科手术中途改变虚拟边界,诸如从第一虚拟边界71切换到第二虚拟边界75,则边界处理程序90检查以确保如果发生切换,则不会违反第二虚拟边界75(例如,以与如前所述评估是否违反第一虚拟边界71相同的方式,包括考虑为第二虚拟边界75设定的任何公差)。如果将违反第二虚拟边界75,则控制系统60继续操作,其中第一虚拟边界71被启用并且第二虚拟边界75被禁用。然而,如果不违反第二虚拟边界75,则控制系统60激活第二虚拟边界75并停用第一虚拟边界71。
用户可以利用虚拟边界选择器VBS来指示希望切换到第二虚拟边界75。虚拟边界选择器VBS使得用户能够选择第二虚拟边界75,所述第二虚拟边界也可以与目标部位相关联,使得控制系统60此后以与控制系统60用于维持顺从第一虚拟边界71相同的方式控制操纵器14的操作和工具20的移动以维持工具20顺从第二虚拟边界75。虚拟边界选择器VBS可以包括位于操纵器14、工具20、遥控器RC等上的用户输入。虚拟边界选择器VBS的用户输入可以是任何合适形式的输入装置,包括本文先前描述的那些。虚拟边界选择器VBS可以使得用户能够在第一虚拟边界71与第二虚拟边界75之间触发、从多个虚拟边界中顺序地触发或者从虚拟边界列表中进行选择。
控制系统60使得用户能够利用虚拟边界选择器VBS选择第二虚拟边界75,同时控制系统60继续控制操纵器14的操作和工具20的移动以维持工具20顺从第一虚拟边界71。边界处理程序90响应于用户选择第二虚拟边界75而确定工具20是顺从第二虚拟边界75还是违反第二虚拟边界75,并且如果边界处理程序90确定工具20顺从第二虚拟边界75,则边界处理程序90激活第二虚拟边界75并停用第一虚拟边界71,使得控制系统60将操纵器14的控制操作和工具20的移动从基于第一虚拟边界71转变为基于第二虚拟边界75。边界处理程序90被配置为如果边界处理程序90响应于用户经由虚拟边界选择器VBS选择第二虚拟边界75而确定工具20违反第二虚拟边界75,则将第一虚拟边界71维持处于活动状态。
控制系统60响应于当用户致动虚拟边界选择器VBS以选择第二虚拟边界75时边界处理程序90确定工具20违反第二虚拟边界75而向用户生成用户反馈。控制系统60被配置为使得用户能够在工具输入82或示教器输入RC1处于第一输入状态时利用虚拟边界选择器VBS选择第二虚拟边界75。此外,当用户利用虚拟边界选择器VBS选择第二虚拟边界75时,控制系统60继续工具驱动器的操作。在一些版本中,用户还可以能够在工具输入82和示教器输入RC1处于第二输入状态时利用虚拟边界选择器VBS选择第二虚拟边界75。
在一些版本中,用户能够利用虚拟边界选择器VBS即时选择第二虚拟边界75,这意味着手动模式或半自主模式处于活动状态(例如,工具输入82或示教器输入RC1中的一者接合在第一输入状态)并且操纵器14和工具20正在移动。如果第四种类型的冲突检查指示违反第二虚拟边界75,则用户/操纵器14不会停止或被迫停止操作/移动工具20,因为有效的边界约束保持处于活动状态(例如,对于第一虚拟边界71)。
在一些示例中,第一虚拟边界71和第二虚拟边界75可以被认为是用于全膝关节手术或其他外科手术的标准和扩展边界。标准边界可以具有基于植入物大小的有限尺寸(例如,高度、宽度和/或深度),并且扩展边界可以具有量值上比标准边界更大的一个或多个尺寸(例如,更大的宽度)以允许用户使用工具20触及更多组织(例如,骨)。控制系统60可以默认操作到标准边界。基于经由虚拟边界选择器VBS的用户输入,如果需要,用户可以切换到允许到达更大量组织的扩展边界。一旦用户完成了用户需要更大(例如,更宽)边界的区域的加工,用户就可能希望切换回标准边界以请求剩余的切割。使用第四种类型的冲突检查,如果工具20在标准边界允许的区域内,则用户只能从扩展边界返回到标准边界。如果不是,则用户界面(例如,显示器)指示违反和未能切换回标准边界,并且用户可以稍后通过再次致动虚拟边界选择器VBS来重试。
当工具输入82或示教器输入RC1处于第一输入状态并且第二虚拟边界75处于活动状态时,控制系统60通过利用边界处理程序90为第二虚拟边界75生成第二边界约束来限制工具20与第二虚拟边界75之间的相对移动。当用户已利用虚拟边界选择器VBS成功地选择第二虚拟边界75时,约束求解器84可以计算约束力Fc以基于第一边界约束维持工具顺从第一虚拟边界71或基于第二边界约束维持工具顺从第二虚拟边界75。
请注意,用于从第一虚拟边界71转变到第二虚拟边界75的冲突检查/激活/停用步骤可以原子方式完成(即,在同一时间步长中),以避免冲突检查之间的移动竞争状况以及虚拟边界71、75在期间都不处于活动状态或两者都处于活动状态的激活或时间间隙。虚拟边界71、75也可以被称为冲突场景。如果冲突检查未通过,则冲突场景不会从第一冲突场景更新为第二冲突场景。由于除非冲突检查通过,否则处于活动状态的冲突场景不会被停用,因此控制系统60能够维持其刚好在转变请求之前的操作。可以给定用户反馈(例如,听觉反馈、显示器38上的用户消息、触觉反馈等)以通知用户转变失败。尽管这可以自动完成,但是通常希望让用户决定何时/是否重新尝试从‘活动’到‘新’冲突场景的转变,这时重复上述序列。
在一些情况下,当用户尝试切换到第二虚拟边界75失败并且第一虚拟边界71保持处于活动状态时,可以激活辅助模式以帮助将工具20放置成顺从第二虚拟边界75。在辅助模式中,可以采用针对恢复模式描述的相同控制来帮助将工具20放置成顺从第二虚拟边界75,不同的是手动模式或半自主模式借助第一虚拟边界71仍然用于生成边界约束以维持顺从第一虚拟边界71而保持处于活动状态。
辅助模式可以包括控制系统60:(i)在显示器或其他地方生成视觉提示,以引导用户使工具20移动,该移动将工具20放置成顺从第二虚拟边界75;(ii)利用引导处理程序94生成引导约束以引导用户顺从第二虚拟边界75;(iii)生成辅助工具路径以自主地移动工具20以顺从第二虚拟边界75;(iv)将第二虚拟边界75从其起始位置移动使得工具20顺从它,然后逐渐将第二虚拟边界75移回其起始位置以将工具20连同它一起轻轻拉动;和/或(v)生成与第二虚拟边界75相关联的辅助约束,所述辅助约束的调谐参数低于用于第二虚拟边界75的原始边界约束的调谐参数,使得工具20可以更逐渐地转变到顺从第二虚拟边界75(即,第二虚拟边界75被有效地改变为不太刚性)。还设想了用于引导工具20顺从第二虚拟边界75的其他方法。在一些情况下,这些方法中的一者或多者可以由控制系统60考虑并在满足某些条件时执行。控制系统60可以检查以查看工具20与第二虚拟边界75的接近程度,然后选择适当的方法。例如,如果工具20在第二虚拟边界75的1mm至2mm以内,则可以启用以临时更宽松的调谐参数激活第二虚拟边界75,或者使第二虚拟边界75临时移位可能是适当的。一旦工具20顺从第二虚拟边界75,控制系统60就可以手动或自动将控制切换到第二虚拟边界75。其他实施方式包括沿着工具轴线回溯,例如,用于边缘骨赘的TKA或THA髋臼准备。
各种用户界面UI上的遥控器RC和/或其他输入装置可以用于在操纵器14的各种操作模式之间切换、激活和/或停用各种操作模式。控制系统60可以被配置为在某些情况下自动切换模式。如果这些模式在被选择时最初被禁用,则控制系统60还可以在以手动模式或半自主模式操作之前首先提示用户,因为边界处理程序90发现工具20违反了虚拟边界71。控制系统60还可以在以引导触觉模式操作之前提示用户。此类提示可以包括在显示器38中的一者或多者上提供可选提示以继续处于手动模式、半自主模式或引导触觉模式。用户可以经由任何用户界面UI上(包括遥控器RC上)的任何合适的输入装置来选择继续处于手动模式、半自主模式、引导触觉模式等。
工具20相对于虚拟边界71、工具路径TP、目标状态和/或相对于目标部位的当前状态可以由导航系统32输出并经由工具20、虚拟边界71、工具路径TP、目标状态和/或目标部位(例如,股骨F、胫骨T、骨盆PEL、椎体或其他解剖结构)的图形表示在显示器38上表示。这些图形表示可以实时更新,使得用户能够对工具20相对于虚拟边界71、工具路径TP、目标状态、解剖结构等的移动进行可视化。例如,工具20和解剖结构的图形表示可以随着操纵器14对工具20的实际移动和解剖结构的实际移动而在显示器38上实时移动。
本文所述的各种模式可以用于各种类型的手术系统。例如,操纵器可以包括遥控机器人臂,所述遥控机器人臂经由相对于遥控机器人臂远程定位的用户界面来控制,以控制遥控机器人臂。用户界面可以包括单独的操纵器,诸如由用户手动操纵的6-DOF控制单元,例如,具有活动关节以向用户提供触觉反馈的单独操纵器。
IX.立体定向交互特征
如上所述,立体定向交互特征SIF可以被系统用于冲突检测。本节中描述了可以用于实施或利用SIF的各种配置或实施方式。SIF的以下配置或实施方式可以与上述任何技术或部件一起利用,所述技术或部件通过以引用方式完全结合于本节中。替代地或另外,SIF的以下配置或实施方式可以独立于任何上述技术来利用,并且用于其他一般目的,诸如但不限于:机器人控制、冲突避免、用户体验等。
立体定向交互特征SIF可以归属于可以与虚拟边界71交互的任何对象。任选地,SIF可以归属于可以(手动、自动或运动学)控制其姿态的任何部件。例如,SIF可以归属于机器人手术系统的任何部分、工具20、末端执行器22、能量施加器24或TCP、操纵器14、操纵器14的任何连杆18或关节J、底座16或形成操纵器14的运动链的任何其他部分。SIF可以归属于手术室中的其他对象或手术部件,诸如手持工具、手术台、头戴式装置、手持显示装置或平板电脑、跟踪器、牵开器、患者、人员或工作人员等。可以知道SIF的位置,因为可以使用任何合适的方法(包括但不限于上述定位技术)来跟踪对象中的任一者。SIF所归属于的对象可以基于对程序的输入来选择和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动生成。
此外,在本节中描述的虚拟边界71可以归属于除解剖结构之外的任何对象。例如,虚拟边界71可以归属于机器人手术系统的任何部分、工具20、末端执行器22、能量施加器24或TCP、操纵器14、操纵器14的任何连杆18或关节J、底座16或形成操纵器14的运动链的任何其他部分。虚拟边界71可以归属于手术室中的其他对象或手术部件,诸如成像装置(c臂、起重机架、CT扫描仪等)、手持工具、手术台、头戴式装置、手持显示装置或平板电脑、跟踪器、牵开器、患者、人员或工作人员等。虚拟边界71可以具有任何合适的形状或配置,这取决于它所归属于的对象。例如,如果虚拟边界71归属于操纵器14的连杆18,则虚拟边界71可以采取围绕连杆18的体积的形状,例如如图20所示。设想了其他配置。可以知道虚拟边界71的位置,因为可以使用任何合适的方法(包括但不限于上述定位技术)来跟踪对象中的任一者。虚拟边界71所归属于的对象可以基于对程序的输入来选择和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动生成。
可以使用前几节中描述的控制系统60(包括软件程序78和边界处理程序90)定义、定位、定制和实施SIF。边界处理程序90可以使用任何合适的方法检测任意数量的SIF与虚拟边界71之间的冲突。响应于任何一个或多个SIF与虚拟边界71之间的冲突或预期冲突,控制系统可以调整相应对象的姿态,和/或生成警报或通知。提供来自控制系统的此类响应以被动地或主动地防止、避免、缓解或减少冲突。
任意数量的SIF可以归属于任意数量的对象。在图20的示例中,多个SIF归属于工具20,在这种情况下,所述工具是用于铣削股骨F以进行THA的细长切割锉。当然,该示例仅用于说明性目的,而并非意图限制可以如何利用SIF的范围。归属的SIF的数量可以基于对程序的输入来定义和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动生成。
在一些实施方式中,SIF可以归属于直接位于SIF所归属于的对象处的位置。例如,在图20中,被标识为SIF-1的若干SIF直接归属于工具20的轴SH。这些SIF-1沿着轴SH彼此间隔开并在轴SH的正上方。在该示例中,提供SIF-1以避免轴SH与归属于股骨F的管的内表面的虚拟边界71之间的冲突。例如,由于TCP在铣削期间遵循工具路径,因此工具20可以被常规地重新取向,这继而导致轴SH重新取向。沿着轴SH具有多个SIF-1响应于此类重新取向而降低了轴SH与解剖结构之间的物理冲突的可能性。
在其他实施方式中,SIF可以归属于与SIF所归属于的对象间隔开的位置。例如,在图20中,被标识为SIF-2的若干SIF归属于工具20的近端。这些SIF-2与工具20间隔开指定距离。该示例中的SIF-2的间隔可能是适当的,因为响应于重新取向,与在TCP附近相比,工具20在近端附近更有可能经历更大的取向移动(例如,角运动)。因此,SIF-2与工具20的间隔提供了增加的缓冲,或对冲突或预期冲突的更早响应。在该示例中,SIF-2被布置成在近端处形成SIF环。SIF的配置或布置可以直接从对象的几何形状(例如,轴SH或工具20的2D截面)导出。SIF可以直接彼此邻接或彼此间隔开。
SIF相对于它们所归属于的相应对象的间隔可以基于对程序的输入来定义和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动生成。
在其他实施方式中,SIF可以被配置有任何合适的几何形状。例如,SIF可以是点、面或体积。SIF可以具有任何合适的形状。在图20的示例中,SIF具有球形形状。然而,设想了其他2D形状或体积,诸如但不限于:平面、双曲面、抛物面、圆柱体、立方体、棱锥体、圆锥体、长方体、椭圆体、棱柱体或任何类型的多面体。对于任何类型的几何配置,SIF也可以被配置有任何合适的大小。例如,在图20中,随着SIF接近工具20的近端,球形SIF-1的体积增加。同样,这可以被实施以提供对冲突或预期冲突的更早响应。SIF的几何配置或大小可以基于对程序的输入来定义和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动生成。
在一种实施方式中,SIF不是无限刚性的,而是SIF中的每一者可以具有调谐(刚度)参数以例如通过将弹簧和阻尼参数结合到约束中来调整SIF相对于虚拟约束的刚度。此类参数可以包括约束力混合参数(C)和误差减少参数(∈)。弹簧和阻尼参数可以在操作之前或期间进行调整。对于不同的对象、状况、位置或几何配置,SIF的调谐参数可能不同。SIF可以包括具有调谐参数的第一值的第一SIF和具有调谐参数的第二值的第二SIF,所述第一值大于所述第二值,使得体现在约束力Fc中的所得虚拟力和/或扭矩适于由于第一SIF与第二SIF相比而更大程度地影响工具20的移动。调谐参数的值对于位置约束可以比对于取向约束更大(例如,更刚性),反之亦然。
SIF的调谐参数也可以设定为:保持不变;随着约束距离而呈指数上升/下降;随约束距离而线性变化;随约束方向而变化;考虑引力效应;等等。调谐参数也可以取决于最终基于虚拟约束计算的约束力Fc进行缩放,诸如通过取决于约束力Fc的大小或其任何分量来增加/减小刚度。SIF的调谐参数及其值、它们与特定关系的相关性以及它们可以被缩放的方式可以存储在控制系统60中的任何合适的存储器中的一个或多个查找表中以供以后检索。
在一种实施方式中,可以为第一SIF定义第一调谐参数并且可以为第二SIF定义第二调谐参数。第一调谐参数和第二调谐参数具有不同的值。在一个示例中,不同调谐的第一SIF和第二SIF位于机器人操纵器14的运动链KC的不同部件上。不同调谐的SIF也可以位于运动链KC的同一部件上的不同位置处。运动链KC由操纵器14(包括任何刚性附接的部件,诸如底座16、多个连杆18和接头J)、工具20(包括轴SH(如果适用))和能量施加器24形成。末端执行器22也可以是运动链KC的部分。此外,耦合在操纵器14与末端执行器22之间的任何安装系统或无菌接口都可以是运动链KC的部分。可以作为运动链的部分的安装系统和/或无菌接口机构的一个示例在题为“具有用于耦合手术部件的无菌屏障组件的安装系统(Mounting System With Sterile Barrier Assembly For Use In Coupling SurgicalComponents)”的美国专利申请公开号US 2020/0170724A1中进行了描述,所述专利的全部内容以引用方式并入本文。如本文所使用,术语“运动链”是通过关节连接的刚性体的总成,其中刚性体的刚度实现受约束的运动,使得可以确定刚性体的运动学并使用数学模型将所述运动学与运动链中的其他刚性体相关。在图20的示例中,运动链进一步形成“机构”,因为至少一个连杆被机械接地。
在图20的示例中,不同调谐的第一SIF和第二SIF可以位于工具20和/或轴SH上。在这种情况下,SIF-2的调谐参数可能比SIF-1的调谐参数更刚性(例如,更大的阻尼或更大的弹簧常数),这是由于轴SH的非期望取向运动的潜在性在工具20的近端附近是更大的。SIF-2的更大刚度可能导致操纵器14在工具20的近端附近命令破坏性较小的校正运动。在其他示例中,SIF-2的刚度可能低于SIF-1。当能量施加器/工具与虚拟边界71之间存在冲突时,可以实施这种调谐配置以提供更平滑的转变。尽管该实施方式最初可能导致轴SH或工具20对虚拟边界71的更大穿透,但是机器人操纵器的其他行为可以在穿透之前、期间或之后立即改变,以解决由于冲突导致的此类更大穿透。此外,具有用于SIF的不同调谐参数可以降低与边界71的冲突可能导致错误状况从而导致操纵器14的操作停止的概率。此类调谐参数配置可以应用于任意数量的SIF,以缓解非期望的物体运动或用于与机器人控制和/或用户体验相关的任何其他目的。
另外,多个调谐参数可以与任何单个SIF相关联。例如,一个SIF的调谐参数可以关于时间、状况检测、SIF到相应对象的距离、SIF到虚拟边界71的距离等而改变。在另一个示例中,一个SIF的大小可能足以同时包括多个调谐参数。例如,SIF的一个部分/表面/体积可以被配置为比同一SIF的另一部分/表面/体积更刚性或更不刚性。
上述SIF的任何特性都可以在手术期间在术中或在机器人系统的操作暂停期间动态改变。例如,控制系统可以响应于一些控制事件或环境状况而确定SIF改变事件。此类状况可能是预期的或意外的,并且可以由控制系统使用定位数据、运动学数据或它们的任何组合来检测。作为响应,控制系统可以动态地改变一个或多个SIF的位置、几何配置、间隔、刚度。该动态变化特征可以基于对程序的输入来管理和/或例如基于诸如手术计划、操作类型或步骤、外科医生偏好等因素而自动管理。
SIF的任何所述特征、特性、性质和/或行为都可以被称为SIF的参数。SIF的任何上述实施方式或参数都可以单独或以其任何组合利用。
在前文描述中已描述了若干实施方案。然而,本文讨论的实施方案不意图是穷尽的或将本发明限制于任何特定形式。已经使用的术语意图具有描述性词语本质而非限制性。鉴于以上教导,许多修改和变化是可能的,并且本发明可以不同于具体描述的其他方式来实践。
Claims (86)
1.一种手术系统,其包括:
工具;
操纵器,所述操纵器用于支撑所述工具;以及
控制系统,所述控制系统用于基于所述工具与和目标部位相关联的虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动,所述控制系统包括:
用户输入,所述用户输入具有第一输入状态和第二输入状态,
其中所述控制系统被配置为当所述用户输入处于所述第一输入状态时启用所述工具的自主的顺从边界移动,使得所述工具维持顺从所述虚拟边界,
其中所述控制系统被配置为当所述用户输入处于所述第二输入状态时禁用所述工具的自主的顺从边界移动;以及
边界处理程序,所述边界处理程序用于响应于所述用户输入从所述第二输入状态转变为所述第一输入状态而确定所述工具是否违反所述虚拟边界。
2.根据权利要求1所述的手术系统,其中所述控制系统被配置为响应于当所述用户输入从所述第二输入状态转变为所述第一输入状态时所述工具违反所述虚拟边界而发起恢复模式,并且当所述用户输入处于所述第一输入状态时,所述工具的自主的顺从边界移动在所述恢复模式下保持禁用。
3.根据权利要求1所述的手术系统,其中所述工具包括工具驱动器,并且所述控制系统被配置为响应于当所述用户输入从所述第二输入状态转变为所述第一输入状态时所述工具违反所述虚拟边界而禁用所述工具驱动器的操作。
4.根据权利要求2所述的手术系统,其中所述控制系统被配置为通过生成包括听觉反馈、视觉反馈和触觉反馈中的一者或多者的用户反馈来引导用户在所述恢复模式下将所述工具放置成顺从所述虚拟边界。
5.根据权利要求4所述的手术系统,其中所述控制系统被配置为当所述工具被放置成顺从所述虚拟边界时停止生成所述用户反馈。
6.根据权利要求5所述的手术系统,其中所述控制系统被配置为当所述用户输入处于所述第一输入状态时通过利用所述边界处理程序生成边界约束来限制所述工具与所述虚拟边界之间的相对移动,其中所述控制系统包括:
约束求解器,所述约束求解器用于基于所述边界约束计算适于维持所述工具顺从所述虚拟边界的约束力;以及
虚拟模拟器,所述虚拟模拟器用于基于所述约束力在虚拟模拟中模拟所述工具的动力学并输出命令的姿态,
所述控制系统被配置为命令所述操纵器基于所述命令的姿态移动所述工具。
7.根据权利要求6所述的手术系统,其中所述边界处理程序能够在边界启用状态与边界禁用状态之间操作,在所述边界启用状态中,边界约束从所述边界处理程序传输到所述约束求解器,由此当所述虚拟边界以原本将导致所述工具违反所述虚拟边界的方式相对于所述工具移动时启用所述工具的自主的顺从边界移动,在所述边界禁用状态中,边界约束不再从所述边界处理程序传输到所述约束求解器,由此禁用所述工具的自主的顺从边界移动,使得所述虚拟边界能够以导致所述工具违反所述虚拟边界的方式相对于所述工具移动,所述边界处理程序被配置为:
响应于所述用户输入从所述第一输入状态转变为所述第二输入状态而以所述边界禁用状态操作;
响应于在所述工具顺从所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界启用状态操作;以及
响应于在所述工具违反所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界禁用状态操作。
8.根据权利要求7所述的手术系统,其中所述控制系统被配置为向所述用户提供触觉反馈,以通过激活一个或多个引导约束以引导所述工具顺从所述虚拟边界来引导所述用户将所述工具放置成顺从所述虚拟边界。
9.根据权利要求7所述的手术系统,其中所述控制系统被配置为向所述用户提供触觉反馈,以通过抑制所述工具的移动来引导所述用户将所述工具放置成顺从所述虚拟边界。
10.根据权利要求8所述的手术系统,其中所述控制系统被配置为当所述工具被放置成顺从所述虚拟边界时,将所述边界处理程序从所述边界禁用状态切换到所述边界启用状态。
11.根据权利要求1所述的手术系统,其中所述用户输入被配置为使得所述第一输入状态指示用户正在主动接合所述工具并且所述第二输入状态指示所述用户已经释放所述工具。
12.根据权利要求1所述的手术系统,其中所述用户输入位于所述工具上并且所述用户输入被配置为使得所述用户输入被致动以将所述用户输入置于所述第一输入状态并且所述用户输入被释放以将所述用户输入置于所述第二输入状态。
13.根据权利要求12所述的手术系统,其中所述工具具有握把,并且所述用户输入包括存在检测器以检测用户的手在所述握把上。
14.根据权利要求1所述的手术系统,其中所述控制系统包括示教器,并且所述用户输入位于所述示教器上并且所述用户输入被配置为使得所述用户输入被致动以将所述用户输入置于所述第一输入状态并且所述用户输入被释放以将所述用户输入置于所述第二输入状态。
15.根据权利要求1所述的手术系统,其中所述用户输入被进一步定义为位于所述工具上的工具输入,并且所述第一输入状态和所述第二输入状态被进一步定义为工具输入第一状态和工具输入第二状态,其中所述控制系统包括示教器和位于所述示教器上的示教器输入,所述示教器输入具有示教器输入第一状态和示教器输入第二状态。
16.根据权利要求15所述的手术系统,其中所述操纵器能够以手动模式操作,在所述手动模式中,当所述工具输入处于所述工具输入第一状态时所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,并且所述操纵器能够以半自主模式操作,在所述半自主模式中,当所述示教器输入处于所述示教器输入第一状态时所述操纵器沿着工具路径移动所述工具。
17.根据权利要求16所述的手术系统,其中所述边界处理程序被配置为响应于所述控制系统将所述操纵器的操作从所述手动模式和所述半自主模式中的一者切换到所述手动模式和所述半自主模式中的另一者而确定所述工具是顺从所述虚拟边界还是违反所述虚拟边界。
18.根据权利要求17所述的手术系统,其中所述控制系统包括路径处理程序,所述路径处理程序被配置为当所述操纵器从所述手动模式切换到所述半自主模式时生成从所述工具的当前位置到所述工具路径的导入路径。
19.根据权利要求18所述的手术系统,其中所述边界处理程序被配置为确定所述工具沿着所述导入路径的移动是将维持顺从所述虚拟边界还是将违反所述虚拟边界。
20.根据权利要求19所述的手术系统,其中所述边界处理程序被配置为通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是将维持顺从所述虚拟边界还是将违反所述虚拟边界来确定所述工具沿着所述导入路径的移动是将维持顺从所述虚拟边界还是将违反所述虚拟边界。
21.根据权利要求20所述的手术系统,其中所述边界处理程序被配置为以三个或更多个自由度对所述多个立体定向交互特征的运动进行建模。
22.根据权利要求21所述的手术系统,其中所述控制系统包括引导处理程序,所述引导处理程序被配置为响应于所述边界处理程序确定如果所述工具沿着所述导入路径从所述当前位置移动到所述工具路径则所述工具将违反所述虚拟边界而向所述用户生成用户反馈。
23.根据权利要求1所述的手术系统,其中所述控制系统被配置为响应于以下各项中的一者或多者而禁用所述工具的自主的顺从边界移动:
所述工具开始停止;
在所述用户输入从所述第一输入状态转变为所述第二输入状态之后经过预定时间段;
所述工具的线速度降低到低于一个或多个阈值;或者
所述工具的角速度降低到低于一个或多个阈值。
24.根据权利要求1所述的手术系统,其中所述控制系统被配置为基于为所述虚拟边界定义的公差来确定所述工具是否保持顺从所述虚拟边界。
25.根据权利要求2所述的手术系统,其中所述控制系统被配置为在所述恢复模式下生成恢复工具路径以使所述工具移动成顺从所述虚拟边界。
26.根据权利要求2所述的手术系统,其中所述控制系统被配置为在所述恢复模式下将所述虚拟边界从起始位置移动,使得所述工具返回成顺从所述虚拟边界,此后将所述虚拟边界移动回到所述起始位置,同时实现所述工具的自主的顺从边界移动。
27.一种手术系统,其包括:
工具;
操纵器,所述操纵器用于支撑所述工具;以及
控制系统,所述控制系统用于基于所述工具与和目标部位相关联的第一虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动,所述控制系统包括:
虚拟边界选择器,所述虚拟边界选择器用于使得用户能够选择与所述目标部位相关联的第二虚拟边界,
其中所述控制系统被配置为使得所述用户能够在所述控制系统操作以维持所述工具顺从所述第一虚拟边界时使用所述虚拟边界选择器来选择所述第二虚拟边界;以及
边界处理程序,所述边界处理程序用于响应于所述用户选择所述第二虚拟边界而确定所述工具是否顺从所述第二虚拟边界。
28.根据权利要求27所述的手术系统,其中响应于所述用户选择所述第二虚拟边界,所述边界处理程序被配置为:
如果所述边界处理程序确定所述工具顺从所述第二虚拟边界,则激活所述第二虚拟边界并停用所述第一虚拟边界,使得所述控制系统转变以基于所述工具与所述第二虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动;并且
如果所述边界处理程序确定所述工具违反所述第二虚拟边界,则维持所述第一虚拟边界处于活动状态,使得所述控制系统继续基于所述工具与所述第一虚拟边界之间的所述关系来控制所述操纵器的操作和所述工具的移动。
29.根据权利要求28所述的手术系统,其中所述控制系统被配置为响应于所述边界处理程序确定所述工具违反所述第二虚拟边界而向所述用户生成用户反馈。
30.根据权利要求27所述的手术系统,其中所述控制系统包括具有第一输入状态和第二输入状态的用户输入,所述用户输入位于所述工具上并且被配置为使得所述用户输入由所述用户致动以将所述用户输入置于所述第一输入状态并且所述用户输入由所述用户释放以将所述用户输入置于所述第二输入状态。
31.根据权利要求30所述的手术系统,其中所述控制系统被配置为使得所述用户能够在所述用户输入处于所述第一输入状态时利用所述虚拟边界选择器来选择所述第二虚拟边界。
32.根据权利要求31所述的手术系统,其中所述虚拟边界选择器包括位于所述工具上的第二用户输入。
33.根据权利要求27所述的手术系统,其中所述工具包括工具驱动器,并且所述控制系统被配置为当用户利用所述虚拟边界选择器选择所述第二虚拟边界时继续所述工具驱动器的操作。
34.根据权利要求30所述的手术系统,其中所述控制系统被配置为当所述用户输入处于所述第一输入状态并且所述第一虚拟边界处于活动状态时通过利用所述边界处理程序生成第一边界约束来限制所述工具与所述第一虚拟边界之间的相对移动,并且所述控制系统被配置为当所述用户输入处于所述第一输入状态并且所述第二虚拟边界处于活动状态时通过利用所述边界处理程序生成第二边界约束来限制所述工具与所述第二虚拟边界之间的相对移动,其中所述控制系统包括:
约束求解器,所述约束求解器用于计算约束力,所述约束力适于基于所述第一边界约束维持所述工具顺从所述第一虚拟边界或基于所述第二边界约束维持所述工具顺从所述第二虚拟边界;以及
虚拟模拟器,所述虚拟模拟器用于基于所述约束力在虚拟模拟中模拟所述工具的动力学并输出命令的姿态,
所述控制系统被配置为命令所述操纵器基于所述命令的姿态移动所述工具。
35.根据权利要求27所述的手术系统,其中所述虚拟边界选择器被配置为使得用户能够在所述第一虚拟边界与所述第二虚拟边界之间触发、从多个虚拟边界中顺序地触发或者从虚拟边界列表中进行选择。
36.一种手术系统,其包括:
工具;
操纵器,所述操纵器用于支撑所述工具,其中所述操纵器能够以多种模式操作,所述多种模式包括手动模式和半自主模式,在所述手动模式中,所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,在所述半自主模式中,所述操纵器沿着工具路径移动所述工具;以及
控制系统,所述控制系统用于基于所述工具与和目标部位相关联的虚拟边界之间的关系来控制所述操纵器的操作和所述工具的移动,所述控制系统包括:
路径处理程序,所述路径处理程序用于响应于所述控制系统转变为所述半自主模式而生成从所述工具的当前位置到所述工具路径的导入路径;以及
边界处理程序,所述边界处理程序用于在所述工具沿着所述导入路径移动之前通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是否顺从所述虚拟边界来确定所述工具沿着所述导入路径的移动是否将维持顺从所述虚拟边界。
37.根据权利要求36所述的手术系统,其中所述边界处理程序被配置为以三个或更多个自由度对所述多个立体定向交互特征的运动进行建模。
38.根据权利要求36所述的手术系统,其中所述控制系统包括引导处理程序,所述引导处理程序被配置为响应于所述边界处理程序确定如果所述工具沿着所述导入路径从所述当前位置移动到所述工具路径则所述工具将违反所述虚拟边界而向所述用户生成用户反馈。
39.一种基于工具与和目标部位相关联的虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法,所述方法包括以下步骤:
当用户输入处于第一输入状态时并且响应于所述虚拟边界相对于所述工具移动,发起所述工具的自主的顺从边界移动,使得所述工具维持顺从所述虚拟边界;
当所述用户输入处于第二输入状态时,禁用所述工具的自主的顺从边界移动;以及
响应于所述用户输入从所述第二输入状态转变为所述第一输入状态而确定所述工具是否违反所述虚拟边界。
40.根据权利要求39所述的方法,其包括响应于当所述用户输入从所述第二输入状态转变为所述第一输入状态时所述工具违反所述虚拟边界而发起恢复模式。
41.根据权利要求39所述的方法,其包括响应于当所述用户输入从所述第二输入状态转变为所述第一输入状态时所述工具违反所述虚拟边界而禁用所述工具的工具驱动器的操作。
42.根据权利要求40所述的方法,其包括通过生成包括听觉反馈、视觉反馈和触觉反馈中的一者或多者的用户反馈来引导用户在所述恢复模式下将所述工具放置成顺从所述虚拟边界。
43.根据权利要求39所述的方法,其包括在边界启用状态中将边界约束从边界处理程序传输到约束求解器,以及在边界禁用状态中停止将边界约束从所述边界处理程序传输到所述约束求解器。
44.根据权利要求43所述的方法,其包括:
响应于所述用户输入从所述第一输入状态转变为所述第二输入状态而以所述边界禁用状态操作;
响应于在所述工具顺从所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界启用状态操作;以及
响应于在所述工具违反所述虚拟边界的情况下所述用户输入从所述第二输入状态转变为所述第一输入状态而以所述边界禁用状态操作。
45.根据权利要求43所述的方法,其包括激活一个或多个引导约束以向用户提供触觉反馈以引导所述用户将所述工具放置成顺从所述虚拟边界。
46.根据权利要求43所述的方法,其包括引起所述工具的阻尼移动以向用户提供触觉反馈以引导所述用户将所述工具放置成顺从所述虚拟边界。
47.根据权利要求43所述的方法,其包括当所述工具被放置成顺从所述虚拟边界时从所述边界禁用状态切换到所述边界启用状态。
48.根据权利要求39所述的方法,其包括以手动模式或以半自主模式操作所述操纵器,在所述手动模式中,所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,在所述半自主模式中,所述操纵器沿着工具路径移动所述工具。
49.根据权利要求48所述的方法,其包括响应于将所述操纵器的操作从所述手动模式和所述半自主模式中的一者切换到所述手动模式和所述半自主模式中的另一者而确定所述工具是顺从所述虚拟边界还是违反所述虚拟边界。
50.根据权利要求49所述的方法,其包括当所述操纵器从所述手动模式切换到所述半自主模式时生成从所述工具的当前位置到所述工具路径的导入路径。
51.根据权利要求50所述的方法,其包括确定所述工具沿着所述导入路径的移动是将维持顺从所述虚拟边界还是将违反所述虚拟边界。
52.根据权利要求51所述的方法,其包括通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是将维持顺从所述虚拟边界还是将违反所述虚拟边界来确定所述工具沿着所述导入路径的移动是将维持顺从所述虚拟边界还是将违反所述虚拟边界。
53.根据权利要求52所述的方法,其包括以三个或更多个自由度对所述多个立体定向交互特征的运动进行建模。
54.根据权利要求53所述的方法,其包括响应于确定如果所述工具沿着所述导入路径从所述当前位置移动到所述工具路径则所述工具将违反所述虚拟边界而向所述用户生成用户反馈。
55.根据权利要求39所述的方法,其包括响应于以下各项中的一者或多者而禁用所述工具的自主的顺从边界移动:
所述工具开始停止;
在所述用户输入从所述第一输入状态转变为所述第二输入状态之后经过预定时间段;
所述工具的线速度降低到低于一个或多个阈值;或者
所述工具的角速度降低到低于一个或多个阈值。
56.根据权利要求40所述的方法,其包括在所述恢复模式下生成恢复工具路径以使所述工具移动成顺从所述虚拟边界。
57.根据权利要求40所述的方法,其包括在所述恢复模式下将所述虚拟边界从起始位置移动,使得所述工具返回成顺从所述虚拟边界,此后将所述虚拟边界移动回到所述起始位置,同时实现所述工具的自主的顺从边界移动。
58.一种基于工具与和目标部位相关联的第一虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法,所述方法包括以下步骤:
使得用户能够选择与所述目标部位相关联的第二虚拟边界,
使得所述用户能够在维持所述工具顺从所述第一虚拟边界时选择所述第二虚拟边界;以及
响应于所述用户选择所述第二虚拟边界而确定所述工具是否顺从所述第二虚拟边界。
59.根据权利要求58所述的方法,其还包括:
当所述用户选择所述第二虚拟边界时,如果所述工具顺从所述第二虚拟边界,则激活所述第二虚拟边界并停用所述第一虚拟边界,使得所述操纵器的控制和所述工具的移动转变为基于所述工具与所述第二虚拟边界之间的关系;以及
响应于确定所述工具违反所述第二虚拟边界而维持所述第一虚拟边界处于活动状态,使得所述操纵器的控制和所述工具的移动继续基于所述工具与所述第一虚拟边界之间的所述关系。
60.根据权利要求59所述的方法,其包括响应于确定所述工具违反所述第二虚拟边界而向所述用户生成用户反馈。
61.根据权利要求58所述的方法,其包括当所述用户选择所述第二虚拟边界时操作所述工具的工具驱动器。
62.根据权利要求58所述的方法,其包括使得所述用户能够在所述第一虚拟边界与所述第二虚拟边界之间触发、从多个虚拟边界中顺序地切换或者从虚拟边界列表中进行触发。
63.一种基于工具与和目标部位相关联的虚拟边界之间的关系来控制支撑所述工具的操纵器的操作的方法,其中所述操纵器能够以多种模式操作,所述多种模式包括手动模式和半自主模式,在所述手动模式中,所述操纵器响应于由用户施加到所述工具的用户力和扭矩而移动所述工具,在所述半自主模式中,所述操纵器沿着工具路径移动所述工具,所述方法包括以下步骤:
将所述操纵器转变为所述半自主模式;
响应于将所述操纵器转变为所述半自主模式而生成从所述工具的当前位置到所述工具路径的导入路径;以及
在所述工具沿着所述导入路径移动之前通过对与所述工具相关联的多个立体定向交互特征的运动进行建模以确定所述立体定向交互特征是否顺从所述虚拟边界来确定所述工具沿着所述导入路径的移动是否将维持顺从所述虚拟边界。
64.根据权利要求63所述的方法,其包括以三个或更多个自由度对所述多个立体定向交互特征的运动进行建模。
65.根据权利要求63所述的方法,其包括响应于确定如果所述工具沿着所述导入路径从所述当前位置移动到所述工具路径则所述工具将违反所述虚拟边界而向所述用户生成用户反馈。
66.一种手术系统,其包括:
定位系统,所述定位系统被配置为跟踪第一对象和第二对象;以及
至少一个控制器,所述至少一个控制器被配置为:
将虚拟边界与一个或多个第一对象相关联;
将第一立体定向交互特征和第二立体定向交互特征与一个或多个第二对象相关联;
为所述第一立体定向交互特征定义第一参数;
为所述第二立体定向交互特征定义第二参数,其中所述第一参数不同于所述第二参数;并且
基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成响应。
67.根据权利要求66所述的手术系统,其中所述第一参数和第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。
68.根据权利要求66至67中任一项所述的手术系统,其中所述至少一个控制器被配置为:
标识事件;以及
响应于标识所述事件而改变所述第一参数或所述第二参数中的至少一者。
69.根据权利要求66至68中任一项所述的手术系统,其中所述第一参数和第二参数各自进一步被定义为几何参数,所述几何参数被定义为以下各项中的至少一者:所述立体定向交互特征的大小、面积、体积或形状;并且其中所述第一几何参数不同于所述第二几何参数。
70.根据权利要求66至69中任一项所述的手术系统,其中所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者通过定位在与所述一个或多个第二对象间隔开距离的位置处而与所述一个或多个第二对象相关联。
71.根据权利要求66至70中任一项所述的手术系统,其中所述至少一个控制器被配置为通过被配置为进行以下操作来定义所述第一参数和所述第二参数中的一者或多者:
接收定义所述第一参数和所述第二参数中的一者或多者的用户输入;或者
基于手术信息来自动定义所述第一参数和所述第二参数中的一者或多者。
72.根据权利要求66至71中任一项所述的手术系统,其中为了基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成所述响应,所述至少一个控制器被配置为:
标识所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者与所述虚拟边界之间的冲突或预期冲突;并且
生成所述响应,所述响应进一步被定义为所述至少一个控制器被配置为执行以下各项中的一者或多者:
调整所述一个或多个第二对象的姿态;以及
生成关于所述冲突或所述预期冲突的警报或通知。
73.根据权利要求66至72中任一项所述的手术系统,其中所述一个或多个第二对象进一步被定义为单个第二对象,其中所述第一立体定向交互特征和所述第二立体定向交互特征与所述单个第二对象相关联。
74.根据权利要求66至72中任一项所述的手术系统,其中所述一个或多个第二对象进一步被定义为单独的第二对象,其中所述第一立体定向交互特征与所述第二对象中的一者相关联并且所述第二立体定向交互特征与所述第二对象中的另一者相关联。
75.根据权利要求66至73中任一项所述的手术系统,其中:
所述一个或多个第一对象进一步被定义为骨;
所述虚拟边界进一步被定义为切割边界,所述切割边界描绘要从不应被移除的解剖结构移除的解剖结构;
所述一个或多个第二对象进一步被定义为旋转切割工具;
所述第一立体定向交互特征和所述第二立体定向交互特征与所述旋转切割工具相关联并且位于相对于所述旋转切割工具的不同位置处;并且
所述第一参数和第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。
76.根据权利要求66至74中任一项所述的手术系统,其中:
所述一个或多个第一对象包括以下各项中的一者或多者:患者的解剖结构;形成机器人操纵器的运动链的任何部分,包括底座、连杆、关节、末端执行器、工具、无菌适配器、能量施加器;手持工具或装置;手术台;头戴式装置;手持显示装置或平板电脑;手术跟踪器;牵开器;成像装置;手术室中的人;并且
所述一个或多个第二对象包括以下各项中的一者或多者:患者的解剖结构;形成机器人操纵器的运动链的任何部分,包括底座、连杆、关节、末端执行器、工具、无菌适配器、能量施加器;手持工具或装置;手术台;头戴式装置;手持显示装置或平板电脑;手术跟踪器;牵开器;成像装置;手术室中的人。
77.一种操作包括定位系统和至少一个控制器的手术系统的方法,所述方法包括:
利用所述定位系统跟踪第一对象和第二对象;以及
利用所述至少一个控制器将虚拟边界与一个或多个第一对象相关联;
利用所述至少一个控制器将第一立体定向交互特征和第二立体定向交互特征与一个或多个第二对象相关联;
利用所述至少一个控制器为所述第一立体定向交互特征定义第一参数;
利用所述至少一个控制器为所述第二立体定向交互特征定义第二参数,其中所述第一参数不同于所述第二参数;以及
利用所述至少一个控制器基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成响应。
78.根据权利要求77所述的方法,其中所述第一参数和第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。
79.根据权利要求77至78中任一项所述的方法,其包括所述至少一个控制器:
标识事件;以及
响应于标识所述事件而改变所述第一参数或所述第二参数中的至少一者。
80.根据权利要求77至79中任一项所述的方法,其中所述第一参数和第二参数各自进一步被定义为几何参数,所述几何参数被定义为以下各项中的至少一者:所述立体定向交互特征的大小、面积、体积或形状;并且其中所述第一几何参数不同于所述第二几何参数。
81.根据权利要求77至80中任一项所述的方法,其包括所述至少一个控制器通过将所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者定位在与所述一个或多个第二对象间隔开距离的位置处将所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者与所述一个或多个第二对象相关联。
82.根据权利要求77至81中任一项所述的方法,其包括所述至少一个控制器通过以下操作定义所述第一参数和所述第二参数中的一者或多者:
接收定义所述第一参数和所述第二参数中的一者或多者的用户输入;或者
基于手术信息来自动定义所述第一参数和所述第二参数中的一者或多者。
83.根据权利要求77至82中任一项所述的方法,其中基于所述第一立体定向交互特征和所述第二立体定向交互特征中的至少一者与所述虚拟边界之间的交互生成所述响应还包括所述至少一个控制器:
标识所述第一立体定向交互特征和所述第二立体定向交互特征中的一者或多者与所述虚拟边界之间的冲突或预期冲突;并且
生成所述响应,所述响应进一步被定义为以下各项中的一者或多者:
调整所述一个或多个第二对象的姿态;以及
生成关于所述冲突或所述预期冲突的警报或通知。
84.根据权利要求77至83中任一项所述的方法,其中所述一个或多个第二对象进一步被定义为单个第二对象,并且所述方法包括所述至少一个控制器将所述第一立体定向交互特征和所述第二立体定向交互特征与所述单个第二对象相关联。
85.根据权利要求77至83中任一项所述的方法,其中所述一个或多个第二对象进一步被定义为单独的第二对象,并且所述方法包括所述至少一个控制器将所述第一立体定向交互特征与所述第二对象中的一者相关联并将所述第二立体定向交互特征与所述第二对象中的另一者相关联。
86.根据权利要求77至84中任一项所述的方法,其中:
所述一个或多个第一对象进一步被定义为骨;
所述一个或多个第二对象进一步被定义为旋转切割工具;
所述虚拟边界进一步被定义为切割边界,所述切割边界描绘要从不应被移除的解剖结构移除的解剖结构;并且
所述方法包括所述至少一个控制器将所述第一立体定向交互特征和所述第二立体定向交互特征与所述旋转切割工具相关联并且相对于所述旋转切割工具位于不同位置处,其中所述第一参数和所述第二参数各自进一步被定义为刚度参数,并且其中所述第一立体定向交互特征比所述第二立体定向交互特征更刚性。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063000860P | 2020-03-27 | 2020-03-27 | |
US63/000,860 | 2020-03-27 | ||
PCT/US2021/024135 WO2021195369A1 (en) | 2020-03-27 | 2021-03-25 | Systems and methods for controlling robotic movement of a tool based on a virtual boundary |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115379814A true CN115379814A (zh) | 2022-11-22 |
Family
ID=75540021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180024918.8A Pending CN115379814A (zh) | 2020-03-27 | 2021-03-25 | 用于基于虚拟边界控制工具的机器人移动的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11944396B2 (zh) |
EP (1) | EP4125691A1 (zh) |
JP (1) | JP2023519880A (zh) |
KR (1) | KR20220158737A (zh) |
CN (1) | CN115379814A (zh) |
AU (1) | AU2021241577A1 (zh) |
WO (1) | WO2021195369A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020533061A (ja) * | 2017-09-06 | 2020-11-19 | コヴィディエン リミテッド パートナーシップ | 手術ロボットの境界スケーリング |
US20220280238A1 (en) * | 2021-03-05 | 2022-09-08 | Verb Surgical Inc. | Robot-assisted setup for a surgical robotic system |
WO2023076468A1 (en) * | 2021-10-29 | 2023-05-04 | Intuitive Surgical Operations, Inc. | Systems for control of a surgical system |
US20230240774A1 (en) * | 2022-02-02 | 2023-08-03 | Mazor Robotics Ltd. | Systems and methods for robotic collision avoidance using medical imaging |
US20230363826A1 (en) * | 2022-05-10 | 2023-11-16 | Auris Health, Inc. | Pre-docking pose optimization |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411276B1 (en) | 1996-11-13 | 2002-06-25 | Immersion Corporation | Hybrid control of haptic feedback for host computer and interface device |
US7084867B1 (en) | 1999-04-02 | 2006-08-01 | Massachusetts Institute Of Technology | Haptic interface system for collision detection and applications therefore |
TW200304608A (en) | 2002-03-06 | 2003-10-01 | Z Kat Inc | System and method for using a haptic device in combination with a computer-assisted surgery system |
US8010180B2 (en) | 2002-03-06 | 2011-08-30 | Mako Surgical Corp. | Haptic guidance system and method |
US10028789B2 (en) | 2006-05-19 | 2018-07-24 | Mako Surgical Corp. | Method and apparatus for controlling a haptic device |
CN103620523B (zh) | 2010-12-29 | 2017-05-31 | 马科外科公司 | 用于提供大致上稳定的触觉的系统和方法 |
US9921712B2 (en) * | 2010-12-29 | 2018-03-20 | Mako Surgical Corp. | System and method for providing substantially stable control of a surgical tool |
US9119655B2 (en) | 2012-08-03 | 2015-09-01 | Stryker Corporation | Surgical manipulator capable of controlling a surgical instrument in multiple modes |
US9308050B2 (en) | 2011-04-01 | 2016-04-12 | Ecole Polytechnique Federale De Lausanne (Epfl) | Robotic system and method for spinal and other surgeries |
US9381085B2 (en) | 2011-06-23 | 2016-07-05 | Stryker Corporation | Prosthetic implant and method of implantation |
US8498744B2 (en) | 2011-06-30 | 2013-07-30 | Mako Surgical Corporation | Surgical robotic systems with manual and haptic and/or active control modes |
CA2847182C (en) | 2011-09-02 | 2020-02-11 | Stryker Corporation | Surgical instrument including a cutting accessory extending from a housing and actuators that establish the position of the cutting accessory relative to the housing |
US9639156B2 (en) | 2011-12-29 | 2017-05-02 | Mako Surgical Corp. | Systems and methods for selectively activating haptic guide zones |
WO2013101753A1 (en) | 2011-12-30 | 2013-07-04 | Mako Surgical Corp. | Systems and methods for customizing interactive haptic boundaries |
US9956042B2 (en) | 2012-01-13 | 2018-05-01 | Vanderbilt University | Systems and methods for robot-assisted transurethral exploration and intervention |
US9226796B2 (en) | 2012-08-03 | 2016-01-05 | Stryker Corporation | Method for detecting a disturbance as an energy applicator of a surgical instrument traverses a cutting path |
US9008757B2 (en) | 2012-09-26 | 2015-04-14 | Stryker Corporation | Navigation system including optical and non-optical sensors |
US10398449B2 (en) | 2012-12-21 | 2019-09-03 | Mako Surgical Corp. | Systems and methods for haptic control of a surgical tool |
US9603665B2 (en) | 2013-03-13 | 2017-03-28 | Stryker Corporation | Systems and methods for establishing virtual constraint boundaries |
KR102061727B1 (ko) | 2013-03-15 | 2020-01-02 | 스트리커 코포레이션 | 수술 로봇 조작기의 엔드 이펙터 |
EP3261571B1 (en) | 2015-02-25 | 2023-03-08 | Mako Surgical Corporation | Navigation systems and methods for reducing tracking interruptions during a surgical procedure |
EP3915506A1 (en) | 2015-05-19 | 2021-12-01 | MAKO Surgical Corp. | System and method for manipulating an anatomy |
US9795435B2 (en) * | 2015-05-22 | 2017-10-24 | Covidien Lp | Surgical instruments and methods for performing tonsillectomy, adenoidectomy, and other surgical procedures |
WO2017004056A1 (en) | 2015-07-01 | 2017-01-05 | Mako Surgical Corp. | Robotic systems and methods for controlling a tool removing material from a workpiece |
JP6680911B2 (ja) * | 2016-05-27 | 2020-04-15 | マコー サージカル コーポレイション | 手術システム用の術前計画及び関連する術中見当合わせ |
KR102520006B1 (ko) | 2017-06-09 | 2023-04-11 | 마코 서지컬 코포레이션 | 가상 경계를 구현하기 위한 반응력을 생성하기 위한 로봇 시스템 및 방법 |
US11432945B2 (en) * | 2017-11-07 | 2022-09-06 | Howmedica Osteonics Corp. | Robotic system for shoulder arthroplasty using stemless implant components |
US11154369B2 (en) * | 2018-01-24 | 2021-10-26 | Think Surgical, Inc. | Environmental mapping for robotic assisted surgery |
EP3890643A2 (en) | 2018-12-04 | 2021-10-13 | Mako Surgical Corporation | Mounting system with sterile barrier assembly for use in coupling surgical components |
EP3705074A1 (en) | 2019-03-08 | 2020-09-09 | MAKO Surgical Corp. | Systems and methods for controlling movement of a surgical tool along a predefined path |
US11337766B2 (en) | 2019-03-15 | 2022-05-24 | Mako Surgical Corp. | Robotic surgical system and methods utilizing a cutting bur for bone penetration and cannulation |
CN114449969A (zh) * | 2019-09-30 | 2022-05-06 | 马科外科公司 | 用于引导工具的移动的系统和方法 |
-
2021
- 2021-03-25 AU AU2021241577A patent/AU2021241577A1/en active Pending
- 2021-03-25 JP JP2022558329A patent/JP2023519880A/ja active Pending
- 2021-03-25 US US17/212,568 patent/US11944396B2/en active Active
- 2021-03-25 KR KR1020227034554A patent/KR20220158737A/ko unknown
- 2021-03-25 WO PCT/US2021/024135 patent/WO2021195369A1/en active Application Filing
- 2021-03-25 EP EP21719441.4A patent/EP4125691A1/en active Pending
- 2021-03-25 CN CN202180024918.8A patent/CN115379814A/zh active Pending
-
2024
- 2024-02-28 US US18/589,509 patent/US20240197413A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
AU2021241577A1 (en) | 2022-11-03 |
KR20220158737A (ko) | 2022-12-01 |
US20210298846A1 (en) | 2021-09-30 |
US11944396B2 (en) | 2024-04-02 |
US20240197413A1 (en) | 2024-06-20 |
JP2023519880A (ja) | 2023-05-15 |
EP4125691A1 (en) | 2023-02-08 |
WO2021195369A1 (en) | 2021-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020359626B2 (en) | Systems and methods for guiding movement of a tool | |
US11564761B2 (en) | Systems and methods for controlling movement of a surgical tool along a predefined path | |
CN107427330B (zh) | 在手术工具的自主移动期间控制手术工具的系统和方法 | |
KR102662887B1 (ko) | 가상 경계를 구현하기 위한 반응력을 생성하기 위한 로봇 시스템 및 방법 | |
CN107635486B (zh) | 操纵解剖体的系统和方法 | |
US11944396B2 (en) | Systems and methods for controlling robotic movement of a tool based on a virtual boundary | |
US10660711B2 (en) | Navigation systems and methods for reducing tracking interruptions during a surgical procedure | |
US20220218422A1 (en) | Surgical Systems And Methods For Guiding Robotic Manipulators | |
US11986260B2 (en) | Robotic surgical system and methods utilizing virtual boundaries with variable constraint parameters | |
US11986246B2 (en) | Method to determine bone placement in a robot workspace | |
US20230390001A1 (en) | Surgical robotic system with compliance mechanism | |
US20240081934A1 (en) | Robotic surgical systems and methods for guiding a tool along a path using hybrid automated/manual control | |
US20230329813A1 (en) | Systems And Methods For Guided Placement Of A Robotic Manipulator | |
CN111839732B (zh) | 用于在外科手术过程中减少跟踪中断的导航系统和方法 |
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 |