Patent Description:
With the open-console architecture, however, the surgeon may become distracted from engagement with the surgeon console more easily than they may be with a closed-console architecture. Robotic surgical systems having an open-console architecture, therefore, may carry increased safety risks. Accordingly, systems, devices, and methods are needed to mitigate safety risks stemming from surgeon distraction from engagement with robotic surgical systems. <CIT>, <CIT>, <CIT> and <CIT> refer to prior art relevant for the present invention.

The present invention is defined by appended independent claim <NUM>. Embodiments are disclosed in the dependent claims. Pure methods are not part of the claimed invention.

In one aspect, this disclosure describes a robotic surgical system with user engagement monitoring. The robotic surgical system includes a robot assembly, a surgeon console, and a tracking device. The robot assembly includes a robotic arm coupled to a surgical instrument. The surgeon console includes a handle and a display device. The handle is communicatively coupled to at least one of the robot assembly, the robotic arm, or the surgical instrument. The tracking device includes an image capture device configured to capture an image of a user position reference point. At least one of the surgeon console or the tracking device is configured to compute, based on the captured image, a position of the user position reference point relative to the display device; determine whether a user is engaged with or disengaged from the surgeon console based on the computed position; and, in response to a determination that the user is disengaged from the surgeon console, cause the robotic surgical system to operate in a safe mode.

In embodiments, at least one of the surgeon console or the tracking device is further configured to compute the position of the user position reference point by generating location data corresponding to at least one of the position, or an orientation, of the user position reference point, within a three dimensional coordinate space, relative to the display device.

In embodiments, in the determination of whether the user is engaged with or disengaged from the surgeon console, at least one of the surgeon console or the tracking device is further configured to compute a difference angle based on the position and orientation of the user position reference point relative to the display device; compare the difference angle to a first threshold angle; and, in response to a determination that the difference angle is greater than the first threshold angle, determine that the user is disengaged from the surgeon console.

In embodiments, at least one of the surgeon console or the tracking device is further configured to select the first threshold angle from a plurality of first threshold angles based on the position and the orientation of the user position reference point relative to the display device.

In embodiments, at least one of the surgeon console or the tracking device is further configured to compute, based on the position and the orientation of the user position reference point, a direction of movement of the user position reference point relative to the display device; and select the first threshold angle based on the direction of movement of the user position reference point.

In embodiments, in the determination of whether the user is engaged with or disengaged from the surgeon console, at least one of the surgeon console or the tracking device is further configured to, in response to a determination that the difference angle is less than the first threshold angle, determine whether the difference angle is less than a second threshold angle that is smaller than the first threshold angle; and, in response to a determination that the difference angle is less than the second threshold angle, determine that the user is engaged with the surgeon console.

In embodiments, at least one of the surgeon console or the tracking device is further configured to, in response to the determination that the user is engaged with the surgeon console, cause the robotic surgical system to exit the safe mode.

In embodiments, at least one of the surgeon console or the tracking device is further configured to, at a time when the robotic surgical system operates in the safe mode and in response to a determination that the user is engaged with the surgeon console, cause the robotic surgical system to exit the safe mode after an elapsing of a threshold amount of time after the determination that the user is engaged.

In embodiments, the robotic surgical system further comprises a computing device. At least one of the surgeon console or the tracking device is further configured to, at a time when the robotic surgical system operates in the safe mode, restrict movement of the handle from a previous position of the handle; and transmit, to the computing device, instructions to restrict movement of at least one of the robot assembly, the robotic arm, or the surgical instrument. The computing device is configured to receive the instructions and transmit the instructions to at least one of the robot assembly, the robotic arm, or the surgical instrument. At least one of the robotic arm, the robot assembly, or the surgical instrument is configured to receive the instructions, and restrict movement of at least one of the robot assembly, the robotic arm, or the surgical instrument in response to the instructions.

In embodiments, at least one of the surgeon console or the tracking device is further configured to, at a time when the robotic surgical system operates in the safe mode, prevent a movement of the handle from causing a corresponding movement of the robotic arm communicatively coupled to the handle.

At least one of the surgeon console or the tracking device is further configured to detect an amount of movement of the handle. In embodiments at least one of the surgeon console or the tracking device is further configured to determine, based on the amount of movement of the handle, an amount of movement of at least one of the robot assembly, the robotic arm, or the surgical instrument to be caused in response to the movement of the handle; and cause at least one of the robot assembly, the robotic arm, or the surgical instrument to move by the determined amount of movement. At a time when the robotic surgical system operates in the safe mode, the determination of the amount of movement of at least one of the robot assembly, the robotic arm, or the surgical instrument to be caused is based on the amount of movement of the handle and the downward scaling factor.

At least one of the surgeon console or the tracking device is further configured to compute a velocity of a movement of the handle and modify the downward scaling factor based on the velocity.

In embodiments, the surgeon console includes a plurality of motors corresponding to the handle, each of the motors being operably coupled to the handle and being associated with a direction of movement of the handle. At a time when the robotic surgical system operates in the safe mode, at least one of the surgeon console or the tracking device is further configured to compute a direction of the movement of the handle; compute, based on the velocity of the movement of the handle, a force in a direction opposite to the direction of the movement of the handle; identify, among the plurality of motors of the handle, a motor associated with the direction opposite to the direction of the movement of the handle; and cause actuation of the identified motor in the direction opposite to the direction of the movement of the handle to generate the computed force in the direction opposite to the direction of the movement of the handle.

In embodiments, the surgeon console further comprises a plurality of motors operably coupled to the handle and associated with a plurality of directions, respectively, of movement of the handle. At least one of the surgeon console or the tracking device is further configured to, in response to the determination that the user is disengaged with the surgeon console, identify a first position of the handle; compute a distance traveled by the handle from the first position of the handle; compute a direction of the movement of the handle; compute, based on the distance, a force in a direction opposite to the direction of the movement of the handle; identify, among the plurality of motors of the handle, a motor associated with the direction opposite to the direction of the movement of the handle; and cause actuation of the identified motor in the direction opposite to the direction of the movement of the handle to generate the computed force in the direction opposite to the direction of the movement of the handle.

In embodiments, the surgeon console is further configured to actuate the motor in the direction opposite to the direction of the movement of the handle until the handle is positioned in the first position.

In embodiments, the robotic surgical system further comprises eyewear including a plurality of markers, and the user position reference point includes at least one of the plurality of markers.

In embodiments, the user position reference point includes at least one of an eye, a head, or another portion of the user.

In embodiments, the display device is an autostereoscopic display device.

According to another aspect, not presently claimed, the present disclosure describes another robotic surgical system with user engagement monitoring. The robotic surgical system includes a robot assembly and a surgeon console. The robot assembly includes a robotic arm coupled to a surgical instrument. The surgeon console includes a handle communicatively coupled to at least one of the robot assembly, the robotic arm, or the surgical instrument. The handle includes at least one of a capacitive sensor or an optical sensor. The surgeon console is configured to receive, from at least one of the capacitive sensor or the optical sensor, data related to contact with the handle by a user; determine, based on the data related to contact with the handle, whether the user is engaged with or disengaged from the surgeon console; and, in response to a determination that the user is disengaged from the surgeon console, cause the robotic surgical system to operate in a safe mode.

In embodiments, the surgeon console is further configured to, in the determination of whether the user is disengaged from the surgeon console, determine that the user is disengaged from the surgeon console in response to the data related to the contact with the handle indicating that the user is not in contact with the handle.

Various aspects and features of robotic surgical systems and methods of the present disclosure are described herein below with references to the drawings, wherein:.

The present disclosure is directed to robotic surgical systems, devices, methods, and computer-readable media that mitigate safety risks stemming from surgeon distraction from engagement with robotic surgical systems during surgical robotic procedures. More particularly, the present disclosure relates to systems and methods for identifying disengagement of a user using the robotic surgical system and causing the robotic surgical system to operate in one or more safe modes when the user is disengaged, thereby mitigating the risk that the user unintentionally injures the patient or otherwise compromises the surgical procedure by actuating the robotic surgical system while distracted. The systems and methods described herein provide various techniques for tracking a user position relative to a display of a surgeon console and, based on the tracked user position, determining whether the user is disengaged from a surgeon console, even for open-console architectures. If the user is disengaged from the surgeon console, the robotic surgical system is operated in one or more safe modes. Utilizing the technologies, techniques, and embodiments described herein, users are provided with a safer operating environment in which to perform robotic surgeries, and patients are afforded a safer environment in which to receive surgical treatment via robotic surgical systems.

Embodiments of the present disclosure are now described in detail with reference to the drawings in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the terms "user" and "clinician" refer to a doctor, a surgeon, a nurse, technician, medical assistant, or similar support personnel or any other person that may use the robotic surgical systems described herein. Additionally, in the drawings and in the description that follows, terms such as front, rear, upper, lower, top, bottom, and similar directional terms are used simply for convenience of description and are not intended to limit the disclosure. In the following description, well-known functions or constructions are not described in detail to avoid obscuring the present disclosure in unnecessary detail.

<FIG> shows an example robotic surgical system <NUM> in accordance with an exemplary embodiment herein. In general, the surgical system <NUM> is configured to determine whether or not a user is engaged with a surgeon console of the surgical system <NUM> and, based on that determination, operate in one of various operational modes in which the system is configured to operate, including one or more safe modes and one or more non-safe modes, which are also referred to as normal modes. As shown in <FIG> and described below, the types of safe modes in which the system <NUM> is configured to operate include, but are not limited to (<NUM>) a safe mode based on locking a handle and a robot assembly of the surgical system <NUM>, (<NUM>) a safe mode based on preventing handle movement from causing corresponding robot assembly movement, (<NUM>) a safe mode based on a velocity of handle movement, (<NUM>) a safe mode based on handle velocity-based opposing force, and (<NUM>) a safe mode based on position-based opposing force. Additional details of determining whether a user is engaged with, or disengaged from, the robotic surgical system <NUM> and, in response, causing the surgical system <NUM> to operate in non-safe modes or safe modes are provided herein in the context of <FIG>. The specific number of components of the system <NUM> depicted in <FIG> and the arrangement and configuration thereof are provided for illustrative purposes only, and should not be construed as limiting. For instance, various embodiments herein employ fewer or greater than all of the components shown in <FIG>. Additionally, the system <NUM> depicted in <FIG> is provided as an illustrative context in which various exemplary embodiments herein are applicable.

The system <NUM> includes an operating table <NUM> upon which a patient <NUM> lies during a surgical procedure, a tracking device <NUM>, a surgeon console <NUM> with which a user interacts during the surgical procedure, a computing device <NUM>, and one or more robot assemblies <NUM>. The tracking device <NUM>, surgeon console <NUM> and the computing device <NUM> are communicatively coupled to one another and the one or more robot assemblies <NUM> by way of communication paths <NUM>, which, in various embodiments herein, may be implemented as wired communication paths and/or as wireless communication paths.

Each of the one or more robot assemblies <NUM> includes multiple subunits <NUM>, <NUM>, <NUM>, and <NUM>. The subunit <NUM> is a cart unit, the subunit <NUM> is a setup arm unit, the subunit <NUM> is a robot arm unit, and the subunit <NUM> is an instrument drive unit. The subunits <NUM>, <NUM>, <NUM>, <NUM>, are operably coupled to each other directly or indirectly, and communicatively coupled to each other directly or indirectly by way of one or more communication paths (not shown in <FIG>). The cart unit <NUM> is arranged adjacent to the operating table <NUM> within range of the patient <NUM> undergoing the surgical procedure and is configured to move along side of the operating table <NUM> or the patient <NUM> and towards and away from the operating table <NUM> or the patient <NUM>. The instrument drive unit <NUM> is couplable to one or more corresponding surgical instruments (not shown in <FIG>), and/or image capture devices (not shown in <FIG>) that may be interchangeably fastened thereto depending on the particular surgical procedure being performed. Exemplary types of surgical instruments include, but are not limited to, a probe, an end effector, a grasper, a knife, scissors, and/or the like. Exemplary types of the image capture devices include, but are not limited to, endoscopic cameras, laparoscopic cameras, any type of image capture apparatuses, or instruments coupled to image capture apparatuses.

The computing device <NUM> includes one or more processors <NUM> and one or more memory units <NUM>, and the one or more processors <NUM> are operably coupled to the one or more memory units <NUM>. In various embodiments, the computing device <NUM> may be integrated with the surgeon console <NUM>, or may be a standalone device, such as a computing tower, disposed within or near the operating room. The one or more processors <NUM> may be any type of suitable processor that is adapted to perform or execute the techniques or operations or instructions described herein. The one or more memory units <NUM> store instructions, such as instructions <NUM> (in an example, software), to be executed by the one or more processors <NUM>, and the techniques described herein are performed by the computing device <NUM> in response to the one or more processors <NUM> executing the instructions stored in the one or more memory units <NUM>. The one or more memory units <NUM> may be any type of hardware device suitable to store machine instructions, data, and/or the like.

The surgeon console <NUM> includes a communication link <NUM>, a display device <NUM>, one or more handles 112A, 112B (collectively, handle(s) <NUM>), one or more processors <NUM>, one or more memory units <NUM>, a foot pedal <NUM>, and at least one motor corresponding to directions in which the handle <NUM> is configured to move, such as motors 132A for handle 112A and motors 132B for handles 112B. The display device <NUM> may be a touch display, or include a touch screen, which is configured to receive inputs via a user's touch. In some embodiments, the display device <NUM> is configured to display a graphical user interface (GUI) configured to receive inputs for various settings of the surgical system <NUM> including, but not limited to, settings for safe modes and threshold data used in determining whether a user is disengaged with the surgeon console <NUM>. The display device <NUM> may be configured to display images received by the surgeon console <NUM>, including images related to the surgical site on or within the patient <NUM> from an image capture device coupled to the robot assembly <NUM>. In some embodiments, the display device <NUM> is a two-dimensional (2D) display device. In some embodiments, the display device <NUM> is configured to display one or more stereoscopic images received by the surgeon console <NUM> to allow a user to view the one or more stereoscopic images as three-dimensional (3D) images. In some embodiments, the display device <NUM> is an autostereoscopic display device.

The user interacts with the surgeon console <NUM> using the handles <NUM> during a surgical procedure. In some embodiments, the handle 112A is a left handle and the handle 112B is a right handle, operated upon by a left hand and right hand, respectively, of the user. The handle 112A, in some embodiments, includes various haptics 124A and/or actuators 126A, which provide feedback to the user relating to various tissue parameters or conditions, such as, tissue resistance due to manipulation, cutting, or otherwise treating, pressure by the instrument onto the tissue, tissue temperature, tissue impedance, and/or the like. Similarly, the handle 112B, in some embodiments, includes various haptics 124B and/or actuators 126B, which are configured similar to as haptics 124A and/or actuators 126A. The haptics 124A and 124B are referred to herein collectively as haptics <NUM>. The actuators 126A and 126B are referred to herein as collectively as the actuators <NUM>. As can be appreciated, such haptics <NUM> provide the surgeon with enhanced tactile feedback simulating actual operating conditions. The haptics <NUM> may include vibratory motors, electroactive polymers, piezoelectric devices, electrostatic devices, subsonic audio wave surface actuation devices, reverse-electrovibration, or any other device capable of providing a tactile feedback to a user. As mentioned above, the handles <NUM> may also include a variety of different actuators <NUM>, which, for instance, may be employed for delicate tissue manipulation and/or treatment further enhancing the surgeon's ability to mimic actual operating conditions.

The surgeon console <NUM> includes one or more sensors 130A and 130B (collectively, <NUM>) that are operably coupled to a handle <NUM>. For example, the sensors 130A may be operably coupled to the handle 112A and the sensors 130B may be operably coupled to the handle 112B. One or more of the sensors 130A and 130B may be configured to determine metrics related to the motions of the handles to which they are operably coupled. Exemplary types of the metrics related to the motions of the handles <NUM> include, but are not limited to, a direction of movement of the handles <NUM>, a velocity of movement of the handles <NUM>, a distance of movement of the handles <NUM>, and/or the like. In some embodiments, the surgeon console <NUM> transmits the metrics data related to the motions of the handles <NUM> to the computing device <NUM> and/or robot assemblies of the surgical system <NUM>, such as the robot assembly <NUM>. One or more of the sensors 130A and 130B may be a capacitive sensor and/or an optical sensor and the surgeon console <NUM> may be configured to determine whether a user is in contact with the handle 112A or the handle 112B based on the data received from the capacitive sensors and/or the optical sensors of the sensors 130A and 130B.

Each of the handles <NUM> is operably coupled to and associated with at least one motor for each direction of movement in which the handle <NUM> is configured to move. Examples of such motors are motors 132A and motors 132B (collectively, motors <NUM>) for the handle 112A and the handle 112B, respectively. Each motor of motors 132A is operably coupled to the handle 112A and each motor of the motors 132A is associated with a direction of movement in which the handle 112A is configured to move. Similarly, each motor of motors 132B is operably coupled to handle 112B and each motor of the motors 132B is associated with a direction of movement in which the handle 112B is configured to move. Each motor of the motors <NUM> associated with a direction is configured to actuate in the associated direction to cause movement of the handle <NUM> in the associated direction, and to actuate in a direction opposite to their associated direction to resist the movement of the handle <NUM> in the associated direction. For example, if handle 112A is configured to move in a left direction then at least one motor of the motors 132A is associated with the left direction. If it is desired that the handle 112A should be moved in the left direction, then the surgeon console <NUM> actuates the motor associated with the left direction in a direction that corresponds to the left direction in order to assist in the movement of the handle 112A in the left direction, and if it is desired that the movement of the handle 112A in the left direction should be resisted, then the surgeon console <NUM> actuates the motor associated with the left direction in a direction that corresponds to a direction opposite to the left direction in order to resist the movement of the handle 112A in the left direction. The motors <NUM> are configured to be actuated at various speeds.

The foot pedal <NUM> is configured to receive one or more inputs from a user to the surgeon console <NUM>. The foot pedal <NUM> is configured to be placed into two or more positions and a position of the foot pedal <NUM> is associated with an input to the surgeon console <NUM>. The selection of a position of the foot pedal <NUM> provides the associated input to the surgeon console <NUM>. In some embodiments, users provide inputs to update settings and/or configuration data related to one or more components of the surgical system <NUM> using the foot pedal <NUM>. The surgeon console <NUM> is configured to update settings and/or configuration data based on the inputs received via the foot pedal <NUM>, and transmit the updated settings and/or configuration data to the computing device <NUM> and/or the one or more robot assemblies, such as the robot assembly <NUM>. In some embodiments, one of the positions of the foot pedal <NUM> is configured to be a rest position of the foot pedal <NUM>, and an input signal that indicates that the foot pedal <NUM> is in the rest position is transmitted to the surgeon console <NUM> when the foot pedal <NUM> is in the rest position. In some embodiments, the foot pedal <NUM> is a momentary foot pedal switch and inputs to the surgeon console <NUM> are transmitted based on a sequence of interrogations with the foot pedal <NUM>, such as double tapping the foot pedal <NUM>. The surgeon console <NUM> transmits the inputs received via the foot pedal <NUM> to the computing device <NUM> and/or the robot assemblies of the surgical system <NUM>, such as robot assembly <NUM>.

Although <FIG> shows the tracking device <NUM> and the surgeon console <NUM> as being separate components communicatively coupled to one another via communication paths and the communication links <NUM>, <NUM>, this configuration is merely provided as an illustrative example. In other embodiments, the tracking device <NUM> is integrated into the surgeon console <NUM>. Accordingly, functionality described herein as being performed by the tracking device <NUM> and/or by the surgeon console <NUM> may, in various other embodiments, be performed by the tracking device <NUM>, by the surgeon console <NUM>, by any combination thereof, and/or by any combination of components thereof, such as the processors <NUM> or <NUM> and/or memories <NUM> or <NUM>.

In one embodiment, the tracking device <NUM> includes one or more image capture devices <NUM>, one or more processors <NUM>, one or more memories <NUM>, and one or more communication links <NUM>. The surgeon console <NUM> is configured to, in real-time or near real-time, identify and track a user position reference point (for example, a portion of a user or of eyewear <NUM> worn by the user); determine whether the user is engaged with, or disengaged from, the surgeon console <NUM>; and cause the surgical system <NUM> to operate in a non-safe mode or a safe mode based on a result of the determination. As used herein, the term user position reference point generally refers to at least a portion of the user and/or at least a portion of an object (such as eyeglasses) that the surgeon console <NUM> can utilize as a basis upon which to compute and/or track a position and/or an orientation of the user relative to a reference coordinate system, such as a coordinate system defined by a front plane of the display device <NUM> facing the user. In various embodiments, the user position reference point may include a single portion of the user or the object or include multiple portions of the user or the object. As used herein in this context, the term "a portion of a user" refers to any anatomical part of a user, including but not limited to, an eye, a pupil within an eye, a head, a face, and/or the like. Exemplary types of the one or more image capture devices <NUM> are image capture devices 161a and 161b, illustrated in <FIG>. As shown in <FIG>, the image capture devices 161a and 161b are positioned apart from each other. The surgeon console <NUM> is configured to cause the image capture devices <NUM> to move to track the user portion reference point over one or more time periods. In some embodiments, the one or more image capture devices <NUM> are housed within a housing unit, such as housing unit <NUM>, and the housing unit <NUM> is included within or attached to the surgeon console <NUM>.

In some embodiments, the surgeon console <NUM> is trained on one or more facial and/or feature recognition algorithms and is configured to detect eyes, pupils, a head, a face, and/or the like of a user by applying the one or more facial and/or feature recognition algorithms on one or more images captured by the image capturing devices <NUM>. In some embodiments, the surgeon console <NUM> is configured to perform optical tracking of the user position reference point, and the one or more image capture devices <NUM> are equipped with infrared (IR) pass filters (not shown in <FIG>) in front of their lenses and a ring of IR light emitting diodes (LEDs) (not shown in <FIG>) around the lens. In optically tracking the user position reference point, the surgeon console <NUM> periodically illuminates a desired space with IR light using the IR LEDs, and identifies and tracks a the user position reference point by detecting the IR light reflections from markers placed on a portion of the user or on an object, such as the eyewear <NUM>, worn by the user, using the one or more image capture devices <NUM>. An exemplary type of the eyewear <NUM> including markers 164a, 164b, 164c, 164d, 164e, (collectively, <NUM>), which may be reflective markers, positioned thereon is illustrated in <FIG>.

The surgeon console <NUM> includes one or more processors <NUM> and one or more memory units <NUM>. The one or more processors <NUM> are operably coupled to the one or more memory units <NUM>. The one or more processors <NUM> may be any type of suitable processor that is adapted to perform or execute the techniques or operations or instructions described herein. The one or more memory units <NUM> store instructions (not shown in <FIG>) to be executed by the one or more processors <NUM>, and the techniques described herein may be performed by the surgeon console <NUM> in response to the one or more processors <NUM> executing the instructions stored in the one or more memory units <NUM>. The one or more memory units <NUM> may be any type of hardware device suitable to store machine instructions, data, and/or the like.

The processors <NUM>, <NUM>, <NUM> and the processors (not shown in <FIG>) of the robot assemblies <NUM> (collectively, processors of the surgical system <NUM>) may be hardware processors programmed to perform the techniques described herein pursuant to the instructions in firmware, memory, or other storage, or a combination thereof. Similarly, the processors of the surgical system <NUM> may also be one or more application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) that are persistently programmed to perform the techniques or operations described herein. The processors of surgical system <NUM> may also be a central processing unit (CPU), a digital signal processor (DSP), a microprocessor, or any other device that incorporates hard wired logic or program logic or both to perform the operations or techniques described herein.

The memory units <NUM>, <NUM>, <NUM> and the memory units (not shown in <FIG>) of the robot assemblies <NUM> (collectively, memory units of the robotic surgical system <NUM>) may be volatile memory, such as random access memory (RAM) (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), and/or the like). The memory units of robotic surgical system <NUM> may be non-volatile memory, such as read-only memory (ROM) (e.g., programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), non-volatile RAM (NVRAM), and/or the like). The memory units of the surgical system <NUM> may also be magnetic, optical, or electrical media. As will be appreciated, the processors and the memory units of the robotic surgical system <NUM> implementation is provided by way of example only, and should not be construed as limiting. For instance, procedures of any of the embodiments of the present disclosure may be implemented by hardware components, firmware components, software components, and/or any combination thereof.

Turning now to <FIG>, an exemplary arrangement of the display device <NUM> and the one or more image capture devices <NUM> is shown in accordance with one or more embodiments herein. The one or more image capture devices <NUM> are positionally affixed to the display device <NUM> such that the positional relationship between the image capture devices <NUM> and the display device <NUM> is known, and the surgeon console <NUM>, the tracking device <NUM>, and/or the computing device <NUM> are configured to determine whether a user is engaged with, or disengaged from, the surgeon console <NUM> based in part on the positional relationship between the image capture devices <NUM> and the display device <NUM>. In some embodiments, the positional relationship between the image capture devices <NUM> and the display device <NUM> is provided as an input to the surgeon console <NUM>, for example, by a user. The surgeon console <NUM> may be configured to compute the positional relationship between the one or more image capture devices <NUM> and the display device <NUM>, based on the orientation of the display device <NUM> relative to a fixed location of the environment in which the surgeon console <NUM> is placed, such as the ground or floor of a room.

In tracking the user position reference point in real-time and over one or more time periods, the surgeon console <NUM> computes a location of the user position reference point relative to the display device <NUM> in each of the time periods. The location of the user position reference point relative to the display device <NUM> is computed based in part on data related to the positional relationship between the one or more image capture devices <NUM> and the display device <NUM>. In computing the location of the user position reference point relative to the display device <NUM>, the surgeon console <NUM> computes a position and an orientation of the user position reference point. The position of the user position reference point is computed in a three-dimensional coordinate space, for example, in an x, y, and z coordinate space, and the orientation of the user position reference point is computed by computing the roll, pitch, and yaw angles of the user position reference point. The position and the orientation of the user position reference point are computed relative to the display device <NUM>.

Using the position and the orientation of the user position reference point, the surgeon console <NUM> computes a difference angle θΔ. As used herein, the term "difference angle" is an angle between an imaginary line <NUM> normal or perpendicular to a front plane of the display device <NUM> and an imaginary line <NUM> normal to a plane formed by user position reference point(s) (for example, three user position reference points corresponding to three of the markers <NUM>) being tracked. An example of such a difference angle θΔ is shown as difference angle θΔ <NUM> in <FIG>. The normal imaginary line <NUM> is substantially aligned with a direction in which the surgeon is looking. In the example of <FIG>, a user is wearing the eyewear <NUM>, which has the markers <NUM> positioned thereon, at least three markers <NUM> of which represents the user position reference points, and the surgeon console <NUM> is performing optical tracking of the user position reference points. The surgeon console <NUM> computes the difference angle θΔ <NUM> by computing a relative angle between the imaginary line <NUM> normal to the plane formed by the markers <NUM> and the imaginary line <NUM> normal to the front plane of the display device <NUM>.

As the user's head moves, the position of the imaginary line <NUM> normal to the plane formed by the markers <NUM> changes from a first position (for example, the position shown in <FIG>) to a second position (for example, the positions shown in <FIG>), and accordingly the difference angle θΔ <NUM> changes, as shown in <FIG>. In embodiments where the surgeon console <NUM> is tracking the user position reference points by detecting features of the user, such as the eyes of the user, the surgeon console <NUM> computes the difference angle θΔ <NUM> by computing a position of an imaginary line (not shown in <FIG>) normal to the detected features of the user and a position of the imaginary line <NUM> normal to the front plane of the display device <NUM>, and by computing an angle between the computed positions of the two imaginary lines. As the detected features move relative to the display device <NUM>, the position of the imaginary line normal to the detected features changes and the difference angle θΔ <NUM> changes accordingly.

The surgeon console <NUM> is configured to determine whether the user is engaged with, or disengaged from, the surgeon console based in part on the difference angle θΔ <NUM>. Additional details of the determination by the surgeon console <NUM> as to whether the user is engaged with, or disengaged from, the surgeon console <NUM> are provided herein in the contexts of <FIG>, <FIG>, and <FIG>.

<FIG> illustrates a method for controlling an operational mode of the robotic surgical system <NUM> based on whether a user is engaged with, or disengaged from, the surgeon console <NUM>, in accordance with an exemplary embodiment herein. At step <NUM>, the surgeon console <NUM> determines a mode in which the surgeon console <NUM> is currently operating, such as a safe mode or a normal mode (any mode other than a safe mode). If the surgeon console <NUM> determines that the surgeon console <NUM> is currently operating in a normal mode ("NORMAL MODE" at step <NUM>) then processing proceeds to block <NUM>. At block <NUM>, the surgeon console <NUM> determines whether the user is engaged with, or disengaged from, the surgeon console <NUM>. Exemplary aspects of how the surgeon console <NUM> makes the determination at step <NUM> are provided below in connection with <FIG> and <FIG>. In general, the surgeon console <NUM> may determine whether the user is engaged with, or disengaged from, the surgeon console <NUM> by tracking a user's head or eye position (for instance, relative to the display device <NUM>), hand position (for instance, contact with handle(s) <NUM>), or any combination thereof. If the surgeon console <NUM> determines that the user is engaged with the surgeon console <NUM> ("ENGAGED" AT BLOCK <NUM>), then processing proceeds to block <NUM>, at which the surgeon console <NUM> continues to operate in normal mode. If the surgeon console <NUM> determines that the user is disengaged with the surgeon console <NUM> ("DISENGAGED" AT BLOCK <NUM>), then processing proceeds to block <NUM>, at which the surgeon console <NUM> ceases to operate in the normal mode and begins to operate in a safe mode (such as the safe modes described below). From each of steps <NUM> and <NUM>, processing proceeds to step <NUM>, which is described below.

Referring back to step <NUM>, if the surgeon console <NUM> determines that the surgeon console <NUM> is currently operating in a safe mode ("SAFE MODE" at step <NUM>) then processing proceeds to block <NUM>. At block <NUM>, the surgeon console <NUM> determines whether the user is engaged with, or disengaged from, the surgeon console <NUM>. Exemplary aspects of how the surgeon console <NUM> makes the determination at step <NUM> are provided below in connection with <FIG> and <FIG>. If the surgeon console <NUM> determines that the user is disengaged with the surgeon console <NUM> ("DISENGAGED" AT BLOCK <NUM>), then processing proceeds to block <NUM>, at which the surgeon console <NUM> continues to operate in the safe mode. If the surgeon console <NUM> determines that the user is engaged with the surgeon console <NUM> ("ENGAGED" AT BLOCK <NUM>), then processing proceeds to block <NUM>, at which the surgeon console <NUM> ceases to operate in the safe mode and begins to operate in the normal mode. From each of steps <NUM> and <NUM>, processing proceeds to step <NUM>.

At step <NUM>, the surgeon console <NUM> determines whether to terminate the operation of the surgeon console <NUM>, for example, by determining whether a user has inputted a command to shut down the surgeon console <NUM>. If the surgeon console <NUM> determines that operation of the surgeon console <NUM> is to be terminated ("YES" at <NUM>), then the surgeon console <NUM> enters an inactive state (for example, a powered down state or a sleep state) and the method <NUM> is terminated. If the surgeon console <NUM> determines that operation of the surgeon console <NUM> is not to be terminated ("NO" at <NUM>), then processing proceeds back to step <NUM> as described above.

<FIG> is a flowchart that illustrates an exemplary method for determining whether a user is engaged with, or disengaged from, the surgeon console <NUM> of the robotic surgical system <NUM> of <FIG>. At step <NUM>, the surgeon console <NUM> detects a user position reference point in one of a variety of ways. For example, in an embodiment where the user position reference point is a portion of the user (such as a head, an eye, and/or the like), the surgeon console <NUM> may detect the user position reference point by capturing via the image capture device <NUM> an image including the portion of the user and by executing one or more known image recognition algorithms on the captured image. In an embodiment where the user position reference point is a portion of eyewear <NUM> worn by the user (such as one or more user position reference points corresponding to three of the markers <NUM>), the surgeon console <NUM> may detect the user position reference point by capturing via the image capture device <NUM> an image including the markers <NUM>, and by executing one or more image recognition algorithms on the captured image.

At step <NUM>, the surgeon console <NUM> computes a position of the detected user position reference point relative to the display device <NUM>. In step <NUM>, the surgeon console <NUM> computes an orientation of the detected user position reference point relative to the display device <NUM>. In embodiments where the image capture device <NUM> is equipped with an IR pass filter and IR LEDs and the surgeon console <NUM> is configured to perform optical tracking, the surgeon console <NUM> computes the position and orientation of one or more markers relative to the display device <NUM> and, based on the position and orientation of the one or more markers, computes the position and orientation of the user position reference point and/or of a portion of the user.

In step <NUM>, the surgeon console <NUM> computes a difference angle θΔ <NUM> based on the position and orientation of the user position reference point that were computed at steps <NUM> and <NUM>, respectively. As described above, in computing the difference angle θΔ <NUM>, the surgeon console <NUM> computes a position of an imaginary line normal to a plane defined by the user position reference point and a position of the imaginary line normal to the front plane of the display device <NUM>, and computes an angle θΔ <NUM> between the positions as the difference angle. In step <NUM>, the surgeon console <NUM> computes a direction of movement of the user position reference point based on the position and the orientation of the user position reference point that were computed at steps <NUM> and <NUM>, respectively. In some embodiments, the surgeon console <NUM> computes the direction of movement of the user position reference point by comparing the position and orientation of the user position reference point in a current time instance with the position and orientation of a prior time instance.

In step <NUM>, the surgeon console <NUM> selects a first threshold angle θt1 (for example, with reference to <FIG>, θt1u <NUM> for the upward direction or θt1d <NUM> for the downward direction) based on the direction of the movement of the portion of the user. Each possible direction of movement of the user position reference point, or at least a subset of the possible directions of movement of the user position reference point, is associated with a threshold angle, and the association between a threshold angle and the direction of the movement of the user position reference point is specified in a set of rules stored in a memory unit of the surgeon console <NUM>, such as one of the memory units <NUM>, or in a storage device operably coupled to the surgeon console <NUM>. For example, if each cardinal direction of movement, such as up, down, left, right, are associated with a first threshold angle, then the set of rules specify a corresponding first threshold angle θt1 for each of up, down, left, and right, and the surgeon console <NUM>, using the set of rules, selects a first threshold angle corresponding to the computed direction of movement of the user position reference point.

In some embodiments, a threshold angle associated with one direction of movement is of a different size than a threshold angle associated with another direction of movement. For example, a threshold angle associated with the down direction of movement (for instance, with reference to <FIG>, θt1d <NUM>) may be larger than the threshold angle associated with the right direction of movement (not shown in <FIG>). The size of a threshold angle for a particular direction of movement is based in part on whether a component of the surgical system <NUM> is positioned in that direction and the distance of that component from the display device <NUM>. For example, if the foot pedal <NUM> is positioned below the display device <NUM> then the size of the threshold angle for the down direction should be large enough to accommodate the user looking at the foot pedal <NUM> without identifying that user as a user that is disengaged from the surgeon console <NUM>. In some embodiments, the size of a threshold angle for a particular direction of movement depends upon the likelihood the user of the surgeon console <NUM> interacts with the component of the surgical system <NUM> in that direction. For example, if a second display device is positioned to the right of the display device <NUM>, but the second display device does not provide any useful information to the user of the surgeon console <NUM>, then it is unlikely that the user will look at the second display device while still intending to be engaged with the surgeon console <NUM>. Thus the threshold angle associated with the direction in which the second display device is positioned, the right direction in this example, should not be large enough to accommodate the user looking at the second display device. However, if the second display device provides useful information to the user or with which the user interacts, then it is more likely that the user will look at the second display device and the size of the threshold angle in that direction should be large enough to accommodate the user looking at the second display device.

In some embodiments, the surgeon console <NUM> is configured to identify, relative to a user facing the display device <NUM>, the position and orientation of an additional component that is operably and communicatively coupled to the surgeon console <NUM> and increase the threshold angle associated with that direction based on the position and the orientation of the additional component. For example, if a display device, additional to the default number of display devices, is operably and communicatively coupled to the surgeon console <NUM> to the right side of a user facing the surgeon console <NUM>, then the surgeon console <NUM> increases the threshold angle associated with the right direction of the user based on the position and orientation of the additional display device relative to the user facing the display device <NUM> or using the surgeon console <NUM>. In some embodiments, the position and orientation of an additional component that is operably and communicatively coupled to the surgeon console <NUM> is provided to the surgeon console <NUM> as an input, and the surgeon console <NUM> determines the direction, relative to the user of the surgeon console <NUM>, in which the additional component is located, computes an increase in the size of the threshold angle associated with that direction, and increases that threshold angle by that computed increase in size.

Thus, by specifying different threshold angles for different direction of movements, the surgeon console <NUM> reduces the possibility of falsely identifying a user as being disengaged from the surgeon console <NUM> when the user is engaged with the surgeon console <NUM>. Reducing such false identifications, further reduces falsely causing the surgical system <NUM> to initiate and operate in a safe mode and improves overall efficiency of the surgical system <NUM>.

In some embodiments, each direction of movement is also associated with a second threshold angle θt2 (for example, with reference to <FIG>, θt2u <NUM> for the upward direction or θt2d <NUM> for the downward direction), smaller than the first threshold angle θt1 (for example, θt1u <NUM> for the upward direction or θt1d <NUM> for the downward direction), and the set of rules specifies the associated second threshold angle θt2 for each direction of movement. In such embodiments, in step <NUM>, the surgeon console <NUM>, using the set of rules, selects a second threshold angle θt2 corresponding to the direction of movement of the user position reference point computed at step <NUM>. The second threshold angle θt2 is used to determine whether a user, who has been identified as being disengaged from the surgeon console <NUM>, is re-engaged with the surgeon console <NUM>. By providing a second threshold angle θt2 smaller than the first threshold angle θt1, the surgical system <NUM> creates a buffer that prevents the surgical system <NUM> from quickly oscillating between operating in a safe mode and non-safe mode.

In step <NUM>, the surgeon console <NUM> compares the difference angle θΔ <NUM>, which was computed at step <NUM> based on the position and the orientation of the user position reference point computed at steps <NUM> and <NUM>, respectively, is greater than the first threshold angle θt1. If the surgeon console <NUM> determines that the difference angle θΔ <NUM> is greater than the first threshold angle θt1 ("θΔ > θt1" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> determines that the user is disengaged. In some embodiments, as described above in connection with steps <NUM> and/or <NUM> of <FIG>, the surgeon console <NUM>, in response to identifying the user as being disengaged, causes the surgical system <NUM> to operate in a selected safe mode, for instance, by initiating and processing steps associated with the selected safe mode.

In some embodiments, the surgeon console <NUM> is configured with an indicator, stored in a memory unit <NUM> or in a storage device operably coupled to the surgeon console <NUM>, the value of which indicates whether the surgical system <NUM> is operating in a safe mode or a non-safe mode, referred to herein as "safe mode indicator," and the surgeon console <NUM> determines whether the surgical system <NUM> is operating in a safe mode based at least in part on the value of the safe mode indicator. The surgeon console <NUM> is configured to update the value of the safe mode indicator to indicate that the surgical system <NUM> is operating in a safe mode at a time when the surgical system <NUM> is caused to operate in a safe mode or at a time when the user is identified as being disengaged from the surgeon console <NUM>. Examples of a safe mode indicator include, but are not limited to, a flag variable, the value of which the surgeon console <NUM> updates to indicate whether the surgical system <NUM> is operating in a safe mode, for example by setting the value of the flag variable to a one (<NUM>) to indicate that the surgical system <NUM> is operating in a safe mode and to a zero (<NUM>) to indicate that the surgical system <NUM> is operating in a non-safe mode.

In some embodiments, the surgeon console <NUM> is configured to select a default safe mode specified in a set of rules stored in a memory unit of the surgeon console <NUM>, such as memory units <NUM> or storage device operably coupled to the surgeon console <NUM>. In some embodiments, a list of multiple safe modes, each of which is associated with a ranking, is stored in one or more memory units <NUM> or a storage device operably coupled to the surgeon console <NUM>, and the surgeon console <NUM> is configured to select from the list of multiple safe modes based on the ranking associated with the safe modes. In some embodiments, the surgeon console <NUM> provides a GUI presenting a list of various safe modes in which the surgical system <NUM> is configured to operate and the user selects a safe mode and provides the selection as an input to the surgeon console <NUM> using the GUI. Additional details of some of the safe modes in which the surgical system <NUM> is configured to operate are provided herein in the contexts of <FIG> and <FIG>.

In step <NUM>, if the surgeon console <NUM> determines that the difference angle θΔ <NUM> is not greater than the first threshold angle θt1 ("θΔ ≤ θt1" at step <NUM>), then, in embodiments where a second threshold angle θt2 is associated with a direction of movement and the second threshold angle θt2 is selected, the surgeon console <NUM> proceeds to step <NUM>. In step <NUM>, the surgeon console <NUM> compares the difference angle θΔ to the second threshold angle θt2. If the surgeon console determines that the difference angle θΔ is less than the second threshold angle θt2 ("θΔ < θt2" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> determines that the user is engaged. In embodiments, the surgeon console <NUM> may further determine an XYZ position of the user (that is, determine a position of the user's head, face, or 3D glasses in three-dimensional space relative to the surgeon console <NUM>) to determine whether the user is engaged. For example, by determining the XYZ position of the user relative to the surgeon console <NUM>, the surgeon console <NUM> can determine whether the user is too far away from the surgeon console and provide a notification indicating such. Additionally, in embodiments where multiple individuals are within a predetermined distance of the surgeon console <NUM>, the surgeon console <NUM> can ensure that the correct individual (i.e. the user) is tracked and that another individual standing behind the user is not determined as engaged with the surgeon console <NUM>.

If the surgeon console <NUM> determines that the difference angle θΔ is not less than the second threshold angle θt2 ("θΔ ≥ θt2" at step <NUM>), then, at step <NUM>, the surgeon console <NUM> determines whether the surgical system <NUM> is operating in a safe mode. In some embodiments, the surgeon console <NUM> may additionally determine whether a displacement of the user is larger than a predetermined threshold. Additionally or alternatively, the surgeon console <NUM> may determine a displacement gradient. By determining the displacement gradient and/or whether the displacement is larger than a predetermined threshold, the surgeon console <NUM> may determine if a displacement is too large over too short a period of time, as may be the case if there are multiple individuals in an engagement zone of the surgeon console <NUM> and movement of an individual other than the user is mistakenly attributed to the user or the tracker jumps from one user to another. If it is determined that the displacement is larger than the predetermined threshold or the displacement gradient indicates that the tracker may have jumped between individuals, the safe mode may be activated. If the surgeon console <NUM> determines that the surgical system <NUM> is operating in a safe mode ("YES" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> identifies the user as disengaged with the surgeon console <NUM>. If the surgeon console <NUM> determines that the surgical system <NUM> is not operating in a safe mode ("NO" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> identifies the user as being engaged (or re-engaged, as the case may be) with the surgeon console <NUM>. As described above in connection with steps <NUM> and/or <NUM> of <FIG>, the surgeon console <NUM>, in response to identifying the user as being engaged, causes the surgical system <NUM> to operate in a normal (non-safe) mode, for instance, by initiating and processing steps associated with the normal mode. In some embodiments, in step <NUM>, the surgeon console <NUM> is configured to wait for a threshold amount of time prior to identifying the user as being re-engaged with the surgeon console <NUM>. In embodiments where the surgeon console <NUM> is configured with a safe mode indicator, the surgeon console <NUM> updates the value of the safe mode indicator to indicate that the surgical system <NUM> is not operating in a safe mode at time when the user is identified as re-engaged or engaged with the surgeon console <NUM> or at a time when the surgical system <NUM> is caused to exit the safe mode.

<FIG> shows another illustrative method <NUM> of determining whether the user of the surgeon console <NUM> is engaged or disengaged from the surgeon console <NUM>. In various embodiments, the surgeon console <NUM> may be configured to determine whether the user is engaged with, or disengaged from, the surgeon console <NUM> by employing the method <NUM> (<FIG>) and/or the method <NUM> (<FIG>) either individually or in any combination with one another.

At step <NUM>, processor <NUM> of the surgeon console <NUM> obtains data from one or more sensor(s) <NUM> indicating whether the user is in contact with one or more handles <NUM> of the surgeon console <NUM>. At step <NUM>, the surgeon console <NUM> determines whether the user is in contact with the handles <NUM> based on the data obtained at step <NUM>. In particular, for instance, the surgeon console <NUM> may determine at step <NUM> whether the user is in contact with a handle 112A based on outputs from one or more sensors 130A, such as capacitive and/or optical sensors, that are coupled to the handle 112A and configured to identify the user's contact with the handle 112A. Exemplary types of outputs from such sensor 130A include, but are not limited to, a high signal or a one (<NUM>) when a user is in contact with a handle 112A coupled to the sensors and a low signal or a zero (<NUM>) when the user is not in contact with the handle 112A. For example, the sensor 130A is a capacitive sensor configured to transmit a high signal or a one (<NUM>) to the processor <NUM> of the surgeon console <NUM> when the user is in contact with the handle 112A and a low signal or a zero (<NUM>) when the user is not in contact with the handle 112A, then the surgeon console <NUM> determines that the user is in contact with the handle 112A if a high signal or a <NUM> is received by the processor <NUM> from the capacitive sensor 130A and that the user is not in contact with the handle 112A if a low signal or a zero (<NUM>) is received by the processor <NUM> from the capacitive sensor 130A. In some embodiments, the surgeon console <NUM> determines that the user is in contact with the surgeon console <NUM> if the user is simultaneously in contact with a majority of the handles <NUM>. For example, if the surgeon console <NUM> includes three handles <NUM> and the surgeon console is configured to determine that a user is in contact with the surgeon console <NUM> if the user is contact with a majority of the handles <NUM>, then the surgeon console <NUM> determines that the user is in contact with the surgeon console <NUM> if the user is simultaneously in contact with at least two of the handles <NUM>. Similarly, if the surgeon console <NUM> includes two handles <NUM>, then the surgeon console <NUM> determines that the user is in contact with the surgeon console <NUM> if the user is in contact with both of the handles <NUM>, a majority of the handles <NUM> of the surgeon console <NUM>.

In step <NUM>, if the surgeon console <NUM> determines that the user is not in contact with the surgeon console <NUM> ("NO" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> identifies the user as disengaged from the surgeon console <NUM>. In step <NUM>, if the surgeon console <NUM> determines that the user is in contact with the surgeon console <NUM> ("YES" at step <NUM>), then, in step <NUM>, the surgeon console <NUM> identifies the user as re-engaged with the surgeon console <NUM>.

As described above, the surgical system <NUM> is configured to operate in one or more safe modes, either individually or in any combination, and additional details of these safe modes are provided herein in the contexts of <FIG> and <FIG>. In particular, <FIG> and <FIG> shows a flowchart that illustrates an exemplary method <NUM> for operating the robotic surgical system <NUM> of <FIG> in one or more of the following five illustrative safe modes of operation: (<NUM>) a clutching safe mode, (<NUM>) a locking safe mode, (<NUM>) a scaling factor safe mode according to the intervention , (<NUM>) an opposing force safe mode based on handle velocity, and (<NUM>) an opposing force safe mode based on handle position. In some embodiments, the surgical system <NUM> is configured to enter (see, for example, step <NUM> of <FIG>) or remain in (see, for example, step <NUM> of <FIG>) one or more of the safe modes according to the method <NUM>, based on a determination (see, for example, steps <NUM> and/or <NUM> of <FIG>, method <NUM> of <FIG>, and/or method <NUM> of <FIG>) as to whether the user is engaged with, or disengaged from, the surgeon console <NUM>. Referring now to <FIG>, at step <NUM>, the surgeon console <NUM> determines which safe mode to enter or remain in, for instance, based on a value of the safe mode indicator described above. Although some safe modes are described herein in the context of controlling one of the robot assemblies <NUM> or subunits <NUM>, <NUM>, <NUM>, and <NUM> thereof, in various embodiments, safe modes include simultaneously controlling multiple robot assemblies <NUM> and/or the subunits <NUM>, <NUM>, <NUM>, and <NUM> thereof.

If the surgeon console <NUM> determines to enter or remain in the clutching safe mode ("CLUTCHING" at step <NUM>), then processing proceeds to step <NUM>. While the surgical system <NUM> is operating in a non-safe mode, the surgeon console <NUM> causes one or more of the subunits <NUM>, <NUM>, <NUM>, and <NUM> of the robot of assemblies <NUM> to be moved by transmitting data related to the movement of the handles <NUM> of the surgeon console <NUM> to one or more of the subunits <NUM>, <NUM>, <NUM>, and <NUM> of the robot assemblies <NUM> that are communicatively coupled to the handles <NUM>, and one or more of the subunits <NUM>, <NUM>, <NUM>, <NUM> that receives data related to the movement of the handles <NUM> moves based in part on the received data.

In step <NUM>, while the surgical system <NUM> operates in the clutching safe mode, for each handle <NUM> of the surgeon console <NUM>, the surgeon console <NUM> prevents movement of the handle <NUM> from causing a corresponding movement of the one or more of the subunits <NUM>, <NUM>, <NUM>, and <NUM> of the robot assembly <NUM> communicatively coupled to that handle <NUM>, for instance, by preventing the transmission of data related to the movement of the handle <NUM> to the subunit(s) <NUM>, <NUM>, <NUM>, and/or <NUM>. In some embodiments, the surgeon console <NUM> is configured with an indicator, stored in a memory unit <NUM> or in a storage device operably coupled to the surgeon console <NUM>, the value of which indicates whether the clutching safe mode is enabled or disabled, referred to herein as "clutching safe mode indicator," and the surgeon console <NUM> determines whether to transmit data related to the movement of the handles <NUM> based in part on the values of the movement translation indicator. Examples of values of the clutching safe mode indicator that indicate that clutching safe mode is disenabled is a one (<NUM>) or a sequence of ones (e.g. "<NUM>"), and the examples of values of the clutching safe mode indicator that indicate that the clutching safe mode is enabled is a zero (<NUM>) or a sequence of zeroes (e.g. "<NUM>"). In some embodiments, each bit of the value of the clutching safe mode indicator is associated with a handle <NUM> of the surgeon console <NUM>, and the surgeon console <NUM> determines whether to transmit movement data of a particular handle <NUM> based in part on the value of the bit associated with that handle <NUM>. For example, the zeroth bit of the value may be associated with the handle 112A and the first bit of the value may be associated with the handle 112B, and the surgeon console <NUM> determines whether to transmit data related to the movement of the handle 112A based on whether the zeroth bit is high (<NUM>) or low (<NUM>), and the surgeon console <NUM> determines whether to transmit data related to the movement of the handle 112B based on whether the first bit is high or low.

The surgeon console <NUM> is configured to update the value of the clutching safe mode indicator to indicate that the clutching safe mode is enabled at a time when translation of movement from the movement of the handle <NUM> to the movement of the communicatively coupled robot arm is disabled. From step <NUM>, processing proceeds to step <NUM>, at which the surgeon console <NUM> provides an alert to the user that indicates that the surgeon console <NUM> is in a safe mode (in this case, the clutching safe mode. Examples of the alerts that may be provided at step <NUM> include, but are not limited to, visual and/or auditory alerts, similar to the alerts described above.

Referring back to step <NUM>, if the surgeon console <NUM> determines to enter or remain in the locking safe mode ("LOCKING" at step <NUM>), then processing proceeds to step <NUM>. At step <NUM>, the surgeon console <NUM> locks each handle <NUM> of the surgeon console <NUM> in its position and prevents the movement of the handles <NUM> from their positions. In some embodiments, the surgeon console <NUM> identifies the position of each of the handles <NUM> at the time of locking the handles <NUM> and stores data related to the positions of the handles <NUM> in a memory unit <NUM> of the surgeon console <NUM> or a storage device operably coupled to the surgeon console <NUM>. In some embodiments, the surgeon console <NUM> locks the handles <NUM> in their position by preventing movement of the motors and actuators of the handles <NUM>, such as motors 132A and 132B. For example, the surgeon console <NUM> may cause the motors to servo or apply torque to restore the handles <NUM> to the stored position such that each subunit <NUM>, <NUM>, <NUM>, <NUM> that is locked maintains the stored position. In step <NUM>, the surgeon console <NUM> causes each of the subunits <NUM>, <NUM>, <NUM>, <NUM> that are communicatively coupled to the handles <NUM> to be locked in its position by transmitting a lock instruction to each of the subunits <NUM>, <NUM>, <NUM>, <NUM>. As described above, the surgeon console <NUM> is communicatively coupled to the robot assemblies <NUM>, via the computing device <NUM> and the surgeon console <NUM> transmits instructions to lock the subunits <NUM>, <NUM>, <NUM>, <NUM> to the robot assemblies <NUM> by transmitting the instructions to the computing device <NUM>, which in turn transmits the instructions to the robot assemblies <NUM>. In some embodiments, the surgeon console <NUM> is directly communicatively coupled to each robot assembly <NUM> of the surgical system <NUM> and the surgeon console <NUM> transmits instructions to lock the robot arms in their positions directly to the robot assemblies <NUM> of the robot arms communicatively coupled to the handles <NUM>. Each robot assembly that receives the instructions, locks its robot arm in its position in response to receiving the instructions.

From step <NUM>, processing proceeds to step <NUM>, at which the surgeon console <NUM> provides an alert to the user that indicates that a safe mode (the locking safe mode, in this instance) is activated. In some embodiments, the surgeon console <NUM> provides a visual alert indicating that the handles <NUM> and the communicatively coupled robot arms are locked. An example of the visual alert includes, but is not limited to, a graphical item displayed on one or more display devices of the surgeon console <NUM>, such as the display device <NUM>. Another example of the visual alert includes a light emitting diode (LED) on the surgeon console <NUM> that is powered on at the time the handles <NUM> and the communicatively coupled robot arms are locked. In some embodiments, the surgeon console <NUM> is configured to provide an auditory alert, such as a sound recording, and/or a tactile alert such as vibration or other physical feedback that indicates that the handles <NUM> and the communicatively coupled robot arms are locked.

Referring back to step <NUM>, if the surgeon console <NUM> determines to enter or remain in a scaling factor safe mode ("SCALING FACTOR" at step <NUM>), according to the invention, then processing proceeds to step <NUM>. At step <NUM>, the surgeon console <NUM> detects movement of the handle <NUM> of the surgeon console <NUM>. As described above, each handle <NUM> is operably and communicatively coupled to one or more sensors <NUM> that are configured to detect movement of the handle <NUM> and the velocity of the movement of the handle <NUM> and output values that indicate whether the handle <NUM> is moved and/or the velocity of the handle <NUM>. Based on the output values of the one or more sensors <NUM> coupled to the handle <NUM>, the surgeon console <NUM> detects movement of the handle <NUM>. At step <NUM>, the surgeon console <NUM> computes a velocity at which the handle <NUM> is moved. As described above, the surgeon console <NUM> computes the velocity based on based on multiple positions of the handle sensed over time via the one or more sensors <NUM> coupled to the handle <NUM> and configured to sense movement of the handle <NUM>.

At step <NUM>, the surgeon console <NUM>, based on the velocity of the movement of the handle <NUM> computed at step <NUM>, selects a scaling factor from a list of safe-mode scaling factors. As used herein, the term "scaling factor" refers to a ratio between a movement of a handle <NUM> to a corresponding movement that is caused of one or more subunits <NUM>, <NUM>, <NUM>, and <NUM> communicatively coupled to the handle <NUM>. For example, a scaling factor of <NUM>:<NUM> indicates that a movement of the handle <NUM> by three inches translates to a movement of the communicatively coupled subunit <NUM>, <NUM>, <NUM>, and/or <NUM> by <NUM> inch. Similarly, a scaling factor of <NUM>:<NUM> indicates that movement of the handle <NUM> by <NUM> inches translates to a movement of the communicatively coupled subunit <NUM>, <NUM>, <NUM>, and/or <NUM> by <NUM> inch. A safe mode scaling factor is a scaling factor specified in a set of rules or configuration data, which the surgeon console <NUM> is configured to use if the surgical system <NUM> is operating in a scaling factor safe mode. The set of rules or configuration data further specify a velocity or a range of velocities for each safe mode scaling factor, and are stored in one or more memory units of the memory units <NUM> or a storage device operably coupled to the surgeon console <NUM>. In some embodiments, in selecting a scaling factor from the list of safe mode scaling factors, the surgeon console <NUM> identifies the velocity that is closest to the computed velocity of the handle <NUM> or the range of velocities which includes the computed velocity, and selects the associated scaling factor. In other embodiments, the surgeon console <NUM> computes a velocity of a movement of the handle <NUM> and modifies the downward scaling factor based on the computed velocity.

At step <NUM>, the surgeon console <NUM> applies the safe mode scaling factor selected at step <NUM> to the distance travelled by the handle <NUM> to compute the scaled distance, and transmits the scaled distance to one or more of the subunits <NUM>, <NUM>, <NUM>, or <NUM> communicatively coupled to the handle <NUM>, which move based in part on the received scaled distance. The selected safe mode scaling factor is a downward scaling factor that, relative to a non-safe mode scaling factor, causes a small amount of movement of one or more of the subunits <NUM>, <NUM>, <NUM>, or <NUM> for a given amount of movement of the handle <NUM>. In some embodiments, the surgeon console <NUM> transmits the selected safe-mode scaling factor and the distance travelled by the handle <NUM> to a particular one or more of the subunits, <NUM>, <NUM>, <NUM>, and/or <NUM>, and the scaled distance is computed based in part upon which the robot arm is moved. After step <NUM>, the surgeon console <NUM> returns to step <NUM> (shown in FIG. From step <NUM>, processing proceeds to step <NUM>, at which the surgeon console <NUM> provides a visual and/or an auditory alert to the user indicating that the safe mode based on handle velocity is enabled.

Referring again to step <NUM>, if the surgeon console <NUM> determines to enter or remain in the opposing force safe mode based on handle velocity ("OPPOSING FORCE (VELOCITY-BASED)" at step <NUM>), then processing proceeds to step <NUM>. At step <NUM>, the surgeon detects movement of one or more of the handles <NUM>. The surgeon console <NUM> detects movement of the handles <NUM> in a similar manner as described above for step <NUM>. At step <NUM>, the surgeon console <NUM> computes the velocity of the movement of the handle <NUM> using the one or more sensors <NUM> that are operably and communicatively coupled to the handle <NUM>.

At step <NUM>, the surgeon console <NUM> computes a direction of the movement of the handle <NUM>. As described above, one or more of the sensors <NUM> are configured to sense a direction of movement of the handle <NUM> in one or more directions, and the surgeon console <NUM> computes the direction of the movement of the handle <NUM>, for example relative to a prior position of the handle <NUM>, based on the outputs from the one or more sensors <NUM>.

In step <NUM>, the surgeon console <NUM>, based on the computed velocity of the movement of the handle <NUM> and the computed direction of the movement of the handle <NUM>, computes an opposing force to be applied to the handle <NUM> in a direction opposite to the computed direction of movement of the handle <NUM>. At step <NUM>, the surgeon console <NUM> identifies a motor, among the motors <NUM> of the handle <NUM>, associated with the direction in which the opposing force computed at <NUM> is to be applied, and, at step <NUM>, the surgeon console <NUM> actuates the identified motor in the direction opposite to the computed direction of movement of the handle <NUM> at a speed sufficient to generate the opposing force computed at step <NUM> in the direction opposite to the computed direction of handle movement and thereby significantly reduce any travel of the handle <NUM>. Thus, the surgeon console <NUM> provides sufficient force to the user in the direction opposite to the direction of movement of handle <NUM>, thereby providing a haptic feedback to the user that the surgical system <NUM> is operating in a safe mode. From step <NUM>, processing proceeds to step <NUM> to provide an alert that the safe mode (the opposing force safe mode based on velocity, in this instance) is activated.

Referring again to step <NUM>, if the surgeon console <NUM> determines to enter or remain in the opposing force safe mode based on handle position ("OPPOSING FORCE (POSITION-BASED)" at step <NUM>), then processing proceeds to step <NUM>. At step <NUM>, for each handle <NUM>, the surgeon console <NUM> identifies the position of the handle <NUM> at the time the surgical system <NUM> is caused to operate in the opposing force safe mode based on handle position. The surgeon console <NUM> stores the identified position of the handle <NUM> in a memory unit <NUM> or a data storage device operably coupled to the surgeon console <NUM>.

At step <NUM>, the surgeon console <NUM> detects movement of one or more of the handles <NUM> from its respective position identified at step <NUM>. At step <NUM>, the surgeon console <NUM> computes a distance traveled by the handle(s) <NUM> that moved. As described above, one or more sensors <NUM> coupled to the handles <NUM> is configured to sense a distance the handle <NUM> travels and the surgeon console <NUM> computes the distance traveled by the handles <NUM> using the data from the one or more sensors <NUM>.

At step <NUM>, the surgeon console <NUM> computes a direction of the movement of the handle <NUM> and, at step <NUM>, based on the computed velocity of the movement of the handle <NUM> and/or the computed direction of the movement of the handle <NUM>, the surgeon console <NUM> computes an opposing force to be applied to the handle <NUM> in a direction opposite to the computed direction of handle movement. At step <NUM>, the surgeon console <NUM> identifies a motor, among the motors <NUM> of the handle <NUM>, associated with the computed direction of movement, and, at step <NUM>, the surgeon console <NUM> rotates the identified motor at a speed sufficient to generate the computed opposing force in the direction opposite to the computed handle movement direction, and continues to actuate the motor until the handle <NUM> returns to the position identified at step <NUM>, thereby reducing any travel of the handle <NUM> and providing feedback to the user indicating that the motion is being resisted, thereby alerting the user that the surgical system <NUM> is operating in a safe mode.

<FIG> is a flowchart that illustrates an exemplary method <NUM> for terminating one or more safe modes of operation of the robotic surgical system <NUM> of <FIG>. At step <NUM>, the surgeon console <NUM> determines which safe mode to exit, for instance, based on a value of the safe mode indicator described above. If the surgeon console <NUM> determines to exit the clutching safe mode ("CLUTCHING" at step <NUM>) then processing proceeds to step <NUM>. At step <NUM>, for each handle <NUM> of the surgeon console <NUM>, the surgeon console <NUM> enables the translation of movement from the movement of the handle <NUM> to the movement of the subunit <NUM>, <NUM>, <NUM>, and/or <NUM> communicatively coupled to the handle <NUM> by enabling the transmission of data related to the movement of the handle <NUM> to the subunit(s) <NUM>, <NUM>, <NUM>, or <NUM>. In embodiments where the surgeon console <NUM> is configured with a clutching safe mode indicator, the surgeon console <NUM> updates the value of the clutching safe mode indicator to a value that indicates that the clutching safe mode is disabled. At step <NUM>, the surgeon console <NUM> provides an alert to the user that indicates that the clutching safe mode is disabled and/or that the normal (non-safe) mode is enabled.

If the surgeon console <NUM> determines to exit the locking safe mode ("LOCKING" at step <NUM>) then processing proceeds to step <NUM>. At step <NUM>, the surgeon console <NUM> unlocks each handle <NUM> of the surgeon console <NUM>. In some embodiments, the surgeon console <NUM> unlocks each handle <NUM> by actuating the motors <NUM> associated with the handle <NUM> as per their non-safe mode configuration in response to the user moving the handle <NUM>. For example, the surgeon console <NUM> may unlock each handle <NUM> when it is determined that the surgeon is re-engaged (e.g. looking at the surgeon console <NUM>), and/or after the user performs a predetermined action, such as actuating a button or pedal or performing a particular motion of the handle <NUM>. At step <NUM>, the surgeon console <NUM> causes each subunit <NUM>, <NUM>, <NUM>, or <NUM> communicatively coupled to the handles <NUM> to be unlocked by, for example, transmitting to the computing device <NUM> instructions to unlock the subunit(s) <NUM>, <NUM>, <NUM>, or <NUM>, in response to which, the computing device <NUM> transmits the instructions to the subunit(s) <NUM>, <NUM>, <NUM>, or <NUM>. In embodiments where the robot assemblies <NUM> are directly connected to the surgeon console <NUM>, the surgeon console <NUM> transmits the instructions to release the robot arms directly to the robot assemblies <NUM> of the robot arms communicatively coupled to the handles <NUM>. Each robot assembly that receives the instructions, unlocks its subunit <NUM>, <NUM>, <NUM>, and/or <NUM> in response to receiving the instructions.

At step <NUM>, the surgeon console <NUM> provides an alert to the user that indicates that the safe mode has been exited and/or that the normal mode (non-safe mode) has been entered. In one example, the alert includes indicating that the handles <NUM> and the robot arms communicatively coupled to the handles <NUM> are unlocked. The alerts provided to the user, in some embodiments, are visual alerts and, in some embodiments, are auditory alerts. Examples of the visual alerts include, but are not limited to, graphical items displayed on one or more display devices of the surgeon console <NUM> and LEDs on the surgeon console <NUM>.

Referring back to step <NUM>, if the surgeon console <NUM> determines to exit the scaling factor safe mode ("SCALING FACTOR" at step <NUM>) then processing proceeds to step <NUM>. At step <NUM>, the surgeon console <NUM> resets the scaling factor back to a predetermined value, such as a <NUM>:<NUM> value, to be used during normal (non-safe mode) operation.

If the surgeon console <NUM> determines to exit either the opposing force safe mode based on handle velocity or the opposing force safe mode based on handle position ("OPPOSING FORCE (VELOCITY BASED)" or "OPPOSING FORCE (POSITION-BASED)" at step <NUM>) then processing proceeds to step <NUM>. At step <NUM>, the surgeon console <NUM> ceases actuation of the motors initiated at step <NUM> of <FIG>. From step <NUM>, processing proceeds to step <NUM>, at which an alert is generated indicating that the safe mode has been disabled and the normal mode has been enabled.

The phrases "in an example," "in examples," "in some examples," "in an embodiment," "in embodiments," "in some embodiments," or "in other embodiments" may each refer to one or more of the same or different embodiments in accordance with the present disclosure. A phrase in the form "A or B" means "(A), (B), or (A and B). " A phrase in the form "at least one of A, B, or C" means "(A); (B); (C); (A and B); (A and C); (B and C); or (A, B, and C).

The systems described herein may also utilize one or more controllers to receive various information and transform the received information to generate an output. The controller may include any type of computing device, computational circuit, or any type of processor or processing circuit capable of executing a series of instructions that are stored in a memory. The controller may include multiple processors and/or multicore central processing units (CPUs) and may include any type of processor, such as a microprocessor, digital signal processor, microcontroller, programmable logic device (PLD), field programmable gate array (FPGA), or the like. The controller may also include a memory to store data and/or instructions that, when executed by the one or more processors, causes the one or more processors to perform one or more methods and/or algorithms.

Any of the herein described methods, programs, algorithms or codes may be converted to, or expressed in, a programming language or computer program. The terms "programming language" and "computer program," as used herein, each include any language used to specify instructions to a computer, and include (but is not limited to) the following languages and their derivatives: Assembler, Basic, Batch files, BCPL, C, C+, C++, Delphi, Fortran, Java, JavaScript, machine code, operating system command languages, Pascal, Perl, PL1, scripting languages, Visual Basic, metalanguages which themselves specify programs, and all first, second, third, fourth, fifth, or further generation computer languages. Also included are database and other data schemas, and any other meta-languages. No distinction is made between languages which are interpreted, compiled, or use both compiled and interpreted approaches. No distinction is made between compiled and source versions of a program. Thus, reference to a program, where the programming language could exist in more than one state (such as source, compiled, object, or linked) is a reference to any and all such states. Reference to a program may encompass the actual instructions and/or the intent of those instructions.

Any of the herein described methods, programs, algorithms or codes may be contained on one or more machine-readable media or memory described herein. Code or instructions contained thereon can be represented by carrier wave signals, infrared signals, digital signals, and by other like signals.

Claim 1:
A robotic surgical system with user engagement monitoring, comprising:
a robot assembly including a robotic arm coupled to a surgical instrument;
a surgeon console including
a handle communicatively coupled to at least one of the robot assembly, the robotic arm, or the surgical instrument, and
a display device; and
a tracking device in known spatial relationship to the display including an image capture device configured to capture an image of a user position reference point,
wherein at least one of the surgeon console or the tracking device is configured to:
compute, based on the captured image, a position of the user position reference point relative to the display device,
determine whether a user is engaged with or disengaged from the surgeon console based on the computed position, and
in response to a determination that the user is disengaged from the surgeon console, cause the robotic surgical system to operate in a safe mode,
wherein at least one of the surgeon console or the tracking device is further configured to:
detect an amount of movement of the handle;
compute a velocity of movement of the handle; and
compute a downward scaling factor based on the velocity of movement of the handle when the surgical robotic system is operating in the safe mode.