METHODS FOR ANALOG TEMPERATURE COMPENSATION OF BIAS AND OFFSETS OF A DIFFERENTIAL SENSOR
20220140702 · 2022-05-05
Inventors
Cpc classification
H02P29/68
ELECTRICITY
G01K1/026
PHYSICS
G01K7/00
PHYSICS
A61B2090/0811
HUMAN NECESSITIES
International classification
A61B34/00
HUMAN NECESSITIES
G01K1/02
PHYSICS
G01K7/00
PHYSICS
G01L25/00
PHYSICS
Abstract
A measurement circuit that is configured to provide a torque reading to a motion controller includes an offset controller and an amplifier. The offset controller is configured to read a temperature signal and to generate an offset voltage in response to receiving the temperature signal. The amplifier is configured to read a differential voltage from a differential sensor and to receive the offset voltage from the offset controller. The amplifier is also configured to add the offset voltage to the differential voltage after applying a gain to the differential voltage to generate an adjusted voltage. The amplifier is then configured to transmit the adjusted voltage.
Claims
1. A measurement circuit configured to provide a torque reading to a motion controller, the measurement circuit comprising: an offset controller configured to read a temperature signal and to generate an offset voltage in response to reading the temperature signal; and an amplifier configured to read a differential voltage from a differential sensor and to receive the offset voltage from the offset controller, to add the offset voltage to the differential voltage after applying an analog gain to the differential voltage to generate an adjusted voltage, and to transmit the adjusted voltage.
2. The measurement circuit according to claim 1, further comprising a temperature sensor configured to transmit the temperature signal indicative of a temperature of the differential sensor.
3. The measurement circuit according to claim 2, wherein the temperature sensor is configured to output the temperature signal as a digital temperature signal and the offset controller is a digital-to-analog converter configured to convert the digital temperature signal to an analog voltage offset indicative of a temperature of the differential sensor.
4. The measurement circuit according to claim 1, further comprising a differential sensor configured to generate the differential voltage indicative of a torque of a motor and to transmit the differential voltage to the amplifier.
5. The measurement circuit according to claim 4, wherein the offset controller is configured to generate the offset voltage which includes a first component that corrects for manufacturing tolerances of the strain gauge and a second component that corrects for temperature drift of the differential sensor.
6. The measurement circuit according to claim 1, further comprising an analog-to-digital converter configured to receive the adjusted voltage from the amplifier, to convert the adjusted voltage to a digital torque signal indicative of the adjusted voltage which is corrected for temperature drift, and to transmit the torque signal.
7. The measurement circuit according to claim 1, wherein the differential sensor is a strain gauge.
8. An instrument drive unit configured to control a tool of a surgical instrument, the instrument drive unit comprising: a first motor; a first torque transducer including a first torque measurement circuit configured to determine a torque of the first motor, the first torque measurement circuit including: an offset controller configured to read a first temperature signal and to generate an offset voltage in response to reading the first temperature signal; and an amplifier configured to read a differential voltage from a differential sensor, to receive the offset voltage from the offset controller, to add the offset voltage to the differential voltage after applying a gain to the differential voltage to generate an adjusted voltage, and to transmit the adjusted voltage; and a motion controller configured to receive a first torque signal from the first measurement circuit indicative of the adjusted voltage and to control the first motor in response to the first torque signal.
9. The instrument drive unit according to claim 8, wherein the first torque measurement circuit includes an analog-to-digital converter configured to receive the adjusted voltage from the amplifier and to transmit the first torque signal to the motion controller.
10. The instrument drive unit according to claim 9, further comprising: a second motor; and a second torque transducer including a second torque measurement circuit configured to determine a torque of the second motor, the motion controller configured to receive a second torque signal from the second measurement circuit indicative of the torque of the second motor which is adjusted for a temperature of the second torque transducer.
11. The instrument drive unit according to claim 10, wherein the first measurement circuit includes a first temperature sensor configured to transmit the first temperature signal indicative of a temperature of the first torque transducer to the offset controller and the second measurement circuit includes a second temperature sensor configured to transmit the second temperature signal indicative of a temperature of the second torque transducer to the offset controller.
12. The instrument drive unit according to claim 10, further comprising a temperature sensor configured to transmit the first temperature signal indicative of a temperature of the first torque transducer to the offset controller and to transmit the second temperature signal indicative of a temperature of the second torque transducer to the offset controller.
13. A method of calibrating a measurement circuit of a differential sensor, the method comprising: setting a gain constant for the measurement circuit; determining a bias voltage function of the measurement circuit to compensate for manufacturing tolerances and temperature drift of the differential sensor including: determining a first component of the bias voltage function of the measurement circuit which is independent of a temperature of the differential sensor; determining temperature dependent function for a second component of the bias voltage function of the measurement circuit; and generating the bias voltage function from the first and second components of the bias voltage function; and programming the bias voltage function into an offset controller of the measurement circuit, the offset controller configured to receive a temperature signal from a temperature sensor and to generate a bias voltage from the bias voltage function in response to receiving the temperature signal.
14. The method according to claim 13, wherein determining the first component of the bias voltage function includes: setting the differential sensor in a no load condition; determining a temperature of the differential sensor; calculating the second component based on the temperature of the differential sensor; adjusting the bias voltage of the offset controller of the measurement circuit to the calculated second component; reading an output voltage of the measurement circuit when the bias voltage is set to the calculated second component; and determining the first component as the difference between a predetermined midrange value and the output voltage of the measurement circuit.
15. The method according to claim 13, wherein determining the second component of the bias voltage function includes: setting the differential sensor in a no load condition; adjusting the bias voltage of the offset controller to the first component of the bias voltage function; recording an output voltage of the measurement circuit and a temperature of the differential sensor at which the output voltage was taken for a plurality of temperatures of the differential sensor in the no load condition; and determining the temperature based function for the second component based on the recorded output voltages.
16. The method according to claim 13, wherein setting the gain constant for the measurement circuit occurs after programming the bias voltage function.
17. The method according to claim 13, wherein setting the gain constant for the measurement circuit includes: applying a known positive torque to the differential sensor and recording a positive output voltage in response to applying the known positive torque; applying a known negative torque to the differential sensor and recording a negative output voltage in response to applying the known negative torque; and determining the gain constant of the measurement circuit from a ratio of the known positive and negative torques and the recorded positive and negative output voltages.
18. The method according to claim 17, wherein setting the gain constant for the measurement circuit includes: setting the differential sensor in a no load condition; and adjusting the bias voltage such that an adjusted voltage of the measurement circuit is a predetermined midrange value before applying the known positive and negative torques.
19. The method according to claim 13, further comprising detecting a no load condition of the differential sensor and updating the bias voltage function based on an output voltage of the measurement circuit and a temperature of the differential sensor when the no load condition is detected.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] Various aspects of the present disclosure are described hereinbelow with reference to the drawings, which are incorporated in and constitute a part of this specification, wherein:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
DETAILED DESCRIPTION
[0031] Embodiments of the presently disclosed surgical assembly including a surgical instrument holder, an instrument drive unit (IDU), an adapter assembly, and an endoscope, and methods thereof, are described in detail with reference to the drawings, in which like reference numerals designate identical or corresponding elements in each of the several views. As used herein, the term “clinician” refers to a doctor, a nurse, or any other care provider and may include support personnel. As used herein the term “distal” refers to that portion of the surgical instrument holder, IDU, adapter assembly, and/or endoscope, that is closer to the patient, while the term “proximal” refers to that portion of the surgical instrument holder, IDU, adapter assembly, and/or endoscope, that is farther from the patient.
[0032] The present disclosure generally relates to the simplification of determining a torque of a motor from a strain gauge by compensating for manufacturing tolerances and temperature drift of a strain gauge in a measurement circuit outside of a torque or force controller. This disclosure provides a measurement circuit and a method for calibrating the measurement circuit to compensate for manufacturing tolerances and temperature drift. While the disclosed measurement circuit and method are described with respect to a robotic surgical system, the measurement circuit and/or method may be used with a variety of differential sensors that provide readings to controllers and should not limited to robotic surgical systems, strain gauges, and torque readings.
[0033] Referring to
[0034] The user interface 40 includes a display device 44 which is configured to display three-dimensional images. The display device 44 displays three-dimensional images of the surgical site “S” which may include data captured by imaging devices 16 positioned on the end 14 of the member 13a and/or include data captured by imaging devices that are positioned about the surgical theater (e.g., an imaging device positioned within the surgical site “5”, an imaging device positioned adjacent the patient “P”, imaging device 56 positioned at a distal end of an imaging arm 52). The imaging devices (e.g., imaging devices 16, 56) may capture visual images, infra-red images, ultrasound images, X-ray images, thermal images, and/or any other known real-time images of the surgical site “S”. The imaging devices transmit captured imaging data to the processing unit 30 which creates three-dimensional images of the surgical site “S” in real-time from the imaging data and transmits the three-dimensional images to the display device 44 for display.
[0035] The user interface 40 also includes input handles 42 which allow a clinician to manipulate the robotic system 10 (e.g., move the linkages 12, the ends 14 of the linkages 12, and/or the tools 20). Each of the input handles 42 is in communication with the processing unit 30 to transmit control signals thereto and to receive feedback signals therefrom. Each of the input handles 42 may include input devices which allow the surgeon to manipulate (e.g., clamp, grasp, fire, open, close, rotate, thrust, slice, etc.) the tools 20 supported at the end 14 of the member 13a.
[0036] For a detailed discussion of the construction and operation of a robotic surgical system 1, reference may be made to U.S. Pat. No. 8,828,023, entitled “Medical Workstation”, the entire contents of which are incorporated herein by reference.
[0037] With reference to
[0038] With additional reference to
[0039] Referring also to
[0040] The body 520 is configured to twist or deflect in response to torque of the motor 420. The body 520 can include low strain regions 526 and high strain regions 528 interconnecting the mounting and motor flanges 510, 530. The torque transducer 424 includes a strain gauge 540 disposed on or in the high strain region 528. The strain gauge 540 can be disposed on an inner surface 529a or an outer surface 529b of the high strain region 528 or can be etched into the high strain region 528. The strain gauge 540 is positioned on a portion of the high strain region 528 subject to a maximum flexation or deflection as torque is applied to the torque transducer 424. The strain gauge 540 includes an active strain sensor 542 and a calibration strain sensor 544. The active strain sensor 542 is orientated to measure deflection or flex of the high strain region 528 in response to torque being applied to the torque transducer 424 about the transducer axis T-T as such the active strain sensor 542 measures radial strain of the high strain region 528. The calibration strain sensor 544 is aligned perpendicular to the active strain sensor 542 such that the calibration strain sensor 544 is subject to little or no radial deflection of the high strain region 528 about the transducer axis T-T. The calibration strain sensor 544 measures strain of the high strain region 528 in response to factors other than radial deflection (e.g., thermal expansion of the body 520).
[0041] The strain gauge 540 measures a load or a torque of the motor 420 by measuring deflection within the torque transducer 424. In response to the torque of the motor 420, the strain gauge 540 provides a differential voltage to a measurement circuit 550 (
[0042] Referring to
[0043] With additional reference to
[0044] The torque sensor 540 measures a load and provides a torque signal to the amplifier 554 in the form of a differential voltage proportional to the load applied to sensor 540. The amplifier 554 uses an offset voltage V.sub.OFFSET provided by the DAC 552 as an offset to the torque signal to correct for manufacturing tolerances and temperature drift after applying an analog gain to the offset torque signal as detailed below. The amplifier 554 then transmits an adjusted torque signal or ADC voltage V.sub.ADC to the ADC 556 which converts the ADC voltage V.sub.ADC from an analog signal to a digital torque signal for use by a motion controller, e.g., processing unit 30. The temperature sensor 546 may provide the digital temperature signal to a DAC, e.g., DAC 552, for strain gauge 540 of the IDU 400 such that a single temperature sensor 546 may be used for the IDU 400. Alternatively, each torque transducer, e.g., torque transducer 424 may have a separate temperature sensor, e.g., temperature sensor 546.
[0045] By compensating for temperature drift and manufacturing tolerances of the strain gauge 540 in the measurement circuit 550, compensation for the temperature of the IDU 400, the motor 420, and/or the torque transducer 424 can be removed from a motion controller. Removing temperature compensation from a motion controller may reduce processing time for the motion controller and/or reduce processer load of the motion controller which may result in improved performance of the motion controller. Specifically, this approach does not require any post-processing of the sensor data to correct for temperature/tolerance corrections each time that the sensor, e.g., torque transducer 424 is read. The correction is performed by adjusting the analog signal representing the sensor reading and that because changes due to temperature fluctuations occur at a relatively slow rate, the adjustment due to temperature may be done at a much slower update rate than the rate of reading the differential sensor. Thus, freeing up processor time as well as speeding up the sample delay per cycle.
[0046] With reference to
[0047] A mathematical model can be developed to convert torque load of the motor to an adjusted voltage V.sub.ADC that is received at the ADC 556 from the amplifier as follows:
V.sub.ADC=K.sub.AMP.Math.V.sub.+.Math.(V.sub.SENSOR(τ)+V.sub.OFFSET+V.sub.ERR(T))+V.sub.BIAS(T) (1)
where K.sub.amp is a gain applied by the amplifier 554, V.sub.+ is excitation voltage of the strain gauge 540, V.sub.SENSOR(τ) is the torque signal from the strain gauge 540, V.sub.OFFSET is an offset voltage of the strain gauge 540 which is dependent on the excitation voltage V.sub.+ and a fixed manufacturing tolerance, V.sub.ERR(T) is an error voltage of the strain gauge 540 dependent on temperature as shown in
[0048] If the offset error and the temperature drift of the strain gauge 540 are ignored, Equation (1) reduces to:
V.sub.ADC=K.sub.AMP.Math.V.sub.+.Math.(V.sub.SENSOR(τ))+V.sub.BIAS (2)
such that the adjusted voltage V.sub.ADC is fixed at a midrange input V.sub.MID, e.g., 2.5 V, with positive torques being above the midrange input and negative torques being below the midrange input.
[0049] When the strain gauge 540 is in a no-load state, the conversion function can be shown as:
V.sub.ADC=K.sub.AMP.Math.V.sub.+.Math.(V.sub.OFFSET+V.sub.ERR(T))+V.sub.BIAS(T) (3)
such that the bias voltage V.sub.BIAS regains temperature sensitivity to compensate for the error voltage V.sub.ERR.
[0050] As shown in
V.sub.ERR(T)=K.sub.TT+b.sub.T (4)
where the constants K.sub.T and b.sub.T can be determined empirically and be verified through testing.
[0051] Combining Equations (4) with Equation (3) and fixing the adjusted voltage V.sub.ADC to a midrange input of V.sub.MID, e.g., 2.5 V, provides:
V.sub.MID=K.sub.AMP.Math.V.sub.+.Math.(K.sub.TT+b.sub.T)+V.sub.BIAS(T) (5)
which can be rearranged to determine the bias voltage function V.sub.BIAS(T) without offset as:
V.sub.BIAS(T)=V.sub.MID−(K.sub.AMP.Math.V.sub.+.Math.K.sub.T)T−(K.sub.AMP.Math.V.sub.+.Math.b.sub.T) (6)
Understanding that K.sub.AMP and V.sub.+ are both constants, these two constants can be combined to yield:
V.sub.BIAS(T)=V.sub.MID−K.sub.TT−b.sub.T (7)
In addition, manufacturing tolerances of the strain gauge 540 also introduces a non-temperature sensitive offset to the torque signal that can be compensated for by adjusting the bias voltage V.sub.BIAS(T) as follows:
V.sub.MID=K.sub.AMP.Math.V.sub.+.Math.V.sub.OFFSET+V.sub.BIAS(T) (8)
Again understanding that K.sub.AMP and V.sub.+ are both constants which can be lumped into the offset voltage V.sub.OFFSET providing:
V.sub.OFFSET=V.sub.MID−V.sub.BIAS(T) (9)
By combining the temperature sensitive and non-temperature sensitive elements provides the bias voltage V.sub.BIAS(T) as:
V.sub.BIAS(T)=V.sub.MID−(V.sub.OFFSET+(K.sub.TT+b.sub.T)) (10)
[0052] As the bias voltage V.sub.BIAS(T) function is defined, Equation (2) can be used to remove offsets due to manufacturing tolerances and temperature drift such that the zero load voltage at the ADC 556 is the midrange input V.sub.MID, e.g., 2.5V, in the no load condition across a range of temperatures. By removing manufacturing tolerances and temperature drift from the voltage at the ADC 556, converting the voltage at the ADC 556 to a torque of the system τ.sub.SYSTEM(V) can be reduced to removing the midrange input V.sub.MID from the ADC voltage V.sub.ADC and multiplying by a gain constant K.sub.τ_SYSTEM shown as:
τ.sub.SYSTEM(V)=K.sub.τ_SYSTEM(V.sub.ADC−V.sub.MID) (11)
[0053] The gain constant K.sub.τ_SYSTEM can be determined by applying two fixed loads, e.g., torques, to the system. This can be achieved by putting the system in a no-load condition and adjusting the bias of the DAC 552 such that the ADC voltage V.sub.ADC is the midrange input value V.sub.MID, e.g., 2.5V. Then, known positive and negative torques can be applied to the strain gauge 540 and the ADC voltage V.sub.ADC is read under each load to calculate the gain constant K.sub.τ_SYSTEM by:
[0054] Referring to
[0055] With the gain constant of the system K.sub.τ_SYSTEM calculated, the strain gauge 540 is returned to the no load condition (Step 620) to calculate the voltage bias V.sub.BIAS to correct for the no load voltage value of the ADC voltage V.sub.ADC. When calculated, the voltage bias V.sub.BIAS includes a first component, e.g., the offset voltage V.sub.OFFSET, which corrects for manufacturing tolerances which are not temperature dependent and a second component which corrects for temperature drift of the strain gauge 540. By correcting the no load voltage value of the ADC voltage V.sub.ADC, gain measurements may be reduced to a multiplicative calculation.
[0056] First, the offset voltage V.sub.OFFSET of Equation (10) is determined (Step 630). To calculate the offset voltage V.sub.OFFSET, while under no load, the temperature of the strain gauge 540 is determined (Step 632). The local temperature of the strain gauge 540 is then used in Equation (7) to calculate a temperature sensitive voltage which can be used as a value of the bias voltage V.sub.BIAS (Step 634). It will be appreciated that the constants for Equation (7) are empirically provided as detailed above. The DAC 552 is then adjusted to the calculated bias voltage V.sub.BIAS (Step 636) and the ADC voltage V.sub.ADC is read and stored as the offset voltage V.sub.OFFSET (Step 638).
[0057] With the V.sub.OFFSET determined, the temperature compensation of the bias voltage V.sub.BIAS can be determined by periodically reading the local temperature of the strain gauge 540 and using the constants and the offset voltage V.sub.OFFSET in Equation (10) to calculate the bias voltage V.sub.BIAS for a given temperature (Step 640) with the strain gauge 540 in a no load condition. These values are then recorded or written into the non-volatile memory and used by the DAC 552 to offset or bias the amplifier 554 as a function of a temperature of the temperature sensor 546. As temperature effects on the system tend to track at a low rate, the offset of the amplifier 554 may be adjusted at a low rate, e.g., about 1 Hz. These values may be updated at anytime that the strain gauge 540 is in a no load configuration which may allow for removing error due to higher order error terms not detailed herein. A bias voltage V.sub.BIAS(T) function may be developed from the recorded values to extrapolate known temperature drift under no load to loaded conditions where there is not a recorded value for the sensed temperature. It will be appreciated that the determining of the bias voltage V.sub.BIAS(T) function may occur before, after, or during the calculation of the gain constant of the system K.sub.τ_SYSTEM.
[0058] Once the DAC 552 is set to offset the amplifier 554 with the bias voltage V.sub.BIAS(T) function and the gain constant of the system K.sub.τ_SYSTEM is calculated, the torque of the motor associated with the strain gauge 540 can be calculated as:
τ(V)=K.sub.τ.sub.
By compensating for temperature and manufacturing tolerances in the DAC 552, the calculation of torque is simplified to multiplying the measured ADC voltage V.sub.ADC minus the midrange value V.sub.MID by the gain constant of the system K.sub.τ_SYSTEM. This greatly simplifies the calculation of torque for a motion controller and thus, may increase the positional accuracy of the surgical robot 10 (
[0059] The systems and/or methods described herein may utilize one or more controllers to receive various information and transform the received information to generate an output. The controller may include any type of computing device, computational circuit, or any type of processor or processing circuit capable of executing a series of instructions that are stored in a memory. The controller may include multiple processors and/or multicore central processing units (CPUs) and may include any type of processor, such as a microprocessor, digital signal processor, microcontroller, programmable logic device (PLD), field programmable gate array (FPGA), or the like. The controller may also include a memory to store data and/or instructions that, when executed by the one or more processors, causes the one or more processors to perform one or more methods and/or algorithms. In example embodiments that employ a combination of multiple controllers and/or multiple memories, each function of the systems and/or methods described herein can be allocated to and executed by any combination of the controllers and memories.
[0060] Any of the herein described methods, programs, algorithms or codes may be converted to, or expressed in, a programming language or computer program. The terms “programming language” and “computer program,” as used herein, each include any language used to specify instructions to a computer, and include (but is not limited to) the following languages and their derivatives: Assembler, Basic, Batch files, BCPL, C, C+, C++, Delphi, Fortran, Java, JavaScript, machine code, operating system command languages, Pascal, Perl, PL1, scripting languages, Visual Basic, metalanguages which themselves specify programs, and all first, second, third, fourth, fifth, or further generation computer languages. Also included are database and other data schemas, and any other meta-languages. No distinction is made between languages which are interpreted, compiled, or use both compiled and interpreted approaches. No distinction is made between compiled and source versions of a program. Thus, reference to a program, where the programming language could exist in more than one state (such as source, compiled, object, or linked) is a reference to any and all such states. Reference to a program may encompass the actual instructions and/or the intent of those instructions.
[0061] Any of the herein described methods, programs, algorithms or codes may be contained on one or more non transitory computer readable or machine-readable media or memory. The term “memory” may include a mechanism that provides (in an example, stores and/or transmits) information in a form readable by a machine such a processor, computer, or a digital processing device. For example, a memory may include a read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, or any other volatile or non-volatile memory storage device. Code or instructions contained thereon can be represented by carrier wave signals, infrared signals, digital signals, and by other like signals.
[0062] While several embodiments of the disclosure have been shown in the drawings, it is not intended that the disclosure be limited thereto, as it is intended that the disclosure be as broad in scope as the art will allow and that the specification be read likewise. Any combination of the above embodiments is also envisioned and is within the scope of the appended claims. Therefore, the above description should not be construed as limiting, but merely as exemplifications of particular embodiments. Those skilled in the art will envision other modifications within the scope of the claims appended hereto.