Power tool with dynamic trigger response to control the power tool

The electronic control unit in power tools adjusts trigger signals using machine learning and feedback mechanisms, enhancing responsiveness and adaptability by modifying trigger responses, addressing the limitations of existing power tools.

DE102024109133B4Active Publication Date: 2026-01-22MILWAUKEE ELECTRIC TOOL CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
DE102024109133
Authority / Receiving Office
DE · DE
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-03-31
Publication Date
2026-01-22
Estimated Expiration
2044-03-31

AI Technical Summary

Technical Problem

Existing power tools lack responsiveness to user input, requiring additional actions or controls to achieve desired output levels, and there is a need for improved dynamic trigger response mechanisms.

Method used

Implementing an electronic control unit that modifies trigger signals based on detected changes in activation levels, using machine learning models and feedback mechanisms to adjust motor operation, and incorporating communication interfaces for external device interaction.

Benefits of technology

Enhances power tool responsiveness without additional user input, allowing for more precise control and adaptive operation through dynamic trigger response.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

Power tools, comprehensive: a case (105); a motor (205) located in the housing (105) and coupled to an output element; a motor drive circuit (217) designed to drive the motor (205); a trigger (210) designed to generate a trigger signal with respect to activation of the trigger (210); and an electronic control (250) connected to the motor drive circuit (217), wherein the electronic control (250) is designed to: Receiving the trigger signal from the trigger (210), wherein the trigger signal corresponds to a first activation quantity of the trigger (210), Determining a magnitude of a property associated with the first activation set of the trigger (210), Modifying the trigger signal based on the size of the property, wherein the modified trigger signal corresponds to a second activation set of the trigger (210), wherein the second activation set of the trigger (210) differs from the first activation quantity of the trigger differs, and Controlling the motor drive circuit (217) to drive the motor (205) based on the modified trigger signal, wherein the electronic control (250) includes a memory (260) which includes a trained machine learning model (240), the electronic control (250) is further designed to: Processing, with the trained machine learning model (240), the trigger signal from the trigger (210), and Generating a target output that includes the modified trigger signal.
Need to check novelty before this filing date? Find Prior Art

Description

RELATED REGISTRATION AREA

[0001] The embodiments described herein relate to the control of power tools.

[0002] Documents that reveal such power tools include the following: DE 10 2018 210 127 A1 DE 10 2016 121 029 A1 US 11 221 611 B2 DE 10 2018 201 006 A1 SUMMARY

[0003] An electric tool with the features of claim 1 and a method with the features of claim 10 are specified. Further advantageous embodiments are defined in the dependent claims. In one embodiment, an electric tool is provided comprising a housing, a motor, a motor drive circuit, a trigger, and an electronic control unit. The motor is located in the housing and is coupled to an output element. The motor drive circuit is configured to drive the motor. The trigger is configured to generate a trigger signal for activation of the trigger. The electronic control unit is connected to the motor drive circuit. The electronic control unit is configured to receive the trigger signal from the trigger. The trigger signal corresponds to a first activation quantity of the trigger.The electronic control is also designed to determine the magnitude of a property associated with the first activation level of the trigger and to modify the trigger signal based on this property magnitude. The modified trigger signal corresponds to a second activation level of the trigger. This second activation level of the trigger differs from the first activation level. The electronic control is also designed to control the motor drive circuit to drive the motor based on the modified trigger signal.

[0004] In some embodiments of the power tool, the electronic control, in order to modify the trigger signal based on the magnitude of the property, is designed to detect a change in the magnitude of the property associated with the first activation quantity of the trigger and to adjust the trigger signal based on the detected change. The adjusted trigger signal corresponds to the second activation quantity of the trigger.

[0005] In some embodiments of the power tool, the power tool includes a communication interface connected to the electronic control unit. This communication interface is designed to communicate with an external device. To modify the trigger signal based on the magnitude of a characteristic, the electronic control unit is further designed to receive a configuration setting of the power tool via the communication interface and to modify a parameter used to adjust the modified trigger signal based on the configuration setting. A value for the configuration setting is selected via user input on the external device.

[0006] In some embodiments of the power tool, the parameter is a kickback parameter or a filter parameter.

[0007] In some embodiments of the power tool, the electronic control, in order to modify the trigger signal based on the magnitude of the property, is further designed to apply one or more constraints to the modified trigger signal in order to limit a modification amount to the trigger signal.

[0008] In some embodiments of the power tool, the power tool further includes a sensor that is coupled to the electronic control unit. The sensor is designed to provide a sensor signal. The electronic control unit is designed to receive the sensor signal and adjust the modified trigger signal based on the sensor signal. The sensor relates to the position of the trigger.

[0009] In some embodiments of the power tool, the electronic control is further designed to: receive feedback information relating to the modified trigger signal, and modify a parameter used to adjust the modified trigger signal based on the received feedback information. The feedback information is selected from a group consisting of: overshoot, undershoot, smoothness, motor efficiency, and feed rate.

[0010] According to the invention, the electronic control includes a memory containing a trained machine learning model, and the electronic control is further designed to process the trigger signal from the trigger with the trained machine learning model and to generate a target output that includes the modified trigger signal.

[0011] In some embodiments of the power tool, the power tool further includes a communication interface connected to the electronic control unit. The communication interface is designed to communicate with an external device. The electronic control unit is further designed to receive feedback regarding the performance of the trained machine learning model from at least one of the following: users via the communication interface, one or more sensors enclosed in the power tool, or both. The electronic control unit is also designed to modify the trained machine learning model based on the feedback.

[0012] In another embodiment, a method for implementing a dynamic trigger response for controlling a power tool is provided. The method includes receiving a trigger signal from a trigger of the power tool. The trigger signal corresponds to a first activation level of the trigger. The method also includes determining the magnitude of a property associated with the first activation level of the trigger. The method further includes modifying the trigger signal based on the magnitude of this property. The modified trigger signal corresponds to a second activation level of the trigger, and this second activation level differs from the first activation level. The method also includes driving a motor of the power tool based on the modified trigger signal.

[0013] In some embodiments of the method, modifying the trigger signal based on the property size involves detecting a change in the size of the property associated with the first activation quantity of the trigger and adjusting the trigger signal based on the change. The adjusted trigger signal corresponds to the second activation quantity of the trigger.

[0014] In some embodiments of the method, modifying the trigger signal based on the size of the property involves receiving a selection of a value for a configuration setting of the power tool and modifying a parameter that is used to adjust the modified trigger signal based on the configuration setting.

[0015] In some embodiments of the method, the parameter is at least one that is selected from a group consisting of a feedback parameter and a filter parameter.

[0016] In some embodiments of the method, modifying the trigger signal based on the size of the property involves applying one or more constraints to the modified trigger signal in order to limit the amount of modification to the trigger signal.

[0017] In some embodiments of the method, the method further includes receiving a sensor signal from a sensor and adjusting the modified trigger signal based on the sensor signal. The sensor signal relates to a position of the trigger.

[0018] In some embodiments of the method, the method further includes receiving feedback information relating to the modified trigger signal and modifying a parameter used to adjust the modified trigger signal. The feedback information is selected from a group consisting of: exceedance, undershooting, signal smoothness, motor efficiency, and feed rate.

[0019] According to the invention, the method further includes processing the trigger signal from the trigger with a trained machine learning model and generating a target output that includes the modified trigger signal.

[0020] In some embodiments of the method, the method further includes receiving feedback regarding the performance of the trained machine learning model from one or more users of the power tool, one or more sensors enclosed in the power tool, or both. The method also includes modifying the trained machine learning model based on the feedback.

[0021] In yet another embodiment, a power tool is provided that includes a housing, a motor, a motor drive circuit, a trigger, and an electronic control unit. The motor is located in the housing and is coupled to an output element. The motor drive circuit is designed to drive the motor. The trigger is designed to generate a trigger signal indicating activation of the trigger. The electronic control unit is coupled to the motor drive circuit and is designed to receive the trigger signal from the trigger. The trigger signal corresponds to an initial activation of the trigger. The electronic control unit is also designed to determine the magnitude of a property associated with the initial activation of the trigger and to detect changes in the magnitude of this property.The electronic control is further designed to modify the trigger signal based on the detected change in the magnitude of the property. The modified trigger signal corresponds to a second activation level of the trigger, and this second activation level differs from the first activation level of the trigger. The electronic control is further designed to control the motor drive circuit to drive the motor based on the modified trigger signal, to receive feedback information related to the modified trigger signal, and to modify a parameter used to adjust the modified trigger signal based on the received feedback information.

[0022] In some embodiments of the power tool, the feedback information is selected from a group consisting of: an overshoot value, an undershoot value, a smoothness value, motor efficiency, and a feed rate.

[0023] Before the embodiments are explained in detail, it is understood that their application is not limited to the specific configurations and arrangements of components set forth in the following description or illustrated in the accompanying drawings. The embodiments can be implemented or carried out in a wide variety of ways. Furthermore, it is understood that the language and terminology used herein are for descriptive purposes only and should not be considered restrictive. The use of "including," "comprising," or "featuring," and variations thereof, is intended to encompass the elements and equivalents listed thereafter, as well as any additional elements.Unless otherwise specified or limited, the terms “fastened”, “connected”, “supported” and “coupled” and variations thereof are used in a broad sense and include both direct and indirect fastenings, connections, supports and couplings.

[0024] Additionally, it should be understood that embodiments may include hardware, software, and electronic components or modules, which for the purposes of this discussion may be illustrated and described as if the majority of the components were implemented solely in hardware. However, a person skilled in the art, based on a reading of this detailed description, would recognize that in at least one embodiment, the electronics-based aspects may be implemented in software (e.g., stored on a non-volatile, computer-readable medium) executable by one or more processing units, such as a microprocessor and / or application-specific integrated circuits (“ASICs”).It should therefore be noted that a variety of hardware- and software-based devices, as well as a variety of different structural components, can be used to implement the embodiments. For example, the "servers," "computing devices," "controllers," "processors," etc., described in the patent specification, can include one or more processing units, one or more computer-readable media modules, one or more input / output interfaces, and various connections (e.g., a system bus) that link the components.

[0025] Relative terminology, such as "about," "approximately," "essentially," etc., used in connection with a quantity or condition, would be understood by average professionals to include the stated value and has the meaning prescribed by the context (e.g., the term includes at least the degree of error inherent in the measurement accuracy, tolerances [e.g., manufacturing, assembly, use, etc.] associated with the stated value, etc.). Such terminology should also be considered to encompass the range defined by the absolute values ​​of the two endpoints. For example, the phrase "from about 2 to about 4" also encompasses the range "from 2 to 4." Relative terminology may refer to plus or minus a percentage (e.g., 1%, 5%, 10%, or more) of a stated value.

[0026] It should be understood that, although certain drawings illustrate hardware and software located within specific devices, these illustrations are for illustrative purposes only. Functionality described herein as being performed by a single component may be performed by multiple components in a distributed manner. Likewise, functionality performed by multiple components may be consolidated and performed by a single component. In some embodiments, the illustrated components may be combined or separated into separate software, firmware, and / or hardware. For example, instead of being located within and performed by a single electronic processor, logic and processing may be distributed among many electronic processors.Regardless of how they are combined or separated, hardware and software components may reside on the same computing device or may be distributed across different computing devices connected by one or more networks or other suitable communication links. Likewise, a component described as performing a particular functionality may also perform additional functionality not described herein. For example, a device or structure that is “configured” in a certain way is at least configured in that way, but may also be configured in ways not explicitly stated.

[0027] Further aspects of the embodiments will become apparent upon consideration of the detailed description and accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig.Figure 1 illustrates a communication system according to some embodiments. Fig. Figure 2 illustrates a power tool including a trigger according to some embodiments. Fig. 3A is a block diagram of an example power tool from Fig. 2 according to some embodiments. Fig. 3B is a block diagram of a machine learning control system for the power tool of Fig. 3A according to some embodiments. Fig. Figure 4 is a circuit diagram of a power switching network according to some embodiments. Fig. Figure 5 illustrates a schematic control diagram of a power tool according to some embodiments. Fig. Figure 6 illustrates a graph of a dynamic trigger response according to some embodiments. Fig.Figure 7A illustrates a schematic control diagram of a power tool implemented with a machine learning model, according to some embodiments. Fig. Figure 7B illustrates a schematic control diagram of a power tool implemented with a machine learning model, according to some embodiments. Fig. Figure 7C illustrates a schematic control diagram of a power tool implemented with a machine learning model, according to some embodiments. Fig. Figure 8 illustrates a method for creating and implementing a machine learning controller according to one embodiment. Fig. Figure 9 illustrates a circuit of a power tool for controlling a dynamic trigger response according to some embodiments. Fig.Figure 10 is a flowchart illustrating a method for implementing a dynamic trigger response for controlling a power tool, according to some embodiments. DETAILED DESCRIPTION

[0028] The embodiments described herein provide a dynamic trigger mapping or dynamic trigger response for a power tool. For example, an input trigger signal can be exaggerated to make the power tool's response to the input trigger signal more responsive than a user could otherwise achieve by manipulating the trigger alone. For instance, while the trigger is being pulled or actuated, the increasing value of the input trigger signal can be exaggerated to provide a higher output value than the input trigger signal would otherwise produce. Likewise, while the trigger is being released or disengaged, the decreasing value of the input trigger signal can be exaggerated to provide a lower output value than the input trigger signal would otherwise produce.The result of such control is that the operation of the power tool will be more responsive to the input trigger signal, without requiring any additional actions or controls from a user. In some embodiments, such a dynamic trigger response or mapping is achieved using control theory. In some embodiments, such a dynamic trigger response or mapping is achieved using machine learning control. In some embodiments, such a dynamic trigger response or mapping is achieved using only hardware circuit arrangements.

[0029] Fig.Figure 1 illustrates a communication system 100. The communication system 100 includes power tool devices 102, 104, and an external device 108. Each power tool device (e.g., power tool 102 and power tool battery pack 104) and the external device 108 can communicate wirelessly while within a communication range of each other. Each power tool device 102, 104, can communicate power tool status, power tool operating statistics, power tool identification, stored power tool usage information, power tool maintenance data, and the like. Therefore, a user can access stored power tool usage or power tool maintenance data using the external device 108.This tool data allows a user to determine how the power tool 102 has been used, whether maintenance is recommended or has been performed in the past, and to identify faulty components or other reasons for specific performance problems. The external device 108 is also designed to transmit data to the power tool 102 for power tool configuration, firmware updates, or to send commands (e.g., to turn on a work light). Furthermore, the external device 108 allows a user to set operating parameters, safety parameters, select tool modes, and the like for the power tool 102. The external device 108 can include, for example, a smartphone, tablet computer, laptop computer, smartwatch, and the like.

[0030] Furthermore, as in Fig.Figure 1 shows that the external device 108 shares the information received from the power tool 102 with a server 112 (for example, a remote server) connected via a network 114. The server 112 can be used to store the data received from the external device 108, to provide additional functionality and services to the user, or a combination thereof. In some embodiments, storing the information on the server 112 allows a user to access the information from a variety of different locations. In another embodiment, the server 112 can collect information from different users regarding their power tool devices and provide statistics or statistical measures to the user based on information received from the various power tools.For example, the server 112 can provide statistics regarding the perceived efficiency of the power tool 102, typical usage of the power tool 102, and other relevant properties and / or dimensions of the power tool 102. The network 114 can include various networking elements (routers, hubs, switches, radio masts, wired connections, wireless connections, etc.) for connecting, for example, to the internet, a mobile data network, a local area network, or a combination thereof. In some embodiments, the power tool devices 102, 104 can be designed to communicate directly with the server 112 via an additional wireless interface or with the same wireless interface that the power tool devices 102, 104 use to communicate with the external device 108.

[0031] In some embodiments, the external device 108 may include a short-range transceiver for communication with the power tool 102 or the battery pack 104 and a long-range transceiver for communication with the server 112. In the illustrated embodiment, the power tool 102 and the battery pack 104 also include a transceiver for communication with the external device, for example, via a short-range communication protocol such as BLUETOOTH®. In some embodiments, the external device 108 bridges the communication between the power tool devices 102, 104 and the server 112. That is, the power tool devices 102, 104 transmit operating data to the external device 108, and the external device 108 forwards the operating data from the power tool devices 102, 104 to the server 112 via the network 114.The network 114 can be a long-range wireless network, such as the Internet, a local area network (LAN), a wide area network (WAN), or a combination thereof. In other embodiments, the network 114 can be a short-range wireless communication network, and in still other embodiments, the network 114 can be a wired network, for example, using USB or USB cables. Similarly, the server 112 can transmit information to the external device 108, which is then forwarded to the power tool devices 102 and 104.

[0032] In some embodiments, the power tool 102 is equipped with a long-range transmitter instead of, or in addition to, the short-range transmitter / receiver. In such embodiments, the power tool devices 102, 104 communicate directly with the server 112. In some embodiments, the power tool devices 102, 104 can communicate directly with both the server 112 and the external device 108. In such embodiments, the external device 108 can, for example, generate a graphical user interface to enable control and programming of the power tool devices 102, 104, while the server 112 can store and analyze larger amounts of operational data for future programming or operation of the power tool devices 102, 104.In other embodiments, however, the power tool devices 102, 104 can communicate directly with the server 112 without using a short-range communication protocol with the external device 108.

[0033] In some embodiments, the power tool 102 and the power tool battery pack 104 can communicate wirelessly with each other via respective wireless transceivers in each device. For example, the power tool battery pack 104 can communicate a battery property to the power tool 102 (e.g., battery pack identification, battery pack type, battery pack weight, current output capability of the battery pack 104, and the like). Such communication can occur while the battery pack 104 is coupled to the power tool 102. Additionally or alternatively, the battery pack 104 and the power tool 102 can communicate with each other using a communication terminal while the battery pack 104 is coupled to the power tool 102. For example, the communication terminal can be located near the battery terminals in the battery receiving section.

[0034] In some embodiments, the power tool 102 periodically transmits usage data to the server 112 based on a predetermined schedule (e.g., every eight hours). In other embodiments, the power tool 102 transmits usage data after a predetermined period of inactivity (e.g., if the power tool 102 has been inactive for two hours), which can indicate that an operating session has been completed. In some embodiments, the power tool 102 transmits usage data to the server 112 in real time and can implement the updated thresholds and parameters in subsequent operations.

[0035] The power tool 102 is designed to perform one or more specific tasks (e.g., drilling, cutting, fastening, pressing, applying lubricants, roughening surfaces, heating, grinding, bending, shaping, striking, polishing, lighting, etc.). For example, an impact wrench and a rotary hammer are associated with the task of generating a rotary output (e.g., to drive a drill bit).

[0036] Fig. Figure 2 illustrates the power tool 102, as above with reference to Fig.As described in Figure 1, the power tool 102 comprises a housing 105, a battery pack interface 110, a driver 115 (e.g., a chuck or a tool holder), and an input, such as a trigger assembly 120. In some embodiments, the trigger assembly includes one or more sensors designed to determine a trigger position (e.g., distance traveled from an initial position) and / or pressure with respect to a user input. In some embodiments, the input can be considered a generalized input, such as pressure on a workpiece, a rotary screwdriver, a feed rate (e.g., of a lawnmower), a rotary knob, etc. The power tool 102 may further include a forward / reverse selector 122, which may allow a user to control the direction of a rotating section of the tool.The power tool 102 may also include a mode selector input or other user interface elements, such as a clutch ring, a gear selector, a speed selector, and the like.

[0037] Although Fig.2. A specific power tool with a rotary output is shown. It is considered that the dynamic trigger response operations described herein can be used with several types of power tools, such as a circular saw, jigsaw, reciprocating saw, band saw, grinder, cut-off saw, tire buffer, mud mixer, belt file, polisher, sander, cutting tool, demolition hammer, drill driver, rotary hammer, angle drill, impact wrench, impact wrench, ratchet, screwdriver, crimping tool, pipe threader, pump, wire cutter, wire stripper, bar cutter, pipe cutter, pipe shear, breakout tool, PEX expander, inflator, compressor, wastewater drum, transfer pump, drain snake, riveting tool, heat gun, grease gun,a caulking gun, chain hoist, chainsaw, miter saw, table saw, multi-tool, router, planer, vacuum cleaner, fan, blower, lawnmower, etc., or any other type of power tool that uses, for example, a brushless DC motor, an AC motor, a brushed motor, a stepper motor, or the like, controlled by a user input (e.g., a trigger). In some embodiments, different types of power tools can utilize speed control, power control, torque control, PWM control, etc., based on a trigger input.

[0038] Fig. Figure 3A is a block diagram of a representative power tool 200, which includes a machine learning controller 240. Similar to the exemplary power tool 102 from Fig.1 represents the power tool 200, which encompasses various types of power tools. Accordingly, the description of the power tool 200 is equally applicable to other types of power tools. The machine learning controller 240 of the power tool 200 can be a static machine learning controller, an adaptable machine learning controller, a self-updating machine learning controller, etc. Although the power tool 200 is of Fig.3A, as described in that it is in communication with the external device 108 or with a server 112, in some embodiments the power tool 200 is self-contained or closed with respect to machine learning and does not need to communicate with the external device 108 or the server 112 to perform the functionality of the machine learning controller 240, which is described in more detail below. In some embodiments, the power tool 200 does not include the machine learning controller 240.

[0039] As in Fig.As shown in Figure 3A, the power tool 200 includes a work light 202, a motor 205, a trigger 210, a power interface 215, a switching network 217, a power input controller 220, a wireless communication device 225, a mode pad 227, a variety of sensors 230, a variety of indicators 235, and an electronic control assembly 236. The electronic control assembly 236 includes the machine learning controller 240, an activation switch 245, and an electronic processor 250. The motor 205 actuates a drive device of the power tool 200, enabling the drive device to perform the specific task for the power tool 200. In some embodiments, the motor 205 is coupled directly or indirectly (for example, via the drive device) to an output element. The motor 205 receives power from an external power source through the power interface 215.In some embodiments, the external power source includes an AC power source. In such embodiments, the power interface 215 includes an AC power cable that can be connected, for example, to an AC power outlet. In other embodiments, the external power source includes a battery pack, such as battery pack 104. In such embodiments, the power interface 215 includes a battery pack interface. The battery pack interface may include a battery pack receiving section on the power tool 200, which is designed to receive and connect to a battery pack (e.g., battery pack 104). The battery pack receiving section may include a connection structure for engaging with a mechanism that secures the battery pack and a terminal block for electrically connecting the battery pack to the power tool 200.

[0040] The motor 205 is powered based on the state of the trigger 210. Generally, the motor 205 is powered when the trigger 210 is activated, and when the trigger 210 is deactivated, the motor 205 is off. In some embodiments, the trigger 210 extends partially along the length of the power tool handle and is movably coupled to the handle, such that the trigger 210 moves relative to the power tool housing. In the illustrated embodiment, the trigger 210 is coupled to a trip switch 255, such that the trip switch 255 is activated when the trigger 210 is pressed, and deactivated when the trigger is released. In the illustrated embodiment, the trigger 210 is biased (e.g., with a biasing element, such as a spring).a spring), so that the trigger 210 moves in a second direction away from the handle of the power tool 200 when the trigger 210 is released by the user. In other words, the default state of the trigger switch 255 is intended to be deactivated unless a user presses the trigger 210 and activates the trigger switch 255. In some embodiments, the trigger 210 may be located away from the housing of the power tool. In some implementations, the trigger 210 is connected to the power tool 102, 200 via a mechanical connection (e.g., a cable) or an electrical connection (e.g., a signal transmitted wirelessly in remote control applications).

[0041] The switching network 217 enables the electronic processor 250 to control the operation of the motor 205. The switching network 217 includes a variety of electronic switches (e.g., FETs, bipolar transistors, and the like) interconnected to form a network that controls the activation of the motor 205 using a pulse-width modulated (PWM) signal. For example, the switching network 217 may include a six-FET bridge that receives pulse-width modulated (PWM) signals from the electronic processor 250 to drive the motor 205. Generally, electrical current is supplied from the power interface 215 to the motor 205 via the switching network 217 when the trigger 210 is pressed, as indicated by an output from the trigger switch 255. When the trigger 210 is not pressed, no electrical current is supplied from the power interface 215 to the motor 205.

[0042] In response to the electronic processor 250 receiving the activation signal from the trigger switch 255, the electronic processor 250 activates the switching network 217 to supply power to the motor 205. The switching network 217 controls the amount of current available to the motor 205, thereby controlling the speed and torque outputs of the motor 205. The mode pad 227 allows a user to select a mode for the power tool 200 and indicates the currently selected mode to the user. In some embodiments, the mode pad 227 includes a single actuator. In such embodiments, a user can select an operating mode for the power tool 200, for example, based on the number of actuations of the mode pad 227 actuator. For example, if the user actuates the actuator three times, the power tool 200 can operate in a third operating mode.In some embodiments, the mode pad 227 includes a plurality of actuators, each corresponding to a different operating mode. For example, the mode pad 227 may include four actuators. When the user activates one of the four actuators, the power tool 200 can operate in a first operating mode. The electronic processor 250 receives a user selection of an operating mode via the mode pad 227 and controls the switching network 217 so that the motor 205 is operated according to the selected operating mode. In some embodiments, the power tool 200 does not include a mode pad 227. In such embodiments, the power tool 200 can operate in a single mode or may include a different selection mechanism for choosing an operating mode for the power tool 200.

[0043] The sensors 230 are coupled to the electronic processor 250 and communicate various output signals to the electronic processor 250, indicating different parameters of the power tool 200 or the motor 205. The sensors 230 include, for example, Hall effect sensors, motor current sensors, motor voltage sensors, temperature sensors, torque sensors, a microphone, position sensors (e.g., laser, radio frequency [RF], laser imaging, detection and distance measurement [LIDAR], or the like), motion sensors such as accelerometers or gyroscopes, chemical sensors, pressure sensors, force sensors, and the like. The Hall effect sensors output motor feedback information to the electronic processor 250, such as a value (e.g., a signal, a pulse, etc.) related to the position of the motor, the speed, and / or acceleration of the rotor of the motor 205.In some embodiments, the electronic processor 250 uses the motor feedback information from the Hall-effect sensors to control the switching network 217 to drive the motor 205. For example, by selectively activating and deactivating the switching network 217, power is selectively supplied to the motor 205 to cause it to rotate at a specific speed, torque, or a combination thereof. The electronic processor 250 can also control the operation of the switching network 217 and the motor 205 based on other sensors included in the power tool 200.For example, in some embodiments, the electronic processor 250 modifies the control signals based on a sensor output signal indicating the number of blows delivered by the power tool 200, a sensor output signal indicating the speed of the anvil of the power tool 200, and the like. The output signals from the sensors are used to ensure the correct timing of control signals to the switching network 217 and, in some cases, to provide closed-loop feedback to control the speed of the motor 205 so that it remains within a target range or at a target level.In some embodiments, as described in more detail below, the electronic processor 250 can also control the operation of the switching network 217 and the motor 205 by automatically adjusting an electrical current supplied from the power interface 215 to the motor 205, for example using the machine learning controller 240.

[0044] The indicators 235 are also coupled to the electronic processor 250. The indicators 235 receive control signals from the electronic processor 250 to, for example, generate a visual signal to communicate information regarding the operation or status of the power tool 200 to the user. The indicators 235 may, for example, include LEDs or a display screen and can generate various signals that indicate, for example, an operating state or mode of the power tool 200, an abnormal condition or unusual event detected during the operation of the power tool 200, and the like. For example, the indicators 235 can indicate measured electrical properties of the power tool 200, the condition or status of the power tool 200, an operating mode of the power tool 200 (discussed in more detail below), and the like.In some embodiments, the indicators 235 include elements to convey information to a user by means of acoustic or tactile outputs. In some embodiments, the power tool 200 does not include any indicators 235. In some embodiments, the operation of the power tool 200 warns the user of a condition of the power tool. For example, a rapid deceleration of the motor 205 may indicate that an abnormal condition exists. In some embodiments, the power tool 200 communicates with the external device 108, and the external device 108 generates a graphical user interface that conveys information to the user without the need for indicators 235 on the power tool 200 itself.

[0045] The power interface 215 is coupled to the power input controller 220. The power interface 215 transmits the power received from the external power source to the power input controller 220. The power input controller 220 includes active and / or passive components (e.g., voltage step-down regulators, voltage converters, rectifiers, filters, etc.) to regulate or control the power received through the power interface 215 to the electronic processor 250 and other components of the power tool 200, such as the wireless communication device 225.

[0046] The wireless communication module or wireless communication device 225 is coupled to the electronic processor 250. In the exemplary power tools 102, 200 of Fig.1-3A The wireless communication device 225 can be located near the base of the power tool 102, 200 to save space and to ensure that the magnetic activity of the motor 205 does not interfere with the wireless communication between the power tool 200 and the server 112 or with the external device 108. In a specific example, the wireless communication device 225 is positioned under the mode pad 227. The wireless communication device 225 can, for example, include a radio transceiver and antenna, memory, a processor, and a real-time clock. The radio transceiver and antenna work together to send and receive wireless messages to and from the external device 108 or the server 112 and the electronic processor 250.The memory of the wireless communication device 225 stores instructions to be implemented by the processor and / or can store data related to communications between the power tool 200 and the external device 108 or the server 112. The processor for the wireless communication device 225 controls wireless communications between the power tool 200 and the external device 108 or the server 112. For example, the processor of the wireless communication device 225 buffers incoming and / or outgoing data, communicates with the electronic processor 250, and determines the communication protocol and / or settings to be used in wireless communications.

[0047] In some embodiments, the wireless communication device 225 is a Bluetooth® controller. The Bluetooth® controller communicates with the external device 108 or the server 112 using the Bluetooth® protocol. In such embodiments, the external device 108 or the server 112 and the power tool 200 are therefore within a communication range (i.e., in close proximity) of each other while exchanging data. In other embodiments, the wireless communication device 225 communicates using other protocols (e.g., WiFi, cellular protocols, a proprietary protocol, etc.) over a different type of wireless network. For example, the wireless communication device 225 may be configured to communicate via WiFi over a wide area network, such as the internet, or a local area network, or to communicate via a piconet (e.g., using infrared or NFC communication).Communication via the wireless communication device 225 can be encrypted to protect the data exchanged between the power tool 200 and the external device 108 or the server 112 from third parties.

[0048] In some embodiments, the wireless communication device 225 includes a real-time clock (RTC). The RTC increments and maintains the time independently of the other components of the power tool. The RTC receives power from the power interface 215 when an external power source is connected to the power tool 200, and can receive power from a backup power source when the external power source is not connected to the power tool 200. The RTC can time-stamp the operating data from the power tool 200. Furthermore, the RTC can activate a safety feature in which the power tool 200 is disabled (e.g., locked and rendered inoperable) if the RTC's time exceeds a user-defined lockout period.

[0049] In some embodiments, the wireless communication device 225 exports tool usage data, maintenance data, mode information, drive device information, and the like from the power tool 200 (e.g., from the electronic processor 250). The exported data can, for example, indicate when work has been completed and that work has been completed according to specifications. The exported data can also provide a chronological record of work performed, track the duration of tool usage, and the like. The server 112 receives the exported information either directly from the wireless communication device 225 or via an external device 108 and logs the data received from the power tool 200.As discussed in more detail below, the exported data can be used by the Power Tool 200, the External Device 108, or the Server 112 to train or adapt a machine learning controller relevant to similar power tools. The Wireless Communication Device 225 can also receive information from the Server 112 or the External Device 108, such as configuration data, operating thresholds, maintenance thresholds, mode configurations, programs for the Power Tool 200, updated machine learning controllers for the Power Tool 200, and the like.

[0050] In some embodiments, the power tool 200 does not include the wireless communication device 225. In other embodiments, the power tool 200 includes a wired communication interface for communication with, for example, the external device 108. The wired communication interface can provide a faster communication path than the wireless communication device 225.

[0051] In some embodiments, the power tool 200 includes a data sharing setting. The data sharing setting specifies which data, if any, is exported from the power tool 200 to the external device 108 or the server 112. In some embodiments, the power tool 200 receives (e.g., via a graphical user interface generated by the external device 108) an indication of the type of data to be exported from the power tool 200. In some embodiments, the external device 108 can display different data sharing options or levels for the power tool 200, and the external device 108 receives the user's selection via its generated graphical user interface. For example, the power tool 200 can receive an indication that only usage data (e.g.,Motor current and voltage, number of blows delivered, torque associated with each blow, and the like) are to be exported from the power tool 200, but information regarding, for example, the modes implemented by the power tool 200, the location of the power tool 200, and the like, may not be exported. In some embodiments, the data sharing setting can be a binary indication of whether or not data relating to the operation of the power tool 200 (e.g., usage data) is transmitted to the server 112. The power tool 200 receives the user's selection for the data sharing setting and stores the data sharing setting in memory to control the communication of the wireless communication device 225 according to the selected data sharing setting.

[0052] The electronic control assembly 236 is electrically and / or communicatively connected to a variety of modules or components of the power tool 200. The electronic control assembly 236 controls the motor 205 based on the outputs and settings from the machine learning controller 240. In particular, the electronic control assembly 236 includes the electronic processor 250 (also referred to as an electronic controller), the machine learning controller 240, and the activation switch 245. In some embodiments, the electronic processor 250 includes a variety of electrical and electronic components that provide power, operational control, and protection for the components and modules within the electronic processor 250 and / or the power tool 200. For example, the electronic processor 250 includes, among other things, a processing unit 257 (e.g.,a microprocessor, a microcontroller, or another suitable programmable device), a memory 260, input units 265, and output units 270. The processing unit 257 includes, among other things, a control unit 272, an arithmetic logic unit (“ALU”) 274, and a plurality of registers 276. In some embodiments, the electronic processor 250 is partially or completely implemented on a semiconductor chip (e.g., an “FPGA” semiconductor chip (Field Programmable Gate Array)) or an application-specific integrated circuit (“ASIC”), such as a chip developed via an “RTL” (Register Transfer Level) design process.

[0053] Memory 260 includes, for example, a program memory area and a data memory area. The program memory area and the data memory area can be combinations of different memory types, such as read-only memory (ROM), random access memory (RAM) (e.g., dynamic RAM [DRAM], synchronous DRAM [SDRAM], etc.), electrically erasable programmable read-only memory (EEPROM), flash memory, a hard disk, an SD card, or other suitable magnetic, optical, physical, or electronic storage devices. The processing unit 257 is connected to memory 260 and executes software instructions stored in RAM of memory 260 (e.g., during execution), in ROM of memory 260 (e.g., permanently), or on another non-volatile, computer-readable medium, such as...The software can be stored in another memory or on a disk. Software included in the implementation of the power tool 200 can be stored in the memory 260 of the electronic processor 250. The software includes, for example, firmware, one or more applications, program data, filters, rules, one or more program modules, and other executable instructions. In some embodiments, the machine learning controller 240 can be stored in the memory 260 of the electronic processor 250 and is executed by the processing unit 257.

[0054] In some embodiments, the machine learning controller 240 receives one or more settings from the power tool 200 as an input. For example, the power tool 200 may have settings such as an adjustable clutch, modes (e.g., for hammer drilling, screwdriving, or drilling), gear settings (e.g., for higher and lower gear ratios), speed control, etc. In some embodiments, the machine learning controller 240 may also receive information as an input about an attached accessory, the use of a nearby tool, or other factors that provide contextual information about the power tool 200. The machine learning controller 240 can use this additional settings and information to process the trigger activations. For example, an ideal dynamic response from the trigger 210 for a light-torque screwdriving application of the power tool 200 may be less.

[0055] In general, when a trigger, such as the trigger 210, is actuated, the electronic control assembly 236 uses one or more predefined trigger mapping functions or profiles to generate an output that is then used to drive the switching network 217 to control the operation of the motor 205. For example, these mappings may be functions that directly map the trigger pressure output (e.g., trigger signal) to a target value. The output of the trigger 210 is generated by one or more trigger sensors and is generally processed by the electronic control assembly 236, for example, using an analog-to-digital converter (“ADC”). However, in some embodiments, the trigger sensors may not include the ADC circuitry. The electronic control assembly 236 then attempts to control the motor 205 to achieve the target value.Forces such as friction (both static and kinetic) and resistance forces (e.g., pressure due to a sealed compartment in the trigger assembly 120) can, however, cause the force exerted on the trigger 210 to be a non-direct function of the trigger depress distance. These forces can lead to trigger mappings and subsequent outputs that do not accurately reflect the user's intent if, for example, they are based solely on position or force.

[0056] The electronic processor 250 is designed to retrieve and execute instructions from memory 260 related to the control processes and procedures described herein. In some embodiments, as described in more detail below, the power tool 200 (e.g., the electronic control assembly 236) automatically selects a trigger mapping profile for the power tool 200, for example, using the machine learning controller 240, to exaggerate a characteristic of a trigger signal from the trigger 210 (e.g., exaggerating an increase in trigger actuation, exaggerating a decrease in trigger actuation, etc.). The electronic processor 250 is also designed to store power tool information in memory 260, including tool usage information, information identifying the tool type, a unique identifier for the specific tool, and user characteristics (e.g.,Identity, occupation, qualification level), and other information relevant to the operation or maintenance of the power tool 200 (e.g., received from an external source, such as the external device 108, or pre-programmed at the time of manufacture). Tool usage information, such as current level, motor speed, motor acceleration, motor direction, and number of strokes, can be captured or derived from data output by the sensors 230. In particular, Table 1 shows example types of tool usage information that can be captured or derived by the electronic processor 250. Table 1 Data type Time series data Non-time series data Raw data Trigger, current, voltage, rotational speed, torque, temperature, movement, timing between events (e.g., impacts), etc. Duration, date, time, point in time, time since last use, mode, clutch setting, direction, battery type, presence of a side handle, errors, history of past applications and switching frequency, user inputs, external inputs, gear, etc. Derived functions Filtered values ​​of raw data, fast Fourier transforms (FFTs), undersampled / pooled data, fitted parameters (e.g., polynomial fittings), PCA, features generated by encoder-[decoder] networks, derived features (e.g., estimated energy, momentum, inertia of system), derivatives / integrals / functions / accumulators of parameters, padded data, sliding window of data, etc. Principal component analysis (PCA), features generated by encoder-[decoder] networks, likelihood matrix of application / history, functions of inputs, etc.

[0057] In some embodiments, the power tool 102, the battery pack 104, the external device 108, or the server 112 may include the machine learning controller 240, which implements a machine learning program. A transceiver enables the power tool 102, the battery pack 104, the external device 108, or the server 112 to receive tool usage data from the power tool 102 and to store the received tool usage data in memory. In some embodiments, the received tool usage data is used to create or adapt the machine learning controller 240.

[0058] The Machine Learning Controller 240 is designed to construct a model based on example inputs (e.g., to create one or more algorithms). In supervised learning, a computer program is presented with example inputs and their actual outputs (e.g., categorizations). The Machine Learning Controller 240 is designed to learn a general rule or model that maps the inputs to the outputs based on the provided example input-output pairs. The machine learning algorithm can be designed to perform machine learning using various types of methods.For example, the Machine Learning Controller 240 can implement the machine learning program using decision tree learning, association rule learning, artificial neural networks, recurrent artificial neural networks, long short-term memory neural networks, inductive logic programming, support vector machines, clustering, Bayesian networks, reinforcement learning, representational learning, similarity and metric learning, sparse dictionary learning, genetic algorithms, k-nearest neighbors (KNN), and others, such as those listed below in Table 2. Table 2 Recurrent models Recurrent neural networks [“RNNs”], long short-term memory models [“LSTM” models], gated recurrent unit models [“GRU” models], Markov processes, reinforcement learning Non-recurrent models Deep neural networks [“DNN”], convolutional neural networks [“CNN”], support vector machines [“SVM”], anomaly detection (e.g., principal component analysis [“PCA”]), logistic regression, decision trees / forests, ensemble methods (combination of models), polynomial / Bayesian / other regressions, stochastic gradient descent [“SGD”], linear discriminant analysis [“LDA”], quadratic discriminant analysis [“QDA”], nearest neighbor classifications / regression, naive Bayes, etc.

[0059] The machine learning controller 240 is programmed and trained to perform a specific task. For example, in some embodiments, the machine learning controller 240 is trained to predict a target output of the power tool 102. The task for which the machine learning controller 240 is trained can vary, for example, based on the type of power tool, a user's selection, typical applications for which the power tool is used, and the like. Similarly, the way in which the machine learning controller 240 is trained also varies based on the specific task. In particular, the training examples used to train the machine learning controller 240 can contain different information and can have different dimensions based on the task of the machine learning controller 240.In the example mentioned above, where the machine learning controller 240 is designed to predict a target output of the power tool 102, each training example can include a set of inputs, such as a trigger input (e.g., a trigger signal). Each training example also includes a specified output. For example, if the machine learning controller 240 identifies a property of a trigger signal, a training example might have an output that includes a specific target output of a trigger mapping of the power tool 102. Other training examples, which include different values ​​for each of the inputs and an output, indicate that the trigger input, for example, increases or decreases a rate of increase or decrease, etc. The training examples can be previously collected training examples, for example, from a large number of power tools of the same type.For example, the training examples may have been previously collected from, for example, two hundred power tools of the same type (e.g., drills), for example over a period of one year.

[0060] A variety of different training examples are provided to the Machine Learning Controller 240. The Machine Learning Controller 240 uses these training examples to create a model (e.g., a rule, a set of equations, and the like) that helps categorize or estimate the output based on new input data. The Machine Learning Controller 240 can weight different training examples differently to, for example, prioritize different conditions or outputs. In some embodiments, the training examples are weighted differently by assigning a different cost function or value to specific training examples or types of training examples.

[0061] In some embodiments, the machine learning controller 240 implements an artificial neural network. The artificial neural network typically includes an input layer, a multitude of hidden layers or nodes, and an output layer. Typically, the input layer contains as many nodes as there are inputs provided to the machine learning controller 240. As described above, the number (and type) of inputs provided to the machine learning controller 240 can vary based on the specific task for the machine learning controller 240. Accordingly, the input layer of the artificial neural network of the machine learning controller 240 can have a different number of nodes based on the specific tasks for the machine learning controller 240. The input layer is connected to the hidden layers.The number of hidden layers varies and can depend on the specific task for the machine learning control system. Furthermore, each hidden layer can have a different number of nodes and can be connected to the next layer in a different way. For example, each node of the input layer can be connected to each node of the first hidden layer. A weight parameter can be assigned to the connection between each node of the input layer and each node of the first hidden layer. Additionally, a bias value can be assigned to each node of the neural network. However, it is possible that not every node of the first hidden layer is connected to every node of the second hidden layer. That is, there can be nodes of the first hidden layer that are not connected to all nodes of the second hidden layer.Different weighting parameters are assigned to the connections between the nodes of the first hidden layer and the second hidden layer. Each node of the hidden layer is associated with an activation function. The activation function defines how the hidden layer should process the input received from the input layer or from a previous input layer. These activation functions can vary and are based not only on the type of task associated with the machine learning controller 240, but also on the specific type of hidden layer implemented.

[0062] Each hidden layer can perform a different function. For example, some hidden layers might be hidden convolutional layers, which in some cases can reduce the dimensionality of the inputs, while other hidden layers might perform more statistical functions, such as max-pooling, which reduces a group of inputs to the maximum value, or an averaging layer. In some of the hidden layers (also called "dense layers"), every node is connected to every node in the next hidden layer. Some neural networks that include more than three hidden layers, for example, can be considered deep neural networks. The final hidden layer is connected to the output layer. Similar to the input layer, the output layer typically has the same number of nodes as the possible outputs.In the preceding example, where the machine learning controller 240 predicts a target output from the power tool 102, the output layer can, for example, contain four nodes. A first node can indicate that the target output corresponds to a first trigger mapping profile, a second node can indicate that the usage application corresponds to a second trigger mapping profile, a third node can indicate that the target output corresponds to a third trigger mapping profile, and the fourth node can indicate that the target output corresponds to an unknown (or unidentifiable) trigger mapping profile. In some embodiments, the machine learning controller 240 then selects the output node with the highest value and outputs it to the power tool 200. In some embodiments, the machine learning controller 240 can also select more than one output node.The machine learning controller 240 or the electronic processor 250 can then use the multiple outputs to control the power tool 200. For example, the machine learning controller 240 or the electronic processor 250 can control the motor 205 according to the speed specified in the first and second mapping profiles (e.g., an average of the two mapping profiles). The machine learning controller 240 and the electronic processor 250 can implement various methods for combining the outputs from the machine learning controller 240.

[0063] During training, the artificial neural network receives input for a training example and generates output using the bias for each node, the connections between each node, and their corresponding weights. The artificial neural network then compares the generated output to the actual output of the training example. Based on this comparison, the neural network modifies the weights associated with each node connection. In some embodiments, the neural network also modifies the weights associated with each node during training. Training continues until a training condition is met.The training condition can, for example, be a predetermined number of training examples used, a minimum accuracy threshold achieved during training and validation, a predetermined number of validation iterations completed, and so on. Various types of training algorithms can be used to adjust the bias values ​​and weights of the node connections based on the training examples. These training algorithms can include, for example, gradient descent, Newton's method, conjugate gradients, quasi-Newton, and Levenberg-Marquardt.

[0064] In some embodiments, the machine learning controller 240 implements a support vector machine to perform classification. For example, the machine learning controller 240 can classify an imaging profile. In such embodiments, the machine learning controller 240 can receive an input such as a trigger signal associated with the power tool 200. The machine learning controller 240 then defines a margin using combinations of some of the input variables (e.g., current, voltage, etc.) as support vectors to maximize the margin. In some embodiments, the machine learning controller 240 defines a margin using combinations of more than one similar input variable. The margin corresponds to the distance between the two nearest vectors that are classified differently.For example, the margin corresponds to the distance between a vector representing a first trigger mapping profile and a vector representing a second trigger mapping profile. In some embodiments, a single support vector machine can use more than two input variables and define a hyperplane that separates those trigger signals originating from the first trigger mapping profile from those originating from the second trigger mapping profile.

[0065] The training examples for a support vector machine include an input vector containing values ​​for the input variables and an output classification indicating whether the trigger signal represents the first trigger mapping profile or the second trigger mapping profile. During training, the support vector machine selects the support vectors (e.g., a subset of the input vectors) that maximize the available space. In some embodiments, the support vector machine may be able to define a line or hyperplane that precisely separates trigger signals that are increasing trigger signals (e.g., the user pulls trigger assembly 120) from those that are decreasing trigger signals (e.g., the user releases trigger assembly 120). In other embodiments (e.g.,In an inseparable case, the support vector machine can define a line or hyperplane that maximizes the margin of error and minimizes the slack variables, which measure the error in a support vector machine's classification. After the support vector machine has been trained, new input data can be compared to the line or hyperplane to determine how to classify the new input data. In other embodiments, as mentioned above, the machine learning controller can implement 240 different machine learning algorithms to perform an estimate or classification based on a set of input data. Some examples of pairs of input data, processing techniques, and machine learning algorithms are listed below in Table 3.The input data, listed in the table below as time series data, includes, for example, one or more of the various time series tool usage information examples described herein. Table 3 Input data Data processing Example model Time series data KA RNN (using LSTM) Time series data Filtering (e.g., low-pass filter) DNN classifier / regression or another non-recurrent algorithm Time series data Sliding window, padding or data subset DNN classifier / regression or another non-recurrent algorithm Time series data Creating features (e.g., summarizing runtime data analysis) KNN or another non-recurrent or recurrent algorithm Time series data Initial model (e.g., pre-trained) Model adaptation Time series data Initial RNN or DNN analysis for classification Markov model (for determining a likely tool application during or between tool operations)

[0066] For example, the power tool 200 sends usage information to the trained machine learning controller 240. The machine learning controller 240 then generates an estimated value or classification based on the input usage information. The power tool 200 can also generate recommendations for future operations. For example, the trained machine learning controller 240 can determine that the trigger signal is a decreasing signal of a second mapping profile. The electronic processor 250 can then determine that a slower motor speed for the received trigger signal can increase the responsiveness of the power tool 200 to user input.

[0067] In some embodiments, the machine learning controller 240 can detect a change in a trigger signal during operation of the power tool 200 using a first mapping profile. The machine learning controller 240 can then adjust a motor speed threshold of the first mapping profile so that the motor speed of the power tool 200 is increased after the detection of the change in the trigger signal. In another example, the machine learning controller 240 can adjust the motor speed of the power tool 200 by selecting a second mapping profile that includes a motor speed threshold higher than the motor speed threshold of the first mapping profile. In some embodiments, the increased motor speed or other motor characteristics (e.g., torque, power) are achieved via field weakening / phase-feed techniques.In some embodiments, mechanical braking, boost circuitry, motor winding changes (e.g., series to parallel, parallel to series, Wye to delta, delta to Wye, etc.), and other techniques can be used to increase the trigger signal response. In some embodiments, changes in commutation (field weakening, centerline commutation, boost circuitry, different motor control methods, different switching frequencies, etc.) can be used to allow more output beyond a typical motor control output. For example, an input percentage (usually an assumed value from 0% to 100%) could exceed a nominal 100%.

[0068] In some embodiments, the power tool 200 receives the machine learning controller 240 during manufacturing, while in other embodiments, a user of the power tool 200 can choose to receive the machine learning controller 240 after the power tool 200 has been manufactured, and in some embodiments, after the power tool 200 has been operated. During subsequent operations of the power tool 200, the machine learning controller 240 analyzes new usage data from the power tool 200 and generates recommendations or actions based on this new usage data. In other embodiments, the machine learning controller 240 of the power tool 200 is adaptable, instead of, for example, a static machine learning controller.In these embodiments, the adaptable machine learning controller 240 of the power tool 200 receives updated versions of the machine learning program, which replaces previous versions, for example from the server 112 via the network 114.

[0069] In some embodiments, the power tool 200 transmits feedback to the server 112 (for example, via the external device 108) regarding the operation of the adaptable machine learning controller 240. For example, the power tool 200 can transmit information to the server 112 regarding the number of operations that were misclassified by the adaptable machine learning controller 240. The server 112 receives the feedback from the power tool 200, updates the machine learning program, and provides the updated program to the adaptable machine learning controller 240 to reduce the number of misclassified operations. Based on the feedback received from the power tool 200, the server 112 can therefore update or retrain the machine learning controller 240.In some embodiments, the server 112 also uses feedback received from similar power tools to adapt the adaptive machine learning controller 240. In some embodiments, the server 112 updates the adaptive machine learning controller 240 periodically (e.g., monthly). In other embodiments, the server 112 updates the adaptive machine learning controller 240 when it receives a predetermined number of feedback signals (e.g., after it receives two). The feedback signals can be positive (e.g., indicating that the adaptive machine learning controller 240 correctly classified a condition, event, operation, or a combination thereof), or the feedback can be negative (e.g., indicating that the adaptive machine learning controller 240 incorrectly classified a condition, event, operation, or a combination thereof).

[0070] In some embodiments, the Server 112 also uses new usage data received from the Power Tool 200 and other similar power tools to update the Adaptive Machine Learning Controller 240. For example, the Server 112 can retrain (or adjust the training of) the Adaptive Machine Learning Controller 240 based on the newly received usage data.

[0071] When the power tool 200 receives the updated version of the adaptable machine learning controller 240 (e.g., when an updated machine learning program is provided to and stored in the machine learning controller 240), the power tool 200 replaces the current version of the adaptable machine learning controller 240 with the updated version. In some embodiments, the power tool 200 is equipped with an initial version of the adaptable machine learning controller 240 during manufacturing. In such embodiments, the user of the power tool 200 can request new versions of the adaptable machine learning controller 240. In some embodiments, the user can select a frequency with which the adaptable machine learning controller 240 is transferred to the power tool 200.

[0072] In some embodiments, the power tool 200 incorporates a self-updating machine learning controller 240. The self-updating machine learning controller 240 is initially loaded onto the power tool 200, for example, during manufacturing. The self-updating machine learning controller 240 updates itself. In other words, the self-updating machine learning controller 240 receives new usage information from the sensors in the power tool 200, feedback information indicating desired changes to operating parameters (e.g., the user wants to increase the motor speed or output torque), feedback information indicating whether the classification made by the machine learning controller 240 is incorrect, or a combination thereof. The self-updating machine learning controller 240 then uses the received information to retrain itself.Since the power tool 200, for example, includes the self-updating machine learning controller 240, the power tool 200 can implement the machine learning controller 240, receive user feedback, and update the machine learning controller 240 without communicating with the external device 108 or the server 112.

[0073] In some embodiments, the power tool 200 retrains the self-updating machine learning controller 240 when the power tool 200 is not in operation. For example, the power tool 200 can detect when the motor 205 has not been in operation for a predetermined period and initiate a retraining process of the self-updating machine learning controller 240 while the power tool 200 remains out of operation. Training the self-updating machine learning controller 240 while the power tool 200 is not in operation allows more processing power to be used for the retraining process instead of competing for computing resources that would normally be used to operate the power tool 200.

[0074] In some embodiments, the server 112 can also retrain the self-updating machine learning controller 240, for example, as described above. The server 112 can use additional training examples from other similar power tools. Using these additional training examples can provide greater variability and ultimately make the machine learning controller 240 more reliable. Accordingly, in some embodiments, the self-updating machine learning controller 240 can be retrained on the power tool 200, by the server 112, or with a combination of both. In some embodiments, the server 112 does not retrain the self-updating machine learning controller 240 but still exchanges information with the power tool 200.

[0075] The machine learning controller 240 is coupled to the electronic processor 250 and the activation switch 245. The activation switch 245 toggles between an activated state and a deactivated state. When the activation switch 245 is in the activated state, the electronic processor 250 communicates with the machine learning controller 240 and receives decision outputs from it. When the activation switch 245 is in the deactivated state, the electronic processor 250 does not communicate with the machine learning controller 240. In other words, the activation switch 245 selectively activates and deactivates the machine learning controller 240.As described above, the machine learning controller 240 can include a trained machine learning controller that uses previously collected power tool usage data to analyze and classify new usage data from the power tool 200. As explained in more detail below, the machine learning controller 240 can identify conditions, applications, and / or states of the power tool, etc. In some embodiments, the activation switch 245 toggles between an activated state and a deactivated state. In such embodiments, while the activation switch 245 is in the activated state, the electronic processor 250 controls the operation of the power tool 200 (e.g., changes the operation of the motor 205) based on the settings of the machine learning controller 240.Conversely, when the activation switch 245 is in the deactivated state, the machine learning controller 240 is deactivated and does not influence the operation of the power tool 200. In some embodiments, however, the activation switch 245 toggles between an activated state and a background state. In such embodiments, when the activation switch 245 is in the activated state, the electronic processor 250 controls the operation of the power tool 200 based on the specifications or outputs from the machine learning controller 240. However, when the activation switch 245 is in the background state, the machine learning controller 240 continues to generate an output based on the usage data of the power tool 200 and can calculate thresholds or other operating levels (e.g.,(determine), but the electronic processor 250 does not change the operation of the power tool 200 based on the determinations and / or outputs from the machine learning controller 240. In other words, in such embodiments, the machine learning controller 240 operates in the background without affecting the operation of the power tool 200. In some embodiments, the activation switch 245 is not included in the power tool 200, and the machine learning controller 240 remains in the activated state or is controlled such that it is activated or deactivated, for example, via wireless signals from the server (e.g., server 112) or from the external device 108.

[0076] As in Fig.As shown in Figure 3B, the machine learning controller 240 can include an electronic processor 275 and a memory 280. The memory 280 stores a machine learning controller 285. The machine learning controller 285 can contain a trained machine learning program, as described above. In the illustrated embodiment, the electronic processor 275 includes a graphics processing unit. In the embodiment of Fig.3B The machine learning controller 240 is positioned on a separate printed circuit board (PCB) from the electronic processor 250 of the power tool 200. The PCBs of the electronic processor 250 and the machine learning controller 240 are coupled, for example, by wires or leads, to enable the electronic processor 250 of the power tool 200 to control the motor 205 based on the outputs and settings from the machine learning controller 240. In other embodiments, however, the machine learning controller 285 can be stored in the memory 260 of the electronic processor 250 and can be implemented by the processing unit 257. In such embodiments, the electronic control assembly 236 includes the electronic processor 250.In some embodiments, the machine learning controller 240 is implemented in the electronic processor 275 but is located on the same PCB as the electronic processor 250 of the power tool 200. Embodiments in which the machine learning controller 240 is implemented as a separate processing unit from the electronic processor 250, whether on the same or a different PCB, allow for the selection of a processing unit to implement each of the machine learning controller 240 and the electronic processor 250 in such a way that the capabilities (e.g., processing power and memory capacity) are tailored to the specific requirements of each unit. Such customization can reduce costs and improve the efficiency of the power tools.In some embodiments, the external device 108 includes the machine learning controller 240, and the power tool 200 communicates with the external device 108 to receive estimates or classifications from the machine learning controller 240. In some embodiments, the machine learning controller 240 is implemented in a plug-in chip or plug-in controller that can be easily added to the power tool 200. For example, the machine learning controller 240 may include a plug-in chip that is accommodated within a cavity of the power tool 200 and connected to the electronic processor 250. For example, in some embodiments, the power tool 200 includes a lockable compartment containing electrical contacts and designed to accommodate and connect to the plug-in machine learning controller 240.The electrical contacts enable bidirectional communication between the plug-in machine learning controller 240 and the electronic processor 250, allowing the plug-in machine learning controller 240 to receive power from the power tool 200.

[0077] Fig.Figure 4 illustrates a circuit diagram of a motor drive circuit 300. The motor drive circuit 300 is described with reference to the power tool 200 and includes a power supply 302 (e.g., the battery pack 104), the switching network 217, and the motor 205. The power supply 302 is coupled to the power tool 200 via a power connection 304. In some embodiments, the power connection 304 is the power interface 215 described above. The switching network 217 contains a number of high-side line switching elements 306 (e.g., field-effect transistors [FETs]) and a number of low-side power switching elements 308 (e.g., FETs). The electronic processor 250 transmits the control signals to control the high-side power switching elements 306 and the low-side power switching elements 308 to drive the motor 205 based on the motor feedback information and user control inputs described above.For example, in response to the detection of an actuation of the trigger 210, the electronic processor 250 transmits control signals to selectively activate and deactivate the power switching elements 306 and 308 (e.g., sequentially, in pairs), causing current from the power source 302 (e.g., a battery pack) to be selectively applied to stator coils of the motor 205 to cause rotation of a rotor. Specifically, to drive the motor 205, the electronic processor 250 activates a pair consisting of a first high-side power switching element 306 and a first low-side power switching element 308 (e.g., by applying a voltage to a gate terminal of the power switching elements) for a first period.In response to a determination that the rotor of motor 205 has rotated, based on a pulse from the Hall-effect sensors, the electronic processor 250 deactivates the first power switching element pair and activates a second high-side power switching element 306 and a second low-side power switching element 308. In response to a determination that the rotor of motor 205 has rotated, based on one or more pulses from the Hall-effect sensors, the electronic processor 250 deactivates the second power switching element pair and activates a third high-side power switching element 306 and a third low-side power switching element 308. This sequence of cyclic activation of pairs of high-side power switching elements 306 and low-side power switching elements 308 is repeated to drive the motor 205.In some embodiments, the control signals also include pulse width modulated signals (PWM signals) with a duty cycle that is determined according to the amount of a trigger actuation of the trigger 210 (as specified by the output of the trigger sensors) in order to control the speed or torque of the motor 205.

[0078] Fig. Figure 5 illustrates a schematic control diagram 400 of the power tool 200 according to some embodiments. In general, the electronic processor 250 receives numerous inputs, makes determinations based on the inputs, generates outputs, and controls the switching network 217 based on the inputs, determinations, and outputs. The schematic control diagram 400 uses these inputs to implement a dynamic trigger response for the power tool 200. In some embodiments, the dynamic trigger response is Fig.5 independent of any machine learning and can be implemented in the power tool 200, which does not contain the machine learning controller 240. The schematic control diagram 400 includes a trigger input block 402, a remapping block 404, a target output block 420, a motor control block 422, and a dynamic trigger response 450. The dynamic trigger response 450 illustrates how the electronic processor 250 implements a dynamic trigger response in the schematic control diagram 400, according to some embodiments. The dynamic trigger response 450 includes a rate-of-change block 406, a filter parameter block 408, a smoothing filter block 410, a kickback parameter block 412, a filter parameter block 414, a smoothing filter block 416, and a constraint block 418.In some embodiments, when the dynamic trigger response is implemented, the electronic processor 250 isolates a higher-frequency component of the trigger signal, performs calculations, smoothing, and scaling of the component, and combines the component with the trigger signal. Based on the component and the trigger signal, the electronic processor 250 generates a control signal that increases more rapidly than a raw trigger input signal, resulting in the motor 205 of the power tool 200 being more responsive to the trigger input provided by a user. In some embodiments, the remapping block 404 in the schematic control diagram 400 is optional or could appear at different locations. For example, the remapping block 404 can be removed from the schematic control diagram 400. In another example, the remapping block 404 can be placed after the smoothing filter block 416.In another example, the remap block 404 can be used both after the trigger input block 402 and after the smoothing filter block 416.

[0079] As in Fig.As shown in Figure 5, the electronic processor 250 receives a trigger signal at the trigger input block 402 from the trigger 210, as described above. For example, the trigger input block 402 provides an output that includes the trigger signal corresponding to a first drive speed of the motor 205 (e.g., a desired speed of the motor 205 based on a depress quantity of the trigger 210 or based on the setting of the secondary input device, such as a remapping block 404). In another example, the trigger input block 402 provides an output corresponding to a desired duty cycle (e.g., a value between 0 and 100%) of a PWM signal for controlling the switching network 217.In some embodiments, the schematic control diagram 400 includes the remapping block 404, which receives user input that modifies conditions associated with the dynamic trigger response 450 implemented by the electronic processor 250. For example, the remapping block 404 is an interface that allows a user to input settings used to modify a set of parameters used by the electronic processor 250 to modify a mapping of an output from the trigger input block 402 or to adjust a modified trigger signal. The input settings may include mode settings, configuration settings, context information, and the like of the power tool 200.In these embodiments, the remapping block 404 provides the user input and the trigger signal to the dynamic trigger response 450 for processing by the electronic processor 250.

[0080] In some embodiments, the electronic processor 250 receives the output of the trigger input block 402 and detects a change in the output of the trigger input block 402 at the rate-of-change block 406. For example, the electronic processor 250 detects a change in a property (e.g., current of the trigger signal, voltage of the trigger signal, etc.) of the trigger signal output at the trigger input block 402. In this example, the electronic processor 250 determines a rate of change of the property of the trigger signal at the rate-of-change block 406. In some embodiments, the electronic processor 250 provides the determined rate of change to the smoothing filter block 410.

[0081] In some embodiments, the electronic processor 250 receives a rate-of-change output from the rate-of-change block 406 at the smoothing filter block 410. The electronic processor 250 applies a smoothing filter (e.g., ramps, low-pass filters, second-order filters, nonlinear filters, band-pass filters, other frequency filters, etc.) to the rate-of-change output to reduce abrupt changes (e.g., spikes) in the received rate-of-change outputs. In some embodiments, the rate-of-change outputs from the rate-of-change block 406 are received over a defined period (e.g., the time-series data). In other embodiments, the smoothing filter block 410 receives a filter parameter from the filter parameter block 408. In some embodiments, the power tool 200 includes different filter parameter settings for an increasing or decreasing trigger signal.The electronic processor 250 uses the filter parameter to control the degree of smoothing of the rate-of-change outputs. In some embodiments, the electronic processor 250 sets the filter parameter of the filter parameter block 408 based on user preferences associated with user input at the remapping block 404. In some embodiments, delayed sensor values ​​or delayed command output values ​​can also be used to control the output.

[0082] At node 460, the electronic processor 250 combines the output of the smoothing filter block 410 with an output of the kickback parameter block 412. The output of the kickback parameter block 412 may include a parameter relating to a condition of the power tool 200. In some embodiments, the power tool 200 includes different kickback parameter settings for an increasing (e.g., trigger is actuated) or decreasing (trigger is released) trigger signal. In some embodiments, a lookup table may be used to retrieve past trigger values ​​(e.g., 20 ms in the past, 10 ms in the past, etc.) to aid in deriving an output. An output of node 460 is the product of the output of the smoothing filter block 410 and the output of the kickback parameter block 412.In some embodiments, the electronic processor 250 uses the parameter of the kickback parameter block 412 as a scaling factor to adjust the output of the smoothing filter block 410. In some implementations, the parameter of the kickback parameter block 412 can be a sensitivity parameter with respect to an orientation / position of the power tool 200, which can indicate the occurrence of a condition of the power tool 200. In this example, the condition of the power tool 200 can be a kickback condition (e.g., the power tool is embedded in a workpiece). In some embodiments, the electronic processor 250 sets the parameter of the kickback parameter block 412 based on user preferences associated with user input at the remapping block 404, as discussed above.In some embodiments, the electronic processor 250 sets the parameter of the kickback parameter block 412 based on a nominal level of a trigger signal of the trigger input block 402, a setting of the power tool 200, an application (e.g. selected or predicted) of the power tool 200, etc.

[0083] In some embodiments, the electronic processor 250 combines the output of node 460 with the output of trigger input block 402, which contains the trigger signal, at node 470. The output of node 470 is the sum of the output of trigger input block 402 and the output of node 460. The output of node 470 results in an adjustment of the output of trigger input block 402, which amplifies the effects of the change detected at rate-of-change block 406 on the output of trigger input block 402.

[0084] In some embodiments, the electronic processor 250 receives the output of node 470 at the smoothing filter block 416. The electronic processor 250 applies a smoothing filter to the output of node 470 to reduce abrupt changes (e.g., spikes) in the received output. In some embodiments, the output of node 470 is received over a defined period (e.g., the time-series data). In some embodiments, the smoothing filter block 416 receives a filter parameter from the filter parameter block 414. The electronic processor 250 uses the filter parameter to control the degree of smoothing of the output of node 470. In some embodiments, the electronic processor 250 sets the filter parameter of the filter parameter block 414 based on the preferences of a user associated with user input at the remapping block 404 discussed above.

[0085] In some embodiments, the electronic processor 250 receives the output of the smoothing filter block 416 at the constraint block 418. The electronic processor 250 applies constraints to the output of the smoothing filter block 416. For example, the constraints may include limitations to ensure that a signal corresponding to the output of the smoothing filter block 416 is sufficiently smooth. These constraints may also include limits and penalties that affect maximum ramp-up, power, and rotational speeds. In some embodiments, the electronic processor 250 provides the output of the constraint block 418 to the destination output block 420 (e.g., based on thermal management considerations, demagnetization, etc.).In some embodiments, the dynamic trigger response for a power tool can be compensated for or adjusted to compensate for a slower response due to power tool or grease temperature, a weak battery pack, user hand stiffness, tool age, tool condition, motor demagnetization, etc. Furthermore, the dynamic trigger response can lead to higher loads on the power tool, reduced motor efficiency, increased heat generation, and increased vibration. For this reason, parameters associated with the dynamic trigger control can be adjusted or activated based on other power tool system factors. For example, these factors may include battery health and / or charge level, thermal condition, expected runtime requirement, availability of other nearby power sources, activation of an eco-mode, vibration levels, etc.

[0086] At the destination output block 420, the electronic processor 250 receives the output of the constraint block 418. The electronic processor 250 generates an output containing a destination output value based on the output of the constraint block 418. For example, the destination output block 420 provides an output containing a modified trigger signal corresponding to a second drive speed of the motor 205. In another example, the trigger input block 402 provides an output corresponding to a desired duty cycle (e.g., a value between 0 and 100%) of a PWM signal for controlling the switching network 217. In some embodiments, the electronic processor 250 provides the output of the destination output block 420, containing the destination output value, to the motor control block 422. At the motor control block 422, the electronic processor 250 controls the motor 205 such that it outputs the destination output value (e.g., a value between 0 and 100%).Speed, power, torque, angle, or other engine controls) are reached. Although... Fig. 5 mainly describes the fact that the electronic processor 250 is designed to implement many of the steps of the control process; the control process is described by Fig. 5 in some embodiments implemented separately from the electronic processor 250 (e.g., in hardware, hardware and software, hardware and software separately from the electronic processor 250, etc.). In some embodiments, the control process of Fig. 5 can be executed by a combination of the electronic processor 250 and separate hardware and / or software.

[0087] Although Fig.While Figure 5 represents a primary embodiment of such a dynamic trigger response, other control methods exist that can be more generally characterized as trigger “trim” control. Trim control modifies an input property into a system. For example, instead of a rate-of-change filter, a similar effect could be achieved by implementing an FFT transformation and then augmenting higher-order frequencies of an input signal before transforming it back into the time domain. In another example, a control method might employ a query process that references, for instance, at least one historical value of the trigger, so that instead of analytically deriving a target output, the target output is queried. Fig.If a rate of change block 406 is referenced in 5, there may be other dynamic properties of an input that could be replaced or additionally used in the derivation of the trigger input.

[0088] In some embodiments, rational sensor checks are used to verify that the trigger input signal of the trigger input block 402 is rational. In some cases, the trigger input signal of the trigger input block 402 may be subject to sudden spikes, noise, and failures. The trigger 210 may also employ logic for debouncing, wake-up time, potential railing, temperature compensation, etc.

[0089] Fig. Figure 6 represents a graph 500, which plots an input trigger signal and a matched trigger signal from the schematic control diagram 400. Fig.Figure 5 illustrates, according to some embodiments. Graph 500 includes a first axis that measures the magnitude of a trigger signal (e.g., one percent of the full trigger actuation) and a second axis that measures the time corresponding to the magnitude of the trigger signal. Graph 500 includes two (2) line plots of trigger signal values ​​based on the same trigger actuation. A first line plot, represented by a solid line, represents a raw trigger signal from the trigger input block 402. A second line plot, represented by a dashed line, represents a modified trigger signal from the dynamic trigger response 450. The second line plot illustrates a trigger response that includes magnitude values ​​reached approximately ten (10) ms before the first line plot.Thus, the power tool 200, which receives the adapted trigger signal of the second line plot, would, for example, respond better to a user who uses the same trigger operation.

[0090] Although Fig.6. Even if an increasing input trigger signal is indicated, dynamic trigger control is also advantageous to a user in a decreasing configuration. For example, in screw-insertion applications, users may want a tool to decelerate quickly for precise depth control of a fastener. In some cases, rapid deceleration advantageously allows a power tool to shut down more quickly. For example, grinders, circular saws, rotary tools, reciprocating saws, and string trimmers can benefit from faster shutdown if a user wants the power tool to stop. Faster stopping of drive tools can also prevent accessory misalignment and / or overloading. However, rapid deceleration of the power tool can cause accessory detachment, unintentional spindle lock engagement, and other inertia effects.Due to these inertial effects, the power tool can reduce its deceleration. In some cases, deceleration may involve activating a brake or other slowing mechanism (e.g., changing windings, engaging regenerative braking, etc.) to allow for a rapid reduction of the trigger speed. In some implementations, the target input may be negative.

[0091] As in Fig. As shown in Figure 6, Graph 500 also demonstrates how, in addition to a tool reacting faster, dynamic trigger control can also reduce overall application time because a power tool reaches full speed more quickly. For power tool users who are concerned about overall cycle time, dynamic trigger control can improve overall productivity.

[0092] Fig.Figure 7A illustrates a schematic control diagram 600A of the power tool 200, implemented with a machine learning model 605, according to an exemplary embodiment. The schematic control diagram 600A includes the trigger input block 402, the remapping block 404, the constraint block 418, the target output block 420, the motor control block 422, and the machine learning model 605. The electronic processor 250 can use the machine learning model 605 to perform a task associated with the dynamic trigger response 450 discussed above. In some embodiments, the machine learning model 605 is a trained machine learning model or program. For example, the machine learning model 605 can include any of the models that the machine learning controller 240 is designed to construct, as described above with reference to Fig.1-3B is described in more detail. In some embodiments, the machine learning model 605 processes the output of the trigger input block 402 and / or the remapping block 404 and adapts a trigger signal to the received output. With reference to Fig. In some embodiments, the machine learning model 605 predicts the values ​​of the second line plot. In some embodiments, the electronic processor 250 can use the output of the machine learning model 605 to control the motor 205. In some embodiments, the electronic processor 250 can use the output of the machine learning model 605 and the output of the constraint block 418 to produce an output that includes a target output value used to control the motor 205.

[0093] Fig.Figure 7B illustrates a schematic control diagram 600B of the power tool 200, implemented with a machine learning model 605, according to some embodiments. The schematic control diagram 600B includes the trigger input block 402, the remapping block 404, the constraint block 418, the target output block 420, the motor control block 422, the machine learning model 605, and an input feature generation block 610. The input feature generation block 610 uses the existing data in the model's domain knowledge to select the most relevant variables from raw data and transform them into features for predictive models that better represent the underlying problem in order to generate new variables.After the machine learning model 605 receives the outputs from the input feature generation block 610, the electronic processor 250 can use the machine learning model 605 to perform tasks associated with the dynamic trigger response 450 described above. In some embodiments, the machine learning model 605 is a trained machine learning program. For example, the machine learning model 605 can include any of the models that the machine learning controller 240 is designed to construct, as described above. Fig. 1-3B is described in more detail. In some embodiments, the machine learning model 605 processes the output of the trigger input block 402 and / or the remapping block 404 and adapts a trigger signal to the received output. With reference to Fig.In some embodiments, the machine learning model 605 predicts the values ​​of the second line plot. In some embodiments, the electronic processor 250 can use the output of the machine learning model 605 to control the motor 205. In other embodiments, the electronic processor 250 can use the output of the machine learning model 605 and the output of the constraint block 418 to produce an output that includes a target output value used to control the motor 205.

[0094] Fig.Figure 7C illustrates a schematic control diagram 600C of the power tool 200, implemented with a machine learning model 605, according to some embodiments. The schematic control diagram 600C includes the trigger input block 402, the remapping block 404, the constraint block 418, the target output block 420, the motor control block 422, the machine learning model 605, the input feature generation block 610, and an other input block 620. The input feature generation block 610 uses the existing data in the domain knowledge of the model to select the most relevant variables from raw data and transform them into features for predictive models that better represent the underlying problem in order to generate new variables. The other input block 620 provides inputs from the power tool 200 other than the trigger signal. For example, the other inputs can be current load, motor speed, voltage load, movement, motor characteristics (e.g.This includes phase feed, tool settings, grip detection, time information, usage information, tool orientation, fastener information, gear implementation, and the like. Other inputs can be provided to input feature generation block 610.

[0095] After the machine learning model 605 receives the outputs from the input feature generation block 610, the electronic processor 250 can use the machine learning model 605 to perform tasks associated with the dynamic trigger response 450 described above. In some embodiments, the machine learning model 605 is a trained machine learning program. For example, the machine learning model 605 can include any of the models that the machine learning controller 240 is designed to construct, as described above with reference to Fig.1-3B is described in more detail. In some embodiments, the machine learning model 605 processes the output of the trigger input block 402 and / or the remapping block 404 and adapts a trigger signal to the received output. With reference to Fig. In some embodiments, the machine learning model 605 predicts the values ​​of the second line plot. In some embodiments, the electronic processor 250 can use the output of the machine learning model 605 to control the motor 205. In other embodiments, the electronic processor 250 can use the output of the machine learning model 605 and the output of the constraint block 418 to produce an output that includes a target output value used to control the motor 205.

[0096] Fig.Figure 8 illustrates a method 700 for creating and implementing the machine learning controller 285. The method 700 is described in relation to the power tool 200, but, as above with reference to Fig. As described in 3A-3B, the power tool 200 represents the power tool 102, 200, which in the respective systems of Fig. 1-3A are described. In step 705, the electronic processor 250 accesses tool usage information previously collected from similar power tools. For example, to enable the machine learning control 285 for the impact wrenches of Fig.To create 1-2, the electronic processor 250 accesses tool usage data previously collected from other impact wrenches (e.g., via network 114). This tool usage data includes, for example, trigger signals, motor current, motor voltage, motor position and / or speed, usage time, battery charge level, power tool position, output shaft position or speed, number of impacts, and the like. The electronic processor 250 then proceeds with creating and training the machine learning controller 285 based on this tool usage data (step 710).

[0097] Building and training the Machine Learning Controller 285 can involve, for example, determining the machine learning architecture (e.g., using a support vector machine, a decision tree, a neural network, or another architecture). In the case of building and training a neural network, for example, building the neural network can also involve determining the number of input nodes, the number of hidden layers, the activation function for each node, the number of nodes in each hidden layer, the number of output nodes, and the like. Training the Machine Learning Controller 285 involves providing training examples to the Machine Learning Controller 285 and using one or more algorithms to adjust the various weights, margins, or other parameters of the Machine Learning Controller 285 in order to make reliable estimates or classifications.

[0098] In some embodiments, creating and training the machine learning controller 285 involves creating and training a recurrent neural network. Recurrent neural networks allow for the analysis of sequences of inputs, rather than treating each input individually. That is, recurrent neural networks can base their determination or output for a given input not only on the information for that specific input, but also on previous inputs. For example, if the machine learning controller 285 is designed to predict a trigger signal value based on a trigger signal from the power tool 200, then, accordingly, when implementing a recurrent neural network, the learning rate affects not only how each training example influences the entire recurrent neural network (e.g.,(Adjusting weights, biases, and the like), but also affects how each input influences the output of the next input.

[0099] The electronic processor 250 creates and trains the machine learning controller 285 to perform a specific task. For example, in some embodiments, the machine learning controller 285 is trained to predict a trigger signal value based on a trigger signal from the power tool 200. In other embodiments, the machine learning controller 285 is trained to detect a change in a trigger signal or to detect when an adverse condition is present or imminent (e.g., detecting kickback). The task for which the machine learning controller 285 is trained can vary, for example, based on the type of power tool 200, a user selection, other power tool inputs, and the like. The electronic processor 250 uses various tool usage data to train the machine learning controller 285 based on the specific task.

[0100] In some embodiments, the task for the machine learning controller 240 (e.g., for the machine learning controller 285) also defines the specific architecture for the machine learning controller 285. For example, the electronic processor 250 can create a support vector machine for a first set of tasks, while the electronic processor 250 can create a neural network for a second set of tasks. In some embodiments, each task or task type is associated with a specific architecture. In such embodiments, the electronic processor 250 determines the architecture for the machine learning controller 285 based on the task and the machine learning architecture associated with the specific task.

[0101] After the electronic processor 250 creates and trains the machine learning controller 285, the electronic processor 250 stores the machine learning controller 285, for example, in the memory 280 of the electronic control assembly 236 (step 715).

[0102] After the machine learning controller 285 has been stored, the power tool 200 operates the motor 205 according to (or based on) the outputs and specifications from the machine learning controller 240 (step 720). In embodiments where the machine learning controller 240 (including the machine learning controller 285) is implemented in the server 112, the server 112 can determine operating thresholds from the outputs and specifications of the machine learning controller 240. The server 112 then transmits the determined operating thresholds to the power tool 200 to control the motor 205.

[0103] The performance of the machine learning controller 240 depends on the quantity and quality of the data used to train it. If insufficient data is used for training, the performance of the machine learning controller 240 may be reduced. Alternatively, different users may have different preferences and operate the power tool 200 for different applications and in slightly different ways (e.g., some users may press the power tool 200 against the work surface with greater force, some may prefer a higher maximum speed, and so on). These differences in using the power tool 200 can also affect the performance of the machine learning controller 240 from a user's perspective.

[0104] To improve the performance of the machine learning controller 240, in some embodiments the electronic processor 250 optionally receives feedback from the power tool 200 (or the external device 108) regarding the performance of the machine learning controller 240 (step 725). In other words, at least in some embodiments, the feedback relates to the adapted trigger signal and the control of the motor from the previous step 720. In other embodiments, however, the power tool 200 does not receive any user feedback regarding the performance of the machine learning controller 240 and instead continues to operate the power tool 200 by executing the machine learning controller 285.As explained in more detail below, in some embodiments the power tool 200 includes a specific feedback mechanism for providing feedback on the performance of the machine learning controller 240. In some embodiments, the external device 108 can also provide a graphical user interface that receives feedback from a user regarding the operation of the machine learning controller 240. The external device 108 then sends the feedback information to the electronic processor 250. In some embodiments, the power tool 200 can only provide negative feedback to the electronic processor 250 (e.g., if the machine learning controller 240 exhibits poor performance).

[0105] In some embodiments, the electronic processor 250 can interpret the absence of feedback from the power tool 200 (or the external device 108) as positive feedback, indicating adequate performance of the machine learning controller 240. In some embodiments, the power tool 200 receives both positive and negative feedback and transmits it to the electronic processor 250. In addition to or instead of user feedback (which, for example, is input directly into the power tool 200), in some embodiments the power tool 200 samples one or more power tool properties via one or more sensors of the sensors 230, and the feedback is based on the sampled power tool property(ies).In one torque wrench configuration of the 200 series power tool, for example, the torque wrench incorporates a torque sensor to detect the output torque during a fastening operation, and the detected output torque is provided as feedback. This feedback from the torque sensor can provide direct feedback to itself to prevent over-tightening of the target torque when tightening and inserting a fastener. Alternatively, a sensor on another power tool (e.g., a separate driven torque wrench) can be used to provide feedback.

[0106] The sampled output torque (e.g., feedback) can be evaluated locally at the power tool 200 or externally at the external device 108 or the server 112 to determine whether the feedback is positive or negative (e.g., the feedback can be positive if the sampled output (e.g., smoothness, motor efficiency, feed rate, etc.) is within an acceptable range, and negative if it is outside the acceptable range). Alternatively, the sampled output can be used to scale or transfer outputs and / or adjusted thresholds and / or confidence intervals for the machine learning controller 285.As described above, in some embodiments the power tool 200 can send the feedback or other information directly to the server 112, while in other embodiments an external device 108 can serve as a bridge for communications between the power tool 200 and the server 112 and can send the feedback to the server 112.

[0107] The electronic processor 250 then adapts the machine learning controller 285 based on the received feedback (step 730). In some embodiments, the electronic processor 250 adapts the machine learning controller 285 after receiving a predetermined number of feedback signals (e.g., after receiving 100 feedback signals). In other embodiments, the electronic processor 250 adapts the machine learning controller 285 after a predetermined period of time has elapsed (e.g., every two months). In still other embodiments, the electronic processor 250 adapts the machine learning controller 285 continuously (e.g., after receiving each feedback signal). Adapting the machine learning controller 285 can, for example, involve retraining the machine learning controller 285 using the additional feedback as a new set of training data or adjusting some of the parameters (e.g.,The machine learning controller 240 includes weights, support vectors, and the like. Since the machine learning controller 240 has already been trained for the specific task, retraining it with the smaller set of newer data requires fewer computing resources (e.g., time, memory, processing power, etc.) than the original training.

[0108] In some embodiments, the machine learning controller 285 includes a reinforcement learning controller that allows the machine learning controller 285 to continuously integrate feedback received by the power tool 200 or from the user via the external device 108 in order to optimize the performance of the machine learning controller 285. In some embodiments, the reinforcement learning controller periodically evaluates a reward function based on the performance of the machine learning controller 285. In such embodiments, training the machine learning controller 285 includes increasing the operating time of the power tool 200 so that the reinforcement learning controller receives sufficient feedback to optimize the execution of the machine learning controller 285. In some embodiments, when reinforcement learning is implemented by the machine learning controller 285, a first stage of operation (e.g.,Training is performed during or prior to manufacturing so that when a user operates the power tool 200, the machine learning controller 285 can achieve a predetermined minimum performance level (e.g., accuracy). Once the user operates their power tool 200, the machine learning controller 285 can continue learning and evaluating the reward function to further improve performance. Accordingly, a power tool can initially be provided with a stable and predictable algorithm that can be adapted over time. In some embodiments, the reinforcement learning is restricted to sections of the machine learning controller 285.For example, in some embodiments, instead of potentially updating weights / biases of all or a substantial section of the machine learning controller 285, which can consume considerable processing power and memory, the actual model remains frozen or mostly frozen (e.g., all but the last layer(s) or outputs), and only one or a few output parameters or output properties (such as final scaling parameters, filter parameters, weights, or thresholds) of the machine learning controller 285 are updated based on the feedback.

[0109] In some embodiments, the machine learning controller 240 interprets the user's operation of the power tool 200 as feedback regarding the performance of the machine learning controller 240. For example, if the user presses the trigger harder during the execution of a specific mode, the machine learning controller 240 may determine that the predicted trigger signal value selected by the machine learning controller 240 is not sufficiently high and may directly increase the motor speed, use the received feedback to retrain or modify the machine learning controller 240, or a combination thereof. In some embodiments, for example, in step 725, the electronic processor 250 receives tool usage data from a variety of different power tools.If the electronic processor 250 adapts the machine learning controller 285 based on user feedback (step 730), then the electronic processor 250 can adapt the machine learning controller 285 based on feedback from different users. In some embodiments, the power tool 200 can use only the feedback information from specific users to adapt the machine learning controller 285. Using feedback information from specific users can help to customize the operation of the power tool 200 for the user of that particular tool.

[0110] After the electronic processor 250 adapts the machine learning controller 240 based on user feedback, the power tool 200 operates according to the outputs and specifications of the adapted machine learning controller 240 (step 735). The adapted machine learning controller 240 improves its performance by using a larger and more diverse dataset (e.g., by receiving feedback from various users) for training the machine learning controller 240.

[0111] In some embodiments, the user can also select a learning rate for the machine learning controller 240. Adjusting the learning rate for the machine learning controller 240 affects the speed at which the controller adapts based on the user feedback received. For example, if the learning rate is high, even a small amount of user feedback will affect the performance of the machine learning controller 240. Conversely, if the learning rate is lower, more user feedback is needed to produce the same change in the performance of the machine learning controller 240. Using a learning rate that is too high can cause the machine learning controller 240 to change unnecessarily due to abnormal operation of the power tool 200.Conversely, using a learning rate that is too low can cause the machine learning controller 240 to remain unchanged until a large number of feedback signals are received requesting a similar change. In some embodiments, the power tool 200 includes a dedicated actuator to adjust the learning rate of the machine learning controller 240. In some embodiments, the activation switch 245, which is used to activate or deactivate the machine learning controller 240, can also be used to adjust the learning rate of the machine learning controller 240. For example, the activation switch 245 can include a rotary dial. When the rotary dial is positioned at a first end, the machine learning controller 240 can be deactivated; when the rotary dial moves to a second end opposite the first end, the machine learning controller 240 is activated and the learning rate increases.When the rotary disc reaches its second end, the learning rate can be at its maximum. In other embodiments, an external device 108 (e.g., a smartphone, tablet, laptop, computer, ASIC, and the like) can be communicatively coupled to the power tool 200 and provide a user interface for selecting, for example, the learning rate. In some embodiments, selecting a learning rate may involve choosing a low, medium, or high rate. In other embodiments, more or fewer options are available for setting the learning rate and may include the ability to turn off learning (i.e., set the learning rate to zero).

[0112] As described above, when the Machine Learning Controller 240 implements a recurrent neural network, the learning rate (or sometimes called the "switching rate") influences how previous inputs or training examples affect the output of the current input or training example. For example, if the switching rate is high, previous inputs have a minimal impact on the output associated with the current input. That is, when the switching rate is high, each input is treated more as an independent input. Conversely, if the switching rate is low, previous inputs have a high correlation with the output of the current input. That is, the output of the current input depends heavily on the outputs determined for previous inputs. In some embodiments, the user can select the switching rate in correlation (e.g., with the same actuator) with the learning rate.In some embodiments, however, a separate actuator (or graphical user interface element) is created to change the switching rate independently of the learning rate. The methods or components for setting the switching rate are similar to those described above with respect to setting the learning rate.

[0113] The description of Fig. Section 8 focuses on training, storing, and adapting the machine learning controller 285 by the electronic processor 250. However, in some embodiments, the server 112 and / or the external device 108 can perform some or all of the above with reference to Fig. Perform the 8 described steps. With reference to Fig.Figure 5 includes the dynamic trigger response 450 and the feedback parameter block 412. In some embodiments, an adaptive algorithm (e.g., the machine learning controller 285 or a control theory-based implementation) can adjust the feedback parameter block 412 based on feedback received from a user. Useful forms of feedback for dynamic trigger control on an adaptive algorithm can include, for example, over / under metrics, accuracy of predicting a trigger in the future (e.g., 50 ms in the future), overall stability, motor efficiency metric, rise time, fall time, occurrence of second trigger actuations, indicating loosened fasteners, reverse trigger actuations, indicating a match, and so on. This feedback can be used in a variety of ways.For example, if the dynamic trigger output drastically exceeds the user's final output after 100 ms (e.g., exceeding or falling short), then the electronic processor 250 adjusts (e.g., increments or decrements) the feedback parameter block 412 of . Fig. 5. Additional techniques for using the feedback are provided in US Patent No. 11,221,611, the entire contents of which are hereby incorporated by reference.

[0114] Fig. Figure 9 illustrates a circuit 810 (e.g., an analog circuit) of the power tool 200 for controlling a dynamic trigger response according to some embodiments. The circuit 810 may include hardware components such as capacitors, amplifiers, etc. In some embodiments, the circuit 810 is designed to receive a trigger signal from a sensor of the trigger assembly 120, as described above with reference to Fig.2 described. The 810 circuit is designed to perform functions in essentially the same way as the dynamic trigger response 450 described above. Fig.5. In some embodiments, the circuit 810 is designed to receive a raw trigger position signal and generate a signal associated with a dynamic change in the trigger position. However, the circuit 810 is implemented using only hardware components to provide the various filtering and limiting operations of the dynamic trigger response 450 (thereby, for example, reducing the computational complexity for the power tool 200). In some embodiments, some of the components of the circuit 810 may be located in the trigger assembly 120 itself or on a main circuit board in the housing of the power tool 102. In other embodiments, the circuit 810 may be implemented using hardware and software and distributed across multiple locations of the power tool 102.For example, circuit 810 includes a microcontroller designed to process trigger signals separately from power tool 200. In another example, circuit 810 includes digital logic (e.g., an FPGA) that performs dynamic trigger control. In some implementations, trigger 210 is designed to mechanically embody dynamic trigger control (e.g., a spring acting on a pressure sensor combined with a leaking gas chamber for a rate-of-change effect).

[0115] Fig.Figure 10 is a flowchart illustrating a method 900 for implementing a dynamic trigger mapping to control the power tool 200. In step 902, the power tool 200 receives a trigger signal corresponding to an initial activation quantity from the trigger 210, indicating that the power tool 200 should begin or continue operation. During operation of the power tool 200, the electronic processor 250 or the circuit 810 receives the trigger signal and, in step 904, evaluates a property (e.g., rate of change) of the trigger signal. In some embodiments, the electronic processor 250 processes the trigger signal using the dynamic trigger response 450. In other embodiments, the electronic processor 250 processes the trigger signal using the machine learning controller 240. In still other embodiments, the circuit 810 processes the trigger signal of the power tool 200.In some embodiments, in step 904, evaluating a property of the trigger signal involves determining a magnitude of the property associated with the first activation quantity of the trigger 210.

[0116] In step 906, the electronic processor 250 determines whether the characteristic of the trigger signal is changing. For example, the electronic processor 250 determines whether the rate of change of the trigger signal exceeds a predetermined threshold over a defined period. In some embodiments, if the electronic processor 250 determines that the characteristic of the trigger signal is not changing (e.g., exceeding the predetermined threshold), the electronic processor 250 or the circuit 810 returns to step 902 and continues to receive trigger signals from the trigger assembly 120. In other embodiments, if the electronic processor 250 determines that the characteristic of the trigger signal is changing (e.g., exceeding the predetermined threshold), the electronic processor 250 determines that there is variance in the trigger signal.In some embodiments, the electronic processor 250 determines a change in the size of the property in step 906.

[0117] In step 908, the electronic processor 250 adjusts the received trigger signal based on the change detected in step 906. For example, the electronic processor 250 determines a scaling factor and multiplies it by the detected change in the property or the determined change in the property's magnitude. The electronic processor 250 can combine the product of the scaling factor and the detected change in the property with the trigger signal. In some embodiments, the machine learning controller 240 generates an output (e.g., a predicted value of the trigger signal) based on the trigger signal. The machine learning controller 240 can also generate the output using additional inputs from the power tool 200, as described above. In other embodiments, the circuit 810 can, for example, amplify the trigger signal based on the detected change in the property.

[0118] In step 910, the electronic processor 250 generates a target output based on the modified trigger signal. For example, the electronic processor 250 modifies the trigger signal so that it corresponds to a second set (e.g., target output) of trigger activation, which differs from the first set of trigger activation, based on the detected change in the trigger signal (for example, based on the change in the property's magnitude). In some embodiments, the electronic processor 250 modifies the trigger signal so that it corresponds to the second activation set based on an output (e.g., a predicted value) from the machine learning controller 240. In other embodiments, the circuit 810 modifies the trigger signal to the second activation set using only hardware circuitry.

[0119] In step 912, the electronic processor 250 controls the operation of the motor 205 based on the output generated in step 910. For example, the electronic processor 250 controls the switching network 217 to drive the motor 205 to achieve the target output (e.g., a specific motor speed) according to the modified trigger signal. In some embodiments, the electronic processor 250 uses the output of the machine learning controller 240 to control the switching network 217 to drive the motor 205 to achieve the target output (e.g., a specific motor speed) according to the modified trigger signal. In other embodiments, the circuit 810 controls the switching network 217 to drive the motor 205 to achieve the target output (e.g., a specific motor speed) according to the modified trigger signal.

[0120] In some embodiments, automatic adjustment of the dynamic trigger response can be implemented (e.g., by the electronic processor 250). For example, the dynamic trigger response can be automatically tuned by adjusting parameters (e.g., filter parameters, scaling parameters, weights, etc.) to reward and / or punish the dynamic trigger response. The rewards or punishments can be based on, among other things, exceeding (e.g., trigger exceedance), falling short (e.g., trigger undershooting), smoothness (e.g., smoothness of the target output or smoothness of the modified signal), motor efficiency, a feed rate, etc. In some embodiments, the machine learning controller 240 uses reinforcement learning to automatically adjust the dynamic trigger response based on the specified parameters or properties for rewards and punishments.

[0121] Although the embodiments described herein disclose the processing of the dynamic trigger on the power tool, the processing described herein can be performed on another power tool device, such as a battery pack, an electrically operated side handle with a trigger, in a power tool battery pack adapter, etc. Additionally, the disclosed processing of the dynamic trigger on the power tool can be used in parallel with the disclosed embodiments to generate dynamic effects for trigger control, other trigger control innovations such as debouncing, hysteresis, user-defined mappings, etc. However, the scope of protection is defined by the claims.

Claims

[1] Power tools, including: a case (105); a motor (205) located in the housing (105) and coupled to an output element; a motor drive circuit (217) designed to drive the motor (205); a trigger (210) designed to generate a trigger signal with respect to activation of the trigger (210); and an electronic control (250) connected to the motor drive circuit (217), wherein the electronic control (250) is designed to: Receiving the trigger signal from the trigger (210), wherein the trigger signal corresponds to a first activation quantity of the trigger (210), Determining a magnitude of a property associated with the first activation set of the trigger (210), Modifying the trigger signal based on the size of the property, wherein the modified trigger signal corresponds to a second activation set of the trigger (210), wherein the second activation set of the trigger (210) differs from the first activation quantity of the trigger differs, and Controlling the motor drive circuit (217) to drive the motor (205) based on the modified trigger signal, wherein the electronic control (250) includes a memory (260) which includes a trained machine learning model (240), the electronic control (250) is further designed to: Processing, with the trained machine learning model (240), the trigger signal from the trigger (210), and Generating a target output that includes the modified trigger signal. [2] Power tool according to claim 1, wherein the electronic control (250) is designed to modify the trigger signal based on the size of the property: Detecting a change in the size of the property associated with the first activation quantity of the trigger (210); and Adjusting the trigger signal based on the detected change, wherein the adjusted trigger signal corresponds to a second activation set of the trigger (210). [3] Power tool according to claim 2, further comprising a communication interface (225) connected to the electronic control (250), wherein the communication interface (225) is designed to communicate with an external device (108), wherein the electronic control (250) is further designed to modify the trigger signal based on the size of the property: Received, via the communication interface (225), a configuration setting of the power tool, wherein a value for the configuration setting is selected via a user input on the external device (108), and Modifying a parameter used to adjust the modified trigger signal based on the configuration setting. [4] Power tool according to claim 3, wherein the parameter is a kickback parameter or a filter parameter (412, 414). [5] Power tool according to claim 1, wherein the electronic control (250) to modify the trigger signal based on the size of the property is further configured to apply one or more constraints (418) to the modified trigger signal in order to limit a modification quantity to the trigger signal. [6] Power tool according to claim 1, further comprising a sensor (230) coupled to the electronic control (250), wherein the sensor (230) is designed to provide a sensor signal, the electronic control (250) is designed for: Receiving the sensor signal, and Adjusting the modified trigger signal based on the sensor signal, where the sensor (230) refers to a position of the trigger (210). [7] Power tool according to claim 1, wherein the electronic control (250) is further designed to: Receiving feedback information regarding the modified trigger signal, wherein the feedback information is selected from a group consisting of: exceedance, undershooting, smoothness, motor efficiency and feed rate, and Modifying a parameter used to adjust the modified trigger signal based on the received feedback information. [8] Power tool according to claim 1, further comprising a communication interface (225) connected to the electronic control (250), wherein the communication interface (225) is designed to communicate with an external device (108), the electronic control (250) is further designed to: Receiving feedback regarding the performance of the trained machine learning model (240) from at least one selected from a group consisting of: users via the communication interface (225), one or more sensors (230) included in the power tool, or both, and Modifying the trained machine learning model (240) based on the feedback. [9] Power tool according to claim 1, characterized by , that the electronic control (250) is further set up, to generate a target output value based on the modified trigger signal, where the target output value is a velocity, a power, a torque, or an angle value, and wherein the electronic control (250) to control the motor drive circuit (217) to control the motor (205) based on the modified trigger signal is further configured to control a switching network to control the motor (205) based on the target output value. [10] Method for implementing a dynamic trigger response to control a power tool, the method comprising: Receiving a trigger signal from a trigger (210) of the power tool, wherein the trigger signal corresponds to a first activation quantity of the trigger (210); Determining a magnitude of a property associated with the first activation set of the trigger (210); Modifying the trigger signal based on the size of the property, wherein the modified trigger signal corresponds to a second activation set of the trigger, the second activation set of the trigger (210) being different from the first activation set of the trigger (210); and Driving a motor (205) of the power tool based on the modified trigger signal; the method further comprising: Processing, with a trained machine learning model (240), the trigger signal from the trigger (210); and Generating a target output that includes the modified trigger signal. [11] Method according to claim 10, wherein the modification of the trigger signal includes: Detecting a change in the size of the property associated with the first activation quantity of the trigger (210); and Adjusting the trigger signal based on the change, wherein the adjusted trigger signal corresponds to a second activation set of the trigger (210). [12] Method according to claim 11, wherein modifying the trigger signal based on the magnitude of the property includes: Receiving a selection of a value for a configuration setting of the power tool; and Modifying a parameter used to adjust the modified trigger signal based on the configuration setting. [13] Method according to claim 12, wherein the parameter is at least one selected from a group consisting of a backfire parameter and a filter parameter (412, 414). [14] Method according to claim 10, wherein modifying the trigger signal based on the size of the property includes: Applying one or more constraints (418) to the modified trigger signal to limit a modification quantity on the trigger signal. [15] The method of claim 10, further comprising: Receiving a sensor signal from a sensor (230); and Adjusting the modified trigger signal based on the sensor signal; where the sensor signal refers to a position of the trigger (210). [16] The method of claim 10, further comprising: Receiving feedback information regarding the modified trigger signal, wherein the feedback information is selected from a group consisting of: exceedance, fall below, signal smoothness, motor efficiency, and feed rate; and Modifying a parameter used to adjust the modified trigger signal. [17] The method of claim 10, further comprising: Receiving feedback regarding the performance of the trained machine learning model (240) from one or more users of the power tool, one or more sensors (230) enclosed in the power tool, or both; and Modifying the trained machine learning model (240) based on the feedback.

Citation Information

Patent Citations

  • Electric working machine

    DE102016121029A1

  • System consisting of a hand-held power tool and accessories

    DE102018201006A1

  • Method for tightening a screw connection

    DE102018210127A1

  • US000011221611B2