Surgical robotic system for parameter error-guided motion scaling for hard stop prevention
The surgical robotic system addresses hard stops by adjusting motor movement based on error calculations, ensuring continuous operation and preventing abrupt cessation during minimally invasive surgeries.
Patent Information
- Application Number
- PCT/IB2025/057417
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-26
- Filing Date
- 2025-07-22
- Publication Date
- 2026-01-29
AI Technical Summary
Surgical robotic systems face issues with hard stops due to motor parameter errors, leading to abrupt cessation of operations, which can disrupt minimally invasive procedures.
A surgical robotic system that adjusts motor movement based on calculated current or torque errors, using a processor to determine a scaling factor and modify movement commands to prevent hard stops, allowing continuous operation.
Prevents abrupt stops by dynamically adjusting motor movement, ensuring smooth operation and continuity of surgical procedures.
Smart Images

Figure IB2025057417_29012026_PF_FP_ABST
Abstract
Description
SURGICAL ROBOTIC SYSTEM FOR PARAMETER ERROR-GUIDED MOTION SCALING FOR HARD STOP PREVENTIONCROSS-REFERENCE TO RELATED APPLICATION
[0001] This application claims the benefit of U.S. Provisional Patent Application Serial No. 63 / 675,833, filed July 26, 2024, the entire content of which is incorporated herein by reference.BACKGROUND
[0002] Surgical robotic systems are currently being used in a variety of surgical procedures, including minimally invasive medical procedures. Some surgical robotic systems include a surgeon console controlling a surgical robotic arm and a surgical instrument having an end effector (e.g., forceps or grasping instrument) coupled to and actuated by the robotic arm. In operation, the robotic arm is moved to a position over a patient and then guides the surgical instrument into a small incision via a surgical port or a natural orifice of a patient to position the end effector at a work site within the patient’s body. The robotic arm and the instrument are actuated using motors, which may be controlled using various parameters.SUMMARY
[0003] The present disclosure provides for a surgical robotic system including a robotic arm having a plurality of links and one or more arm motors for moving the links. The robotic arm also includes an instrument drive unit (IDU) having one or more IDU motors for actuating an instrument. The robotic arm and the IDU are controlled (e.g., moved and / or actuated) in response to movement inputs received at a surgeon console, which includes a control arm and a handle controller coupled thereto. The surgeon console also includes one or more back drivable motors that maintain (e.g., gravity compensation) the control arm in a neutral position unless moved by a user.
[0004] The surgeon console motors are controlled using a motor controller (e.g., corresponding to each of the motors) based on parameters measured by one or more sensors, such as a current sensor, a torque sensor, a position sensor, and the like. The current sensor measures the current draw of the motor, the torque sensor measures the torque output by the motor, and the position sensor measures angular position of the motor.
[0005] The motor controller calculates a current error, which is a difference between a desired current and the actual current. The desired current corresponds to current to be provided to the motor to achieve a desired torque command. The actual current is the current draw measuredduring motor actuation achieving the desired torque command. The current error is used to determine whether the motor is operating correctly. The current error is compared to an error threshold by the motor controller. If the current error exceeds the error threshold, e.g., due to the robotic arm and / or the instrument encountering a hard stop, then the motor controller takes remedial action, such as stopping operation of the robotic arm and / or instrument. In this instance, the surgeon may continue the surgical procedure as a manual laparoscopic or open procedure.
[0006] The present disclosure provides for an alternative approach in dealing with a current error experienced by a surgeon console motor. Rather than completely stop motor movement of the robotic arm and / or IDU, a processor adjusts the torque or other movement commands of the robotic arm motor(s) based on the degree or scale of the current error of the surgeon console motor. The surgeon console motor controller calculates the current error and based on the amount of the difference above the error threshold. The processor slows the robotic arm motor based on the difference between the current error and the error threshold. Thus, when the current error is high, the robotic arm and IDU motor(s) may be slowed down to a point where they are halted, and the robotic arm and / or the instrument being actuated by the motor are stopped. This approach prevents completely stopping operation of the motor unless the current error exceeds a preset threshold and allows the surgeon to continue a procedure with a robotic platform.
[0007] In lieu of current draw, other motor parameters, such as torque, may be used instead. In this instance, torque error is calculated by subtracting the desired torque from the measured torque. Torque error is then compared to a torque error threshold. If the torque error is above the torque error threshold, then the scaling factor is calculated based on the torque error. The scaling factor is then used to adjust the motion applied by the motor(s) of the robotic arm and / or IDU.
[0008] According to one embodiment of the present disclosure, a surgical robotic system is disclosed. The surgical robotic system includes a surgeon console including a movable control arm and a handle controller coupled to the control arm. The handle controller is configured to receive a movement command. The surgeon console also includes a console motor configured to manipulate the control arm and a motor parameter sensor configured to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm. . The system also includes a robotic arm with a robotic arm motor. The system further includes a controller configured to configured to calculate a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; calculate ascaling factor based on the motor parameter error; and adjust the movement command for controlling the robotic arm motor based on the scaling factor.
[0009] Implementations of the above embodiment may include one or more of the following features. In one aspect, the controller may compare the motor parameter error to a motor parameter error threshold and pass the movement command directly to the robotic arm motor if the motor parameter error is below the threshold. The controller may also adjust the movement command for motor control based on the scaling factor if the motor parameter error exceeds the error threshold. In some variations, the motor parameter sensor could be a current sensor that measures the robotic arm motor’s current, or a torque sensor that measures the robotic arm motor’s torque. The scaling factor may be proportional to the motor parameter error. Adjusting the movement command could involve modifying the robotic arm motor’s velocity.
[0010] According to another embodiment of the present disclosure, a method for controlling motor movement in a surgical robotic system is disclosed. The method includes manipulating a movable control arm of a surgeon console using a console motor, where the movable control arm includes a handle controller coupled to the control arm and the handle controller is configured to receive a movement command. The method also includes receiving a movement command from the handle controller for controlling a robotic arm and using a motor parameter sensor to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm. The method further includes calculating a motor parameter error as a difference between the measured motor parameter and a desired motor parameter and determining a scaling factor based on the motor parameter error. The method additionally includes adjusting the movement command for controlling a robotic arm motor of the robotic arm based on the scaling factor and actuating a robotic arm motor of a robotic arm based on the movement command.
[0011] Implementations of the above embodiment may include one or more of the following features. According to one aspect of the above embodiment, the method may also include comparing the motor parameter error to a motor parameter error threshold and passing the movement command directly to the robotic arm motor if the motor parameter error is below the motor parameter error threshold. The method may further include adjusting the movement command based on the scaling factor if the motor parameter error exceeds the motor parameter error threshold. The method may additionally include selecting the motor parameter from current or torque measurements. The method may further include applying a scaling function to determine the scaling factor, the scaling function defining a proportional, exponential, orlogarithmic relationship between the motor parameter error and the scaling factor. The method may also include dynamically modifying the scaling function during operation based on realtime conditions or user preferences. The method may further include recording data related to the motor parameter error, the scaling factor, and adjusted movement commands for postprocedure analysis and system improvement. The method may additionally include providing feedback to an operator regarding the motor parameter error and the resulting adjustments to motor movement via a visual or auditory alert system.
[0012] According to a further embodiment of the present disclosure, a non-transitory computer-readable medium storing instructions that when executed by one or more processors, cause the one or more processors to perform a method for controlling motor movement in a surgical robotic system. The non-transitory computer-readable medium storing instructions include manipulating a movable control arm of a surgeon console using a console motor, where the movable control arm includes a handle controller coupled to the control arm. The handle controller is configured to receive a movement command. The instructions also include receiving a movement command from the handle controller at the surgeon console for actuating a robotic arm based on the movement command. The instructions further include using a motor parameter sensor to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm. The instructions further include calculating a motor parameter error as a difference between the measured motor parameter and a desired motor parameter and determining a scaling factor based on the motor parameter error. The instructions additionally include adjusting the movement command for controlling the robotic arm motor based on the scaling factor and actuating the robotic arm motor of the robotic arm based on the movement command.
[0013] Implementations of the above embodiment may include one or more of the following features. According to one aspect of the above embodiment, the instructions may also cause the one or more processors to further perform: comparing the motor parameter error to a motor parameter error threshold; and passing the movement command directly to the robotic arm motor if the motor parameter error is below the motor parameter error threshold. The instructions may further cause the one or more processors to further perform: adjusting the movement command based on the scaling factor if the motor parameter error exceeds the motor parameter error threshold. The instructions may additionally cause the one or more processors to further perform: selecting the motor parameter from current or torque measurements. The instructions may also cause the one or more processors to further perform: applying a scaling function to determine the scaling factor, the scaling function defining a proportional,exponential, or logarithmic relationship between the motor parameter error and the scaling factor and dynamically modifying the scaling function during operation based on real-time conditions or user preferences.BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Various embodiments of the present disclosure are described herein with reference to the drawings wherein:
[0015] FIG. 1 is a schematic illustration of a surgical robotic system including a control tower, a console, and one or more surgical robotic arms each disposed on a movable cart according to an embodiment of the present disclosure;
[0016] FIG. 2 is a perspective view of a surgical robotic arm of the surgical robotic system of FIG. 1 according to an embodiment of the present disclosure;
[0017] FIG. 3 is a perspective view of a movable cart having a setup arm with the surgical robotic arm of the surgical robotic system of FIG. 1 according to an embodiment of the present disclosure;
[0018] FIG. 4 is a schematic diagram of a computer architecture of the surgical robotic system of FIG. 1 according to an embodiment of the present disclosure;
[0019] FIG. 5 is a plan schematic view of movable carts of FIG. 1 positioned about a surgical table according to an aspect of the present disclosure;
[0020] FIG. 6 is a perspective view, with parts separated, of an instrument drive unit and a surgical instrument according to an embodiment of the present disclosure;
[0021] FIG. 7 is a schematic diagram of a system for determining phases of a surgical procedure according to an embodiment of the present disclosure;
[0022] FIG. 8 is a perspective view of a control arm of the user console according to an embodiment of the present disclosure;
[0023] FIG. 9 is a schematic diagram of a system for current error-guided motion scaling for hard stop prevention according to an embodiment of the present disclosure; and
[0024] FIG. 10 is a flow chart of a method for current error-guided motion scaling for hard stop prevention according to an embodiment of the present disclosure.DETAILED DESCRIPTION
[0025] Embodiments of the presently disclosed surgical robotic system are described in detail with reference to the drawings, in which like reference numerals designate identical or corresponding elements in each of the several views.
[0026] As will be described in detail below, the present disclosure is directed to a surgical robotic system, which includes a surgeon console, a control tower, and one or more movable carts having a surgical robotic arm coupled to a setup arm. The surgeon console receives user input through one or more interface devices. The input is processed by the control tower as movement commands for moving the surgical robotic arm and an instrument and / or camera coupled thereto. Thus, the surgeon console enables teleoperation of the surgical arms and attached instruments / camera. The surgical robotic arm includes a controller, which is configured to process the movement commands and to generate a torque commands for activating one or more motors of the robotic arm, which would, in turn, move the robotic arm in response to the movement commands.
[0027] With reference to FIG. 1, a surgical robotic system 10 includes a control tower 20, which is connected to all of the components of the surgical robotic system 10 including a surgeon console 30 and one or more movable carts 60. Each of the movable carts 60 includes a robotic arm 40 having a surgical instrument 50 coupled thereto. The robotic arms 40 also couple to the movable carts 60. The robotic system 10 may include any number of movable carts 60 and / or robotic arms 40.
[0028] The surgical instrument 50 is configured for use during minimally invasive surgical procedures. In embodiments, the surgical instrument 50 may be configured for open surgical procedures. In further embodiments, the surgical instrument 50 may be an electrosurgical forceps configured to seal tissue by compressing tissue between jaw members and applying electrosurgical current thereto. In yet further embodiments, the surgical instrument 50 may be a surgical stapler including a pair of jaws configured to grasp and clamp tissue while deploying a plurality of tissue fasteners, e.g., staples, and cutting stapled tissue. In yet further embodiments, the surgical instrument 50 may be a surgical clip applier including a pair of jaws configured to apply a surgical clip onto tissue. However, it will be understood that various types of surgical instruments for use during minimally invasive surgical procedures are contemplated and within the scope of this disclosure.
[0029] One of the robotic arms 40 may include an endoscopic camera 51 configured to capture video of the surgical site. The endoscopic camera 51 may be a stereoscopic endoscope configured to capture two side-by-side (i.e., left and right) images of the surgical site to produce a video stream of the surgical scene. The endoscopic camera 51 is coupled to a video processing device 56, which may be disposed within the control tower 20. The video processing device 56 may be any computing device as described below configured to receive the video feed from the endoscopic camera 51 and output the processed video stream.
[0030] The surgeon console 30 includes a first display 32, which displays a video feed of the surgical site provided by camera 51 disposed on the robotic arm 40, and a second display 34, which displays a user interface for controlling the surgical robotic system 10. The first display 32 and second display 34 may be touchscreens allowing for displaying various graphical user inputs.
[0031] The surgeon console 30 also includes a plurality of user interface devices, such as foot pedals 36 and a pair of handle controllers 38a and 38b which are used by a user to remotely control robotic arms 40. The surgeon console further includes an armrest 33 used to support clinician’s arms while operating the handle controllers 38a and 38b each of which is coupled to a control arm 37a and 37b, respectively.
[0032] The control tower 20 includes a display 23, which may be a touchscreen that may display the graphical user interfaces (GUIs). The control tower 20 also acts as an interface between the surgeon console 30 and one or more robotic arms 40. In particular, the control tower 20 is configured to control the robotic arms 40, such as to move the robotic arms 40 and the corresponding surgical instrument 50, based on a set of programmable instructions and / or input commands from the surgeon console 30, in such a way that robotic arms 40 and the surgical instrument 50 execute a desired movement sequence in response to input from the foot pedals 36 and the handle controllers 38a and 38b. The foot pedals 36 may be used to enable and lock the handle controllers 38a and 38b, repositioning camera movement and electrosurgical activation / deactivation. In particular, the foot pedals 36 may be used to perform a clutching action on the handle controllers 38a and 38b. Clutching is initiated by pressing one of the foot pedals 36, which disconnects (i.e., prevents movement inputs) the handle controllers 38a and / or 38b from the robotic arm 40 and corresponding instrument 50 or camera 51 attached thereto. This allows the user to reposition the handle controllers 38a and 38b without moving the robotic arm(s) 40 and the instrument 50 and / or camera 51. This is useful when reaching control boundaries of the surgical space.
[0033] Each of the control tower 20, the surgeon console 30, and the robotic arm 40 includes a respective computer 21, 31, 41. The computers 21, 31, 41 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 network, 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 / intemet protocol (TCP / IP), datagram protocol / intemetprotocol (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 122.15.4-1203 standard for wireless personal area networks (WPANs)).
[0034] The computers 21, 31, 41 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 by using any logic processor (e.g., control circuit) adapted to execute algorithms, calculations, and / or set of instructions described herein.
[0035] With reference to FIG. 2, each of the robotic arms 40 may include a plurality of links 42a, 42b, 42c, which are interconnected at joints 44a, 44b, 44c, respectively. Other configurations of links and joints may be utilized as known by those skilled in the art. The joint 44a is configured to secure the robotic arm 40 to the movable cart 60 and defines a first longitudinal axis. With reference to FIG. 3, the movable cart 60 includes a lift 67 and a setup arm 61, which provides a base for mounting of the robotic arm 40. The lift 67 allows for vertical movement of the setup arm 61. The movable cart 60 also includes a display 69 for displaying information pertaining to the robotic arm 40. In embodiments, the robotic arm 40 may include any type and / or number of joints.
[0036] The setup arm 61 includes a first link 62a, a second link 62b, and a third link 62c, which provide for lateral maneuverability of the robotic arm 40. The links 62a, 62b, 62c are interconnected at joints 63a and 63b, each of which may include a motor (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 40 relative to the patient (e.g., surgical table). In embodiments, the robotic arm 40 may be coupled to the surgical table (not shown). Thesetup arm 61 includes controls 65 for adjusting movement of the links 62a, 62b, 62c as well as the lift 67. In embodiments, the setup arm 61 may include any type and / or number of joints.
[0037] The third link 62c may include a rotatable base 64 having two degrees of freedom. In particular, the rotatable base 64 includes a first motor 64a and a second motor 64b. The first motor 64a is rotatable about a first stationary arm axis which is perpendicular to a plane defined by the third link 62c and the second motor 64b is rotatable about a second stationary arm axis which is transverse to the first stationary arm axis. The first and second motors 64a and 64b allow for full three-dimensional orientation of the robotic arm 40.
[0038] The motor 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 46b via the belt 45b. Joint 44c may include a transfer case coupling the belts 45a and 45b, such that the motor 48b is configured to rotate each of the links 42b, 42c and a holder 46 relative to each other. More specifically, links 42b, 42c, and the holder 46 are passively coupled to the motor 48b which enforces rotation about a pivot point “P” which lies at an intersection of the first axis defined by the link 42a and the second axis defined by the holder 46. In other words, the pivot point “P” is a remote center of motion (RCM) for the robotic arm 40. Thus, the motor 48b controls the angle 0 between the first and second axes allowing for orientation of the surgical instrument 50. Due to the interlinking of the links 42a, 42b, 42c, and the holder 46 via the belts 45a and 45b, the angles between the links 42a, 42b, 42c, and the holder 46 are also adjusted in order to achieve the desired angle 0. In embodiments, some or all of the joints 44a, 44b, 44c may include a motor to obviate the need for mechanical linkages.
[0039] The joints 44a and 44b include a motor 48a and 48b 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 motor 48a is configured to rotate the robotic arm 40 about a longitudinal axis defined by the link 42a.
[0040] With reference to FIG. 2, the holder 46 defines a second longitudinal axis and configured to receive an instrument drive unit (IDU) 52 (FIG. 1). The IDU 52 is configured to couple to an actuation mechanism of the surgical instrument 50 and the camera 51 and is configured to move (e.g., rotate) and actuate the instrument 50 and / or the camera 51. IDU 52 transfers actuation forces from its motors to the surgical instrument 50 to actuate components of an end effector 49 of the surgical instrument 50. The holder 46 includes a sliding mechanism 46a, which is configured to move the IDU 52 along the second longitudinal axis defined by the holder 46. The holder 46 also includes a joint 46b, which rotates the holder 46 relative to the link 42c. During endoscopic procedures, the instrument 50 may be inserted through anendoscopic access port 55 (FIG. 3) held by the holder 46. The holder 46 also includes a port latch 46c for securing the access port 55 to the holder 46 (FIG. 2).
[0041] The IDU 52 is attached to the holder 46, followed by a sterile interface module (SIM) 43 being attached to a distal portion of the IDU 52. The SIM 43 is configured to secure a sterile drape (not shown) to the IDU 52. The instrument 50 is then attached to the SIM 43. The instrument 50 is then inserted through the access port 55 by moving the IDU 52 along the holder 46. The SIM 43 includes a plurality of drive shafts configured to transmit rotation of individual motors of the IDU 52 to the instrument 50 thereby actuating the instrument 50. In addition, the SIM 43 provides a sterile barrier between the instrument 50 and the other components of robotic arm 40, including the IDU 52.
[0042] The robotic arm 40 also includes a plurality of manual override buttons 53 (FIG. 1) disposed on the IDU 52 and the setup arm 61, which may be used in a manual mode. The user may press one or more of the buttons 53 to move the component associated with the one or more buttons 53.
[0043] With reference to FIG. 4, each of the computers 21, 31, 41 of the surgical robotic system 10 may include a plurality of controllers, which may be embodied in hardware and / or software. The computer 21 of the control tower 20 includes a controller 21a and safety observer 21b. The controller 21a receives data from the computer 31 of the surgeon console 30 about the current position and / or orientation of the handle controllers 38a and 38b and the state of the foot pedals 36 and other buttons. The controller 21a processes these input positions to determine desired drive commands for each joint of the robotic arm 40 and / or the IDU 52 and communicates these to the computer 41 of the robotic arm 40. The controller 2 la also receives the actual joint angles measured by encoders of the motors 48a and 48b and uses this information to determine force feedback commands that are transmitted back to the computer 31 of the surgeon console 30 to provide haptic feedback through the handle controllers 38a and 38b. The safety observer 21b performs validity checks on the data going into and out of the controller 21a and notifies a system fault handler if errors in the data transmission are detected to place the computer 21 and / or the surgical robotic system 10 into a safe state.
[0044] The computer 41 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 21 and communicates them to the setup arm controller 41b, the robotic arm controller 41c, and the IDU controller 4 Id. The main cart controller 41a also manages instrument exchanges and the overall state of the movable cart 60, the robotic arm 40,and the IDU 52. The main cart controller 41a also communicates actual joint angles back to the controller 21a.
[0045] Each of joints 63a and 63b and the rotatable base 64 of the setup arm 61 are passive joints (i.e., no motors are present therein) allowing for manual adjustment thereof by a user. The joints 63a and 63b and the rotatable base 64 include brakes that are disengaged by the user to configure the setup arm 61. The setup arm controller 41b monitors slippage of each of joints 63a and 63b and the rotatable base 64 of the setup arm 61, when brakes are engaged or can be freely moved by the operator when brakes are disengaged, but do not impact controls of other joints. The robotic arm controller 41c controls each joint 44a and 44b of the robotic arm 40 and calculates desired motor torques required for gravity compensation, friction compensation, and closed loop position control of the robotic arm 40. 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 motors 48a and 48b in the robotic arm 40. The actual joint positions are then transmitted by the motors 48a and 48b back to the robotic arm controller 41c.
[0046] The IDU controller 4 Id receives desired joint angles for the surgical instrument 50, such as wrist and jaw angles, and computes desired currents for the motors in the IDU 52. The IDU controller 4 Id calculates actual angles based on the motor positions and transmits the actual angles back to the main cart controller 41a.
[0047] The robotic arm 40 is controlled in response to a pose of the handle controller controlling the robotic arm 40, e.g., the handle controller 38a, which is transformed into a desired pose of the robotic arm 40 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 2 la or any other suitable controller described herein. The pose of one of the handle controllers 38a may be embodied as a coordinate position and roll-pitch-yaw (RPY) orientation relative to a coordinate reference frame, which is fixed to the surgeon console 30. The desired pose of the instrument 50 is relative to a fixed frame on the robotic arm 40. The pose of the handle controller 38a is then scaled by a scaling function executed by the controller 21a. In embodiments, the coordinate position may be scaled down and the orientation may be scaled up by the scaling function. In addition, the controller 21a may also execute a clutching function, which disengages the handle controller 38a from the robotic arm 40. In particular, the controller 21a stops transmitting movement commands from the handle controller 38a to the robotic arm 40 if certain movement limits or other thresholdsare exceeded and in essence acts like a virtual clutch mechanism, e.g., limits mechanical input from effecting mechanical output.
[0048] The desired pose of the robotic arm 40 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 40 that achieve the scaled and adjusted pose input by the handle controller 38a. The desired 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. In aspects, handle controller 38a may be substituted for and / or employed in conjunction with handle controller 38b. While reference is made above to handle controller 38a, handle controller 38b may also be used in a similar manner.
[0049] With reference to FIG. 5, the surgical robotic system 10 is set up around a surgical table 90. The system 10 includes movable carts 60a-d, which may be numbered “1” through “4.” During setup, each of the carts 60a-d are positioned around the surgical table 90. Position and orientation of the carts 60a-d depends on a plurality of factors, such as placement of a plurality of access ports 55a-d, which in turn, depends on the surgery being performed. Once the port placements are determined, the access ports 55a-d are inserted into the patient, and carts 60a-d are positioned to insert instruments 50 and the endoscopic camera 51 into corresponding ports 55a-d.
[0050] During use, each of the robotic arms 40a-d is attached to one of the access ports 55a-d that is inserted into the patient by attaching the latch 46c (FIG. 2) to the access port 55 (FIG. 3). The IDU 52 is attached to the holder 46, followed by the SIM 43 being attached to a distal portion of the IDU 52. Thereafter, the instrument 50 is attached to the SIM 43. The instrument 50 is then inserted through the access port 55 by moving the IDU 52 along the holder 46.
[0051] With reference to FIG. 6, the IDU 52 is shown in more detail and is configured to transfer power and actuation forces from its motors 152a, 152b, 152c, 152d to the instrument 50 to drive movement of components of the instrument 50, such as articulation, rotation, pitch, yaw, clamping, cutting, etc. The IDU 52 may also be configured for the activation or firing of an electrosurgical energy-based instrument or the like (e.g., cable drives, pulleys, friction wheels, rack and pinion arrangements, etc.).
[0052] The IDU 52 includes a motor pack 150 and a sterile barrier housing 130. Motor pack 150 includes motors 152a, 152b, 152c, 152d for controlling various operations of theinstrument 50. The instrument 50 is removably couplable to IDU 52. As the motors 152a, 152b, 152c, 152d of the motor pack 150 are actuated, rotation of the drive transfer shafts 154a, 154b, 154c, 154d of the motors 152a, 152b, 152c, 152d, respectively, is transferred to the drive assemblies of the instrument 50. The instrument 50 is configured to transfer rotational force s / movement supplied by the IDU 52 (e.g., via the motors 152a, 152b, 152c, 152d of the motor pack 150) into longitudinal movement or translation of the cables or drive shafts to effect various functions of an end effector (not shown).
[0053] Each of the motors 152a, 152b, 152c, 152d includes a current sensor 153, a torque sensor 155, and a position sensor 157. For conciseness only operation of the motor 152a is described below, however, it will be understood that motors 152b-d may operate in a similar manner. The sensors 153, 155, 157 monitor the performance of the motor 152a. The current sensor 153 is configured to measure the current draw of the motor 152a and the torque sensor 155 is configured to measure motor torque. The torque sensor 155 may be any force or strain sensor including one or more strain gauges configured to convert mechanical forces and / or strain into a sensor signal indicative of the torque output by motor 152a. Position sensor 157 may be any device that provides a sensor signal indicative of the number of rotations of the motor 152a, such as a mechanical encoder or an optical encoder. Parameters which are measured and / or determined by position sensor 157 may include speed, distance, revolutions per minute, position, and the like. The sensor signals from sensors 153, 155, 157 are transmitted to the IDU controller 4 Id, which then controls the motors 152a, 152b, 152c, 152d based on the sensor signals. In particular, the motors 152a, 152b, 152c, 152d are controlled by a motor controller 159, which controls torque outputted and angular velocity of the motors 152a, 152b, 152c, 152d. In embodiments, additional position sensors may also be used, which include, but are not limited to, potentiometers coupled to movable components and configured to detect travel distances, Hall Effect sensors, accelerometers, and gyroscopes. In embodiments, a single controller can perform the functionality of the IDU controller 41 d and the motor controller 159. The motors of the robotic arm 40 and the setup arm 61 include the same sensors as described above and provide the same feedback parameters that are used by their respective motor controllers in the same manner.
[0054] With reference to FIG. 6, instrument 50 includes an adapter 160 having a housing 162 at a proximal end portion thereof and an elongated shaft 164 that extends distally from housing 162. Housing 162 of instrument 50 is configured to selectively couple to IDU 52, to enable motors 152a, 152b, 152c, 152d of IDU 52 to operate the end effector 200 ofthe instrument 50. Housing 162 of instrument 50 supports a drive assembly that mechanically and / or electricallycooperates with motors 152a, 152b, 152c, 152d of IDU 52. Drive assembly of instrument 50 may include any suitable electrical and / or mechanical component to effectuate driving force / movement.
[0055] With reference to FIG. 7, the surgical robotic system 10 may include an AI / ML processing system 310 that processes the surgical data using one or more ML models to identify one or more features, such as surgical phase, instrument, anatomical structure, etc., in the surgical data. The ML processing system 310 includes a ML training system 325, which may be a separate device (e.g., server) that stores its output as one or more trained ML models 330. The ML models 330 are accessible by a ML execution system 340. The ML execution system 340 may be separate from the ML training system 325, namely, devices that “train” the models are separate from devices that “infer,” i.e., perform real-time processing of surgical data using the trained ML models 330.
[0056] System 10 includes a data reception system 305 that collects surgical data, including the video data and surgical instrumentation data. The data reception system 305 can include one or more devices (e.g., one or more user devices and / or servers) located within and / or associated with a surgical operating room and / or control center. The data reception system 305 can receive surgical data in real-time, i.e., as the surgical procedure is being performed.
[0057] The ML processing system 310, in some examples, may further include a data generator 315 to generate simulated surgical data, such as a set of virtual or masked images, or record the video data from the image processing device 56, to train the ML models 330 as well as other sources of data, e.g., user input, arm movement, etc. Data generator 315 can access (read / write) a data store 320 to record data, including multiple images and / or multiple videos.
[0058] The ML processing system 310 also includes a phase detector 350 that uses the ML models to identify a phase within the surgical procedure. Phase detector 350 uses a particular procedural tracking data structure 355 from a list of procedural tracking data structures. Phase detector 350 selects the procedural tracking data structure 355 based on the type of surgical procedure that is being performed. In one or more examples, the type of surgical procedure is predetermined or input by user. The procedural tracking data structure 355 identifies a set of potential phases that may correspond to a part of the specific type of surgical procedure.
[0059] In some examples, the procedural tracking data structure 355 may be a graph that includes a set of nodes and a set of edges, with each node corresponding to a potential phase. The edges may provide directional connections between nodes that indicate (via the direction) an expected order during which the phases will be encountered throughout an iteration of the surgical procedure. The procedural tracking data structure 355 may include one or morebranching nodes that feed to multiple next nodes and / or may include one or more points of divergence and / or convergence between the nodes. In some instances, a phase indicates a procedural action (e.g., surgical action) that is being performed or has been performed and / or indicates a combination of actions that have been performed. In some instances, a phase relates to a biological state of a patient undergoing a surgical procedure. For example, the biological state may indicate a complication (e.g., blood clots, clogged arteries / veins, etc.), pre-condition (e.g., lesions, polyps, etc.). In some examples, the ML models 330 are trained to detect an “abnormal condition,” such as hemorrhaging, arrhythmias, blood vessel abnormality, etc.
[0060] The phase detector 350 outputs the phase prediction associated with a portion of the video data that is analyzed by the ML processing system 310. The phase prediction is associated with the portion of the video data by identifying a start time and an end time of the portion of the video that is analyzed by the ML execution system 340. The phase prediction that is output may include an identity of a surgical phase as detected by the phase detector 350 based on the output of the ML execution system 340. Further, the phase prediction, in one or more examples, may include identities of the structures (e.g., instrument, anatomy, etc.) that are identified by the ML execution system 340 in the portion of the video that is analyzed. The phase prediction may also include a confidence score of the prediction. Other examples may include various other types of information in the phase prediction that is output. The predicted phase may be used by the controller 21a to determine when to enable current error-guided motion scaling mode for hard stop prevention that is described below with respect to FIGS. 8- 10.
[0061] With reference to FIG. 8, a control arm 37a, which is substantially the same as the control arm 37b. The control arm 37a supports the handle controller 38a at a coupler 378. The control arm 37a is used to receive movement commands for moving the robotic instrument 50 via the robotic arm 40. The handle controller 38a receives movement commands for moving and / or actuating the end effector 49 of the instrument 50. The control arm 37a is rotatably coupled to a platform 370 disposed within the surgeon console 30. The control arm 37a includes a base 372 that is bidirectionally rotatable about a vertical axis Al relative to the platform 370. The control arm 37a also includes a vertical link 374 and a horizontal link 376. The vertical link 374 is bidirectionally rotatable about a horizontal axis A2 relative to the base 372. The horizontal link 376 is rotatable about a horizontal axis A3 relative to the vertical link 374. The combination of relative movement of the links 374 and 376 and the base 372 allows for capturing vertical, horizontal, and rotational movement of the control arm 37a and the handle controller 38a.
[0062] The surgeon consol 30 also includes a plurality of motors 370 configured to maintain the control arm 37a in a preset pose. The motors 370 are operably coupled (e.g., via belts or other drive mechanisms) with a first (Al), second (A2), and third axis (A3) of rotation respectively of the control arm 37a. The motors 370 are configured to manipulate the control arm 37a in response to input of a clinician, offset gravitation, frictional, and inertial forces, and provide haptic feedback to a clinician.
[0063] Each of the motors 370 also includes one or more sensors 380, which may be a current sensor, a torque sensor, and / or a position sensor. The sensors 380 monitor the operation of the motors 370. The current sensor is configured to measure the current draw of the motor and the torque sensor is configured to measure motor torque. The torque sensor may be any force or strain sensor including one or more strain gauges configured to convert mechanical forces and / or strain into a sensor signal indicative of the torque output by motor 370. Position sensor may be any device that provides a sensor signal indicative of the number of rotations of the motor 370, such as a mechanical encoder or an optical encoder. Movement parameters which are measured and / or determined by position sensor may include speed, distance, revolutions per minute, position, and the like. The computer 31 determines movement commands based on measured movement parameters and the movement commands are then used to control movement of the robotic arm 40 and / or instrument 50.
[0064] The sensor signals from sensors 370 are transmitted to the computer 31 of the surgeon console 30, which then controls the motors 370 based on the sensor signals. In particular, the motors 370 are controlled by a motor controller (not shown), which controls torque output and angular velocity of the motors 370. In embodiments, additional sensors may also be used, which include, but are not limited to, potentiometers coupled to movable components and configured to detect travel distances, Hall Effect sensors, accelerometers, and gyroscopes. A more detailed description of the control arm 37a may be found in U.S. Patent Nos. 11,446,099 and 11,648,075, the entire disclosure of which is incorporated by reference herein.
[0065] With reference to FIG. 9, the surgical robotic system 10 may include a current error- guided motion system 400, which may be implemented as software instructions executable by any one or more of suitable processors of the robotic system 10, such as the processor of the computer 31, the main controller 21a, etc. As used herein, the term module denotes a software component that encapsulates a distinct set of functionality, making it reusable and easily integratable with other parts of the software system. A module typically includes code, data, and resources that work together to perform specific tasks.
[0066] The system 400 includes a forward kinematics module 402, which may be executed by the computer 31 of the surgeon console 30. The forward kinematics module 402 interprets the actual input device joint positions, which correspond to the physical movements commands received via the handle controllers 38a and 38b and the control arms 37a and 37b. The forward kinematics module 402 calculates the surgeon’s intended movements, i.e., movement input, to generate a position command that will move the robotic arm 40 and the instrument 50.
[0067] The system 400 also includes a motor current monitor module 404, which may be executed by a motor controller of a corresponding motor 370. The motor current monitor module 404 receives both the desired and actual motor currents. The desired motor current represents the current value that would be required to achieve commanded movement of the motor 370 (i.e., to hold the pose of the control arm 37a). The actual motor current is measured directly using a current sensor on the motor itself. By comparing the desired and actual currents, the motor current monitor module 404 calculates the motor current error, which indicates the discrepancy between desired (i.e., expected or ideal) and actual motor performance. The error is indicative of the fault in operation of the motor 370 and / or the sensor 380.
[0068] The current error is provided to a motion scaling module 406, which may be executed by the computer 31 of the surgeon console 30. The motion scaling module 406 receives as input the position commands from the forward kinematics module 402. The motion scaling module 406 adjusts the motion scaling of the robotic arm 40 and / or the instrument 50 based on the motor current error calculated by the motor current monitor module 404. If the motor current error is small, i.e., less than a first current error threshold, the scaling factor allows for normal movement via unsealed input to the motor. However, if the current error is large, i.e., exceeds the first current error threshold, the scaling factor is applied to the position commands to slow down or stop the robotic arm or instrument entirely. If the current error reaches a second current threshold, then the teleoperation of the robotic arms 40 may be stopped completely.
[0069] The scaling factor may be calculated using a scaling function, e.g., direct, proportional, exponential, logarithmic, etc., and combinations thereof, where the input is the value or percentage by which the current error exceeds the current error threshold. Thus, the scaling factor is calculated based on the degree or value of the difference between the current error and the current error threshold. If the motor current error is small, the scaling factor allows for nearnormal movement. However, if the current error is large, possibly indicating a failure of the motor 370 and / or sensor 380, the scaling factor is reduced to slow down or stop the robotic arm or instrument entirely. Thus, the bigger the error, the slower the robotic arms 40 being controlled can be moved.
[0070] The current error threshold and the scaling factor may be preset by the system 10 or user adjustable prior to or during the procedure. The scaling function may be dynamically modified during operation based on real-time conditions or user preferences. The scaling factor, if any, is then applied to the movement commands to obtain scaled movement commands that are used in situations where the current error exceeds the error threshold. In addition, the system 10 may record data related to the motor parameter errors, scaling factors, and adjusted movement commands for post-procedure analysis and system improvement.
[0071] Output of the motion scaling module 406 is provided to an adaptive control algorithm (ACA) module 408. The ACA module 408 calculates inverse kinematics, which translate desired movements into specific joint positions or commands thereby aligning the physical movements of the robotic arm 40 and / or the instrument 50 with the surgeon’s intended actions. The ACA module 408 receives the commanded instrument and / or arm position that is either scaled or unsealed as determined by the motion scaling module 406. The ACA module 408 translates the commanded instrument and / or arm position into commanded joint positions provided to the motors actuating the robotic arm 40 and the instrument 50. This ensures that the robotic arm and instrument follow the surgeon’s commands after accounting for any required scaling adjustments. Thus, the system 400 uses motor current feedback from the motors 370 of the surgeon console 30 to adapt the speed and position commands of the robotic arm 40 and the surgical instrument 50. When motion of the motors of the robotic arm 40 is scaled due to the detected current error exceeding the threshold, the system 10 may output an alert (auditory and / or visual) on the surgeon console 30 notifying the user that the movement is being scaled, e.g., slowed.
[0072] With reference to FIG. 10, an illustrative method 500 for current error-guided motion scaling for hard stop prevention is implemented as software instructions executable by any one or more of suitable processors of the robotic system 10, such as the IDU controller 4 Id, the main controller 21a, etc. The method 500 includes a step 502 surgeon’s input is received through the surgeon console 30 via the handle controllers 38a and 38b and / or control arms 37a and 37b, which record actual input device joint positions. At step 504, the forward kinematics are processed using the forward kinematics module 402 to generate a position command to move the robotic arm 40 and the instrument 50. At step 506, the position command is used to calculate the desired motor parameters (e.g., current) needed to achieve the desired movement of the robotic arm 40 and / or instrument 50. At step 508, motor current is monitored via motor current sensors measuring motor current draw as the motor is actuated to move the robotic arm 40 and / or the instrument 50. At step 510, a current error is calculated by subtracting the actual(i.e., measured) current draw from the desired current draw for the motors 370 of the surgeon console 30. At step 512, the current error is compared to a current error threshold. At step 514, the motion scaling module 406 calculates a scaling factor based on the current error as described above. If the current error is below the current error threshold no scaling factor is used. If the current error is above the current error threshold, then the scaling factor is calculated based on the current error, e.g., the scaling factor may be proportional to the current error, the scaling factor value depends on the value of the current error, such that the larger the current error the larger the scaling factor. At step 516, the scaling factor is used to adjust the commanded movement, i.e., the larger the scaling factor the larger the slowdown of the commanded movement.
[0073] It will be understood that various modifications may be made to the embodiments disclosed herein. Therefore, the above description should not be construed as limiting, but merely as exemplifications of various embodiments. Those skilled in the art will envision other modifications within the scope and spirit of the claims appended thereto.
[0074] The following examples are illustrative of the techniques described herein.
[0075] Example 1. A surgical robotic system comprising: a surgeon console including: a movable control arm and a handle controller coupled to the control arm, wherein the handle controller is configured to receive a movement command; a console motor configured to manipulate the control arm; a motor parameter sensor configured to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm; a robotic arm including a robotic arm motor; and a controller configured to: calculate a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; calculate a scaling factor based on the motor parameter error; and adjust the movement command for controlling the robotic arm motor based on the scaling factor.
[0076] Example 2. The surgical robotic system according to Example 1, wherein the controller is further configured to: compare the motor parameter error to a motor parameter error threshold; and pass through the movement command to the robotic arm motor if the motor parameter error is below the motor parameter error threshold.
[0077] Example 3. The surgical robotic system according to Example 2, wherein the controller is further configured to: adjust the movement command for controlling the robotic arm motor based on the scaling factor if the motor parameter error is above the motor parameter error threshold.
[0078] Example 4. The surgical robotic system according to Example 1, where the motor parameter sensor is a current sensor and the motor parameter is current.
[0079] Example 5. The surgical robotic system according to Example 1, where the motor parameter sensor is a torque sensor and the motor parameter is torque.
[0080] Example 6. The surgical robotic system according to Example 1, wherein the scaling factor is proportional to the motor parameter error.
[0081] Example 7. The surgical robotic system according to Example 1, wherein adjusting the movement command includes adjusting velocity of the robotic arm motor.
[0082] Example 8. A method for controlling motor movement in a surgical robotic system, the method comprising: manipulating a movable control arm of a surgeon console using a console motor, wherein the movable control arm includes a handle controller coupled to the control arm, the handle controller is configured to receive a movement command; receiving a movement command from the handle controller for controlling a robotic arm; using a motor parameter sensor to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm calculating a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; determining a scaling factor based on the motor parameter error; adjusting the movement command for controlling a robotic arm motor of the robotic arm based on the scaling factor; and actuating a robotic arm motor of a robotic arm based on the movement command.
[0083] Example 9. The method according to Example 8, further comprising: comparing the motor parameter error to a motor parameter error threshold; and passing the movement command directly to the robotic arm motor if the motor parameter error is below the motor parameter error threshold.
[0084] Example 10. The method according to Example 9, further comprising: adjusting the movement command based on the scaling factor if the motor parameter error exceeds the motor parameter error threshold.
[0085] Example 11. The method according to Example 8, further comprising: selecting the motor parameter from current or torque measurements.
[0086] Example 12. The method according to Example 8, further comprising: applying a scaling function to determine the scaling factor, the scaling function defining a proportional, exponential, or logarithmic relationship between the motor parameter error and the scaling factor.
[0087] Example 13. The method according to Example 12, further comprising: dynamically modifying the scaling function during operation based on real-time conditions or user preferences.
[0088] Example 14. The method according to Example 8, further comprising: recording data related to the motor parameter error, the scaling factor, and adjusted movement commands for post-procedure analysis and system improvement.
[0089] Example 15. The method according to Example 8, further comprising: providing feedback to an operator regarding the motor parameter error and the resulting adjustments to motor movement via a visual or auditory alert system.
[0090] Example 16. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform a method for controlling motor movement in a surgical robotic system, the method comprising: manipulating a movable control arm of a surgeon console using a console motor, wherein the movable control arm includes a handle controller coupled to the control arm, the handle controller is configured to receive a movement command; receiving a movement command from the handle controller for controlling a robotic arm; measuring a motor parameter of the console motor when the console motor is actuated to manipulate the control arm using a motor parameter sensor; calculating a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; determining a scaling factor based on the motor parameter error; adjusting the movement command for controlling a robotic arm motor of the robotic arm based on the scaling factor; and actuating a robotic arm motor of a robotic arm based on the movement command.
[0091] Example 17. The non-transitory computer-readable medium according to Example16, storing instructions that, when executed by one or more processors, cause the one or more processors to further perform: comparing the motor parameter error to a motor parameter error threshold; and passing the movement command directly to the robotic arm motor if the motor parameter error is below the motor parameter error threshold.
[0092] Example 18. The non-transitory computer-readable medium according to Example17, storing instructions that, when executed by one or more processors, cause the one or more processors to further perform: adjusting the movement command based on the scaling factor if the motor parameter error exceeds the motor parameter error threshold.
[0093] Example 19. The non-transitory computer-readable medium according to Example 16, storing instructions that, when executed by one or more processors, cause the one or more processors to further perform: selecting the motor parameter from current or torque measurements.
[0094] Example 20. The non-transitory computer-readable medium according to Example 16, storing instructions that, when executed by one or more processors, cause the one or more processors to further perform: applying a scaling function to determine the scaling factor, the scaling function defining a proportional, exponential, or logarithmic relationship between the motor parameter error and the scaling factor; and dynamically modifying the scaling function during operation based on real-time conditions or user preferences.
Claims
WHAT IS CLAIMED IS:
1. A surgical robotic system (10) comprising: a surgeon console (30) including: a movable control arm (37a, 37b) and a handle controller (38a, 38b) coupled to the control arm, wherein the handle controller is configured to receive a movement command; a console motor (370) configured to manipulate the control arm; a motor parameter sensor (380) configured to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm; a robotic arm (40) including a robotic arm motor (48a, 48b); and a controller (21a) configured to: calculate a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; calculate a scaling factor based on the motor parameter error; and adjust the movement command for controlling the robotic arm motor based on the scaling factor.
2. The surgical robotic system according to claim 1, wherein the controller is further configured to: compare the motor parameter error to a motor parameter error threshold; and pass through the movement command to the robotic arm motor if the motor parameter error is below the motor parameter error threshold.
3. The surgical robotic system according to claim 2, wherein the controller is further configured to: adjust the movement command for controlling the robotic arm motor based on the scaling factor if the motor parameter error is above the motor parameter error threshold.
4. The surgical robotic system according to any preceding claim, where the motor parameter sensor is a current sensor and the motor parameter is current.
5. The surgical robotic system according to any preceding claim, where the motor parameter sensor is a torque sensor and the motor parameter is torque.
6. The surgical robotic system according to any preceding claim, wherein the scaling factor is proportional to the motor parameter error.
7. The surgical robotic system according to any preceding claim, wherein adjusting the movement command includes adjusting velocity of the robotic arm motor.
8. A method for controlling motor movement in a surgical robotic system (10), the method comprising: manipulating a movable control arm (37a, 37b) of a surgeon console (30) using a console motor (370), wherein the movable control arm includes a handle controller (38a, 38b) coupled to the control arm, the handle controller is configured to receive a movement command; receiving a movement command from the handle controller for controlling a robotic arm (40); using a motor parameter sensor (380) to measure a motor parameter of the console motor when the console motor is actuated to manipulate the control arm; calculating a motor parameter error as a difference between the measured motor parameter and a desired motor parameter; determining a scaling factor based on the motor parameter error; adjusting the movement command for controlling a robotic arm motor (48a, 48b) of the robotic arm based on the scaling factor; and actuating the robotic arm motor of the robotic arm based on the movement command.
9. The method according to claim 8, further comprising: comparing the motor parameter error to a motor parameter error threshold; and passing the movement command directly to the robotic arm motor if the motor parameter error is below the motor parameter error threshold.
10. The method according to claim 9, further comprising: adjusting the movement command based on the scaling factor if the motor parameter error exceeds the motor parameter error threshold.
11. The method according to any one of claims 8-10, further comprising: selecting the motor parameter from current or torque measurements.
12. The method according to any one of claims 8-11, further comprising: applying a scaling function to determine the scaling factor, the scaling function defining a proportional, exponential, or logarithmic relationship between the motor parameter error and the scaling factor.
13. The method according to claim 12, further comprising: dynamically modifying the scaling function during operation based on real-time conditions or user preferences.
14. The method according to any one of claims 8-13, further comprising: recording data related to the motor parameter error, the scaling factor, and adjusted movement commands for post-procedure analysis and system improvement.
15. The method according to any one of claims 8-14, further comprising: providing feedback to an operator regarding the motor parameter error and the resulting adjustments to motor movement via a visual or auditory alert system.
Citation Information
Patent Citations
Control arm for robotic surgical systems
US11446099B2
Robotic surgical system control arm including dual encoders
US11648075B2
Method and device for preventing impact on controller
CN102013857B
Robotic surgical system control arm including dual encoders
US20200179070A1
Jaw coordination of robotic surgical controls
US20200289217A1