Layered functionality for user input mechanisms in computer-assisted surgical systems

By detecting the start and stop of the user input mechanism, combined with the information of the user control mechanism, the function selection system is used to simplify the switching of the operating mode of the computer-assisted surgical system, solving the complex operation of the user input mechanism and improving the efficiency and accuracy of the surgical operation.

CN120436784APending Publication Date: 2025-08-08INTUITIVE SURGICAL OPERATIONS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510362282.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2019-03-12
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

The user input mechanism of the existing computer-assisted surgical system is complex and unintuitive, affecting the efficiency and accuracy of surgical procedures.

Method used

By detecting the start and stop of the user input mechanism, combining the information of the user control mechanism, the function selection system is used to determine and execute different operating modes, simplifying user input operations, realizing the activation and deactivation of the clutch operation mode, reducing unexpected actions, and improving the intuitiveness and efficiency of the operation.

Benefits of technology

It realizes intuitive and efficient operation of computer-assisted surgical system, reduces the number of user input mechanisms, improves the convenience and accuracy of surgical operations, and supports flexible switching of multi-layer functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120436784A_ABST
    Figure CN120436784A_ABST
Patent Text Reader

Abstract

The application discloses a hierarchical functionality for a user input mechanism in a computer-assisted surgical system that includes a function selection system configured to detect activation and deactivation of a user input mechanism associated with a user control mechanism, a computer-assisted surgical system includes a user control mechanism for controlling a surgical instrument coupled to a manipulator arm of the computer-assisted surgical system, a user input mechanism configured to facilitate activation and deactivation of a clutch mode of operation in which the user control mechanism is decoupled from control of the surgical instrument. Based on detection of activation and deactivation of the user input mechanism, the function selection system determines information associated with the user input mechanism and the user control mechanism, compares the information to a set of defined criteria, and performing functions associated with different operating modes of the computer-assisted surgical system when the information satisfies the set of defined criteria.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese patent application 201980096315.1, filed on March 12, 2019, entitled “Layered Functions for User Input Mechanisms in Computer-Assisted Surgery Systems”. Background Art

[0002] Computer-assisted surgery systems allow surgeons to control remotely operated surgical instruments to perform surgical procedures on patients. The surgeon uses the main controls of the computer-assisted surgery system to control the movement of the surgical instruments to perform the surgical procedure.

[0003] The computer-assisted surgical system may have a user input mechanism (e.g., buttons or the like) through which the surgeon can control additional functions of the computer-assisted surgical system, such as a user input mechanism for selecting a function to be performed by the computer-assisted surgical system. It is desirable that such a user input mechanism be intuitive and convenient for the surgeon to use, and not interfere with or unduly complicate the operation of the main controls of the computer-assisted surgical system. Summary of the Invention

[0004] An exemplary system includes a processor and a memory storing instructions, wherein the processor is communicatively coupled to the memory and configured to execute the instructions to: detect activation and deactivation of a user input mechanism associated with a user control mechanism, the user control mechanism being used to control a surgical instrument of a manipulator arm coupled to a computer-assisted surgical system, the user input mechanism being configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument; based on the detection of activation and deactivation of the user input mechanism, determine information associated with the user input mechanism and the user control mechanism; compare the information to a set of defined criteria; and perform functions associated with different operating modes of the computer-assisted surgical system when the information meets the set of defined criteria.

[0005] An exemplary non-transitory computer-readable medium storing instructions that, when executed, direct at least one processor of a computing device to: detect a first input received through a user input mechanism associated with a user control mechanism for controlling a surgical instrument of a manipulator arm coupled to a computer-assisted surgical system, the user input mechanism being configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument; determine a first set of information associated with the user input mechanism and the user control mechanism based on the detection of the first input; detect a second input received through the user input mechanism; determine a second set of information associated with the user input mechanism and the user control mechanism based on the detection of the second input; compare the first set of information and the second set of information to a set of defined criteria; and perform functions associated with different operating modes of the computer-assisted surgical system when the set of defined criteria are met.

[0006] An exemplary method includes: detecting activation and deactivation of a user input mechanism associated with a user control mechanism, the user control mechanism being used to control a surgical instrument of a manipulator arm coupled to a computer-assisted surgical system, the user input mechanism being configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument; determining information associated with the user input mechanism and the user control mechanism based on the detection of activation and deactivation of the user input mechanism; comparing the information to a set of defined criteria; and performing functions associated with different operating modes of the computer-assisted surgical system when the information meets the set of defined criteria. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] The accompanying drawings illustrate various embodiments and are part of the specification. The embodiments shown are examples only and do not limit the scope of the present disclosure. Throughout the drawings, the same or similar reference numerals represent the same or similar elements.

[0008] Figure 1 An exemplary computer-assisted surgical system according to the principles described herein is shown.

[0009] Figure 2 shows that a device according to the principles described herein may be included in Figure 1 An exemplary control system within a computer-assisted surgical system.

[0010] Figure 3 An exemplary function selection system according to the principles described herein is shown.

[0011] Figure 4 An exemplary method for selectively executing functions of a computer-assisted surgery system according to the principles described herein is shown.

[0012] Figure 5 An exemplary method for selectively executing functions of a computer-assisted surgery system according to the principles described herein is shown.

[0013] Figure 6 An exemplary computing system according to the principles described herein is shown. DETAILED DESCRIPTION

[0014] This document describes systems and methods for providing hierarchical functionality for a user input mechanism of a computer-assisted surgical system. Based on the hierarchical functionality of the user input mechanism, a user of the computer-assisted surgical system can intuitively and / or efficiently select a function of the computer-assisted surgical system to be performed. For example, in certain embodiments, the computer-assisted surgical system can include a control mechanism (e.g., a set of one or more master controls) through which a surgeon can provide input to remotely control a surgical instrument coupled to the control mechanism. The computer-assisted surgical system can also include a user input mechanism associated with (e.g., located on) the control mechanism, and through which the surgeon can provide input to indicate one or more hierarchical functions mapped to the user input mechanism to be performed by the computer-assisted surgical system. In certain examples, the computer-assisted surgical system can be configured to process input received through the user input mechanism and information associated with the input (e.g., contextual information, such as information about the movement of the control mechanism associated with the input) to determine which of the various hierarchical functions to perform. The computer-assisted surgical system can be configured to process the input and associated information in a manner that supports the use of a single user input mechanism (e.g., a single binary selection user input mechanism) for the user to select any one of the multiple layers of functions mapped to the user input mechanism to be performed.

[0015] As an example, a computer-assisted surgical system can provide a conventional operating mode in which a control mechanism (e.g., a set of master controls) can be manipulated by a surgeon to remotely control a surgical instrument coupled to a manipulator arm of the computer-assisted surgical system. The computer-assisted surgical system can also provide a clutch operating mode in which the master controls are decoupled from manipulation of the surgical instrument such that the surgeon can manipulate (e.g., reposition) the master controls without affecting the surgical instrument (e.g., without moving or otherwise remotely controlling the surgical instrument). The computer-assisted surgical system can include a user input mechanism configured to facilitate activation and deactivation of the clutch operating mode. In addition to facilitating activation and deactivation of the clutch operating mode, the user input mechanism can be configured to facilitate user selection of one or more additional functions to be performed by the computer-assisted surgical system.

[0016] The user input mechanism can be a single binary option user input mechanism associated with a control mechanism (e.g., a set of main controls). To illustrate an example, the user input mechanism can be a button located on a control mechanism (e.g., a set of main controls). The computer-assisted surgical system can be configured to enable the surgeon to select to operate the computer-assisted surgical system in a clutch operating mode by activating and holding a button (e.g., by pressing the button and holding the button) while the surgeon manipulates the main controls. The same button can also be used by the surgeon to instruct the computer-assisted surgical system to perform another function. For example, the momentary activation and deactivation of a button that meets a set of defined criteria (e.g., a rapid click of a button that meets the criteria) can be mapped to another function of the computer-assisted surgical system so that the momentary activation and deactivation of a button that meets the defined criteria will trigger the execution of the function.

[0017] To this end, the computer-assisted surgical system can receive information associated with the user's interaction with the button (e.g., press, release, hold) and information associated with the primary control (e.g., position, movement, speed) and determine whether the user's interaction with the button meets defined criteria, which can indicate whether the surgeon intended to instruct the computer-assisted surgical system to perform another function, such as a function associated with another operating mode other than the clutch operating mode. In addition, such information can be used by the system to determine whether the interaction with the button was unintentional.

[0018] By accessing and using additional information associated with user input mechanisms and master controls, a computer-assisted surgical system can reliably and / or accurately select and execute one or more functions of the computer-assisted surgical system that a surgeon intends to perform. Furthermore, by processing received input using the additional information as described herein, a computer-assisted surgical system can allow a surgeon to activate various operating modes and / or enable execution of various functions associated with different operating modes using the same input mechanism, which can allow for fewer and / or more useful user input mechanisms and a simple, uncluttered interface that is intuitive to use. An intuitive interface can allow a surgeon to perform fewer unintended actions and / or perform intended actions more easily, which can lead to convenient and / or intuitive operation of the computer-assisted surgical system and more effective surgical procedures. This can allow a computer-assisted surgical system to have a compact and flexible mechanical design (e.g., a design that allows for multiple degrees of motion of the surgeon's hand for manipulating the master controls) and can help minimize the number of user input mechanisms implemented by the computer-assisted surgical system. These and other advantages and benefits of the systems and methods described herein will become apparent.

[0019] Figure 1An exemplary computer-assisted surgical system 100 ("surgical system 100") is shown. As shown, the surgical system 100 may include a manipulation system 102, a user control system 104, and an auxiliary system 106 communicatively coupled to one another. The surgical system 100 may be utilized by a surgical team to perform computer-assisted surgery on a patient 108. As shown, the surgical team may include a surgeon 110-1, an assistant 110-2, a nurse 110-3, and an anesthesiologist 110-4, all of whom may be collectively referred to as "surgical team members 110." Additional or alternative surgical team members may be present during a surgical procedure to facilitate a particular embodiment.

[0020] Although Figure 1 A minimally invasive surgical procedure is shown in progress, but it should be understood that the surgical system 100 can similarly be 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 surgical procedures that can consistently employ the surgical system 100 can include not only the operative phase of the surgical procedure (e.g., Figure 1 ), and may also include pre-operative, post-operative, and / or other suitable surgical stages. A surgical procedure may include any operation on a patient using manual and / or instrumental techniques to diagnose or treat a patient's physical condition.

[0021] like Figure 1 As shown, the manipulation system 102 may include a plurality of manipulator arms 112 (e.g., manipulator arms 112-1 through 112-4) to which a plurality of surgical instruments may be coupled. Each surgical instrument may be implemented by any suitable surgical tool (e.g., a tool having tissue interaction functionality), medical tool, imaging device (e.g., an endoscope), sensing instrument (e.g., a force sensing surgical instrument), diagnostic instrument, etc., which may be used for computer-assisted surgery on a patient 108 (e.g., by being at least partially inserted into the patient 108 and manipulated to perform a computer-assisted surgery on the patient 108). Although the manipulation system 102 is depicted and described herein as including four manipulator arms 112, it should be appreciated that the manipulation system 102 may include only a single manipulator arm 112 or any other number of manipulator arms that may be used for a particular embodiment.

[0022] The manipulator arm 112 and / or a surgical instrument attached to the manipulator arm 112 may include one or more displacement transducers, orientation sensors, and / or position sensors for generating raw (i.e., 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 its position) and / or control the surgical instrument.

[0023] The user control system 104 can be configured to facilitate the surgeon 110-1 to control the manipulator arm 112 and the surgical instruments attached to the manipulator arm 112. For example, the surgeon 110-1 can interact with the user control system 104 to remotely move or telecontrol the manipulator arm 112 and the surgical instruments. To this end, the user control system 104 can provide the surgeon 110-1 with images (e.g., high-definition 3D images) of the surgical area associated with the patient 108 captured by an imaging system (e.g., an endoscope or any other suitable medical imaging system). In some examples, the user control system 104 can include a stereoscopic viewer having two displays, wherein a stereoscopic image of the surgical area associated with the patient 108 and generated by the stereoscopic imaging system can be viewed by the surgeon 110-1. The surgeon 110-1 can utilize the images to perform one or more procedures using one or more surgical instruments attached to the manipulator arm 112.

[0024] To facilitate control of surgical instruments, user control system 104 may include a control mechanism, such as a set of master controls. The master controls may be manipulated by surgeon 110-1 to control the movement of surgical instruments (e.g., by utilizing robotics and / or teleoperation technology). The master controls may be configured to detect various hand, wrist, and finger movements of surgeon 110-1. In this manner, surgeon 110-1 may intuitively perform surgery using one or more surgical instruments.

[0025] The auxiliary system 106 may include one or more computing devices configured to perform the basic processing operations of the surgical system 100. In such a configuration, 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 manipulator system 102 and the user control system 104). For example, a computing device included in the user control system 104 may transmit instructions to the manipulator system 102 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 from the manipulator system 102, the images being captured by an imaging device attached to one of the manipulator arms 112.

[0026] In some examples, the assistance system 106 can be configured to present visual content to a surgical team member 110 who may not have access to the images provided to the surgeon 110-1 at the user control system 104. To this end, the assistance system 106 can include a display monitor 114 configured to display one or more user interfaces, such as an image of the surgical area (e.g., a 2D image), information associated with the patient 108 and / or the surgical procedure, and / or any other visual content that may serve a particular embodiment. For example, the display monitor 114 can display an image of the surgical area along with additional content (e.g., graphical content, contextual information, etc.) displayed simultaneously with the image. In some embodiments, the display monitor 114 is implemented by a touch screen display, and the surgical team member 110 can interact with the touch screen display (e.g., through touch gestures) to provide user input to the surgical system 100.

[0027] The operating system 102, the user control system 104, and the auxiliary system 106 may be communicatively coupled to each other in any suitable manner. Figure 1 As shown, the operating system 102, the user control system 104, and the auxiliary system 106 can be communicatively coupled via a control line 116, which can represent any wired or wireless communication link that can serve a particular embodiment. To this end, the operating system 102, the user control system 104, and the auxiliary system 106 can each include one or more wired or wireless communication interfaces, such as one or more local area network interfaces, Wi-Fi network interfaces, cellular interfaces, etc.

[0028] In some examples, a non-transitory computer-readable medium storing computer-readable instructions can be provided according to the principles described herein. When executed by a processor of a computing device, the instructions can direct the processor and / or computing device to perform one or more operations, including one or more of the operations described herein. Any of a variety of known computer-readable media can be used to store and / or transmit such instructions. Such non-transitory computer-readable media storing computer-readable instructions can be implemented by one or more components of the surgical system 100.

[0029] As referred to herein, non-transitory computer-readable media may include any non-transitory storage medium that participates in providing data (e.g., instructions) that can be read and / or executed by a computing device (e.g., by a processor of a computing device). For example, non-transitory computer-readable media may 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 tape, etc.), ferroelectric random access memory ("RAM"), and optical disks (e.g., compact disks, digital video disks, Blu-ray disks, etc.). Exemplary volatile storage media include, but are not limited to, RAM (e.g., dynamic RAM).

[0030] Figure 2 An exemplary control system 200 is shown communicatively coupled to a user control mechanism 202 and the manipulator arm 112. The control system 200 may be communicatively coupled to the user control mechanism 202 and the manipulator arm 112 in any suitable manner that allows data, communications, and / or other signals to be sent by the control system 200 to the user control mechanism 202 and the manipulator arm 112 and / or to be received by the control system 200 from the user control mechanism 202 and the manipulator arm 112.

[0031] The control system 200 may be implemented within one or more components of the surgical system 100, such as within the user control system 104, the auxiliary system 106, the manipulator system 102, or any combination thereof. The control system 200 may be implemented as hardware, software, or a combination of hardware and software configured to perform one or more of the operations described herein, including operations for processing user input received through the user control 202 and determining operation of the surgical system 100 based on the user input. For example, the control system 200 may be configured to translate movements of the user control 202 into movements of the manipulator arm 112 and / or a surgical instrument 204 attached to the manipulator arm 112.

[0032] Manipulator arm 112 may be a manipulator arm of a computer-assisted surgical system, such as any of manipulator arms 112-1 through 112-4 of surgical system 100. Any suitable surgical instrument, such as surgical instrument 204, may be physically coupled to manipulator arm 112 in any suitable manner.

[0033] The user control mechanism 202 can be part of the user control system 104 of the surgical system 100. For example, the user control mechanism 202 can include or be included in a set of main controls of the user control system 104. In some examples, for example, the user control mechanism 202 can be part of a set of main controls configured to be manipulated by a surgeon to control the movement of a surgical instrument. For example, the user control mechanism 202 can be configured to be manipulated by the surgeon's hand to remotely control a surgical instrument attached to a manipulator arm, and the set of main controls can include additional controls for controlling the movement of the surgical instrument, such as another user control mechanism 202 configured to be manipulated by the surgeon's other hand to remotely control another surgical instrument attached to another manipulator arm. Although Figure 2 The user control mechanism 202 is shown as being configured to be manipulated by one hand of the surgeon, but in other examples, the user control mechanism can be a set of main controls that includes multiple mechanisms configured to be manipulated to control the movement of the surgical instrument. Therefore, as used herein, the user control mechanism can refer to a portion of a set of main controls or the entire set of main controls.

[0034] The user control mechanism 202 can include a variety of mechanisms (e.g., buttons, finger rings, levers, pivot points, etc.) configured to receive various hand, wrist, and finger movements of the surgeon to control the movement of the surgical instrument. Thus, the surgeon can manipulate the user control mechanism 202 in various ways and with multiple degrees of freedom to remotely control the surgical instrument 204 coupled to the user control mechanism 202 via the manipulator arm 112 and the control system 200.

[0035] In addition, the user control mechanism 202 includes a user input mechanism 206 through which the surgeon can provide input to indicate various operating modes. As shown, the user input mechanism 206 can be implemented as a button located on the user control mechanism 202. Alternatively or additionally, the user input mechanism 206 can be implemented as any type of input mechanism, such as a switch, a toggle input, a directional key, a joystick, etc. Furthermore, although the user input mechanism 206 is shown as part of the user control mechanism 202 (e.g., located on the user control mechanism 202), the user input mechanism 206 can alternatively or additionally include an input mechanism separate from the user control mechanism 202, such as a foot pedal, a voice input mechanism, or any other suitable input mechanism.

[0036] In some embodiments, the user input mechanism 206 may include a binary input mechanism having exactly two distinct mechanical positions (e.g., on and off positions, activated and deactivated positions, etc.) that are mapped to discrete input options and that can be selected by user activation and / or deactivation of the user input mechanism 206. For example, the user input mechanism 206 may include a button (e.g., a spring-loaded button), a switch (e.g., a spring-loaded switch), a slider (e.g., a spring-loaded slider), a pedal (e.g., a spring-loaded pedal), etc. Such an input mechanism can facilitate discrete and momentary input to select from two binary options (e.g., two mechanical positions).

[0037] The user input mechanism 206 can be associated with the user control mechanism 202 in any suitable manner. For example, the user input mechanism 206 can be arranged on the user control mechanism 202 so that the surgeon who is telecontrolling the surgical instrument 204 using the user control mechanism 202 can easily access the user input mechanism 206. As an alternative example, the user input mechanism 206 can be associated with the user control mechanism 202 because both the user input mechanism 206 and the user control mechanism 202 are components of the same computer-assisted surgical system. For example, the user input mechanism 206 can be a foot pedal that can be activated and deactivated by a user of the computer-assisted surgical system.

[0038] The control system 200 is configured to receive information from the user controls 202. For example, the control system 200 may receive information regarding the position, movement, etc. of the user controls 202 and / or information regarding user interactions with the user controls 202. Based on such information, the control system 200 may track the position, movement, and / or other attributes of the user controls 202.

[0039] The control system 200 may also receive information from the manipulator arm 112, such as information regarding movement, pressure, and / or other properties of the manipulator arm 112. In certain examples and / or operating modes, the control system 200 may process the information received from the manipulator arm 112 and provide corresponding information and / or signals to the user control mechanism 202 to provide feedback (e.g., tactile feedback) to the surgeon.

[0040] When operating in certain operating modes (e.g., a normal operating mode), the control system 200 may process information received from the user control 202 to generate information and / or signals to send to the manipulator arm 112 to cause the manipulator arm 112 and / or surgical instrument 204 to operate in accordance with the information received from the user control 202. In this or a similar manner, the control system 200 may translate attributes of the user control 202 into corresponding operations of the manipulator arm 112 and surgical instrument 204, e.g., by translating movements of the user control 202 into corresponding movements of the manipulator arm 112 and surgical instrument 204. In this way, the control system 200 couples the user control 202 to the manipulator arm 112 so that a surgeon can remotely control a surgical instrument 204 attached to the manipulator arm 112 using the user control 202.

[0041] When operating in certain operating modes, the control system 200 may output different information to the manipulator arm 112 and / or may output information to other components of the surgical system (e.g., one or more display components). When operating in some operating modes, such as when operating in a clutch operating mode, the control system 200 may not output information to the manipulator arm 112, in which case the control system 200 decouples the user controls 202 from control of movement of the manipulator arm 112 and the surgical instrument 204. Examples of operating modes of the surgical system 100 are described in further detail below.

[0042] The control system 200 is also configured to receive information from the user input mechanism 206. For example, the control system 200 may receive information indicating the type of input received via the user input mechanism 206. For example, if the user input mechanism 206 is a button, the type of input from the user input mechanism 206 may include a button press, a button release, a button press and hold, etc. Alternatively or additionally, the type of input received via the user input mechanism 206 may include any suitable movement, start, and / or stop of the user input mechanism 206. The information regarding the type of input from the user input mechanism 206 may indicate one or more inputs received via the user input mechanism 206, such as a single press, a single release, a press and release, a double press, etc. The control system 200 may receive or generate information indicating one or more times associated with the input received via the user input mechanism 206, such as a timestamp indicating the time when the input was received.

[0043] The control system 200 includes a function selection system 208. The control system 200 can provide information to the function selection system 208 for use by the function selection system 208 to select (e.g., determine and activate) a desired function of the computer-assisted surgery system based on input received via the user input mechanism 206 and information associated with the user input mechanism 206 and the user control mechanism 202 (e.g., contextual information).

[0044] Figure 3 An exemplary function selection system 208 is shown, which may be configured to select a function to be performed by the computer-assisted surgery system. The function selection system 208 may be, for example, Figure 2 Alternatively, the function selection system 208 can be a separate system that is communicatively coupled to the control system 200.

[0045] like Figure 3 As shown, the function selection system 208 may include a storage facility 302, a processing facility 304, and an operating mode 308 (operating modes 308-1 to 308-N). The storage facility 302 and the processing facility 304 may be selectively and communicatively coupled to each other. The storage facility 302 and the processing facility 304 may each include hardware and / or software components (e.g., a processor, memory, a communication interface, instructions stored in the memory for execution by the processor, etc.) or be implemented by hardware and / or software components. For example, the storage facility 302 and the processing facility 304 may be implemented by any component of the computer-assisted surgery system.

[0046] The storage facility 302 may maintain (e.g., store) executable data used by the processing facility 304 to perform any of the operations described herein. For example, the storage facility 302 may store instructions 306 that are executable by the processing facility 304 to perform any of the operations described herein. The instructions 306 may be implemented by any suitable application, software, code, and / or other executable data instances. The storage facility 302 may also maintain any data received, generated, managed, used, and / or transmitted by the processing facility 304.

[0047] The processing facility 304 can be configured to perform (e.g., execute instructions 306 stored in the storage facility 302 to perform) various operations associated with selecting a function to be performed by a computer-assisted surgical system (e.g., surgical system 100). For example, the processing facility 304 can process input and information received by the function selection system 208 and select a function to be performed based on the input and information. Once the processing facility 304 selects a function, the function selection system 208 can notify the control system 200 of the selected function. The control system 200 can respond by performing the selected function.

[0048] The functions of the computer-assisted surgery system may include any functions that can be performed by the computer-assisted surgery system. In some examples, the functions may include activation or deactivation of an operating mode of the computer-assisted surgery system. In other examples, the functions may include any other functions associated with an operating mode, such as functions that can be performed by the computer-assisted surgery system when operating in a particular operating mode.

[0049] In some examples, the function selection system 208 can be configured to select an operating mode from various available operating modes 308 for a computer-assisted surgical system, such as the surgical system 100. For example, the function selection system 208 can be configured to select from a first operating mode 308-1, a second operating mode 308-2, a third operating mode 308-3, and an nth operating mode 308-N. In some examples, the operating modes 308 can include a conventional operating mode, a clutch operating mode, a measurement operating mode, various camera and / or vision operating modes (e.g., different types of fluorescence visualization operating modes), different types of movement operating modes, and the like.

[0050] As an example, the first operating mode 308-1 can be a normal operating mode in which the control system 200 is configured to convert inputs received via the user controls 202 into operations of the manipulator arms 112 in a manner that allows the surgeon to remotely control the surgical instruments 204. When the normal operating mode is activated, the control system 200 can couple or otherwise engage the user controls 202 with the manipulator arms 112 so that manipulations of the user controls 202 are converted into operations of the manipulator arms 112 and surgical instruments 204. Thus, when the normal operating mode is activated, as the surgeon moves his or her fingers, wrist, and hand via the master controls, the control system 200 can control one or more manipulator arms 112 in a corresponding manner to remotely control one or more surgical instruments.

[0051] The second operating mode 308-2 may be, for example, a clutch operating mode in which the control system 200 may decouple the user control 202 from the manipulator arm 112 in a manner that allows the surgeon to move the user control 202 without causing corresponding movement of the manipulator arm 112 or the surgical instrument 204. For example, the surgeon may reposition his or her hands and / or master controls without moving the surgical instrument and may do so when the clutch operating mode is activated.

[0052] The third operating mode 308-3 may be, for example, a measurement operating mode, in which the control system 200 may couple the user control 202 to the manipulator arm 112 in a manner that allows the surgeon to control the surgical instrument 204 as in the conventional operating mode. When the measurement operating mode is activated, the control system 200 may also allow the surgeon to use the surgical instrument 204 (and optionally one or more other surgical instruments) to measure distances in the surgical field. For example, the control system 200 may receive input specifying an indication of a starting point and an indication of an end point, and determine and provide the distance between the end point and the starting point. Alternatively or additionally, the control system 200 may receive input specifying an indication of a starting point, and determine and provide the distance from the starting point to the current position of the surgical instrument 204 as the surgical instrument 204 is moved. For example, the indication of the starting point may be the point at which the measurement mode is activated by the control system 200. Once the control system 200 has activated the measurement operating mode, the surgeon may be provided with a visual indicator of the distance from the starting point as the surgeon moves the surgical instrument 204 via the user control 202. In some examples, the surgeon may provide input indicating the end point. In some examples, the function selection system 208 can be configured to automatically deactivate the measurement mode of operation in response to detecting an indication of the endpoint. The surgical system 100 can be configured to provide a distance measurement between the start point and the endpoint as an output in any suitable manner (e.g., visually on a display screen) and / or store data representing the distance measurement to a data memory.

[0053] Function selection system 208 may be configured to determine and activate an operating mode for control system 200. To do so, function selection system 208 may detect input received via user input mechanism 206 and select an operating mode based on information associated with user input mechanism 206 and user control mechanism 202.

[0054] For example, the function selection system 208 can detect input received through the user input mechanism 206. Based on the detected input, the function selection system 208 can determine information associated with the user input mechanism 206. For example, the information associated with the user input mechanism 206 can include the type of input received via the user input mechanism 206, such as the start or stop of the user input mechanism 206. The information associated with the user input mechanism 206 can also include a timestamp, such as the time when the input was received.

[0055] Based on the detected input, the function selection system 208 may also determine information associated with the user control 202. The information associated with the user control 202 may provide additional context for the input and may be used by the function selection system 208 to select an operating mode. For example, the information associated with the user control 202 may include the position of the user control 202, the movement of the user control 202, the speed of the user control 202, etc. The function selection system 208 may determine the information associated with the user control 202 at any suitable time, including upon detecting receipt of an input via the user input mechanism 206, in response to one or more other events, and / or periodically at any suitable sampling rate.

[0056] Function selection system 208 can compare information associated with user input mechanism 206 and user control mechanism 202 with a set of defined criteria to determine the operating mode to be selected. The set of defined criteria can include any suitable set of criteria, such as a threshold distance, a threshold speed, a threshold time, etc. The set of defined criteria can be defined in any suitable manner (e.g., prior to operation of control system 200) and may be suitable for a particular implementation. Examples of defined criteria are described herein.

[0057] Based on comparing information associated with the user input mechanism 206 and the user controls 202 to a set of defined criteria, the function selection system 208 can determine and activate one or more operating modes of the control system 200. Illustrative examples of how the function selection system 208 can be configured to select an operating mode based on input received through the user input mechanism 206 and based on comparing information associated with the user input mechanism 206 and the user controls 202 to a set of defined criteria are described herein.

[0058] In certain embodiments, the user input mechanism 206 can be configured to facilitate activation and deactivation of a clutch operating mode, in which the user control mechanism 202 is decoupled from control of the surgical instrument. This decoupling can decouple the existing user control mechanism 202 from the surgical instrument when the control system 200 is operating in a normal operating mode, in which the user control mechanism 202 can be manipulated to cause the surgical instrument to move accordingly. This decoupling can be performed in any suitable manner, including by physically, logically, or communicatively decoupling the user control mechanism 202 from the manipulator arm 112, to which the surgical instrument is attached. When the clutch operating mode is activated, the control system 200 can decouple the user control mechanism 202 from control of the surgical instrument. When the clutch operating mode is deactivated, the control system 200 can couple the user control mechanism 202 for use in controlling the surgical instrument.

[0059] The function selection system 208 can be configured to activate and deactivate the clutch operating mode based on input received through the user input mechanism 206. In some examples, the function selection system 208 can be configured to automatically and / or instantly activate the clutch operating mode when the surgeon activates (e.g., presses) the user input mechanism 206. In some alternative examples, the function selection system 208 can be configured to activate the clutch operating mode when the surgeon activates (e.g., presses) and holds the user input mechanism 206 for at least a defined amount of time. In other alternative examples, the function selection system 208 can be configured to activate the clutch operating mode when the surgeon activates (e.g., presses) and holds the user input mechanism and moves the user control mechanism 202 at least a defined threshold distance while the user input mechanism 206 is activated.

[0060] The function selection system 208 can be configured to deactivate the clutch operating mode based on input received via the user input mechanism 206. In some examples, the function selection system 208 can be configured to automatically and / or instantaneously deactivate the clutch operating mode when the surgeon deactivates (e.g., releases) the user input mechanism 206 (e.g., when the surgeon releases the user input mechanism 206 to end activation (e.g., pressing and holding) of the user input mechanism 206).

[0061] In addition to the user input mechanism 206 being configured to facilitate the activation and deactivation of the clutch operating mode, the user input mechanism 206 can be configured to facilitate the execution of a function associated with another operating mode. The function can be any function that can be performed by the computer-assisted surgical system. For example, the function can include the activation or deactivation of another operating mode, such as a measurement operating mode or a specific visualization operating mode. As another example, the function can be a function that is executed when the computer-assisted surgical system operates in another specific operating mode, such as a measurement sampling function that is executed when operating in the measurement operating mode. In some examples, the function selection system 208 can be configured to execute a function associated with another operating mode (e.g., activating the operating mode or executing a function in the active operating mode) when the surgeon quickly (e.g., in a shorter time than a predetermined time threshold) starts and stops the user input mechanism 206 while keeping the user control mechanism 202 stationary (e.g., by not moving the user control mechanism 202 beyond a predetermined distance threshold).

[0062] In some examples, sustained activation of the user input mechanism 206 may indicate that the surgeon intends to operate in the clutch mode of operation, and rapid activation and deactivation of the user input mechanism 206 may indicate that the surgeon intends to invoke a function associated with another mode of operation, such as a measurement mode of operation. In such an example, the function selection system 208 may be configured to execute the function associated with the other mode of operation when the user input mechanism 206 is activated and deactivated rapidly (e.g., in less than a predetermined time threshold), and the user control mechanism 202 is stationary (e.g., does not move more than a predetermined distance threshold) when the user input mechanism 206 is activated and deactivated.

[0063] To determine whether to execute a function associated with another operating mode in response to input received via the user input mechanism 206, the function selection system 208 can determine contextual information associated with the input received via the user input mechanism 206 and compare the information to a set of defined criteria. Based on the comparison, the function selection system 208 can determine whether to execute the function. By determining and using the contextual information associated with the input to determine whether to execute the function, the function selection system 208 can ascertain the surgeon's intent in the input provided via the user input mechanism 206 and in a manner that can allow the surgeon to intuitively and accurately select one or more functions to be executed by the computer-assisted surgical system via the same user input mechanism 206 (where multiple hierarchical functions are mapped to the user input mechanism 206).

[0064] The function selection system 208 can determine the intended function by comparing the input and associated information to a set of defined criteria. For example, if a quick press and release of the user input mechanism 206 is configured to invoke the function of the measurement operating mode and a press and hold of the user input mechanism 206 is configured to activate the clutch operating mode, the function selection system 208 can determine, based on information associated with the input received via the user input mechanism 206, whether the detected press and release of the user input mechanism 206 is intended to function as a quick press and release to invoke the measurement operating mode or as a press, hold, and release intended to activate the clutch operating mode.

[0065] For example, in some implementations, the function selection system 208 can detect an input via the user input mechanism 206 and determine the type of input detected. If the input is a press of the user input mechanism 206, the function selection system 208 can determine the timestamp of the press and the position and velocity of the user control 202 at the time of the press. If the input is a release of the user input mechanism 206, the function selection system 208 can determine the timestamp of the release and the position and velocity of the user control 202 at the time of the release.

[0066] When a press and release of the user input mechanism 206 is detected, the function selection system 208 can compare the timestamp, position, and velocity at the time of release with the timestamp, position, and velocity at the time of press to determine whether the surgeon intended a rapid press of the user input mechanism 206. If the difference between the timestamps is greater than a defined threshold time, the function selection system 208 can determine that the surgeon did not intend a rapid press and can not invoke the function mapped to the rapid press. Additionally or alternatively, if the difference between the positions is greater than a defined threshold distance, the function selection system 208 can determine that the surgeon did not intend a rapid press and can not invoke the function mapped to the rapid press. Additionally or alternatively, if one of the velocities is greater than a defined threshold velocity and / or the velocity of the time between the press and release is greater than a defined threshold velocity, the function selection system 208 can determine that the surgeon did not intend a rapid press and can not invoke the function mapped to the rapid press.

[0067] Conversely, if the information satisfies the defined set of criteria, the function selection system 208 may invoke a function mapped to a rapid press, determining that satisfaction of the defined set of criteria indicates that the surgeon intended a rapid press of the user input mechanism 206. For example, if the difference between the timestamps is less than a defined threshold time, the difference between the positions is less than a defined threshold distance, and the speeds (and any detected intermediate speeds) are each less than a defined threshold speed, the function selection system 208 may determine that the surgeon intended a rapid press and release and may execute a function associated with another operating mode.

[0068] In some embodiments, comparing information associated with the user input mechanism 206 and the user control mechanism 202 may enable the function selection system 208 to determine an unintentional interaction with the user input mechanism 206. For example, if the time difference between a press of the user input mechanism 206 and a release of the user input mechanism 206 is less than a threshold time, but the speed of the user control mechanism 202 when pressed and / or released is greater than a threshold speed, the function selection system 208 may determine that the surgeon unintentionally pressed and released the user input mechanism 206 rapidly, rather than intending to invoke the function mapped to the rapid press and release of the user input mechanism.

[0069] While the foregoing examples describe invoking a function based on a quick press and release of the user input mechanism 206, the function selection system 208 can be configured to selectively invoke a function mapped to the user input mechanism 206 based on any other suitable input received by the user input mechanism 206, which input can be distinguished using contextual information from input received through the user input mechanism 206, which user input mechanism 206 is configured to invoke other functions, such as activation and / or deactivation of a clutch operating mode.

[0070] In some examples, the function selection system 208 can be configured to allow the surgeon to provide different inputs through the user input mechanism 206 to select various functions to be performed. For example, the system 208 can be configured to detect various inputs received through the user input mechanism 206 and select one or more operating modes to be activated from a set of operating modes based on the received input. For example, starting and holding the user input mechanism 206 can activate the clutch operating mode, while pressing the user input mechanism 206 for different lengths can activate different operating modes. Additionally or alternatively, a quick press of the user input mechanism 206 can cycle through the activation of different operating modes. Additionally or alternatively, different numbers of consecutive quick presses (e.g., double-clicks) of the user input mechanism 206 can activate different operating modes. This can allow additional functions (e.g., third-layer functions) to be layered on the user input mechanism 206.

[0071] Functions can be mapped to the user input mechanism 206 based on any suitable context of the computer-assisted surgical system. In some examples, the context information can include the current operating mode of the computer-assisted surgical system. For example, if the control system 200 is currently operating in a normal operating mode and a quick press and release of the user input mechanism 206 is detected, the function selection system 208 can execute a function mapped to the quick press and release of the user input mechanism 206 associated with the normal operating mode, such as activation of a measurement operating mode, a visualization operating mode, or another operating mode. As another example, if the current operating mode when the quick press and release of the user input mechanism 206 is detected is a measurement operating mode, the function selection system 208 can execute a function mapped to the quick press and release of the user input mechanism 206 associated with the measurement operating mode, such as a measurement sampling function, deactivation of the measurement operating mode, or activation of the normal operating mode.

[0072] As another example, the control system 200 can be operated in a first visual operating mode in which the user control mechanism 202 is coupled to an imaging device and configured to remotely control the imaging device (e.g., an endoscope) that captures an image of the surgical scene displayed (e.g., in a stereoscopic viewer of the user control system 104 of the surgical system 100). Based on the current operating mode being the first visual operating mode and / or the imaging device being coupled to the control mechanism 202, if the surgeon quickly depresses the user input mechanism 206 while the control system 200 is operating in the first visual operating mode, the function selection system 208 can activate a second visual operating mode. For example, the function selection system 208 can activate the second visual operating mode (e.g., a fluoroscopic image viewing mode) in which the surgical system 100 displays an image of the surgical scene enhanced with fluorescent illumination (e.g., a fluoroscopic image received via a fluoroscope).

[0073] Figure 3 A set of functions 610 (e.g., functions 610-1 through 610-N) associated with the operating modes 608 of the computer-assisted surgical system is shown. Function 310-1 can be any function associated with the first operating mode 308-1, such as activation of the first operating mode 308-1, deactivation of the first operating mode 308-1, or any function that can be performed when the first operating mode 308-1 is active. Function 310-2 can similarly be any function of the second operating mode 308-2, and so on. For example, for the measurement operating mode, the functions associated with the measurement operating mode can include activation of the measurement operating mode, deactivation of the measurement operating mode, measurement sampling performed when the measurement operating mode is active, and the like.

[0074] The function selection system 208 can be configured to select a function to be performed in response to a quick press and release of the user input mechanism 206 based at least in part on the current operating mode of the control system 200. For example, if a quick press and release of the user input mechanism 206 is detected when the measurement operating mode is active, the function selection system 208 can perform a measurement sampling function of the measurement operating mode. As another example, if a quick press and release of the user input mechanism 206 is detected when the visualization operating mode is active (e.g., when remote control of the imaging device is active), the function selection system 208 can activate execution of a visualization function, such as activating a particular visualization operating mode (e.g., a fluorescence enhanced visualization operating mode). These examples are illustrative only. The selection of the function to be performed in response to the quick press and release of the user input mechanism 206 can be based on any suitable context of the computer-assisted surgical system.

[0075] As described above, in some embodiments, the activation of the user input mechanism 206 can be configured to automatically activate the clutch operating mode of the computer-assisted surgical system. In some examples, this can be performed globally, regardless of how the user input mechanism 206 is activated or the context associated with the activation. Similarly, the deactivation of the user input mechanism 206 can be configured to automatically deactivate the clutch operating mode of the computer-assisted surgical system. In such an embodiment, certain functions of the computer-assisted surgical system can be layered on the activation and deactivation of the clutch operating mode by being mapped to a quick press and release of the user input mechanism 206 that meets a set of predetermined criteria (e.g., any exemplary criteria described herein). Therefore, when a quick press and release of the user input mechanism 206 that meets a set of predetermined criteria is detected, in addition to activating and deactivating the clutch operating mode, the function selection system 208 can also execute one or more functions mapped to the quick press and release of the user input mechanism 206.

[0076] Automatic activation and deactivation of the clutch operating mode can provide one or more benefits to a function that is executed when a rapid press and release of the user input mechanism 206 is detected, and the function can assume that the clutch operating mode is active when the function is invoked. For example, automatic activation and deactivation of the clutch operating mode can ensure that the surgical instrument 204 is not inadvertently moved while the function is being executed, which can benefit the function. To illustrate, the function can include measurement sampling during which it is desired that the surgical instrument not be inadvertently moved.

[0077] Because activation and deactivation of the clutch operating mode is mapped to a user input mechanism 206 associated with a control mechanism 202 (which can be manipulated by a single operating hand), activation and deactivation of the clutch operating mode can be applied specifically to (e.g., applied only to) the surgical instrument 204 connected to the control mechanism 202 associated with the user input mechanism 206. Furthermore, one or more additional functions mapped to the user input mechanism 206 associated with the control mechanism 202 can be specific to the surgical instrument 204 connected to the control mechanism 202 associated with the user input mechanism 206. Furthermore, any context in which a rapid press and release of the user input mechanism 206 is detected that is considered for selection of a function to be invoked can be specific to the user input mechanism 206, the control mechanism 202 associated with the user input mechanism 206, and / or the surgical instrument 204 connected to the control mechanism 202 (e.g., which surgical instrument or type of surgical instrument is connected).

[0078] While the foregoing examples describe illustrative embodiments for selectively activating and deactivating a clutch operating mode and selectively executing a function associated with another operating mode (e.g., a measurement operating mode, a fluorescence visualization operating mode, etc.) based on user input received via user input mechanism 206, in other examples, function selection system 208 may be configured differently. For example, the specific inputs used to activate a clutch operating mode and selectively execute a function associated with another operating mode may be reversed. For example, a clutch operating mode may be activated by a quick press and release of user input mechanism 206, while a function associated with a different operating mode may be activated by pressing and holding user input mechanism 206.

[0079] While in some embodiments, actuation of the user input mechanism 206 can be configured to automatically activate the clutch operating mode of the computer-assisted surgery system, in alternative embodiments, the function selection system 208 can be configured to selectively activate the clutch operating mode based on contextual information associated with actuation of the user input mechanism 206. For example, if a rapid press and release of the user input mechanism 206 is detected, the function selection system 208 can execute the function mapped to the rapid press and release of the user input mechanism 206 and avoid activating the clutch operating mode. In some examples, the function can include activating an operating mode other than the clutch operating mode.

[0080] Figure 4 An exemplary method 400 for selectively executing functions of a computer-assisted surgery system is shown. Figure 4 Exemplary operations according to one embodiment are shown, but other embodiments may omit, add, reorder, and / or modify Figure 4 Any of the actions shown. Figure 4 One or more of the illustrated operations may be performed by the function selection system 208 , any component included in the function selection system 208 , and / or any implementation of the function selection system 208 .

[0081] In operation 402, a function selection system detects input received via a user input mechanism (e.g., activation and deactivation of the user input mechanism) configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument. Operation 402 can be performed in any manner described herein.

[0082] In operation 404, the function selection system determines information associated with the user input mechanism and the user control mechanism based on the detection of the input. The information associated with the user input mechanism and the user control mechanism may include any contextual information, examples of which have been described herein. Operation 404 may be performed in any manner described herein.

[0083] In operation 406, the function selection system compares the information to a set of defined criteria. Operation 406 may be performed in any manner described herein.

[0084] In operation 408, when the information satisfies the set of defined criteria, the function selection system performs functions associated with different operating modes of the computer-assisted surgery system. Operation 408 may be performed in any manner described herein.

[0085] Figure 5 An exemplary method 500 for selectively executing layered functions of a computer-assisted surgical system is shown. Figure 5Exemplary operations according to one embodiment are shown, but other embodiments may omit, add, reorder, and / or modify Figure 5 Any of the actions shown. Figure 5 One or more of the illustrated operations may be performed by the function selection system 208 , any component included in the function selection system 208 , and / or any implementation of the function selection system 208 .

[0086] In exemplary method 500, the function selection system is configured to activate a clutch operating mode ("Clutch Mode") upon detecting an input indicating activation of a user input mechanism, and to deactivate the Clutch Mode upon detecting an input indicating deactivation of the user input mechanism. Thus, any activation of the user input mechanism activates the Clutch Mode, and any deactivation of the user input mechanism deactivates the Clutch Mode. Upon deactivation of the user input mechanism, the function selection system determines whether information associated with the input satisfies a set of defined criteria. If the set of defined criteria is determined to be satisfied, the function selection system activates a different operating mode (e.g., a measurement operating mode, an enhanced display operating mode, etc.).

[0087] In operation 502, the function selection system determines information associated with the user input mechanism and the user control mechanism. In some examples, the function selection system may periodically (e.g., continuously) sample to determine information such as whether input has been received via the user input mechanism, the position of the user control mechanism, and the speed of the user control mechanism.

[0088] In operation 504, the function selection system determines whether the state of the user input mechanism has changed. For example, if the user input mechanism is a button, the function selection system may determine whether the button has changed from being pressed to being released or vice versa. If the state of the user input mechanism has not changed, the function selection system may perform operation 506.

[0089] In operation 506 , the function selection system calculates the distance between the current position of the user control and the initial position of the user control previously stored by the function selection system.

[0090] In operation 508, the function selection system compares the calculated distance and the determined speed with a set of defined standards. For example, the calculated distance can be compared with a threshold distance, and the determined speed (for example, the speed determined in operation 502) can be compared with a threshold speed. If the standard is met, the function selection system can return to operation 502 to continue sampling the information associated with the user input mechanism and the user control mechanism. If the standard is not met (for example, exceeding the threshold), an invalid click flag can be set in operation 514. The invalid click flag can be used to indicate that the start and stop of the user input mechanism are not intended to activate different operating modes. For example, if the surgeon moves the user control mechanism beyond a threshold distance or faster than a threshold speed, when the user input mechanism is started or stopped, the function selection system can determine that the surgeon is not intended to press the user input mechanism quickly, thereby setting the invalid click flag. The invalid click flag can be included as context information associated with the user input mechanism.

[0091] Returning to operation 504, if it is determined that the state of the user input mechanism has changed, the function selection system may execute operation 510. In operation 510, the function selection system detects the input type of the user input mechanism. If the user input mechanism has been activated (i.e., the type input is activated), the function selection system executes operation 516.

[0092] In operation 516, the function selection system stores the position of the user control and the timestamp of the received input. The function selection system may determine the position and timestamp as the initial position and timestamp in any suitable manner, including by using the last sampled position and timestamp in operation 502, or by sampling the position and time in response to detecting a change in state of the user input mechanism in operation 504 or determining that the user input mechanism is activated in operation 506. The stored position and timestamp may be used to calculate the distance, time, and speed of the user control mechanism.

[0093] In operation 520, the function selection system clears the invalid click flag. Since the received input is a new activation of the user input mechanism, the function selection system can assume that the click is valid until otherwise determined and can therefore clear the invalid click flag to completely clear any determination of an invalid click from the previous activation of the user input mechanism.

[0094] In operation 524, the function selection system activates the clutch mode. As described above, in this example, the function selection system can activate the clutch mode in response to any activation of the user input mechanism. In this way, the surgeon can operate the surgical system in the clutch mode upon activation of the user input mechanism. After activating the clutch mode in operation 524, the function selection system returns to operation 502 to continue sampling the user input mechanism and the user control mechanism.

[0095] Returning to operation 510, if the change in state of the user input mechanism is a stop, the function selection system can deactivate the clutch mode in operation 512. As described above, in this example, the function selection system can deactivate the clutch mode in response to any stop of the user input mechanism. In this manner, the surgeon can cease operating the surgical system in the clutch mode upon stopping the user input mechanism.

[0096] With the clutch mode deactivated, the function selection system may execute operation 518, in which the function selection system may calculate the time between the timestamp of the clutch mode deactivation and the initial timestamp (e.g., the initial timestamp stored in operation 516 when the user input mechanism was activated). The function selection system may also calculate the distance between the current position of the user control mechanism and the stored initial position of the user control mechanism (e.g., the initial position stored in operation 516 when the user input mechanism was activated).

[0097] In operation 522, the function selection system compares the calculated distance to a threshold distance. The threshold distance in operation 522 may be the same as or different from the threshold distance in operation 508. If the calculated distance is greater than (or greater than or equal to) the threshold distance, the function selection system may determine that the surgeon intended to operate in clutch mode or that the activation of the user input mechanism was unintentional. The function selection system then returns to operation 502 to continue sampling. If the calculated distance meets a defined criterion (e.g., less than the threshold distance, less than or equal to the threshold distance, etc.), the function selection system performs operation 526.

[0098] In operation 526, the function selection system compares the calculated time with a threshold time. If the calculated time is greater than (or greater than or equal to) the threshold time, the function selection system can determine that the surgeon intended to operate in clutch mode. The function selection system then returns to operation 502 to continue sampling. If the calculated time meets a defined criterion (e.g., less than the threshold time, less than or equal to the threshold time, etc.), the function selection system performs operation 528.

[0099] In operation 528, the function selection system checks whether the invalid click flag is set. If the invalid click flag has been previously set and has not been cleared, it may indicate that the activation of the user input mechanism was unintentional. For example, the surgeon may activate the user input mechanism in a manner that returns the user control mechanism to a position within a threshold distance of the initial position within a threshold time of the initial time. In such a case, the distance and / or speed traveled by the user control mechanism between the start and the stop will exceed the threshold distance or threshold speed (operation 508), causing the invalid click flag to be set (operation 514). If the invalid click flag is set, the function selection system can determine that the activation was unintentional or that the surgeon did not intend to activate a different operating mode and can return to operation 502. If the invalid click flag is not set, the function selection system can determine that the surgeon intended to execute a layered function associated with a different operating mode, and the function selection system executes the layered function associated with the different operating mode in operation 530. Operation 530 can be performed in any manner described herein.

[0100] In some examples, the function selection system can be configured to perform one or more of the operations described herein at a (faster) servo rate of the user control mechanism to provide a certain level of temporal resolution of the user control mechanism and / or small deviations in trajectory monitoring. In other examples, the operation mode selection system can be configured to perform one or more of the operations described herein at any suitable rate.

[0101] In some examples, the function selection system can be configured to use thresholds, such as a distance threshold of two millimeters, a speed threshold of two millimeters per second, and a time threshold of 0.5 seconds. Such thresholds can be included in a set of defined criteria in any suitable manner and used by the operating mode selection system to compare input and information associated with the user input mechanism and the user control mechanism to determine when to activate or deactivate the active operating mode. Any other suitable thresholds can be used in other examples.

[0102] In certain embodiments, one or more of the systems, components, and / or processes described herein may be implemented and / or executed by one or more appropriately configured computing devices. To this end, one or more of the above-described systems and / or components may include or be implemented by any computer hardware and / or computer-implementable instructions (e.g., software) embodied on at least one non-transitory computer-readable medium configured to perform one or more of the processes described herein. In particular, system components may be implemented on one physical computing device or may be implemented on more than one physical computing device. Thus, system components may include any number of computing devices and may employ any number of computer operating systems.

[0103] In some embodiments, one or more of the processes described herein may be implemented at least in part as instructions embodied in a non-transitory computer-readable medium and executable by one or more computing devices. Generally speaking, a processor (e.g., a microprocessor) receives instructions from a non-transitory computer-readable medium (e.g., a memory, etc.) and executes those instructions to perform one or more processes, including one or more of the processes described herein. Any of a variety of known computer-readable media may be used to store and / or transmit such instructions.

[0104] Computer-readable media (also known as processor-readable media) include any non-transitory media that participates in providing data (e.g., instructions) that can be read by a computer (e.g., by a processor of a computer). Such media can take a variety of forms, including but not limited to non-volatile media and / or volatile media. Non-volatile media can include, for example, optical or magnetic disks and other persistent memory. Volatile media can include, for example, dynamic random access memory ("DRAM"), which typically constitutes main memory. Common forms of computer-readable media include, for example, disks, hard disks, tapes, any other magnetic media, compact disk read-only memory ("CD-ROM"), digital video disks ("DVD"), any other optical media, random access memory ("RAM"), programmable read-only memory ("PROM"), electrically erasable programmable read-only memory ("EPROM"), FLASH-EEPROM, any other memory chip or cassette, or any other tangible medium that can be read by a computer.

[0105] Figure 6 1 shows an exemplary computing device 600 that can be specifically configured to perform one or more of the processes described herein. Figure 6 As shown, computing device 600 may include a communication interface 602, a processor 604, a storage device 606, and an input / output ("I / O") module 608 communicatively coupled via a communication infrastructure 610. Figure 6 An exemplary computing device 600 is shown, but Figure 6 The components shown are not intended to be limiting. Additional or alternative components may be used in other embodiments. Figure 6 Components of computing device 600 are shown.

[0106] Communication interface 602 can be configured to communicate with one or more computing devices. Examples of communication interface 602 include, but are not limited to, a wired network interface (e.g., a network interface card), a wireless network interface (e.g., a wireless network interface card), a modem, an audio / video connection, and any other suitable interface.

[0107] The processor 604 generally represents any type or form of processing unit capable of processing data or interpreting, executing, and / or directing the execution of one or more of the instructions, processes, and / or operations described herein. The processor 604 may direct the execution of operations based on one or more application programs 612 or other computer-executable instructions (e.g., as may be stored in the storage device 606 or another computer-readable medium).

[0108] The storage device 606 may include one or more data storage media, devices, or configurations, and may employ any type, form, and combination of data storage media and / or devices. For example, the storage device 606 may include, but is not limited to, a hard drive, a network drive, a flash drive, a magnetic disk, an optical disk, RAM, dynamic RAM, other non-volatile and / or volatile data storage units, or combinations or subcombinations thereof. Electronic data, including the data described herein, may be temporarily and / or permanently stored in the storage device 606. For example, data representing one or more executable application programs 612 configured to direct the processor 604 to perform any of the operations described herein may be stored within the storage device 606. In some examples, the data may be housed in one or more databases residing within the storage device 606.

[0109] The I / O modules 608 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 for a single virtual reality experience. The I / O modules 608 may include any hardware, firmware, software, or combination thereof that supports input and output capabilities. For example, the I / O modules 608 may include hardware and / or software for capturing user input, including but not limited to a keyboard or keypad, a touch screen component (e.g., a touch screen display), a receiver (e.g., an RF or infrared receiver), a motion sensor, and / or one or more input buttons.

[0110] The I / O module 608 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 display screen), one or more output drivers (e.g., a display driver), one or more audio speakers, and one or more audio drivers. In certain embodiments, the I / O module 608 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 that may serve a particular embodiment.

[0111] 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 variations may be made to the various exemplary embodiments, and additional embodiments may be implemented, without departing from the scope of the present invention as set forth in the appended claims. 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 regarded as illustrative rather than restrictive.

Claims

1. A system comprising: a memory for storing instructions; a processor communicatively coupled to the memory and configured to execute the instructions to: detecting activation and deactivation of a user input mechanism associated with a user control mechanism for controlling a surgical instrument coupled to a manipulator arm of a computer-assisted surgical system, the user input mechanism being configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument; determining information associated with the user input mechanism and the user control mechanism based on detecting the activation and the deactivation of the user input mechanism; comparing said information to a defined set of criteria; as well as When the information satisfies the set of defined criteria, functions associated with different operating modes of the computer-assisted surgery system are performed.

2. The system of claim 1 , wherein the information associated with the user control mechanism includes Information indicative of movement of the user control when the user input mechanism is actuated.

3. The system of claim 2, wherein: The set of defined criteria includes defining a threshold distance; and The comparison of the information to the set of defined criteria includes determining whether the movement of the user control mechanism satisfies the defined threshold distance when the user input mechanism is activated.

4. The system of claim 1 , wherein: The set of defined criteria includes defining a threshold time; The information associated with the user control mechanism includes a first timestamp indicating when the user input mechanism was activated and a second timestamp indicating when the user input mechanism was deactivated; and The comparison of the information to the set of defined criteria includes determining whether a time difference between the first timestamp and the second timestamp satisfies the defined threshold time.

5. The system of claim 1 , wherein: The set of defined criteria includes defining a threshold distance; the information associated with the user control comprises a first position indicating a position of the user control when the user input mechanism is activated and a second position indicating a position of the user control when the user input mechanism is deactivated; and The comparison of the information with the set of defined criteria includes determining whether a distance difference between the first location and the second location satisfies the defined threshold distance.

6. The system of claim 1 , wherein: The set of defined criteria includes defining a threshold speed; The information associated with the user control includes information indicative of a speed of the user control; and Comparison of the information to the set of defined criteria includes determining whether the speed satisfies the defined threshold speed.

7. The system of claim 1 , wherein the user input mechanism is configured to facilitate activation and deactivation of the clutch operating mode by automatically activating the clutch operating mode upon the activation of the user input mechanism and automatically deactivating the clutch operating mode upon the deactivation of the user input mechanism.

8. The system of claim 1, wherein the different operating modes include a measuring operating mode in which the surgical instrument is configured to be used to measure a distance between two points.

9. The system of claim 1, wherein the different operating modes include a viewing operating mode in which fluorescent lighting is used to enhance display of an image of the surgical scene.

10. A non-transitory computer-readable medium storing instructions that, when executed, direct at least one processor of a computing device to: detecting a first input received via a user input mechanism associated with a user control mechanism for controlling a surgical instrument coupled to a manipulator arm of a computer-assisted surgical system, the user input mechanism being configured to facilitate activation and deactivation of a clutch operating mode in which the user control mechanism is decoupled from control of the surgical instrument; determining a first set of information associated with the user input mechanism and the user control mechanism based on the detection of the first input; detecting a second input received via the user input mechanism; determining a second set of information associated with the user input mechanism and the user control mechanism based on the detection of the second input; comparing the first set of information and the second set of information to a defined set of criteria; as well as When the set of defined criteria are met, functions associated with different operating modes of the computer-assisted surgery system are performed.