Automatically configurable analog system and method
The high cost of training different types of computer-aided surgical systems has been solved by an automatically configurable simulation system, enabling training of multiple types of systems within a single system, reducing facility costs and improving ease of use and efficiency.
Patent Information
- Application Number
- CN202080065647.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2019-08-16
- Filing Date
- 2020-08-14
- Publication Date
- 2025-10-28
- Estimated Expiration
- 2040-08-14
AI Technical Summary
The existing training systems for computer-assisted surgery require the development of separate simulation systems for each type of system, resulting in high facility costs and inefficiencies, especially for facilities with multiple different types of systems.
Develop an automatically configurable simulation system that, through a control module and computing device, can automatically reconfigure to simulate various types of surgical instrument manipulation systems, including memory and processor. The control module can be identified and reprogrammed after being connected to a user console to control different types of surgical instrument manipulation systems, and a virtual environment can be provided for display.
This system enables the training of multiple different types of computer-aided surgical systems within a single simulation system, reducing facility costs and improving system usability. Operators do not need to know the specific system type, thus enhancing the flexibility and efficiency of training.
Smart Images

Figure CN114503211B_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims priority to U.S. Provisional Patent Application No. 62 / 888,298, filed August 16, 2019, entitled “AUTO-CONFIGURABLE SIMULATION SYSTEMS AND METHODS,” the contents of which are incorporated herein by reference in their entirety. Background Art
[0003] Computer-assisted surgical systems employing robotic and / or remote control technologies typically include a stereoscopic imager configured to provide images of the surgical space captured by an endoscope for display to the surgeon. While the surgeon's eye is positioned in front of the viewing lens of the stereoscopic imager, the surgeon can view the images of the surgical space while remotely manipulating one or more surgical instruments located within the surgical space. The surgical instruments are attached to one or more manipulator arms of a surgical instrument manipulation system included as part of the computer-assisted surgical system.
[0004] Advances in computer-assisted surgical systems have led to the development of a wide variety of different types of such systems. Each type of computer-assisted surgical system can be configured differently, controlled differently, and / or may have unique features suitable for performing specific types of operations within the surgical space. For example, a first type of computer-assisted surgical system may include a first type of surgical instrument manipulation system in which multiple manipulator arms are configured and / or operated in a first manner, and a second type of computer-assisted surgical system may include a second type of surgical instrument manipulation system in which one or more manipulator arms are configured and / or operated in a second manner different from the first manner.
[0005] The differences between various types of computer-assisted surgical systems result in surgeons experiencing different operating conditions and often require different skills to perform surgical procedures. Therefore, training systems have been developed to allow surgeons to quickly and effectively learn how to operate different types of computer-assisted surgical systems. However, traditional training systems for computer-assisted surgical systems typically require the development of separate, system-specific simulation systems specifically adapted for use with different types of computer-assisted surgical systems. For example, a type-one computer-assisted surgical system that includes a type-one surgical instrument manipulation system requires a first system-specific simulation system, and a type-two computer-assisted surgical system that includes a type-two surgical instrument manipulation system requires a second system-specific simulation system different from the first system-specific simulation system. However, providing different system-specific simulation systems for each type of computer-assisted surgical system can be inefficient and / or prohibitively costly, especially for facilities (e.g., hospitals) with multiple different types of computer-assisted surgical systems. Summary of the Invention
[0006] An exemplary autoconfigurable simulation system includes a control module configured to simulate a first type of surgical instrument manipulation system comprising multiple types of surgical instrument manipulation systems; and a computing device communicatively connected to the control module, the computing device including: a memory storing instructions; and a processor communicatively connected to the memory and configured to execute instructions to: communicatively connect the control module to a user console of a computer-assisted surgical system; determine, after communicatively connecting the control module to the user console, that the user console is configured to facilitate control of a second type of surgical instrument manipulation system comprising multiple types of surgical instrument manipulation systems; store data indicating that the user console is configured to facilitate control of the second type of surgical instrument manipulation system; and reprogram the control module such that the control module is configured to simulate the second type of surgical instrument manipulation system.
[0007] An additional exemplary autoconfigurable simulation system includes a memory storing instructions; and a processor communicatively connected to the memory and configured to execute instructions to: communicatively connect a control module to a user console including an input device and a display device, the control module being configured to simulate a first type of surgical instrument manipulation system including multiple types of surgical instrument manipulation systems; determine, after communicatively connecting the control module to the user console, that the user console is configured to facilitate control of a second type of surgical instrument manipulation system including multiple types of surgical instrument manipulation systems; store data instructing the user console to facilitate control of the second type of surgical instrument manipulation system; reprogram the control module such that the control module is configured to simulate the second type of surgical instrument manipulation system; and provide a virtual environment based on the reprogrammed control module for display on the user console's display device, the virtual environment including virtual instruments movable in response to movement of the user console's input device for executing simulation programs in the virtual environment.
[0008] An exemplary method includes, after a control module configurable to simulate one of multiple types of surgical instrument manipulation systems is communicatively connected to a user console, determining, via an automatically configurable simulation system, that the user console is configured to facilitate control of a first type of surgical instrument manipulation system included in the multiple types of surgical instrument manipulation systems; determining, via the automatically configurable simulation system, whether the control module is currently configured to simulate the first type of surgical instrument manipulation system included in the multiple types of surgical instrument manipulation systems; and, when it is determined that the control module is not currently configured to simulate the first type of surgical instrument manipulation system, reprogramming the control module via the automatically configurable simulation system such that the control module is configured to simulate the first type of surgical instrument manipulation system. Attached Figure Description
[0009] The accompanying drawings illustrate various embodiments and are part of the specification. The illustrated embodiments are merely examples and do not limit the scope of this disclosure. Throughout the drawings, the same or similar reference numerals denote the same or similar elements.
[0010] Figure 1 An exemplary computer-assisted surgical system based on the principles described herein is illustrated.
[0011] Figure 2 An exemplary, automatically configurable simulation system based on the principles described herein is illustrated.
[0012] Figure 3 An exemplary implementation of an automatically configurable simulation system based on the principles described herein is illustrated.
[0013] Figure 4An exemplary user console based on the principles described herein is illustrated.
[0014] Figure 5 An exemplary surgical instrument manipulation system based on the principles described herein is illustrated.
[0015] Figure 6 An exemplary sequence diagram based on the principles described herein is illustrated.
[0016] Figures 7-8 An exemplary implementation of an automatically configurable simulation system based on the principles described herein is illustrated.
[0017] Figure 9 The illustration shows an exemplary virtual environment that can be provided for display by a display device of a user console, based on the principles described herein.
[0018] Figures 10-11 An exemplary method based on the principles described herein is illustrated.
[0019] Figure 12 An exemplary computing device based on the principles described herein is illustrated. Detailed Implementation
[0020] This document describes an automatically configurable simulation system and method. As will be described in more detail below, an exemplary automatically configurable simulation system includes a control module configured to simulate a first type of surgical instrument manipulation system comprising multiple types of surgical instrument manipulation systems; and a computing device communicatively connected to the control module. The computing device includes a memory storing instructions and a processor communicatively connected to the memory. The processor of the exemplary automatically configurable simulation system is configured to execute instructions to communicatively connect the control module to a user console of a computer-assisted surgical system, and, after communicatively connecting the control module to the user console, determine that the user console is configured to facilitate control of a second type of surgical instrument manipulation system comprising multiple types of surgical instrument manipulation systems. The processor is also configured to store data instructing the user console to be configured to facilitate control of the second type of surgical instrument manipulation system, and to reprogram the control module such that the control module is configured to simulate the second type of surgical instrument manipulation system.
[0021] Based on the reprogramming of the control module, the processor can be further configured to provide a virtual environment for display on a user console display device (e.g., a stereoscopic or single-view image viewer). The virtual environment may include virtual surgical instruments (e.g., virtual forceps, virtual cutting instruments, etc.) movable in response to movement of input devices on the user console (e.g., foot pedals, buttons, switches, etc.) for executing simulation programs within the virtual environment (e.g., for training purposes). Exemplary virtual environments are described herein.
[0022] Various advantages and benefits are associated with the systems and methods described herein. For example, automatically configurable simulation systems and methods such as those described herein allow operators (e.g., surgeons) to use the same control interfaces and input devices during simulation procedures as they would use during actual surgical procedures. Furthermore, automatically configurable simulation systems such as those described herein are configured to communicate with and provide training simulations to any of a variety of different types of computer-assisted surgical systems. Therefore, facilities (e.g., hospitals) with multiple different types of computer-assisted surgical systems only need to purchase / lease one automatically configurable simulation system to use with multiple different types of computer-assisted surgical systems, thereby reducing facility costs. Moreover, because the exemplary systems and methods described herein are automatically configurable, personnel at such facilities (e.g., nurses, surgical assistants, etc.) do not need to know the type and / or configuration of the specific computer-assisted surgical system to be simulated before using the automatically configurable simulation system, which increases ease of use. These and other benefits that can be achieved through the systems and methods described herein will become apparent from the disclosure below.
[0023] The exemplary autoconfigurable simulation system described herein is configured to operate as part of or in combination with any of a variety of different types of computer-assisted surgical systems. These various types of computer-assisted surgical systems may be different at least because they include different types of surgical instrument manipulation systems. For example, a first computer-assisted surgical system may include a first type of surgical instrument manipulation system, a second computer-assisted surgical system may include a second type of surgical instrument manipulation system, and a third computer-assisted surgical system may include a third type of surgical instrument manipulation system.
[0024] Each type of surgical instrument manipulation system may have a different architecture (e.g., manipulator arm architecture), different kinematic profiles, and / or operate according to different configuration parameters. Therefore, exemplary autoconfigurable simulation systems such as those described herein are configured to automatically reconfigure themselves to communicate with, control, and / or provide simulation programs associated with any of a variety of different types of computer-assisted surgery with different types of surgical instrument manipulation systems. As used herein, the expression “automatically” means performing an operation (e.g., reprogramming a control module) or a series of operations without requiring further input from the operator. For example, exemplary autoconfigurable simulation systems (such as any of those described herein) may be configured to automatically perform reprogrammed operations such as those described herein simply by being communicatively connected (e.g., inserted) to a computer-assisted surgical system without requiring additional input from the operator.
[0025] Now refer to Figure 1 An exemplary computer-assisted surgical system having a first-type surgical instrument manipulation system is described. The described exemplary computer-assisted surgical system is illustrative and not limiting. Automatically configurable simulation systems such as those described herein may operate as part of or in combination with the described computer-assisted surgical system and / or any other suitable computer-assisted surgical system.
[0026] Figure 1 An exemplary computer-assisted surgical system 100 (“surgical system 100”) is illustrated. As shown, the surgical system 100 may include a surgical instrument manipulation system 102-1 (“manipulation system 102-1”), a user console 104-1, and an auxiliary system 106 that are communicatively coupled to each other.
[0027] The surgical team can use the surgical system 100 to perform computer-assisted surgical procedures on patient 108. As shown in the figure, the surgical team may include surgeon 110-1, assistant 110-2, nurse 110-3, and anesthesiologist 110-4, all of whom can be collectively referred to as "surgical team members 110". Additional or alternative surgical team members may be present during the surgical procedure, as this may be helpful for the specific implementation.
[0028] although Figure 1The illustration depicts a minimally invasive surgical procedure in progress, but the surgical system 100 can be similarly used to perform open surgical procedures or other types of surgical procedures that can similarly benefit from the accuracy and convenience of the surgical system 100. Furthermore, it should be understood that the entire surgical timeframe during which the surgical system 100 can be used can include not only the operational phases of the surgical procedure (such as...) Figure 1 (As shown), it may also include preoperative, postoperative, and / or other suitable phases of a surgical procedure. A surgical procedure may include any procedure performed on a patient using manual and / or instrumental techniques (e.g., remote-controlled instrumental techniques) to investigate, diagnose, or treat the patient's physical condition. Furthermore, a surgical procedure may include any procedure not performed on a living patient, such as calibration procedures, simulation training procedures, and experimental or research procedures.
[0029] like Figure 1 As shown, the surgical instrument manipulation system 102-1 may include a plurality of manipulator arms 112 (e.g., manipulator arms 112-1 to 112-4), to which a plurality of surgical instruments (not shown) may be coupled. Each surgical instrument may be implemented by any suitable surgical tool (e.g., a tool with tissue interaction capabilities), medical instrument, monitoring device (e.g., an imaging device such as an endoscope), sensing device (e.g., a force-sensing surgical instrument), diagnostic instrument, etc., that can be used in computer-assisted surgical procedures (e.g., by at least partially inserting into and manipulating the patient 108 to perform a computer-assisted surgical procedure on the patient 108). In the example, such as Figure 1 As shown, the manipulator arm 112 of the control system 102-1 is attached to the distal end of a horizontally extending overhead boom. However, the manipulator arm 112 may have other configurations in some embodiments. Furthermore, although the control system 102-1 is depicted and described herein as comprising four manipulator arms 112, it will be appreciated that the control system 102-1 may include only a single manipulator arm 112 or any other number of manipulator arms, as this will be advantageous for certain implementations.
[0030] The manipulator arm 112 and / or surgical instruments attached to the manipulator arm 112 may include one or more displacement transducers, orientation sensors, and / or positioning sensors (hereinafter referred to as "surgical system sensors") used to generate raw (e.g., uncorrected) kinematic information. One or more components of the surgical system 100 may be configured to use the kinematic information to track (e.g., determine their positioning) and / or control the surgical instruments.
[0031] Furthermore, each of the manipulator arms 112 may include or otherwise be associated with a plurality of motors that control the movement of the manipulator arm 112 and / or surgical instruments attached to the manipulator arm 112. For example, manipulator arm 112-1 may include or otherwise be associated with a first internal motor (not explicitly shown) configured to yaw the manipulator arm 112-1 about a yaw axis. Similarly, manipulator arm 112-1 may be associated with a second internal motor (not explicitly shown) configured to drive the manipulator arm 112-1 and pitch the manipulator arm 112-1 about a pitch axis. Likewise, manipulator arm 112-1 may be associated with a third internal motor (not explicitly shown) configured to slide the manipulator arm 112-1 along an insertion axis. Each of the manipulator arms 112 may each include a drivetrain system driven by one or more of these motors to control the pivoting of the manipulator arm 112 in any way that may be beneficial in a particular implementation. Therefore, if a surgical instrument attached to, for example, manipulator arm 112-1 is to be moved mechanically, one or more motors coupled to the drivetrain can be energized to move manipulator arm 112-1.
[0032] In some examples, the manipulator arm 112 may have one or more clutch modes that facilitate disengagement of the manipulator arm 112 from one or more of its motors. The manipulator arm 112 may have any suitable number of clutch modes, as this may be beneficial for a particular implementation. For example, a first clutch mode may be engaged to allow manual rotation of the manipulator arm 112-1 about a yaw axis, a second clutch mode may be engaged to allow manual rotation of the manipulator arm 112-1 about a pitch axis, and a third clutch mode may be engaged to allow manual rotation of the manipulator arm 112-1 along an insertion axis. Any suitable number of clutch modes may be engaged at specific times to allow the user to manually reposition the insertion trajectory of the surgical instrument attached to the manipulator arm 112.
[0033] Surgical instruments attached to manipulator arm 112 can each be positioned within a surgical space associated with the patient. In some examples, the "surgical space" can be entirely situated within the patient and can include the area within the patient at or near the location where a surgical procedure is planned, is being performed, or has been performed. For example, for a minimally invasive surgical procedure performed on tissue within the patient, the surgical space can include the tissue, the anatomical structures beneath the tissue, and the space surrounding the tissue (e.g., the location where the surgical instruments are used to perform the surgical procedure). In other examples, the surgical space can be at least partially situated outside the patient at or near the location where a surgical procedure is planned, is being performed, or has been performed on the patient. For example, surgical system 100 can be used to perform open surgical procedures such that a portion of the surgical space (e.g., the tissue being manipulated) is inside the patient, while another portion of the surgical space (e.g., the space around the tissue where one or more surgical instruments can be positioned) is outside the patient. When at least a portion of a surgical instrument (e.g., the distal portion of a surgical instrument) is located within the surgical space, the surgical instrument can be referred to as being positioned or situated within the surgical space.
[0034] User console 104-1 can be configured to facilitate surgeon 110-1's control of manipulator arm 112 and surgical instruments attached to manipulator arm 112. For example, surgeon 110-1 can interact with user console 104-1 to remotely move or manipulate manipulator arm 112 and surgical instruments. To this end, user console 104-1 can provide surgeon 110-1 with images (e.g., high-resolution three-dimensional (3D) images) of the surgical space associated with patient 108 captured by an imaging device. In some examples, user console 104-1 may include a stereoscopic image viewer with two displays, wherein stereoscopic images (e.g., 3D images) of the surgical space associated with patient 108 and generated by a stereoscopic imaging system can be viewed by surgeon 110-1. Surgeon 110-1 can utilize the images to perform one or more procedures using one or more surgical instruments attached to manipulator arm 112.
[0035] To facilitate control of surgical instruments, the user console 104-1 may include a set of master controls (not shown). These master controls can be manipulated by the surgeon 110-1 to control the movement of surgical instruments (e.g., by utilizing robotic and / or remote control technology). The master controls can be configured to detect various hand, wrist, and finger movements of the surgeon 110-1. In this way, the surgeon 110-1 can intuitively perform surgical procedures using one or more surgical instruments.
[0036] User console 104-1 can also be configured to facilitate surgeon 110-1's control of other components of surgical system 100. For example, surgeon 110-1 can interact with user console 104-1 to change the configuration or operating mode of surgical system 100, to change the display mode of surgical system 100, to generate additional control signals for controlling surgical instruments attached to manipulator arm 112, to facilitate switching control from one surgical instrument to another, to activate a display representing the insertion trajectory, or to perform any other suitable operation. For this purpose, user console 104-1 may also include one or more input devices (e.g., foot pedals, buttons, switches, etc.) configured to receive input from surgeon 110-1.
[0037] In some examples, the user console 104-1 may be reconfigurable or reprogrammable to control different types of surgical instrument manipulation systems (e.g., different models of surgical instrument manipulation systems). Therefore, the user console 104-1 may include a control system, which may include or be implemented by hardware and / or software components (e.g., hardware boards, hardware nodes, software nodes, processors, memory, etc.) that can be reconfigured or reprogrammed. Furthermore, such a control system of the user console 104-1 may include hardware and / or software components configured to run algorithms associated with controlling different types of surgical instrument manipulation systems.
[0038] The auxiliary system 106 may include one or more computing devices configured to perform primary processing operations of the surgical system 100. The one or more computing devices included in the auxiliary system 106 may control and / or coordinate operations performed by various other components of the surgical system 100 (e.g., the manipulation system 102-1 and / or the user console 104-1). For example, the computing device included in the user console 104-1 may transmit instructions to the manipulation system 102-1 via one or more computing devices included in the auxiliary system 106. As another example, the auxiliary system 106 may receive and process image data representing images captured by an imaging device attached to one of the manipulator arms 112 from the manipulation system 102-1.
[0039] In some examples, the assistance system 106 may be configured to present visual content to surgical team members 110 who may not have access to the images provided to surgeon 110-1 at user console 104-1. For this purpose, the assistance system 106 may include a display monitor 114 configured to display one or more user interfaces, such as images of the surgical space (e.g., 2D images), information related to patient 108 and / or surgical procedures, and / or any other visual content, as would be helpful in a particular implementation. For example, the display monitor 114 may display an image of the surgical space along with additional content displayed concurrently with the image (e.g., a representation of the insertion trajectory, graphical content, contextual information, etc.). In some embodiments, the display monitor 114 is implemented as a touchscreen display, and surgical team members 110 may interact with the touchscreen (e.g., via touch gestures) to provide user input to the surgical system 100.
[0040] The operating system 102-1, the user console 104-1, and the auxiliary system 106 can be communicatively coupled to each other in any suitable manner. For example, such as Figure 1 As shown, the operating system 102-1, user console 104-1, and auxiliary system 106 can be communicatively coupled via control line 116, which can represent any wired or wireless communication link, as this may be helpful for a particular implementation. Therefore, the operating system 102-1, user console 104-1, and auxiliary system 106 may each include one or more wired or wireless communication interfaces, such as one or more LAN interfaces, Wi-Fi network interfaces, cellular interfaces, etc.
[0041] Before an operator (e.g., surgeon 110-1) uses surgical system 100 to perform surgical procedures, the operator needs to be trained to use one or more input devices (e.g., foot pedals, buttons, switches, etc.) of user console 104-1 to perform one or more procedures and / or develop certain skill sets associated with using surgical system 100. For this purpose, surgical system 100 is configured to interface with an automatically configurable simulation system for training purposes. As will be described in more detail herein, such automatically configurable simulation systems are configured to both simulate any of a plurality of surgical instrument manipulation systems and provide a simulated virtual environment for training purposes. Reference will now be made to… Figures 2-8 Describe an exemplary, automatically configurable simulation system.
[0042] Figure 2An exemplary, automatically configurable simulation system 200 (“Simulation System 200”) is illustrated. As shown, Simulation System 200 may include, but is not limited to, a control module 202 and a computing system 204. Control module 202 is a connection interface through which Simulation System 200 communicates with a user console (e.g., user console 104-1) and / or any other component (e.g., assistive system 106) of a computer-assisted surgical system (e.g., surgical system 100). For this purpose, Control Module 202 may include or be implemented with hardware and / or software components (e.g., hardware boards, hardware nodes, software nodes, memory, etc.) to facilitate such communication. Furthermore, Control Module 202 may include hardware and / or software components configured to run algorithms associated with simulating different types of surgical instrument manipulation systems. As will be described in more detail herein, the hardware and / or software components of Control Module 202 and / or the connections therebetween are configured to be reprogrammable to enable Control Module 202 to communicate with the user console and simulate surgical instrument manipulation systems. This document describes exemplary components that may be included as part of or implemented by control module 202.
[0043] The computing system 204 includes, but is not limited to, a processing facility 206 and a storage facility 208 that are selectively and communicatively coupled to each other. Facilities 206 and 208 may each include or be implemented with hardware and / or software components (e.g., a processor, memory, communication interface, instructions stored in memory for execution by the processor, etc.). In some examples, facilities 206 and 208 may be distributed among multiple devices and / or multiple locations, as this may facilitate a particular implementation.
[0044] In some examples, computing system 204 may include a graphics processing unit (“GPU”) configured to generate a virtual environment to be presented to an operator, for example, during a virtual surgical training procedure. Alternatively, processing of the virtual environment may be performed remotely from computing system 204. For example, computing system 204 may receive a streaming virtual environment generated by a cloud-based GPU. Computing system 204 may transmit data representing the generated or received virtual environment to a user console via control module 202.
[0045] Storage facility 208 may maintain (e.g., store) executable data used by processing facility 206 to perform any of the operations described herein. For example, storage facility 208 may store instruction 210, which may be executed by processing facility 206 to perform any of the operations described herein. Instruction 210 may be implemented by any suitable application, software, code, and / or other instance of executable data.
[0046] Storage facility 208 may also maintain any data received, generated, managed, used, and / or transmitted by processing facility 206. For example, storage facility 208 may maintain any suitable data associated with multiple computer-assisted surgical systems (e.g., configuration parameters, simulation modules, etc.) and / or data associated with generating and / or providing a virtual environment for an operator to display on a user console (e.g., user console 104-1). In some examples, storage facility 208 may store firmware associated with each of the multiple surgical instrument manipulation systems included. Such firmware may be used in any suitable manner as described herein to reprogram control module 202 and / or provide a virtual environment for an operator to present on the user console.
[0047] Processing facility 206 can be configured to perform (e.g., execute instructions 210 stored in storage facility 208) various processing operations associated with reprogramming control module 202 and providing a virtual environment for display to a user. For example, after control module 202 is communicatively coupled to a particular user console, processing facility 206 can determine that the particular user console is configured to control a different type of surgical instrument manipulation system that control module 202 is currently configured to simulate. Based on this determination, processing facility 206 can reprogram control module 202 such that control module 202 is configured to simulate the same type of surgical instrument manipulation system that the user console is configured to control. These and other operations that can be performed by processing facility 206 are described herein.
[0048] The simulation system 200 (e.g., processing facility 206) is configured to automatically reprogram the control module 202 to simulate any of a variety of different types of surgical instrument manipulation systems. For illustration, Figure 3 An exemplary schematic diagram 300 depicting a simulation system 200 together with a plurality of user consoles 104 (e.g., user consoles 104-1 to 104-N) is shown, each user console 104 being configured in turn to control a corresponding one of a plurality of surgical instrument manipulation systems 102 (e.g., surgical instrument manipulation systems 102-1 to 102-N).
[0049] although Figure 3The simulation system 200 is shown connected to the user console 104-3, but it should be understood that the simulation system 200 can communicatively connect to any other suitable component associated with the computer-assisted surgical system to facilitate automatic reprogramming of the control module 202. For example, in some examples, the simulation system 200 can communicatively connect to an auxiliary system (e.g., an auxiliary system similar to auxiliary system 106) associated with the surgical instrument manipulation system 102-3, instead of the user console 104-3. The simulation system 200 can then automatically reprogram the control module 202 in any suitable manner (e.g., as described herein) based on information received from the auxiliary system.
[0050] Each surgical instrument manipulation system 102 may correspond to different types of surgical instrument manipulation systems with different configurations. For example, a first type of surgical instrument manipulation system may have a first manipulator arm configuration, and a second type of surgical instrument manipulation system may have a second manipulator arm configuration. The first manipulator arm configuration may differ from the second manipulator arm configuration. For illustration, surgical instrument manipulation system 102-1 may have a manipulator arm (e.g., manipulator arm 112) attached to a horizontally extendable overhead boom (e.g., Figure 1 The distal manipulator arm configuration (shown) is also present. On the other hand, the surgical instrument manipulation system 102-2 may have a manipulator arm configuration in which a single manipulator arm is attached to multiple surgical instruments.
[0051] Differences between various types of surgical instrument manipulation systems included in multiple surgical instrument manipulation systems 102 may require different communication interfaces and / or different algorithms for operation. This, in turn, may result in the simulation system 200 not being able to fully communicate with certain user consoles 104. For example, the control module 202 of the simulation system 200 may currently be programmed to simulate surgical instrument manipulation system 102-1. Thus, when the simulation system 200 is communicatively connected to user console 104-1, the simulation system 200 is able to communicate and interact with user console 104-1 as if the simulation system 200 were surgical instrument manipulation system 102-1 (i.e., simulating surgical instrument manipulation system 102-1). However, if the simulation system 200 is subsequently communicatively connected to user console 104-2, one or more communication components of the control module 202 (e.g., hardware nodes, software nodes, etc.) may not be programmed to simulate surgical instrument manipulation system 102-2. As a result, user console 102-2 may restrict communication with the simulation system 200 because the control module 202 is currently configured.
[0052] To facilitate communication between the simulation system 200 and different user consoles (e.g., user consoles 102-2) and / or other components of the computer-assisted surgical system, the system 200 may first determine whether the control module 202 is currently configured to simulate the type of surgical instrument manipulation system that a particular user console is configured to control. In some examples, the simulation system 200 may determine whether the control module 202 is currently configured to simulate a given surgical instrument manipulation system 102 when communicatively connected to the corresponding user console 104.
[0053] The analog system 200 can be communicatively connected to the user console in any suitable manner. For example, the analog system 200 can be communicatively connected to the user console via any suitable wired or wireless communication link. Figure 3 In the example shown, simulation system 200 is communicatively connected to user console 104-3. Figure 4 An example is shown in which the simulation system 200 is communicatively connected to the user console 104-3 via a wired communication link 402, which may be a high-bandwidth fiber optic communication link or any other suitable wired communication link. In some examples, the wired communication link 402 may be connected to the same connection interface of the user console 104-3, just as an additional wired communication link would otherwise extend from the surgical instrument manipulation system 102-3 to the user console 104-3 during normal operation of the surgical system, including the surgical instrument manipulation system 102-3.
[0054] Regardless of the type of communication link used to communicatively connect the simulation system 200 to the user console, it can be understood that the user console interacts with the simulation system 200 as if the simulation system 200 were a corresponding surgical instrument manipulation system. That is, the user console sends and receives the same communication signals as when the user console communicates with a certain type of surgical instrument manipulation system via this communication link.
[0055] When the simulation system 200 is communicatively connected to the user console, the simulation system 200 can determine that the control module 202 is configured to simulate a surgical instrument manipulation system of a different type than the surgical instrument manipulation system configured to be controlled by the user console. For example, in Figure 4In the example shown, after the simulation system 200 is communicatively connected to the user console 104-3, the simulation system 200 can receive a handshake signal from the user console 104-3. The handshake signal may include data identifying the surgical instrument manipulation system 102-3 as the type of surgical instrument manipulation system that the user console 104-3 is configured to control. The simulation system 200 can then compare the data from the handshake signal with the current configuration of the control module 202 to determine whether the control module is currently configured to simulate the surgical instrument manipulation system 102-3 or some other type of surgical instrument manipulation system.
[0056] If control module 202 is currently configured to simulate surgical instrument manipulation system 102-3, simulation system 200 can communicate with user console 104-3 in any suitable manner without reprogramming control module 202. However, if control module 202 is currently configured to simulate different types of surgical instrument manipulation systems, simulation system 200 can reprogram control module 202 in any suitable manner, such as as described herein. For illustrative purposes, control module 202 can currently be configured to simulate... Figure 1 The surgical instrument manipulation system 102-1 shown is illustrated. However, as... Figure 4 As shown, the simulation system 200 is currently communicatively connected to a user console 104-3 configured to control a surgical instrument manipulation system 102-3. The surgical instrument manipulation system 102-3 can be a different type of surgical instrument manipulation system than the surgical instrument manipulation system 102-1. For example, as... Figure 5 As shown, surgical instrument manipulation system 102-3 may include multiple manipulator arms connected to a vertically extending support, while surgical instrument manipulation system 102-1 may include multiple manipulator arms attached to a horizontally extendable overhead boom. Additional differences between different types of surgical instrument manipulation systems may include different types of surgical instruments, different numbers of imaging devices (e.g., endoscopes), and / or different algorithms used to control the associated manipulator arms. Additionally or alternatively, user console 104-3 may include different input devices than user console 104-1. In view of any of these differences, communication components (e.g., hardware nodes and / or software nodes) associated with control module 202 may be reprogrammed to facilitate communication between user console 104-3 and simulation system 200.
[0057] The simulation system 200 can reprogram the control module 202 in any suitable manner. For example, the simulation system 200 can access a set of configuration parameters associated with a specific type of surgical instrument manipulation system from multiple sets of configuration parameters. The simulation system 200 can use the set of configuration parameters associated with a specific type of surgical instrument manipulation system to configure the control module 202 to communicate with the user console and execute algorithms for controlling the specific type of surgical instrument manipulation system. In some examples, the simulation system 200 can use such configuration parameters to change the connection components / interfaces included in the control module 202 (e.g., connections between nodes / plates, the number of nodes / plates, and / or the configuration of nodes / plates) so that they match or at least substantially resemble the connection components / interfaces of a specific type of surgical instrument manipulation system. In doing so, the simulation system 200 is then configured to interact with the user console via the control module 202, as if the simulation system 200 were the surgical instrument manipulation system from the user console's perspective.
[0058] In some examples, reprogramming the control module 202 may include the simulation system 200 erasing the firmware stored in the embedded memory of the control module 202 and replacing it with additional firmware associated with different types of surgical instrument manipulation systems. Continuing from the above reference... Figures 4-5 As described in the example, simulation system 200 can delete the firmware for surgical instrument manipulation system 102-1 stored in the embedded memory of control module 202 and replace it with firmware for surgical instrument manipulation system 102-3. In some examples, firmware for reprogramming control module 202 can be retrieved from memory associated with storage facility 208. Additionally or alternatively, firmware can be retrieved from any other suitable storage location.
[0059] In some examples, before reprogramming the control module 202, the simulation system 200 may store data instructing the user console to be configured for controlling a specific type of surgical instrument manipulation system. The simulation system 200 may store such data in any suitable manner and in any suitable storage device. For example, the simulation system 200 may store such data in a memory associated with storage facility 208. After the simulation system 200 stores data instructing the type of surgical instrument manipulation system, the simulation system 200 may reprogram the control module 202 such that the control module 202 is configured to simulate different types of surgical instrument manipulation systems.
[0060] In some examples, the simulation system 200 may communicatively disconnect the control module 202 from the user console before reprogramming it. The simulation system 200 may disconnect the control module 202 from the user console in any suitable manner and at any suitable time. In some examples, the simulation system 200 may disconnect the control module from the user console after storing data indicating that the user console is configured to facilitate control of different types of surgical instrument manipulation systems. In some examples, the simulation system 200 may include a hardware or software switch to temporarily disconnect the communication link between the control module 202 and the user console. By communicatively disconnecting the control module 202 from the user console, it is possible to prevent the simulation system 200 from unintentionally reprogramming the user console's control system other than reprogramming the control module 202. After the simulation system 200 reprograms the control module 202, it may communicatively reconnect the control module 202 to the user console, for example, by restoring the severed communication link or establishing a new communication link between the control module 202 and the user console.
[0061] In some examples, the simulation system 200 may provide one or more notifications configured to alert the operator of the user console that the simulation system 200 is performing a reprogramming operation. Such notifications may include any suitable information and may be provided to the operator in any suitable manner. For example, such a notification may be provided to the operator via a display device associated with the user console. In some examples, the simulation system 200 may provide such a notification when the reprogramming operation begins. Additionally or alternatively, the simulation system 200 may provide one or more additional notifications during the reprogramming operation. For example, additional notifications may include information indicating the completion time associated with the reprogramming operation.
[0062] Figure 6 An exemplary sequence diagram 600 is illustrated, which shows the communication that may occur between the simulation system 200 and the user console 104-3 in some embodiments. Figure 6As shown, after the control module 202 is communicatively connected to the user console 104-3, the simulation system 200 can send a handshake signal in operation 602. In response to the handshake signal, the user console 104-3 can send a response handshake signal in operation 604. The response handshake signal includes at least information identifying the type of surgical instrument manipulation system (e.g., surgical instrument manipulation system 102-3) to which the user console 104-3 is configured to control, and / or any other suitable information associated with the user console 104-3. Based on the information identifying the type of surgical instrument manipulation system, the simulation system 200 can access a set of configuration parameters associated with the identified type of surgical instrument manipulation system in operation 606. The simulation system 200 can then use this set of configuration parameters to reprogram the control module 202 in operation 608, such that the control module 202 is configured to simulate the type of surgical instrument manipulation system identified in the information provided in operation 604.
[0063] The simulation system 200 can repeat operations such as those described herein to simulate different types of surgical instrument manipulation systems. For illustration, after the simulation system 200 has reprogrammed its control module 202 and after it has been disconnected from the user console 104-3, the simulation system 200 can communicatively connect to an additional user console (e.g., user console 104-2). The simulation system 200 can determine that the additional user console is configured to control a surgical instrument manipulation system of a different type than the surgical instrument manipulation system 102-3. In response to such a determination, the simulation system 200 can again reprogram its control module 202 to be configured to simulate an additional type of surgical instrument manipulation system instead of the surgical instrument manipulation system 102-3. If the simulation system 200 is subsequently reconnected to the user console 104-3, the simulation system 200 can again reprogram its control module 202 to simulate the surgical instrument manipulation system 102-3 instead of the additional type of surgical instrument manipulation system.
[0064] In some examples, control module 202 may include multiple hardware boards, each corresponding to a different component of the computer-assisted surgical system (e.g., computer-assisted surgical system 100). For illustration, Figure 7An exemplary embodiment 700 is illustrated, wherein the control module 202 includes a plurality of hardware boards 702 (e.g., boards 702-1 to 702-N). For example, board 702-1 may correspond to a hardware board included in surgical instrument manipulation system 102-1, board 702-2 may correspond to a hardware board included in auxiliary system 106, etc. Each board 702 may each include a hardware node, a software node, or some combination thereof configured to facilitate communication with a user console (e.g., user console 104-1). In some examples, each of the hardware boards 702 may include a plurality of nodes corresponding to different components of the surgical instrument manipulation system. For example, board 702-1 may include a first node corresponding to a first manipulator arm of surgical instrument manipulation system 102-1, a second node corresponding to a second manipulator arm of surgical instrument manipulation system 102-1, a third node corresponding to a third manipulator arm of surgical instrument manipulation system 102-1, etc. The simulation system 200 can be configured to reprogram board 702 in any suitable manner (e.g., as described herein) such that the nodes of board 702 are configured to facilitate communication with another user console (e.g., user console 104-3) and to simulate another surgical instrument manipulation system (e.g., surgical instrument manipulation system 102-3).
[0065] In some examples, the simulation system 200 can be reprogrammed with virtual hardware modules to simulate components of a specific type of surgical instrument manipulation system. Such virtual hardware modules can be implemented in any suitable manner. For example, Figure 8 An exemplary implementation 800 is illustrated, in which the simulation system 200 includes or otherwise implements a virtual hardware module 802. In some examples, the virtual hardware module 802 may be implemented by or included as part of the computing system 204. Alternatively, the virtual hardware module 802 may be located remotely from the computing system 204 (e.g., on a cloud server).
[0066] By reprogramming the virtual hardware module (e.g., virtual hardware module 802), it is possible to significantly reduce the amount of time that might be required to reprogram the control module 202 to simulate a surgical instrument manipulation system. This is because, in some examples, the hardware components for reprogramming the control module 202 may include erasing and rewriting the embedded memory of the control module 202, which can be relatively time-consuming. To facilitate faster reprogramming of the control module 202, the simulation system 200 can detect that the control module 202 is communicatively connected to, for example, a user console 104-3. After the simulation system 200 determines that the user console 104-3 is configured to control the surgical instrument manipulation system 102-3, the simulation system 200 can reprogram the virtual hardware module 802 to run one or more virtual machines (e.g., boards, nodes, etc.) in the virtualized hardware components that would otherwise be included as part of the control module 202. Understandably, when the simulation system 200 reprograms the virtual hardware module, the simulation system 200 can also automatically reprogram one or more connection interfaces of the control module 202, enabling the control module 202 to communicate fully with the user console 104-3.
[0067] In some examples, the simulation system 200 can be configured to provide different graphical user interfaces (GUIs) for display to the user, depending on the type of surgical instrument manipulation system that the control module 202 is currently configured to simulate. For example, if the control module 202 is configured to simulate a first type of surgical instrument manipulation system, the simulation system 200 can provide a first set of GUIs for display to the user, and if the control module 202 is configured to simulate a second type of surgical instrument manipulation system, the simulation system 200 can provide a second set of GUIs for display to the user. In some examples, the simulation system 200 can change the GUI based on the type of surgical instrument currently used as part of the simulation program.
[0068] After the control module 202 is reprogrammed in the simulation system 200, the simulation system 200 can provide a virtual environment for display on the user console's display device. With such a virtual environment, the simulation system 200 is configured to provide the operator with the exact same experience as if the operator were controlling an actual surgical instrument manipulation system. Such a virtual environment can include any suitable content to facilitate training the operator to operate the user console and / or execute simulation programs. For example, the virtual environment can include one or more virtual instruments that are movable in response to movement of the input device on the user console used to execute simulation programs. For illustration, Figure 9 An exemplary virtual environment 900 that can be provided by the simulation system 200 for display is shown. Figure 9As shown, the virtual environment 900 includes a plurality of virtual surgical instruments 902 (e.g., virtual surgical instruments 902-1 to 902-3), which are depicted as being associated with a virtual workstation 904. Although Figure 9 Three virtual surgical instruments 902 are shown, but it should be understood that any number and / or type of virtual surgical instruments may be depicted within the virtual environment as would be helpful for a particular implementation. The virtual environment 900 may include any suitable additional or alternative instruments or devices as would be helpful for a particular implementation, such as those described herein. For example, in some implementations, the virtual environment 900 may include one or more virtual imaging devices, such as a virtual endoscope. Additionally or alternatively, the virtual environment 900 may include any suitable graphics, icons, training aids, etc., as would be helpful for a particular implementation.
[0069] In some examples, the virtual environment may be generated based on configuration parameters associated with a specific type of surgical instrument manipulation system. Therefore, the virtual environment may be specific to a particular type of surgical instrument manipulation system and / or the type of surgical instrument used as part of that system. For example, the insertion angle, port placement, insertion depth, number, and / or type of the virtual surgical instruments shown in the virtual environment (e.g., virtual environment 900) may be unique to a specific type of surgical instrument manipulation system (e.g., surgical instrument manipulation system 102-1). Therefore, the appearance of the virtual environment may vary depending on the type of surgical instrument manipulation system that the control module 202 is configured to simulate.
[0070] In some examples, the virtual environment can vary depending on the number of ports associated with the simulated surgical instrument manipulation system. For instance, a surgical instrument manipulation system utilizing a single port can be associated with a different virtual environment than one utilizing multiple ports.
[0071] Additionally or alternatively, a virtual work site (e.g., virtual work site 904) may indicate a specific surgical location operated by a particular type of surgical instrument manipulation system. In some examples, simulation system 200 may be configured to provide any number of different virtual environments depending on the type of surgical instrument manipulation system currently being simulated.
[0072] In some examples, simulation system 200 may implement a single simulation module that can be used to provide a virtual environment associated with any of a variety of surgical instrument manipulation systems. In such an example, simulation system 200 can configure the single simulation module by loading configuration parameters associated with a specific surgical instrument manipulation system before providing the virtual environment associated with that specific surgical instrument manipulation system to the user console. If simulation system 200 is subsequently reprogrammed to simulate different types of surgical instrument manipulation systems, the loaded configuration parameters can then be exchanged for additional configuration parameters associated with the different types of surgical instrument manipulation systems.
[0073] In some examples, the simulation system 200 may provide a simulator interface through which an operator (e.g., a trainee) of the user console can select a virtual environment. The simulator interface may be a standalone unit with its own monitor (e.g., a laptop computer, tablet, etc.) or it may be part of the user console. The virtual environment may be selected by providing one or more menus for display in the simulator interface. For example, an operator may select a virtual program icon from the menu to initiate a virtual suturing procedure to improve dexterity in manipulating surgical instruments to perform basic suturing exercises.
[0074] After the operator selects a virtual program icon, simulation system 200 can access data that can be used to generate a virtual environment associated with the virtual program. In some examples, such data may be stored by storage facility 208. Additionally or alternatively, such data may be stored remotely from computing system 204. The data may include information indicating which surgical instruments will be used to perform the virtual program and three-dimensional object data of the virtual work site (e.g., virtual work site 904) associated with the virtual program.
[0075] In some examples, simulation system 200 may be a computer model of a surgical instrument manipulation system (e.g., surgical instrument manipulation system 102-1). Simulation system 200 simulates the movement of surgical instruments by utilizing computer models of the components of the surgical instrument manipulation system, the movement of which is responsive to the movement of input devices associated with the operation of a user console (e.g., master controls, foot pedals, buttons, switches, etc.). Therefore, commands transmitted from the user console to simulation system 200 are the same commands that would be transmitted to the actual surgical instrument manipulation system. Specifically, commands to move the manipulator arm, which would normally be transmitted to the surgical instrument manipulation system, are instead transmitted to simulation system 200 as input to the computer-modeled manipulator arm and associated virtual surgical instrument (e.g., virtual surgical instrument 902-1) of simulation system 200.
[0076] The operator selects a virtual program through the simulator interface, defining a virtual environment. This virtual environment includes information about objects that the operator virtually interacts with by controlling virtual instruments when executing the selected virtual program. For the execution of the virtual program, the three-dimensional shape information of the object at the virtual work point, as well as the object's positioning and orientation relative to a fixed reference frame, can be stored in storage facility 208. The object can be a computer-generated object used to develop skill sets, or it can be based on a real anatomical structure whose shape and size have been determined using techniques such as magnetic resonance imaging (“MRI”), computed tomography (“CT”), ultrasound imaging, and stereoscopic imaging.
[0077] After receiving commands from the user console, the simulation system 200 updates the positioning and orientation of the virtual surgical instruments (as an example) by applying the command joint positioning to the previously determined joint positioning of the manipulator arm. The positioning and orientation of the virtual surgical instruments are determined relative to the same fixed reference of the virtual working point, allowing them to be registered with objects within the virtual working point. Therefore, the simulation system 200 continuously updates the positioning and orientation of the virtual surgical instruments as the operator executes the virtual procedure and generates a three-dimensional view of the virtual instruments and the virtual working point from the perspective of a virtual imaging device, where the virtual imaging device views the virtual working point from its positioning and orientation in a fixed reference frame. The stereoscopic view of the virtual working point can be generated from the stereoscopic view and provided to the user console by the simulation system 200, so that the computer-generated image can be processed in the same way as an image captured from an actual imaging device attached to the actual surgical instrument manipulation system. The simulation system 200 is configured to provide the generated image information to the user console in any suitable manner, so that the generated image can be displayed via the display device of the user console. If a virtual surgical instrument comes into contact with a virtual object in the virtual workstation, force feedback indicating this contact can be fed back to the user console in any suitable manner.
[0078] In addition to information from the virtual environment, certain behavioral performance measurement standards and data can be stored in storage facility 208. For example, when an operator repeatedly practices a virtual procedure, various parameter values indicating the operator's behavioral performance can be calculated according to measurement standards and stored in storage facility 208. These parameter values can then be presented to the operator on any suitable display screen in any suitable manner. Histograms or other charts indicating the operator's progress can also be provided. In this way, it is possible to monitor and inform the operator of improvements in their proficiency in performing virtual surgical procedures.
[0079] Additionally or alternatively, the simulation system 200 may use such behavioral performance metrics and data to develop behavioral performance measures associated with each virtual procedure. Such behavioral performance measures can indicate best practices that can be used to perform virtual surgical procedures. For example, a behavioral performance measure could indicate that repositioning the field of view of a virtual endoscope to a specific location results in more efficient performance of a particular virtual procedure. Additionally or alternatively, another behavioral performance measure could indicate that orienting surgical instruments at a certain angle facilitates, for example, skillful performance of suturing procedures. Such behavioral performance measures can be used in any suitable manner. For example, the simulation system 200 may use such behavioral performance measures to inform other operators of best practices associated with a given surgical procedure and / or to teach other operators how to improve the efficiency of surgical procedures.
[0080] In some examples, simulation system 200 can be configured to automatically reprogram itself to simulate a specific type of surgical instrument manipulation system before it is communicatively connected to a corresponding user console. For example, simulation system 200 can receive a notification, in any suitable manner, instructing it to automatically reprogram control module 202 based on information indicating that it will be used with a specific user console in the near future. Based on this notification, simulation system 200 can automatically reprogram control module 202 before it is connected to the specific user console. In such an example, when the operator communicatively connects (e.g., plugs) simulation system 200 to the user console, simulation system 200 has already been configured to simulate the type of surgical instrument manipulation system that the user console is configured to control.
[0081] Figure 10 An exemplary, automatically configurable simulation method is illustrated. Although Figure 10 The illustration shows an exemplary operation according to one embodiment; however, other embodiments may omit, add, reorder, and / or modify this operation. Figure 10 Any operation shown. Figure 10 One or more of the operations shown can be performed by a system (e.g., simulation system 200, any component included in simulation system 200, and / or any implementation of simulation system 200).
[0082] In operation 1002, the system (e.g., simulation system 200) can determine that the user console is configured to facilitate control of a first type of surgical instrument manipulation system, which includes multiple types of surgical instrument manipulation systems. As described herein, such determination can occur after a control module configurable to simulate one of the multiple types of surgical instrument manipulation systems is communicatively connected to the user console. Operation 1002 can be performed in any of the manner described herein.
[0083] In operation 1004, the system can determine whether the control module is currently configured to simulate a first type of surgical instrument manipulation system, which includes multiple types of surgical instrument manipulation systems. Operation 1004 can be performed in any of the ways described herein.
[0084] In operation 1006, when it is determined that the control module is not currently configured to simulate a first type of surgical instrument manipulation system, the system can reprogram the control module to simulate a first type of surgical instrument manipulation system. Operation 1006 can be performed in any of the ways described herein.
[0085] Figure 11 Another exemplary, automatically configurable simulation method is illustrated. Although Figure 11 Exemplary operation according to one embodiment is shown; however, other embodiments may omit, add, reorder, and / or modify it. Figure 11 Any operation shown. Figure 11 One or more of the operations shown can be performed by a system (e.g., simulation system 200, any component included in simulation system 200, and / or any implementation of simulation system 200).
[0086] In operation 1102, the system (e.g., simulation system 200) can determine that the user console is configured to facilitate control of a first type of surgical instrument manipulation system, which includes multiple types of surgical instrument manipulation systems. As described herein, such determination can occur after a control module configurable to simulate one of the multiple types of surgical instrument manipulation systems is communicatively connected to the user console. Operation 1102 can be performed in any of the manner described herein.
[0087] In operation 1104, the system can determine whether the control module is currently configured to simulate a first type of surgical instrument manipulation system, which includes multiple types of surgical instrument manipulation systems. Operation 1104 can be performed in any of the ways described herein.
[0088] In operation 1106, the system may store data indicating that the user console is configured to facilitate control of a first type of surgical instrument manipulation system. In some examples, the system may store data indicating that the user console is configured to facilitate control of a first type of surgical instrument manipulation system when the system determines that the control module is not currently configured to simulate a first type of surgical instrument. Alternatively, the system may be configured to store such data regardless of whether the control module is currently configured to simulate a first type of surgical instrument manipulation system. Operation 1106 may be performed in any of the manner described herein.
[0089] In operation 1108, the system can communicatively disconnect the control module from the user console. In some examples, the system can perform operation 1108 after storing data in operation 1106 and in response to the system determining that the control module is not currently configured to simulate a first-type surgical instrument manipulation system. Operation 1108 can be performed in any of the manner described herein.
[0090] In operation 1110, when it is determined that the control module is not currently configured to simulate a first type of surgical instrument manipulation system, the system can reprogram the control module such that it is configured to simulate a first type of surgical instrument manipulation system. Operation 1110 can be performed in any of the manner described herein.
[0091] In operation 1112, the system can communicatively reconnect the control module to the user console after reprogramming the control module. Operation 1112 can be performed in any of the ways described herein.
[0092] In operation 1114, the system can provide a virtual environment for display on a user console display device. As described herein, the virtual environment may include virtual devices movable in response to movement of the input device on the user console for executing simulation programs within the virtual environment. Operation 1114 may be performed in any of the manner described herein.
[0093] In some examples, a non-transitory computer-readable medium may be provided for storing computer-readable instructions, based on the principles described herein. When executed by a processor of a computing device, the instructions may direct the processor and / or the computing device to perform one or more operations, including one or more of the operations described herein. Such instructions may be stored and / or transmitted using any of a variety of known computer-readable media.
[0094] As used herein, a non-transitory computer-readable medium can include any non-transitory storage medium that contributes to providing data (e.g., instructions) that can be read and / or executed by a computing device (e.g., by the processor of the computing device). For example, a non-transitory computer-readable medium can include, but is not limited to, any combination of non-volatile storage media and / or volatile storage media. Exemplary non-volatile storage media include, but are not limited to, read-only memory, flash memory, solid-state drives, magnetic storage devices (e.g., hard disks, floppy disks, magnetic tapes, etc.), ferroelectric random access memory (“RAM”), and optical discs (e.g., compact discs, digital video discs, Blu-ray discs, etc.). Exemplary volatile storage media include, but are not limited to, RAM (e.g., dynamic RAM).
[0095] Figure 12An exemplary computing device 1200 is illustrated, which may be specifically configured to perform one or more of the processes described herein. Figure 12 As shown, computing device 1200 may include a communication interface 1202, a processor 1204, a storage device 1206, and an input / output (“I / O”) module 1208 that are communicatively connected to each other via communication infrastructure 1210. Although the exemplary computing device 1200... Figure 12 As shown in the text, but Figure 12 The components illustrated are not intended to be limiting. Additional or alternative components may be used in other embodiments. A more detailed description will now follow. Figure 12 The components of the computing device 1200 shown in the figure.
[0096] Communication interface 1202 can be configured to communicate with one or more computing devices. Examples of communication interface 1202 include, but are not limited to, wired network interfaces (e.g., network interface cards), wireless network interfaces (e.g., wireless network interface cards), modems, audio / video connections, and any other suitable interfaces.
[0097] Processor 1204 generally represents any type or form of processing unit capable of processing data and / or interpreting, executing, and / or directing the execution of one or more of the instructions, procedures, and / or operations described herein. Processor 1204 may perform operations by executing computer-executable instructions 1212 (e.g., application programs, software, code, and / or other executable data instances) stored in storage device 1206.
[0098] Storage device 1206 may include one or more data storage media, devices, or configurations, and may take any type, form, and combination of data storage media and / or devices. For example, storage device 1206 may include, but is not limited to, any combination of non-volatile media and / or volatile media described herein. Electronic data (including the data described herein) may be stored temporarily and / or permanently in storage device 1206. For example, data representing computer-executable instructions 1212 configured to direct processor 1204 to perform any of the operations described herein may be stored within storage device 1206. In some examples, data may be arranged in one or more databases residing within storage device 1206.
[0099] I / O module 1208 may include one or more I / O modules configured to receive user input and provide user output. One or more I / O modules may be used to receive input from a single virtual experience. I / O module 1208 may include any hardware, firmware, software, or a combination thereof that supports input and output capabilities. For example, I / O module 1208 may include hardware and / or software for capturing user input, including but not limited to a keyboard or keypad, a touchscreen component (e.g., a touchscreen display), a receiver (e.g., an RF or infrared receiver), a motion sensor, and / or one or more input buttons.
[0100] I / O module 1208 may include one or more devices for presenting output to a user, including but not limited to a graphics engine, a display (e.g., a screen), one or more output drivers (e.g., display drivers), one or more audio speakers, and one or more audio drivers. In some embodiments, I / O module 1208 is configured to provide graphical data to the display for presentation to the user. The graphical data may represent one or more graphical user interfaces and / or any other graphical content, as may be helpful in a particular implementation.
[0101] In some examples, any system, computing device, and / or other component described herein may be implemented by computing device 1200. For example, storage facility 208 may be implemented by storage device 1206, and processing facility 206 may be implemented by processor 1204.
[0102] In the foregoing description, various exemplary embodiments have been described with reference to the accompanying drawings. However, it will be apparent that various modifications and changes can be made to the embodiments without departing from the scope of the invention as set forth in the appended claims, and additional embodiments may be implemented. For example, certain features of one embodiment described herein may be combined with or substituted for features of another embodiment described herein. Accordingly, the description and drawings are to be considered illustrative rather than restrictive.
Claims
1. An automatically configurable simulation system, comprising: The control module is configured to simulate a first type of surgical instrument manipulation system included in a plurality of different types of surgical instrument manipulation systems, each of which is used to manipulate at least one surgical instrument that can be attached to the surgical instrument manipulation system and includes different types of manipulator arm configurations. as well as A computing device communicatively connected to the control module, the computing device comprising: Memory for storing instructions; and A processor, communicatively connected to the memory and configured to execute the instructions to: The control module is communicatively connected to the user console of the computer-assisted surgical system; After the control module is communicatively connected to the user console, it is determined that the user console is configured to facilitate control of a second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; The first type of surgical instrument manipulation system has a first manipulator arm configuration, the second type of surgical instrument manipulation system has a second manipulator arm configuration, and the first manipulator arm configuration is different from the second manipulator arm configuration. The storage indicates that the user console is configured to facilitate control of the second type of surgical instrument manipulation system; and The control module is reprogrammed such that it is configured to simulate the second type of surgical instrument manipulation system.
2. The automatically configurable simulation system of claim 1, wherein the processor is further configured to execute the instructions to: After storing the data, the control module is communicatively disconnected from the user console; and After reprogramming the control module, the control module is communicatively reconnected to the user console.
3. The automatically configurable simulation system according to claim 1 or 2, wherein: The user console includes input devices and display devices; and The processor is also configured to execute the instructions to: Based on a reprogrammed control module, a virtual environment is provided for display on the display device of the user console. The virtual environment includes virtual instruments that are movable in response to movement of the input device of the user console to execute simulation programs in the virtual environment.
4. The automatically configurable simulation system of claim 3, wherein the virtual environment is specific to the second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems.
5. The automatically configurable simulation system of claim 3, wherein the virtual environment is specific to a type of surgical instrument used as part of a second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems.
6. The automatically configurable simulation system according to claim 1 or 2, wherein the processor is further configured to execute instructions to: After the control module is reprogrammed and after the control module is disconnected from the user console, the control module is communicatively connected to an additional user console. After the control module is communicatively connected to the additional user console, it is determined that the additional user console is configured to facilitate control of a third type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; The storage indicates that the additional user console is configured to facilitate control of the third type of surgical instrument manipulation system; and The control module is reprogrammed such that it is configured to simulate the third type of surgical instrument manipulation system.
7. The automatically configurable simulation system according to claim 6, wherein: The additional user console includes input devices and display devices; The processor is also configured to execute the instructions to provide a virtual environment based on the reprogrammed control module for display on the display device of the additional user console; The virtual environment includes virtual devices that are movable in response to movement of the input device on the additional user console for executing simulation programs within the virtual environment; and The virtual environment is specific to the third type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems.
8. The automatically configurable simulation system according to claim 1 or 2, wherein: The control module includes multiple hardware nodes; and The hardware nodes included in the plurality of hardware nodes are configured as components that simulate the second type of surgical instrument manipulation system.
9. The automatically configurable simulation system of claim 8, wherein the component is a manipulator arm used in a surgical instrument manipulation system of the second type.
10. The automatically configurable simulation system according to claim 1 or 2, wherein reprogramming of the control module includes reprogramming components of a virtual hardware module included in the control module to simulate a surgical instrument manipulation system of the second type.
11. The automatically configurable simulation system according to claim 1 or 2, wherein reprogramming of the control module includes: Access a set of configuration parameters associated with the second type of surgical instrument manipulation system from multiple sets of configuration parameters; and The control module is configured to communicate with the user console using the set of configuration parameters associated with the second type of surgical instrument manipulation system.
12. The automatically configurable simulation system of claim 1 or 2, wherein determining that the user console is configured to facilitate control of the second type of surgical instrument manipulation system is based on information included in a handshake signal received from the user console.
13. An automatically configurable simulation system, comprising: Memory for storing instructions; and A processor, communicatively connected to the memory and configured to execute the instructions to: The control module is communicatively connected to a user console including an input device and a display device. The control module is configured to simulate a first type of surgical instrument manipulation system included in a plurality of different types of surgical instrument manipulation systems, each of which is used to manipulate at least one surgical instrument that can be attached to the surgical instrument manipulation system and includes different types of manipulator arm configurations. After the control module is communicatively connected to the user console, it is determined that the user console is configured to facilitate control of a second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; The first type of surgical instrument manipulation system has a first manipulator arm configuration, and the second type of surgical instrument manipulation system has a second manipulator arm configuration. The configuration of the first manipulator arm is different from that of the second manipulator arm; The storage indicates that the user console is configured to facilitate control of the second type of surgical instrument manipulation system; The control module is reprogrammed such that it is configured to simulate the second type of surgical instrument manipulation system; and Based on a reprogrammed control module, a virtual environment is provided for display on the display device of the user console. The virtual environment includes virtual instruments that are movable in response to movement of the input device of the user console to execute simulation programs in the virtual environment.
14. The automatically configurable simulation system of claim 13, wherein the processor is further configured to execute the instructions to: After storing the data, the control module is communicatively disconnected from the user console; and After reprogramming the control module, the control module is communicatively reconnected to the user console.
15. The automatically configurable simulation system of claim 13 or 14, wherein the virtual environment is specific to the first type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems.
16. A method comprising: After a control module configurable to simulate one of a plurality of different types of surgical instrument manipulation systems is communicatively connected to a user console, the user console is determined by an automatically configurable simulation system to facilitate control of a first type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems, each of which is used to manipulate at least one surgical instrument that can be attached to the surgical instrument manipulation system and includes different types of manipulator arm configurations. The automatically configurable simulation system determines whether the control module is currently configured to simulate the first type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; The first type of surgical instrument manipulation system has a first manipulator arm configuration, and the second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems has a second manipulator arm configuration, wherein the first manipulator arm configuration is different from the second manipulator arm configuration; and When it is determined that the control module is not currently configured to simulate the first type of surgical instrument manipulation system, the control module is reprogrammed by the automatically configurable simulation system so that the control module is configured to simulate the first type of surgical instrument manipulation system.
17. The method of claim 16, further comprising, when it is determined that the control module is not currently configured to simulate the first type of surgical instrument manipulation system, storing data in the automatically configurable simulation system indicating that the user console is configured to facilitate control of the first type of surgical instrument manipulation system.
18. The method of claim 17, further comprising: After the data is stored, the control module is communicatively disconnected from the user console via the automatically configurable simulation system; and After the control module is reprogrammed, it is communicatively reconnected to the user console via the automatically configurable simulation system.
19. The method according to any one of claims 16-18, further comprising providing a virtual environment via the automatically configurable simulation system for display on a display device of the user console, the virtual environment including a virtual device movable in response to movement of an input device of the user console for executing a simulation program in the virtual environment.
20. The method according to any one of claims 16-18, further comprising: After the control module disconnects from the user console and communicatively connects to the additional user console, the automatically configurable simulation system determines that the additional user console is configured to facilitate control of the second type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; The automatically configurable simulation system determines that the control module is currently configured to simulate the first type of surgical instrument manipulation system included in the plurality of different types of surgical instrument manipulation systems; and The control module is reprogrammed by the automatically configurable simulation system such that it is configured to simulate the second type of surgical instrument manipulation system instead of the first type of surgical instrument manipulation system.
21. The method according to any one of claims 16-18, further comprising: The automatically configurable simulation system receives a notification indicating that it will be communicatively connected to a third type of surgical instrument manipulation system in the future; and Based on the notification and before the control module is communicatively connected to the third type of surgical instrument manipulation system, the control module is reprogrammed by the automatically configurable simulation system such that the control module is configured to simulate the third type of surgical instrument manipulation system.
Citation Information
Patent Citations
General purpose simulator for microsatellite equipment
CN104777758A
Simulator system for medical procedure training
CN106030683A