[go: up one dir, main page]

WO2025042928A1 - Age estimation of cable-driven surgical instruments - Google Patents

Age estimation of cable-driven surgical instruments Download PDF

Info

Publication number
WO2025042928A1
WO2025042928A1 PCT/US2024/043127 US2024043127W WO2025042928A1 WO 2025042928 A1 WO2025042928 A1 WO 2025042928A1 US 2024043127 W US2024043127 W US 2024043127W WO 2025042928 A1 WO2025042928 A1 WO 2025042928A1
Authority
WO
WIPO (PCT)
Prior art keywords
age
instrument
control system
cable
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
PCT/US2024/043127
Other languages
French (fr)
Inventor
Evan CHANG-SIU
Gabriel Brisson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intuitive Surgical Operations Inc
Original Assignee
Intuitive Surgical Operations Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intuitive Surgical Operations Inc filed Critical Intuitive Surgical Operations Inc
Publication of WO2025042928A1 publication Critical patent/WO2025042928A1/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/40ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the management of medical equipment or devices, e.g. scheduling maintenance or upgrades
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/30Surgical robots
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H50/00ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics
    • G16H50/70ICT specially adapted for medical diagnosis, medical simulation or medical data mining; ICT specially adapted for detecting, monitoring or modelling epidemics or pandemics for mining of medical data, e.g. analysing previous cases of other patients
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B34/00Computer-aided surgery; Manipulators or robots specially adapted for use in surgery
    • A61B34/70Manipulators specially adapted for use in surgery
    • A61B34/71Manipulators operated by drive cable mechanisms

Definitions

  • the present disclosure is directed to age estimation of cable-driven surgical instruments. More particularly, the present disclosure is directed to generating an age estimation model for cable-driven surgical instruments and providing guidance to a user of surgical instruments based upon the instrument age.
  • the cables in cable-driven surgical instruments can fail during surgery with undesirable consequences such as nonintuitive motion, undesirable cutting, burns to unintended tissue, or other deleterious effects which may affect the quality of the surgical procedure and/or the health of the patient undergoing the surgery.
  • Determining the age of a surgical instrument based upon the amount of time it has been operated may not accurately assess its age.
  • a cable-driven instrument may have a plurality of cables which experience various amounts of wear compared to one another based upon how each cable is used throughout its lifetime.
  • a generalized age estimate for a surgical instrument which does not take into account usage of specific components, such as cables, can result in unnecessarily expiring an instrument which still has useful life remaining, or conversely incorrectly estimating an instrument has time left to be safely operated, when in fact it does not.
  • determining when an instrument is at, or approaching, an age indicative of imminent failure may have detrimental consequences. For example, if the estimated age of an instrument incorrectly predicts its expiration earlier than necessary, an operator of the surgical instrument may perceive it as a nuisance and/or could be required to interrupt a surgery at a critical time. If the estimated life is predicted to end too late, or not at all, a cable unexpectedly break could occur during a surgical procedure.
  • a computer-implemented method of generating a model may include obtaining one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generating an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and providing the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
  • a computer-readable media storing instructions.
  • the instructions when executed by one or more processors, cause a system to obtain one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generate an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and provide the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
  • a system for generating a model may include one or more processors and a non-transitory storage medium storing processorexecutable instructions that, when executed by the one or more processors, causes the system to obtain one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generate an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and provide the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
  • the computer-implemented method may include obtaining operational data associated with the operation of the operating instrument; obtaining a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; updating the stored instrument age of the operating instrument based on the obtained change in the instrument age; and performing a remedial action when the updated instrument age exceeds an instrument age threshold.
  • the instructions when executed by one or more processors, may cause the system to obtain operational data associated with the operation of the operating instrument; obtain a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; update the stored instrument age of the operating instrument based on the obtained change in the instrument age; and perform a remedial action when the updated instrument age exceeds an instrument age threshold.
  • FIG. 1 A is a is a simplified diagram of an example computer-assisted system, according to various embodiments.
  • FIG. 2 is a diagrammatic illustration of a portion of a medical device for movable component adjustment, according to various embodiments.
  • FIG. 3 is a diagrammatic illustration of a portion of a testing instrument having an antagonist drive system, according to various embodiments.
  • FIG. 4 is a diagrammatic illustration of a portion of a medical device for movable component adjustment, according to various embodiments.
  • FIG. 5 is a diagrammatic illustration of a portion of a testing instrument having a paired capstan drive system, according to various embodiments.
  • FIG. 6 is a is a simplified diagram of a training server, according to various embodiments.
  • FIGS. 11 A is an example user interface indicating the age of an operating instrument at a point in time, according to various embodiments.
  • spatially relative terms such as “beneath”, “below”, “lower”, “above”, “upper”, “proximal”, “distal”, and the like — may be used to describe the relationship of one element or feature to another element or feature as illustrated in the figures. These spatially relative terms are intended to encompass different positions (i.e., translational placements) and orientations (i.e., rotational placements) of a device in use or operation in addition to the position and orientation shown in the figures. For example, if a device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be “above” or “over” the other elements or features.
  • the term “below” can encompass both positions and orientations of above and below.
  • a device may be otherwise oriented (e.g., rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.
  • descriptions of movement along (translation) and around (rotation) various axes include various spatial positions and orientations.
  • the combination of a body’s position and orientation define the body’s pose.
  • geometric terms such as “parallel”, “perpendicular”, “round”, or “square”, are not intended to require absolute mathematical precision, unless the context indicates otherwise. Instead, such geometric terms allow for variations due to manufacturing or equivalent functions. For example, if an element is described as “round” or “generally round,” a component that is not precisely circular (e.g., one that is slightly oblong or is a many-sided polygon) is still encompassed by this description.
  • member refers to a constituent portion of a larger structure or mechanism.
  • a “member” can refer to an individual contiguous structure or multiple connected structures such as a mechanism.
  • da Vinci® surgical systems e.g., the Model IS4000, the Model IS3000, the Model IS2000, the Model IS 1200, the Model SP1099
  • inventive aspects may be embodied and implemented in both relatively smaller, hand-held, hand-operated devices that are not mechanically grounded in a world reference frame and relatively larger systems that have additional mechanical support that is grounded in a world reference frame.
  • embodiments disclosed herein may be implemented in a medical surgical system, the techniques disclosed herein may be applied to other manipulator systems applied to non-medical contexts.
  • an instrument may include a single cable coupled to a first drive member at a proximal end of the instrument that is coupled to a wrist of a movable component at a distal end of the instrument and returns to a second drive member at the proximal end of the instrument.
  • each proximal portion of the cable is associated with its own age. That is, a single cable may have a first age for the proximal portion between the first drive member and the movable component and a second age for the proximal portion between the second drive member and the movable component.
  • a first proximal portion of the cable may be referred to as a “first cable” and a the second proximal portion of the cable may be referred to as a “second cable,” despite the “first cable” and “second cable” being part of the same contiguous cable.
  • first cable a first proximal portion of the cable
  • second cable a second proximal portion of the cable
  • the age of a cable is sometimes used herein as shorthand for the age of a proximal portion of a cable.
  • Embodiments described herein generally refer to age as being normalized to a scale of 0 representing an unused cable and 100 being a cable that has just failed. It should be appreciated that in other embodiments, other scales for age may be utilized.
  • a display device 112 is also included in the workstation 102.
  • the display device 112 may be configured to display images for viewing by the operator 108.
  • the display device 112 can be moved in various degrees of freedom (DOFs) to accommodate the viewing position of the operator 108 and/or to provide control functions.
  • the leader input devices 106 may include the display device 112.
  • displayed images may depict a worksite at which the operator 108 is performing various tasks by manipulating the leader input devices 106 and/or the display device 112.
  • images displayed by display device 112 may be received by the workstation 102 from one or more imaging devices arranged at a worksite.
  • the images displayed by the display device 112 may be generated by the display device 112 (or by a different connected device or system), such as for virtual representations of tools, the worksite, or for user interface components.
  • the operator 108 can sit in a chair or other support in front of the workstation 102, position his or her eyes in front of the display device 112, manipulate the leader input devices 106, and rest his or her forearms on the ergonomic support 110 as desired.
  • the operator 108 can stand at the workstation or assume other poses, and the display device 112 and the leader input devices 106 can be adjusted in position (height, depth, etc.) to accommodate the pose of the operator 108.
  • the one or more leader input devices 106 can be ungrounded (ungrounded leader input devices being not kinematically grounded, such as leader input devices 106 held by the hands of the operator 108 without additional physical support). Such ungrounded leader input devices 106 can be used in conjunction with the display device 112.
  • the display device 112 is positioned near the worksite such that the operator 108 can manually operate instruments at the worksite, such as a medical instrument in a medical example, while viewing images displayed by the display device 112.
  • the repositionable structures 120 may include a plurality of links that are rigid members and joints that can be individually actuated as part of a kinematic series. Additionally, each of the repositionable structures 120 is configured to couple to an instrument 122. While Figure 1 illustrates a follower device 104 that has four repositionable structures 120, in other embodiments, the follower device 104 may include one, two, three, four, five, six, or additional or fewer repositionable structures 120.
  • the instrument 122 can include, for example, a working portion 126 (also referred to herein as a “movable component”) and one or more structures for supporting and/or driving the working portion 126.
  • Example working portions 126 include end effectors that physically contact or manipulate material, energy application elements that apply electrical, RF, ultrasonic, or other types of energy, sensors that detect characteristics of the workspace environment (such as temperature sensors, imaging devices, etc.), and the like.
  • each instrument 122 may be mounted to a portion of a respective repositionable structure 120. In FIG. 1A, this is shown with the drive assembly 130 physically coupled to the transmission mechanism 128.
  • the distal portion of each repositionable structure 120 further includes a cannula mount 124 to which a cannula (not shown) is mounted. When a cannula is mounted to the cannula mount 124, a shaft of the instrument 122 passes through the cannula and into a workspace.
  • the instrument 122 can be, or include, an instrument used to perform medical (e.g., surgical, diagnostic, and/or therapeutic) or nonmedical procedures (e.g., industrial inspection applications).
  • the instrument 122 includes a shaft 103 elongated along a longitudinal axis A , between proximal end portion 105 and distal end portion 107.
  • the shaft 103 is on the order of a few millimeters in diameter, for example from five to eight millimeters in diameter.
  • the instrument 122 further includes a working portion 126 coupled to the distal end portion 107 and a force transmission system 111 (only the exterior housing portion of which is depicted) coupled to the proximal end portion 105.
  • the working portion 126 is configured to carry out a medical or non-medical (such as industrial) procedure.
  • the working portion 126 by one or more types of tools such as gripping tools, staplers, shears, ligation clip appliers, electrosurgical tools, ultrasonic tools, suturing tools, translating sleds, translating cutting tools, or other types of tools. While the illustration of FIG.
  • FIG. 1 B depicts an working portion 126 having jaw members 113 configured to move toward and away from each other (either by one or both jaw members pivoting about a pivot axis), such a configuration is exemplary and non-limiting and those of ordinary skill in the art would appreciate the instrument 122 can have any of a variety of end effectors coupled to the working portion 126 without departing from the scope of the present disclosure.
  • the instrument 122 further optionally includes an articulable component 115 coupling the working portion 126 to the shaft 103.
  • the articulable structure 115 can be positioned along the distal end portion 107 of the shaft 103. But the disclosure is not so limited and the articulable structure 115 can be positioned at any location along the shaft 103 without limitation.
  • the instrument 122 can include more than one articulable structure 115, such as two, three, or more articulable structures located in series or at multiple spaced apart locations along the length of the shaft 103.
  • the articulable structure 115 can be controlled and actuated via actuation members (not illustrated in FIG.
  • an articulable structure can serve as a wrist mechanism supporting and coupling the working portion 126 to the shaft 103 so as to allow orientation of the working portion 126 relative to the shaft in pitch and/or yaw.
  • the force transmission system 111 is coupled to the proximal end portion 105 of the shaft 103.
  • the force transmission system 111 may be coupled at various locations along the shaft 103, and in some cases moveable along the shaft, but generally in a position such that it remains external to a remote site (such as a patient’s body) at which the working portion 126 and a distal end portion 107 of the shaft 103 are inserted to perform a procedure, thereby permitting access to manipulate inputs on the force transmission system 111.
  • Force transmission system 111 includes a housing 117 supporting an input drive portion 119.
  • Input drive portion 119 includes a drive interface 121.
  • Drive interface 121 provides mechanical connections to the other control features of force transmission system 111 , such as various output drives configured to be operated to transmit force to control the moveable components and operations at the distal end portion 107 of the instrument 122.
  • drive interface 121 is configured to be coupled to a manipulator system.
  • the repositionable structures 120 and/or instrument 122 can be controlled to move the working portion 126 in response to manipulation of the leader input devices 106 by the operator 108. Accordingly, the repositionable structures 120 and/or instrument 122 may be said to “follow” the leader input devices 106 through teleoperation. This enables the operator 108 to perform tasks at the worksite using the repositionable structures 120 and/or instrument 122. For a surgical example, the operator 108 can direct the repositionable structures 120 of the follower device 104 to move the working portions 126 as part of a surgical procedure performed at an internal surgical site that is entered via one or more minimally invasive apertures or natural orifices.
  • the control system 140 includes a processor system 150 and a memory 160.
  • the memory 160 may store a control module 170.
  • the processor system 150 may include one or more processors having different processing architectures for processing instructions.
  • the one or more processors may be one or more cores or microcores of a multi-core processor, a central processing unit (CPU), a microprocessor, a field- programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a graphics processing unit (GPU), a tensor processing unit (TPU), and/or the like.
  • the processor system 150 includes circuity to support one or more communication interfaces (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.). Additionally, a communication interface of control system 140 may include an integrated circuit for connecting the control system 140 to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as the workstation 102 and/or the follower device 104.
  • a network not shown
  • LAN local area network
  • WAN wide area network
  • the Internet such as the Internet
  • mobile network such as the workstation 102 and/or the follower device 104.
  • the memory 160 may include non-persistent storage (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, a floppy disk, a flexible disk, a magnetic tape, any other magnetic medium, any other optical medium, programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a FLASH-EPROM, and/or any other memory chip or cartridge.
  • non-persistent storage e.g., volatile memory, such as random access memory (RAM), cache memory
  • persistent storage e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, a floppy disk, a flexible disk, a magnetic tape, any other magnetic medium, any other optical medium, programmable read-only memory (PROM), an
  • the non-persistent storage and persistent storage are examples of non- transitory, tangible machine-readable media that can store executable code that, when run by one or more processors (e.g., processor system 150), can cause the one or more processors to perform one or more of the techniques and/or methods disclosed herein.
  • processors e.g., processor system 150
  • control system 140 may also include one or more input devices (such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device) and/or output devices (such as a display device, a speaker, external storage, a printer, or any other output device).
  • input devices such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device
  • output devices such as a display device, a speaker, external storage, a printer, or any other output device.
  • the control system 140 may be implemented on a particular node of a distributed computing system (e.g., a cloud computing system).
  • different functionalities associated with the control system 140 may be implemented on different nodes of the distributed computing system.
  • one or more elements of the aforementioned control system 140 may be located at a remote location and connected to the other elements over a network.
  • Techniques disclosed herein relate to providing operator guidance on an estimated age of the instruments 122.
  • the system facilitating such a technique can make the procedure process easier for human operators, reduce workflow disruption, reduce time spent accounting for expired instruments, and increase the overall efficiency of the procedures.
  • the system may intervene to restrict usage of the instruments 122 based on the estimated age of the instruments 122 (e.g., by limiting a range of motion to reduce forces exerted upon the instruments 122), which may prevent the instruments 122 from expiring at an inopportune time during a procedure.
  • the system may extend the working lifetime of the instruments 122 when the instrument approaches a low-life state .
  • the disclosed techniques provide an improvement to the computer-assisted system 100 in the non-surgical aspects of the procedure, and can be used to improve computer-assisted systems applied in non-medical contexts.
  • the computer-assisted system 100 is operated in a testing mode of operation to generate experimental data used to train an age estimation model.
  • the instruments 122 may be referred to as “testing instruments.”
  • the computer-assisted system 100 may be operated in a scripted manner to generate experimental data such that a training server 180 is able to train an age estimation model based upon the experimental data generated by the computer- assisted system 100.
  • the memory 160 stores one or more scripts configured to generate control commands for the testing instruments 122. More particularly, the commands may be configured to set different control parameters of the testing instruments 122.
  • the control parameters may include commands that cause a drive member of the testing instruments to rotate in a particular manner (e.g., a speed and/or direction of the rotation of the drive member).
  • the scripted motion sets the control parameters to achieve a desired state of operational parameters associated with the testing instruments 122.
  • the operational parameters may include mechanical work, pitch, torque, velocity, acceleration, orientation, etc. It should be appreciated that when the instruments 122 are being controlled by the scripts executed by the control system 140, the control system 140 may disregard any inputs received by the leader input devices 106 such that motion of the instruments 122 is controlled entirely by the executed scripts.
  • the scripted motion may be configured to operate a testing instrument 122 to achieve a set of generally constant operational parameters until a cable of the testing instrument 122 has failed, resulting in the expiration of the testing instrument 122. It should be appreciated that due to the finite length of the cable, not all of the operational parameters can be maintained constant (e.g., velocity).
  • the scripted motion may drive the cable in a first direction to achieve a first set of constant operational parameters until a first end of the cable is reached, and then driving the cable in a reverse direction to achieve a second set of constant operational parameters until a second end of the cable is reached.
  • the one or more scripts may be designed to determine which operational parameters of the testing instruments 122 significantly impact the lifetime and/or the rate of age accumulation of the testing instruments 122.
  • the memory 160 may store different scripts that are configured to experimentally test the different operational parameters. More particularly, the memory 160 may store different scripts that have different values for a particular operational parameter under test, but the same values for other control operational parameters. The memory 160 may store different sets of scripts for each operational parameter being evaluated during the testing process. Accordingly, by executing different scripts, the control system 140 is able to compile a set of experimental data that is useful for deriving the relationship between the operational parameters when training an age determination model.
  • the memory 160 may also be configured to store one or more playback logs from a prior execution of a historical procedure using a computer- assisted system.
  • the playback logs may indicate a series of control commands issued by a control system during the historical procedure. Accordingly, when the control system 140 executes the playback log, the testing instruments 122 may be controlled in a similar manner (and experience similar stress) as the operating instruments that performed the historical procedure. As a result, the control system 140 is able to compile a set of experimental data that better models typical instrument usage patterns when training an age determination model.
  • the control system 140 may be configured to execute the scripts and/or a playback log from the memory 160. Additionally, the control system 140 may enable an operator to manually control operation of the testing instruments 122. When generating a set of experimental data, the control system 140 may periodically record sets of values for the operational parameters. For example, the control system 140 may record 2000 samples/second, 1100 samples/second, 5000 samples/second, 100 samples/second, etc. Regardless of the particular technique for generating the motion of the testing instrument 122, the control system 140 may perform, repeat, and/or cycle the motion until the testing instrument 122 fails.
  • control system 140 may compile the samples into a vector that represents the experimental data for the particular experiment associated with the scripted motion. The control system 140 may then transmit the sets of experimental data to the training server 180 to perform the training of the age determination model.
  • the computer-assisted system 100 is operated in an operating mode of operation where the follower device 104 is used to perform a procedure.
  • the instruments 122 may be referred to as “operating instruments.”
  • the control system 140 may obtain a trained age estimation model from the server 180 to determine the age of the operating instruments 122 as they are used to perform a procedure. More particularly, the control system 140 may be configured to periodically obtain sets of operational data associated with the operating instruments 122 to input the set of operational data into the age determination model to determine an amount of age accumulated by the operating instruments. It should be appreciated that the operating instruments 122 may generate different sets of operational data for each proximal portion of a cable included in the operating instrument 122.
  • control system 140 may track the age accumulated of each proximal portion separately.
  • the age of the operating instrument may be determined by a limiting cable (e.g., the proximal portion associated with a highest amount of accumulated age).
  • the control system 140 may convert the age of the proximal portions of the cables into an estimated time of use remaining to provide more meaningful feedback to an operator of the computer-assisted system 100.
  • the memory 160 may store models (also referred to as “profiles”) associated with operational data trends for different phases of the procedure being performed. Accordingly, the control system 140 may be able to use the stored model of the procedure as a prediction for expected future values of the operational data of the operating instruments 122. By inputting the expected future values into the age determination model, the control system 140 may be able to identify a point in time when the proximal portion of a cable is expected to fail.
  • the control system 140 may then estimate the time remaining based on a number of samples in the future when the cable is expected to fail. [0072]
  • the control system 140 is able to more accurately assess the age of the operating instruments 122 than techniques that assess the age of the operating instruments 122 as a whole.
  • the proximal portions of the cables may be subjected to different stresses at different phases of a procedure. Accordingly, the limiting cable may change throughout the course of the procedure.
  • tracking the age of each proximal end enables the control system 140 to adjust the estimation based on the actual limiting cable as it changes throughout the procedure. As a result, the age estimation techniques are more accurate enabling a more efficient execution of the procedure.
  • the memory 160 may be configured to store a model associated with an operator of the computer-assisted system 100.
  • the operator model may indicate operator-specific usage patterns that manifest in the operational data. For example, the operator model may indicate that the operator generally applies more torque on the operating instruments 122 than average (as indicated in the model of the procedure) or that the operator pitches cables faster than for other operators. Accordingly, when the control system 140 estimates the time remaining for an operating instrument 122, the control system 140 may adjust the values of the procedure model by respective factors derived from the operator model.
  • FIG. 2 is a schematic illustration of a portion of an instrument 2400 (such as one of the instruments 122) according to an embodiment.
  • the instrument 2400 includes a shaft 2410, a cable 2420, a movable component 2460 (such as the working portion 126), and an instrument control system 2700.
  • the instrument control system 2700 functions to receive one or more motor or manual input forces or torques and mechanically transmit the received forces or torques to move the movable component 2460.
  • one or more electric motors in a manipulator unit e.g., the follower device 104 can provide an input to the instrument control system 2700, which in turn transmits the input via the cable 2420 to control the movable component 2460.
  • the control system includes a chassis 2768, a first drive member 2710, a second drive member 2720, and a manual drive structure 2860.
  • the first tool drive member can be operable to produce rotational movement about the axis A3, and the second drive member 2720 can similarly be operable to produce rotational movement about an axis A4 parallel to the axis A3.
  • the first drive member 2710 can rotate in the direction of arrows DD and the second drive member 2720 can rotate in the direction of arrows EE in FIG. 2.
  • the second drive member 2720 can rotate independently about the axis A4 in either the same or the opposite direction (clockwise or counterclockwise).
  • each of the individual drive members rotates such that the desired individual cable pay-in or pay-out is performed to perform the desired movable component motion — grip, yaw, or pitch — either alone or in combination.
  • FIG. 3 depicts an example instrument 300 (such as the instruments 122, 2400) that includes two cables (such as cables 2420) configured in an antagonistic arrangement.
  • a first cable is configured such that a first proximal portion 311 a of the first cable is coupled to a first drive member 301 (such as the drive member 2710) and a second proximal portion 314a of the first cable is coupled to a second drive member 304 (such as the drive member 2720).
  • a second cable is configured such that a first proximal portion 312a of the first cable is coupled to a first drive member 302 (such as the drive member 2710) and a second proximal portion 313a of the first cable is coupled to a second drive member 303 (such as the drive member 2720).
  • first drive member 302 such as the drive member 2710
  • second proximal portion 313a of the first cable is coupled to a second drive member 303 (such as the drive member 2720).
  • FIG. 3 depicts the drive members 301-304 as disks, in other embodiments, other suitable drive member mechanisms may be implemented.
  • the control system 140 may be configured to generate commands to operate the drive members 301-304 to control the grip, pitch and/or yaw of the movable component.
  • the control system 140 may generate commands to cause the drive members 301 and 304 to rotate in a first direction and drive members 302 and 303 to rotate in the opposite direction.
  • the control system 140 may generate commands to cause the drive members 301 and 303 to rotate in a first direction and drive members 302 and 304 to rotate in the opposite direction.
  • the control system 140 may generate commands to cause the drive members 301 and 302 to rotate in a first direction and drive members 303 and 3034 to rotate in the opposite direction.
  • the instrument 3400 may just include the first drive member 2710 and the second drive member 2720, while omitting the manual drive structure 2860 and the corresponding manual drive components.
  • FIG. 5 depicts an example instrument 500 (such as the instruments 122, 3400) that includes three cables (such as cables 3420 or 3430) configured in a paired capstan arrangement.
  • a first cable is configured such that a first proximal portion 511a of the first cable is coupled to a first drive member 501 (such as the drive member 3710) and a second proximal portion 512a of the first cable is coupled to the first drive member 501 .
  • a second cable is configured such that a first proximal portion 513a of the second cable is coupled to a second drive member 502 (such as the drive member 3720) and a second proximal portion 514a of the second cable is coupled to the second drive member 502.
  • a third cable is configured such that a first proximal portion 515a of the third cable is coupled to a third drive member 503 and a second proximal portion 516a of the third cable is coupled to the third drive member 503. It should be appreciated that while FIG. 5 depicts the drive members 501-503 as disks, in other embodiments, other suitable drive member mechanisms may be implemented.
  • the first, second, and third cables are coupled to a wrist 522 configured to transfer motion of the cables to control movement of tool members 524 (such as the tool member 2462) of a movable component (such as the working portion 126 or the movable component 2460). More particularly, the distal portions 511b and 512b of the first cable form a first cable couplet coupling the first cable to the movable component, the distal portions 513b and 514b of the second cable form a second cable couplet coupling the second cable to the movable component, and the distal portions 515b and 516b of the third cable form a third cable couplet coupling the third cable to the movable component.
  • the distal portions 511 b-516b terminate at the wrist 522.
  • the cable couplets may include distal portions corresponding to separate cable segments.
  • the distal portions 511 b-516b wrap around the wrist 522.
  • the cable couplets may include distal portions corresponding to the same cable segment.
  • control system 140 may be configured to generate commands to operate the drive members 501-503 to control the grip, pitch and/or yaw of the movable component.
  • the control system 140 may generate commands to cause the drive members 501 to rotate.
  • the control system 140 may generate commands to cause the drive members 501 and 502 to rotate in a first direction and drive member 503 to rotate in the opposite direction.
  • the control system 140 may generate commands to cause the drive members 502 and 503 to rotate in a first direction.
  • FIG. 6 illustrated is an example computing environment 600 that includes a training server 680 (such as the training server 180) coupled to a control system 640 (such as the control system 140) of computer-assisted system (such as the computer- assisted system 100) via a network 610.
  • a training server 680 such as the training server 180
  • a control system 640 such as the control system 140
  • computer-assisted system such as the computer- assisted system 100
  • FIG. 6 depicts a single server 680
  • the server 680 may be part of a cloud network or may otherwise communicate with other hardware or software components within one or more cloud computing environments to send, retrieve, or otherwise analyze data or information described herein.
  • the server 680 may comprise an on-premise computing environment, a multi-cloud computing environment, a public cloud computing environment, a private cloud computing environment, and/or a hybrid cloud computing environment.
  • an entity e.g., a business
  • may host one or more services in a public cloud computing environment e.g., Facebook Cloud, Amazon Web Services (AWS), Google Cloud, IBM Cloud, Microsoft Azure, etc.
  • the public cloud computing environment may be a traditional off-premise cloud (/.e., not physically hosted at a location owned/controlled by the business).
  • aspects of the public cloud may be hosted on-premise at a location owned/controlled by the business.
  • the public cloud may be partitioned using visualization and multi-tenancy techniques and may include one or more infrastructure-as-a-service (laaS) and/or platform-as-a-service (PaaS) services.
  • laaS infrastructure-as-a-service
  • PaaS platform-as-a-service
  • the memory 685 may include one or more forms of volatile and/or non-volatile, fixed and/or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and/or other hard drives, flash memory, MicroSD cards, and others.
  • the memory 685 may store an operating system (OS) (e.g., Microsoft Windows, Linux, UNIX, etc.) capable of facilitating the functionalities, apps, methods, or other software as described herein.
  • OS operating system
  • a computer program or computer based product, application, or code (e.g., the model(s), such as age determination training models 698, 699) may be stored on a computer usable storage medium, or tangible, non-transitory computer-readable medium (e.g., standard random access memory (RAM), an optical disc, a universal serial bus (USB) drive, or the like) having such computer-readable program code or computer instructions embodied therein, wherein the computer-readable program code or computer instructions may be installed on or otherwise adapted to be executed by the processor(s) 682 (e.g., working in connection with the respective operating system in memory 685) to facilitate, implement, or perform the machine readable instructions, methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein.
  • the processor(s) 682 e.g., working in connection with the respective operating system in memory 685
  • the memory 685 may include one or more databases 687.
  • the database 687 may be a relational database, such as Oracle, DB2, MySQL, a NoSQL based database, such as MongoDB, or another suitable database.
  • the database 687 may store, for example, models associated with procedures performed via the control system 640 (e.g., an ablation procedure, a biopsy, etc.) or operators of the control system 140 (e.g., a surgeon performing the procedure using the control system 140).
  • Such data may include an indication of the procedure or operator, model data indicative of typical operational data associated with the procedure and/or operator, or any other suitable data.
  • the database 687 may store respective sets of experimental data obtained by operating testing instruments (such as the testing instruments 122) to expiration.
  • the database 687 may store the sets of experimental data to create, train, optimize, and/or fine-tune one or more models for estimating an amount of age accumulated by an operating instrument based upon a respective set of operational data.
  • the server 680 maintains the sets of experimental data and the procedure and/or operator model data in separate databases.
  • the memory 685 may include one or more age determination routines or models 688.
  • a model 688, routine, or other element stored in memory may be referred to as receiving an input, producing or storing an output, or executing the routine, the model 688, or other element.
  • the model 688 may, in fact, execute as instructions on the processor 682. Further, those of skill in the art will appreciate that the model 688, routine, or other instructions may be stored in the memory 685 as executable instructions, which are transmitted to the control system 640 for execution by one or more processors thereof.
  • the models 688 may include a trained age determination model 690.
  • the memory 685 may store a plurality of computing modules 695, implemented as respective sets of computer-executable instructions (e.g., one or more source code libraries, training modules, etc.) as described herein.
  • the I/O module 696 may include or implement an operator interface configured to present information to an administrator or operator of the server 680 and/or receive inputs from the administrator and/or operator of the server 680.
  • the I/O module 696 may include I/O components (e.g., ports, capacitive or resistive touch sensitive input panels, keys, buttons, lights, LEDs), which may be directly accessible via, or attached to, server 680 or may be indirectly accessible via or attached to a personal electronic device (not depicted).
  • an administrator or operator may access the server 680 via the personal electronic device to review information, make changes, input training data, initiate training of the age determination models 690, and/or perform other functions (e.g., provide input into how the age determination models 690 are trained).
  • the server 680 may train the age determination model 690 using two different approaches.
  • a first approach referred to herein as a “data driven model” of “data model”
  • the age determination model 690 generates a change in age based on an interpolation of one or more coordinates of a map of parameters corresponding to operational data.
  • a second approach referred to herein as a “mathematical model” or a “math model”
  • the age determination model 690 determines a change in age by inputting the operational data into an equation of a shape that models age accumulation.
  • the computing modules 695 may include a data model training module 698 to train a data driven age determination model and/or a math model training module 699 to train a mathematical age determination model.
  • the server 680 may first preprocess the sets of experimental data to identify one or more contributing parameters that have a statistically significant impact on the age of the testing instruments. For example, the server 680 may isolate the sets of experimental data where a particular operational parameter under test is varied while generally maintaining the values of the other operational parameters. The server 680 may then generate a plot comparing testing instrument lifetime to different values of the operational parameter under test and calculate a cumulative distribution function to derive a p-value associated with the operational parameter under test.
  • the operational parameter under test may be considered a significantly contributing parameter that is modeled by the age determination model 690 (also referred to herein as a “contributing parameter”).
  • a significance threshold e.g. 10%, 5%, 2%, etc.
  • Embodiments described herein describe age determination models 690 in which the contributing parameters are ⁇ pitch, torque, mechanical work ⁇ or ⁇ pitch, torque, velocity ⁇ . It should be appreciated that in other embodiments, different sets of operational parameters may form the contributing parameters modeled by the age determination model 690.
  • FIG. 7 depicts an example map 700 (sometimes also referred to as a “grid”) in a coordinate spaced defined by the contributing parameters.
  • the map 700 includes a dimension that corresponds to each of the contributing parameters (e.g., torque, pitch, and velocity).
  • the data model training module 698 then defines a number of coordinates in the map 700 to use as reference coordinates for interpolation.
  • the data model training module 698 identifies a 3x3x2 grid of reference coordinates. It should be appreciated that in this illustrated example, there are only two coordinates in the velocity dimension due to the velocity operational parameters being less significant than the pitch and torque operational parameters.
  • the data model training module 698 may define a first coordinate to be a minimum value of the contributing parameter in the sets of experimental data, a second coordinate to be a maximum value of the contributing parameter in the set of experimental data, and a third coordinate to be some value in between (e.g., a midpoint, a median value, an average value, etc.).
  • a first coordinate to be a minimum value of the contributing parameter in the sets of experimental data
  • a second coordinate to be a maximum value of the contributing parameter in the set of experimental data
  • a third coordinate to be some value in between (e.g., a midpoint, a median value, an average value, etc.).
  • just the minimum and maximum values may be used.
  • a coordinate representative of a set of operating data obtained from an operating instrument is very likely to be located within the grid.
  • the data model training module 698 then assigns each of the coordinates a variable “y” representative of an amount of age a cable of an operating instrument accumulates when the operational data associated with the corresponding drive member exhibits the torque, pitch, and velocity values represented by the coordinate.
  • the data model training module 698 may then assign the coordinates an initial value for their respective y variable (e.g., 0.1) and perform a regression analysis (described below with respect to FIG. 9) using the sets of experimental data to solve for the values of the y variables.
  • the data model training module 698 may then store the coordinates and their respective values of the y variables as the model data that forms the age determination model 690.
  • control system 640 may then identify a ⁇ torque, pitch, velocity ⁇ set of values in the operational data provided by a drive member of an operating instrument to identify a coordinate 705 in the map 700 (represented as ytine). The control system 640 may then identify which “cube” in the map 700 bounds the coordinate 705. It should be appreciated that although the term “cube” is used, the bounding region may have any appropriate shape based on the particular coordinates defined by the data model training module 698.
  • the coordinate 705 is located in the front left “cube.” Accordingly, the control system 640 may perform an interpolation of the values of the y variables of the eight coordinates that define the bounding “cube.” More particularly, the control system 640 may perform a weighted average of the eight y values where the weights are determined based on the linear distance between the coordinate 705 and the corresponding bounding coordinate of the map 700. The resulting value is the amount of age the control system 640 adds to the current age of the cable coupled to the drive member.
  • FIG. 8 depicts an example shape 800 used to determine the amount of age accumulated by a cable.
  • the illustrated shaped 800 are based on a generalized logistic function. It should be appreciated in other embodiments, if the contributing parameters exhibit a different relationship, alternative shapes and/or equations may be implemented (such as sigmoid shapes, trigonometric shapes, polynomial shapes, exponential shapes, etc.
  • the user of the server 680 is able to specify the function represented by the shape 800.
  • the math model training module 699 analyzes the sets of experimental data to automatically generate a best guess for the shape 800.
  • the shape 800 is smooth and may be less able to account for local variations in age accumulation than the data driven model. On the other hand, it may be faster to calculate the equation than it is to perform the interpolation techniques associated with the data driven model.
  • the math model training module 699 may generate a generic equation based on the function and inserts a plurality of weights (“y” variables) into the function to define the particular features of the shape 800 (e.g., the degree and position at which the shape 800 curves).
  • the math model training module 699 may then assign the y variables an initial value (e.g., 1) and perform a regression analysis (described below with respect to FIG. 9) using the sets of experimental data to solve for the value y variables.
  • the math model training module 699 may store the equation of the shape 800, with the solved values of the y variables, as the model data that forms the age determination model 690.
  • control system 640 may then identify a ⁇ torque, pitch, mechanical work ⁇ set of values in the operational data provided by a drive member of an operating instrument to input into the equation of the shape 800.
  • control system 640 may derive the mechanical work value from an amount of rotation and torque performed by the drive member.
  • the output of the equation of the shape 800 is the amount of age the control system 640 adds to the current age of the cable coupled to the drive member.
  • FIG. 9 depicted is an example process 900 for performing a regression analysis to solve for the values of the y variables in either the map 700 or the equation of the shape 800.
  • the process 900 may be performed by the server 680 as part of the executing the modules 698, 699.
  • the process 900 is an iterative process to derive the best set of values for the y variables based on the sets of experimental data maintained at the database 687 and the initial guess for the y variables.
  • each set of experimental data may include a significant amount of data.
  • the testing instruments generate over 1 ,000 samples of operational data a second. If a typical testing instrument lasts about an hour, the number of samples in each set of experimental data may be too large to perform the regression analysis in a reasonable amount of time. That said, many of the samples have similar and/or identical sets of operational data.
  • the server 680 may instead generate a histogram that bins together the similar sets of operational data together. The server 680 can then reconstruct the amount of age accumulated by the testing instrument by multiplying the outputs of the age determination model by the respective counts in each bin. As a result, the amount of samples used to train the age determination model is reduced thereby enabling the regression process to complete in a timely manner.
  • the server 680 applies the current values of the y variables to the sets of experimental data. More particularly, for each set of experimental data, the server 680 inputs each sample (or bin) into the age determination model and adds the resulting value to generate an overall amount of age accumulated during the experiment. Accordingly, the server 680 may be configured to output a vector indicating the overall amount of accumulated age for each set of experimental data when the current values of the y variables are applied.
  • the server 680 adjusts the values of y variables.
  • the age is normalized to a scale where a value of 100 indicates an instrument has been operated to expiration.
  • the server 680 may adjust the values of the y variables to reduce the difference between the overall amount of ages included in the vector output at block 990 with 100.
  • the server 680 may utilize the mean square error between the output vector from block 990 and a vector of the same length having all values of 100 as a loss function.
  • the server 680 may implement a multiple regression, a multiple linear regression, a nonlinear regression, and/or other types of regression techniques to adjust multiple independent variables (e.g., the y variables) across experiments.
  • the server 680 may be configured to repeat blocks 990, 995 until the server 680 determines the best set of values for the y variables. In some embodiments, the server 680 determines the best set has been derived when the server 680 is unable to adjust the values for the y variables in manner that reduces error in the age determination model. Additionally, or alternatively, the server 680 may segment the sets of experimental data into training sets of experimental data and validation sets of experimental data. In these embodiments, the server 680 may only utilize the training sets of experimental data at block 990. The server 680 may then apply the values for the y variables to the validation sets of experimental data to determine whether the age determination model satisfies a validation metric (e.g., mean square error or other error metric).
  • a validation metric e.g., mean square error or other error metric
  • the server 680 may determine that the best set of values for the y variables has been reached. Regardless, when the server 680 detects the best set of values for the y variables, the server 680 may set the current values of the y variables as the values of the y variables in the output age determination model 690. It should be appreciated that in view of the limitations on collecting sets of experimental data, in some embodiments, the validation sets of experimental data may also be utilized as training sets of experimental data.
  • the server 680 may further utilize the sets of experimental data to derive an age threshold that more reliably indicates the expiration of an instrument than the 100 value used to train the age determination model.
  • the server 680 may plot the overall amount of accumulated age associated with the sets of experimental data.
  • the server 680 may then fit a distribution curve (e.g., a normal distribution curve, a lognormal distribution curve, a Weibull distribution curve, etc.) to the plot.
  • a distribution curve e.g., a normal distribution curve, a lognormal distribution curve, a Weibull distribution curve, etc.
  • the server 680 may identify the age value associated with a threshold value (e.g., 2%, 5%, 10%) of the corresponding cumulative distribution function.
  • a threshold value e.g., 2%, 5%, 10%
  • the server 680 may prevent an operating instrument from unexpectedly expiring in most scenarios.
  • the 5% threshold balances the desire to prevent instruments from unexpectedly expiring with the costs associated with expiring a functional operating instrument early.
  • the server 680 may then update the age determination model 690 such that the value derived from the distribution curve, and not 100, is used as the age when an operating instrument is expired
  • the server 680 may perform the aforementioned actions to generate a separate age determination model 690 for each cable (and/or proximal end thereof) of the instrument. Accordingly, in operation, the control system 640 may input the set of operational data obtained from each drive member into the corresponding age determination model. This enables the age determination models 690 to account for differences in how age is accumulated to each cable to provide a more accurate determination of which cable is the limiting cable and/or provide a more accurate estimation of an amount of life remaining in an operating instrument.
  • the server 680 may perform similar techniques to retrain the age determination model 690 using additional data (e.g., sets of operating data compiled by the control system 640 while performing a procedure).
  • additional data e.g., sets of operating data compiled by the control system 640 while performing a procedure.
  • FIG. 10 depicts a flow diagram of an exemplary computer-implemented method 1000 for generating a model according to an embodiment.
  • the method 1000 may be performed by one or more processors (such as the processors 682) executing instructions stored in one or more computer-readable media (such as the memory 685) of a server (such as the servers 180, 680).
  • processors such as the processors 682
  • computer-readable media such as the memory 685
  • server such as the servers 180, 680
  • the method 1000 may include obtaining one or more sets of experimental data indicative of one or more testing instruments (such as instruments 122, 2400, 3400) being operated to expiration (block 1010), wherein each testing instrument of the one or more testing instruments includes a distal end (such as the distal ends 310, 510), a proximal end (such as the proximal ends 305, 505), a movable component (such as the working portion 126, the movable component 2460, or the wrists 322, 522) at the distal end, an instrument control system (such as the instrument control systems 2700, 3700) at the proximal end, and a plurality of cables (such as the cables 2420, 3420, 3430) connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system.
  • each testing instrument of the one or more testing instruments includes a distal end (such as the distal ends 310, 510), a proximal end (such as the proxi
  • the method 1000 may include generating an age determination model (such as the age determination models 690) based on the one or more sets of experimental data (block 1020), the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument.
  • an age determination model such as the age determination models 690
  • the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument.
  • the instrument age of the operating instrument is based on an age of a limiting cable of the operating instrument, the limiting cable having a highest age value.
  • operational data is associated with the operating instrument and includes sets of operational data associated with each of the plurality of cables
  • inputting the operational data into the age determination model may include inputting each set of operational data to obtain a change in age for each of the plurality of cables.
  • performing the regression analysis comprises: segmenting the one or more sets of experimental data into a training set of experimental data and a validation set of experimental data; and performing the regression analysis using the training set of experimental data.
  • identifying the equation of the shape or one or more contributing parameters is based on user-input or system-prediction.
  • generating the age determination model may include analyzing the one or more sets of experimental data to generate a map (such as the map 700) in a feature space defined by the one or more contributing parameters that associates a coordinate in the feature space with a change in an age to the operating instrument having values of the one or more contributing parameters represented by the coordinate; and generating the age determination model such that the age determination model increases an amount of age associated with the operating instrument by accepting an input coordinate (such as the coordinate 705) indicative of respective values of the one or more contributing parameters and outputting, based on the map, a change in the age to the operating instrument, wherein to output the change in age for the input coordinate, the age determination model interpolates changes in the instrument age from one or more coordinates in the map.
  • the age determination model uses a k-nearest neighbor algorithm to interpolate the changes in the age of the operating instrument from the one or more coordinates in the map.
  • the age determination model applies a linear interpolation algorithm to interpolate the changes in the age of the operating instrument age the one or more coordinates in the map.
  • GUIs 1100A-C indicating the age of an operating instrument at different points in time.
  • the user interfaces 1100A-C may be presented by a display device (such as the display device 112) of a computer-assisted system (such as the computer-assisted system 100).
  • a control system such as the control systems 140, 640
  • the workstation and/or a combination thereof may generate the GUIs 1100A-C and/or the data displayed thereby.
  • the GUIs 1100A-C enable a user to visualize image data generated by an imaging instrument of the computer-assisted system.
  • the image data includes a representation of an operating instrument 1122 (such as an operating instrument 122).
  • the GUIs 1100A-C may also include an age indicator 1120 that indicates the age of the operating instrument 1122 and, in some embodiments, an estimated lifetime remaining for the operating instrument 1122.
  • the control system may highlight and/or otherwise indicate the operating instrument 1122 corresponding to the age indicator 1120.
  • the control system may include a data store (such as the memory 160) to store, for example, one or more age determination models (such the age determination model 690) trained using any one of the methods, algorithms, equations, models and/or techniques described herein, or in any other suitable manner.
  • the memory may store a different model for each cable (and/or proximal end thereof) of the operating instruments.
  • the memory may also store a current age associated with the operating instrument 1122 and/or the cables thereof.
  • the control system obtains operational data associated with the operation of the operating instrument 1122. This may include sets of operational data associated with each of the plurality of cables of the operating instrument 1122 (e.g., the operational data generated by the drive members, such as the drive members 2710, 2720, 3710, 3720, and/or the instrument control systems 2700, 3700).
  • the operational data may include one or more of mechanical work of the drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the operating instrument 1122.
  • the control system may then identify the portion of the operational data corresponding to the parameters of the age determination models (e.g., the contributing parameters) for input into the respective age determination models. In response, the control system obtains a change in age for each of the plurality of cables. The control system then updates the stored age for each of the cables (and/or proximal ends thereof) by adding the output change in accumulated age. As described herein, the age of the operating instrument 1122 may be based on the age of a limiting cable of the plurality of cables. Accordingly, the control system may identify the cable (and/or proximal end thereof) that is the limiting cable when generating the estimated age and/or the lifetime remaining provided via the age indicator 1120.
  • the age of the operating instrument 1122 may be based on the age of a limiting cable of the plurality of cables. Accordingly, the control system may identify the cable (and/or proximal end thereof) that is the limiting cable when generating the estimated age and/or the lifetime remaining provided via the age indicator 1120.
  • the control system may obtain operator profile data and/or procedure profile data to generate the prediction of remaining usage based on expected future values for the operational data. Additionally or alternatively, the amount of usage remaining may be determined, in part, based on a current or average age accumulation rate during the current procedure.
  • the GUI 1100B includes an alert 1130A configured to warn the operator as to the relatively limited amount of usage remaining for the operating instrument 1122.
  • the control system may also generate an audio alert (e.g., a warning sound), a tactile alert (e.g., vibrating of the instrument), or any other suitable alert.
  • the GUI 1100C includes an alert 1130B configured to warn the operator as to the expiration of the operating instrument 1122.
  • the control system may also generate an audio alert (e.g., a warning sound), a tactile alert (e.g., vibrating of the instrument), or any other suitable alert.
  • the control system may automatically intervene to mitigate the impact of the operating instrument 1122 expiring.
  • the control system may implement a remedial action such as restricting a range of motion of the operating instrument 1122 (e.g., disabling operation of the instrument in a manner that exhibits a threshold amount of a contributing parameter), reducing the torque limit of one or more cables of the operating instrument 1122, providing an interface option to engage an automatic retraction of the operating instrument 1122, preventing usage of a movable device of the operating instrument 1122 (e.g., force-expiring the instruments), or any other suitable manner of limiting of operation of the operating instrument. Any such limiting of operation may also be indicated via a display and/or alert.
  • the control system may include a memory for storing operator preferences associated with the alerts/remedial actions.
  • the operator preferences may indicate an alert threshold (e.g., as defined by a percentage of the overall amount of age) and any automated interventions (e.g., alerts, range of motion limits, etc.) associated therewith. Accordingly, the operator may indicate their alert preferences to be consistent with their preferred level of alerting.
  • the control system may allow the surgeon (e.g., via a user interface of the control system) to expire the instrument, disable some capabilities of the instrument, disregard the alert, or any other suitable course of action.
  • FIGS. 11 A-11C only represent one example technique for indicating an age of the operating instruments to an operator.
  • alternate indicators may be provided additionally and/or instead of the age indicator 1120.
  • the age indicator 1120 may include an indication of age (e.g., as a percentage of current age to the threshold age cutoff) instead of an estimated time remaining.
  • FIG. 12 depicts a flow diagram of an exemplary computer-implemented method 1200 for providing guidance to a user of a computer-assisted system (such as computer- assisted system 100), based on the age of an operating instrument according to an embodiment.
  • the method 1200 may be performed by one or more processors (such as the processor system 150) of a control system (such as the control systems 140, 640).
  • the method 1200 may include storing, in a data store (such as the memory 160) of the control system, an instrument age associated with an operating instrument (such as the instruments 122, 2400, 3400,1122) (block 1210), wherein the operating instrument includes a distal end (such as the distal ends 310, 510), a proximal end (such as the proximal ends (305, 505), a movable component (such as the working portion 126 or the movable component 2460, or the wrists 322, 522) at the distal end, an instrument control system (such as the instrument control systems 2700, 3700) at the proximal end, and a plurality of cables (such as the cables 2420, 3420, 3430) connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system.
  • a data store such as the memory 160
  • an instrument age associated with an operating instrument such as the instruments 122, 2400, 3400,1122
  • the method 1200 may include obtaining operational data associated with the operation of the operating instrument (block 1220).
  • the method 1200 may include obtaining a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model (such as the age determination models 690) (block 1230).
  • an age determination model such as the age determination models 690
  • the method 1200 may include updating the stored instrument age of the operating instrument based on the obtained change in the instrument age (block 1240).
  • the operational data associated with the operating instrument includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model may include inputting each set of operational data to obtain a change in age for each of the plurality of cables.
  • the age of the operating instrument is based on the age of a limiting cable of the plurality of cables, the limiting cable having a highest age value.
  • the operational data includes one or more of mechanical work of the drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the instrument.
  • control system may further display, via a display device (such as the display device 112), the updated age (such as via the age indicator 1120) of the operating instrument.
  • a display device such as the display device 112
  • the updated age such as via the age indicator 1120
  • control system may further estimate, based on the updated age of the operating instrument, an amount of usage time remaining associated with the operating instrument (such as via the age indicator 1120); and display, via the display device, the estimated amount of usage time remaining.
  • control system may further determine an age accumulation rate at which the age of the operating instrument is accumulating during a current procedure; and determine, based on the age accumulation rate, an amount of usage time remaining for the operating instrument.
  • the control system may further obtain procedure profile data associated with at least one procedure previously performed by one or more operators using the same type of instrument as the operating instrument; determine an expected age accumulation rate based on the procedure profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
  • control system may further obtain operator profile data associated with at least one procedure previously performed by the operator using the same type of instrument as the operating instrument; determine an expected age accumulation rate based on the operator profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
  • the remedial action may include displaying, via a display device, an alert (such as the alerts 1130A, 1130B) or limiting operation of the operating instrument.
  • limiting operation of the operating instrument may include restricting a range of motion associated with the movable component of the operating instrument; reducing one or more torque limits of the operating instrument; or preventing usage of the operating instrument.
  • inputting the operational data into the age determination model may include generating a coordinate (such as the coordinate 705) for a map (such as the map 700) having dimensions based on one or more contributing parameters of the age determination model; and obtaining the change in age based upon an interpolation between one or more coordinates in the map corresponding to one or more sets of experimental data generated by operating one or more testing instruments to expiration.
  • inputting the operational data into the age determination model comprises: inputting the operational data into an equation of a shape (such as the equation of the shape 800), wherein the equation of the shape is generated may include identifying, based on the one or more sets experimental data generated by operating one or more testing instruments to expiration, one or more contributing parameters that exhibit a statistical significance on the age of at least one cable of a plurality of cables of a testing instrument beyond a significance threshold; identifying the equation of the shape such that the shape models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; and performing a regression analysis (such as via the process 900) of the equation using the one or more sets of experimental data to solve for the unknown constant values.
  • an equation of a shape such as the equation of the shape 800
  • the equation of the shape is generated may include identifying, based on the one or more sets experimental data generated by operating one or more testing instruments to expiration, one or more contributing parameters that exhibit a statistical significance on the age of at least one
  • control system 140 may be implemented in software for execution on one or more processors of a computer system.
  • the software may include code that when executed by the one or more processors, configures the one or more processors to perform various functionalities as discussed herein.
  • the code may be stored in a non-transitory computer readable storage medium (e.g., a memory, magnetic storage, optical storage, solid-state storage, etc.).
  • the computer readable storage medium may be part of a computer readable storage device, such as an electronic circuit, a semiconductor device, a semiconductor memory device, a read only memory (ROM), a flash memory, an erasable programmable read only memory (EPROM); a floppy diskette, a CD-ROM, an optical disk, a hard disk, or other storage device.
  • the code may be downloaded via computer networks such as the Internet, Intranet, etc. for storage on the computer readable storage medium.
  • the code may be executed by any of a wide variety of centralized or distributed data processing architectures.
  • the programmed instructions of the code may be implemented as a number of separate programs or subroutines, or they may be integrated into a number of other aspects of the systems described herein.
  • wireless connections may use wireless communication protocols such as Bluetooth, near-field communication (NFC), Infrared Data Association (IrDA), home radio frequency (HomeRF), IEEE 502.11 , Digital Enhanced Cordless Telecommunications (DECT), and wireless medical telemetry service (WMTS).
  • wireless communication protocols such as Bluetooth, near-field communication (NFC), Infrared Data Association (IrDA), home radio frequency (HomeRF), IEEE 502.11 , Digital Enhanced Cordless Telecommunications (DECT), and wireless medical telemetry service (WMTS).

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Biomedical Technology (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Surgery (AREA)
  • Epidemiology (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Pathology (AREA)
  • Robotics (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Molecular Biology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Veterinary Medicine (AREA)
  • Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
  • Databases & Information Systems (AREA)
  • Manipulator (AREA)

Abstract

Systems and methods for generating an age determination model based on sets of experimental data of testing instruments. A control system of a computer-assisted system is configured to use the age determination model to provide a change in instrument age of an operating instrument under its control. The control system may provide guidance to a user based on the age of the operating instrument, and may perform one or more remedial actions when an updated instrument age of the operating instrument exceeds an age threshold.

Description

AGE ESTIMATION OF CABLE-DRIVEN SURGICAL INSTRUMENTS
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application claims the benefit of U.S. Patent Application No. 63/578,142, entitled “AGE ESTIMATION OF CABLE-DRIVEN SURGICAL INSTRUMENTS,” filed August 22, 2023, which is hereby expressly incorporated by reference herein in their entirety.
FIELD
[0002] The present disclosure is directed to age estimation of cable-driven surgical instruments. More particularly, the present disclosure is directed to generating an age estimation model for cable-driven surgical instruments and providing guidance to a user of surgical instruments based upon the instrument age.
BACKGROUND
[0003] The cables in cable-driven surgical instruments can fail during surgery with undesirable consequences such as nonintuitive motion, undesirable cutting, burns to unintended tissue, or other deleterious effects which may affect the quality of the surgical procedure and/or the health of the patient undergoing the surgery.
[0004] Determining the age of a surgical instrument based upon the amount of time it has been operated may not accurately assess its age. For example, a cable-driven instrument may have a plurality of cables which experience various amounts of wear compared to one another based upon how each cable is used throughout its lifetime. Moreover, a generalized age estimate for a surgical instrument which does not take into account usage of specific components, such as cables, can result in unnecessarily expiring an instrument which still has useful life remaining, or conversely incorrectly estimating an instrument has time left to be safely operated, when in fact it does not.
[0005] Similarly, determining when an instrument is at, or approaching, an age indicative of imminent failure may have detrimental consequences. For example, if the estimated age of an instrument incorrectly predicts its expiration earlier than necessary, an operator of the surgical instrument may perceive it as a nuisance and/or could be required to interrupt a surgery at a critical time. If the estimated life is predicted to end too late, or not at all, a cable unexpectedly break could occur during a surgical procedure.
[0006] Thus, a need exists for improved age estimation techniques for a surgical instrument, especially a cable-driven surgical instrument, as well as improved guidance based upon the instrument’s age. SUMMARY
[0007] In general, the present disclosure is directed to systems and methods for generating an age estimation model for cable-driven surgical instruments and providing guidance to a user of surgical instruments based upon the instrument age. Additional certain embodiments of the invention are best summarized by the claims that follow the description.
[0008] In one embodiment, a computer-implemented method of generating a model is provided. The computer-implemented method may include obtaining one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generating an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and providing the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
[0009] In one embodiment, a computer-readable media storing instructions is provided. The instructions, when executed by one or more processors, cause a system to obtain one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generate an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and provide the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
[0010] In one embodiment, a system for generating a model is provided. The system may include one or more processors and a non-transitory storage medium storing processorexecutable instructions that, when executed by the one or more processors, causes the system to obtain one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generate an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument; and provide the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
[0011] In one embodiment, a computer-assisted system for providing guidance to a user of the computer-assisted system based on the age of an operating instrument is provided. The computer-assisted system may include an operating instrument including a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; and a control system operably coupled to the drive member to drive the movable component of the operating instrument. The control system may be configured to store, in a data store of the control system, an instrument age associated with the operating instrument; obtain operational data associated with the operation of the operating instrument; obtain a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; update the stored instrument age of the operating instrument based on the obtained change in the instrument age; and perform a remedial action when the updated instrument age exceeds an instrument age threshold.
[0012] In one embodiment, a computer-implemented method for providing guidance to a user of a computer-assisted system based on the age of an operating instrument is provided. The computer-implemented method may include storing, in a data store of a control system, an instrument age associated with an operating instrument, wherein the operating instrument includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; and the control system is operably coupled to the drive member to drive instrument control system. The computer-implemented method may include obtaining operational data associated with the operation of the operating instrument; obtaining a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; updating the stored instrument age of the operating instrument based on the obtained change in the instrument age; and performing a remedial action when the updated instrument age exceeds an instrument age threshold.
[0013] In one embodiment, a computer-readable media storing instructions is provided. The instructions, when executed by one or more processors, cause a system to store, in a data store of a control system, an instrument age associated with an operating instrument, wherein the operating instrument includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; and the control system is operably coupled to the instrument control system to drive the movable component of the operating instrument. The instructions, when executed by one or more processors, may cause the system to obtain operational data associated with the operation of the operating instrument; obtain a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; update the stored instrument age of the operating instrument based on the obtained change in the instrument age; and perform a remedial action when the updated instrument age exceeds an instrument age threshold.
[0014] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory in nature and are intended to provide an understanding of the present disclosure without limiting the scope of the present disclosure. In that regard, additional aspects, features, and advantages of the present disclosure will be apparent to one skilled in the art from the following detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0015] FIG. 1 A is a is a simplified diagram of an example computer-assisted system, according to various embodiments.
[0016] FIG. 1 B is a schematic side view of an example instrument, according to various embodiments.
[0017] FIG. 2 is a diagrammatic illustration of a portion of a medical device for movable component adjustment, according to various embodiments.
[0018] FIG. 3 is a diagrammatic illustration of a portion of a testing instrument having an antagonist drive system, according to various embodiments. [0019] FIG. 4 is a diagrammatic illustration of a portion of a medical device for movable component adjustment, according to various embodiments.
[0020] FIG. 5 is a diagrammatic illustration of a portion of a testing instrument having a paired capstan drive system, according to various embodiments.
[0021] FIG. 6 is a is a simplified diagram of a training server, according to various embodiments.
[0022] FIG. 7 is diagrammatic illustration of an example map representative of a data driven age determination model, according to various embodiments.
[0023] FIG. 8 is diagrammatic illustration of an example shape representative of a mathematical age determination model, according to various embodiments.
[0024] FIG. 9 is an example process for performing a regression analysis, according to various embodiments.
[0025] FIG. 10 depicts a flow diagram of an exemplary computer-implemented method for generating a model, according to various embodiments.
[0026] FIGS. 11 A is an example user interface indicating the age of an operating instrument at a point in time, according to various embodiments.
[0027] FIGS. 11 B is an example user interface indicating the age of an operating instrument at another point in time, according to various embodiments.
[0028] FIGS. 11C is an example user interface indicating the age of an operating instrument at yet another point in time, according to various embodiments.
[0029] FIG. 12 depicts a flow diagram of an exemplary computer-implemented method for providing guidance to a user of a computer-assisted system based on the age of an operating instrument, according to various embodiments.
[0030] FIG. 13 depicts drive members in a paired capstan drive system operating in two different directions, according to various embodiments.
DETAILED DESCRIPTION
[0031] As used in this specification and the appended claims, the word “distal” refers to direction towards a work site, and the word “proximal” refers to a direction away from the work site. Thus, for example, the end of a medical device that is closest to the target tissue would be the distal end of the medical device, and the end opposite the distal end (i.e., the end manipulated by the user or coupled to the actuation shaft) would be the proximal end of the medical device. [0032] Further, specific words chosen to describe one or more embodiments and optional elements or features are not intended to limit the invention. For example, spatially relative terms — such as “beneath”, “below”, “lower”, “above”, “upper”, “proximal”, “distal”, and the like — may be used to describe the relationship of one element or feature to another element or feature as illustrated in the figures. These spatially relative terms are intended to encompass different positions (i.e., translational placements) and orientations (i.e., rotational placements) of a device in use or operation in addition to the position and orientation shown in the figures. For example, if a device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be “above” or “over” the other elements or features. Thus, the term “below” can encompass both positions and orientations of above and below. A device may be otherwise oriented (e.g., rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly. Likewise, descriptions of movement along (translation) and around (rotation) various axes include various spatial positions and orientations. The combination of a body’s position and orientation define the body’s pose.
[0033] Similarly, geometric terms, such as “parallel”, “perpendicular”, “round”, or “square”, are not intended to require absolute mathematical precision, unless the context indicates otherwise. Instead, such geometric terms allow for variations due to manufacturing or equivalent functions. For example, if an element is described as “round” or “generally round,” a component that is not precisely circular (e.g., one that is slightly oblong or is a many-sided polygon) is still encompassed by this description.
[0034] In addition, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. The terms “comprises”, “includes”, “has”, and the like specify the presence of stated features, steps, operations, elements, components, etc. but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, or groups.
[0035] As used in this specification and the appended claims, the word “member” refers to a constituent portion of a larger structure or mechanism. A “member” can refer to an individual contiguous structure or multiple connected structures such as a mechanism.
[0036] Unless indicated otherwise, the terms apparatus, medical device, medical instrument, surgical instrument, testing instrument, operating instrument, and variants thereof, can be interchangeably used.
[0037] Aspects of the invention are described primarily in terms of an implementation using a da Vinci® surgical system, commercialized by Intuitive Surgical, Inc. of Sunnyvale, California. Examples of such surgical systems are the da Vinci Xi® surgical system (Model IS4000), da Vinci A® Surgical System (Model IS4200), and the da Vinci Si® surgical system (Model IS3000). Knowledgeable persons will understand, however, that inventive aspects disclosed herein may be embodied and implemented in various ways, including computer- assisted, non-computer-assisted, and hybrid combinations of manual and computer-assisted embodiments and implementations. Implementations on da Vinci® surgical systems (e.g., the Model IS4000, the Model IS3000, the Model IS2000, the Model IS 1200, the Model SP1099) are merely presented as examples, and they are not to be considered as limiting the scope of the inventive aspects disclosed herein. As applicable, inventive aspects may be embodied and implemented in both relatively smaller, hand-held, hand-operated devices that are not mechanically grounded in a world reference frame and relatively larger systems that have additional mechanical support that is grounded in a world reference frame. Additionally, while embodiments disclosed herein may be implemented in a medical surgical system, the techniques disclosed herein may be applied to other manipulator systems applied to non-medical contexts.
[0038] Generally, the disclosure refers to the age of cables. As described in more detail below, in some embodiments, an instrument may include a single cable coupled to a first drive member at a proximal end of the instrument that is coupled to a wrist of a movable component at a distal end of the instrument and returns to a second drive member at the proximal end of the instrument. Accordingly, unless otherwise described, when the description refers to age of the cable, it is envisioned that each proximal portion of the cable is associated with its own age. That is, a single cable may have a first age for the proximal portion between the first drive member and the movable component and a second age for the proximal portion between the second drive member and the movable component. In this scenario, a first proximal portion of the cable may be referred to as a “first cable” and a the second proximal portion of the cable may be referred to as a “second cable,” despite the “first cable” and “second cable” being part of the same contiguous cable. Thus, the age of a cable is sometimes used herein as shorthand for the age of a proximal portion of a cable.
[0039] Embodiments described herein generally refer to age as being normalized to a scale of 0 representing an unused cable and 100 being a cable that has just failed. It should be appreciated that in other embodiments, other scales for age may be utilized.
[0040] Additionally, it should be appreciated that operating testing instruments is an expensive process due to the significant cost of replacing the testing instruments and/or repairing the cables thereof. Accordingly, the amount of training data one is able feasibly record is typically below the threshold needed to train advanced forms machine learning models (e.g., neural networks, transformer models, etc.). Thus, techniques described herein provide alternative model architectures that are able to model age accumulation of instrument cables based on the relatively smaller amount of available training data.
[0041] FIG. 1A is a simplified diagram of an example computer-assisted system 100, according to various embodiments. In some examples, the computer-assisted system 100 is a teleoperated system. In medical examples, the computer-assisted system 100 can be a teleoperated medical system such as a surgical system. As shown, the computer-assisted system 100 includes a follower device 104 that can be teleoperated by being controlled by one or more leader devices (also referred to herein as a “manipulator unit”), described in greater detail below. Systems that include a leader device and a follower device are referred to as leader-follower systems, and also sometimes referred to as master-slave systems. In other embodiments, the computer-assisted system 100 is a robotic surgical system that is not teleoperated.
[0042] Also shown in FIG. 1A, the computer-assisted system 100 includes an input system that includes a workstation 102 (e.g., a console), and in various embodiments the input system can be in any appropriate form and may or may not include the workstation 102. In the example of Figure 1 , the workstation 102 includes one or more leader input devices 106 that are designed to be contacted and manipulated by an operator 108. For example, the workstation 102 may comprise one or more leader input devices 106 for use by the hands, the head, or some other body part(s) of operator 108. The leader input devices 106 in this example are supported by the workstation 102 and can be mechanically grounded. In some embodiments, an ergonomic support 110 (e.g., forearm rest) can be provided on which the operator 108 can rest his or her forearms. In some examples, the operator 108 can perform tasks at a worksite within a workspace near the follower device 104 during a procedure, by commanding the follower device 104 using the leader input devices 106. In a medical example, the worksite may be a surgical worksite associated with a patient.
[0043] A display device 112 is also included in the workstation 102. The display device 112 may be configured to display images for viewing by the operator 108. The display device 112 can be moved in various degrees of freedom (DOFs) to accommodate the viewing position of the operator 108 and/or to provide control functions. In embodiments where the display device 112 provides control functions, the leader input devices 106 may include the display device 112. In the example of the computer-assisted system 100, displayed images may depict a worksite at which the operator 108 is performing various tasks by manipulating the leader input devices 106 and/or the display device 112. In some examples, images displayed by display device 112 may be received by the workstation 102 from one or more imaging devices arranged at a worksite. In other examples, the images displayed by the display device 112 may be generated by the display device 112 (or by a different connected device or system), such as for virtual representations of tools, the worksite, or for user interface components.
[0044] When using the workstation 102, the operator 108 can sit in a chair or other support in front of the workstation 102, position his or her eyes in front of the display device 112, manipulate the leader input devices 106, and rest his or her forearms on the ergonomic support 110 as desired. In some embodiments, the operator 108 can stand at the workstation or assume other poses, and the display device 112 and the leader input devices 106 can be adjusted in position (height, depth, etc.) to accommodate the pose of the operator 108.
[0045] In some embodiments, the one or more leader input devices 106 can be ungrounded (ungrounded leader input devices being not kinematically grounded, such as leader input devices 106 held by the hands of the operator 108 without additional physical support). Such ungrounded leader input devices 106 can be used in conjunction with the display device 112. In some embodiments, the display device 112 is positioned near the worksite such that the operator 108 can manually operate instruments at the worksite, such as a medical instrument in a medical example, while viewing images displayed by the display device 112.
[0046] As illustrated, the computer-assisted system 100 also includes a follower device 104 that can be commanded by the workstation 102. In a medical example, the follower device 104 can be located near an operating table (e.g., a table, bed, or other support) on which a patient can be positioned. In some medical examples, the workspace is provided on an operating table, e.g., on or in a patient, simulated patient, or model, training dummy, etc. (not shown). As illustrated, the follower device 104 may include a plurality of repositionable structures 120 (sometimes referred to as “manipulator arms” in robotic embodiments). In some embodiments, the repositionable structures 120 may include a plurality of links that are rigid members and joints that can be individually actuated as part of a kinematic series. Additionally, each of the repositionable structures 120 is configured to couple to an instrument 122. While Figure 1 illustrates a follower device 104 that has four repositionable structures 120, in other embodiments, the follower device 104 may include one, two, three, four, five, six, or additional or fewer repositionable structures 120.
[0047] The instrument 122 can include, for example, a working portion 126 (also referred to herein as a “movable component”) and one or more structures for supporting and/or driving the working portion 126. Example working portions 126 include end effectors that physically contact or manipulate material, energy application elements that apply electrical, RF, ultrasonic, or other types of energy, sensors that detect characteristics of the workspace environment (such as temperature sensors, imaging devices, etc.), and the like. In various embodiments, examples of instruments 122 include, without limitation, a sealing instrument, a cutting instrument, a sealing-and-cutting instrument, an energy instrument for applying energy, a gripping instrument (e.g., clamps, jaws), a stapler, an imaging instrument such as one using optical, RF, or ultrasonic imaging modalities, a sensing instrument, an irrigation instrument, a suction instrument, and/or the like. In addition, the instrument 122 may include a transmission mechanism 128 that can be coupled to a drive assembly 130 of the respective repositionable structure 120. The drive assembly 130 may include a drive and/or other mechanisms controllable from workstation 102 that transmit forces to the transmission mechanism 128 to articular or otherwise actuate the instrument 122.
[0048] As illustrated, each instrument 122 may be mounted to a portion of a respective repositionable structure 120. In FIG. 1A, this is shown with the drive assembly 130 physically coupled to the transmission mechanism 128. The distal portion of each repositionable structure 120 further includes a cannula mount 124 to which a cannula (not shown) is mounted. When a cannula is mounted to the cannula mount 124, a shaft of the instrument 122 passes through the cannula and into a workspace.
[0049] In various embodiments, one or more of the working portions 126 of the instruments 122 may include an imaging device for capturing images. The imaging device may include any sensing technology capable of acquiring an image. Example imaging instruments include an optical endoscope, a hyperspectral camera, an ultrasonic sensor, etc. Imaging instruments may comprise monoscopic imagers, stereoscopic imagers, and/or the like. Imaging devices based on radiofrequency domains may capture images in any frequency spectrum, including visible light, infrared light, ultraviolet light, and/or the like. The imaging device may include an illumination source to light the region being imaged. In embodiments where the working portions 126 of one or more of the instruments 122 include an imaging device, the instrument 122 may be configured to capture images of a portion of the workspace for display via the display device 112.
[0050] Referring now to FIG. 1 B, a schematic, side view of an example instrument 122 is depicted according to some embodiments. The instrument 122 can be, or include, an instrument used to perform medical (e.g., surgical, diagnostic, and/or therapeutic) or nonmedical procedures (e.g., industrial inspection applications). The instrument 122 includes a shaft 103 elongated along a longitudinal axis A , between proximal end portion 105 and distal end portion 107. In implementations in which the instrument 122 is a medical instrument, such as for use in minimally-invasive medical procedures, the shaft 103 is on the order of a few millimeters in diameter, for example from five to eight millimeters in diameter. [0051] As described above, the instrument 122 further includes a working portion 126 coupled to the distal end portion 107 and a force transmission system 111 (only the exterior housing portion of which is depicted) coupled to the proximal end portion 105. The working portion 126 is configured to carry out a medical or non-medical (such as industrial) procedure. For example, the working portion 126 by one or more types of tools such as gripping tools, staplers, shears, ligation clip appliers, electrosurgical tools, ultrasonic tools, suturing tools, translating sleds, translating cutting tools, or other types of tools. While the illustration of FIG. 1 B depicts an working portion 126 having jaw members 113 configured to move toward and away from each other (either by one or both jaw members pivoting about a pivot axis), such a configuration is exemplary and non-limiting and those of ordinary skill in the art would appreciate the instrument 122 can have any of a variety of end effectors coupled to the working portion 126 without departing from the scope of the present disclosure.
[0052] In FIG. 1 B, the instrument 122 further optionally includes an articulable component 115 coupling the working portion 126 to the shaft 103. As shown in FIG. 1 B, the articulable structure 115 can be positioned along the distal end portion 107 of the shaft 103. But the disclosure is not so limited and the articulable structure 115 can be positioned at any location along the shaft 103 without limitation. In addition, the instrument 122 can include more than one articulable structure 115, such as two, three, or more articulable structures located in series or at multiple spaced apart locations along the length of the shaft 103. The articulable structure 115 can be controlled and actuated via actuation members (not illustrated in FIG. 1 B), such as pull-pull type or push-pull type actuation members as described herein, operably coupled to one or more drive components of the force transmission system 111 , and thus able to be actuated via a manipulator through the force transmission system. In various embodiments, as those having ordinary skill in the art would be familiar with, an articulable structure can serve as a wrist mechanism supporting and coupling the working portion 126 to the shaft 103 so as to allow orientation of the working portion 126 relative to the shaft in pitch and/or yaw.
[0053] In the embodiment of FIG. 1 B, the force transmission system 111 is coupled to the proximal end portion 105 of the shaft 103. In other embodiments, the force transmission system 111 may be coupled at various locations along the shaft 103, and in some cases moveable along the shaft, but generally in a position such that it remains external to a remote site (such as a patient’s body) at which the working portion 126 and a distal end portion 107 of the shaft 103 are inserted to perform a procedure, thereby permitting access to manipulate inputs on the force transmission system 111. [0054] Force transmission system 111 includes a housing 117 supporting an input drive portion 119. Input drive portion 119 includes a drive interface 121. Drive interface 121 provides mechanical connections to the other control features of force transmission system 111 , such as various output drives configured to be operated to transmit force to control the moveable components and operations at the distal end portion 107 of the instrument 122. In the implementation of FIG. 1 B, drive interface 121 is configured to be coupled to a manipulator system.
[0055] In some embodiments, the repositionable structures 120 and/or instrument 122 can be controlled to move the working portion 126 in response to manipulation of the leader input devices 106 by the operator 108. Accordingly, the repositionable structures 120 and/or instrument 122 may be said to “follow” the leader input devices 106 through teleoperation. This enables the operator 108 to perform tasks at the worksite using the repositionable structures 120 and/or instrument 122. For a surgical example, the operator 108 can direct the repositionable structures 120 of the follower device 104 to move the working portions 126 as part of a surgical procedure performed at an internal surgical site that is entered via one or more minimally invasive apertures or natural orifices.
[0056] In some embodiments, a repositionable structure 120a of the computer-assisted system 100 may be configured to support a working portion 126 that includes an imaging device. For convenience, an instrument 122 that includes an imaging device is also referred to as an “imaging instrument” herein. The control system 140 may be configured to command the repositionable structure 120a and/or the imaging instrument 122 comprising the imaging device to automatically position and/or orient (“pose”) the field of view (FOV) of the imaging device to provide images of the workspace and/or other instruments 122.
[0057] In the illustrated embodiment, a control system 140 is communicatively coupled to the workstation 102. In other embodiments, the control system 140 may be provided as a component of the workstation 102 and/or the follower device 104. During teleoperation, as the operator 108 moves the leader input device(s) 106, one or more sensors configured to detect the leader input device(s) 106 generate spatial and/or orientation movement data that is provided to control system 140. The control system 140 may interpret the spatial and/or orientation information to determine and/or provide control signals to follower device 104 to control the movement of repositionable structures 120, instrument 122, and/or working portions 126. In one embodiment, control system 140 supports one or more wired communication protocols, (e.g., Ethernet, USB, and/or the like) and/or one or more wireless communication protocols (e.g., Bluetooth, IrDA, HomeRF, IEEE 1002.11 , DECT, Wireless Telemetry, and/or the like) for communications between the control system 140 and the [0058] In some embodiments, the control system 140 may be implemented at one or more computing systems. For example, one or more computing systems may be used to control follower device 104. As another example, one or more computing systems may be used to control components of workstation 102, such as movement of a display device 112.
[0059] As illustrated, the control system 140 includes a processor system 150 and a memory 160. The memory 160 may store a control module 170. The processor system 150 may include one or more processors having different processing architectures for processing instructions. For example, the one or more processors may be one or more cores or microcores of a multi-core processor, a central processing unit (CPU), a microprocessor, a field- programmable gate array (FPGA), an application-specific integrated circuit (ASIC), a digital signal processor (DSP), a graphics processing unit (GPU), a tensor processing unit (TPU), and/or the like.
[0060] In some embodiments, the processor system 150 includes circuity to support one or more communication interfaces (e.g., Bluetooth interface, infrared interface, network interface, optical interface, etc.). Additionally, a communication interface of control system 140 may include an integrated circuit for connecting the control system 140 to a network (not shown) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) and/or to another device, such as the workstation 102 and/or the follower device 104.
[0061] Additionally, the memory 160 may include non-persistent storage (e.g., volatile memory, such as random access memory (RAM), cache memory), persistent storage (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory, a floppy disk, a flexible disk, a magnetic tape, any other magnetic medium, any other optical medium, programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), a FLASH-EPROM, and/or any other memory chip or cartridge. The non-persistent storage and persistent storage are examples of non- transitory, tangible machine-readable media that can store executable code that, when run by one or more processors (e.g., processor system 150), can cause the one or more processors to perform one or more of the techniques and/or methods disclosed herein.
[0062] Additionally, the control system 140 may also include one or more input devices (such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device) and/or output devices (such as a display device, a speaker, external storage, a printer, or any other output device). In some embodiments, the control system 140 may be implemented on a particular node of a distributed computing system (e.g., a cloud computing system). As another example, different functionalities associated with the control system 140 may be implemented on different nodes of the distributed computing system. Further, one or more elements of the aforementioned control system 140 may be located at a remote location and connected to the other elements over a network.
[0063] Techniques disclosed herein relate to providing operator guidance on an estimated age of the instruments 122. The system facilitating such a technique can make the procedure process easier for human operators, reduce workflow disruption, reduce time spent accounting for expired instruments, and increase the overall efficiency of the procedures. In some embodiments, the system may intervene to restrict usage of the instruments 122 based on the estimated age of the instruments 122 (e.g., by limiting a range of motion to reduce forces exerted upon the instruments 122), which may prevent the instruments 122 from expiring at an inopportune time during a procedure. In some embodiments, the system may extend the working lifetime of the instruments 122 when the instrument approaches a low-life state . Further, although a surgical example is shown, the disclosed techniques provide an improvement to the computer-assisted system 100 in the non-surgical aspects of the procedure, and can be used to improve computer-assisted systems applied in non-medical contexts.
[0064] In some embodiments, the computer-assisted system 100 is operated in a testing mode of operation to generate experimental data used to train an age estimation model. In these embodiments, the instruments 122 may be referred to as “testing instruments.” Additionally, in these embodiments, the computer-assisted system 100 may be operated in a scripted manner to generate experimental data such that a training server 180 is able to train an age estimation model based upon the experimental data generated by the computer- assisted system 100.
[0065] In some embodiments, the memory 160 stores one or more scripts configured to generate control commands for the testing instruments 122. More particularly, the commands may be configured to set different control parameters of the testing instruments 122. For example, the control parameters may include commands that cause a drive member of the testing instruments to rotate in a particular manner (e.g., a speed and/or direction of the rotation of the drive member). In some embodiments, the scripted motion sets the control parameters to achieve a desired state of operational parameters associated with the testing instruments 122. For example, the operational parameters may include mechanical work, pitch, torque, velocity, acceleration, orientation, etc. It should be appreciated that when the instruments 122 are being controlled by the scripts executed by the control system 140, the control system 140 may disregard any inputs received by the leader input devices 106 such that motion of the instruments 122 is controlled entirely by the executed scripts.
[0066] Accordingly, to generate experimental data, the scripted motion may be configured to operate a testing instrument 122 to achieve a set of generally constant operational parameters until a cable of the testing instrument 122 has failed, resulting in the expiration of the testing instrument 122. It should be appreciated that due to the finite length of the cable, not all of the operational parameters can be maintained constant (e.g., velocity).
Accordingly, the scripted motion may drive the cable in a first direction to achieve a first set of constant operational parameters until a first end of the cable is reached, and then driving the cable in a reverse direction to achieve a second set of constant operational parameters until a second end of the cable is reached.
[0067] Generally, the one or more scripts may be designed to determine which operational parameters of the testing instruments 122 significantly impact the lifetime and/or the rate of age accumulation of the testing instruments 122. Accordingly, the memory 160 may store different scripts that are configured to experimentally test the different operational parameters. More particularly, the memory 160 may store different scripts that have different values for a particular operational parameter under test, but the same values for other control operational parameters. The memory 160 may store different sets of scripts for each operational parameter being evaluated during the testing process. Accordingly, by executing different scripts, the control system 140 is able to compile a set of experimental data that is useful for deriving the relationship between the operational parameters when training an age determination model.
[0068] In addition to the scripts, the memory 160 may also be configured to store one or more playback logs from a prior execution of a historical procedure using a computer- assisted system. The playback logs may indicate a series of control commands issued by a control system during the historical procedure. Accordingly, when the control system 140 executes the playback log, the testing instruments 122 may be controlled in a similar manner (and experience similar stress) as the operating instruments that performed the historical procedure. As a result, the control system 140 is able to compile a set of experimental data that better models typical instrument usage patterns when training an age determination model.
[0069] To generate the set of experimental data, the control system 140 may be configured to execute the scripts and/or a playback log from the memory 160. Additionally, the control system 140 may enable an operator to manually control operation of the testing instruments 122. When generating a set of experimental data, the control system 140 may periodically record sets of values for the operational parameters. For example, the control system 140 may record 2000 samples/second, 1100 samples/second, 5000 samples/second, 100 samples/second, etc. Regardless of the particular technique for generating the motion of the testing instrument 122, the control system 140 may perform, repeat, and/or cycle the motion until the testing instrument 122 fails. When the testing instrument 122 fails, the control system 140 may compile the samples into a vector that represents the experimental data for the particular experiment associated with the scripted motion. The control system 140 may then transmit the sets of experimental data to the training server 180 to perform the training of the age determination model.
[0070] In some embodiments, the computer-assisted system 100 is operated in an operating mode of operation where the follower device 104 is used to perform a procedure. In these embodiments, the instruments 122 may be referred to as “operating instruments.” Additionally, in these embodiments, the control system 140 may obtain a trained age estimation model from the server 180 to determine the age of the operating instruments 122 as they are used to perform a procedure. More particularly, the control system 140 may be configured to periodically obtain sets of operational data associated with the operating instruments 122 to input the set of operational data into the age determination model to determine an amount of age accumulated by the operating instruments. It should be appreciated that the operating instruments 122 may generate different sets of operational data for each proximal portion of a cable included in the operating instrument 122.
Accordingly, the control system 140 may track the age accumulated of each proximal portion separately. In these embodiments, the age of the operating instrument may be determined by a limiting cable (e.g., the proximal portion associated with a highest amount of accumulated age).
[0071] In some embodiments, the control system 140 may convert the age of the proximal portions of the cables into an estimated time of use remaining to provide more meaningful feedback to an operator of the computer-assisted system 100. In some embodiments, the memory 160 may store models (also referred to as “profiles”) associated with operational data trends for different phases of the procedure being performed. Accordingly, the control system 140 may be able to use the stored model of the procedure as a prediction for expected future values of the operational data of the operating instruments 122. By inputting the expected future values into the age determination model, the control system 140 may be able to identify a point in time when the proximal portion of a cable is expected to fail. The control system 140 may then estimate the time remaining based on a number of samples in the future when the cable is expected to fail. [0072] By tracking age accumulation associated with each proximal portion of a cable, the control system 140 is able to more accurately assess the age of the operating instruments 122 than techniques that assess the age of the operating instruments 122 as a whole. For example, the proximal portions of the cables may be subjected to different stresses at different phases of a procedure. Accordingly, the limiting cable may change throughout the course of the procedure. Thus, tracking the age of each proximal end enables the control system 140 to adjust the estimation based on the actual limiting cable as it changes throughout the procedure. As a result, the age estimation techniques are more accurate enabling a more efficient execution of the procedure.
[0073] Additionally, the memory 160 may be configured to store a model associated with an operator of the computer-assisted system 100. The operator model may indicate operator-specific usage patterns that manifest in the operational data. For example, the operator model may indicate that the operator generally applies more torque on the operating instruments 122 than average (as indicated in the model of the procedure) or that the operator pitches cables faster than for other operators. Accordingly, when the control system 140 estimates the time remaining for an operating instrument 122, the control system 140 may adjust the values of the procedure model by respective factors derived from the operator model.
[0074] Accordingly, in these embodiments, when an operator begins the pre-procedure interactions with the computer-assisted system, the control system 140 may be configured to obtain indications identifying a current procedure and/or operator to obtain the corresponding models from the training server 180. Similarly, after the procedure is complete, the control system 140 may compile the operating data into a vector that is transmitted to the training server 180 to update the corresponding procedure and/or operator models. For example, the training server 180 may apply a rolling average, a time-weighted average, and/or other known techniques to integrate the new operating data with the stored models. In some embodiments, the training server 180 may also use the compiled set of operating data as an additional set of experimental data that can be used when retraining the age determination model.
[0075] By adapting the time remaining estimation to be based on the models of the procedure and/or the operator, the estimated time remaining is more accurate. As a result, the operator is provided better guidance on how much lifetime is remaining in the operating instruments, improving the ability of the operator to avoid instrument failure at inopportune moments of the procedure. [0076] FIG. 2 is a schematic illustration of a portion of an instrument 2400 (such as one of the instruments 122) according to an embodiment. The instrument 2400 includes a shaft 2410, a cable 2420, a movable component 2460 (such as the working portion 126), and an instrument control system 2700. The instrument control system 2700 functions to receive one or more motor or manual input forces or torques and mechanically transmit the received forces or torques to move the movable component 2460. For example, one or more electric motors in a manipulator unit (e.g., the follower device 104) can provide an input to the instrument control system 2700, which in turn transmits the input via the cable 2420 to control the movable component 2460. Specifically, the control system includes a chassis 2768, a first drive member 2710, a second drive member 2720, and a manual drive structure 2860. Any of the first drive member 2710, second drive member 2720, manual drive structure 2860, other drive members, other manual drive structures, and the like, may individually and/or collectively be referred to as drive members, e.g., to drive a cable, movable component, instrument, etc. It should be appreciated that in alternate embodiments, the instrument 2400 may just include the first drive member 2710 and the second drive member 2720, while omitting the manual drive structure 2860 and the corresponding manual drive components.
[0077] The chassis 2768 provides the structural support for mounting or supporting and aligning the components of the instrument control system 2700. For example, openings, protrusions, mounting brackets and the like can be defined in or on chassis 2768. In some embodiments, the chassis 2768 can include multiple portions, such as an upper chassis and a lower chassis. In some embodiments, a housing 2760 can optionally enclose at least a portion of the chassis 2768.
[0078] The first tool drive member 2710 is mounted to the instrument control system 2700 (e.g., within the housing 2760) via a first drive member support member (not shown). For example, the first drive member support member can be a mount, shaft, a disk, or any other suitable support structure to secure the first tool drive member 2710 to the control system 2700. The first drive member 2710 includes a first motor drive input member 2846. The first motor drive input member 2846 can be connected to and receive mechanical input from an electric motor. The second drive member 2720 is mounted to the instrument control system 2700 (e.g., within the housing 2760) via a second drive member support member (not shown). For example, the second drive member support member can be a mount, shaft, or any other suitable support structure to secure the second drive member 2720 to the control system 2700. The second drive member 2720 includes a second motor drive input member 2848. The first drive member 2710 can be operable to be rotated about an axis A3 in a direction DD, as shown in FIG. 2. The second tool drive member 2720 can be operable to be rotated about an axis A4 in a direction EE, as shown in FIG. 2. In some embodiments, the axis A4 is parallel to the axis A3.
[0079] The cable 2420 includes a first proximal portion 2421 , a second proximal portion 2423 and a distal portion 2422. The first proximal portion 2421 and the second proximal portion 2423 are each coupled to the instrument control system 2700, and the distal portion 2422 is coupled to the movable component 2460. The shaft 2410 includes a proximal end portion 2411 and a distal end portion 2412 and defines a passageway 2413 that extends lengthwise through the shaft between the proximal and distal end portions. In accordance with various embodiments, the cable 2420 includes any member suitable for transmitting force between the drive members 2710, 2720 and the movable component 2460. For example, the cable 2420 can include one or more of a cable, band, strap, string, wire, tube, rod, etc. Additionally, the cable 2420 may be made from metal, polymer, and/or any suitable cabling material. As described in more detail below, the drive members 2710, 2720 may include one or more of capstans, winches, spools, disks, or other suitable devices for containing, controlling, taking up, and dispensing the cable 2420.
[0080] The movable component 2460 is rotatably coupled to the distal end portion 2412 of the shaft 2410 and includes at least one tool member 2462. The instrument 2400 is configured such that movement of the first proximal portion 2421 and the second proximal portion 2423 of the cable 2420 produces movement of the member 2462 about a first axis of rotation A1 (which functions as the yaw axis; the term yaw is arbitrary), in a direction of arrows AAi. In some embodiments, the instrument 2400 can include a wrist assembly including one or more links (not shown in FIG. 2) that couples the movable component 2460 to the distal end portion 2412 of the shaft 2410. In such an embodiment, movement of the first proximal portion 2421 and the second proximal portion 2423 of the cable 2420 can also produce movement of the wrist assembly about a second axis of rotation (not shown in FIG. 2, but which functions as the pitch axis; the term pitch is arbitrary) or both movement of the wrist assembly and the movable component 2460. See for example, U.S. provisional application no. 63/233,904 entitled “SURGICAL INSTRUMENT CABLE CONTROL AND ROUTING STRUCTURES” filed on August 17, 2021 , which is incorporated herein by reference in its entirety.
[0081] The tool member 2462 includes a contact portion 2464, and a drive pulley 2470 (also referred to as a movable component). The contact portion 2464 is configured, in a surgical example, to engage or manipulate a target tissue during a surgical procedure. For example, in some embodiments, the contact portion 2464 can include an engagement surface that functions as a gripper, cutter, tissue manipulator, or the like. In this manner, the contact portion 2464 of the tool member 2462 can be actuated to engage or manipulate a target tissue during the surgical procedure. The tool member 2462 (or any of the tool members described herein) can be any suitable medical tool member. Moreover, although only one tool member 2462 is shown, in other embodiments, the instrument 2400 can include two or more moving tool members that cooperatively perform gripping or shearing functions.
[0082] The cable 2420 is routed from the instrument control system 2700 to the movable component 2460 and then back to instrument control system 2700, and each individual end of the cable 2420 is coupled to either the first tool drive member 2710 or the second tool drive member 2720 of the control system 2700. More specifically, the first proximal portion 2421 of the cable 2420 is coupled to the first tool drive member 2710 of the control system 2700, the cable 2420 extends from the first tool drive member 2710 along the shaft 2410, and the distal portion 2422 of the cable 2420 is coupled to the movable component 2460. Although the cable 2420 is shown extending within an interior passageway of the shaft 2410 in FIG. 2, in other embodiments, the cable 2420 can be routed exterior to the shaft 2410. The cable 2420 extends from the movable component 2460 along the shaft 2410 and the second proximal portion 2423 is coupled to the second tool drive member 2720 of the instrument control system 2700. In other words, the two ends of a single cable (e.g., 2420) are coupled to and actuated by two separate tool drive members of the instrument control system 2700.
[0083] More specifically, the two ends of the cable 2420 that are associated with opposing directions of a single degree of freedom are connected to two independent tool drive members 2710 and 2720. This arrangement, which is generally referred to as an antagonist drive system, allows for independent control of the movement of (e.g., pulling in or paying out) each of the ends of the cable 2420. The instrument control system 2700 produces movement of the cable 2420, which operates to produce the desired articulation movements (pitch, yaw, or grip) at the movable component 2460. Accordingly, as described herein, the instrument control system 2700 includes components and controls to move the first proximal portion 2421 of the cable 2420 via the first drive member 2710 in a first direction (e.g., a proximal direction) and to move the second proximal portion 2423 of the cable 2420 via the second tool drive member 2720 in a second opposite direction (e.g., a distal direction). The instrument control system 2700 can also move both the first proximal portion of the cable 2420 and the second proximal portion of the cable 2420 in the same direction. In this manner, the instrument control system 2700 can maintain the desired tension within the cables to produce the desired movements at the movable component 2460.
[0084] In other embodiments, such as the one shown in FIG. 4 discussed in more detail below, any of the instruments described herein can have the two ends of the cable wrapped about a single tool drive member. This alternative arrangement, which is generally referred to as a paired capstan drive system, operates the two ends of the cable using a single drive motor.
[0085] In addition, in some alternative embodiments, the cable 2420 includes two cable segments, with each cable segment having a distal end portion that is coupled to the movable component 2460 and a proximal end portion wrapped about a tool drive member — either separate tool drive members as in the antagonist drive arrangement or a single common tool drive member in the paired capstan drive arrangement. Descriptions herein referring to the use of a single cable 2420 incorporate the similar use of two separate cable segments. Additionally, as it is generally used herein, the term “cable couplet” refers to the pair of distal portions of the cable 2420. Depending upon the configuration of the instrument, the distal portions included in a cable couplet may include distal portions of a single cable segment or distal portions of two separate cable segments.
[0086] With the cable 2420 coupled to the control system 2700 and to the movable component 2460, rotational movement produced by the first drive member 2710 causes the first proximal portion 2421 of the cable 2420 to move in a direction BB (e.g., proximally or distally depending on the direction of rotation), as shown in FIG. 2. Similarly, rotational movement produced by the second drive member 2720 causes the second proximal portion 2423 of the cable 2420 to move in the direction CC (e.g., proximally or distally depending on the direction of rotation), as shown in FIG. 2. In some embodiments, the first tool drive member can be operable to produce rotational movement about the axis A3, and the second drive member 2720 can similarly be operable to produce rotational movement about an axis A4 parallel to the axis A3. Thus, the first drive member 2710 can rotate in the direction of arrows DD and the second drive member 2720 can rotate in the direction of arrows EE in FIG. 2. When the first drive member 2710 rotates about the axis A3 in a first direction (clockwise or counter-clockwise), the second drive member 2720 can rotate independently about the axis A4 in either the same or the opposite direction (clockwise or counterclockwise). In order to maintain tension in the cable 2420, as one of the drive members 2710, 2720 pays out the cable 2420, the other of the drive members 2710, 2720 pays in the cable 2420. Depending on how the cables are routed to the various drive members, each of the individual drive members rotates such that the desired individual cable pay-in or pay-out is performed to perform the desired movable component motion — grip, yaw, or pitch — either alone or in combination.
[0087] With each of the ends of the cable 2420 coupled to a separate drive member, the movement of a first portion of the cable 2420 can be directly controlled by one drive member (e.g., first drive member 2710) and movement of a second portion of the cable 2420 can be directly controlled by the other drive member (e.g., second tool drive member 2720). Thus, the control of motion of the movable component 2460 in one direction is controlled by one drive member, and the control of motion of the movable component 2460 in the other direction is controlled by the other drive member. In this antagonist system, when the first drive member 2710 is controlling motion (i.e., applying tension to pull in the first proximal portion 2421 of the cable 2420), the second proximal portion 2423 of the cable is also under tension applied by the second drive member 2720. The differing levels of tension applied by each drive member can also lead to improved control of the overall movement of the cable, as well as differing accumulation of age for each proximal portion. Thus, the disclosed techniques may input the operational data associated with each drive member 2710, 2720 into the age estimation models described herein to separately track the accumulated age of the proximal portions.
[0088] FIG. 3 depicts an example instrument 300 (such as the instruments 122, 2400) that includes two cables (such as cables 2420) configured in an antagonistic arrangement. In particular, as shown in the proximal end 305, a first cable is configured such that a first proximal portion 311 a of the first cable is coupled to a first drive member 301 (such as the drive member 2710) and a second proximal portion 314a of the first cable is coupled to a second drive member 304 (such as the drive member 2720). Similarly, a second cable is configured such that a first proximal portion 312a of the first cable is coupled to a first drive member 302 (such as the drive member 2710) and a second proximal portion 313a of the first cable is coupled to a second drive member 303 (such as the drive member 2720). It should be appreciated that while FIG. 3 depicts the drive members 301-304 as disks, in other embodiments, other suitable drive member mechanisms may be implemented.
[0089] At a distal end 310, the first and second cables are coupled to a wrist 322 configured to transfer motion of the cables to control movement of tool members 324 (such as the tool member 2462) of a movable component (such as the working portion 126 or the movable component 2460). More particularly, the distal portions 311b and 314b of the first cable form a first cable couplet coupling the first cable to the movable component and the distal portions 312b and 313b of the second cable form a second cable couplet coupling the second cable to the movable component. In some embodiments, the distal portions 311b- 314b terminate at the wrist 322. In these embodiments, the cable couplets may include distal portions corresponding to separate cable segments. In other embodiments, the distal portions 311 b-314b wrap around the wrist 322. In these embodiments, the cable couplets may include distal portions corresponding to the same cable segment.
[0090] In operation, the control system 140 may be configured to generate commands to operate the drive members 301-304 to control the grip, pitch and/or yaw of the movable component. For example, to control the pitch of the movable component, the control system 140 may generate commands to cause the drive members 301 and 304 to rotate in a first direction and drive members 302 and 303 to rotate in the opposite direction. As another example, to control the yaw of the movable component, the control system 140 may generate commands to cause the drive members 301 and 303 to rotate in a first direction and drive members 302 and 304 to rotate in the opposite direction. As yet another example, to open or close the tool members 324, the control system 140 may generate commands to cause the drive members 301 and 302 to rotate in a first direction and drive members 303 and 3034 to rotate in the opposite direction.
[0091] FIG. 4 is a schematic illustration of a portion of an instrument 3400 with a paired capstan drive system for control of two tool members. Like the instrument 2400 discussed above with regard to FIG. 2, instrument 3400 includes a shaft 2410, a first cable 3420, a second cable 3430, a movable component 2460, and an instrument control system 3700. The instrument control system 3700 functions to receive one or more motor or manual input forces or torques and mechanically transmit the received forces or torques to move the movable component 2460. The movable component 2460 and the shaft 2410 in instrument 3400 are similar to those disclosed above with respect to instrument 2400 and are therefore not described in detail below. The first cable 3420, the second cable 3430, and the instrument control system 3700, however, differ in their respective structure and function in as much as instrument 2400 above is shown as an antagonist drive system and instrument 3400 is shown and disclosed as a paired capstan drive system. For example, as shown in FIG. 4, the instrument control system 3700 includes a chassis 2768, a first drive member 3710, a second drive member 3720, and a manual drive structure 2860. The first drive member 3710 and the second drive member 3720 are arranged relative to the manual drive structure 2860 and the instrument 3400 similar to the relationship between the first drive member 2710 and the second drive member 2720 and the control system 2700 and the instrument 2400 discussed above with respect to FIG. 2 with the exception that the first proximal portion 3421 and the second proximal portion 3423 of the first cable 3420 are wrapped about a single drive member 3710 and the first proximal portion 3431 and the second proximal portion 3433 of the second cable 3430 are wrapped around a second single drive member 3720. Similar to the instrument 2400, in alternate embodiments, the instrument 3400 may just include the first drive member 2710 and the second drive member 2720, while omitting the manual drive structure 2860 and the corresponding manual drive components.
[0092] Unlike the antagonistic arrangement described with respect to FIG. 2, when the first drive member 3710 is controlling motion (i.e., applying tension to pull in the first proximal portion 3421 of the cable 3420) of the cable 3420 to move in a first direction, the second proximal portion 3423 of the cable 3420 is not under tension. Similarly, when the first drive member 3710 is controlling motion (i.e., applying tension to pull in the second proximal portion 3423 of the cable 3420) of the cable 3420 to move in a second direction, the first proximal portion 3421 of the cable 3420 is not under tension Accordingly, while the first drive member 3710 may report only a single set of operating data to the control system 140, the control system 140 may analyze the direction of rotation of the first drive member 3710 to determine which proximal portion of the cable 3420 is accumulating age.
[0093] FIG. 5 depicts an example instrument 500 (such as the instruments 122, 3400) that includes three cables (such as cables 3420 or 3430) configured in a paired capstan arrangement. In particular, as shown in the proximal end 505, a first cable is configured such that a first proximal portion 511a of the first cable is coupled to a first drive member 501 (such as the drive member 3710) and a second proximal portion 512a of the first cable is coupled to the first drive member 501 . Similarly, a second cable is configured such that a first proximal portion 513a of the second cable is coupled to a second drive member 502 (such as the drive member 3720) and a second proximal portion 514a of the second cable is coupled to the second drive member 502. Additionally, a third cable is configured such that a first proximal portion 515a of the third cable is coupled to a third drive member 503 and a second proximal portion 516a of the third cable is coupled to the third drive member 503. It should be appreciated that while FIG. 5 depicts the drive members 501-503 as disks, in other embodiments, other suitable drive member mechanisms may be implemented.
[0094] At a distal end 510, the first, second, and third cables are coupled to a wrist 522 configured to transfer motion of the cables to control movement of tool members 524 (such as the tool member 2462) of a movable component (such as the working portion 126 or the movable component 2460). More particularly, the distal portions 511b and 512b of the first cable form a first cable couplet coupling the first cable to the movable component, the distal portions 513b and 514b of the second cable form a second cable couplet coupling the second cable to the movable component, and the distal portions 515b and 516b of the third cable form a third cable couplet coupling the third cable to the movable component. In some embodiments, the distal portions 511 b-516b terminate at the wrist 522. In these embodiments, the cable couplets may include distal portions corresponding to separate cable segments. In other embodiments, the distal portions 511 b-516b wrap around the wrist 522. In these embodiments, the cable couplets may include distal portions corresponding to the same cable segment.
[0095] Accordingly, the control system 140 may be configured to generate commands to operate the drive members 501-503 to control the grip, pitch and/or yaw of the movable component. For example, to control the pitch of the movable component, the control system 140 may generate commands to cause the drive members 501 to rotate. As another example, to control the yaw of the movable component, the control system 140 may generate commands to cause the drive members 501 and 502 to rotate in a first direction and drive member 503 to rotate in the opposite direction. As yet another example, to open or close the tool members 324, the control system 140 may generate commands to cause the drive members 502 and 503 to rotate in a first direction.
[0096] Simultaneous reference is made to FIG. 13 which depicts drive members 1310, 1320 in a paired capstan drive system operating in two different directions, according to some embodiments. The control system may be configured to determine that a direction of rotation of one or more of the drive members 1310, 1320 is in a first direction 1330 to accumulate age to a first cable 1340 of the cable couplet. The control system may determine that the direction of rotation of one or more of the drive members 1310, 1320 is in a second direction 1350 to accumulate age to a second cable 1360 of the cable couplet.
[0097] Turning now to FIG. 6, illustrated is an example computing environment 600 that includes a training server 680 (such as the training server 180) coupled to a control system 640 (such as the control system 140) of computer-assisted system (such as the computer- assisted system 100) via a network 610. It should be appreciated that while FIG. 6 depicts a single server 680, in other embodiments, the server 680 may be part of a cloud network or may otherwise communicate with other hardware or software components within one or more cloud computing environments to send, retrieve, or otherwise analyze data or information described herein. For example, the server 680 may comprise an on-premise computing environment, a multi-cloud computing environment, a public cloud computing environment, a private cloud computing environment, and/or a hybrid cloud computing environment. For example, an entity (e.g., a business) may host one or more services in a public cloud computing environment (e.g., Alibaba Cloud, Amazon Web Services (AWS), Google Cloud, IBM Cloud, Microsoft Azure, etc.). The public cloud computing environment may be a traditional off-premise cloud (/.e., not physically hosted at a location owned/controlled by the business). Alternatively, or in addition, aspects of the public cloud may be hosted on-premise at a location owned/controlled by the business. The public cloud may be partitioned using visualization and multi-tenancy techniques and may include one or more infrastructure-as-a-service (laaS) and/or platform-as-a-service (PaaS) services.
[0098] The network 610 may comprise any suitable network or networks, including a local area network (LAN), wide area network (WAN), Internet, or combination thereof. For example, the network 610 may facilitate a wireless cellular service (e.g., 4G, 5G, 6G, etc.). Generally, the network 610 enables bidirectional communication between the server 680 and the control system 640. The communication circuitry 684 may communicate over the network 610 via any suitable wired and/or wireless connection, e.g., using any suitable network interface controller(s) of the communication circuitry 684. The communication circuitry 684 may include one or more transceivers (e.g., WWAN, WLAN, and/or WPAN transceivers) functioning in accordance with IEEE standards, 3GPP standards, or other standards, and that may be used in receipt and transmission of data via external/network ports connected to network 610.
[0099] The server 680 may include one or more processors 682. The processors 682 may include one or more suitable processors (e.g., central processing units (CPUs) and/or graphics processing units (GPUs)). The processors 682 may be connected to a memory 685 via a computer bus (not depicted) responsible for transmitting electronic data, data packets, or otherwise electronic signals to and from the processors 682 and memory 685 in order to implement or perform the machine-readable instructions, methods, processes, elements, or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein. The processors 682 may interface with the memory 685 via a computer bus to execute an operating system (OS) and/or computing instructions contained therein, and/or to access other services/aspects. For example, the processors 682 may interface with the memory 685 via the computer bus to create, read, update, delete, or otherwise access or interact with the data stored in the memory 685 and/or a database 687.
[0100] The memory 685 may include one or more forms of volatile and/or non-volatile, fixed and/or removable memory, such as read-only memory (ROM), electronic programmable read-only memory (EPROM), random access memory (RAM), erasable electronic programmable read-only memory (EEPROM), and/or other hard drives, flash memory, MicroSD cards, and others. The memory 685 may store an operating system (OS) (e.g., Microsoft Windows, Linux, UNIX, etc.) capable of facilitating the functionalities, apps, methods, or other software as described herein.
[0101] In general, a computer program or computer based product, application, or code (e.g., the model(s), such as age determination training models 698, 699) may be stored on a computer usable storage medium, or tangible, non-transitory computer-readable medium (e.g., standard random access memory (RAM), an optical disc, a universal serial bus (USB) drive, or the like) having such computer-readable program code or computer instructions embodied therein, wherein the computer-readable program code or computer instructions may be installed on or otherwise adapted to be executed by the processor(s) 682 (e.g., working in connection with the respective operating system in memory 685) to facilitate, implement, or perform the machine readable instructions, methods, processes, elements or limitations, as illustrated, depicted, or described for the various flowcharts, illustrations, diagrams, figures, and/or other disclosure herein. In this regard, the program code may be implemented in any desired program language, and may be implemented as machine code, assembly code, byte code, interpretable source code or the like (e.g., via Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML, etc.).
[0102] The memory 685 may include one or more databases 687. The database 687 may be a relational database, such as Oracle, DB2, MySQL, a NoSQL based database, such as MongoDB, or another suitable database. The database 687 may store, for example, models associated with procedures performed via the control system 640 (e.g., an ablation procedure, a biopsy, etc.) or operators of the control system 140 (e.g., a surgeon performing the procedure using the control system 140). Such data may include an indication of the procedure or operator, model data indicative of typical operational data associated with the procedure and/or operator, or any other suitable data.
[0103] Additionally, the database 687 may store respective sets of experimental data obtained by operating testing instruments (such as the testing instruments 122) to expiration. The database 687 may store the sets of experimental data to create, train, optimize, and/or fine-tune one or more models for estimating an amount of age accumulated by an operating instrument based upon a respective set of operational data. In some embodiments, the server 680 maintains the sets of experimental data and the procedure and/or operator model data in separate databases.
[0104] The memory 685 may include one or more age determination routines or models 688. A model 688, routine, or other element stored in memory may be referred to as receiving an input, producing or storing an output, or executing the routine, the model 688, or other element. The model 688 may, in fact, execute as instructions on the processor 682. Further, those of skill in the art will appreciate that the model 688, routine, or other instructions may be stored in the memory 685 as executable instructions, which are transmitted to the control system 640 for execution by one or more processors thereof. For example, the models 688 may include a trained age determination model 690.
[0105] The memory 685 may store a plurality of computing modules 695, implemented as respective sets of computer-executable instructions (e.g., one or more source code libraries, training modules, etc.) as described herein. For example, the I/O module 696 may include or implement an operator interface configured to present information to an administrator or operator of the server 680 and/or receive inputs from the administrator and/or operator of the server 680. The I/O module 696 may include I/O components (e.g., ports, capacitive or resistive touch sensitive input panels, keys, buttons, lights, LEDs), which may be directly accessible via, or attached to, server 680 or may be indirectly accessible via or attached to a personal electronic device (not depicted). According to one aspect, an administrator or operator may access the server 680 via the personal electronic device to review information, make changes, input training data, initiate training of the age determination models 690, and/or perform other functions (e.g., provide input into how the age determination models 690 are trained).
[0106] As generally described herein, the server 680 may train the age determination model 690 using two different approaches. In a first approach (referred to herein as a “data driven model” of “data model”), the age determination model 690 generates a change in age based on an interpolation of one or more coordinates of a map of parameters corresponding to operational data. In a second approach (referred to herein as a “mathematical model” or a “math model”), the age determination model 690 determines a change in age by inputting the operational data into an equation of a shape that models age accumulation. Accordingly, the computing modules 695 may include a data model training module 698 to train a data driven age determination model and/or a math model training module 699 to train a mathematical age determination model.
[0107] In some embodiments, before executing the training modules 698, 699, the server 680 may first preprocess the sets of experimental data to identify one or more contributing parameters that have a statistically significant impact on the age of the testing instruments. For example, the server 680 may isolate the sets of experimental data where a particular operational parameter under test is varied while generally maintaining the values of the other operational parameters. The server 680 may then generate a plot comparing testing instrument lifetime to different values of the operational parameter under test and calculate a cumulative distribution function to derive a p-value associated with the operational parameter under test. If the p-value is below a significance threshold (e.g., 10%, 5%, 2%, etc.), the operational parameter under test may be considered a significantly contributing parameter that is modeled by the age determination model 690 (also referred to herein as a “contributing parameter”).
[0108] Embodiments described herein describe age determination models 690 in which the contributing parameters are {pitch, torque, mechanical work} or {pitch, torque, velocity}. It should be appreciated that in other embodiments, different sets of operational parameters may form the contributing parameters modeled by the age determination model 690.
[0109] Starting first with the data model training module 698, simultaneous reference is made to FIG. 7 which depicts an example map 700 (sometimes also referred to as a “grid”) in a coordinate spaced defined by the contributing parameters. As illustrated, the map 700 includes a dimension that corresponds to each of the contributing parameters (e.g., torque, pitch, and velocity). The data model training module 698 then defines a number of coordinates in the map 700 to use as reference coordinates for interpolation. For the map 700, the data model training module 698 identifies a 3x3x2 grid of reference coordinates. It should be appreciated that in this illustrated example, there are only two coordinates in the velocity dimension due to the velocity operational parameters being less significant than the pitch and torque operational parameters. For the dimensions that have three coordinates, the data model training module 698 may define a first coordinate to be a minimum value of the contributing parameter in the sets of experimental data, a second coordinate to be a maximum value of the contributing parameter in the set of experimental data, and a third coordinate to be some value in between (e.g., a midpoint, a median value, an average value, etc.). For the dimensions that have two coordinates, just the minimum and maximum values may be used. As a result, a coordinate representative of a set of operating data obtained from an operating instrument is very likely to be located within the grid.
[0110] The data model training module 698 then assigns each of the coordinates a variable “y” representative of an amount of age a cable of an operating instrument accumulates when the operational data associated with the corresponding drive member exhibits the torque, pitch, and velocity values represented by the coordinate. The data model training module 698 may then assign the coordinates an initial value for their respective y variable (e.g., 0.1) and perform a regression analysis (described below with respect to FIG. 9) using the sets of experimental data to solve for the values of the y variables. The data model training module 698 may then store the coordinates and their respective values of the y variables as the model data that forms the age determination model 690.
[0111] In operation, the control system 640 may then identify a {torque, pitch, velocity} set of values in the operational data provided by a drive member of an operating instrument to identify a coordinate 705 in the map 700 (represented as ytine). The control system 640 may then identify which “cube” in the map 700 bounds the coordinate 705. It should be appreciated that although the term “cube” is used, the bounding region may have any appropriate shape based on the particular coordinates defined by the data model training module 698. In the illustrated scenario, the coordinate 705 is located in the front left “cube.” Accordingly, the control system 640 may perform an interpolation of the values of the y variables of the eight coordinates that define the bounding “cube.” More particularly, the control system 640 may perform a weighted average of the eight y values where the weights are determined based on the linear distance between the coordinate 705 and the corresponding bounding coordinate of the map 700. The resulting value is the amount of age the control system 640 adds to the current age of the cable coupled to the drive member.
[0112] Turning to the math model training module 699, simultaneous reference is made to FIG. 8 which depicts an example shape 800 used to determine the amount of age accumulated by a cable. The illustrated shaped 800 are based on a generalized logistic function. It should be appreciated in other embodiments, if the contributing parameters exhibit a different relationship, alternative shapes and/or equations may be implemented (such as sigmoid shapes, trigonometric shapes, polynomial shapes, exponential shapes, etc. In some embodiments, the user of the server 680 is able to specify the function represented by the shape 800. In other embodiments, the math model training module 699 analyzes the sets of experimental data to automatically generate a best guess for the shape 800.
[0113] It should be appreciated that the shape 800 is smooth and may be less able to account for local variations in age accumulation than the data driven model. On the other hand, it may be faster to calculate the equation than it is to perform the interpolation techniques associated with the data driven model.
[0114] After the math model training module 699 selects the function of the shape 800, the math model training module 699 may generate a generic equation based on the function and inserts a plurality of weights (“y” variables) into the function to define the particular features of the shape 800 (e.g., the degree and position at which the shape 800 curves). The math model training module 699 may then assign the y variables an initial value (e.g., 1) and perform a regression analysis (described below with respect to FIG. 9) using the sets of experimental data to solve for the value y variables. Accordingly, the math model training module 699 may store the equation of the shape 800, with the solved values of the y variables, as the model data that forms the age determination model 690.
[0115] In operation, the control system 640 may then identify a {torque, pitch, mechanical work} set of values in the operational data provided by a drive member of an operating instrument to input into the equation of the shape 800. In some embodiments, the control system 640 may derive the mechanical work value from an amount of rotation and torque performed by the drive member. The output of the equation of the shape 800 is the amount of age the control system 640 adds to the current age of the cable coupled to the drive member.
[0116] It should be appreciated that in many embodiments, it is computationally faster to perform the interpolation of the data driven model or calculate the equation of the mathematical model than inputting the operational data into a neural network. Because a computer-assisted system may have multiple instruments each having respective cables, this improved processing time during the inference stage may enable the control system 640 to accumulate age to each cable of the computer-assisted system in what is perceived to the operator as real-time. As a result, a control system implementing either model may be able to provide a more up-to-date estimation of instrument age than possible using neural network approaches.
[0117] Turning to FIG. 9, depicted is an example process 900 for performing a regression analysis to solve for the values of the y variables in either the map 700 or the equation of the shape 800. The process 900 may be performed by the server 680 as part of the executing the modules 698, 699. As illustrated, the process 900 is an iterative process to derive the best set of values for the y variables based on the sets of experimental data maintained at the database 687 and the initial guess for the y variables.
[0118] It should be appreciated that, in some embodiments, each set of experimental data may include a significant amount of data. For example, in some computer-assisted systems, the testing instruments generate over 1 ,000 samples of operational data a second. If a typical testing instrument lasts about an hour, the number of samples in each set of experimental data may be too large to perform the regression analysis in a reasonable amount of time. That said, many of the samples have similar and/or identical sets of operational data. Accordingly, the server 680 may instead generate a histogram that bins together the similar sets of operational data together. The server 680 can then reconstruct the amount of age accumulated by the testing instrument by multiplying the outputs of the age determination model by the respective counts in each bin. As a result, the amount of samples used to train the age determination model is reduced thereby enabling the regression process to complete in a timely manner.
[0119] At block 990, the server 680 applies the current values of the y variables to the sets of experimental data. More particularly, for each set of experimental data, the server 680 inputs each sample (or bin) into the age determination model and adds the resulting value to generate an overall amount of age accumulated during the experiment. Accordingly, the server 680 may be configured to output a vector indicating the overall amount of accumulated age for each set of experimental data when the current values of the y variables are applied.
[0120] At block 995, the server 680 adjusts the values of y variables. As described above, in some embodiments, the age is normalized to a scale where a value of 100 indicates an instrument has been operated to expiration. Accordingly, the server 680 may adjust the values of the y variables to reduce the difference between the overall amount of ages included in the vector output at block 990 with 100. For example, in some embodiments, the server 680 may utilize the mean square error between the output vector from block 990 and a vector of the same length having all values of 100 as a loss function. In other embodiments, the server 680 may implement a multiple regression, a multiple linear regression, a nonlinear regression, and/or other types of regression techniques to adjust multiple independent variables (e.g., the y variables) across experiments.
[0121] The server 680 may be configured to repeat blocks 990, 995 until the server 680 determines the best set of values for the y variables. In some embodiments, the server 680 determines the best set has been derived when the server 680 is unable to adjust the values for the y variables in manner that reduces error in the age determination model. Additionally, or alternatively, the server 680 may segment the sets of experimental data into training sets of experimental data and validation sets of experimental data. In these embodiments, the server 680 may only utilize the training sets of experimental data at block 990. The server 680 may then apply the values for the y variables to the validation sets of experimental data to determine whether the age determination model satisfies a validation metric (e.g., mean square error or other error metric). If the age determination model satisfies the validation metric when applied to the validation sets of experimental data, the server 680 may determine that the best set of values for the y variables has been reached. Regardless, when the server 680 detects the best set of values for the y variables, the server 680 may set the current values of the y variables as the values of the y variables in the output age determination model 690. It should be appreciated that in view of the limitations on collecting sets of experimental data, in some embodiments, the validation sets of experimental data may also be utilized as training sets of experimental data.
[0122] It should be appreciated that due to the limited number of sets of experimental data able to be practically attained, the accumulated age for each set of experimental data may exceed 100. As a result, despite the regression process 900 deriving the best set of values for the Y variables, the age determination model 690 may still exhibit an amount of error that should be accounted for in practice. Accordingly, the server 680 may further utilize the sets of experimental data to derive an age threshold that more reliably indicates the expiration of an instrument than the 100 value used to train the age determination model.
[0123] In particular, the server 680 may plot the overall amount of accumulated age associated with the sets of experimental data. The server 680 may then fit a distribution curve (e.g., a normal distribution curve, a lognormal distribution curve, a Weibull distribution curve, etc.) to the plot. Using the equation for the distribution curve, the server 680 may identify the age value associated with a threshold value (e.g., 2%, 5%, 10%) of the corresponding cumulative distribution function. By using an age cutoff value derived from the distribution curve, the server 680 may prevent an operating instrument from unexpectedly expiring in most scenarios. In some embodiments, the 5% threshold balances the desire to prevent instruments from unexpectedly expiring with the costs associated with expiring a functional operating instrument early. The server 680 may then update the age determination model 690 such that the value derived from the distribution curve, and not 100, is used as the age when an operating instrument is expired.
[0124] It should be appreciated that while the foregoing describes the process for generating a single age determination model 690 for determining when an instrument is expired, in some embodiments, the server 680 may perform the aforementioned actions to generate a separate age determination model 690 for each cable (and/or proximal end thereof) of the instrument. Accordingly, in operation, the control system 640 may input the set of operational data obtained from each drive member into the corresponding age determination model. This enables the age determination models 690 to account for differences in how age is accumulated to each cable to provide a more accurate determination of which cable is the limiting cable and/or provide a more accurate estimation of an amount of life remaining in an operating instrument.
[0125] Additionally, while the foregoing describes the process for training the age determination model 690, the server 680 may perform similar techniques to retrain the age determination model 690 using additional data (e.g., sets of operating data compiled by the control system 640 while performing a procedure).
[0126] FIG. 10 depicts a flow diagram of an exemplary computer-implemented method 1000 for generating a model according to an embodiment. The method 1000 may be performed by one or more processors (such as the processors 682) executing instructions stored in one or more computer-readable media (such as the memory 685) of a server (such as the servers 180, 680).
[0127] In one embodiment, the method 1000 may include obtaining one or more sets of experimental data indicative of one or more testing instruments (such as instruments 122, 2400, 3400) being operated to expiration (block 1010), wherein each testing instrument of the one or more testing instruments includes a distal end (such as the distal ends 310, 510), a proximal end (such as the proximal ends 305, 505), a movable component (such as the working portion 126, the movable component 2460, or the wrists 322, 522) at the distal end, an instrument control system (such as the instrument control systems 2700, 3700) at the proximal end, and a plurality of cables (such as the cables 2420, 3420, 3430) connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system. [0128] In one embodiment, the method 1000 may include generating an age determination model (such as the age determination models 690) based on the one or more sets of experimental data (block 1020), the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with the operation of the operating instrument.
[0129] In one embodiment, the method 1000 may include providing the age determination model to a control system (such as the control systems 140, 640) of a robotic surgical system (such as the computer-assisted system 100) (block 1030) configured to control the operating instrument.
[0130] In one aspect of the method 1000, providing the age determination model to the control system of the robotic surgical system comprises (i) generating a plurality of age determination models, each age determination model being associated with a respective cable of the plurality of cables of the testing instrument and based on experimental data indicative of the respective cable being operated to failure, and (ii) providing the plurality of age determination models to the robotic surgical system.
[0131] In one aspect of the method 1000, the instrument age of the operating instrument is based on an age of a limiting cable of the operating instrument, the limiting cable having a highest age value.
[0132] In one aspect of the method 1000, operational data is associated with the operating instrument and includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model may include inputting each set of operational data to obtain a change in age for each of the plurality of cables.
[0133] In one aspect, the method 1000 may include determining an instrument age threshold of the operating instrument at which a remedial action is to be performed.
[0134] In one aspect of the method 1000, the remedial action may generate an alert to an operator of the operating instrument or limit operation of the operating instrument. Limiting operation of the operating instrument may include preventing usage of the operating instrument, reducing one or more torque limits of the operating instrument, or restricting a range of motion associated with the movable component of the operating instrument.
[0135] In one aspect of the method 1000, determining the instrument age threshold may include inputting the sets of experimental data into the age determination model to obtain a plurality of age values of when the corresponding testing instrument expired; fitting the plurality of age values to a statistical distribution; and setting the instrument age threshold based on a threshold cutoff of the statistical distribution. For example, the statistical distribution may be selected from the group consisting of a normal distribution, a lognormal distribution, and a Weibull distribution.
[0136] In one aspect of the method 1000, operating the testing instruments to expiration comprises operating the testing instruments to failure based on motion generated from at least one of a scripted motion, a playback of a historical procedure, and manual operation of a robotic control system that includes the testing instruments. In embodiments that operate the testing instruments using scripted motion, the control system may operate the testing instruments to expiration at different values of a contributing parameter under test while maintaining values of other contributing parameters.
[0137] In one aspect of the method 1000, generating the age determination model includes: identifying, based on the one or more sets experimental data, one or more contributing parameters that exhibit a statistical significance on the age of at least one cable of the plurality of cables of a testing instrument beyond a significance threshold; identifying an equation of a shape (such as the equation of the shape 800) that models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; performing a regression analysis (such as by performing the process 900) of the equation using the one or more sets of experimental data to solve for the unknown constant values; and generating the age determination model based on an output of the equation that includes solved constant values.
[0138] In one aspect of the method 1000, the regression analysis is a nonlinear regression analysis.
[0139] In one aspect of the method 1000, performing the regression analysis comprises: segmenting the one or more sets of experimental data into a training set of experimental data and a validation set of experimental data; and performing the regression analysis using the training set of experimental data.
[0140] In one aspect, the method 1000 may include validating that the age determination model satisfies a validation metric when applied to the validation set of experimental data.
[0141] In one aspect of the method 1000, the equation of the shape is selected from the group consisting of: a generalized logistic function, a sigmoid function, a trigonometric function, a polynomial function, and an exponential function.
[0142] In one aspect of the method 1000, identifying the equation of the shape or one or more contributing parameters is based on user-input or system-prediction. [0143] In one aspect of the method 1000, generating the age determination model may include analyzing the one or more sets of experimental data to generate a map (such as the map 700) in a feature space defined by the one or more contributing parameters that associates a coordinate in the feature space with a change in an age to the operating instrument having values of the one or more contributing parameters represented by the coordinate; and generating the age determination model such that the age determination model increases an amount of age associated with the operating instrument by accepting an input coordinate (such as the coordinate 705) indicative of respective values of the one or more contributing parameters and outputting, based on the map, a change in the age to the operating instrument, wherein to output the change in age for the input coordinate, the age determination model interpolates changes in the instrument age from one or more coordinates in the map.
[0144] In one aspect of the method 1000, the age determination model uses a k-nearest neighbor algorithm to interpolate the changes in the age of the operating instrument from the one or more coordinates in the map.
[0145] In one aspect of the method 1000, the age determination model applies a linear interpolation algorithm to interpolate the changes in the age of the operating instrument age the one or more coordinates in the map.
[0146] Turning to FIGS. 11 A-11C, illustrated are example graphical user interfaces (GUIs) 1100A-C indicating the age of an operating instrument at different points in time. The user interfaces 1100A-C may be presented by a display device (such as the display device 112) of a computer-assisted system (such as the computer-assisted system 100). It should be appreciated that a control system (such as the control systems 140, 640), the workstation, and/or a combination thereof may generate the GUIs 1100A-C and/or the data displayed thereby.
[0147] As illustrated, the GUIs 1100A-C enable a user to visualize image data generated by an imaging instrument of the computer-assisted system. In the illustrated embodiment, the image data includes a representation of an operating instrument 1122 (such as an operating instrument 122). The GUIs 1100A-C may also include an age indicator 1120 that indicates the age of the operating instrument 1122 and, in some embodiments, an estimated lifetime remaining for the operating instrument 1122. In embodiments where the computer- assisted system includes multiple operating instruments, the control system may highlight and/or otherwise indicate the operating instrument 1122 corresponding to the age indicator 1120. [0148] To generate the age indicator 1120, the control system may include a data store (such as the memory 160) to store, for example, one or more age determination models (such the age determination model 690) trained using any one of the methods, algorithms, equations, models and/or techniques described herein, or in any other suitable manner. As described herein, the memory may store a different model for each cable (and/or proximal end thereof) of the operating instruments.
[0149] The memory may also store a current age associated with the operating instrument 1122 and/or the cables thereof. In operation, the control system obtains operational data associated with the operation of the operating instrument 1122. This may include sets of operational data associated with each of the plurality of cables of the operating instrument 1122 (e.g., the operational data generated by the drive members, such as the drive members 2710, 2720, 3710, 3720, and/or the instrument control systems 2700, 3700). The operational data may include one or more of mechanical work of the drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the operating instrument 1122.
[0150] The control system may then identify the portion of the operational data corresponding to the parameters of the age determination models (e.g., the contributing parameters) for input into the respective age determination models. In response, the control system obtains a change in age for each of the plurality of cables. The control system then updates the stored age for each of the cables (and/or proximal ends thereof) by adding the output change in accumulated age. As described herein, the age of the operating instrument 1122 may be based on the age of a limiting cable of the plurality of cables. Accordingly, the control system may identify the cable (and/or proximal end thereof) that is the limiting cable when generating the estimated age and/or the lifetime remaining provided via the age indicator 1120.
[0151] At the time represented via the GUI 1100A, the limiting cable of the operating instrument 1122 is approximately halfway expired as indicated by the age indicator 1120. It should be understood that the specific values associated with the estimated age of the instrument 1122 may vary depending on the particular instrument 1122 and procedure being performed. In the illustrated scenario of GUI 1100A, there is no need to alert the user. As described herein, the control system may obtain operator profile data and/or procedure profile data to generate the prediction of remaining usage based on expected future values for the operational data. Additionally or alternatively, the amount of usage remaining may be determined, in part, based on a current or average age accumulation rate during the current procedure.
[0152] At the time represented via the GUI 1100B, the limiting cable of the operating instrument 1122 is approximately 90% expired and has about 90 minutes of usage remaining. Accordingly, the GUI 1100B includes an alert 1130A configured to warn the operator as to the relatively limited amount of usage remaining for the operating instrument 1122. In addition to the visual alert presented via the GUI 1100B, the control system may also generate an audio alert (e.g., a warning sound), a tactile alert (e.g., vibrating of the instrument), or any other suitable alert.
[0153] At the time represented via the GUI 1100C, the limiting cable of the operating instrument 1122 has completely expired (e.g., the accumulated age has reached the age threshold defined during the training process). Accordingly, the GUI 1100C includes an alert 1130B configured to warn the operator as to the expiration of the operating instrument 1122. In addition to the visual alert presented via the GUI 1100B, the control system may also generate an audio alert (e.g., a warning sound), a tactile alert (e.g., vibrating of the instrument), or any other suitable alert.
[0154] It should be appreciated that because accumulated age is an estimate, in some scenarios the operating instrument 1122 may still be functional. Accordingly, the control system may automatically intervene to mitigate the impact of the operating instrument 1122 expiring. For example, the control system may implement a remedial action such as restricting a range of motion of the operating instrument 1122 (e.g., disabling operation of the instrument in a manner that exhibits a threshold amount of a contributing parameter), reducing the torque limit of one or more cables of the operating instrument 1122, providing an interface option to engage an automatic retraction of the operating instrument 1122, preventing usage of a movable device of the operating instrument 1122 (e.g., force-expiring the instruments), or any other suitable manner of limiting of operation of the operating instrument. Any such limiting of operation may also be indicated via a display and/or alert.
[0155] In one aspect, the control system may include a memory for storing operator preferences associated with the alerts/remedial actions. For example, the operator preferences may indicate an alert threshold (e.g., as defined by a percentage of the overall amount of age) and any automated interventions (e.g., alerts, range of motion limits, etc.) associated therewith. Accordingly, the operator may indicate their alert preferences to be consistent with their preferred level of alerting. Additionally, the control system may allow the surgeon (e.g., via a user interface of the control system) to expire the instrument, disable some capabilities of the instrument, disregard the alert, or any other suitable course of action.
[0156] It should be understood that FIGS. 11 A-11C only represent one example technique for indicating an age of the operating instruments to an operator. In other embodiments, alternate indicators may be provided additionally and/or instead of the age indicator 1120. For example, in alternate embodiments, the age indicator 1120 may include an indication of age (e.g., as a percentage of current age to the threshold age cutoff) instead of an estimated time remaining.
[0157] FIG. 12 depicts a flow diagram of an exemplary computer-implemented method 1200 for providing guidance to a user of a computer-assisted system (such as computer- assisted system 100), based on the age of an operating instrument according to an embodiment. The method 1200 may be performed by one or more processors (such as the processor system 150) of a control system (such as the control systems 140, 640).
[0158] In one embodiment, the method 1200 may include storing, in a data store (such as the memory 160) of the control system, an instrument age associated with an operating instrument (such as the instruments 122, 2400, 3400,1122) (block 1210), wherein the operating instrument includes a distal end (such as the distal ends 310, 510), a proximal end (such as the proximal ends (305, 505), a movable component (such as the working portion 126 or the movable component 2460, or the wrists 322, 522) at the distal end, an instrument control system (such as the instrument control systems 2700, 3700) at the proximal end, and a plurality of cables (such as the cables 2420, 3420, 3430) connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system.
[0159] In one embodiment, the method 1200 may include obtaining operational data associated with the operation of the operating instrument (block 1220).
[0160] In one embodiment, the method 1200 may include obtaining a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model (such as the age determination models 690) (block 1230).
[0161] In one embodiment, the method 1200 may include updating the stored instrument age of the operating instrument based on the obtained change in the instrument age (block 1240).
[0162] In one embodiment, the method 1200 may include performing a remedial action when the updated instrument age exceeds an instrument age threshold (block 1250). [0163] In one aspect of the method 1200, the operating instrument includes a cable couplet coupled to two drive members (such as the drive members 2710 and 2720) of the instrument control system in an antagonistic configuration (as described with respect to FIGS. 2 and 3) or a cable couplet coupled to a drive member (such as the drive member 3710 or 3720) of the instrument control system in a paired capstan configuration (as described with respect to FIGSs. 4 and 5). In embodiments where the cable couplet is coupled to the drive member in the paired capstan configuration, the control system may be configured to determine that a direction of rotation of the drive member is in a first direction to accumulate age to a first cable of the cable couplet; and determine that the direction of rotation of the drive member is in a second direction to accumulate age to a second cable of the cable couplet.ln one aspect of the method 1200, to store the instrument age associated with the operating instrument, the control system is further configured to store a cable age associated with each of the plurality of cables of the operating instrument.
[0164] In one aspect of the method 1200, the operational data associated with the operating instrument includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model may include inputting each set of operational data to obtain a change in age for each of the plurality of cables.
[0165] In one aspect of the method 1200, the age of the operating instrument is based on the age of a limiting cable of the plurality of cables, the limiting cable having a highest age value.
[0166] In one aspect of the method 1200, the operational data includes one or more of mechanical work of the drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the instrument.
[0167] In one aspect of the method 1200, the control system may further display, via a display device (such as the display device 112), the updated age (such as via the age indicator 1120) of the operating instrument.
[0168] In one aspect of the method 1200, the control system may further estimate, based on the updated age of the operating instrument, an amount of usage time remaining associated with the operating instrument (such as via the age indicator 1120); and display, via the display device, the estimated amount of usage time remaining.
[0169] In one aspect of the method 1200, to estimate the amount of usage time remaining, the control system may further determine an age accumulation rate at which the age of the operating instrument is accumulating during a current procedure; and determine, based on the age accumulation rate, an amount of usage time remaining for the operating instrument.
[0170] In one aspect of the method 1200, to estimate the amount of usage time remaining, the control system may further obtain procedure profile data associated with at least one procedure previously performed by one or more operators using the same type of instrument as the operating instrument; determine an expected age accumulation rate based on the procedure profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
[0171] In one aspect of the method 1200, to estimate the amount of usage time remaining, the control system may further obtain operator profile data associated with at least one procedure previously performed by the operator using the same type of instrument as the operating instrument; determine an expected age accumulation rate based on the operator profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
[0172] In one aspect of the method 1200, the remedial action may include displaying, via a display device, an alert (such as the alerts 1130A, 1130B) or limiting operation of the operating instrument.
[0173] In one aspect of the method 1200, limiting operation of the operating instrument may include restricting a range of motion associated with the movable component of the operating instrument; reducing one or more torque limits of the operating instrument; or preventing usage of the operating instrument.
[0174] In one aspect of the method 1200, inputting the operational data into the age determination model may include generating a coordinate (such as the coordinate 705) for a map (such as the map 700) having dimensions based on one or more contributing parameters of the age determination model; and obtaining the change in age based upon an interpolation between one or more coordinates in the map corresponding to one or more sets of experimental data generated by operating one or more testing instruments to expiration.
[0175] In one aspect of the method 1200, inputting the operational data into the age determination model comprises: inputting the operational data into an equation of a shape (such as the equation of the shape 800), wherein the equation of the shape is generated may include identifying, based on the one or more sets experimental data generated by operating one or more testing instruments to expiration, one or more contributing parameters that exhibit a statistical significance on the age of at least one cable of a plurality of cables of a testing instrument beyond a significance threshold; identifying the equation of the shape such that the shape models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; and performing a regression analysis (such as via the process 900) of the equation using the one or more sets of experimental data to solve for the unknown constant values.
[0176] One or more components of the examples discussed in this disclosure, such as control system 140, may be implemented in software for execution on one or more processors of a computer system. The software may include code that when executed by the one or more processors, configures the one or more processors to perform various functionalities as discussed herein. The code may be stored in a non-transitory computer readable storage medium (e.g., a memory, magnetic storage, optical storage, solid-state storage, etc.). The computer readable storage medium may be part of a computer readable storage device, such as an electronic circuit, a semiconductor device, a semiconductor memory device, a read only memory (ROM), a flash memory, an erasable programmable read only memory (EPROM); a floppy diskette, a CD-ROM, an optical disk, a hard disk, or other storage device. The code may be downloaded via computer networks such as the Internet, Intranet, etc. for storage on the computer readable storage medium. The code may be executed by any of a wide variety of centralized or distributed data processing architectures. The programmed instructions of the code may be implemented as a number of separate programs or subroutines, or they may be integrated into a number of other aspects of the systems described herein. The components of the computing systems discussed herein may be connected using wired and/or wireless connections. In some examples, the wireless connections may use wireless communication protocols such as Bluetooth, near-field communication (NFC), Infrared Data Association (IrDA), home radio frequency (HomeRF), IEEE 502.11 , Digital Enhanced Cordless Telecommunications (DECT), and wireless medical telemetry service (WMTS).
[0177] Various general-purpose computer systems may be used to perform one or more processes, methods, or functionalities described herein. Additionally or alternatively, various specialized computer systems may be used to perform one or more processes, methods, or functionalities described herein. In addition, a variety of programming languages may be used to implement one or more of the processes, methods, or functionalities described herein.
[0178] While certain examples and examples have been described above and shown in the accompanying drawings, it is to be understood that such examples and examples are merely illustrative and are not limited to the specific constructions and arrangements shown and described, since various other alternatives, modifications, and equivalents will be appreciated by those with ordinary skill in the art.

Claims

MODEL GENERATION: What is claimed is:
1 . A computer-implemented method of generating a model comprising: obtaining one or more sets of experimental data indicative of one or more testing instruments being operated to expiration, wherein each testing instrument of the one or more testing instruments includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; generating an age determination model based on the one or more sets of experimental data, the age determination model configured to provide a change in instrument age of an operating instrument based on one or more sets of operational data associated with operation of the operating instrument; and providing the age determination model to a control system of a robotic surgical system configured to control the operating instrument.
2. The computer-implemented method of claim 1 , wherein providing the age determination model to the control system of the robotic surgical system comprises: generating a plurality of age determination models, each age determination model being associated with a respective cable of the plurality of cables of the one or more testing instruments and based on experimental data indicative of the respective cable being operated to failure; and providing the plurality of age determination models to the robotic surgical system.
3. The computer-implemented method of claim 1 , wherein the instrument age of the operating instrument is based on an age of a limiting cable of the operating instrument, the limiting cable having a highest age value.
4. The computer-implemented method of claim 1 , wherein operational data associated with the operating instrument includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model comprises: inputting each set of operational data to obtain a change in age for each of the plurality of cables.
5. The computer-implemented method of claim 1 , further comprising: determining an instrument age threshold of the operating instrument at which a remedial action is to be performed.
6. The computer-implemented method of claim 5, wherein the remedial action is to: generate an alert to an operator of the operating instrument; or limit operation of the operating instrument.
7. The computer-implemented method of claim 6, wherein to limit operation of the operating instrument includes to: prevent usage of the operating instrument; reduce a torque limit of the operating instrument; or restrict a range of motion associated with the movable component of the operating instrument.
8. The computer-implemented method of claim 5, wherein determining the instrument age threshold comprises: inputting the sets of experimental data into the age determination model to obtain a plurality of age values of when a corresponding testing instrument of the one or more testing instruments expired; fitting the plurality of age values to a statistical distribution; and setting the instrument age threshold based on a threshold cutoff of the statistical distribution.
9. The computer-implemented method of claim 8, wherein the statistical distribution is selected from the group consisting of: a normal distribution, a lognormal distribution, and a Weibull distribution.
10. The computer-implemented method of any one of claims 1 to 9, wherein operating the testing instruments to expiration comprises operating the one or more testing instruments to failure based on motion generated from at least one of a scripted motion, a playback of a historical procedure, and manual operation of a robotic control system that includes the one or more testing instruments.
11 . The computer-implemented method of claim 10, wherein operating the one or more testing instruments to expiration under the scripted motion comprises operating the one or more testing instruments to expiration at different values of an operational parameter under test while maintaining values of other operational parameters.
12. The computer-implemented method of any one of claims 1 to 9, wherein generating the age determination model includes: identifying, based on the one or more sets experimental data, one or more contributing parameters that exhibit a statistical significance on an age of at least one cable of the plurality of cables of a testing instrument beyond a significance threshold; identifying an equation of a shape that models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; performing a regression analysis of the equation using the one or more sets of experimental data to solve for the one or more unknown constant values; and generating the age determination model based on an output of the equation that includes solved constant values.
13. The computer-implemented method of claim 12, wherein the regression analysis is a nonlinear regression analysis.
14. The computer-implemented method of claim 12, wherein performing the regression analysis comprises: segmenting the one or more sets of experimental data into a training set of experimental data and a validation set of experimental data; and performing the regression analysis using the training set of experimental data.
15. The computer-implemented method of claim 14, further comprising: validating that the age determination model satisfies a validation metric when applied to the validation set of experimental data.
16. The computer-implemented method of claim 12, wherein the equation of the shape is selected from the group consisting of: a generalized logistic function, a sigmoid function, a trigonometric function, a polynomial function, and an exponential function.
17. The computer-implemented method of claim 12, wherein identifying the equation of the shape for one or more contributing parameters is based on user-input or system-prediction.
18. The computer-implemented method of any one of claims 1 to 9, wherein generating the age determination model includes: analyzing the one or more sets of experimental data to generate a map in a feature space defined by one or more contributing parameters that associates a coordinate in the feature space with a change in an age to the operating instrument having values of the one or more contributing parameters represented by the coordinate; and generating the age determination model such that the age determination model increases an amount of age associated with the operating instrument by accepting an input coordinate indicative of respective values of the one or more contributing parameters and outputting, based on the map, a change in the age to the operating instrument, wherein to output the change in age for the input coordinate, the age determination model interpolates changes in the instrument age from one or more coordinates in the map.
19. The computer-implemented method of claim 18, wherein the age determination model uses a k-nearest neighbor algorithm to interpolate the changes in the age of the operating instrument from the one or more coordinates in the map.
20. The computer-implemented method of claim 18, wherein the age determination model applies a linear interpolation algorithm to interpolate the changes in the age of the operating instrument from the one or more coordinates in the map.
21 . A computer-readable media storing instructions that, when executed by one or more processors, cause a system to perform the method of any one of claims 1 to 20.
22. A system for generating a model comprising: one or more processors; and a non-transitory storage medium storing processor-executable instructions that, when executed by the one or more processors, causes the system to perform the method of any one of claims 1 to 20.
23. A computer-assisted system for providing guidance to a user of the computer- assisted system based on an age of an operating instrument, the computer-assisted system comprising: an operating instrument including a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; and a control system operably coupled to the instrument control system to drive the movable component of the operating instrument, wherein the control system is configured to: store, in a data store of the control system, an instrument age associated with the operating instrument; obtain operational data associated with operation of the operating instrument; obtain a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; update the stored instrument age of the operating instrument based on the obtained change in the instrument age; and perform a remedial action when the updated instrument age exceeds an instrument age threshold.
24. The computer-assisted system of claim 23, wherein the operating instrument includes: a cable couplet coupled to two drive members of the instrument control system in an antagonistic configuration; or a cable couplet coupled to a drive member of the instrument control system in a paired capstan configuration.
25. The computer-assisted system of claim 24, wherein: the cable couplet is coupled to the drive member in the paired capstan configuration, and to obtain the change in the instrument age, the control system is configured to: determine that a direction of rotation of the drive member is in a first direction to accumulate age to a first cable of the cable couplet; and determine that the direction of rotation of the drive member is in a second direction to accumulate age to a second cable of the couplet.
26. The computer-assisted system of claim 23, wherein to store the instrument age associated with the operating instrument, the control system is further configured to store a cable age associated with each of the plurality of cables of the operating instrument.
27. The computer-assisted system of claim 26, wherein the operational data associated with the operating instrument includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model comprises: inputting each set of operational data to obtain a change in age for each of the plurality of cables.
28. The computer-assisted system of claim 27, wherein the age of the operating instrument is based on the age of a limiting cable of the plurality of cables, the limiting cable having a highest age value.
29. The computer-assisted system of claim 23, wherein the operational data includes one or more of mechanical work of a drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the instrument.
30. The computer-assisted system of any one of claims 23 to 29, wherein the control system is further configured to: display, via a display device, the updated age of the operating instrument.
31 . The computer-assisted system of claim 30, wherein the control system is further configured to: estimate, based on the updated age of the operating instrument, an amount of usage time remaining associated with the operating instrument; and display, via the display device, the estimated amount of usage time remaining.
32. The computer-assisted system of claim 31 , wherein to estimate the amount of usage time remaining, the control system is further configured to: determine an age accumulation rate at which the age of the operating instrument is accumulating during a current procedure; and determine, based on the age accumulation rate, an amount of usage time remaining for the operating instrument.
33. The computer-assisted system of claim 31 , wherein to estimate the amount of usage time remaining, the control system is further configured to: obtain procedure profile data associated with at least one procedure previously performed by one or more operators using a same type of instrument as the operating instrument; determine an expected age accumulation rate based on the procedure profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
34. The computer-assisted system of claim 31 , wherein to estimate the amount of usage time remaining, the control system is further configured to: obtain operator profile data associated with at least one procedure previously performed by the operator using a same type of instrument as the operating instrument; determine an expected age accumulation rate based on the operator profile data; and determine, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
35. The computer-assisted system of any one of claims 23 to 29, wherein the remedial action includes: displaying, via a display device, an alert; or limiting operation of the operating instrument.
36. The computer-assisted system of claim 35, wherein limiting operation of the operating instrument comprises: restricting a range of motion associated with the movable component of the operating instrument; reducing a torque limit of the operating instrument, or preventing usage of the operating instrument.
37. The computer-assisted system of any one of claims 23 to 29, wherein inputting the operational data into the age determination model comprises: generating a coordinate for a map having dimensions based on one or more contributing parameters of the age determination model; and obtaining the change in age based upon an interpolation between one or more coordinates in the map corresponding to one or more sets of experimental data generated by operating one or more testing instruments to expiration.
38. The computer-assisted system of any one of claims 23 to 29, inputting the operational data into the age determination model comprises: inputting the operational data into an equation of a shape, wherein the equation of the shape is generated by: identifying, based on one or more sets experimental data generated by operating one or more testing instruments to expiration, one or more contributing parameters that exhibit a statistical significance on the age of at least one cable of a plurality of cables of a testing instrument beyond a significance threshold; identifying the equation of the shape such that the shape models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; and performing a regression analysis of the equation using the one or more sets of experimental data to solve for the unknown constant values.
39. A computer-implemented method for providing guidance to a user of a computer-assisted system based on an age of an operating instrument, the method comprising: storing, in a data store a control system of the computer-assisted system, an instrument age associated with the operating instrument, wherein: the operating instrument includes a distal end, a proximal end, a movable component at the distal end, an instrument control system at the proximal end, and a plurality of cables connecting the movable component and the instrument control system such that movement of the movable component is controlled by driving the instrument control system; obtaining, via the control system, operational data associated with operation of the operating instrument; obtaining, via the control system, a change in the instrument age associated with the operating instrument by inputting the operational data into an age determination model; updating, via the control system, the stored instrument age of the operating instrument based on the obtained change in the instrument age; and performing, via the control system, a remedial action when the updated instrument age exceeds an instrument age threshold.
40. The computer-implemented method of claim 39, wherein the operating instrument includes: a cable couplet coupled to two drive members of the instrument control system in an antagonistic configuration; or a cable couplet coupled to a drive member of the instrument control system in a paired capstan configuration.
41 . The computer-implemented method of claim 40, wherein: the cable couplet is coupled to the drive member in the paired capstan configuration, and obtaining the change in the instrument age comprises: determining, via the control system, that a direction of rotation of the drive member is in a first direction to accumulate age to a first cable of the cable couplet; and determining, via the control system, that the direction of rotation of the drive member is in a second direction to accumulate age to a second cable of the cable couplet.
42. The computer-implemented method of claim 39, wherein storing the instrument age associated with the operating instrument comprises: storing, via the control system, a cable age associated with each of the plurality of cables of the operating instrument.
43. The computer-implemented method of claim 42, wherein: the operational data associated with the operating instrument includes sets of operational data associated with each of the plurality of cables, and inputting the operational data into the age determination model comprises: inputting, via the control system, each set of operational data to obtain a change in age for each of the plurality of cables.
44. The computer-implemented method of claim 43, wherein the age of the operating instrument is based on the age of a limiting cable of the plurality of cables, the limiting cable having a highest age value.
45. The computer-implemented method of claim 39, wherein the operational data includes one or more of: mechanical work of a drive member associated with a cable, a pitch of the movable component, tension of the cable, a torque associated with the cable, a velocity associated with the cable, an acceleration associated with the cable, an orientation of the movable component, an amount of wear of the cable, or an operational history of the instrument.
46. The computer-implemented method of claim 39, further comprising: displaying, via a display device, the updated age of the operating instrument.
47. The computer-implemented method of claim 46, further comprising: estimating, via the control system and based on the updated age of the operating instrument, an amount of usage time remaining associated with the operating instrument; and displaying, via the display device, the estimated amount of usage time remaining.
48. The computer-implemented method of claim 47, wherein estimating the amount of usage time remaining comprises: determining, via the control system, an age accumulation rate at which the age of the operating instrument is accumulating during a current procedure; and determining, via the control system and based on the age accumulation rate, an amount of usage time remaining for the operating instrument.
49. The computer-implemented method of claim 47, wherein estimating the amount of usage time remaining comprises: obtaining, via the control system, procedure profile data associated with at least one procedure previously performed by one or more operators using a same type of instrument as the operating instrument; determining, via the control system, an expected age accumulation rate based on the procedure profile data; and determining, via the control system and based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
50. The computer-implemented method of claims 47, wherein estimating the amount of usage time remaining comprises: obtaining, via the control system, operator profile data associated with at least one procedure previously performed by the operator using a same type of instrument as the operating instrument; determining, via the control system, an expected age accumulation rate based on the operator profile data; and determining, via the control system, based on the expected age accumulation rate, an amount of usage time remaining for the operating instrument.
51 . The computer-implemented method of claim 23, wherein the remedial action includes: displaying, via a display device, an alert; or limiting, via the control system, operation of the operating instrument.
52. The computer-implemented method of claim 51 , wherein limiting operation of the operating instrument comprises: restricting, via the control system, a range of motion associated with the movable component of the operating instrument; reducing, via the control system, one or more torque limits of the operating instrument, or preventing, via the control system, usage of the operating instrument.
53. The computer-implemented method of claim 23, wherein inputting the operational data into the age determination model comprises: generating, via the control system, a coordinate for a map having dimensions based on one or more contributing parameters of the age determination model; and obtaining, via the control system, the change in age based upon an interpolation between one or more coordinates in the map corresponding to one or more sets of experimental data generated by operating one or more testing instruments to expiration.
54. The computer-implemented method of claim 23, inputting the operational data into the age determination model comprises: inputting, via the control system, the operational data into an equation of a shape, wherein the equation of the shape is generated by: identifying, based on one or more sets experimental data generated by operating one or more testing instruments to expiration, one or more contributing parameters that exhibit a statistical significance on the age of at least one cable of a plurality of cables of a testing instrument beyond a significance threshold; identifying the equation of the shape such that the shape models cable age, wherein the equation of the shape includes input parameters corresponding to the one or more contributing parameters and one or more unknown constant values; and performing a regression analysis of the equation using the one or more sets of experimental data to solve for the unknown constant values.
55. A computer-readable media storing instructions that, when executed by one or more processors, cause a system to perform the method of any one of claims 23 to 54.
PCT/US2024/043127 2023-08-22 2024-08-21 Age estimation of cable-driven surgical instruments Pending WO2025042928A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202363578142P 2023-08-22 2023-08-22
US63/578,142 2023-08-22

Publications (1)

Publication Number Publication Date
WO2025042928A1 true WO2025042928A1 (en) 2025-02-27

Family

ID=92746797

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2024/043127 Pending WO2025042928A1 (en) 2023-08-22 2024-08-21 Age estimation of cable-driven surgical instruments

Country Status (1)

Country Link
WO (1) WO2025042928A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190274769A1 (en) * 2018-03-12 2019-09-12 Ethicon Llc Cable failure detection
US20200363795A1 (en) * 2017-08-16 2020-11-19 Covidien Lp Preventative maintenance of robotic surgical systems
WO2023012574A1 (en) * 2021-08-03 2023-02-09 Covidien Lp System and method for surgical instrument use prediction
WO2023022913A1 (en) * 2021-08-17 2023-02-23 Intuitive Surgical Operations, Inc. Surgical instrument cable control and routing structures

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200363795A1 (en) * 2017-08-16 2020-11-19 Covidien Lp Preventative maintenance of robotic surgical systems
US20190274769A1 (en) * 2018-03-12 2019-09-12 Ethicon Llc Cable failure detection
WO2023012574A1 (en) * 2021-08-03 2023-02-09 Covidien Lp System and method for surgical instrument use prediction
WO2023022913A1 (en) * 2021-08-17 2023-02-23 Intuitive Surgical Operations, Inc. Surgical instrument cable control and routing structures

Similar Documents

Publication Publication Date Title
US12128566B2 (en) Guided tool change
US12089909B2 (en) Tension control in actuation of jointed instruments
US9132552B2 (en) Robot and friction compensation method therefor
JP6738481B2 (en) Execution of robot system operation
US11013567B2 (en) Systems and methods for instrument insertion control
EP3242773B1 (en) Autonomous correction of alignment error in a master-slave robotic system
EP4326182A2 (en) Robotic surgery
US20130178868A1 (en) Surgical robot and method for controlling the same
JP2018532455A (en) Robotic surgical system control scheme for operating robot end effectors
KR20180068336A (en) Surgical system with training or auxiliary functions
US20200352665A1 (en) Information processing device, information processing method, and program
JP2022008110A (en) Restraint and unrestrained range of motion limits for robotic surgical systems
US11076927B2 (en) Usage and procedure counter for surgical tools
US20210121255A1 (en) Robotic joint control
KR102688404B1 (en) User-installable part installation detection techniques
JP7440540B2 (en) Systems and methods for controlled grasping and energy delivery
WO2018105045A1 (en) Medical system and method of controlling same
Akinola et al. Task level hierarchical system for BCI-enabled shared autonomy
KR20250068680A (en) Abnormality detection in instruments of surgical robotic systems
CN114041874B (en) Interface display control method and device, computer equipment and system and medium
WO2023023186A1 (en) Techniques for following commands of an input device using a constrained proxy
WO2025042928A1 (en) Age estimation of cable-driven surgical instruments
US20250143817A1 (en) Automatic adaptive mode for surgical robotic system
US20240189051A1 (en) Controlled resistance in backdrivable joints
WO2024226481A1 (en) System and method for controlled ultrasonic sealing and cutting

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24769134

Country of ref document: EP

Kind code of ref document: A1