System and method for inserting a surgical implant

The electric power tool with signal processing and automated control algorithms addresses human error in surgical screwdriver insertion, enhancing the accuracy and safety of implant placement by detecting driving events and adjusting motor operation.

WO2026161844A1PCT designated stage Publication Date: 2026-07-30STRYKER CORP
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
STRYKER CORP
Filing Date
2026-01-27
Publication Date
2026-07-30

AI Technical Summary

Technical Problem

Modular handheld powered surgical screwdrivers are prone to human error during surgical implant insertion, leading to risks of over-insertion or improper seating, and require different insertion processes for various types of screws, increasing the likelihood of mistakes.

Method used

An electric power tool with a controller that processes motor-parameter signals using frequency-selective techniques to detect driving events and control the motor based on dynamic thresholds, employing algorithms to automate the insertion process and ensure proper seating of surgical implants.

Benefits of technology

The tool reduces instances of improper implant insertion by automatically controlling the motor based on signal analysis, minimizing tissue damage and ensuring accurate placement of surgical screws.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2026012641_30072026_PF_FP_ABST
    Figure US2026012641_30072026_PF_FP_ABST
Patent Text Reader

Abstract

An electric power tool for inserting a surgical implant includes a housing, an electric motor, and a controller configured to receive a motor-parameter signal containing multiple frequency components during implant insertion. The controller processes portions of the signal using frequency-selective techniques, including low-pass and high-pass filtering, short-time Fourier transforms, and Hilbert transforms, to generate a signal feature corresponding to magnitude, power, or energy of selected frequency content over time. Based on first and second characteristics of the feature, the controller detects driving events and determines dynamic thresholds used to regulate operation of the motor, including issuing stop, limit, or activation commands. Additional embodiments include multi-order filters, phase and variability metrics, screw-type classification derived from threshold signals, and algorithms adapted for multiple insertion states such as inrush, breach, and drive.
Need to check novelty before this filing date? Find Prior Art

Description

Attorney Docket No. 060210.05208SYSTEM AND METHOD FOR INSERTING A SURGICAL IMPLANTCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority to and all the benefits of United States Provisional Patent Application No. 63 / 749,933, filed on January 27. 2025, and United States Provisional Application No. 63 / 750,402, filed on January 28, 2025, the entire contents of which are hereby incorporated by reference in their entirety.BACKGROUND

[0002] Modular handheld powered surgical screwdrivers are configured to insert a variety of surgical implants into patient tissue, and often rely on a manual insertion process by surgeons. Surgical implants may include surgical screws which secure the position of patient bone, insert into plates, and serve other functions for orthopedic procedures. There are a large variety of surgical screws that vary in size and function. Modular handheld powered surgical screwdrivers typically include a device housing including a battery and module controller and a handpiece component including an electric motor and motor controller. The battery and module controller typically powers the electric motor and may be removably attached to the handpiece component.

[0003] However, the use of powered surgical screwdrivers is subject to human error when inserting a surgical implant, and there is a risk of over-insertion or stripping the surgical implant. For example, a user may activate the motor after the surgical implant is properly seated and damage patient tissue and / or the surgical implant. In other circumstances, a user may prematurely stop the motor prior to proper seating of the surgical implant, which may risk damaging the patient tissue. In addition, different types of surgical screws require different insertion processes, and increase the risk of mistakes by a user. Therefore, there is a need in the art for a handheld powered surgical screwdriver that can automatically insert a variety of surgical implants, reducing instances of improper insertion of surgical implants.SUMMARY

[0004] In one aspect, an electric power tool having a housing, an electric motor, and a controller configured to receive a motor-parameter signal containing multiple frequencies duringAttorney Docket No. 060210.05208screw insertion is described. The controller processes the signal using frequency-selective techniques to generate a signal feature indicating magnitude, power, or energy of a selected portion of the signal over time. The controller detects a driving event based on the signal feature, determines a dynamic threshold from first and second characteristics of the feature, and controls the motor based on the detected driving event, the feature, and the threshold.

[0005] In another aspect, an electric power tool is described that receives a multi-frequency motor-parameter signal during insertion of a screw into bone and applies an adjustment algorithm to that signal to generate a signal feature. The controller determines a characteristic of the feature, establishes a threshold based on the characteristic, detects whether a driving event has occurred using the threshold and the motor signal, and controls the electric motor based on the detected driving event and the signal feature.

[0006] In another embodiment, a power tool is described in which the controller receives a motor-parameter signal during screw insertion and computes a phase characteristic of the signal. The controller detects whether a driving event has occurred based on the phase characteristic and controls the motor based on the detected event.

[0007] In yet another embodiment, an electric power tool is described whose controller receives a motor-parameter signal during screw insertion and computes a variability metric of the signal. The controller detects a driving event using both the variability metric and the raw motor-parameter signal, and controls the electric motor based on the detected driving event and the motor signal.

[0008] In a further embodiment, an electric power tool is described in which the controller receives a multi-frequency motor-parameter signal and analyzes it to determine a signal feature based on one or more time-varying frequency characteristics in a joint time-frequency domain. The controller detects a driving event from the signal feature, determines a dynamic threshold based on first and second characteristics of the feature, and controls the electric motor based on the detected driving event, the feature, and the threshold.

[0009] In still a further embodiment, a tool that receives a motor-parameter signal during screw insertion is described. The tool processes the signal using frequency-selective processing to generate a frequency-band feature signal representing magnitude, power, or energy of a selected frequency portion over time. The controller issues a stop command to the electric motor based on an amplitude of the frequency-band feature signal and a threshold.Attorney Docket No. 060210.05208

[0010] In another aspect, an electric power tool whose controller receives a multi-frequency motor-parameter signal during screw insertion is described. The controller computes a characteristic of the signal based on the frequencies, determines a screw-threshold signal from the characteristic, and identifies a type of screw based on the characteristic and screw-threshold signal.

[0011] Associated method configurations are contemplated that may involve receipt of the multi-frequency signal, frequency-selective processing to generate a feature, detection of a driving event based on the feature, determination of a dynamic threshold from first and second feature characteristics, and control of the motor based on the event, feature, and threshold, as well as alternative methods involving adjustment-algorithm feature generation, phase-characteristic computation, variability-metric computation, joint time-frequency analysis, and frequency-band-threshold stop control.

[0012] The disclosure broadly relates to an electric power tool and associated methods for operating the tool during insertion of a screw or other surgical implant, in which a controller receives a motor-parameter signal comprising multiple frequencies and performs signal analysis to support automated control of the electric motor. Depending on the embodiment, the controller may employ frequency-selective processing to determine a signal feature indicative of magnitude, power, or energy of a selected portion of the motor-parameter signal as a function of time, or may alternatively apply an adjustment algorithm to generate a feature from the signal; compute a phase characteristic or a variability metric of the signal; or analyze the signal within a joint time-frequency domain to derive one or more frequency characteristics over time. In various implementations, the controller detects a driving event based on the feature, characteristic, or metric used, and may determine one or more dynamic thresholds based on first and second characteristics of the extracted information. The controller may further control the electric motor by limiting or stopping rotation based on the detected driving event, an amplitude crossing a threshold, or other derived control criteria. Additional embodiments include determining a screw type from a characteristic of the motor-parameter signal and a corresponding screw-threshold signal. These different processing techniques, detection algorithms, and control strategies may be used individually or in combination, and each provides an alternative technical solution for automated regulation of the power tool suitable for implementation as a distinct embodiment of the invention.Attorney Docket No. 060210.05208BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Advantages of the invention will be readily appreciated as the same becomes understood by reference to the following detailed description when considered in combination with the accompanying drawings, wherein:

[0014] FIG. 1 is a perspective view of an electric power tool including a handpiece and a battery and control module, according to one implementation.

[0015] FIG. 2 is a perspective view of a surgical implant, according to one implementation.

[0016] FIG. 3 is a schematic of the handpiece and the battery and control module of FIG. 1, according to one implementation.

[0017] FIG. 4 depicts a flow diagram illustrating steps of controlling a power tool to complete the insertion process of the surgical implant of FIG. 2 with the electric power tool of FIG. 1, according to one implementation.

[0018] FIG. 5 illustrates states of an insertion process of the surgical implant of FIG. 2, according to one implementation.

[0019] FIG. 6 is a graphical representation showing an example of an IQ feedback signal generated by the battery and control module of FIG. 1, according to one implementation.

[0020] FIG. 7 is a spectrogram showing an example of a set of joint time-frequency data generated by the battery and control module of FIG. 1, according to one implementation.

[0021] FIG. 8 depicts a flow diagram illustrating steps of determining a BinO signal from the IQ feedback signal of FIG. 6, according to one implementation.

[0022] FIG. 9 depicts an example of the BinO signal of FIG. 8, according to one implementation.

[0023] FIG. 10 depicts a flow diagram illustrating steps of determining a P-MIF signal from the IQ feedback signal of FIG. 6, according to one implementation.

[0024] FIG. 11 depicts an example of the P-MIF signal of FIG. 10, according to one implementation.

[0025] FIG. 12 depicts an example of the BinO signal of FIG. 8 and the P-MIF signal of FIG. 10 displayed simultaneously, according to one implementation.

[0026] FIG. 13 depicts a flow diagram describing a state machine algorithm, according to one implementation.Attorney Docket No. 060210.05208

[0027] FIGS. 14-17 depict flow diagrams describing details of the state machine algorithm 140 of FIG. 13, according to one implementation.

[0028] FIG. 18 illustrates a method of using an electric power tool, according to one implementation.

[0029] FIG. 19 depicts a flow diagram illustrating steps of controlling a power tool to complete the insertion process of the surgical implant of FIG. 2 with the electric power tool of FIG. 1, according to one implementation.

[0030] FIG. 20 depicts a flow diagram illustrating steps of generating a BinO signal and a HImag signal based on a motor parameter signal, according to one implementation.

[0031] FIG. 21 depicts an example of the BinO signal of FIG. 20, according to one implementation.

[0032] FIG. 22 depicts an example of the BinO signal of FIG. 20 and the motor parameter signal of FIG. 20, according to one implementation.

[0033] FIG. 23 depicts an example of the HImag signal of FIG. 20 and the motor parameter signal of FIG. 20, according to one implementation.

[0034] FIG. 24 illustrates states of an insertion process of the surgical implant of FIG. 2, according to one implementation.

[0035] FIG. 25 illustrates an example of the HImag signal of FIG. 20, according to one implementation.

[0036] FIGS. 26 - 30 illustrate various examples of the BinO signal of FIG. 20, according to multiple implementations.DETAILED DESCRIPTION OF THE INVENTIONI. Overview of Electric Power Tool

[0037] FIG. 1 illustrates an implementation of an electric power tool 100 including a handpiece 102 and a battery and controller module 104. The handpiece 102 includes a driving portion 106 configured to secure a surgical implant and a motor 114 configured to apply torque to the surgical implant. The battery and controller module 104 includes a handle 108 configured to be grasped by a user to move the electric power tool 100, and a trigger 110 to activate the motor 114 in the handpiece 102. In some implementations, the handpiece 102 may be detachable from the battery and controller module 104, or it may be integrated with the battery andAttorney Docket No. 060210.05208controller module 104. In the shown implementation of FIG. 1, the electric power tool 100 is an electrically powered surgical screwdriver 100 capable of inserting a surgical implant such a screw.

[0038] FIG. 2 shows an example screw 112 which may be inserted into patient tissue or bone plate during neurosurgical, maxillofacial, and chest wall surgical procedures. Patient tissue may include bone or soft tissue, such as the maxilla, mandible, or other facial bones. Bone plates may be utilized in reconstruction surgeries and / or fracture stabilization procedures, and other procedures not disclosed herein, and the powered surgical screwdriver 100 may be configured to insert screws to secure the position of bone plates relative to patient anatomy. The motor 114 of the handpiece 102 may be configured to apply torque to the screw 112 while inserting into patient tissue and / or a bone plate.

[0039] Now referring to FIG. 3, the battery and controller module 104 may include a BMC controller 122 and a rechargeable battery 116. The handpiece may include an HPC controller 120 and is configured to be removably coupled with the battery and controller module 104. The handpiece 102 may be configured to communicate with the battery and controller module 104 by transmitting data, signals, or instructions to control the motor 114. The BMC controller 122 may receive a set of data from a sensor 118 coupled to the motor 114 and transform the data into a signal. The sensor 118 coupled to the motor 114 may be a current sensor, a torque sensor, a rpm sensor, or any other sensor configured to characterize behavior of the motor 114. The BMC controller 122 may transmit the signal at various sampling rates to the HPC controller 120, which may be configured to process the signal, compute frequency characteristics based upon the signal, and transmit control signals to the electric motor 114 (i.e., stop signals or activation signals).

[0040] It is to be appreciated that other configurations of the HPC controller 120 and the BMC controller 122 exist, and this disclosure is not limited to the exemplary configuration described herein. For example, there may be a singular controller in either the handpiece 102 or the battery and control module 104 that receives the measured current signal from the sensor 118, processes the measured current signal, and initiates the state machine algorithm 140. In other implementations, there may be more than two controllers either situated in the handpiece 102 and / or the battery and control module 104.

[0041] Algorithm OverviewAttorney Docket No. 060210.05208

[0042] FTG. 4 shows an overview of the signal processing completed by the HPC controller 120 during the insertion of a screw 112 using the electric power tool 100. At step 124, the HPC controller 120 receives a motor 114 parameter signal from the BMC controller 122. The motor 114 parameter signal may be a measured current signal which includes a plurality of frequencies. At step 126, the HPC controller 120 may transform the measured current signal with a first transformation algorithm to generate a first set of frequency characteristics, which may further be known as a BinO signal. At step 128, the HPC controller 120 may transform the measured current signal with a second transformation algorithm to generate a second set of frequency characteristics, which may further be known as a P-MIF signal. At step 130, the HPC controller 120 may activate a multi-algorithm state machine 140, which may be referred to as a state machine algorithm 140. The state machine algorithm 140 includes a plurality of states corresponding to the different states of an insertion of a surgical implant and relies upon both a BinO signal and a P-MIF signal at different states. The HPC controller 120 may be configured to control the motor 114 based on a BinO signal and / or a P-MIF signal. At step 132, the HPC controller 120 exits the state machine algorithm 140.

[0043] FIG. 5 shows the plurality of states of an insertion process 141. In this specific implementation, an inrush state 142 corresponds to the first insertion of a surgical implant into the patient tissue. A penetration state 144 corresponds to the insertion of a surgical implant through the tissue, and a drive state 146 continues from a peak torque event until the insertion is complete, upon which the state machine enters a complete state 148. Each of the plurality of states 142 - 148 may contain various stop conditions and state transition conditions which will be further described in this description, and the HPC controller 120 may be configured to monitor for these stop conditions and state transition conditions using the state machine algorithm 140. Each of the states also correspond to certain events in a BinO signal and / or a P-MIF signal. If the state transition criteria of any state are not met. the state machine remains in that state and continues to the monitor a BinO and / or a P-MIF signal until they achieve that criterion.

[0044] In the shown implementation, the sensor 118 coupled to the motor 114 may be a current sensor 118 configured to communicate with the BMC controller 122 and transmit information such as various parameters of the motor 114. As described above, the measured current signal transmitted to the BMC controller 122 may include a plurality of frequencies.Attorney Docket No. 060210.05208Further, the measured current signal may include a mechanical current component and a nonmechanical current component. The mechanical current component is the portion of the measured current signal which contributes to the generation of torque by the motor 114. The non-mechanical current component is the remainder of the current signal that is not mechanical current. The BMC controller 122 may be configured to determine the mechanical current component based on the measured current signal, and transmit the mechanical current signal to the HPC controller 120.

[0045] In some implementations, the BMC is configured to determine a “mechanical current” component of the motor current that is indicative of torque production by the electric motor, and to provide a corresponding motor parameter signal to the HPC controller. For example, where the electric motor is controlled using field- oriented control, the BMC may determine the torque-producing current component (e.g., a q-axis current component) and provide the q-axis current component as, or as a basis for, the motor parameter signal. In some implementations, the BMC filters the motor current signal to reduce non-mechanical components (e.g., commutation ripple, PWM switching ripple, and / or other electrical noise) prior to determining and transmitting the mechanical current.

[0046] Shown in FIG. 6, the mechanical current component may be further defined as IQ feedback data 150, which is transmitted from the BMC controller 122 to the HPC controller 120 at a sampling rate of 10kHz in this implementation. Referring to FIG. 6, the IQ feedback data 150 is shown as an amplitude over time. An X-axis 152 of the graph is time, shown here as seconds, and a Y-axis 154 of the graph is amplitude, which corresponds to the amount of mechanical current used by the motor 114 to apply torque to a screw. The peak of the graph corresponds to an inrush of energy required by the motor 114 to start motion, which may typically be greater than the energy required to continue motion.

[0047] The HPC controller 120 may be configured to receive the IQ feedback data 150 and decimate the signal to 2kHz. The HPC controller 120 may apply a low-pass filter to the IQ feedback data 150. which in some instances may be a low-pass filter with a cutoff frequency of 1 kHz. In other implementations not disclosed herein, the IQ feedback data 150 may be processed differently with other techniques known in the art, the cutoff frequency of the low-pass filter may be adjusted, or this step may be skipped entirely. After applying the low-pass filter, the HPCAttorney Docket No. 060210.05208controller 120 may be configured to downsample the signal by taking every fifth sample, thereby decimating the signal from 10 kHz to 2kHz.

[0048] In the illustrated implementation, the HPC controller 120 is configured to analyze the IQ feedback data 150 to transform the plurality of frequences of the current signal into a time-frequency domain. The HPC controller 120 may be configured to apply a transformation algorithm to the IQ feedback data 150 to transform the data to joint time-frequency data. In the exemplary implementation, the transformation algorithm may be a Short-Time Fourier Transform (STFT). The output of the STFT is joint time frequency data, which may be further analyzed to obtain the first and second sets of characteristics. FIG. 7 shows an example of joint time-frequency data 156 on a spectrogram with the frequency divided in bins on a Y axis 158, the amplitude on a Z axis 160, and time on an X axis 162 (which may be defined as a number of samples and / or processor counts). The variations on the spectrogram indicate fluctuations in the amplitude of various frequencies over time and demonstrate the amount of the energy in the spectrum relative to the frequencies. In the shown implementation, the frequencies are divided by into 64 bins of 31.25 Hz each, although this disclosure is not limited to those intervals and other divisions of the frequency range may be contemplated.

[0049] BinO and P-MIF Determination

[0050] An overview of the BinO signal generation algorithm is shown in FIG. 8. The HPC controller 120 receives the IQ feedback data 150 as described above at step 172. At step 174, the HPC controller 120 completes an STFT on the IQ feedback data 150. At step 176, the HPC controller 120 may be configured to isolate first bin of 31.25 Hz , shown in FIG. 7 as a bin 180. At step 178, the HPC controller 120 has generated a BinO signal. The first set of frequency characteristics are based upon the bin 180, which make up the BinO signal as described above and represent the amplitude of the bin 180. corresponding to each of the frequencies contained within that interval. For example, the amplitude of the BinO signal over time may be determined based on the maximum of the amplitudes of the frequencies in the bin 180, an average of the energy in bin 180, or otherwise determined by attenuating some of the frequencies and computing an average and / or maximum of the remaining frequencies. The HPC controller 120 may be configured to monitor the BinO signal and subsequently control the motor 114 based upon the behavior exhibited by the BinO signal.Attorney Docket No. 060210.05208

[0051] An example of a BinO signal 182 is illustrated as a graph in FIG. 9. The BinO signal 182 is one example of a signal over the course of the insertion process of one surgical implant such as the screw 112. Each insertion may present a varying BinO signal which exhibits similar behavior and waveform, but variance in the specific amplitudes and time spent in each state. In FIG. 9, the graph displays the amplitude of the BinO signal 182 on the Y-axis 184 and time on the X-axis 186 (which may be delineated as sample counts). The dotted lines indicate the states 142 - 148 of the insertion process and delineate the BinO signal 182 into sections corresponding to the inrush state 142, the penetration state 144, the drive state 146 and the complete state 148. As described above, the various states correspond to events in the insertion process and the BinO signal 182. The HPC controller 120 may be configured to monitor any one of the following characteristics of the BinO signal 182 in any of the states: a maximum 188, a minimum 190, a peak torque event 192, and a derivative 194. The HPC controller 120 may be configured to track the amplitude of subsequent time samples received by the HPC controller 120. For each time sample, the amplitude of the BinO signal is determined based on the bin 180, and the HPC controller 120 updates the current set of characteristics. For example, if the amplitude of the BinO signal exceeds the previously recorded maximum, the HPC controller 120 will update the recorded maximum 188. The HPC controller 120 may record these characteristics across each state, across the entire insertion process, multiple insertion processes across the same procedure, or multiple insertion processes across multiple procedures, or some combination of the above.

[0052] Still referring to FIG. 9, to determine the derivative 194 of the BinO signal, the HPC controller 120 may be configured to determine a plurality of values in the drive state 146 (i.e. five consecutive amplitude values corresponding to five consecutive time samples) and continuously update the five samples over time. In other implementations, the HPC controller 120 may be configured to use more or less than five values, and they may not be consecutive). For example, the HPC controller 120 may use a grouping of five amplitudes corresponding to the first five time samples of the drive state. When the HPC controller 120 receives the BinO signal 182 for the sixth time sample, it will remove the first-time sample and corresponding amplitude and update the grouping with the sixth time sample and corresponding amplitude. The HPC controller 120 may be configured to determine the derivative 194 based on the grouping, and continuously update the derivative 194 over time as samples are added and removed. Similarly to the other characteristics, the HPC controller 120 may track a maximum derivative and aAttorney Docket No. 060210.05208minimum derivative of the BinO signal 182 across each state, across the entire insertion process, across multiple insertion processes across the same procedure, or multiple insertion processes across multiple procedures, or some combination of the above.

[0053] Still referring to FIG. 9, the HPC controller 120 may be configured to detect the occurrence of a peak torque event 192 corresponding to the maximum torque applied to the screw by the electric motor 114. The BinO signal 182 may exhibit behavior which corresponds to the peak torque event 192, which are reflected in the characteristics described above. In the BinO signal 182, the peak of the amplitude in the drive state 146 coincides with the peak torque event 192. As described above, the HPC controller 120 may be is configured to track a maximum amplitude of the BinO signal 182 in the drive state 146. Once the state machine algorithm 140 is in the drive state 146, the HPC controller 120 compares each subsequent amplitude to an existing maximum value. If any given amplitude exceeds the existing maximum value, the HPC controller 120 would update the recorded maximum value. At the point of the peak torque event 192, subsequent amplitude values will be consistently lower than the existing maximum value. The HPC controller 120 may be configured to set a threshold (e.g., five time samples) where if the amplitude of each sample does not exceed the maximum, it will record the recorded maximum as the peak torque event 192. This threshold may vary depending on the type and size of the screw or may be adjusted by the HPC controller 120 depending on the rest of the insertion process.

[0054] An overview of a P-MIF signal generation algorithm 200 is shown in FIG. 10. Similarly to the determination of a BinO signal, the HPC controller 120 receives the IQ feedback data 150 at step 202 and completes an STFT at step 204 to transform the IQ feedback data 150 to joint time-frequency data. The HPC controller 120 may divide the time data into one or more bins of identical or varying sizes (e.g., 20 time samples), then to calculate an individual sum at step 206. which represents the total amplitude of a single frequency bin within a selected time bin. At step 208, an overall sum of the amplitude of each frequency bin within the selected time bin is calculated. At step 210, the HPC controller 120 may be configured to derive a percentage that each frequency bin contributes to the signal. Specifically, each individual sum determined in step 206 (for each frequency bin) may be divided by the overall sum determined in step 208, resulting in the percentage that represents the contribution of that frequency bin to the overall signal. At step 212, the HPC controller 120 may be configured to use each calculated percentageAttorney Docket No. 060210.05208to determine a total mean frequency for the selected time bin, and repeat step 212 for every single time bin of the joint- time frequency data. At step 214, a P-MIF signal is generated, which includes an approximation of the energy in the joint time-frequency domain which indicates which frequencies the energy in the domain resides at certain times. The HPC controller 120 may be configured to apply transformation algorithms to the joint- time frequency data to perform steps 202-214. For example, the HPC controller 120 may use one or more of the following signal processing techniques: the Hilbert Transform process, the three-point central difference method, and the Oscillating Circle method. Further, the HPC controller 120 may be configured to determine the instantaneous frequency of the signal. It is to be appreciated that these signal processing techniques are well known in the art, and the steps described above to determine a P-MIF signal may be implemented with a variety of techniques not specifically disclosed herein.

[0055] An example P-MIF signal 220 is shown in FIG. 11, which is a graph displaying the signal over time with an x-axis 222 measured in time samples and an y-axis 224 measured in hertz. The graph indicates the frequency bins which contain the energy of the IQ current signal derived from the electric motor 114. For example, the higher portions of the P-MIF signal indicate that the higher frequency bins contain higher amplitudes and contribute more to the IQ current signal, and the lower portions of the P-MIF signal indicate that the energy of the signal is contained within the lower frequency bins. Each insertion may present a varying P-MIF signal which exhibits similar behavior and waveform, but variance in the specific frequencies and the time spent in each state. In FIG. 11, the dotted lines indicate the states 142 - 148 of the insertion process and delineate the P-MIF signal 220 into sections corresponding to the inrush state 142, the penetration state 144, the drive state 146, and the complete state 148. As described above, the various states correspond to events in the insertion process and the states in the state machine. The HPC controller 120 may be configured to monitor any one of the following characteristics of the P-MIF signal 220: a maximum 226, a minimum 228. a peak torque event 232, an integral, and a derivative 230. The HPC controller 120 may be configured to track the mean frequency of subsequent time samples received by the HPC controller 120. For each time sample, the frequency of the P-MIF signal 220 is determined, and the HPC controller 120 updates the current set of characteristics. For example, if the frequency of the P-MIF signal 220 exceeds the previously recorded maximum, the HPC controller 120 will update the recorded maximum. The HPC controller 120 may record these characteristics for the P-MIF signal 220 across each state,Attorney Docket No. 060210.05208across the entire insertion process, multiple insertion processes across the same procedure, or multiple insertion processes across multiple procedures, or some combination of the above.

[0056] Still referring to FIG. 11, to determine the derivative 230 of the P-MIF signal 220, the HPC controller 120 may be configured to determine a plurality of values in the drive state 146 (e.g.. five consecutive frequency values corresponding to five consecutive time samples), and continuously update the five samples over time. In other implementations, the HPC controller 120 may be configured to use more or less than five values, and they may not be consecutive). For example, the HPC controller 120 may use a grouping of five frequencies corresponding to the first five time samples of the drive state 146. When the HPC controller 120 receives the P-MIF signal 220 for the sixth time sample, it will remove the first-time sample and corresponding frequency and update the grouping with the sixth time sample and corresponding frequency. The HPC controller 120 may be configured to determine the derivative 230 based on the grouping, and continuously update the derivative 230 over time as samples are added and removed. Similarly to the other characteristics, the HPC controller 120 may track a maximum derivative and a minimum derivative of the P-MIF signal 220 across each state, or across the entire insertion process, multiple insertion processes across the same procedure, or multiple insertion processes across multiple procedures, or some combination of the above.

[0057] Still referring to FIG. 11, the HPC controller 120 may be configured to detect the occurrence of a peak torque event 232 corresponding to the maximum torque applied to a screw by the electric motor 114. The P-MIF signal 220 may exhibit behavior which corresponds to the peak torque event 232, which are reflected in the characteristics described above. In the P-MIF signal 220, the peak of a derivative in the drive state 146 may correlate with the occurrence of the peak torque event 232. As described above, the HPC controller 120 is configured to track the maximum derivative of the P-MIF signal 220 in the drive state 146. Once the state machine algorithm 140 is in the drive state 146, the HPC controller 120 continually calculates the maximum derivative and if any given derivative exceeds the existing maximum derivative value, the HPC controller 120 would update the maximum value. After the point of the peak torque event 232, subsequent derivative values will be consistently lower than the existing maximum value. The HPC controller 120 may be configured to set a threshold (e.g. five time samples) where if the derivative of each group of samples does not exceed the maximum, it will record the recorded maximum as the peak torque event 232. This threshold may vary depending on the typeAttorney Docket No. 060210.05208and size of a screw or may be adjusted by the HPC controller 120 depending on the rest of the insertion process.

[0058] The HPC controller 120 may be configured to monitor both a BinO and a P-MIF signal concurrently. Although both signals exhibit behavior correlating to driving events of the insertion process and the HPC controller 120 may rely on one signal to control the motor 114, there are instances where both signals are used to create a more robust algorithm. FIG. 12 is a graph showing an example of a BinO signal 234 alongside an example of a P-MIF signal 236 and the states 142-148 of an insertion process. As shown in FIG. 12, the behavior of the BinO signal 234 and the P-MIF signal 236 may correlate to each other and the driving events of the insertion process. As mentioned above, there may be variance in both the BinO signal and the P-MIF signal depending on one or more of the following: the type of surgical implant (e.g., a locking versus a non-locking screw), characteristics of the screw (length, diameter, pitch), bone conditions, patient anatomy variance, and user behavior. Any of the above factors or other factors not mentioned in this disclosure may impact the BinO and P-MIF signals and cause variance from one insertion process to another.

[0059] IV. State machine

[0060] The HPC controller 120 may be configured to send a control signal to the motor 114 based on a BinO signal, a P-MIF signal, and the state machine algorithm 140. As described above and shown in FIG 13. the shown implementation of the state machine algorithm 140 includes a plurality of states of a driving feature including an inrush state, a penetration state, a drive state, and a complete state. The states of the state machine algorithm 140 correspond to the inrush state 142, the penetration state 144, the drive state 146, and the complete state 148 of the insertion process. In addition to those listed, there may also be a recovery state during each transition period between the successive states and an initialization state prior to the inrush state. For example, in the initialization state, the HPC controller 120 may determine an inrush target parameter, compare the P-MIF and / or BinO signal to the inrush target parameter, and initialize the inrush state.

[0061] FIG. 13 illustrates a How diagram of the state machine algorithm 140, including state transition criteria used by the HPC controller 120 to determine the current state of the state machine algorithm 140 and associated stop conditions depending on the state. Starting at step 240 in the inrush state, the HPC controller 120 may either detect the onset of the penetration stateAttorney Docket No. 060210.05208at step 242 or detect one or more occurrences of inrush stop conditions at step 244. If the HPC controller 120 successfully detects the occurrence of an inrush state stop condition, the HPC controller 120 would transmit a control signal to the motor 114 at step 246. Otherwise, the HPC controller 120 would determine the onset of the penetration state and advance the state machine algorithm 140 to the penetration state at step 248. Similarly to the inrush state, the HPC controller 120 may either determine the onset of the drive state at step 250 or determine the occurrence of a penetration state stop condition at step 252. If the HPC controller 120 successfully detects the occurrence of a penetration state stop condition, the HPC controller 120 would transmit a control signal to the motor 114 at step 254. Otherwise, the HPC controller 120 would determine the onset of the drive state and advance the state machine algorithm 140 to the drive state at step 254. In the drive state, the HPC controller 120 would determine the occurrence of a drive state stop condition at step 258 and transmit a control signal to the motor 114 at step 260 when a drive state stop condition is detected. The control signal may set the speed of the motor 114 to zero, set the speed to any other speed greater than zero, or otherwise control the operation of the motor 114. In the described implementation, the control signal is a stop signal, which sets the motor speed to zero. Further, prior to step 240 and the inrush state, the state machine algorithm 140 may be in the initialization state, which corresponds to the trigger pull and beginning of the insertion process, which then advances to the inrush state when certain criteria are met. After detecting the occurrence of a drive state stop condition, the state machine algorithm 140 may advance to the complete state, which corresponds to the end of the insertion process.

[0062] FIG. 14 illustrates a flow diagram describing the state transition aspects of the state machine algorithm 140. Starting in the inrush state at 240, the state machine algorithm 140 advances to 262 and determines a penetration target parameter based on a P-MIF signal. The penetration target parameter is a threshold frequency of the P-MIF signal, which may be a derivative of the P-MIF signal or a magnitude of the P-MIF signal. At 264, the HPC controller 120 compares the P-MIF signal to the penetration target parameter described in step 262. As previously described, the HPC controller 120 is constantly monitoring one or more of a maximum, minimum, and derivative of the P-MIF signal, and updating those characteristics over time. If a derivative or a magnitude of the P-MIF signal exceeds the penetration target parameter, the state machine algorithm 140 advances to step 248. If not, the state machine algorithm 140Attorney Docket No. 060210.05208remains at step 264 and continues to monitor the P-MIF signal and compare it to the penetration target parameter until the criteria is met. At step 248, the state machine is in the penetration state and advances to step 266. At step 266, a drive target parameter is determined based on the P-MIF signal. In one example, the drive target parameter is a magnitude based on a maximum of the P-MIF signal recorded by the HPC controller 120 in the penetration state. The drive target parameter may be calculated based on a threshold percentage of a penetration state maximum (e.g. 80% of the penetration state maximum). At step 268, the state machine algorithm 140 compares the P-MIF signal to the drive target parameter. If the P-MIF signal falls below the drive target parameter, the state machine algorithm 140 advances to step 256. If not, the state machine algorithm 140 remains at step 268 and continues to monitor the P-MIF signal and compare it to the drive target parameter. In other implementations, the drive target parameter may be based on a derivative threshold and / or a magnitude threshold. At step 256, the state machine algorithm 140 is in the drive state, and evaluates various stop condition criteria (described below) to complete the insertion process.

[0063] FIG. 15 illustrates a flow diagram describing the inrush state portion of the state machine algorithm 140, which is step 240 in FIG.13. At 240, the state machine algorithm 140 initializes the inrush state. At step 270, the HPC controller 120 determines a maximum of the BinO signal as described above in section II. At 272, the HPC controller 120 determines a duration when the BinO signal is at its maximum (e.g. five time samples). At 274, the state machine algorithm 140 compares the duration of step 272 to a threshold duration. If the duration of step 272 exceeds the threshold duration (i.e. the BinO signal remained at the maximum for too long), the state machine algorithm 140 advances to step 276 and the HPC controller 120 sends a stop signal to the motor 114. If not, the HPC controller 120 determines the duration in step 272 again and the state machine algorithm 140 continues the comparison. FIG. 15 illustrates a portion of the state machine algorithm 140 and occurs concurrently with the determination of the state transition criteria. Referring back to FIG. 13, if the state machine algorithm 140 determines the onset of the penetration state(using the criteria described in FIG. 14), the state machine algorithm 140 will advance to the penetration state without advancing to step 276 and stopping the motor 114.

[0064] FIG. 16 illustrates a flow diagram describing the penetration state portion of the state machine algorithm 140, which is step 248 in FIG. 13. At step 248, the state machine algorithmAttorney Docket No. 060210.05208140 initializes the penetration state. At step 278, the HPC controller 120 determines a duration of the penetration state (e.g. number of time samples). At step 280, the state machine algorithm 140 compares the duration of step 278 to a threshold duration. If the duration of the penetration state exceeds the threshold duration (i.e. the state machine algorithm 140 has been in the penetration state for too long), the state machine algorithm 140 will advance to step 282 and the HPC controller 120 will send a stop signal to the motor 114. If not, then the HPC controller 120 recalculates the duration of the penetration state, and the state machine algorithm 140 continues the comparison. As described above, FIG. 16 describes a portion of the state machine algorithm 140 that occurs concurrently with the determination of state transition criteria. If the state machine algorithm 140 determines the onset of the drive state at step 248 in FIG. 13, the state machine algorithm 140 will advance to the drive state without advancing to step 282 and stopping the motor 114.

[0065] FIG. 17 illustrates a flow diagram describing the drive state portion of the state machine algorithm 140. which is step 256 in FIG. 13. At step 284, the state machine algorithm 140 initializes the drive state. Each of the steps in FIG. 17 represent stop conditions of the motor 114, and the HPC controller 120 concurrently monitors each stop condition. At step 284, the HPC controller 120 determines a plurality of values of the BinO signal in order to determine a derivative based on those values at 286. At 288, the state machine algorithm 140 compares the derivative from step 286 to a threshold derivative. The state machine algorithm 140 advances to 290 if the threshold derivative is exceeded, where the HPC controller 120 sends a stop signal to the motor 114. If the derivative from step 286 does not exceed the threshold derivative, the state machine algorithm 140 returns to step 284 to determine another plurality of values. At step 292, the HPC controller 120 determines a group of values of the BinO signal. At 294, the HPC controller 120 determines a duration when the plurality of values exhibit a positive derivative. When the plurality of values exhibits a non-positive derivative, the HPC controller 120 will reset the duration. At 296, the state machine algorithm 140 compares the duration determined in step 294 to a threshold duration. If the duration determined in step 294 exceeds the threshold duration (BinO exhibits a positive derivative longer than the threshold), the state machine algorithm 140 advances to step 298 and the HPC controller 120 sends a stop signal to the motor 114. If not, the state machine algorithm 140 returns to step 292 and the HPC controller 120 determines another plurality of values of the BinO signal.Attorney Docket No. 060210.05208

[0066] Still referring to FIG. 17, at step 300, the HPC controller 120 determines a maximum of the BinO signal during the drive state, as described above in section II. At step 302, the HPC controller 120 determines a minimum of the BinO signal during the penetration state, also described above in section II. At step 304, the HPC controller 120 determines a threshold based on the maximum determined in step 300 and minimum determined in step 302 based on a percentage of the difference between those two values. In the shown implementation, the percentage may be 95%, so the HPC controller 120 multiplies the difference between the maximum and the minimum by 0.95, then subtracts that product from a recorded maximum of the BinO signal in the drive state to determine the threshold of step 304. Other implementations may exist, and different percentages may be used to determine the threshold of step 304. At step 306, the state machine algorithm 140 compares the BinO signal to the threshold of step 304. If the BinO signal falls below the threshold, the state machine algorithm 140 advances to 308 and the HPC controller 120 sends a stop signal to the motor 114. If not, the state machine algorithm 140 continues to monitor the BinO signal and compare it to the threshold. At step 310. the HPC controller 120 determines a maximum of the P-MIF signal during the penetration state. At step 312, the HPC controller 120 determines a minimum of the P-MIF signal during the drive state. At step 314, the HPC controller 120 determines a threshold based on the maximum in step 310 and the minimum in step 312. The threshold is based on a percentage of the difference between those values. For example, the percentage may be 95%, so the HPC controller 120 multiplies the difference between the maximum and the minimum by 0.95 to determine the threshold of step 314. Other implementations may exist, and different percentages may be used to determine the threshold of step 314. At step 316, the state machine algorithm 140 compares the P-MIF signal to the threshold of step 314. If the P-MIF signal exceeds the threshold of step 314, the state machine algorithm 140 advances to step 318 and the HPC controller 120 sends a stop signal to the motor 114. If not, the state machine algorithm 140 continues to monitor the P-MIF signal and compare it to the threshold.

[0067] The two stop conditions described above (steps 300-108 and steps 310-318) may be referred to as individual stop conditions based on thresholds. Steps 320-328 may be referred to as a joint stop, where the state machine algorithm 140 uses both the BinO signal and the P-MIF signal to determine whether to stop the motor 114 or not. At step 320, the HPC controller 120 determines a first threshold different from the threshold of step 304. In the shownAttorney Docket No. 060210.05208implementation, the HPC controller 120 may multiply the difference between the maximum of the BinO signal in the drive state and the minimum of the BinO signal in the penetration state by a threshold percentage (e.g. 40% or any other percentage), then subtract the product from a recorded maximum of the BinO signal in the drive state to determine the first threshold. At step 322, the HPC controller 120 determines a second threshold different from the threshold of step 314. Similarly to step 320, the HPC controller 120 may multiply the difference between the maximum of the P-MIF signal in the penetration state and the minimum of the BinO signal in the drive state by a threshold percentage (e.g. 40% or any other percentage) to determine the second threshold. Both the first threshold and the second threshold are lesser than their counterparts determined in steps 304 and 314. At step 324, the state machine algorithm 140 compares the BinO signal to the first threshold. If the BinO signal falls below the first threshold, the state machine algorithm 140 advances to step 326. If not, the state machine algorithm 140 continues to monitor the BinO signal and compare it to the first threshold. At step 326, the state machine algorithm 140 compares the P-MIF signal to the second threshold. If the P-MIF signal exceeds the second threshold, the state machine algorithm 140 advances to step 328 and the HPC controller 120 sends a stop signal to the motor 114. If not. the state machine algorithm 140 continues to monitor the P-MIF signal and compare it to the second threshold. For the state machine algorithm 140 to advance to step 328, both the BinO signal and the P-MIF signal must fall below I exceed the first and second thresholds, respectively. The joint stop condition allows the state machine algorithm 140 to accurately send control signals to the motor 114 for many different surgical implants and parameters, increasing the robustness of the state machine algorithm.

[0068] Still referring to FIG. 17, at step 330, the HPC controller 120 determines a threshold based on the magnitude of a P-MIF signal at the state transition between the penetration state and the drive state. In the described implementation, the threshold may be determined by tripling the state transition magnitude, although this disclosure is not limited to what is specifically disclosed. At step 332, the HPC controller compares the P-MIF signal to the threshold. If the P-MIF signal falls below the threshold, the state machine algorithm 140 advances to step 334 and the HPC controller 120 sends a stop signal to the motor 114. If not, the state machine algorithm 140 continues to monitor the P-MIF signal and continues to compare the P-MIF signal to the threshold. At step 336, the HPC controller 120 determines a plurality of values of a BinO signal.Attorney Docket No. 060210.05208At step 338, the HPC controller determines a duration when the plurality of values exhibit a negative derivative. At step 340, the state machine algorithm 140 compares the duration determined in step 338 to a threshold duration. If the duration of step 338 exceeds the threshold duration, the state machine algorithm 140 advances to step 342 and the HPC controller 120 sends a stop signal to the motor 114. If not, the state machine algorithm 140 returns to step 336 and determines another plurality of values of the BinO signal and repeats the analysis.

[0069] In addition to the stop conditions described above and shown in FIG. 17, the HPC controller 120 may be configured to send a stop signal to the motor 114 based on a first threshold duration of the drive state. The first threshold duration may be a variable timeout based on the magnitudes of the BinO and / or P-MIF signals, which changes to correspond to each insertion process. For example, the first threshold duration may be longer for the insertion of larger screws when compared to smaller screws. Further, the HPC controller 120 may be configured to send a stop signal to the motor 114 based on a second threshold duration of the drive state. The second threshold duration may be a static timeout based on the time taken for the insertion process of the largest screw compatible with the electric power tool 100. In other implementations, the HPC controller 120 may be configured to determine a variable timeout threshold based on the P-MIF and / or BinO signal. The HPC controller 120 may send a stop signal to the motor 114 based on the variable timeout threshold.

[0070] Any of the above parameters and / or thresholds may be consistent across screw insertion processes (same values or percentages for each surgical implant or each use of the electric power tool) or vary depending on the type of the surgical implant or the insertion process. For example, some thresholds may be values based on historical data, some may be percentages of values unique to each insertion process, and others may be based on average values of one particular insertion process. Further, any of the above parameters and / or thresholds may have different values than those stated above, and this disclosure is not limited to the parameters and / or thresholds specifically disclosed herein.

[0071] Some stop conditions are indicative of successful screw insertion and fully seating the screw in the anatomy of a patient and / or a plate. Other stop conditions may prevent anatomical damage and reduce the risk of injury as well as alleviate surgeon error. For example, in some instances of screw insertion, the user may pull the trigger of the electric power tool after the state machine has reached the complete state or passed the occurrence of peak torque. ThisAttorney Docket No. 060210.05208may be referred to as “tucking”, and in these cases, the surgical implant may be stripped, locked, already inserted, and it is imperative that the electric powered screwdriver is stopped before any anatomical damage. Therefore, reducing instances of tucking by quickly controlling the motor 114 is highly effective and imperative to reducing risk.

[0072] A method 500 of using an electric power tool is illustrated in FIG. 18. At step 502, the HPC controller 120 receives a motor 114 parameter signal having a plurality of frequencies in the form of the IQ feedback signal, as described above in section I. At step 504, the HPC controller 120 will analyze the motor 114 parameter signal to determine one or more frequency characteristics (including the BinO signal and the P-MIF signal), as described above in section II and shown in FIG. 4. At step 506, the HPC controller 120 detects a driving feature based on the one or more frequency characteristics, as described above in section III and shown in FIG. 13. At step 508, the HPC controller 120 controls the motor 114 based on the detected driving features, as described above in section III and shown in Figures 15-17.

[0073] While various stop conditions are described above, it should be appreciated that these could alternatively be characterized as motor control conditions, and that the system can be configured to set a motor speed to something other than zero or control the motor in any other suitable way in response to the determination of any of the above ‘stop conditions’. In any instance wherein “stop” is mentioned in the above description, the state machine algorithm 140 may set the speed of the motor 114 to any speed greater than zero in addition to zero.

[0074] It should be appreciated that the state machine algorithm 140, a BinO signal, and a P-MIF signal may be used separately from one another, so the state machine algorithm 140 may utilize only a BinO signal or only a P-MIF signal. Alternatively, only the BinO signal and / or the P-MIF may be used to control the motor 114. Further, while the P-MIF and BinO signals are described using an IQ current signal derived from a current sensor, the state machine algorithm 140 may use other sensed signals other than current, as described above.

[0075] V. Algorithm Overview - Alternate Configuration of Signal Generation

[0076] The insertion algorithm used by the HPC controller to complete the insertion process of a screw may include at least two distinct states. Referring to FIG. 19, the algorithm first progresses through a signal generation stage in which one or more signal features are generated from a measured motor parameter signal from the electric motor. As shown in FIG. 19. the insertion algorithm is configured to run BinO signal generation 510 and HImag signal generationAttorney Docket No. 060210.05208512 based on IQ feedback 518. After the signal generation stage, the insertion algorithm progresses to a state machine algorithm 514, which allows the HPC controller to operate the electric motor based on each state of insertion and determine the optimal time to send a stop signal to the electric motor when insertion is complete at the last state 516.

[0077] FIG. 20 shows an overview of the signal generation stage of the insertion algorithm. The HPC controller is configured to receive a motor parameter signal from the electric motor, which is derived from a portion of the motor current. The motor parameter signal may be further defined as an IQ feedback signal 518, which corresponds to the amount of current drawn by the motor for an insertion process. The controller is further configured to generate a first signal feature and a second signal feature from the IQ feedback signal, which may be further defined as a Bind signal 520 and an HImag signal 530. Referring to FIG. 20. both the BinO and HImag signals 520, 530 are generated by applying a filter to process the IQ feedback 518. At step 522, which may be performed by the HPC controller concurrently, before, or after step 532, the BinO signal 520 is generated with alternate steps to the embodiment described above in section II. The controller applies a multi-order low-pass filter, such as an 50th order, low-pass FIR filter using a Hamming window for coefficients and a cutoff frequency of 78 Hz, which is based on the sampling rate of the IQ feedback signal 518. After applying the low-pass filter, the HPC controller decimates the remaining signal by a factor of 5, reducing it from a 10kHz sampling rate to a 2 kHz sampling rate. A standard windowed 32-point moving average is applied to smooth frequency fluctuations in the signal, then the signal is decimated again by a factor of 4, resulting in a time-domain signal with a sampling rate of 500 Hz. In the described embodiment, the low-pass filter, decimation, moving average, and second decimation generate the BinO signal 520, which is monitored by the HPC controller in the state machine algorithm to control the electric motor.

[0078] As shown in step 532, the raw IQ Feedback signal 518 is also processed with a first order all-pass IIR filter. The IIR filter is configured with coefficients which apply a 90-degree phase shift at a target frequency of 2.5 kHz. In alternate embodiments, the target frequency may be configured as a proportion of the sampling frequency of the IQ feedback 518, including 14, 1 / 2, etc. In the described configuration, the target frequency of 2.5 kHz is a quarter of the sampling frequency. After the all-pass filter, the HPC controller is configured to apply a standard windowed 32-point moving average to the signal to smooth any fluctuations in the signal. TheAttorney Docket No. 060210.05208resulting signal may be referred to as the HImag signal 530, which corresponds to the imaginary component of the analytic signal which results from applying a Hilbert transform to an IQ feedback signal and includes a quadrature component of the IQ feedback signal. Additional configurations of the moving average are also contemplated to process the signal. The HImag signal 530 is an approximation of an output signal which would typically result from applying a Hilbert Transform algorithm to the IQ feedback. For example, in an alternative embodiment, the HPC controller is configured to apply a Hilbert transform to IQ feedback to obtain an HImag signal.

[0079] For the signal generation stage described above and shown in FIG. 20, the HPC controller may be configured to apply various configurations of the algorithms and processing methods not specifically described herein. For example, the sampling frequency of the IQ feedback signal, the cutoff frequency of the low-pass filter, the type of filter, and the amount of decimation are all features which may be adjusted. Further, the HPC controller 120 may be configured to include additional processing steps such as a Hilbert Transform, a short-time Fourier Transform, a Hilbert-Huang Transform, Empirical Mode Decomposition, and others not disclosed herein. Additionally, the signal generation stage processes each data frame of the IQ feedback. Each frame may be separated by a 2-millisecond cycle time, which also corresponds to the chosen sampling rate of 10kHz. Therefore, as a part of the insertion algorithm, the HPC controller is generating the BinO and HImag signals 520, 530 for each IQ data frame, executing the state machine algorithm, then repeating the signal generation for a subsequent IQ data frame as it is received by the HPC controller. The controller may be configured to operate under different time constraints which are not explicitly disclosed herein, and may operate with various sampling rates of the IQ feedback signal. Further, the HPC controller may be configured to apply an amplification algorithm or transformation to the signals at any step in the signal generation stage. The amplification may negate the effect of a noisy signal, or otherwise amplify the signal which may assist the state machine algorithm in transitioning between states and / or accurately meeting stop conditions.

[0080] Now referring to FIG. 21, which illustrates an example BinO signal 521, a RLS-Filtered signal 523, a noise estimate signal 524, and an RLS lock-in region 525. The RLS lock-in region 525 indicates the amount of time required for the HPC controller to determine the true amplitude of the noise. Referring to the generation of the BinO signal 520, the HPC controllerAttorney Docket No. 060210.05208may be configured to apply adaptive Recursive Least Squares (RLS) filtering to the averaged BinO signal before the last step of decimation. As shown in FIG. 21, the RLS filtering suppresses sinusoidal noise present in the BinO signal 521, allowing for greater sensitivity in the signal for use in the state machine algorithm and creating the RLS-filtered BinO signal. The RLS algorithm is configured to remove the sinusoidal noise for each generated sample, acting as an additional step in the generation of the BinO signal 520 shown in step 522 of FIG. 20. FIG. 21 also illustrates an approximation of the noise component in the BinO signal as a noise estimate 524, which is removed from the signal by the RLS filter. In certain embodiments, the RLS filter may be applied to the signal when the HPC controller generates the BinO signal. In other embodiments, the RLS filter may not be applied to the signal.

[0081] Now referring to FIG. 22, an example of a BinO signal 226 is shown relative to the time domain and with amplitude described in units of quadrature axis-current. The BinO signal 526 is compared to an IQ feedback signal 519, demonstrating how the BinO signal 526 approximates the shape of the IQ feedback signal 519 but is a smoothed and precise version allowing the HPC controller to accurately detect driving events based on the amplitude and shape of the BinO signal 526. Now referring to FIG. 23, an example of an HImag signal 531 is shown relative to the time domain and the IQ feedback signal 519. The HImag signal 531 is a smoothed and inverted version of the IQ feedback signal 519 which enables the HPC controller 120 to use the HImag signal 531 to detect driving events during insertion.

[0082] Now referring to FIG. 24, various states of insertion including an inrush state 540, a breach state 542, a drive state 544, and a complete state 546 are shown along with the corresponding signals which act as an input to the state machine algorithm. As described above, each state of insertion corresponds to a driving event of a surgical implant. The inrush state 540 is initiated when the HPC controller first receives a sample of the motor parameter signal, which is the IQ feedback signal. Alternatively, the state machine algorithm may be configured to determine the onset of the inrush state 540 based on a trigger pull event of the electric power tool. During the inrush state 540, both the HImag signal 531 and the BinO signal 526 typically spike corresponding to the increase in IQ current from the electric motor. The inrush state 540 is configured to track when that spike has subsided, indicating the beginning of the remaining insertion process. The HPC controller is configured to record the activity of the BinO signal 526Attorney Docket No. 060210.05208and the HImag signal 531 in the breach state 542, including characteristics of each signal such as a maximum, minimum, derivative, or average.

[0083] The breach state 542 corresponds to the breach of the material surface by the screw during insertion. In most insertion processes, the BinO signal 526 fluctuates significantly in the breach state 542. The HPC controller is configured to record the activity of the BinO signal 526 and the HImag signal 531 in the breach state 542, including characteristics of each signal such as a maximum, minimum, derivative, or average. During the breach state 542, the HPC controller 120 is also configured to detect a variability metric in the BinO signal 526 or the HImag signal 531. After the breach state 542, the drive state 544 corresponds to driving of the screw into the material until a stop condition in either the BinO signal 526 or HImag signal 531 is met. The stop condition indicates the stopping point of the insertion, when a screw is fully engaged and inserted in the material prior to over-tightening the screw and potentially stripping the screw and / or the material. After the stop condition is triggered, the state machine algorithm transitions to the complete state 546. which is the end of the insertion process and where both signals trend back to a baseline magnitude.

[0084] VI. State Machine - Alternate Configuration

[0085] As described above, the state machine algorithm portion of the insertion algorithm receives the generated signals from the signal generation stage and sets parameters and / or thresholds for generating control conditions for the electric power tool. For example, the state machine algorithm is configured to send a stop condition to the electric motor when one or both of the BinO and HImag signals achieve certain thresholds. These thresholds may be dynamically adjusted depending on the particular insertion process, or they may be preconfigured static values for each insertion process. As described above in section V and shown in FIG. 24, the state machine algorithm is configured to determine the onset of the inrush state 540, then transition to the breach state 542 and drive state 544 based on monitoring the BinO signal 526 and the HImag signal 531. Once the algorithm is in the drive state 544, the HPC controller is configured to determine a stop condition threshold of the BinO signal 526 and trigger a motor stop once that threshold is met. It is to be appreciated that either the BinO or HImag signals may be used for any part of the state machine algorithm, including the determination of state transition thresholds and stop conditions. The HPC controller may be configured to use either the BinO signal or HImag signal in isolation or consider them jointly. Further, the HPC controllerAttorney Docket No. 060210.05208120 may be configured to record each amplitude of the BinO and HImag signals for each data frame of the IQ feedback in which the BinO and HImag signals are generated. The HPC controller 120 is configured to compare these signals to each other, or to previous signal values, therefore calculating characteristics such as a maximum, minimum, derivative, or average.

[0086] The HPC controller is configured to record various characteristics of both the BinO and HImag signals at varying times during the insertion process. Still referring to FIG. 24, in the inrush state 540, the BinO signal 526 typically spikes initially then returns to a minimum amplitude, which is recorded by the HPC controller 120 as an inrush minimum 528 of the BinO signal 526. In addition, the HPC controller is configured to calculate an average value 532 of the HImag signal 531 during a specific time period in the inrush state 540. For example, in the described configuration, the HPC controller calculates the average 532 of the HImag signal 531 from 150 - 250 milliseconds after the onset of the inrush state 540. This average 532 is recorded and may be used in determining transition thresholds and / or stop conditions in the insertion process. The state machine algorithm automatically transitions to the breach state 542 at 250 milliseconds after the onset of the inrush state 540. The 250-millisecond threshold is a static, preconfigured duration in which both signals return to baseline values, indicating an appropriate time to transition to the breach state 542. In alternative embodiments, such as the one described above in section IV, the state machine algorithm may be configured to transition out of the inrush state into breach state based on either one of the signals BinO or HImag or use different durations of time not specifically disclosed herein.

[0087] Now referring to FIG. 25, a drive threshold value 534 is shown relative to the example HImag signal 533 and relative to the time domain. Once the state machine algorithm is in the breach state 542, the HPC controller is configured to determine the drive threshold value 534 based on the average value 532 of the HImag signal 533 determined in the inrush state and a predetermined value. The drive threshold value 534 includes two components, a dynamically adjusted property which is the average value 532 of the HImag signal during the duration between 150-250 milliseconds in the inrush state 540 and a static configured value which is empirically determined to desensitize the breach state to an expected value. The drive threshold value 534 is calculated by subtracting the static configured value from the average HImag signal 532. In the breach state 542, the HPC controller compares the generated value of the HImag signal 533 to the drive threshold value 534, and monitors whether the HImag signal 533 fallsAttorney Docket No. 060210.05208below the drive threshold value 534. The state machine algorithm is configured to transition from the breach state to the drive state if the HImag signal 533 falls under the drive threshold value 534 for a configured amount of time samples.

[0088] The HPC controller is also configured to determine a variability metric in the BinO signal during the breach state. The variability metric may be further defined as the level of noise present in the signal, or a noise characteristic. The noise characteristic refers to the amount of fluctuations in the signal, which may obscure or hide the true BinO signal and interfere with accurate state transitions and stop condition detection in the state machine algorithm. Now referring to FIG. 26, the graph on the left shows a BinO signal 527 including a noise characteristic 548 while the graph on the right shows the BinO signal 527 without the noise characteristic 548. The HPC controller is configured to run a noise quantification process, which includes detecting the presence of the noise in the BinO signal in the breach state. The noise quantification process includes measuring a delta as the peak to peak range of the BinO signal and analyzing the fluctuations within a time period to determine whether the noise is present or not. If the noise characteristic is present, the HPC controller may categorize that particular insertion process as noisy and adjust a stop condition threshold accordingly. The HPC controller is configured to predict future levels of noise in that particular insertion process based on the presence of the noise characteristic in the BinO signal within the breach state.

[0089] As described above, the state machine algorithm transitions from the breach state to the drive state after the HImag signal is below the drive threshold value for the configured amount of time samples. Once in the drive state, the electric motor is continuously driving the screw until a peak current condition is met, which corresponds to the engagement of the screw at which point additional driving would begin to damage the material and / or the screw. The state machine algorithm is configured to continuously compare the BinO and HImag signals to one or more stop condition thresholds. One example of a stop condition threshold is for locking screws, which typically include an increase in the BinO signal beyond a predetermined locking threshold while the state machine algorithm is in the drive state. The predetermined locking threshold is an empirically determined static amplitude which is common across the insertion processes of locking screw types. FIG. 27 shows an example of a BinO signal 529 which meets a predetermined locking threshold 552 and would trigger the HPC controller to send a motor stop command to the electric motor. Regardless of the screw type, the insertion algorithm isAttorney Docket No. 060210.05208configured to consistently monitor whether the Bind signal 529 exceeds the predetermined locking threshold 552 while the state machine algorithm is in the drive state. Therefore, if the BinO signal 529 meets or exceeds the predetermined locking threshold 552, the electric motor will stop driving the screw.

[0090] In the exemplary embodiment, the HPC controller is also configured to determine a dynamic threshold which changes based on each insertion process. FIG. 28 illustrates an example of multiple insertion processes, including corresponding BinO signals 554A and 554B along with dynamic thresholds 556A and 556B for each insertion process. The dynamic threshold is based on the recorded minimum amplitude 528 of the BinO signals 554A, 554B in the inrush state and a maximum amplitude 557A, 557B of the BinO signals 556A, 556B in the drive state. The maximum amplitude in the drive state 546 is recorded as a running value, meaning that the maximum is continually updated as the IQ feedback data samples are received and the BinO signal is generated, and determined to be the maximum amplitude of BinO when the signal begins falling, as shown in FIG. 28 for both signal progressions. FIG. 28 also shows an example BinO delta magnitude 555, which is determined by subtracting the BinO minimum amplitude 528 from the BinO maximum amplitude 557B. Each dynamic threshold 556A, 556B further includes an adjustment to the BinO delta magnitude based on a sensitivity factor. To determine the dynamic threshold, the HPC controller 120 is configured to multiply the BinO delta magnitude by the sensitivity factor, adjusting the BinO delta magnitude to generate an accurate dynamic threshold which stops the motor at the appropriate time during insertion. In the described embodiment, the sensitivity factor is a preconfigured and static magnitude which is consistently applied to each calculated BinO delta magnitude value to generate the dynamic threshold for each insertion process. In alternative embodiments not disclosed herein, the sensitivity factor may be a different magnitude, or it may be dynamically adjusted based on the type of screw, the insertion process, or other factors not described.

[0091] The dynamic threshold may also be adjusted based on an additional preconfigured signal magnitude which acts as a secondary threshold. If the BinO signal meets or exceeds this preconfigured signal magnitude, then the dynamic threshold is reduced by a preconfigured amplitude reduction factor. In the described embodiment, the reduction factor and secondary threshold are static and consistent values which are applied to each insertion event, but may be dynamic in alternative configurations of the insertion algorithm. Further, the dynamic thresholdAttorney Docket No. 060210.05208may be adjusted based on whether the HPC controller detects the variability metric in the BinO signal during breach. As described above, stop condition thresholds may be adjusted based on the occurrence of a noise characteristic. The dynamic threshold is reduced by a preconfigured noise reduction factor if there is no noise characteristic in the BinO signal while in the breach state 542. Alternatively, if there is noise, then the dynamic threshold is not adjusted.

[0092] In some implementations, the dynamic threshold is determined based on at least a first characteristic of a signal feature and a second characteristic of the signal feature. By way of example, the first characteristic may comprise a minimum value, a baseline value, an average value, or a low-percentile value of the signal feature over a window, and the second characteristic may comprise a maximum value, a peak value, a derivative / slope, a high-percentile value, or another characteristic indicative of a change in the signal feature. In some implementations, the dynamic threshold is further determined using one or more scaling factors, offsets, and / or reduction factors, and may include one or more secondary thresholds.

[0093] Still referring to FIG. 28. for each insertion process, when the BinO signals 554A, 554B fall below the dynamic thresholds 556A, 556B (respectively) for a configured number of time samples, The HPC controller is configured to send a motor stop command to the electric motor. This completes the insertion process and ensures that the screw is sufficiently screwed into the material.

[0094] Additionally, the system may utilize the HImag signal to control the electric motor without reliance on the state machine algorithm. The motor may be controlled with a flow control schematic rather than identifying specific states of the insertion process. In an alternative implementation without the state machine algorithm, the HPC controller may continuously compare any of the signals BinO, P-MIF, or HImag during the insertion process to one or more predetermined thresholds and control the motor based on the comparison between the signal and the threshold. As described above, these thresholds may be specific characteristics of the signal values, such as maximums, minimums, average values, slopes, and others not specifically disclosed herein. Further, within the state machine algorithm, the HPC controller 120 may be configured to record any generated signal values in BinO, P-MIF, or HImag for each sample of IQ feedback received from the electric motor. Each state transition threshold or stop condition threshold may be dynamically determined based on the insertion process or preconfigured, andAttorney Docket No. 060210.05208may involve any one of the BinO signal, HImag signal, or P-MIF signal, or be determined based on multiple signals.

[0095] In additional implementations of the insertion algorithm, the HPC controller may be configured to classify the screw being inserted into various categories based on one or more of the signals BinO, HImag, or P-MIF. FIG. 29 illustrates a variety of screw sizes and types and the impact of those differences on the BinO signal form as generated by the HPC controller. Therefore, the HPC controller may be configured to determine screw-type specific thresholds such as peak values, derivative thresholds, and others not described herein to classify certain screw types. During the insertion process, the HPC controller would monitor the signals BinO, HImag, and P-MIF as usual, but if certain thresholds are met, the HPC controller would classify that screw, which could impact stop condition thresholds and state transition thresholds. FIG. 30 illustrates four varying screw types and the inherent variance in the BinO signal for each screw type. Therefore, the HPC controller may be configured to generate specific thresholds sensitized to the variation in BinO signals among one screw type, while still maintaining capability to differentiate between broader screw types and families.

[0096] In some implementations, the methods described herein are well suited for driving a wide variety of screws without requiring prior knowledge of the screw type. For example, the controller may monitor one or more motor parameter signals during operation and derive one or more signal features that reflect the real-time interaction between the driver, the screw, and the workpiece (e.g., bone media), such that detection of a driving event and corresponding control of the motor are based on the observed signal behavior rather than on screw-specific preset parameters. As a result, the same tool may be used effectively with screws having different geometries, pitches, diameters, threadforms, materials, coatings, and head / drive styles, including screws from different manufacturers, while still reliably identifying conditions such as seating, breakthrough, binding, stripping, or stall. In this way, the tool can adapt on-the-fly to variability in screw design and operative conditions and can reduce the need for user selection, preprogramming, or lookup of screw type information prior to driving.

[0097] It should be appreciated that the various algorithmic components described herein are modular and may be implemented independently or in any combination. For example, any one or more of: (i) signal generation and / or feature extraction (including frequency- selective processing, filtering, transforms, decimation, smoothing, and / or phase shifting), (ii)Attorney Docket No. 060210.05208determination of characteristics (e.g., amplitude, derivative, phase characteristics, and / or variability metrics), (iii) threshold determination (including static and / or dynamic thresholds), (iv) event detection and / or classification, and (v) motor control logic (including state-based control and / or non-state-based control) may be omitted, reordered, performed concurrently, or replaced with alternative techniques to achieve one or more motor control conditions. Accordingly, embodiments are not limited to the particular sequences, combinations, or specific signals described, and may instead use any suitable subset of the described processing to generate a control output for the motor.

[0098] As used herein, “frequency-selective processing” refers to processing of a motor parameter signal to emphasize, isolate, attenuate, or otherwise selectively analyze one or more frequency components, frequency bins, and / or frequency bands of the motor parameter signal. By way of example, frequency-selective processing may include applying one or more filters (e.g., low-pass, high-pass, band-pass, and / or all-pass filters), performing one or more transforms (e.g., a short-time Fourier transform (STFT), Hilbert-Huang transform, and / or empirical mode decomposition), and / or performing other joint time-frequency domain processing to determine one or more signal features as a function of time.

[0099] In some implementations, the techniques described herein for processing a motor parameter signal (e.g., via frequency-selective processing, filtering, phase shifting, and / or variability metrics), determining one or more signal features, and detecting an event based on a threshold are applicable to powered tools other than screwdrivers and / or to operations other than inserting screws. By way of example, the powered tool may comprise a drill, reamer, tap, saw, or other motor-driven instrument, and the detected event may correspond to completion of an operation, seating, breakthrough, stall, binding, stripping, bottom-out, or other change in operating condition. In such implementations, the controller may control the motor (e.g., stop, slow, limit torque, reverse, and / or output an indication) responsive to the detected event.

[0100] Unless otherwise indicated, any numerical values, value ranges, proportions, sampling rates, time periods, and filter parameters described herein are provided as illustrative examples and are not intended to be limiting. In various implementations, such values may be increased, decreased, scaled, rounded, approximated, or otherwise modified based on the motor, controller, sampling configuration, surgical application, or desired responsiveness, without departing from the techniques described herein.Attorney Docket No. 060210.05208

[0101] As used herein, a “threshold” may comprise any criterion used to evaluate one or more signal features or characteristics, and may be expressed as a scalar value, a set of values, a curve, a lookup relation, or a multi-dimensional boundary. A threshold may be predetermined (e.g., stored in memory), calculated during operation, or updated adaptively based on observed signal behavior, and may be absolute or relative (e.g., relative to a baseline, minimum, maximum, average, or other derived value). In some implementations, multiple thresholds may be used (e.g., state transition thresholds, stop condition thresholds, and / or secondary thresholds), and one or more thresholds may incorporate hysteresis, a deadband, persistence requirements (e.g., satisfaction for a configured number of samples), or confidence measures to reduce false triggering.

[0102] References to a “characteristic” of a signal feature or motor parameter signal may include, by way of example, one or more of: magnitude, power, energy, maximum, minimum, mean, median, variance, standard deviation, derivative / slope, integral, peak-to-peak, phase or quadrature characteristics, spectral characteristics, and / or a noise or variability metric. Such characteristics may be computed in the time domain, frequency domain, or a joint timefrequency domain, and may be computed over a fixed window, a variable window, a sliding window, an overlapping window, or over event-triggered segments of the insertion process.

[0103] In some implementations, predetermined values (including sensitivity factors, offsets, margins, reduction factors, and / or empirically determined constants) may be selected during design, calibration, manufacturing, or commissioning, and stored for use during operation. Additionally or alternatively, any such values may be adjusted during use based on observed insertion behavior, detected operating conditions, a tool mode, or other factors, including on a per-procedure, per-patient, per-screw, or per-insertion basis, while still applying the same underlying event-detection and motor-control techniques.

[0104] Controlling the motor responsive to a detected event, threshold comparison, or signal feature may include issuing a stop command and / or any other suitable control action, such as reducing speed, limiting torque, limiting power, braking, holding position, reversing, entering a protective mode, or outputting an indication. Control may be implemented as discrete state-based control, continuous control, or a combination thereof, and may be applied immediately or according to a ramp, delay, or persistence criterion.Attorney Docket No. 060210.05208

[0105] A “selected portion” of a plurality of frequencies may comprise one frequency, multiple discrete frequencies, one or more frequency bins, one or more frequency bands, and / or a weighted combination of frequency components. Selection of such frequency content may be predetermined or adaptively chosen during operation, for example to emphasize frequency components that exhibit increased sensitivity to insertion state changes or improved robustness to noise, and may be implemented using any suitable filtering, transforms, and / or feature extraction techniques.

[0106] The disclosures of PCT publications WO2025059156A1, WO2023017499A1, and WO2024173660A2 are hereby incorporated by reference in their entireties, to the extent permitted by applicable law, for purposes of describing and enabling various example implementations and optional features of an electric power tool, including (by way of example and not limitation) modular powered surgical tool architectures having a handpiece with an electric motor, removable battery and control module arrangements, power regulation / control techniques based on user input and / or commanded operating parameters, motor sensing and related signal generation, printed circuit board assemblies and associated control electronics, coupling interfaces between modules, and housing / sterilization-related features. For clarity and consistency, unless the context indicates otherwise, terminology used in the incorporated PCT publications shall be construed to correspond to the terminology used herein; for example, references therein to a “powered surgical tool” or “surgical system” shall be understood as an electric power tool, references to a “control module controller” or “controller” shall be understood as a controller as described herein, references to a “motor sensor signal” shall be understood as a motor parameter signal (or a signal from which a motor parameter signal may be derived), and references to “module housing” and / or “device housing” shall be understood as a housing of a tool and / or tool module. In the event of any inconsistency between an incorporated disclosure and the present application, the present application controls.

[0107] In some implementations, one or more of the algorithms, steps, and signalprocessing operations described herein (including feature extraction, filtering, transformation to a joint time-frequency domain, state identification, and threshold determination) are implemented as software and / or firmware instructions executed by one or more processors of the controller (e.g., the HPC controller). The instructions may be stored in one or more non-transitory memories and, when executed, cause the controller to receive one or more motor parameterAttorney Docket No. 060210.05208signals, generate one or more signal features, detect one or more driving events, and output one or more control signals to the electric motor to control tool operation in real time. In this manner, the disclosed techniques provide a specific technological improvement in powered tool control, including improved detection of insertion-related events and corresponding control actions, rather than merely generating or displaying information.

[0108] The operations described herein are performed by an electric power tool controller using measured signals from the electric motor and result in tangible control of the electric motor (e.g., stopping, limiting, braking, or otherwise modulating motor output) during insertion. Accordingly, the disclosed techniques are rooted in the operation of the tool itself and improve the functioning and safety of the powered surgical tool by controlling motor operation based on detected insertion conditions.

[0109] In some implementations, the disclosed functionality is embodied in a non-transitory computer-readable storage medium (or multiple such media) storing instructions executable by a programmed processor. The instructions may be provided as firmware, microcode, software, or any combination thereof, and may be deployed as a single program, multiple cooperating modules, or updates / patches. The instructions may be executed by one processor or distributed across multiple processors (e.g., a motor controller and a module controller) and may be implemented using general-purpose processing resources, dedicated digital signal processing resources, and / or programmable logic, while still performing the operations described herein.

[0110] Several implementations have been discussed in the foregoing description. However, the implementations discussed herein are not intended to be exhaustive or limiting. Further, the terminology which has been used is intended to be in the nature of words of description rather than of limitation. Many modifications and variations are possible in light of the above teachings and the systems / methods may be practiced otherwise than as specifically described.

[0111] The following clauses illustrate additional implementations of the described invention:

[0112] I. An electric motor, comprising:a housing; anda controller configured to:Attorney Docket No. 060210.05208receive a measured current signal of the electric motor, the measured current signal having a plurality of frequencies;analyze the measured current signal to determine one or more frequency characteristics: detect a driving feature based on the one or more frequency characteristics; and control the motor based on the detected driving feature.

[0113] II. The power tool of clause II, wherein the measured current signal is further defined as a mechanical current and the controller is programmed to determine the mechanical current based on the measured current signal.

[0114] III. The power tool of clause I, wherein the controller being configured to analyze the measured current signal to determine one or more frequency characteristics is further defined as being configured to transform the measured current signal into a joint time-frequency domain to yield joint time frequency data having the plurality of frequency characteristics with respect to time.

[0115] IV. The power tool of clause III. wherein the controller is programmed to determine a first set of frequency characteristics corresponding to joint time frequency data.

[0116] V. The power tool of clause III, wherein the controller is programmed to determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in the joint time-frequency domain based on the jointtime frequency data.

[0117] VI. The power tool of clause I, wherein the detected driving feature is selected from a group including a plurality of states and wherein the controller uses at least one of a first algorithm and a second algorithm to identify at least one of the plurality of states.

[0118] VII. The power tool of clause VI, wherein the controller is programmed to perform the following steps;determine a first set of frequency characteristics corresponding to joint time frequency data;determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in the joint time-frequency domain based on the joint- time frequency data; andAttorney Docket No. 060210.05208control the motor based on at least one of the first set of frequency characteristics and the second set of frequency characteristics and the plurality of states.

[0119] VIII. A method of controlling an electric motor, the method comprising:receiving a measured current signal of the electric motor, the measured current signal having a plurality of frequencies;analyzing the measured current signal to determine one or more frequency characteristics;detecting a driving feature based on the one or more frequency characteristics; and controlling the motor based on the detected driving feature.

[0120] IV. The method of clause VIII, wherein the measured current signal is further defined as a mechanical current and further comprising determining the mechanical current based on the measured current signal.

[0121] X. The method of clause VIII, wherein analyzing the measured current signal to determine one or more frequency characteristics is further defined as transforming the measured current signal into a joint time-frequency domain to yield joint time frequency data having the plurality of frequency characteristics with respect to time.

[0122] XI. The method of clause X, further comprising determining a first set of frequency characteristics corresponding to joint time frequency data.

[0123] XII. The method of clause X, further comprising determining a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in the joint time-frequency domain based on the joint- time frequency data.

[0124] XIII. The method of clause VIII, wherein the detected driving feature is selected from a group including a plurality of states and further comprising identifying at least one of the plurality of states with at least one of a first algorithm and a second algorithm.Attorney Docket No. 060210.05208

[0125] XIV. The power tool of clause XIII, wherein the controller is programmed to perform the following steps:determine a first set of frequency characteristics corresponding to joint time frequency data;determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in the joint time-frequency domain based on the joint- time frequency data; and

[0126] control the motor based on at least one of the first set of frequency characteristics and the second set of frequency characteristics and the plurality of states.

[0127] XV. An electric power tool, comprising: a housing; an electric motor coupled to the housing; and a controller configured to: receive a motor parameter signal, the motor parameter signal having a plurality of frequencies; analyze the motor parameter signal to determine one or more frequency characteristics; detect a driving feature based on the one or more frequency characteristics; and control the electric motor based on the detected driving feature.

[0128] XVI. The electric power tool of claim XV, wherein the electric power tool is a screwdriver configured to apply torque to a surgical implant.

[0129] XVII. The electric power tool of claim XV, wherein the driving feature comprises an insertion of a surgical implant into a tissue of a patient.

[0130] XVIII. The electric power tool of claim XVII, wherein the controller includes a motor controller and a module controller and further comprising a removable motor module that includes the motor controller and the electric motor.

[0131] XIX. The electric power tool of claim XVIII, further comprising a battery and control module including the module controller.

[0132] XX. The electric power tool of claim XV, wherein the motor parameter signal is based on a measured current signal.

[0133] XXI. The electric power tool of claim XX, wherein the motor parameter signal is further defined as a mechanical current and the controller is programmed to determine the mechanical current based on the measured current signal.Attorney Docket No. 060210.05208

[0134] XXII. The electric power tool of claim XV, wherein the motor parameter signal is based on a measured current signal and the controller being configured to analyze the measured current signal to determine one or more frequency characteristics is further defined as being configured to transform the measured current signal into a joint time-frequency domain to yield joint time frequency data having one or more frequency characteristics with respect to time.

[0135] XXIII. The electric power tool of claim XXII, wherein the controller is programmed to determine a first set of frequency characteristics corresponding to joint time frequency data.

[0136] XXIV. The electric power tool of claim XXIII, wherein the controller determines the first set of frequency characteristics based on a transformation algorithm.

[0137] XXV. The electric power tool of claim XXIV, wherein the transformation algorithm comprises a short-time Fourier Transform.

[0138] XXVI. The electric power tool of claim XXII, wherein the controller is programmed to determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in the joint time-frequency domain based on the joint- time frequency data.

[0139] XXVII. The electric power tool of claim XXVI, wherein the controller determines the second set of frequency characteristics based on a transformation algorithm.

[0140] XXVIII. The electric power tool of claim XXVII, wherein the transformation algorithm comprises: a short-time Fourier Transform; a Hilbert Transform; deriving a velocity vector; deriving an instantaneous phase; and determining an instantaneous frequency.

[0141] XXIX. The electric power tool of claim XV, wherein the detected driving feature is selected from the group including an inrush state, a penetration state, and a drive state, and wherein the controller uses at least one of a first algorithm and a second algorithm to identify at least one of: the inrush state; the penetration state; and the drive state.Attorney Docket No. 060210.05208

[0142] XXX. The electric power tool of claim XXIX, wherein the controller is programmed to determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in a joint time-frequency domain and the second algorithm is programmed to detect the inrush state based on the second set of frequency characteristics.

[0143] XXXI. The electric power tool of claim XXX, wherein the controller is programmed to detect the inrush state of the driving feature based on: an inrush target parameter; and the second set of frequency characteristics.

[0144] XXXII. The electric power tool of claim XXXI, wherein the inrush target parameter is based on one or more of the following features of the second set of frequency characteristics: a magnitude; a derivative; and an integral.

[0145] XXXIII. The electric power tool of claim XXIX, wherein the controller is programmed to determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies in a joint time-frequency domain and the second algorithm is programmed to detect the penetration state based on the second set of frequency characteristics.

[0146] XXXIV. The electric power tool of claim XXXIII, wherein the controller is programmed to detect the penetration state of the driving feature based on: a penetration target parameter; and the second set of frequency characteristics.

[0147] XXXV. The electric power tool of claim XXXIV, wherein the penetration target parameter is based on one or more of the following features of the second set of frequency characteristics:a magnitude; a derivative; and an integral.

[0148] XXXVI. The electric power tool of claim XXIX, wherein the controller is programmed to determine a second set of frequency characteristics corresponding to an averageAttorney Docket No. 060210.05208of the frequency characteristics of a plurality of frequencies in a joint time-frequency domain and the second algorithm is programmed to detect the drive state based on the second set of frequency characteristics.

[0149] XXXVII. The electric power tool of claim XXXVI, wherein the controller is programmed to detect the drive state of the driving feature based on: a drive target parameter; and the second set of frequency characteristics.

[0150] XXXVIII. The electric power tool of claim XXXVII, wherein the drive target parameter is based on one or more of the following features of the second set of frequency characteristics: a magnitude; a derivative; and an integral.

[0151] XXXIX. The electric power tool of claim XXIX, wherein the controller is programmed to perform the following steps: determine a first set of frequency characteristics corresponding to one or more frequencies of a joint time-frequency domain; determine a second set of frequency characteristics corresponding to an average of the frequency characteristics of a plurality of frequencies with respect to time in a joint time-frequency domain; andcontrol the electric motor based on the first set of frequency characteristics and the second set of frequency characteristics, wherein the first set of frequency characteristics and the second set of frequency characteristics are different from one another.

[0152] XL. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a first maximum of the second set of frequency characteristics during the penetration state;determine a first minimum of the second set of frequency characteristics during the drive state; determine a second maximum of the first set of frequency characteristics during the drive state; determine a second minimum of the first set of frequency characteristics during the penetration state;determine a first threshold based on the first maximum and the first minimum; determine a second threshold based on the second minimum and the second maximum;Attorney Docket No. 060210.05208control the electric motor based on: the second set of frequency characteristics and the first threshold; and the first set of frequency characteristics, the second threshold, and the second maximum.

[0153] XLI. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a maximum of the second set of frequency characteristics during the penetration state; determine a minimum of the second set of frequency characteristics during the drive state; determine a threshold based on the maximum and the minimum; and control the electric motor based on the second set of frequency characteristics and the threshold.

[0154] XLII. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a maximum of the first set of frequency characteristics during the drive state; determine a minimum of the first set of frequency characteristics during the penetration state; determine a threshold based on the maximum and the minimum; and control the electric motor based on the first set of frequency characteristics and the threshold.

[0155] XLIII. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a plurality of values of the first set of frequency characteristics during the drive state; determine a duration when the plurality of values exhibit a positive derivative during the drive state; and control the electric motor based on the duration and a threshold duration.

[0156] XLIV. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a plurality of values of the first set of frequency characteristics during the drive state; determine a drive derivative based on the plurality of values of the first set of frequency characteristics;control the electric motor based on the drive derivative and a threshold derivative.

[0157] XLV. The electric power tool of claim XXXIX, wherein the controller is programmed to determine a state transition value of the second set of frequency characteristics, and control the electric motor based on the state transition value of the second set of frequency characteristics and a magnitude of the second set of frequency characteristics.Attorney Docket No. 060210.05208

[0158] XLVT. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a plurality of values of the first set of frequency characteristics; determine a duration during when the plurality of values exhibit a negative derivative; and control the electric motor based on the duration and a threshold duration.

[0159] XL VII. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a plurality of values of the first set of frequency characteristics; and control the electric motor based on a magnitude of the plurality of values, a threshold, and a threshold duration.

[0160] XL VIII. The electric power tool of claim XXXIX, wherein the controller is programmed to control the electric motor based on a duration of the penetration state and a threshold duration.

[0161] XLIX. The electric power tool of claim XXXIX, wherein the controller is programmed to perform the following steps: determine a maximum of the first set of frequency characteristics during the inrush state; determine a duration based on the maximum and the first set of frequency characteristics; control the electric motor based the duration and a threshold duration.

[0162] L. A method for using an electric power tool, comprising steps of: receiving a motor parameter signal, the motor parameter signal having a plurality of frequencies; analyzing the motor parameter signal to determine one or more frequency characteristics; detecting a driving feature based on the one or more frequency characteristics; and controlling the electric motor based on the detected driving feature.LI. A non-transitory computer readable storage medium having stored therein data representing instructions executable by a programmed processor for using an electric power tool, the storage medium comprising instructions for: receiving a motor parameter signal, the motor parameter signal having a plurality of frequencies;analyzing the motor parameter signal to determine one or more frequency characteristics; detecting a driving feature based on the one or more frequency characteristics; and controlling the electric motor based on the detected driving feature.

Claims

Attorney Docket No. 060210.05208CLAIMS1. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal, the motor parameter signal having a plurality of frequencies;process the motor parameter signal using frequency-selective processing to generate a signal feature indicative of magnitude, power, or energy of a selected portion of the plurality of frequencies of the motor parameter signal as a function of time;detect a driving event based on the signal feature;determine a dynamic threshold based on a first characteristic of the signal feature and a second characteristic of the signal feature; andcontrol the electric motor based on the detected driving event, the signal feature and the dynamic threshold.

2. The electric power tool of claim 1, wherein the motor parameter signal is based on a measured current signal.

3. The electric power tool of claim 1, wherein the controller is configured to control the electric motor by sending a stop command to the electric motor.

4. The electric power tool of claim 1, wherein the frequency- selective processing includes one or more of the following:applying a low-pass filter;applying an all-pass filter;applying a high-pass filter;applying a short-time Fourier Transform;applying a Hilbert Transform;deriving a velocity vector;deriving an instantaneous phase;Attorney Docket No. 060210.05208determining an instantaneous frequency;applying Hilbert-Huang Transform;performing an Empirical Mode Decomposition; andapplying an amplification algorithm.

5. The electric power tool of claim 4, wherein the controller is configured to perform the short-time Fourier Transform on the motor parameter signal and select a lowest-frequency bin with respect to a joint time-frequency domain to generate the signal feature.

6. The electric power tool of claim 1, wherein the controller is configured to process the motor parameter signal with a multi-order low-pass filter to generate the signal feature, wherein the signal feature is a low frequency magnitude signal feature and includes a plurality of signal characteristics.

7. The electric power tool of claim 6, wherein the controller is further configured to process the motor parameter signal with decimation and moving-average smoothing of the motor parameter signal.

8. The electric power tool of claim 7, wherein the signal feature is further defined as a first signal feature and the plurality of signal characteristics is further defined as a first plurality, and the controller is configured to analyze the motor parameter signal with an all-pass filter which applies a phase shift to the motor parameter signal, wherein the controller is configured to generate a second signal feature including a second plurality of signal characteristics based on the phase shift.

9. The electric power tool of claim 8, wherein the controller is configured to perform a short-time Fourier Transform on the motor parameter signal to generate the second signal feature.

10. The electric power tool of claim 8, wherein the first plurality of signal characteristics includes:Attorney Docket No. 060210.05208a maximum value of the first signal feature;a minimum value of the first signal feature;a derivative of the first signal feature; andan average value of the first signal feature.

11. The electric power tool of claim 10, wherein the second plurality of signal characteristics includes:a maximum value of the second signal feature;a minimum value of the second signal feature;a derivative of the second signal feature; andan average value of the second signal feature.

12. The electric power tool of claim 11, wherein the detected driving event is selected from the group including an inrush state, a breach state, and a drive state, and wherein the controller uses at least one of the motor parameter signal, the first signal feature, and the second signal feature to identify at least one of:the inrush state;the breach state; andthe drive state.

13. The electric power tool of claim 12, wherein the controller is configured to detect the inrush state based on the motor parameter signal.

14. The electric power tool of claim 13, wherein the controller is configured to detect the breach state based on a predetermined duration and an onset of the inrush state.

15. The electric power tool of claim 14, wherein the controller is configured to determine a drive threshold value based on the average value of the second signal feature during the inrush state and a predetermined value.Attorney Docket No. 060210.0520816. The electric power tool of claim 15, wherein the controller is configured to detect the drive state based on the drive threshold value and the second signal feature.

17. The electric power tool of claim 16, wherein the controller is configured to determine a maximum value based on the first signal feature during the inrush state.

18. The electric power tool of claim 17, wherein the controller is configured to determine a minimum value based on the first signal feature during the inrush state.

19. The electric power tool of claim 18, wherein the controller is configured to determine a dynamic threshold based on the maximum value, the minimum value, and a sensitivity factor.

20. The electric power tool of claim 19, wherein the controller is configured to modify the dynamic threshold based on the first signal feature and a preconfigured signal magnitude.

21. The electric power tool of claim 20, wherein the modification of the dynamic threshold includes reducing the dynamic threshold by a preconfigured amplitude reduction factor.

22. The electric power tool of claim 21, wherein the controller is further configured to determine a reduction factor based on an occurrence of a variability metric of the first signal feature and reduce the dynamic threshold based on the reduction factor.

23. The electric power tool of claim 22, wherein the controller is configured to control the electric motor based on the first signal feature and the dynamic threshold.

24. The electric power tool of claim 16, wherein the controller is configured to control the motor based on a predetermined locking threshold and the first signal feature.Attorney Docket No. 060210.0520825. The electric power tool of claim 8, wherein the controller is further configured to determine a variability metric of the first signal feature.

26. The electric power tool of claim 25, wherein the controller is configured to modify a variability threshold based on the variability metric of the first signal feature.

27. The electric power tool of claim 26, wherein the controller is configured to control the electric motor based on the first signal feature, the second signal feature, and the variability metric.

28. The electric power tool of claim 25. wherein the controller is configured to apply an adaptive Recursive Least Squares filter to the first signal feature to remove the variability metric from the first signal feature.

29. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal from the electric motor during insertion of a screw into a bone media;apply an adjustment algorithm to the motor parameter signal to generate a signal feature; determine a characteristic of the signal feature;determine a threshold based on the characteristic;detect whether a driving event has occurred based on the threshold and the motor parameter signal;control the electric motor based on the detected driving event and the signal feature.

30. The electric power tool of claim 29, wherein the motor parameter signal is based on a measured current signal.Attorney Docket No. 060210.0520831. The electric power tool of claim 29, wherein the controller is configured to control the electric motor by sending a stop command to the electric motor.

32. The electric power tool of claim 29, wherein the adjustment algorithm includes one or more of the following:applying a low-pass filter;applying an all-pass filter;applying a high-pass filter;applying a short-time Fourier Transform;applying a Hilbert Transform;deriving a velocity vector;deriving an instantaneous phase;determining an instantaneous frequency;applying a Hilbert-Huang Transform;performing Empirical Mode Decomposition; andapplying an amplification algorithm.

33. The electric power tool of claim 29, wherein the motor parameter signal includes a plurality of frequencies and the controller is configured to determine the characteristic of the signal feature based on the plurality of frequencies.

34. The electric power tool of claim 33, wherein the adjustment algorithm comprises a multi-order low-pass filter, and wherein the signal feature includes a plurality of signal characteristics.

35. The electric power tool of claim 34, wherein the signal feature comprises a first signal feature including a first plurality of signal characteristics, and wherein the adjustment algorithm further comprises an all-pass filter configured to apply a phase shift to the motor parameter signal; and wherein the controller is configured to generate a second signal feature including a second plurality of signal characteristics based on the phase-shifted motor parameter signal.Attorney Docket No. 060210.0520836. The electric power tool of claim 35, wherein the all-pass filter is one of:a first order all-pass IIR filter; anda first order all-pass FIR filter.

37. The electric power tool of claim 35, wherein the first plurality of signal characteristics includes:a maximum value of the first signal feature;a minimum value of the first signal feature;a derivative of the first signal feature; andan average value of the first signal feature.

38. The electric power tool of claim 37, wherein the second plurality of signal characteristics includes:a maximum value of the second signal feature;a minimum value of the second signal feature;a derivative of the second signal feature; andan average value of the second signal feature.

39. The electric power tool of claim 38, wherein the detected driving event is selected from the group including an inrush state, a breach state, and a drive state, and wherein the controller uses at least one of the motor parameter signal, the first signal feature, and the second signal feature to identify at least one of:the inrush state;the breach state; andthe drive state.

40. The electric power tool of claim 39, wherein the controller is configured to detect the inrush state based on the motor parameter signal.

41. The electric power tool of claim 40, wherein the controller is configured to detect the breach state based on a predetermined duration and an onset of the inrush state.Attorney Docket No. 060210.0520842. The electric power tool of claim 41, wherein the controller is configured to determine a drive threshold value based on the average value of the second signal feature during the inrush state and a predetermined value.

43. The electric power tool of claim 42, wherein the controller is configured to detect the drive state based on the drive threshold value and the second signal feature.

44. The electric power tool of claim 43, wherein the controller is configured to determine a maximum value based on the first signal feature during the inrush state.

45. The electric power tool of claim 44, wherein the controller is configured to determine a minimum value based on the first signal feature during the inrush state.

46. The electric power tool of claim 45, wherein the controller is configured to determine a dynamic threshold based on the maximum value, the minimum value, and a sensitivity factor.

47. The electric power tool of claim 46, wherein the controller is configured to modify the dynamic threshold based on the first signal feature and a preconfigured signal magnitude.

48. The electric power tool of claim 47, wherein the modification of the dynamic threshold includes reducing the dynamic threshold by a preconfigured amplitude reduction factor.

49. The electric power tool of claim 48, wherein the controller is further configured to determine a reduction factor based on the occurrence of a variability metric of the first signal feature and reduce the dynamic threshold based on the reduction factor.Attorney Docket No. 060210.0520850. The electric power tool of claim 49, wherein the controller is configured to control the electric motor based on the first signal feature and the dynamic threshold.

51. The electric power tool of claim 43, wherein the controller is configured to control the motor based on a predetermined locking threshold and the first signal feature.

52. The electric power tool of claim 35, wherein the controller is further configured to determine a variability metric of the first signal feature.

53. The electric power tool of claim 52, wherein the controller is configured to modify a variability threshold based on the variability metric of the first signal feature.

54. The electric power tool of claim 53, wherein the controller is configured to control the electric motor based on the first signal feature, the second signal feature, and the variability metric.

55. The electric power tool of claim 52, wherein the controller is configured to apply an adaptive Recursive Least Squares filter to the first signal feature to remove the variability metric from the first signal feature.

56. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal from the electric motor during insertion of a screw into a bone media,compute a phase characteristic of the motor parameter signal;detect whether a driving event has occurred based on the phase characteristic; and control the electric motor based on the detected driving event.Attorney Docket No. 060210.0520857. The electric power tool of claim 56, wherein the motor parameter signal is based on a measured current signal.

58. The electric power tool of claim 56, wherein the controller is configured to control the electric motor by sending a stop command to the electric motor.

59. The electric power tool of claim 56, wherein the motor parameter signal includes a plurality of frequencies and the controller is configured to determine a signal feature based on the plurality of frequencies.

60. The electric power tool of claim 59, wherein the controller is configured to generate the signal feature by applying a multi-order low-pass filter to the motor parameter signal and the signal feature includes a plurality of signal characteristics.

61. The electric power tool of claim 60, wherein the controller is configured to compute the phase characteristic by applying a ninety-degree phase shift at a target frequency to the motor parameter signal with an all-pass filter.

62. The electric power tool of claim 61, wherein the all-pass filter is one of:a first order all-pass IIR filter; anda first order all-pass FIR filter.

63. The electric power tool of claim 61, wherein the target frequency is approximately one-quarter of a sampling frequency of the motor parameter signal.

64. The electric power tool of claim 56, wherein the phase characteristic comprises an imaginary component of a signal derived from the motor parameter signal.

65. The electric power tool of claim 56, wherein the controller is configured to compute the phase characteristic by generating a quadrature component of the motor parameter signal corresponding to a phase-shifted version of the motor parameter signal.Attorney Docket No. 060210.0520866. The electric power tool of claim 61, wherein the signal feature is further defined as a first signal feature and the plurality of signal characteristics is further defined as a first plurality, and wherein the phase characteristic is further defined as a second signal feature including a second plurality of signal characteristics.

67. The electric power tool of claim 66, wherein the first plurality of signal characteristics includes:a maximum value of the first signal feature;a minimum value of the first signal feature;a derivative of the first signal feature; andan average value of the first signal feature.

68. The electric power tool of claim 67, wherein the second plurality of signal characteristics includes:a maximum value of the second signal feature;a minimum value of the second signal feature;a derivative of the second signal feature; andan average value of the second signal feature.

69. The electric power tool of claim 68, wherein the detected driving event is selected from the group including an inrush state, a breach state, and a drive state, and wherein the controller uses at least one of the motor parameter signal, the first signal feature, and the second signal feature to identify at least one of:the inrush state;the breach state; andthe drive state.

70. The electric power tool of claim 69, wherein the controller is configured to detect the inrush state based on the motor parameter signal.Attorney Docket No. 060210.0520871. The electric power tool of claim 70, wherein the controller is configured to detect the breach state based on a predetermined duration and an onset of the inrush state.

72. The electric power tool of claim 71, wherein the controller is configured to determine a drive threshold value based on the average value of the second signal feature during the inrush state and a predetermined value.

73. The electric power tool of claim 72, wherein the controller is configured to detect the drive state based on the drive threshold value and the second signal feature.

74. The electric power tool of claim 73, wherein the controller is configured to determine a maximum value based on the first signal feature during the inrush state.

75. The electric power tool of claim 74, wherein the controller is configured to determine a minimum value based on the first signal feature during the inrush state.

76. The electric power tool of claim 75, wherein the controller is configured to determine a dynamic threshold based on the maximum value, the minimum value, and a sensitivity factor.

77. The electric power tool of claim 76, wherein the controller is configured to modify the dynamic threshold based on the first signal feature and a preconfigured signal magnitude.

78. The electric power tool of claim 77, wherein the modification of the dynamic threshold includes reducing the dynamic threshold by a preconfigured amplitude reduction factor.

79. The electric power tool of claim 78, wherein the controller is further configured to determine a reduction factor based on the occurrence of a variability metric of the first signal feature and reduce the dynamic threshold based on the reduction factor.Attorney Docket No. 060210.0520880. The electric power tool of claim 79, wherein the controller is configured to control the electric motor based on the first signal feature and the dynamic threshold.

81. The electric power tool of claim 73, wherein the controller is configured to control the motor based on a predetermined locking threshold and the first signal feature.

82. The electric power tool of claim 66, wherein the controller is further configured to determine a variability metric of the first signal feature in a predetermined time period.

83. The electric power tool of claim 82, wherein the controller is configured to modify a variability threshold based on the variability metric of the first signal feature.

84. The electric power tool of claim 83, wherein the controller is configured to control the electric motor based on the first signal feature, the second signal feature, and the variability metric.

85. The electric power tool of claim 82, wherein the controller is configured to apply an adaptive Recursive Least Squares filter to the first signal feature to remove the variability metric from the first signal feature.

86. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal from the electric motor during insertion of a screw into a bone media;compute a variability metric of the motor parameter signal;detect a driving event based on the variability metric and the motor parameter signal; and control the electric motor based on the driving event and the motor parameter signal.Attorney Docket No. 060210.0520887. The electric power tool of claim 86, wherein the variability metric is a noise characteristic of the motor parameter signal.

88. The electric power tool of claim 86, wherein the motor parameter signal is based on a measured current signal.

89. The electric power tool of claim 86, wherein the controller is configured to control the electric motor by sending a stop command to the electric motor.

90. The electric power tool of claim 86, wherein the motor parameter signal includes a plurality of frequencies and the controller is configured to determine a signal feature based on the plurality of frequencies.

91. The electric power tool of claim 90, wherein the controller is configured to generate a signal feature by applying a multi-order low-pass filter to the motor parameter signal and the signal feature includes a plurality of signal characteristics.

92. The electric power tool of claim 91, wherein the signal feature is further defined as a first signal feature and the plurality of signal characteristics is further defined as a first plurality, and the controller is further configured to generate a second signal feature with an all-pass filter which applies a phase shift to the motor parameter signal, wherein the second signal feature includes a second plurality of signal characteristics based on the phase shift.

93. The electric power tool of claim 92, wherein the all-pass filter is one of:a first order all-pass IIR filter; anda first order all-pass FIR filter.

94. The electric power tool of claim 92, wherein the first plurality of signal characteristics includes:a maximum value of the first signal feature;a minimum value of the first signal feature;Attorney Docket No. 060210.05208a derivative of the first signal feature; andan average value of the first signal feature.

95. The electric power tool of claim 94, wherein the second plurality of signal characteristics includes:a maximum value of the second signal feature;a minimum value of the second signal feature;a derivative of the second signal feature; andan average value of the second signal feature.

96. The electric power tool of claim 95, wherein the detected driving event is selected from the group including an inrush state, a breach state, and a drive state, and wherein the controller uses at least one of the motor parameter signal, the first signal feature, and the second signal feature to identify at least one of:the inrush state;the breach state; andthe drive state.

97. The electric power tool of claim 96, wherein the controller is configured to detect the inrush state based on the motor parameter signal.

98. The electric power tool of claim 97, wherein the controller is configured to detect the breach state based on a predetermined duration and an onset of the inrush state.

99. The electric power tool of claim 98, wherein the controller is configured to determine a drive threshold value based on the average value of the second signal feature during the inrush state and a predetermined value.

100. The electric power tool of claim 99, wherein the controller is configured to detect the drive state based on the drive threshold value and the second signal feature.Attorney Docket No. 060210.05208101. The electric power tool of claim 100, wherein the controller is configured to determine a maximum value based on the first signal feature during the inrush state.

102. The electric power tool of claim 101, wherein the controller is configured to determine a minimum value based on the first signal feature during the inrush state.

103. The electric power tool of claim 102, wherein the controller is configured to determine a dynamic threshold based on the maximum value and the minimum value.

104. The electric power tool of claim 103, wherein the controller is configured to determine a dynamic threshold based on the maximum value, the minimum value, and a sensitivity factor.

105. The electric power tool of claim 104, wherein the controller is configured to modify the dynamic threshold based on the first signal feature and a preconfigured signal magnitude.

106. The electric power tool of claim 105, wherein the modification of the dynamic threshold includes reducing the dynamic threshold by a preconfigured amplitude reduction factor.

107. The electric power tool of claim 106, wherein the controller is further configured to determine a reduction factor based on an occurrence of the variability metric of the first signal feature and reduce the dynamic threshold based on the reduction factor.

108. The electric power tool of claim 107, wherein the controller is configured to control the electric motor based on the first signal feature and the dynamic threshold.

109. The electric power tool of claim 100, wherein the controller is configured to control the motor based on a predetermined locking threshold and the first signal feature.Attorney Docket No. 060210.05208110. The electric power tool of claim 92, wherein the controller is further configured to determine a variability metric of the first signal feature.

111. The electric power tool of claim 110, wherein the controller is configured to modify a variability threshold based on the variability metric of the first signal feature.

112. The electric power tool of claim 111, wherein the controller is configured to control the electric motor based on the first signal feature, the second signal feature, and the variability metric.

113. The electric power tool of claim 110, wherein the controller is configured to apply an adaptive Recursive Least Squares filter to the first signal feature to remove the variability metric from the first signal feature.

114. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal, the motor parameter signal having a plurality of frequencies;analyze the motor parameter signal to determine a signal feature based on one or more frequency characteristics with respect to time in a joint time-frequency domain;detect a driving event based on the signal feature;determine a dynamic threshold based on a first characteristic of the signal feature and a second characteristic of the signal feature; andcontrol the electric motor based on the detected driving event, the signal feature and the dynamic threshold.Attorney Docket No. 060210.05208115. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal from the electric motor during insertion of a screw into a bone media;process the motor parameter signal using frequency- selective processing to generate a frequency-band feature signal indicative of magnitude, power, or energy of a selected frequency portion of the motor parameter signal as a function of time;control the electric motor by issuing a stop command based on an amplitude of the frequency-band feature signal and a threshold.

116. An electric power tool, comprising:a housing;an electric motor coupled to the housing; anda controller configured to:receive a motor parameter signal from the electric motor during insertion of a screw into a bone media, the motor parameter signal having a plurality of frequencies;compute a characteristic of the motor parameter signal based on the plurality of frequencies;determine a screw threshold signal based on the characteristic; anddetermine a type of screw based on the characteristic and the screw threshold signal.Attorney Docket No. 060210.05208117. A method of operating an electric power tool, the method comprising: receiving a motor parameter signal, the motor parameter signal having a plurality of frequencies; processing the motor parameter signal using frequency- selective processing to generate a signal feature indicative of magnitude, power, or energy of a selected portion of the plurality of frequencies of the motor parameter signal as a function of time; detecting a driving event based on the signal feature; determining a dynamic threshold based on a first characteristic of the signal feature and a second characteristic of the signal feature; and controlling an electric motor of the electric power tool based on the detected driving event, the signal feature, and the dynamic threshold.

118. A method of operating an electric power tool during insertion of a screw into a bone media, the method comprising: receiving a motor parameter signal from an electric motor; applying an adjustment algorithm to the motor parameter signal to generate a signal feature; determining a characteristic of the signal feature; determining a threshold based on the characteristic; detecting whether a driving event has occurred based on the threshold and the motor parameter signal: and controlling the electric motor based on the detected driving event and the signal feature.

119. A method of operating an electric power tool during insertion of a screw into a bone media, the method comprising: receiving a motor parameter signal from an electric motor; computing a phase characteristic of the motor parameter signal; detecting whether a driving event has occurred based on the phase characteristic; and controlling the electric motor based on the detected driving event.

120. A method of operating an electric power tool during insertion of a screw into a bone media, the method comprising: receiving a motor parameter signal from an electric motor; computing a variability metric of the motor parameter signal; detecting a driving event based on the variability metric and the motor parameter signal; and controlling the electric motor based on the driving event and the motor parameter signal.

121. A method of operating an electric power tool, the method comprising: receiving a motor parameter signal, the motor parameter signal having a plurality of frequencies; analyzing the motor parameter signal to determine a signal feature based on one or more frequency characteristics with respect to time in a joint time-frequency domain; detecting a driving event based on the signal feature; determining a dynamic threshold based on a first characteristic of the signal feature and a second characteristic of the signal feature; and controlling an electric motorAttorney Docket No. 060210.05208of the electric power tool based on the detected driving event, the signal feature, and the dynamic threshold.

122. A method of operating an electric power tool during insertion of a screw into a bone media, the method comprising: receiving a motor parameter signal from an electric motor; processing the motor parameter signal using frequency-selective processing to generate a frequency-band feature signal indicative of magnitude, power, or energy of a selected frequency portion of the motor parameter signal as a function of time; and controlling the electric motor by issuing a stop command based on an amplitude of the frequency-band feature signal and a threshold.

123. A method of operating an electric power tool during insertion of a screw into a bone media, the method comprising: receiving a motor parameter signal from an electric motor, the motor parameter signal having a plurality of frequencies; computing a characteristic of the motor parameter signal based on the plurality of frequencies; determining a screw threshold signal based on the characteristic; and determining a type of screw based on the characteristic and the screw threshold signal.

124. A computer- readable medium stores instructions which, when executed by the controller of the electric power tool, cause the controller to: receive a motor-parameter signal comprising a plurality of frequencies; process the signal using frequency- selective processing to generate a signal feature; detect a driving event based on the signal feature; determine a dynamic threshold from a first and second characteristic of the signal feature; and control the electric motor based on the detected event, the signal feature, and the dynamic threshold.

125. A computer- readable medium stores instructions that cause the controller to: receive a multi-frequency motor-parameter signal during screw insertion; apply an adjustment algorithm to generate a signal feature; determine a characteristic of the signal feature; determine a threshold from the characteristic; detect a driving event based on the threshold and the motor-parameter signal; and control the motor based on the detected event and the signal feature.

126. A computer-readable medium stores instructions which cause the controller to: receive a motor-parameter signal during screw insertion; compute a phase characteristic of the signal; detect a driving event based on the phase characteristic; and control the motor based on the detected event.

127. A computer-readable medium stores instructions that cause the controller to: receive aAttorney Docket No. 060210.05208motor-parameter signal during screw insertion; compute a variability metric of the signal; detect a driving event based on the variability metric and the motor-parameter signal; and control the motor based on the detected event.

128. A computer-readable medium stores instructions that cause the controller to: receive a multi-frequency motor-parameter signal; analyze the signal in a joint time-frequency domain to determine a signal feature; detect a driving event based on the signal feature; determine a dynamic threshold based on first and second characteristics of the signal feature; and control the motor based on the detected event, the signal feature, and the dynamic threshold.

129. A computer-readable medium stores instructions that cause the controller to: receive a motor-parameter signal during screw insertion; process the signal using frequency- selective processing to generate a frequency-band feature; and issue a stop command to the motor based on an amplitude of the frequency-band feature and a threshold.

130. A computer-readable medium stores instructions that cause the controller to: receive a multi-frequency motor-parameter signal during screw insertion; compute a characteristic of the signal; determine a screw-threshold signal based on the characteristic; determine a screw type using the characteristic and the screw-threshold signal; and, in some variants, carry out any of the frequency-selective processing, feature-generation, driving-event-detection, dynamicthreshold-determination, phase-computation, variability-metric-computation, joint timefrequency analysis, adjustment- algorithm processing, or frequency-band stop-command functions described elsewhere in the disclosure.