Source: http://patents.com/us-20170224340.html
Timestamp: 2018-12-12 01:45:11
Document Index: 532450685

Matched Legal Cases: ['Application No. 61', 'art 22', 'art 24', 'art 22', 'art 56', 'art 24', 'art 22', 'art 22', 'art 22', 'art 22']

Application # 2017/0224340. TORQUE COMPENSATION - Patents.com
United States Patent Application 20170224340
WEIR; DAVID W. ; et al. August 10, 2017
Embodiments of a clamping system are disclosed. In some embodiments, a system used with a motor assembly and a clamping device is presented, the system adjusting torque limits in the motor assembly according to conditions, for example operating temperature of the motor assembly and aging of the clamping device and the motor assembly. The clamping device can be, for example, a stapler or a vessel sealer.
Inventors: WEIR; DAVID W.; (EMERALD HILLS, CA) ; WU; MELODY; (SUNNYVALE, CA) ; BRISSON; GABRIEL F.; (ALBANY, CA) ; DURANT; KEVIN; (ALAMEDA, CA) ; DUQUE; GRANT; (SAN JOSE, CA)
Family ID: 1000002632727
Appl. No.: 15/581346
14154075 Jan 13, 2014 9675354
61752402 Jan 14, 2013
Current CPC Class: A61B 17/08 20130101; Y10S 901/31 20130101; A61B 34/37 20160201; A61B 50/13 20160201; A61B 50/33 20160201; A61B 90/98 20160201; A61B 90/92 20160201; A61B 18/1445 20130101; A61B 1/00009 20130101; A61B 34/76 20160201; A61B 34/25 20160201; G01L 5/226 20130101; B25J 9/1633 20130101; A61B 2017/00398 20130101; A61B 2017/07285 20130101; A61B 2017/07271 20130101; A61B 2090/031 20160201; A61B 2018/0063 20130101; A61B 2018/00595 20130101; A61B 2018/00988 20130101; A61B 2018/1455 20130101; A61B 2017/00199 20130101; Y10S 901/29 20130101; A61B 17/07207 20130101
International Class: A61B 17/08 20060101 A61B017/08; A61B 34/37 20060101 A61B034/37; A61B 50/13 20060101 A61B050/13; A61B 50/33 20060101 A61B050/33; B25J 9/16 20060101 B25J009/16; A61B 90/92 20060101 A61B090/92; A61B 18/14 20060101 A61B018/14; A61B 1/00 20060101 A61B001/00; A61B 34/00 20060101 A61B034/00; G01L 5/22 20060101 G01L005/22; A61B 17/072 20060101 A61B017/072; A61B 90/98 20060101 A61B090/98
1. A method of operating a clamping instrument, comprising: obtaining, by control electronics, an initial torque limit for the clamping instrument; adjusting, by the control electronics, the initial torque limit based on a wrist angle of the clamping instrument; and clamping the clamping instrument according to the adjusted torque limit.
2. The method of claim 1, wherein obtaining the initial torque limit includes reading the initial torque limit from the clamping instrument.
3. The method of claim 1, wherein adjusting the initial torque limit to obtain the adjusted torque limit includes scaling the initial torque limit by a first function of the wrist angle of the clamping instrument or adding to the initial torque limit a second function of the wrist angle of the clamping instrument.
4. The method of claim 1, wherein adjusting the initial torque limit to obtain the adjusted torque limit is further based on one or more of a temperature of a motor assembly of a system operating the clamping instrument, a lifetime of the motor assembly, and a lifetime of the clamping instrument to obtain an adjusted torque limit.
5. The method of claim 4, wherein adjusting the initial torque limit is accomplished according to .tau..sub.com=.tau..sub.des*W(.theta.)*[1-.alpha.*(T-T.sub.ref)]*[1-.beta- .*(L.sub.MP)]*[1-.gamma.*(L.sub.ins)]+.delta.*(T-T.sub.ref)+.epsilon. where .tau..sub.com is the adjusted torque limit, .tau..sub.des is a desired torque limit, .theta. is the wrist angle, W(.theta.) is a scaling adjustment for the wrist angle, T is the temperature of the motor assembly, L.sub.MP is the lifetime of the motor assembly, L.sub.ins is the lifetime of the clamping instrument, T.sub.ref is a reference temperature, and .alpha., .beta., .gamma., .delta., and .epsilon. are coefficients.
6. The method of claim 5, wherein W(.theta.) is given by W ( .theta. ) = 1 1 - .xi. ( 1 - cos ( .theta. ) ) ##EQU00003## where .xi. is a coefficient.
7. The method of claim 1, wherein clamping the clamping instrument according to the adjusted torque limit includes: calculating a current limit for a clamping motor; and driving the clamping motor to a clamping position while limiting current to the current limit; wherein calculating the current limit is provided by I limit = I NL + .tau. com K T ##EQU00004## where I.sub.limit is the current limit, I.sub.NL is a no load current for the clamping motor, .tau..sub.com is the adjusted torque limit, and K.sub.T is a current to torque conversion parameter for the clamping motor.
8. The method of claim 7, wherein I.sub.NL is determined based on motor speed and direction, I.sub.NL and K.sub.T are adjusted for temperature, and I.sub.NL is further adjusted for the lifetime of the motor assembly.
9. The method of claim 1, further including: firing the clamping instrument; updating a lifetime of a motor assembly of a system operating the clamping instrument to an updated lifetime of the motor assembly and a lifetime of the clamping instrument to an updated lifetime of the clamping instrument; and storing the updated lifetime of the motor assembly and the updated lifetime of the clamping instrument.
10. The method of claim 1, further including: driving the clamping instrument through a preset range of motions; monitoring the clamping instrument during the driving; and adjusting the initial torque limit to obtain the adjusted torque limit further based on the monitoring.
11. A system that operates a clamping device, comprising: a processor coupled to receive data from and control motors in a motor assembly coupled to the clamping device, the processor being configured to execute instructions for acquiring an initial torque limit for the clamping device; adjusting the initial torque limit based on a wrist angle of the clamping device to obtain an adjusted torque limit; and clamping the clamping device according to the adjusted torque limit.
12. The system of claim 11, wherein acquiring the initial torque limit includes reading the initial torque limit from the clamping device.
13. The system of claim 11, wherein adjusting the initial torque limit to obtain the adjusted torque limit includes scaling the initial torque limit by a function the wrist angle of the clamping device or adding to the initial torque limit a function of the wrist angle of the clamping device.
14. The system of claim 11 wherein adjusting the initial torque limit to obtain the adjusted torque limit is further based on one or more of a temperature of the motor assembly, a lifetime of the motor assembly, and a lifetime of the clamping device.
15. The system of claim 14, wherein adjusting the initial torque limit is accomplished according to .tau..sub.com=.tau..sub.des*W(.theta.)*[1-.alpha.*(T-T.sub.ref)]*[1-.beta- .*(L.sub.MP)]*[1-.gamma.*(L.sub.ins)]+.delta.*(T-T.sub.ref)+.epsilon. where .tau..sub.com is the adjusted torque limit, .tau..sub.des is a desired torque limit, .theta. is the wrist angle, W(.theta.) is a scaling adjustment for the wrist angle, T is the temperature of the motor assembly, L.sub.MP is the lifetime of the motor assembly, L.sub.ins is the lifetime of the clamping device, T.sub.ref is a reference temperature, and .alpha., .beta., .gamma., .delta., and .epsilon. are coefficients.
16. The system of claim 15, wherein W(.theta.) is given by W ( .theta. ) = 1 1 - .xi. ( 1 - cos ( .theta. ) ) ##EQU00005## where .xi. is a coefficient.
17. The system of claim 11, wherein clamping the clamping device according to the adjusted torque limit includes: calculating a current limit for a clamping motor; and driving the clamping motor to a clamping position while limiting current to the current limit; wherein calculating the current limit is provided by I limit = I NL + .tau. com K T ##EQU00006## where I.sub.limit is the current limit, I.sub.NL is a no load current for the clamping motor, .tau..sub.com is the adjusted torque limit, and K.sub.T is a current conversion parameter for the clamping motor.
18. The system of claim 17, wherein I.sub.NL is determined based on motor speed and direction, I.sub.NL and K.sub.T are adjusted for temperature and I.sub.NL is further adjusted for a lifetime of the motor assembly.
19. The system of claim 11, further including: firing the clamping device; updating a lifetime of the motor assembly to an updated lifetime of the motor assembly and a lifetime of the clamping device to an updated lifetime of the clamping device; and storing the updated lifetime of the motor assembly and the updated lifetime of the clamping device.
20. The system of claim 11, further including: driving the clamping device through a preset range of motions; monitoring the clamping device during the driving; and adjusting the initial torque limit to obtain the adjusted torque limit further based on the monitoring.
[0001] This application is a continuation of U.S. patent application Ser. No. 14/154,075, filed Jan. 13, 2014, and claims priority to U.S. Provisional Patent Application No. 61/752,402, filed Jan. 14, 2013, entitled "Torque Compensation", both of which are incorporated herein in their entirety by reference.
[0013] In accordance with aspects of the present invention, a system for controlling the clamping instrument is provided. A method of using a clamping instrument in the system includes obtaining an initial torque limit for the clamping instrument; adjusting the torque limit according to a model utilizing a set of parameters to obtain an adjusted torque limit; and clamping the clamping instrument according to the adjusted torque limit.
[0014] A system that uses a clamping device can include a processor coupled to receive data from and control motors in a motor assembly coupled to the clamping instrument, the processor executing instructions for acquiring an initial torque limit for the clamping instrument; adjusting the torque limit according to a model utilizing a set of parameters to obtain an adjusted torque limit; and clamping the clamping instrument according to the adjusted torque limit.
[0036] Further, this description's terminology is 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 one element's or feature's relationship to another element or feature as illustrated in the figures. These spatially relative terms are intended to encompass different positions (i.e., locations) 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 exemplary term "below" can encompass both positions and orientations of above and below. A device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly. Likewise, descriptions of movement along and around various axes include various special device positions and orientations. In addition, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context indicates otherwise. And, the terms "comprises", "comprising", "includes", and the like specify the presence of stated features, steps, operations, elements, and/or components but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups. Components described as coupled may be electrically or mechanically directly coupled, or they may be indirectly coupled via one or more intermediate components.
[0044] FIGS. 1-5 illustrate a multi-port surgical robot. It should be understood that embodiments of the present invention can also be utilized with a single port surgical robot. In either multiport or single port surgeries, surgical tools 26 are passed through cannulas inserted into patient 12 at the surgical site. The surgical tools 26 are manipulated through patient side cart 22 while the surgeon directs and views the procedure from surgeon's console 16. Processor 58 and electronics cart 24 can be utilized to translate inputs from the surgeon at the surgeon's console 16 to actual motion of end effectors of surgical tools 26. Surgical tools that may be typically utilized include clamps, graspers, scissors, staplers, cautery tools, linear cutters, needle holders, and other instruments. Each of the surgical tools 26 is attached to, and driven by, patient side cart 22 under the direction of surgeon 18, as provided by processor 58 and electronics cart 56. Processor 58 and electronics cart 24 translate the inputs from surgeon 18 into driving actions at patient side cart 22 that affect the motions of the end effectors of surgical tools 26. In particular, surgical tools 26 can include one of a stapler or vessel sealer according to the present invention.
[0046] As shown in FIG. 6A, stapler end effector 602 includes an anvil 610 and a jaw 612. A stapler cartridge 614 can be inserted onto jaw 612. In some embodiments of stapler 600, a cutting knife 616 is configured such that it can travel along the long direction of anvil 610. Stapler 600 can be utilized as a grasper, however during operation as a stapler jaw 612 is forced against anvil 610 to clamp tissue between jaw 612 and anvil 610.
[0049] Additionally, knife 616 (which may be formed as an I-Beam or attached to sled 618) is translated along anvil 610 to separate the stapled tissue. In some embodiments, sled 618 and knife 616 are formed within cartridge 614. If the tissue gap is incorrect, the staples may be improperly formed, causing tissue damage and other complications. In some embodiments, stapler 600 may be a linear stapler. Some embodiments may not include knife 616 and therefore perform stapling without transection.
TABLE-US-00001 Open Staple Closed Staple Cartridge Color Tissue Thickness Height (mm) Height (mm) Gray Mesentery/Thin 2.0 0.75 White Vascular/Thin 2.5 1.0 Blue Regular 3.5 1.5 Gold Regular/Thick 3.8 1.8 Green Thick 4.1 2.0 Black Very Thick 4.4 2.3
Cartridge 614 may come in various lengths, for example 30, 45, or 60 mm. A single stapler 600 can fire many reloads, with each cartridge being fired once. Cartridge 614 may include data storage that holds, for example, cartridge serial number, cartridge type, part number, style, direction of firing, length of firing, cartridge color, firing torque, maximum deflection and other data. In some embodiments, knife 616 and sled 618 are part of cartridge 614 and are replaced with each re-load.
[0053] FIG. 6B illustrates stapler end effector 602 clamped to tissue. As shown in FIG. 6B, cartridge 614 includes staples 652. During firing, sled 618 can travel along jaw 612 to drive staples 652 that are housed in cartridge 614 through the clamped tissue and into pockets 654 on anvil 610. Pockets 654 are configured to form staples 652 into a "B"-shape, which provides optimal sealing. Although FIG. 6B illustrates an embodiment where each leg of staple 652 can be formed into a portion of the "B"-shape by an individual pocket 654, in some embodiments staple 652 can be shaped by a single pocket 654. Knife 616 cuts the tissue between rows of staples to cut the stapled tissue. Cartridge 614 may produce a number of rows of staples, for example two (2) or three (3) rows on each side of the cut formed by knife 616 may be formed.
[0055] In order to provide for proper clamping during firing of stapler 600, a particular clamping force is provided between jaw 612 and anvil 610. That clamping force is initially provided by the torque of a motor coupled to chassis 608. The appropriate torque to provide the clamping force may vary from one stapler to another due to manufacturing variances of chassis 608 and friction that may be present for example in shaft 606, wrist 604, and the mechanical operation of jaw 612 and anvil 610. Furthermore, as stapler 600 wears, the appropriate clamping input torque may drift during the lifetime of stapler 600 and it may take less torque applied to chassis 608 to affect the proper clamping force between jaw 612 and anvil 610. Since improper clamping force results in improper tissue gap due to improper deflection of the jaw 612 and anvil 610, if too much torque is applied to chassis 608 or there is improper closing of the jaw 612 and anvil 610 through too little clamping force, then improper formations of staples 652 may occur during firing. Such improper clamping may also damage tissue, both as a result of improper staple formation and improper clamping during the process.
[0056] As discussed above, a common driving mechanism for clamping jaw 612 against anvil 610 is with utilization of a cam mechanism. Appropriate clamping, however, cannot be determined solely by the position of the cam. This is a result of the flexibility of jaw 612 and anvil 610, which can result in additional separation of the tips of jaw 612 and anvil 610. When too much clamping torque is applied, the tip separation between jaw 612 and anvil 610, the tissue gap, may be too high resulting in improper staple formation during firing. Therefore, in some embodiments of the present invention a torque limit is set and applied to stapler 600 such that excessive tip separation (tissue gap) is prevented during clamping. Firing is only permitted if stapler 600 can reach the fully clamped position while the torque limit is implemented. If the torque limit prevents clamping (stalls), then the tissue cannot be adequately compressed and if clamping were to proceed, an excessive tip separation due to the flexibility of the jaw 612 and anvil 610 would result. Stapler 600, therefore, can be considered to be clamped when jaw 612 and anvil 610 have reached full travel (i.e. by achieving the expected number of turns of a leadscrew or cardan) and the torque limit has not been reached.
[0057] Similar issues occur with a vessel sealer. FIG. 6C illustrates a vessel sealer 630. Vessel sealer 630 includes an end effector 632, wrist 634, an instrument shaft 636 and a chassis 638. End effector 632 includes jaws 642 and 640, which are clamped onto tissue that is to be sealed. Instead of staples, vessel sealer 630 can utilize an RF method of sealing the tissue clamped between jaws 640 and 642.
[0058] FIG. 6D illustrates end effector 632 with jaw 650, which can be either of jaws 640 or 642. As shown in FIG. 6D, jaw 650 includes an electrode 657 embedded in a jaw case. Knife blade 646 can be driven along a track 658 formed in electrode 657. Jaw case 652 has tips 656 that extend beyond and above electrode 657 such that a minimum gap between electrodes 657 is maintained during the process. In some embodiments, the minimum gap can be, for example, 0.006 inches. When fired, jaws 640 and 642 can be energized to seal the tissue and knife blade 646 can travel along track 658 in jaws 640 and 642 to divide the tissue. Energy is supplied through electrodes 657 in jaws 640 and 642. In some embodiments, knife blade 646 can be activated separately from the sealing energy.
[0061] FIG. 7 illustrates surgical stapler 600 mounted on a motor assembly 702. Motor assembly 702 can be mounted to the stapler instrument, which is then mounted to the surgical arms of the patient side cart 22. Motor assembly 702 can also be mounted to, or made part of, one of the surgical arms of patient side cart 22. As shown in FIG. 7, motor assembly 702 includes one or more motors 710 that are mechanically coupled through a mechanical coupler 706 and electronics 712. Mechanical coupler 706 can be coupled to chassis 608 when stapler 600 is mounted to motor assembly 702. In some embodiments, the one or more motors 710 may include a clamping motor and a firing motor. The combination of one or more motors 710 and electronics 712 of motor assembly 702 can be referred to as a motor pack. Motors that drive wrist 604 may be included in motor assembly 702 or may be separate from motor assembly 702. Mechanical coupler 706 transmits the torque from the one or more motors 710 into chassis 608, where the torque is transmitted to couplers 660 by mechanical converter 714.
[0067] Electronics 712 of motor assembly 702 includes electronics 810 and memory 812. Electronics 810 can be a processor or other electronics that interfaces to electronics 806 through interface 704. As shown in FIG. 8, electronics 810 also provides control signals to the one or more motors 710. FIG. 8 shows motors 822 and 824. Motors 822 and 824 drive mechanical converter 714 in order that the functions of stapler end effector 602 are performed.
[0068] In particular, motor 824 is a clamping motor and operates stapler 600 to provide clamping between jaw 612 and anvil 610 against tissue. Motor 822 is a firing motor and operates stapler 600 and cartridge 614 to fire stapler 600. Stapler 600 is fired when the stapler 600 is clamped. A clamped condition can be determined when the output position of motor 824 reaches the appropriate clamp position while simultaneously a torque limit is implemented to prevent excessive tip separation. The torque provided by motor 824 can be controlled by the current provided to motor 824. The current provided to motor 824 can be controlled by electronics 810. In operation, torque limits are provided for motor 824 based upon the instrument and motor assembly (or motor pack) it is used with. Clamping can be determined when the appropriate position of motor 824 is reached while the appropriate torque limit is implemented. The torque limit is directly related to a current limit for motor 824, and therefore the torque limit is reached when the current draw of motor 824 reaches a corresponding current limit.
[0069] Electronics 810 may include processors and electronics that execute instructions stored in memory 812. As such, electronics 810 can include current controllers and position controllers for controlling motors 824 and 822, which can be the clamping motor 824 and firing motor 822, respectively. As is further shown in FIG. 8, electronics 810 can include various sensors 820 that monitor the performance of motor assembly 702. Sensors 820 can, for example, include temperature sensors to measure the motor assembly temperature, current sensors to measure the current drawn by each of the at least one motors 710, and position sensors to measure the output position of each of the at least one motors 710.
[0070] Memory 812 may include a combination of volatile and non-volatile memory and may store data and executable instructions for controlling the one or more motors 710. Memory 812 can include parameters related to motor assembly 702, including serial number, part number, version number, configuration information (type, style, expiration information, current controller gains, position controller gains, gear ratio), temperature coefficients, wear coefficients, friction coefficients, motor K.sub.T (the parameter that relates torque to current) and other information.
[0071] Other functions of stapler 600, for example operation of wrist 604 and translation of sled 618 and knife 616 during firing, can be provided by other motors or combinations of motors operating with mechanical converter 714. As is understood, mechanical converter 714 can be combinations of gears and cams that are coupled to couplers 660 to provide the appropriate motions. Current to other motors, such as firing motor 822 or other driving motors, can also be controlled by electronics 810.
[0073] In some embodiments, electronics 810 and electronics 806 may support integer math. Algorithms operating on electronics 806 and 810 can be scaled appropriately to perform mathematical operations assigned to them while controlling motors 824 and 822.
[0078] In accordance with the present invention, a specific torque limit is determined for each stapler 600 and stored in memory 808 of chassis 608. FIG. 9A illustrates a procedure for initializing the torque limit for a particular stapler 600. In step 902, stapler 600 is assembled. After assembly, in step 904, stapler 600 is "worn-in" by repeatedly performing a clamping procedure. Stapler 600 is worn in when the torque required to clamp is relatively stable (i.e., does not change significantly between activations). In step 906, a series of shims of differing heights is utilized to enforce a known deflection of the tips of jaw 612 and anvil 610 during clamping. A data set of clamping torque as a function of tip deflection is then obtained.
[0079] FIG. 9B illustrates deflecting the tips by a known amount with shim 914. As is shown in FIG. 9B, shim 914 enforces a particular tip separation while jaw 612 and anvil 610 are clamped. In step 906, a series of tests with different shims 914 are accomplished to produce the data set as shown in FIG. 9C. As shown in FIG. 9C, the X-axis represents the tip deflection enforced by each individual shim 914. The Y axis is the recorded torque data from a motor 918 in motor assembly 916 that drives chassis 608 of stapler end effector 602 during the test to achieve a clamping condition. In some embodiments, a relationship between the feedback current of motor 918 and the torque applied by motor 918 and the resulting force between jaw 612 and anvil 610 is known based on previously acquired calibration data utilizing motor 918 and numerous instruments.
[0080] In step 908, the data can be fit to a function. In the example shown in FIG. 9C, the data is fit to a linear function Y=mx+b. A linear, least-squares method can be utilized to estimate the slope m and the offset b. In this linear equation, Y is the torque required and X is the tip deflection. As shown in FIG. 9C, torque is provided in milliNewton-meter (mNm) and deflection is provided in millimeters (mm). In the particular example provided in FIG. 9C, the slope m is determined to be 21.5 mNm/mm and the offset b is 50 mNm. As discussed above, the values for m and b vary due to manufacturing variance between different staplers.
[0082] In step 912, the maximum torque value for stapler 600 is stored in memory 808 of chassis 608 of stapler 600. The maximum torque value can then be read from memory 808 during operation of system 10, as illustrated in FIG. 8, and utilized to control the maximum torque supplied by motor 824 to end effector 602 during a stapling procedure.
[0083] In some embodiments, the calibrated maximum torque value, which can be designated as .tau..sub.cal is used as a baseline torque limit value for stapler 600. From this baseline, during operation, the actual torque can be adjusted for particular cartridges 614. The adjustment can be based on a large body of previously collected experimental and analytical data acquired utilizing multiple cartridges and multiple staplers that are loaded into system 800. As an example, adjustments for various cartridges 614 can be White=-3 mNm; Blue=+2 mNm; and Green=+9 mNm. These values are added to the maximum torque value and the adjusted value utilized to control the torque output of motor 824 of motor assembly 702. For example, if cartridge 614 was a blue cartridge, then the maximum torque value utilized during clamping is adjusted to 94 mNm.
[0085] Other parameters can also be set during calibration. For example, the calibrated torque limit can be set at a particular reference temperature T.sub.ref. Other parameters may include wear coefficients, instrument life coefficients, and other parameters that relate to the particular stapler 600.
[0087] In addition to calibrating and initializing stapler 600, motor assembly 702 can also be calibrated and initialized to adjust for manufacturing variations. Manufacturing variances in clamping motor 824 and firing motor 822 as well as in mechanical converter 714 lead to variations between motor assemblies. During motor assembly calibration, motor speed vs no-load current relationships I.sub.NL and the torque constant K.sub.T for each of clamping motor 824 and firing motor 822 are determined.
[0088] FIG. 10A illustrates a calibration method 1000 that can be utilized to calibrate each of motors 824 and 822 of motor assembly 702. As shown in method 1000, step 1002 is to acquire an assembled motor assembly 702. In step 1004, an initial calibration is performed. An example of a calibration procedure is illustrated in FIG. 10B. In step 1006, motors 822 and 824 of motor assembly 702 are worn in. During the wear-in process, each of motors 822 and 824 are driven many cycles against a constant torque in order to break in the gear train of mechanical converter 714 and ensure that the grease is evenly distributed. In step 1008, a final calibration is performed. The final calibration of step 1008 and the initial calibration of step 1004 can be the same calibration method, an example of which is shown in FIG. 10B. In step 1010, the calibrated parameters are stored in memory 812 of motor assembly 702.
[0089] FIG. 10B illustrates an example of a calibration procedure 1012 that can be utilized in steps 1004 and 1008 of FIG. 10A. As shown in FIG. 10B, step 1014 is to acquire no-load data for the motor, which could be either clamping motor 824 or firing motor 822. To determine the relationship between motor speed and no-load current for a motor, the motor is driven at various speeds, one at a time in the forward direction first then in the backward direction. No-load current draw data is measured, as well as the temperature of motor assembly 702 while achieving each of the various speeds. In some cases, the no load current draw can be adjusted for temperature. As an example, the speed progression in 10.sup.4 rotations per minute (rpm) may be [2.5, 1.5, 2.25, 0.5, 2.0, 0.75, 1.0, 1.75, 0.25, 1.25, and 0.125]. However, other data taking progressions can be utilized. FIG. 10C illustrates data for a clamp motor 824 current as a function of motor speed in the forward (fwd) and backward (bak) directions.
y=c1+c2*e.sup.-x*x.sup.scale+c3*x*e.sup.-x*x.sup.scale
[0092] In some embodiments, a linear piecewise approximation can be optimized to fit the function in order to ease further computation. A linear piecewise approximation to the curve fit functions shown in FIG. 10C is illustrated in FIG. 10D. The linear piecewise approximation can eventually be stored in memory 812 as I.sub.NL.
[0093] Once the no-load current calibration is completed, procedure 1012 proceeds to determination of a torque constant K.sub.T (the torque output per current input). As shown in FIG. 10B, step 1018 includes acquiring torque loading data. In acquiring the torque loading data, the motor being calibrated (clamping motor 824 or firing motor 822) is driven first against no load and then the load is ramped up to a known torque loading and then ramped back down to no-load. The known torque loading can be provided by an external source such as a brake or dynamometer, for example. Data (i.e. torque output vs. current load) is gathered in both the forward and backward directions for the motor being calibrated. Multiple sets of data can be taken for each of clamping motor 824 and firing motor 822.
[0094] In step 1020, the torque data is analyzed to determine the torque constant K.sub.T. The data can be filtered and the torque constant K.sub.T determined by comparing the change in torque (no load to known torque loading) to the change in current (current at no load to the current at the torque loading). Calculations for the multiple sets of data taken during step 1018 can be averaged to determine the final calibration torque constant value.
[0096] As illustrated in FIG. 10A, in step 1010 after the final calibration step 1008 both the no-load current calibration data I.sub.NL and the torque loading calibration data K.sub.T can be stored in memory 812 of motor assembly 702 and can be utilized during further calculations of torque limits for motor assembly 702 as discussed further below.
[0097] Referring back to FIG. 8, stapler 600 is only allowed to fire when stapler 600 reaches a full clamp condition. The amount of torque provided by motor 824 to reach a complete clamp condition is limited by software. This torque limit is generally set as a current limit, which is a limit on the current that motor 824 is allowed to draw during the clamping process. The current limit is a function of the calibration data for the stapler 600, as discussed above. In other words, initially the torque limit is set at .tau..sub.cal as indicated above, adjusted according to the color of cartridge 614.
[0100] FIG. 11 illustrates an algorithm 1100 for performing such an operation. Algorithm 1100 can be performed by system 800 or system 800 in combination with electronics 810 in motor assembly 702. As shown in step 1002, algorithm 1100 is started when a command is received to clamp, prior to firing, stapler 600 in step 1102.
[0101] In step 1104, the parameters that are specific to stapler 600, which are stored in memory 808 of chassis 608, the parameters that are specific to motor assembly 702, which are stored in memory 812 of motor assembly 702, and the parameters that are specific to cartridge 614, which are stored in data storage 716, are retrieved. In step 1106, the adjusted maximum torque limit is determined. The adjusted maximum torque limit can be determined based on a number of parameters and a model that fits the wear characteristics of motor assembly 702 and stapler 600 in combination with a particular cartridge 614. As discussed above, some of the factors that can be including in the model include the temperature of motor assembly 702 (T), the lifetime of motor assembly 702 measured by the number of stapler firings (L.sub.MP), the lifetime of stapler 600 measured by the number of stapler firings (L.sub.inst), and the angle of wrist 604 (.theta.). In general, a set of parameters {Parameters} can be defined that affect the torque limit utilized. In some embodiments, the set can be defined as {T, L.sub.MP, L.sub.Inst, .theta., . . . }. Other parameters may also be utilized in the model.
.tau..sub.com=F({Parameters})
where the function F defines the model that best fits the behavior of stapler 600 and motor assembly 702 over their lifetimes. The function F can be determined empirically over a large set of staplers 600 and motor assemblies 702 to accurately represent the wear characteristics over time. In some cases, factors related to the various parameters may be scalars in the model while in other cases a better model has certain factors being additive while other factors are scalars. For example, a model for calculating the maximum torque limit may be given by
.tau..sub.com=F({Parameters})=f(T)*g(L.sub.MP)*h(L.sub.inst)*y(.theta.)+- z(T)+k(L.sub.MP)+x(L.sub.inst)+p(.theta.)+C,
[0103] In step 1108, the motor current limit is determined from the torque limit. As an approximation, there is a linear relationship between the current and the desired torque for motor 824. Therefore, conversion from torque limit to current limit involves scaling the torque limit according to the linear relationship to determine the current limit for motor 824 in the clamping process.
[0104] In step 1110, stapler 600 is clamped utilizing the adjusted motor current limit described above. As discussed above, stapler 600 is clamped when motor 824 achieves a particular position while not exceeding the adjusted motor current limit. Once stapler 600 is in a clamped condition, then stapler 600 can be fired. In step 1112, after a successful clamping is achieved, algorithm 1100 waits for a user input or confirmation prior to firing. In step 1114, stapler 600 is fired.
[0105] As shown in FIG. 11, in some embodiments firing step 1114 can include determining the firing torque limit, determining the firing motor current limit, and firing using the firing motor current limit. Excessive torque applied to a fire cardan joint in stapler 600 can pose a problem to breaking the fire cardan joint or breaking the leadscrew in cartridge 614. Excessive torque could also cause knife 616 in cartridge 614 to be jammed against a hard stop with too much force, possibly breaking a piece of knife 616 into the patient. Both the drive train and cartridge leadscrew and knife mechanisms should include an adequate safety margin to prevent breakage during operation. The firing torque limit (the torque limit of firing motor 822) can be adjusted to prevent the torque being applied to the mechanism to approach a level that damages stapler cartridge 614 or cartridge drivetrain components.
[0106] Determining the firing torque limit for firing motor 822 in step 1120 can be similar to determining the torque limit for clamping motor 824 as discussed above with respect to step 1106. As discussed above, the firing torque limit for firing motor 822 can be adjusted using a function of, for example, temperature, motor assembly life, instrument life, and other parameters. The same forms of the adjustment equations, in some cases with different coefficients, can be used in adjusting the torque limit for firing motor 822 as those discussed above can be used for adjusting the torque limit for clamping motor 824. Further, the same form of equation for determining the motor current limit as discussed above with step 1108 can be utilized in step 1122. Firing step 1124 is complete when firing motor 822 reaches a particular position while not exceeding the firing motor current limit.
[0107] In step 1116, parameters are adjusted to reflect the firing. For example the parameters L.sub.MP and L.sub.inst can both be incremented. In step 1118, the adjusted parameters can be stored for future use. For example, L.sub.MP is stored in memory 812 and L.sub.inst is stored in memory 808 for use in the next stapling procedure involving motor assembly 702 or stapler 600.
[0108] As discussed above, the torque limit can be translated to a current limit for motor 824 in step 1108. In some cases, the relationship between the current limit and the torque limit can be given by:
I limit = I NL + .tau. com K T , ##EQU00001##
where I.sub.limit is the current limit provided to motor 824, I.sub.NL is the no-load current for motor 824 at the time of calibration, K.sub.T is a torque constant characteristic of the motor assembly drive train, and .tau..sub.com, as discussed above, represents a modeled and compensated torque limit provided to minimize error in clamping. I.sub.NL represents the friction compensation for the motor assembly and can be a function of speed. The parameter K.sub.T is related to the conversion of torque to current in motor 824. Initial K.sub.T at a reference temperature T.sub.ref may be determined during a calibration of motor assembly 702 as discussed above. In some models, K.sub.T can be given by
K.sub.T=K.sub.Tcal*[1-.eta.*(T-T.sub.ref)],
where K.sub.Tcal is the calibrated conversion coefficient and .eta. is a temperature coefficient related to the operation of motor 824. In some models, the value for I.sub.NL can be given by:
I.sub.NL=I.sub.cal*[1-.mu.*(T-T.sub.ref)]*[1-.kappa.K*(L.sub.MP)],
where I.sub.cal is the calibrated no-load current draw representing the loss in the motor assembly 702 as a function of speed, .mu. is the temperature coefficient, T is the temperature of motor assembly 702 (measured by electronics 810), T.sub.ref is a reference temperature, .kappa. is the motor assembly life coefficient, and L.sub.MP is the number of times that motor assembly 702 has fired a stapler. The reference temperature T.sub.ref can, for example, be the temperature at which motor assembly 702 is calibrated and can be stored in memory 812. As can be seen from the above equations in this model, the calibrated current limit for stapler 600 at T=T.sub.ref is given by I.sub.limit=I.sub.cal+.tau..sub.cal/K.sub.Tcal, which can be used in the initial calibration phase to determine both I.sub.cal and K.sub.Tcal. The values of I.sub.cal and K.sub.Tcal can, in some embodiments, be stored in memory 812.
.tau..sub.com=.tau..sub.des*W(.theta.)*[1-.alpha.*(T-T.sub.ref)]*[1-.bet- a.*(L.sub.MP)]*[1-.gamma.*(L.sub.ins)]+.delta.*(T-T.sub.ref)+.epsilon.
where .alpha. is a temperature coefficient, .beta. is the life coefficient of motor assembly 702, .gamma. is the life coefficient of stapler 600, .delta. is the constant offset temperature coefficient and .epsilon. is a constant offset. The value of .tau..sub.des can be given by the sum of .tau..sub.cal and cartridge adjustment, as discussed above.
[0110] The function W reflects the added friction when wrist 604 is articulated. In some embodiments, the function W is a cosine function of the angle .theta. through which wrist 604 is articulated. As such, in some embodiments W can be given by
W ( .theta. ) = 1 1 - .xi. ( 1 - cos ( .theta. ) ) ##EQU00002##
where .theta. is the wrist angle of wrist 604 as shown in FIG. 8 and .xi. is the parameter that determines the influence of the wrist angle on the torque limit. As illustrated, at .theta.=0 degrees, W(.theta.) will be 1. As the angle increases, however, the friction at wrist 604 increases, resulting in a multiplicative increase in .tau..sub.com by W(.theta.). In some embodiments, the function W(.theta.) can be implemented as a look-up table. The torque limit wrist adjustment W(.theta.) can be utilized for any surgical instrument with a wrist and the need to transmit a force through the wrist.
[0111] The various scalar coefficients shown above can be adjusted to best model the lifetime behavior of motor assembly 702 and of stapler 600. These coefficients include the temperature coefficients .eta., .mu., .alpha., and .delta.; the lifetime coefficients .kappa., .beta. and .gamma.; additive coefficient .epsilon.; and wrist coefficient .xi. and can be determined through repeated testing of various ones of stapler 600 and motor assembly 702 through their lifetimes or in some cases can be customized through calibrations done on individual motor assemblies or instruments. In some embodiments, if the coefficients are determined by averaging over a large number of motor assemblies and staplers and do not vary between individual motor assemblies or staplers, then they can be stored in system 800 where the modeling is calculated. Otherwise, the coefficients can be stored with their individual components. For example, the temperature coefficients .eta., .mu., .alpha., and .delta.; the lifetime coefficients .kappa. and .beta. can be stored in memory 812 while the lifetime coefficient .gamma. can be stored in memory 808.
[0112] As indicated above, for example .delta. can be set to 0 if temperature is a scalar component not an additive component and .alpha. can be set to 0 if temperature is an additive component and not a scalar component. In this model, with .alpha. and .delta. both non zero temperature is both a scalar and additive factor. In some embodiments, the coefficients can be within the following ranges: 0.ltoreq..alpha..ltoreq.1; 0.ltoreq..beta..ltoreq.1; 0.ltoreq..delta..ltoreq.1; -10.ltoreq..epsilon..ltoreq.10; 0.ltoreq..gamma..ltoreq.1; 0.ltoreq..mu..ltoreq.1; 0.ltoreq..kappa..ltoreq.1; 0.ltoreq..eta..ltoreq.1; and 0.ltoreq..xi..ltoreq.1. In many cases, the coefficients are less than about 10.sup.-2.
[0114] As suggested above, there is a variety of models that can be utilized to model the adjustment to the torque limits. As suggested above, depending on the system, certain variables may be modeled as an additive effect and others may be modeled as a multiplicative effect. In some embodiments, the model can be tailored for the lifetime of a particular stapler system. This can be accomplished by setting some of the parameters to zero and some to non-zero values. In some embodiments, the modeling equation for .tau..sub.com can be expanded to include more additive factors and further combinations of additive and multiplicative factors in the modeling.
[0115] The current limit utilized to control clamp motor 824, I.sub.limit, can be provided to electronics 810 in order to control motor 824. The model utilized to provide the adjusted current limit operates to provide proper clamping throughout the operable lifetimes of stapler 600 and of motor assembly 702. The torque compensation algorithm described above allows the surgical system utilizing stapler 600 to effectively and safely clamp on appropriate materials (and thicknesses) while maintaining appropriate tissue gap and may prevent a full clamp on materials (and thicknesses) that would cause inadequate tissue gap. This operation helps to prevent excessive tip deflection and also prevents firing and causing improperly formed staples and surgical intervention that would result from improperly formed staples.
[0116] In some embodiments of the invention, a homing procedure can be provided to further adjust the torque limits. The homing procedure is implemented when stapler 600 and motor assembly 702 is first attached to patient side cart 22. In some embodiments, system 800 can drive stapler 600 through a preset range of motions and tests while monitoring the corresponding performance of stapler 600 and motor assembly 702. Current, position, and torque of motors 824 and 822 can be monitored by electronics 810 and communicated to processor 802
[0117] Processor 802 can adjust coefficients and parameters to correct for the measured behavior of stapler 600 and motor assembly 702 during homing. Those corrected coefficients and parameters can be utilized while operating stapler 600 with motor assembly 702 as described above.
[0118] Individual parameters can be adjusted according to the performance tests. As such, the calibration data, for example .tau..sub.cal, can be adjusted as a result of the homing process in addition to the factors described above prior to utilization of stapler 600.
[0119] The above detailed description is provided to illustrate specific embodiments of the present invention and is not intended to be limiting. Numerous variations and modifications within the scope of the present invention are possible. The present invention is set forth in the following claims.
Previous Patent US 20,170,224,339 | Next Patent US 20,170,224,341