Patent Description:
Surgical robotic systems are currently being used in minimally invasive medical procedures. Some surgical robotic systems include a surgical console controlling a surgical robotic arm and a surgical instrument having an end effector (e.g., forceps or grasping instrument) coupled by a wrist assembly to and actuated by the robotic arm.

During surgical procedures with the surgical robotic system the clinician utilizes the surgical console to view a video feed of a surgical site. In most cases, there is a need for the clinician to view other images or data on the surgical console which can impede the viewing of the video feed. Typically, in order to overlay the other images or data onto the video feed, an extra input channel is needed to generate a separate alpha channel for processing alongside the video feed. Thus, there is a need for a surgical robotic system to leverage existing hardware to generate translucent overlays for such images or data to be superimposed on the video feed.

<CIT> provides an image registration device, method, and program that enable easy initial registration between a target object included in a video and a simulation image. A first registration unit performs first registration that is initial registration between an intraoperative video and a simulation image. At this time, a boundary image showing the boundary of the simulation image is displayed on a display so as to be superimposed on the intraoperative video. An operator performs registration between a target object included in the intraoperative video and the boundary image. After the end of the first registration, a second registration unit performs second registration between the simulation image and the target object included in the intraoperative video based on the result of the first registration.

This document further discloses a simulation image that may be generated by defining different colors for the liver and hepatic arteries, hepatic veins, and lesions included in the liver, or that the simulation image may be generated by defining different transparencies. For example, red, blue, and green may be set for hepatic arteries, hepatic veins, and lesions, respectively. In addition, the opacity of the liver may be set to <NUM>, the opacity of hepatic arteries and hepatic veins may be set to <NUM>, and the opacity of lesions may be set to <NUM>.

Further background information can be found in <CIT> and <CIT>.

In one aspect, a surgical robotic system includes a control tower, a mobile cart coupled to the control tower, and a surgical console coupled to the control tower. The mobile cart includes a surgical robotic arm. The surgical robotic arm includes a surgical instrument and an image capture device. The surgical instrument is actuatable in response to a user input and configured to treat a target tissue. The image capture device is configured to capture a real-time image of the target tissue, and the real-time image includes a plurality of first pixels. The surgical console includes a display, a memory, a user input device, and a controller operably coupled to the display, the memory, and the user input device. The memory is configured to store overlay data. The user input device is configured to generate the user input. The controller is configured to generate an overlay based on the stored overlay data. The overlay includes a plurality of second pixels, wherein each second pixel of the plurality of second pixels includes predetermined color information. The controller is further configured to determine a percentage of transparency of each of the plurality of second pixels based on the predetermined color information; generate an augmented image based on the overlay, the real-time image, and the determined percentage of transparency; and output the augmented image on the display.

In aspects, the overlay data may be a pre-operative image of the target tissue.

In aspects, the generated overlay may be a three-dimensional model of the target tissue based on the stored pre-operative images of the target tissue.

In aspects, the memory may be further configured to store a color lookup table.

In aspects, the color lookup table may be configured to provide a percentage of transparency for each value of the predetermined color information.

In aspects, the controller may be further configured to access the stored color lookup table and return a percentage of transparency based on the predetermined color information.

In aspects, the predetermined color information may be at least one of an RGB or a YUV color code.

In aspects, the controller may be further configured to match each first pixel of the plurality of first pixels of the real-time image with each second pixel of the plurality of second pixels of the overlay.

In aspects, the controller may superimpose each second pixel of the plurality of second pixels of the overlay at the determined percentage of transparency onto each first pixel of the plurality of first pixels of the real-time image.

In another aspect, a surgical robotic system includes a control tower, a mobile cart coupled to the control tower, and a surgical console coupled to the control tower. The mobile cart includes a surgical robotic arm. The surgical robotic arm includes a surgical instrument and an image capture device. The surgical instrument is actuatable in response to a user input and configured to treat a target tissue. The image capture device is configured to capture a real-time image of the target tissue. The surgical console includes a display, a memory, a user input device, and a controller operably coupled to the display, the memory, and the user input device. The memory is configured to store overlay data. The user input device is configured to generate the user input. The controller is configured to: generate an overlay based on the stored overlay data, the overlay includes a plurality of bounding boxes, wherein each bounding box of the plurality of bounding boxes include predetermined color information; determine a percentage of transparency of each bounding box of the plurality of bounding boxes based on the predetermined color information; generate an augmented image based on the overlay, the real-time image, and the determined percentage of transparency; and output the augmented image on the display.

In aspects, the controller may be further configured to match a position and dimension for each bounding box of the plurality of bounding boxes with a position and dimension of the real-time image.

In aspects, the controller may superimpose each bounding box of the plurality of bounding boxes at the determined percentage of transparency onto the real-time image.

In aspects, the stored overlay data may be at least one of an image, text, or a combination thereof.

In another aspect, the disclosure provides a method of generating a transparent overlay for a real-time image of the target tissue. The method includes: generating an overlay based on stored overlay data, wherein at least one portion of the overlay includes predetermined color information; determining a percentage of transparency of the at least one portion of the overlay based on the predetermined color information; generating an augmented image based on the overlay, the real-time image, and the determined percentage of transparency; and outputting the augmented image on a display.

In aspects, determining the percentage of transparency of at least one portion of the overlay based on the predetermined color information may include accessing a stored color lookup table configured to provide a percentage of transparency for each value of the predetermined color information.

In aspects, accessing the stored color lookup table may include returning a percentage of transparency based on the predetermined color information.

In aspects, the real-time image may include a plurality of first pixels.

In aspects, generating the augmented image based on the overlay, the real-time image, and the determined percentage of transparency may include matching at least one portion of the overlay with the real-time image and superimposing the at least one portion of the overlay at the determined percentage of transparency onto the real-time image.

Various aspects of the present disclosure are described herein with reference to the drawings wherein:.

The presently disclosed surgical robotic system is 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 will be described in detail below, the present disclosure is directed to a surgical robotic system, which includes a surgical console, a control tower, and one or more movable carts having a surgical robotic arm coupled to a setup arm. The control tower includes a controller, which is configured to determine a percentage of transparency for an overlay and superimpose the overlay over a real-time image of a target tissue to prevent occlusion of the underlying real-time image. While the details described below refers to a surgical robotic system, it is to be understood that such disclosure is exemplary and should not be limited to the surgical robotic system. The disclosure may be applied to any suitable surgical system with limited video feed input.

The term "application" may include a computer program designed to perform functions, tasks, or activities for the benefit of a user. Application may refer to, for example, software running locally or remotely, as a standalone program or in a web browser, or other software which would be understood by one skilled in the art to be an application. An application may run on a controller, or on a user device, including, for example, a mobile device, an IOT device, or a server system.

With reference to <FIG>, a surgical robotic system <NUM> includes a control tower <NUM>, which is connected to all of the components of the surgical robotic system <NUM> including a surgical console <NUM> and one or more robotic arms <NUM>. Each of the robotic arms <NUM> includes a surgical instrument <NUM> removably coupled thereto. Each of the robotic arms <NUM> is also coupled to a movable cart <NUM>.

The surgical instrument <NUM> is configured for use during minimally invasive surgical procedures. Alternatively, the surgical instrument <NUM> may be configured for open surgical procedures. In aspects, the surgical instrument <NUM> may be an endoscope configured to provide a video feed for the user, may be an electrosurgical forceps configured to seal tissue by compression tissue between jaw members and applying electrosurgical current thereto, or may be a surgical stapler including a pair of jaws configured to grasp and clamp tissue whilst deploying a plurality of tissue fasteners, e.g., staples, and cutting stapled tissue.

Each of the robotic arms <NUM> may include an input capture device or camera <NUM> configured to capture video of a surgical site. The camera <NUM> may be a stereoscopic camera and may be disposed on the robotic arm <NUM>. The surgical console <NUM> includes a first display <NUM>, which displays a video feed <NUM> of the surgical site (<FIG> and <FIG>) provided by camera <NUM> disposed on the robotic arms <NUM>, and a second display device <NUM>, which displays a user interface for controlling the surgical robotic system <NUM>.

The surgical console <NUM> also includes a plurality of user interface devices, such as foot pedals <NUM> and a pair of handle controllers 38a and 38b which are used by a user to remotely control robotic arms <NUM>, e.g., a teleoperation of the robotic arms <NUM> via the surgical console <NUM>.

The control tower <NUM> includes a display <NUM>, which may be a touchscreen, and outputs on the graphical user interfaces (GUIs). The control tower <NUM> also acts as an interface between the surgical console <NUM> and one or more robotic arms <NUM>. In particular, the control tower <NUM> is configured to control the robotic arms <NUM>, such as to move the robotic arms <NUM> and the corresponding surgical instrument <NUM>, based on a set of programmable instructions and/or input commands from the surgical console <NUM>, in such a way that robotic arms <NUM> and the surgical instrument <NUM> execute a desired movement sequence in response to input from the foot pedals <NUM> and/or the handle controllers 38a and 38b.

Each of the control tower <NUM>, the surgical console <NUM>, and the robotic arm <NUM> includes a respective computer <NUM>, <NUM>, <NUM>. The computers <NUM>, <NUM>, <NUM> are interconnected to each other using any suitable communication network based on wired or wireless communication protocols. The term "network," whether plural or singular, as used herein, denotes a data network, including, but not limited to, the Internet, Intranet, a wide area network, or a local area networks, and without limitation as to the full scope of the definition of communication networks as encompassed by the present disclosure. Suitable protocols include, but are not limited to, transmission control protocol/internet protocol (TCP/IP), datagram protocol/internet protocol (UDP/IP), and/or datagram congestion control protocol (DCCP). Wireless communication may be achieved via one or more wireless configurations, e.g., radio frequency, optical, Wi-Fi, Bluetooth (an open wireless protocol for exchanging data over short distances, using short length radio waves, from fixed and mobile devices, creating personal area networks (PANs), ZigBee® (a specification for a suite of high level communication protocols using small, low-power digital radios based on the IEEE <NUM>. <NUM>-<NUM> standard for wireless personal area networks (WPANs)).

The computers <NUM>, <NUM>, <NUM> may include any suitable processor (not shown) operably connected to a memory (not shown), which may include one or more of volatile, non-volatile, magnetic, optical, or electrical media, such as read-only memory (ROM), random access memory (RAM), electrically-erasable programmable ROM (EEPROM), non-volatile RAM (NVRAM), or flash memory. The processor may be any suitable processor (e.g., control circuit) adapted to perform the operations, calculations, and/or set of instructions described in the present disclosure including, but not limited to, a hardware processor, a field programmable gate array (FPGA), a digital signal processor (DSP), a central processing unit (CPU), a microprocessor, and combinations thereof. Those skilled in the art will appreciate that the processor may be substituted for by using any logic processor (e.g., control circuit) adapted to execute algorithms, calculations, and/or set of instructions described herein.

With reference to <FIG>, each of the robotic arms <NUM> may include a plurality of links 42a, 42b, 42c, which are interconnected at joints 44a, 44b, 44c, respectively. The joint 44a is configured to secure the robotic arm <NUM> to the movable cart <NUM> and defines a first longitudinal axis. With reference to <FIG>, the movable cart <NUM> includes a lift <NUM> and a setup arm <NUM>, which provides a base for mounting of the robotic arm <NUM>. The lift <NUM> allows for vertical movement of the setup arm <NUM>. The movable cart <NUM> also includes a display <NUM> for displaying information pertaining to the robotic arm <NUM>.

The setup arm <NUM> includes a first link 62a, a second link 62b, and a third link 62c, which provide for lateral maneuverability of the robotic arm <NUM>. The links 62a, 62b, 62c are interconnected at joints 63a and 63b, each of which may include an actuator (not shown) for rotating the links 62b and 62b relative to each other and the link 62c. In particular, the links 62a, 62b, 62c are movable in their corresponding lateral planes that are parallel to each other, thereby allowing for extension of the robotic arm <NUM> relative to a patient on a surgical table (not shown). The robotic arm <NUM> may be coupled to the surgical table (not shown). The setup arm <NUM> includes controls for adjusting movement of the links 62a, 62b, 62c as well as the lift <NUM>.

The third link 62c includes a rotatable base <NUM> having two degrees of freedom. In particular, the rotatable base <NUM> includes a first actuator 64a and a second actuator 64b. The first actuator 64a is rotatable about a first stationary arm axis which is perpendicular to a plane defined by the third link 62c and the second actuator 64b is rotatable about a second stationary arm axis which is transverse to the first stationary arm axis. The first and second actuators 64a and 64b allow for full three-dimensional orientation of the robotic arm <NUM>.

The robotic arm <NUM> also includes a plurality of manual override buttons <NUM> (<FIG>) disposed on the IDU <NUM> and the setup arm <NUM>, which may be used in a manual mode. The clinician may press one or the buttons <NUM> to move the component associated with the button <NUM>.

With reference to <FIG>, the robotic arm <NUM> also includes a holder <NUM> defining a second longitudinal axis and configured to receive an instrument drive unit (IDU) <NUM> (<FIG>). The IDU <NUM> is configured to couple to an actuation mechanism of the surgical instrument <NUM> and/or the camera <NUM> and is configured to move (e.g., rotate) and actuate the instrument <NUM> and/or the camera <NUM>. IDU <NUM> transfers actuation forces from its actuators to the surgical instrument <NUM> to actuate components (e.g., end effectors) of the surgical instrument <NUM>. The holder <NUM> includes a sliding mechanism 46a, which is configured to move the IDU <NUM> along the second longitudinal axis defined by the holder <NUM>. The holder <NUM> also includes a joint 46b, which rotates the holder <NUM> relative to the link 42c.

The joints 44a and 44b include an actuator 48a and 48b (<FIG>) configured to drive the joints 44a, 44b, 44c relative to each other through a series of belts 45a and 45b or other mechanical linkages such as a drive rod, a cable, or a lever and the like. In particular, the actuator 48a is configured to rotate the robotic arm <NUM> about a longitudinal axis defined by the link 42a.

The actuator 48b of the joint 44b is coupled to the joint 44c via the belt 45a, and the joint 44c is in turn coupled to the joint 46c via the belt 45b. Joint 44c may include a transfer case coupling the belts 45a and 45b, such that the actuator 48b is configured to rotate each of the links 42b, 42c and the holder <NUM> relative to each other. More specifically, links 42b, 42c, and the holder <NUM> are passively coupled to the actuator 48b which enforces rotation about a remote center point "P" which lies at an intersection of the first axis defined by the link 42a and the second axis defined by the holder <NUM>. Thus, the actuator 48b controls the angle θ between the first and second axes allowing for orientation of the surgical instrument <NUM>. Due to the interlinking of the links 42a, 42b, 42c, and the holder <NUM> via the belts 45a and 45b, the angles between the links 42a, 42b, 42c, and the holder <NUM> are also adjusted in order to achieve the desired angle θ. Some or all of the joints 44a, 44b, 44c may include an actuator to obviate the need for mechanical linkages.

With reference to <FIG>, each of the computers <NUM>, <NUM>, <NUM> of the surgical robotic system <NUM> may include a plurality of controllers, which may be embodied in hardware and/or software. The computer <NUM> of the control tower <NUM> includes a controller 21a, the controller 21a receives data from the computer <NUM> of the surgical console <NUM> about the current position and/or orientation of the handle controllers 38a and 38b and the state of the foot pedals <NUM> and other buttons. The controller 21a processes these input positions to determine desired drive commands for each joint of the robotic arm <NUM> and/or the instrument drive unit <NUM> and communicates these to the computer <NUM> of the robotic arm <NUM>. The controller 21a also receives back the actual joint angles and uses this information to determine force feedback commands that are transmitted back to the computer <NUM> of the surgical console <NUM> to provide haptic feedback through the handle controllers 38a and 38b.

The computer <NUM> includes a plurality of controllers, namely, a main cart controller 41a, a setup arm controller 41b, a robotic arm controller 41c, and an instrument drive unit (IDU) controller 41d. The main cart controller 41a receives and processes joint commands from the controller 21a of the computer <NUM> and communicates them to the setup arm controller 41b, the robotic arm controller 41c, and the IDU controller 41d. The main cart controller 41a also manages instrument exchanges and the overall state of the movable cart <NUM>, the robotic arm <NUM>, and the instrument drive unit <NUM>. The main cart controller 41a also communicates actual joint angles back to the controller 21a.

The setup arm controller 41b controls each of joints 63a and 63b, and the rotatable base <NUM> of the setup arm <NUM> and calculates desired motor movement commands (e.g., motor torque) for the pitch axis and controls the brakes. The robotic arm controller 41c controls each joint 44a and 44b of the robotic arm <NUM> and calculates desired motor torques required for gravity compensation, friction compensation, and closed loop position control of the robotic arm <NUM>. The robotic arm controller 41c calculates a movement command based on the calculated torque. The calculated motor commands are then communicated to one or more of the actuators 48a and 48b in the robotic arm <NUM>. The actual joint positions are then transmitted by the actuators 48a and 48b back to the robotic arm controller 41c.

The IDU controller 41d receives desired joint angles for the surgical instrument <NUM>, such as wrist and jaw angles, and computes desired currents for the motors in the instrument drive unit <NUM>. The IDU controller 41d calculates actual angles based on the motor positions and transmits the actual angles back to the main cart controller 41a.

The robotic arm <NUM> is controlled as follows. Initially, a pose of the handle controller controlling the robotic arm <NUM>, e.g., the handle controller 38a, is transformed into a desired pose of the robotic arm <NUM> through a hand eye transform function executed by the controller 21a. The hand eye function, as well as other functions described herein, is/are embodied in software executable by the controller 21a or any other suitable controller described herein. The pose of one of the handle controller 38a may be embodied as a coordinate position and role-pitch-yaw ("RPY") orientation relative to a coordinate reference frame, which is fixed to the surgical console <NUM>. The desired pose of the instrument <NUM> is relative to a fixed frame on the robotic arm <NUM>. The pose of the handle controller 38a is then scaled by a scaling function executed by the controller 21a. In aspects, the coordinate position is scaled down and the orientation is scaled up by the scaling function. In addition, the controller 21a also executes a clutching function, which disengages the handle controller 38a from the robotic arm <NUM>. In particular, the controller 21a stops transmitting movement commands from the handle controller 38a to the robotic arm <NUM> if certain movement limits or other thresholds are exceeded and in essence acts like a virtual clutch mechanism, e.g., limits mechanical input from effecting mechanical output.

The desired pose of the robotic arm <NUM> is based on the pose of the handle controller 38a and is then passed by an inverse kinematics function executed by the controller 21a. The inverse kinematics function calculates angles for the joints 44a, 44b, 44c of the robotic arm <NUM> that achieve the scaled and adjusted pose input by the handle controller 38a. The calculated angles are then passed to the robotic arm controller 41c, which includes a joint axis controller having a proportional-derivative (PD) controller, the friction estimator module, the gravity compensator module, and a two-sided saturation block, which is configured to limit the commanded torque of the motors of the joints 44a, 44b, 44c.

With continued reference to <FIG>, <FIG>, <FIG>, and <FIG>, computer <NUM> of the surgical console <NUM> further includes a controller 31a and a memory 31b. The memory 31b is configured to store overlay data and a color lookup table.

The overlay data includes text or images such as, for example, pre-operative diagnostic images taken of the target tissue at the surgical site (e.g., CT, MRI, fluoroscopic imaging). The controller 31a is configured to receive the stored overlay data and generate an overlay <NUM>. The overlay <NUM> may be text, images, a three-dimensional model generated from the pre-operative diagnostic images, or any combination thereof (<FIG> and <FIG>).

The overlay <NUM> is configured to be divided into a plurality of bounding boxes 320a (<FIG>) or a plurality of pixels 320b (<FIG>). Each bounding box 320a or pixel 320b of overlay <NUM> is configured to have a predetermined color code and/or color information. The predetermined color information may be a color code derived from RGB or YUV color values, or any other suitable color codes. The color lookup table stored in memory 31b includes a plurality of predefined color codes with a corresponding predefined percentage of transparency. In embodiments, a color code equivalent to black may correspond to a percentage of transparency of <NUM>%, green may correspond to a percentage of transparency of <NUM>%, and orange may correspond to a percentage of transparency of <NUM>%. The controller 31a is further configured to determine the percentage of transparency for each bounding box 320a or pixel 320b of overlay <NUM>. The percentage of transparency is determined by accessing the color lookup table to compare the predetermined color information of the plurality of bounding boxes 320a or pixels 320b of overlay <NUM> with a predefined color code and return the corresponding predefined percentage of transparency.

With reference to <FIG>, and <FIG>, when the overlay <NUM> includes bounding boxes 320a, the controller 31a is configured to match a position and dimension of the plurality of bounding boxes 320a of the overlay <NUM> (<FIG>) with a position and dimension of the video feed <NUM> of the surgical site (<FIG>). Upon matching the plurality of bounding boxes 320a of the overlay <NUM> with the dimension of the video feed <NUM>, the controller 31a generates an augmented image <NUM> to be displayed on first display <NUM>. The augmented image <NUM> is generated by superimposing each bounding box of the plurality of bounding boxes 320a over the video feed <NUM> based on the determined percentage of transparency.

With reference to <FIG>, <FIG>, in the instances, that the overlay <NUM> includes pixels 320b, the controller 31a is configured to match each of plurality of pixels 320b (<FIG>) with a plurality of pixels 310a of the video feed <NUM> of the surgical site (<FIG>). Upon matching the plurality of pixels 320b of the overlay <NUM> and the plurality of pixels 310a of the video feed <NUM>, the controller 31a generates an augmented image <NUM>. The augmented image <NUM> is generated by superimposing each pixel of the plurality of pixels 320b of the overlay <NUM> over each pixel of the plurality of pixels 320b of the video feed <NUM> based on the determined percentage of transparency.

Claim 1:
A surgical robotic system (<NUM>) comprising:
a control tower (<NUM>);
a mobile cart coupled to the control tower, the mobile cart including a surgical robotic arm (<NUM>), the surgical robotic arm including:
a surgical instrument (<NUM>) actuatable in response to a user input and configured to treat a target tissue; and
an image capture device (<NUM>) configured to capture a real-time image of the target tissue, the real-time image including a plurality of first pixels (<NUM>10a); and
a surgical console (<NUM>) coupled to the control tower, the surgical console including:
a display (<NUM>);
a memory (31b) configured to store overlay data;
a user input device (<NUM>, 38a, 38b) configured to generate the user input; and
a controller (31a) operably coupled to the display, the memory, and the user input device, the controller configured to:
generate an overlay (<NUM>) based on the stored overlay data, the overlay including a plurality of second pixels (320b), wherein each second pixel of the plurality of second pixels includes predetermined color information;
determine a percentage of transparency of each second pixel of the plurality of second pixels based on the predetermined color information;
generate an augmented image (<NUM>) based on the overlay, the real-time image, and the determined percentage of transparency; and
output the augmented image on the display.