CN118809520A - 包括机器学习块的电动工具 - Google Patents
包括机器学习块的电动工具 Download PDFInfo
- Publication number
- CN118809520A CN118809520A CN202410785496.1A CN202410785496A CN118809520A CN 118809520 A CN118809520 A CN 118809520A CN 202410785496 A CN202410785496 A CN 202410785496A CN 118809520 A CN118809520 A CN 118809520A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- power tool
- learning controller
- motor
- controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 790
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000015654 memory Effects 0.000 claims abstract description 61
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000033001 locomotion Effects 0.000 claims description 52
- 230000002159 abnormal effect Effects 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 23
- 238000001514 detection method Methods 0.000 claims description 8
- 230000001965 increasing effect Effects 0.000 claims description 8
- 238000013021 overheating Methods 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims 1
- 230000004913 activation Effects 0.000 description 81
- 238000001994 activation Methods 0.000 description 81
- 238000012549 training Methods 0.000 description 70
- 238000013528 artificial neural network Methods 0.000 description 67
- 230000006854 communication Effects 0.000 description 53
- 238000004891 communication Methods 0.000 description 53
- 230000008859 change Effects 0.000 description 40
- 230000006870 function Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 23
- 230000000306 recurrent effect Effects 0.000 description 23
- 230000003068 static effect Effects 0.000 description 23
- 238000012706 support-vector machine Methods 0.000 description 16
- 238000005553 drilling Methods 0.000 description 14
- 239000002184 metal Substances 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 239000013598 vector Substances 0.000 description 9
- 230000002787 reinforcement Effects 0.000 description 8
- 239000002023 wood Substances 0.000 description 8
- 239000000463 material Substances 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 5
- 238000012790 confirmation Methods 0.000 description 5
- 238000005520 cutting process Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 239000008207 working material Substances 0.000 description 5
- 230000005355 Hall effect Effects 0.000 description 4
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 4
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003066 decision tree Methods 0.000 description 3
- 230000008713 feedback mechanism Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002068 genetic effect Effects 0.000 description 2
- 238000000227 grinding Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 239000004519 grease Substances 0.000 description 1
- 239000011121 hardwood Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 239000000314 lubricant Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 239000004033 plastic Substances 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 239000011122 softwood Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000012421 spiking Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/4155—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by programme execution, i.e. part programme or machine function execution, e.g. selection of a programme
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25F—COMBINATION OR MULTI-PURPOSE TOOLS NOT OTHERWISE PROVIDED FOR; DETAILS OR COMPONENTS OF PORTABLE POWER-DRIVEN TOOLS NOT PARTICULARLY RELATED TO THE OPERATIONS PERFORMED AND NOT OTHERWISE PROVIDED FOR
- B25F5/00—Details or components of portable power-driven tools not particularly related to the operations performed and not otherwise provided for
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
- G05B13/027—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion using neural networks only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23D—PLANING; SLOTTING; SHEARING; BROACHING; SAWING; FILING; SCRAPING; LIKE OPERATIONS FOR WORKING METAL BY REMOVING MATERIAL, NOT OTHERWISE PROVIDED FOR
- B23D51/00—Sawing machines or sawing devices working with straight blades, characterised only by constructional features of particular parts; Carrying or attaching means for tools, covered by this subclass, which are connected to a carrier at both ends
- B23D51/16—Sawing machines or sawing devices working with straight blades, characterised only by constructional features of particular parts; Carrying or attaching means for tools, covered by this subclass, which are connected to a carrier at both ends of drives or feed mechanisms for straight tools, e.g. saw blades, or bows
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25B—TOOLS OR BENCH DEVICES NOT OTHERWISE PROVIDED FOR, FOR FASTENING, CONNECTING, DISENGAGING OR HOLDING
- B25B21/00—Portable power-driven screw or nut setting or loosening tools; Attachments for drilling apparatus serving the same purpose
- B25B21/02—Portable power-driven screw or nut setting or loosening tools; Attachments for drilling apparatus serving the same purpose with means for imparting impact to screwdriver blade or nut socket
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/31—From computer integrated manufacturing till monitoring
- G05B2219/31103—Configure parameters of controlled devices
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33034—Online learning, training
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Theoretical Computer Science (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mechanical Engineering (AREA)
- Manufacturing & Machinery (AREA)
- Human Computer Interaction (AREA)
- Numerical Control (AREA)
- Control Of Electric Motors In General (AREA)
Abstract
一种电动工具,包括壳体和由壳体支撑的传感器、机器学习控制器、电动机和电子控制器。传感器被配置为生成指示电动工具的操作参数的传感器数据。机器学习控制器包括第一处理器和第一存储器,并耦合到传感器。机器学习控制器还包括机器学习控制程序,机器学习控制器被配置为接收传感器数据,使用机器学习控制程序来处理传感器数据,并基于传感器数据,使用机器学习控制程序来生成输出。电子控制器包括第二处理器和第二存储器,并耦合到电动机和机器学习控制器。电子控制器被配置为从机器学习控制器接收输出,并基于输出控制电动机。
Description
本申请为2019年1月23日递交的题为“包括机器学习块的电动工具”的中国专利申请No.201980016161.0的分案申请,该母案申请的全部内容通过引用并入本文。
相关申请的交叉引用
本申请要求于2018年1月24日提交的申请号为62/621,095的美国临时专利申请的优先权,其全部内容通过引用并入本文。
技术领域
本发明涉及基于检测到的信号而调节操作的电动工具。
发明内容
在一个实施例中,提供了一种电动工具,其包括电动机,传感器和电子控制组件,其具有包括电子处理器和存储器的机器学习控制器。传感器被配置为生成指示电动工具的操作参数的传感器数据。电子控制组件耦合到传感器和电动机,并被配置为从传感器接收传感器数据,并控制电动机。机器学习控制器被配置为接收传感器数据,并基于传感器数据,使用机器学习控制来生成输出。电子控制组件还被配置为基于来自机器学习控制器的输出激活电动机。
在一些实施例中,该输出是选自以下组中的至少一个:紧固件类型的识别,目标操作模式的识别,操作类型的识别,扭矩值,检测到的障碍物指示,异常附件状况指示,反冲指示,以及操作完成指示。在一些实施例中,机器学习控制器接收反馈,并基于该反馈重新训练机器学习控制。
在一个实施例中,提供了一种电动工具,其包括电动机,传感器,收发器和具有电子处理器和存储器的电子控制组件。电子处理器耦合到传感器,电动机和收发器。传感器被配置为生成指示电动工具的操作参数的传感器数据。电子处理器被配置为通过收发器,从传感器接收用于操作参数的具有操作参数阈值的工具配置文件,其由远离电动工具的机器学习控制器生成。电子处理器还被配置为从传感器接收传感器数据,将传感器数据与操作参数阈值进行比较,并基于比较控制电动机。
在一个实施例中,提供了一种与电动工具通信的机器学习控制器。机器学习控制器包括耦接到存储器的电子处理器,存储器存储使用工具使用数据训练的机器学习控制。电子处理器被配置为接收新的工具使用数据,并且通过执行机器学习控制,基于新的工具使用数据生成输出。电子处理器还被配置为基于输出生成具有操作参数阈值的工具配置文件,并将工具配置文件传输至电动工具。
在一个实施例中,提供了一种与多个电动工具通信的机器学习控制器。机器学习控制器包括耦接到存储器的电子处理器,存储器存储使用工具使用数据来训练的机器学习控制。电子处理器被配置为接收新的工具使用数据,并且通过执行机器学习控制,基于新的工具使用数据来生成输出,该输出指示生成新的工具使用数据的工具类型。
在一个实施例中,提供了一种电动工具,其包括壳体和由壳体支撑并被配置为生成指示电动工具的操作参数的传感器数据的传感器、由壳体支撑的机器学习控制器、由壳体支撑电动机和由壳体支撑电子控制器。机器学习控制器包括第一处理器和第一存储器,耦合到传感器,并包括机器学习控制程序。机器学习控制器被配置为:接收传感器数据;使用机器学习控制程序来处理传感器数据,其中,机器学习控制程序是经训练的机器学习控制程序;以及基于传感器数据,使用机器学习控制程序来生成输出。电子控制器包括第二处理器和第二存储器,并耦合到电动机和机器学习控制器。电子控制器被配置为从机器学习控制器接收输出,并基于输出控制电动机。
在一个实施例中,提供了一种操作电动工具的方法。该方法包括:通过电动工具的传感器生成指示电动工具的操作参数的传感器数据;以及通过电动工具的机器学习控制器接收传感器数据。机器学习控制器包括第一存储器和第一处理器,第一处理器被配置为执行存储在第一存储器上的指令。该方法还包括:使用机器学习控制器的机器学习控制程序处理传感器数据;以及基于传感器数据,使用机器学习控制程序生成输出。该方法还包括通过电动工具的电子控制器接收来自机器学习控制器的输出。电子控制器包括第二存储器和第二处理器,第二处理器被配置为执行存储在第二存储器中的指令。该方法还包括基于输出,通过电子控制器控制电动工具的电动机。
在一个实施例中,提供了一种与电动工具通信的外部系统装置。外部系统装置包括用于与电动工具通信的收发器,以及与收发器通信的第一机器学习控制器。机器学习控制器包括电子处理器和存储器,并被配置为通过收发器,从电动工具接收工具使用数据,其包括由电动工具收集的反馈。机器学习控制器还被配置为使用工具使用数据训练机器学习控制程序,以生成更新的机器学习控制程序。更新的机器学习控制程序被配置为由电动工具的第二机器学习控制器执行,以使得电动工具的第二机器学习控制器:接收电动工具传感器数据作为输入,使用机器学习控制程序处理电动工具传感器数据,以及向电动工具电子控制器提供输出,电动机控制是基于该输出的,电动工具电子控制器控制电动工具的电动机。机器学习控制器还被配置为通过收发器将更新的机器学习控制程序传输到电动工具。
下面描述了附加的实施例。
附图说明
图1示出了第一电动工具系统。
图2示出了第二电动工具系统。
图3示出了第三电动工具系统。
图4A至图4B示出了第四电动工具系统。
图4C示出了第五电动工具系统。
图4D示出了第六电动工具系统。
图5A是图1至图4C的电动工具系统的示例性电动工具的框图。
图5B是图5A的电动工具的机器学习控制器的框图。
图6是示出建立和实施图5A的电动工具的机器学习控制器的方法的流程图。
图7是根据机器学习控制器操作图5A的电动工具的方法的流程图。
图8示出了示例性触发器激活模式。
图9A示出了多级触发器的操作的图表。
图9B示出了另一多级触发器的示意图。
图10示出了包括反馈致动器的电动工具。
图11是提供反馈信息的电动工具的旋转的图。
图12是可由机器学习控制器使用的各类型信息的示意图。
图13示出了被配置为识别所使用的紧固件的类型的机器学习控制器的示意图。
图14是示出使用机器学习控制器识别紧固件的类型的方法的流程图。
图15示出了示出由机器学习控制器建议的参数的示例性图形用户界面。
图16是示出使用机器学习控制器预测紧固件扭矩的方法的流程图。
图17是机器学习控制器预测紧固件扭矩的实施例的示意图。
图18A是示出机器学习控制器在其中被配置为识别由图5A的电动工具执行的凸耳螺母星形模式(lug nut star pattern)的方法的流程图。
图18B示出了机器学习控制器识别凸耳螺母星形模式的实施例的示意图。
图19是示出使用机器学习控制器检测图5A的电动工具的异常状况的方法的流程图。
图20示出了机器学习控制器检测反冲(kickback)的实施例的示意图。
图21是示出使用机器学习控制器自动识别电动工具的应用和生成或选择操作模式配置文件(profile)的方法的流程图。
图22是自动识别电动工具的应用的机器学习控制器的门控体系结构(gatedarchitecture)的实施例的示意图。
图23是估计工作灯激活持续时间的方法1500的流程图。
图24是示出根据图23的流程图的工作灯的示例性操作的示例性时序图。
图25是电源系统的图。
图26是示出通过机器学习控制器对来自图25的电源系统的数据的分析的示例性图形用户界面。
图27是示出使用机器学习控制器540基于使用高采样率的运动监控来监测及控制电动工具的方法的流程图。
图28示出了用于与图27的流程图一起使用的往复锯。
具体实施方式
在详细解释本发明的任何实施例前,应当理解,本发明的应用不限于在以下描述中阐述或在附图中示出的构造细节和部件布置。本发明能够具有其他实施例,并且能够以各种方式实践或实施。另外,应当理解,本文所使用的措词和术语是出于描述的目的,而不应被视为是限制性的。本文中“包括”,“包含”或“具有”及其变体的使用意在涵盖其后列出的项目及其等同物以及其他项目。术语“安装”,“连接”,“支撑”和“耦合”被广泛地使用,并且包括直接和间接的安装,连接和耦合。此外,“连接”和“耦合”不限于物理或机械连接或耦合,而是可包括直接或间接的电连接或耦合。
应当注意,可以利用多个基于硬件和软件的装置以及多个不同的结构部件来实施本发明。此外,并且如在随后的段落中所描述的,附图中示出的特定配置旨在例示本发明的实施例,并且其他替代配置也是可能的。除非另有说明,否则术语“处理器”,“中央处理单元”和“CPU”是可互换的。当术语“处理器”或“中央处理单元”或“CPU”被用作标识执行特定功能的单元时,应理解,除非另有说明,否则那些功能可以由以任何形式布置的单个处理器或多个处理器(包括并行处理器,串行处理器,串联处理器或云处理/云计算配置)执行。
一些电动工具包括传感器和控制系统,该控制系统使用硬编码的阈值来例如改变或调节工具的操作。例如,传感器可以检测到电池电压低于预定的硬编码的阈值。电动工具然后可以停止电动机的操作以保护电池组。尽管这些类型的阈值可能易于实施并为电动工具的操作提供了一些好处,但是这些类型的硬编码的阈值无法适应电动工具操作期间不断变化的状况或应用,并且可能最终无法帮助检测和响应更复杂的状况,例如,当电动工具遇到反冲(kickback)时。
本申请描述了各种系统,其中使用了机器学习控制器来控制电动工具的特征或功能。例如,机器学习控制器不是实施由例如工程师确定和编程的硬编码的阈值,而是基于在电动工具的先前操作期间收集的数据来检测状况。在一些实施例中,机器学习控制器基于例如电动工具的特定应用或在电动工具的特定模式期间确定用于操作工具的可调节阈值。因此,阈值、状况或其组合基于相同类型的电动工具的先前操作,并且可以基于从用户接收的输入和电动工具的进一步操作而改变。
图1示出了第一电动工具系统100。第一电动工具系统100包括电动工具105,外部装置107,服务器110和网络115。电动工具105包括各种传感器和装置,该传感器和装置在电动工具105的操作期间收集使用信息。使用信息可替代地被称为电动工具105的操作信息,并且例如是指关于电动机的操作的数据(例如,速度,位置,加速度,温度,使用时间等),电动工具105的操作模式(例如,驱动模式,冲击模式,每种模式下的操作时间,每种模式下的操作频率等),操作期间遇到的状况(例如,电动机的过热等),以及其他方面(例如,电池的电力状态,放电率等)。
在所示的实施例中,电动工具105与外部装置107通信。外部装置107可以包括例如智能电话,平板计算机,蜂窝电话,膝上型计算机,智能手表等。电动工具105与外部装置107通信,例如,以发送用于电动工具105的使用信息的至少一部分,以接收用于电动工具105的配置信息,或其组合。在一些实施例中,外部装置可以包括与电动工具105通信的短程收发器,以及与服务器110通信的远程收发器。在所示的实施例中,电动工具105还包括通过短程通信协议(诸如蓝牙)与外部装置通信的收发器。在一些实施例中,外部装置107桥接电动工具105和服务器110之间的通信。也就是说,电动工具105将操作数据发送到外部装置107,并且外部装置107将来自电动工具105的操作数据通过网络115转发到服务器110。网络115可以是远程无线网络,例如互联网,局域网(“LAN”),广域网(“WAN”)或其组合。在其他实施例中,网络115可以是短程无线通信网络,并且在其他实施例中,网络115可以是使用例如USB电缆的有线网络。类似地,服务器110可以将信息发送到外部装置107,以转发给电动工具105。在一些实施例中,代替短程收发器或除短程收发器之外,电动工具105配备有远程收发器。在这样的实施例中,电动工具105直接与服务器110通信。在一些实施例中,电动工具105可以与服务器110和外部装置107直接通信。在这样的实施例中,外部装置107可以例如生成图形用户界面以促进电动工具105的控制和编程,而服务器110可以存储和分析更大量的操作数据以用于电动工具105的未来编程或操作。然而,在其他实施例中,电动工具105可以直接与服务器110通信,而无需利用与外部装置107的短程通信协议。
服务器110包括服务器电子控制组件,该服务器电子控制组件具有服务器电子处理器425,服务器存储器430,收发器和机器学习控制器120。收发器允许服务器110与电动工具105,外部装置107或两者进行通信。服务器电子处理器425从电动工具105接收工具使用数据(例如,经由外部装置107),将接收到的工具使用数据存储在服务器存储器430中,并且在一些实施例中,使用接收到的工具使用数据来建立或调节机器学习控制器120。
机器学习控制器120实施机器学习程序。机器学习控制器120被配置为基于示例输入来构建模型(例如,建立一个或多个算法)。监督学习涉及向计算机程序呈现示例输入及其实际输出(例如,分类)。机器学习控制器120被配置为基于所提供的示例输入-输出对来学习将输入映射到输出的通用规则或模型。机器学习算法可以被配置为使用各种类型的方法来执行机器学习。例如,除其他(如以下表1所示)之外,机器学习控制器120可以使用决策树学习,关联规则学习,人工神经网络,循环人工神经网络,长期短期记忆神经网络,归纳逻辑编程,支持向量机,聚类,贝叶斯网络,强化学习,表征学习,相似度与度量学习,稀疏字典学习,遗传算法,k近邻(KNN)来实施机器学习程序。
机器学习控制器120被编程和训练以执行特定任务。例如,在一些实施例中,机器学习控制器120被训练以识别使用电动工具105的应用(例如,用于安装干式墙)。机器学习控制器120被训练的任务可以基于例如电动工具的类型,来自用户的选择,使用电动工具的典型应用等而变化。类似地,机器学习控制器120的训练方式也基于特定任务而变化。具体地,用于训练机器学习控制器的训练示例可以包括不同的信息,并且可以基于机器学习控制器120的任务而具有不同的维数。在机器学习控制器120被配置为识别电动工具105的使用应用的上述示例中,每个训练示例可以包括一组输入,例如电动机速度,电动机电流和电压,电动工具105当前正在实施的操作模式,以及电动工具105的运动(例如,来自加速度计)。每个训练示例还包括指定的输出。例如,当机器学习控制器130识别该电动工具105的使用应用时,训练示例可以具有包括电动工具105的特定使用应用(例如安装干式墙)的输出。其他训练示例包括对于每个输入的不同值和指示使用应用是例如在木制工件上安装螺钉的输出。训练示例可以是先前收集的训练示例,例如来自多个相同类型的电动工具。例如,训练示例可能先前已在例如一年的时间中从例如两百个相同类型的电动工具(例如钻头)中收集。
多个不同的训练示例被提供给机器学习控制器120。机器学习控制器120使用这些训练示例来生成有助于基于新的输入数据分类或估算输出的模型(例如,规则,方程式组等)。机器学习控制器120可以不同地权衡不同的训练示例,以例如对来自机器学习控制器120的不同状况或输出进行优先级排序。例如,与反冲状况相对应的训练示例的权重可能比与磨损(stripping)状况相对应的训练示例的权重更大,以相对于磨损状况优先考虑反冲状况的正确识别。在一些实施例中,通过将不同的代价函数或值与特定的训练示例或训练示例的类型相关联,来对训练示例进行不同的加权。
在一个示例中,机器学习控制器120实施人工神经网络。人工神经网络通常包括输入层,多个隐藏层或节点,以及输出层。通常,输入层包括与提供给机器学习控制器120的输入一样多的节点。如上所述,提供给机器学习控制器120的输入的数量(和类型)可以基于机器学习控制器120的特定任务而变化。因此,机器学习控制器120的人工神经网络的输入层可以基于机器学习控制器120的特定任务而具有不同数量的节点。输入层连接至隐藏层。隐藏层的数量是可变化的,并且可以取决于机器学习控制器120的特定任务。此外,每个隐藏层可以具有不同数量的节点,并且可以不同地连接到下一层。例如,输入层的每个节点可以连接到第一隐藏层的每个节点。输入层的每个节点和第一隐藏层的每个节点之间的连接可被分配有权重参数。此外,还可以为神经网络的每个节点分配偏差值。然而,第一隐藏层的每个节点可以不连接到第二隐藏层的每个节点。也就是说,第一隐藏层的一些节点可能没有连接到第二隐藏层的所有节点。在第一隐藏层和第二隐藏层的节点之间的连接分别被分配有不同的权重参数。隐藏层的每个节点都与激活函数关联。激活函数限定隐藏层如何处理从输入层或先前的输入层接收的输入。这些激活函数可以变化并且可以不仅基于与机器学习控制器120相关联的任务的类型,而且还可以基于实施的隐藏层的特定类型而变化。
每个隐藏层可以执行不同的功能。例如,某些隐藏层可以是卷积隐藏层,其在某些情况下可以降低输入的维数,而其他隐藏层可以执行更多统计功能,例如最大池化,其可以将输入的组减少到最大值,平均层等。在一些隐藏层(也称为“密集层”)中,每个节点都连接到下个隐藏层的每个节点。包括多于例如三个隐藏层的一些神经网络可以被认为是深层神经网络。最后的隐藏层连接到输出层。与输入层相似,输出层通常具有与可能的输出相同数量的节点。在机器学习控制器120识别电动工具105的使用应用的上述示例中,输出层可以包括例如四个节点。第一节点可以指示使用应用对应于安装干式墙,第二节点可以指示使用应用对应于在木制工件上安装螺钉,第三节点可以指示使用应用对应于移除螺钉,并且第四节点可以指示使用应用对应于未知(或无法识别)的任务。在一些实施例中,机器学习控制器120然后选择具有最高值的输出节点,并向电动工具105或用户指示相应的使用应用。在一些实施例中,机器学习控制器120还可选择多于一个的输出节点。机器学习控制器120或电子处理器550然后可以使用多个输出来控制电动工具500。例如,机器学习控制器120可以识别紧固件的类型并选择自钻螺钉(例如,钻尾(TEK)螺钉)和钣金螺钉作为最有可能的紧固件。然后,机器学习控制器120或电子处理器550可以例如根据用于自钻螺钉的斜坡上升速度(ramp up speed)控制电动机100,但是采用来自钣金螺钉的反冲检测。机器学习控制器120和电子处理器550可以实施组合来自机器学习控制器120的输出的不同方法。
在训练期间,人工神经网络接收训练示例的输入,并使用每个节点的偏差以及每个节点与相应权重之间的连接来生成输出。然后,人工神经网络将生成的输出与训练示例的实际输出进行比较。基于生成的输出和训练示例的实际输出,神经网络更改与每个节点连接相关联的权重。在一些实施例中,神经网络还在训练期间改变与每个节点相关联的权重。训练将持续到训练状况被满足为止。训练状况可以对应于例如使用了预定数量的训练示例,在训练和验证期间达到最小准确性阈值,完成了预定数量的验证迭代等。基于训练示例,可以使用不同类型的训练算法来调节节点连接的偏差值和权重。训练算法可以包括例如梯度下降,牛顿法,共轭梯度,拟牛顿,列文伯格马夸特等(再次参见表1)。
在另一示例中,机器学习控制器120实施支持向量机以执行分类。机器学习控制器120可以例如对紧固件是否正在磨损进行分类。在这样的实施例中,机器学习控制器120可以接收诸如电动机速度,输出扭矩和操作时间(例如,电动工具105已经在同一紧固件上工作多长时间)的输入。然后,机器学习控制器120使用一些输入变量(例如,电动机速度,输出扭矩,操作时间等)的组合作为支持向量来限定边距,以使边距最大化。在一些实施例中,机器学习控制器120使用多于一个相似的输入变量(例如,工具沿不同轴线的运动)的组合来限定边距。边距对应于不同分类的两个最接近向量之间的距离。例如,边距对应于代表正在磨损紧固件的向量与代表没有磨损紧固件的向量之间的距离。在一些实施例中,机器学习控制器120使用多于一个的支持向量机来执行单个分类。例如,当机器学习控制器120对紧固件是否正在磨损进行分类时,第一支持向量机可以基于电动机速度和操作时间来确定紧固件是否正在磨损,而第二支持向量机可以基于电动机速度和输出扭矩来确定紧固件是否正在磨损。然后,当两个支持向量机将紧固件分类为磨损时,机器学习控制器120可以确定紧固件是否正在磨损。在其他实施例中,单个支持向量机可以使用多于两个的输入变量,并限定一个超平面,该超平面将正在磨损的紧固件与没有磨损的紧固件分开。
用于支持向量机的训练示例包括:输入向量,其包括用于输入变量的值(例如,电动机速度,操作时间,输出扭矩等);以及输出分类,其指示紧固件是否表示正在磨损的紧固件。在训练期间,支持向量机选择最大化边距的支持向量(例如,输入向量的子集)。在一些实施例中,支持向量机可能能够限定线或超平面,该线或超平面准确地将正在磨损的紧固件与没有磨损的紧固件分开。然而,在其他实施例中(例如,在不可分离的情况下),支持向量机可以限定线或超平面,该线或超平面最大化边距并且最小化松弛变量,其测量支持向量机的分类中的误差。在训练了支持向量机后,可以将新的输入数据与线或超平面进行比较,以确定如何对新的输入数据进行分类(例如,确定紧固件是否正在磨损)。在其他实施例中,如上所述,机器学习控制器120可以实施不同的机器学习算法,以基于一组输入数据来进行估计或分类。下面的表2中列出了输入数据,处理技术和机器学习算法的配对的一些示例。在下表中列出为时间序列数据的输入数据包括例如本文所述的时间序列工具使用信息的各种示例中的一个或多个。
在图1的示例中,服务器110从电动工具105接收使用信息。在一些实施例中,服务器110将接收到的使用信息用作附加训练示例(例如,当还知道实际值或分类时)。在其他实施例中,服务器110将接收到的使用信息发送到经训练的机器学习控制器120。机器学习控制器120然后基于输入的使用信息来生成估计值或分类。服务器电子处理器425然后生成用于电动工具105的未来操作的推荐。例如,经训练的机器学习控制器120可以确定紧固件正在磨损。然后,服务器电子处理器425可以确定用于所选操作模式的较慢的电动机速度可能防止其他紧固件磨损。服务器110然后可以将建议的操作参数发送到外部装置107。外部装置107可以显示对操作参数的建议的改变(例如,图15),并向用户请求确认以将改变转发到电动工具105前实施建议的改变。在其它实施例中,外部装置107转发建议的改变给电动工具105,并显示建议的改变以通知用户由电动工具105实现的改变。
特别地,在图1所示的实施例中,服务器电子控制组件生成被推荐为在特定模式下用于电动工具105操作的一组参数和更新的阈值。例如,在冲击模式下的电动工具105的各种操作期间,机器学习控制器120可以检测到电动工具105可能已经在操作的前十秒期间受益于电动机的更快的平均旋转速度。机器学习控制器120然后可以调节冲击模式的电动机速度阈值,以使得电动机速度在电动工具105的冲击模式的前十秒期间增加。服务器110然后经由外部装置107将更新的电动机速度阈值发送到电动工具105。
电动工具105接收更新的电动机速度阈值,根据更新的电动机速度阈值更新冲击模式,并在冲击模式下根据更新的电动机速度阈值操作。在一些实施例中,电动工具105基于预定时间表(例如,每八小时)周期性地将使用数据发送到服务器110。在其他实施例中,电动工具105在预定的不活动时间段后(例如,当电动工具105已经不活动两小时)(这可能指示操作时段已经完成)发送使用数据。在一些实施例中,电动工具105将使用数据实时发送到服务器110,并且可以在后续操作中实施更新的阈值和参数。
图2示出了第二电动工具系统200。第二电动工具系统200包括电动工具205,外部装置107,服务器210和网络215。电动工具205与图1的电动工具系统100相似,并收集关于图1描述的使用信息类似的使用信息。不同于第一电动工具系统100的电动工具105,第二电动工具系统200的电动工具205包括静态机器学习控制器220。在所示的实施例中,电动工具205通过网络215从服务器210接收静态机器学习控制器220。在一些实施例中,电动工具205在制造期间接收静态机器学习控制器220,而在其他实施例中,电动工具205的用户可以在电动工具205已经制造后,并且在一些实施例中,在电动工具205的操作后,选择接收静态机器学习控制器220。静态机器学习控制器220是类似于经训练的机器学习控制器120的经训练的机器学习控制器,其中机器学习控制器120已经使用各种训练示例被训练,并且被配置为接收新的输入数据,并生成用于新的输入数据的估计或分类。
电动工具205经由例如以上关于图1描述的外部装置107与服务器210通信。外部装置107还可以向电动工具205提供额外的功能(例如,生成图形用户界面)。电动工具系统200的服务器210可以利用来自类似于电动工具205的电动工具的使用信息(例如,当电动工具205是电钻时,服务器210可以从各种其他电钻接收使用信息),并且使用来自电动工具的接收的使用信息的训练示例来训练机器学习程序。然后,服务器210将经训练的机器学习程序发送到电动工具205的机器学习控制器220,以用于在电动工具205的未来操作期间执行。
因此,静态机器学习控制器220包括例如在制造时提供的经训练的机器学习程序。在电动工具205的未来操作期间,静态机器学习控制器220分析来自电动工具205的新的使用数据,并基于新的使用数据生成推荐或动作。如上面关于机器学习控制器120讨论的,静态机器学习控制器220具有一个或多个特定任务,例如确定电动工具205的当前应用。在其它实施例中,静态机器学习控制器220的任务可以不同。在一些实施例中,电动工具205的用户可以使用例如由外部装置107生成的图形用户界面来选择用于静态机器学习控制器220的任务。外部装置107然后可以向服务器210发送用于静态机器学习控制器220的目标任务。服务器210然后向静态机器学习控制器220发送经训练的机器学习程序,其被训练以用于目标任务。基于来自静态机器学习控制器220的估计或分类,电动工具205可以改变其操作,调节电动工具205的操作模式中的一个和/或调节电动工具205的不同方面。在一些实施例中,电动工具205可包括多于一个的静态机器学习控制器220,每个静态机器学习控制器220具有不同的目标任务。
图3示出了第三电动工具系统300。第三电动工具系统300还包括电动工具305,外部装置107,服务器310和网络315。电动工具305类似于上述的电动工具105、205,并包括类似的传感器,其监测电动工具305的各种类型的使用信息(例如,电动机速度,输出扭矩,电池组的类型,电池组的电力状态等)。然而,第三电动工具系统300的电动工具305包括可调节的机器学习控制器320,而不是第二电动工具205的静态的机器学习控制器220。在所示的实施例中,第三电动工具305的可调节的机器学习控制器320通过网络315从服务器310接收机器学习程序。与第二电动工具205的静态机器学习控制器220不同,服务器310可以将机器学习程序的更新版本发送到可调节的机器学习控制器320,以替换先前的版本。
第三电动工具系统300的电动工具305(例如通过外部装置107)将关于可调节的机器学习控制器320的操作的反馈发送到服务器310。电动工具305例如可以向服务器310发送关于由可调节的机器学习控制器320错误地分类的操作的数量的指示。服务器310从电动工具305接收反馈,更新机器学习程序,并将更新的程序提供给可调节的机器学习控制器320,以减少被错误地分类的操作的数量。因此,服务器310基于从电动工具305接收的反馈来更新或重新训练可调节的机器学习控制器320。在一些实施例中,服务器310还使用从相似的电动工具接收的反馈来调节可调节的机器学习控制器320。在一些实施例中,服务器310定期(例如,每个月)更新可调节的机器学习控制器320。在其他实施例中,当服务器310接收到预定数量的反馈指示时(例如,在服务器310接收到两个反馈指示后),服务器310更新可调节的机器学习控制器320。反馈指示可以是肯定的(例如,指示可调节的机器学习控制器320正确地分类了状况,事件,操作或其组合),或者反馈可以是否定的(例如,指示可调节的机器学习控制器320错误地分类了状况,事件,操作或其组合)。
在一些实施例中,服务器310还利用从电动工具305和其他类似的电动工具接收的新的使用数据来更新可调节的机器学习控制器320。例如,服务器310可以基于新接收到的使用数据周期性地重新训练可调节的机器学习控制器320(或调节该训练)。服务器310然后将可调节的机器学习控制器320的更新版本发送到电动工具305。
当电动工具305接收到可调节的机器学习控制器320的更新版本(例如,当更新的机器学习程序被提供到并存储在机器学习控制器320上),电动工具305以更新版本替换可调节的机器学习控制器320的当前版本。在一些实施例中,电动工具305在制造期间配备有可调节的机器学习控制器320的第一版本。在这样的实施例中,电动工具305的用户可以请求可调节的机器学习控制器320的较新版本。在一些实施例中,用户可以选择将可调节的机器学习控制器320发送到电动工具305的频率。
图4A示出了第四电动工具系统400。第四电动工具系统400包括电动工具405,外部装置107,网络415和服务器410。电动工具405包括自更新机器学习控制器420。自更新机器学习控制器420例如在制造期间首先被加载在电动工具405上。自更新机器学习控制器420自我更新。换句话说,自更新机器学习控制器420从电动工具405中的传感器接收新的使用信息,指示对操作参数的期望改变(例如,用户想要增加电动机速度或输出扭矩)的反馈信息,指示机器学习控制器420做出的分类是否不正确的反馈信息,或其组合。然后,自更新机器学习控制器420使用接收到的信息来重新训练自更新机器学习控制器420。
在一些实施例中,当电动工具405不操作时,电动工具405重新训练自更新机器学习控制器420。例如,电动工具405可以检测到电动机在预定时间段内没有被操作,并在电动工具405保持不操作时开始自更新机器学习控制器420的重新训练过程。在电动工具405不操作时训练自更新机器学习控制器420允许在重新训练期间使用更多的处理电力,而不需争夺通常用于操作电动工具405的计算资源。
如图4A所示,在一些实施例中,电动工具405还与外部装置107和服务器410通信。例如,如上关于图1至图3所述,外部装置107与电动工具405通信。外部装置107生成图形用户界面以促进电动工具405的操作参数的调节。外部装置107还可以桥接电动工具405和服务器410之间的通信。例如,如上关于图2所述,在一些实施例中,外部装置107接收用于机器学习控制器420的目标任务的选择。然后,外部装置107可以从服务器410请求相应的机器学习程序,以用于传输到电动工具405。电动工具405还(例如,经由外部装置107)与服务器410通信。在一些实施例中,服务器410还可以重新训练自更新机器学习控制器420,例如如以上关于图3所描述的。服务器410可以使用来自其他类似电动工具的附加训练示例。使用这些附加训练示例可以提供更大的可变性,并最终使机器学习控制器420更可靠。在一些实施例中,当电动工具405不操作时,电动工具405重新训练自更新机器学习控制器420,并且当电动工具405保持操作时,服务器410可以重新训练机器学习控制器420(例如,当电动工具405在机器学习控制器420的预定的重新训练期间处于操作状态时)。因此,在一些实施例中,自更新机器学习控制器420可以在电动工具405上、通过服务器410或者通过其组合进行重新训练。在一些实施例中,服务器410不重新训练自更新机器学习控制器420,而是仍然与电动工具405交换信息。例如,服务器410可以为电动工具405提供其他功能,例如发送关于电动工具405的各种操作模式的信息。
图1至图4A中的每一个描述了电动工具系统100,200,300,400,其中电动工具105,205,305,405与服务器110、210、310、410和与外部装置107通信。如以上关于图1所讨论的,外部装置107可以桥接电动工具105、205、305、405与服务器110、210、310、410之间的通信。也就是说,电动工具105、205、305、405可以直接与外部装置107通信。外部装置107然后可以将从电动工具105、205、305、405接收的信息转发到服务器110、210、310、410。类似地,服务器110、210、310、410可以将信息发送到外部装置107,以转发到电动工具105、205、305、405。在这样的实施例中,电动工具105、205、305、405可以包括收发器以经由例如短程通信协议(诸如蓝牙(R))与外部装置107通信。外部装置107可以包括短程收发器,以与电动工具105,205,305,405通信,并且还可以包括远程收发器,以与服务器110、210、310、410通信。在一些实施例中,在外部装置107与电动工具105、205、405之间提供有线连接(例如通过USB电缆),以使得能够在外部装置107与电动工具105、205、305、405之间进行直接通信。305、405。提供有线连接可以提供在外部装置107与电动工具105、205、305、405之间更快和更可靠的通信方法。
外部装置107可以包括例如智能电话,平板计算机,蜂窝电话,膝上型计算机,智能手表等。在图1至图4A中示出的服务器110、210、310、410至少包括服务器电子处理器425,服务器存储器430和收发器,收发器经由网络115,215,315,415与电动工具105,205,305,405进行通信。服务器电子处理器425从电动工具105,205,305,405接收工具使用数据,在服务器存储器430中存储工具使用数据,并且在一些实施例中,使用接收到的工具使用数据以用于建立或调节机器学习控制器120,220,320,420。术语“外部系统装置”可在本文中用于指一个或多个外部装置107和服务器110,210,310和410,因为每一个都位于电动工具105,205,305,405的外部。此外,在一些实施例中,外部系统装置是无线集线器,例如放置于工地以监测工具,用作网关网络装置(例如,提供网络)或两者的信标装置。如本文所述,外部系统装置至少包括用于通信的输入/输出单元(例如,无线或有线收发器),存储指令的存储器,以及执行存储在存储器中的指令以执行归因于外部系统装置的功能的电子处理器。
在一些实施例中,电动工具405可以不与外部装置107或服务器410通信。例如,图4B示出了没有连接到外部装置107或服务器410的电动工具405。相反,由于电动工具405包括自更新机器学习控制器420,所以电动工具405可以实施机器学习控制器420,接收用户反馈,并在不与外部装置107或服务器410通信的情况下更新机器学习控制器420。
图4C示出了第五电动工具系统450,该第五电动工具系统450包括电动工具455和外部装置107。外部装置107使用以上参照图1至图4A描述的各种方法与电动工具455通信。特别地,电动工具455将关于电动工具455的操作的操作数据发送到外部装置107。外部装置107生成图形用户界面,以促进电动工具455的操作参数的调节,并向用户提供关于电动工具455的操作的信息。在图4C所示的实施例中,外部装置107包括机器学习控制器460。在一些实施例中,机器学习控制器460类似于图1的机器学习控制器120。在这样的实施例中,机器学习控制器460从电动工具455接收使用信息,并生成用于电动工具455的未来操作的建议。在这样的实施例中,机器学习控制器460可以生成被建议为用于在特定模式下的电动工具105的操作的一组参数和更新的阈值。外部装置107然后将更新的参数组和更新的阈值发送到电动工具455以用于实施。
在一些实施例中,机器学习控制器460类似于图3的机器学习控制器320。在这样的实施例中,外部装置107可以基于例如从电动工具455接收的反馈和/或来自电动工具455的其他操作数据来更新机器学习控制器460。在这样的实施例中,电动工具455还包括类似于例如图3的可调节的机器学习控制器320的机器学习控制器。外部装置107然后可以修改和更新可调节的机器学习控制器320,并且将对机器学习控制器320的更新传送给电动工具455以用于实施。例如,外部装置107可以使用来自用户的反馈重新训练机器学习控制器460,以继续训练机器学习控制器460实施强化学习控制,或者在一些实施例中,可使用反馈来调节例如循环神经网络上的切换率。
在一些实施例中,如上简要讨论的,电动工具455还包括机器学习控制器。电动工具455的机器学习控制器可以类似于例如如上所述的图2的静态机器学习控制器220,图3的可调节的机器学习控制器320,或图4A的自更新机器学习控制器420。
图4D示出了包括电池组480的第六电动工具系统475。电池组480包括机器学习控制器485。尽管未示出,但是在一些实施例中,电池组480可以例如通过网络与外部装置107,服务器或其组合通信。替代地或附加地,电池组可以与电动工具455(例如附接到电池组480的电动工具455)通信。外部装置107和服务器可以类似于如上关于图1至图4A所述的外部装置107和服务器110、210、310、410。电池组480的机器学习控制器485可以类似于上述机器学习控制器220、320、420中的任何一个。在一个实施例中,机器学习控制器220、320、420控制电池组480的操作。例如,机器学习控制器485可以帮助识别可能对电池组480有害的不同的电池状况,并且可以自动改变(例如,增加或减少)电池组480提供的电流量,和/或可以改变调节电池组480的操作的一些阈值。例如,电池组480可从机器学习控制器485的指令降低功率,以防止电池单元的过热。在一些实施例中,电池组480与电动工具(例如,类似于电动工具105、205、305、405、455)通信,并且机器学习控制器485控制电动工具的至少一些方面和/或操作。例如,电池组480可以从电动工具接收使用数据(例如,传感器数据),并且产生输出以控制电动工具的操作。电池组480然后可以将控制输出发送到电动工具的电子处理器。
在其他实施例中,提供了一种包括充电器(例如,用于为电池组480或没有机器学习控制器的类似的电池组充电)的电源系统,其中充电器包括与本文所述类似的机器学习控制器。
图1至图4C示出示例性电动工具,其具有冲击驱动器105,205,305,405的形式。然而,本文示出和描述的特定的电动工具105,205,305,405仅仅是示例性的。在其他实施例中,本文所述的电动工具系统100、200、300、400可包括不同类型的电动工具,例如,电钻,锤钻,切管机,砂光机,钉枪,润滑脂枪等。电动工具系统100、200、300、400的电动工具105、205、305、405被配置为执行一个或多个特定任务(例如,钻孔,切割,紧固,压制,施加润滑剂,打磨,加热,研磨,弯曲,成型,冲击,抛光,照明等)。例如,冲击扳手与产生旋转输出(例如,以驱动钻头)的任务相关联,而往复锯与产生往复输出运动(例如,以用于推动和拉动锯片)的任务相关联。与特定工具相关联的任务也可以称为工具的主要功能。每个电动工具包括特别地被设计为用于电动工具的主要功能的驱动装置。例如,在电动工具对应于冲击驱动器的所示实施例中,驱动装置是插座(socket)。然而,在实施例中,在电动工具是例如电钻的情况下,驱动装置可包括作为钻头驱动器的可调节的卡盘。
图1至图4D中的每一个示出了各种实施例,其中不同类型的机器学习控制器120,220,320,420与电动工具105,205,305,405结合使用。在一些实施例中,每个电动工具105、205、305、405可以包括多于一个的机器学习控制器120、220、320、420,并且每个机器学习控制器120、220、320、420可以是不同的类型。例如,电动工具105、205、305、405可包括如参照图2所述的静态机器学习控制器220,并且还可包括如参照图4A所述的自更新机器学习控制器420。在另一示例中,电动工具105、205、305、405可包括静态机器学习控制器220。静态机器学习控制器220可以随后被移除并且由例如可调节的机器学习控制器320代替。换句话说,相同的电动工具可包括以上关于图1至图4B描述的机器学习控制器120、220、320、420中的任何一个。另外,图6中所示并且在下面更详细地描述的机器学习控制器540是可以用作机器学习控制器120、220、320、420、460和485中的一个或多个的示例性控制器。
图5A是冲击驱动器形式的并且包括机器学习控制器的示例性电动工具500的框图。类似于图1至图4C的示例性电动工具,电动工具500代表各种类型的电动工具。因此,关于电动工具500的描述类似地适用于其他类型的电动工具。电动工具500的机器学习控制器可以是类似于第二电动工具205的静态机器学习控制器220的静态机器学习控制器,类似于第三电动工具305的可调节的机器学习控制器320的可调节的机器学习控制器,或类似于第四电动工具405的自更新机器学习控制器420的自更新机器学习控制器。虽然图5A的电动工具500被描述为与外部装置107或服务器通信,但是在一些实施例中,就机器学习而言,电动工具500是独立的或封闭的,并且不需要与外部装置107或服务器进行通信以执行下面更详细描述的机器学习控制器540的功能。
如图5A所示,电动工具500包括电动机505,触发器510,电源接口515,开关网络517,电源输入控件520,无线通信装置525,模式板(mode pad)527,多个传感器530,多个指示器535和电子控制组件536。电子控制组件536包括机器学习控制器540,激活开关545和电子处理器550。电动机505致动电动工具500的驱动装置,并且允许驱动装置执行电动工具500的特定任务。电动机505通过电源接口515从外部电源接收电力。在一些实施例中,外部电源包括交流(AC)电源。在这样的实施例中,电源接口515包括可连接至例如AC插座的AC电源线。在其他实施例中,外部电源包括电池组。在这样的实施例中,电源接口515包括电池组接口。电池组接口可以包括电动工具500上的电池组接收部分,该电池组接收部分被配置为接收并耦合到电池组(例如,电池组485或没有机器学习控制器的类似的电池组)。电池组接收部分可包括:连接结构,其与固定电池组的机构接合;以及端子块,其将电池组电连接至电动工具500。
电动机505基于触发器510的状态被通电。一般来说,当触发器510被激活时,电动机505被通电,并且当触发器510被停用时,电动机被断电。在一些实施例(诸如图1至图4C中所示的电动工具105、205、305、405)中,触发器510在电动工具的手柄的长度上部分地延伸,并且可移动地联接到手柄,以使得触发器510相对于电动工具壳体移动。在所示的实施例中,触发器510耦合到触发器开关555,以使得当按压触发器510时,触发器开关555被激活,并且当触发器被释放时,触发器开关555被停用。在所示的实施例中,触发器510被偏置(例如,具有一个偏置构件,例如弹簧),以使得当用户释放触发器510时,触发器510在第二方向上移动远离电动工具500的手柄。换句话说,除非用户按压触发器510并激活触发器开关555,否则触发器开关555的默认状态为被停用。
开关网络517使电子处理器550能够控制电动机505的操作。开关网络517包括连接在一起以形成网络的多个电子开关(例如场效应晶体管(FET),双极晶体管等),该网络使用脉宽调制(PWM)信号控制电动机505的激活。例如,开关网络217可以包括六FET桥,该六FET桥从电子处理器550接收脉宽调制(PWM)信号以驱动电动机505。一般来说,当触发器开关555的输出指示触发器510被按压时,电流经由开关网络517从电源接口515供应到电动机505。当触发器510未被按压时,电流不会从电源接口515提供给电动机505。如以下更详细地讨论,在一些实施例中,由触发器开关555检测到的触发器拉动的量与电动机505的期望旋转速度有关或相对应。在其他实施例中,触发器拉动的量对应于期望扭矩。
响应于电子处理器550从触发器开关555接收到激活信号,电子处理器550激活开关网络517以向电动机505提供电力。开关网络517控制电动机可用的电流量505,从而控制电动机505的速度和扭矩输出。模式板527允许用户选择所述电动工具500的模式,并且向用户指示电动工具500的当前选择的模式。在一些实施例中,模式板527包括单个致动器。在这样的实施例中,用户可以例如基于多次致动模式板527来选择用于电动工具500的操作模式。例如,当用户激活致动器三次时,电动工具500可以在第三操作模式下操作。在其他实施例中,模式板527包括多个致动器,每个致动器对应于不同的操作模式。例如,模式板527可以包括四个致动器,当用户激活四个致动器中的一个时,电动工具500可以第一操作模式进行操作。电子处理器550经由模式板527接收操作模式的用户选择,并且控制开关网络517,以使得电动机505根据所选择的操作模式来操作。在一些实施例中,电动工具500不包括模式板527。在这样的实施例中,电动工具500可以单个模式操作,或者可以包括用于选择电动工具500的操作模式的不同的选择机构。在一些实施例中,如以下更详细地描述的,电动工具500(例如,电子控制组件536)使用例如机器学习控制器540自动选择电动工具500的操作模式。
传感器530耦合到电子处理器550,并且向电子处理器550传送指示电动工具500或电动机505的不同参数的各种输出信号。传感器530包括例如霍尔效应传感器,电动机电流传感器,电动机电压传感器,温度传感器,扭矩传感器,位置或运动传感器(例如加速度计或陀螺仪)等。霍尔效应传感器将电动机反馈信息输出到电子处理器550,例如与电动机的位置,速度和电动机505的转子的加速度有关的指示(例如,脉冲)。在一些实施例中,电子处理器550使用来自霍尔效应传感器的电动机反馈信息,以控制开关网络517驱动电动机505。例如,通过选择性地启用和停用开关网络517,电源选择性地被提供到电动机505,以使电动机以特定速度,特定扭矩或其组合旋转。电子处理器550还可以基于包括在电动工具500中的其它传感器控制开关网络517和电动机505的操作。例如,在一些实施例中,电子处理器550基于指示电动工具500传递的冲击次数的传感器输出信号,指示电动工具500的砧座的速度的传感器输出信号等来改变控制信号。来自传感器的输出信号用于确保对开关网络517的控制信号的正确定时,并且在某些情况下,用于提供闭环反馈以将电动机505的速度控制在目标范围内或目标水平处。
指示器535也耦合到电子处理器550。指示器535从电子处理器500接收控制信号以产生视觉信号,以将关于电动工具500的操作或状态的信息传达给用户。指示器535可包括例如LED或显示屏,并且可产生指示例如电动工具500的操作状态或模式,在电动工具500的操作期间检测到的异常状况或事件等的各种信号。例如,指示器530可以指示电动工具500的测量的电气特性,电动工具500的情况或状态,电动工具500的操作模式(在下面进一步详细讨论)等。在一些实施例中,指示器535包括用于通过可听或可触输出将信息传达给用户的元件。在一些实施例中,电动工具500不包括指示器535。在一些实施例中,电力工具500的操作向用户警告关于电动工具的状况。例如,电动机505的快速减速可以指示存在异常状况。在一些实施例中,电动工具500与外部装置107通信,并且外部装置107生成图形用户界面,该图形用户界面在不需要电动工具500本身上的指示器535的情况下向用户传达信息。
电源接口515耦合到电源输入控件520。电源接口515将从外部电源接收的电源传输到电源输入控件520。电源输入控件520包括有源和/或无源部件(例如,降压控制器,电压转换器,整流器,滤波器等),以调整或控制通过电源接口515接收、到电子处理器550和电动工具500的其他部件(例如无线通信装置525)的电力。
无线通信装置525耦合到电子处理器550。在图1至图4A和图4C的示例性电动工具105、205、305、405中,无线通信装置525位于电动工具105、205、305、405的脚附近(参照图1至图4D),以节省空间,并确保电动机505的磁性活动不影响电动工具500和服务器110、210、310、410之间或与外部装置107的无线通信。在具体示例中,无线通信装置525位于模式板527下方。无线通信装置525可以包括例如无线电收发器和天线,存储器,处理器和实时时钟。无线电收发器和天线一起操作以向外部装置107,第二电动工具500或服务器110、210、310、410和处理器发送无线消息和从外部装置107,第二电动工具500或服务器110、210、310、410和处理器接收无线消息。无线通信装置525的存储器存储由处理器实施的指令和/或可以存储与电动工具500和外部装置107,第二电动工具500或服务器110、210、310、410之间的通信有关的数据。用于无线通信装置525的处理器控制电动工具500与外部装置107,第二电动工具500或服务器110、210、310、410之间的无线通信。例如,无线通信装置525的处理器缓冲传入和/或传出的数据,与电子处理器550进行通信,并确定要在无线通信中使用的通信协议和/或设置。
在一些实施例中,无线通信装置525是控制器。控制器与采用协议的外部装置107,第二电动工具500或服务器110、210、310、410通信。因此,在这样的实施例中,外部装置107,第二电动工具500或服务器110、210、310、410和电动工具500在它们交换数据时处于彼此的通信范围内(即,在附近)。在其他实施例中,无线通信装置525在不同类型的无线网络上使用其他协议(例如,Wi-Fi,蜂窝协议,专有协议等)进行通信。例如,无线通信装置525可以被配置为通过广域网(诸如因特网)或局域网通过Wi-Fi进行通信,或者通过微微网进行通信(例如,使用红外或近场通信(NFC))。经由无线通信装置525的通信可被加密以保护电动工具500和外部装置107,第二电动工具500,或服务器110、210、310、410之间交换的数据免受第三方侵害。
在一些实施例中,无线通信装置525包括实时时钟(RTC)。RTC独立于其他电动工具部件递增并保持时间。RTC在外部电源连接到电动工具500时从电源接口515接收电力,并且在外部电源未连接到电动工具500时从后备电源接收电力。RTC可以给来自电动工具500的操作数据加时间戳。另外,RTC可以启用安全特征,其中当RTC的时间超过由用户确定的锁定时间时,电动工具500被停用(例如,被锁定并且不可操作)。
在一些实施例中,无线通信装置525从电动工具500(例如,从电动工具电子处理器550)输出工具使用数据,维护数据,模式信息,驱动装置信息等。例如,输出的数据可以指示完成工作的时间以及完成工作的规格。输出的数据也可以提供已执行的工作的按时间顺序记录,记录工具使用的持续时间等。服务器110、210、310、410从无线通信装置525直接接收输出的信息或通过外部装置107接收输出的信息,并记录从电动工具500接收的数据。如在下面更详细地讨论的,输出的数据可以由电动工具500,外部装置107,或服务器110、210、310、410使用来训练或调适与类似的电动工具相关的机器学习控制器。无线通信装置525还可以从服务器110、210、310、410,外部装置107,或第二电动工具500接收信息,例如配置数据,操作阈值,维护阈值,模式配置,用于电动工具500的编程,用于电动工具500的更新的机器学习控制器等。例如,无线通信装置525可以直接或经由外部装置107与第二电动工具500交换信息。
在一些实施例中,电动工具500不与外部装置107或服务器110、210、310、410通信(例如,图4B中的电动工具405)。因此,在一些实施例中,电动工具500不包括上述无线通信装置525。在一些实施例中,电动工具500包括有线通信接口,以与例如外部装置107或不同的装置(例如,另一电动工具500)通信。有线通信接口可以提供比无线通信装置525更快的通信路线。
在一些实施例中,电动工具500包括数据共享设置。数据共享设置指示什么数据(如果有的话)从电动工具500输出到服务器110、210、310、410。在一个实施例中,电动工具500(例如,通过由外部装置107生成的图形用户界面)接收要从电动工具500输出的数据类型的指示。在一个实施例中,外部装置107可以显示电动工具500的数据共享的各种选项或水平,并且外部装置107通过其生成的图形用户界面接收用户的选择。例如,电动工具500可以接收仅要从电动工具500输出的使用数据(例如,电动机电流和电压,传递的冲击的次数,与每个冲击相关联的扭矩等)的指示,但是可以不输出有关例如电动工具500实施的模式,电动工具500的位置等的信息。在一些实施例中,数据共享设置可以是关于电动工具500的操作的数据(例如,使用数据)是否被发送到服务器110、210、310、410的二元指示。电动工具500接收关于数据共享设置的用户选择,并将数据共享设置存储在存储器中,以根据所选择的数据共享设置来控制无线通信装置525的通信。
电子控制组件536电气地和/或通信地连接到电动工具500的各个模块或部件。电子组件536基于来自机器学习控制器540的输出和确定来控制电动机505。具体而言,电子控制组件136包括电子处理器550(也称为电子控制器),机器学习控制器540和相应的激活开关545。在一些实施例中,电子处理器550包括多个电气和电子部件,其为电子处理器550和/或电动工具500中的部件和模块提供电力,操作控制和保护。例如,电子处理器550包括处理单元557(例如,微处理器,微控制器或另一合适的可编程装置),存储器560,输入单元565和输出单元570等。处理单元557包括控制单元572,算术逻辑单元(“ALU”)574和多个寄存器576等。在一些实施例中,电子处理器550被部分地或完全地实施在半导体(例如,现场可编程门阵列[“FPGA”]半导体)芯片或专用集成电路(“ASIC”)(例如通过寄存器传输级(“RTL”)设计过程开发的芯片)上。
存储器560包括例如程序存储区域580和数据存储区域582。程序存储区域580和数据存储区域582可以包括不同类型的存储器的组合,例如只读存储器(“ROM”),随机存取存储器(“RAM”)(例如,动态RAM[“DRAM”],同步DRAM[“SDRAM”]等),带电可擦可编程只读存储器(“EEPROM”),闪存内存,硬盘,SD卡或其他合适的磁,光,物理或电子存储装置。电子处理器230连接到存储器560,并执行能够存储在存储器560的RAM中(例如,在执行期间),存储器560的ROM中(例如,在大体上永久的基础上),或其他非暂时性计算机可读介质(例如另一存储器或磁盘)中的软件指令。电动工具500的实施例中包括的软件可以存储在电子处理器550的存储器560中。软件包括例如固件,一个或多个应用程式,程序数据,过滤器,规则,一个或多个程序模块,以及其他可执行指令。在一些实施例中,机器学习控制器540可以存储在电子处理器550的存储器560中,并由处理单元557执行。
电子处理器550被配置为从存储器560中检索并执行与本文所述的控制过程和方法有关的指令等。电子处理器550还被配置为在存储器560上存储电动工具信息,其包括工具使用信息,识别工具的类型的信息,用于特定工具的唯一标识符,用户特性(例如,身份,工作类型,技能水平),以及与操作或维护电动工具500有关的其他信息(例如,从诸如外部装置107的外部源接收到的信息或在制造时预先编程的信息)。工具使用的信息(例如电流水平,电动机速度,电动机加速度,电动机方向,冲击的次数)可以从传感器530输出的数据捕获或推断。更具体地,表3示出了工具使用信息的示例性类型,其可以由电子处理器550捕获或推断。在其他构造中,电子处理器550包括附加的,更少的或不同的部件。
机器学习控制器540耦合到电子处理器550和激活开关545。激活开关545在激活状态和停用状态之间切换。当激活开关545处于激活状态时,电子处理器550与机器学习控制器540通信,并从机器学习控制器540接收决定输出。当激活开关545处于停用状态时,电子处理器550不与机器学习控制器540通信。换句话说,激活开关545选择性地启用和停用机器学习控制器540。如上关于图1至图4D所述,机器学习控制器540包括经训练的机器学习控制器,其利用先前收集的电动工具使用数据来分析和分类来自电动工具500的新使用数据。如下面更详细地解释的,机器学习控制器540可识别电动工具的状况,应用和状态。在一个实施例中,激活开关545在激活状态和停用状态之间切换。在这种实施例中,当激活开关545处于激活状态时,电子处理器550基于来自机器学习控制器540的确定控制电动工具500的操作(例如,改变电动机505的操作)。然而,当激活开关545处于停用状态时,机器学习控制器540被停用,并且机器学习控制器540不影响电动工具500的操作。在一些实施例中,然而,激活开关545在激活状态和背景状态之间切换。在这样的实施例中,当激活开关545处于激活状态时,电子处理器550基于来自机器学习控制器540的确定或输出来控制电动工具500的操作。然而,当激活开关545处于背景状态时,机器学习控制器540继续基于电动工具500的使用数据生成输出,并且可以计算(例如确定)阈值或其他操作水平,但是电子处理器550不会基于来自机器学习控制器540的确定和/或输出改变电动工具500的操作。换句话说,在这样的实施例中,机器学习控制器540在背景操作而不影响电动工具500的操作。在一些实施例中,激活开关545不包括在电动工具500上,并且机器学习控制器540例如通过来自服务器(例如,服务器110、210、310、410)或来自外部装置107的无线信号被保持在启用状态或被控制为启用和停用。
如图5B所示,机器学习控制器540包括电子处理器575和存储器580。存储器580存储机器学习控制585。机器学习控制585可以包括如上参考图1至图4D所述的经训练的机器学习程序。在所示的实施例中,电子处理器575包括图形处理单元。在图5B的实施例中,机器学习控制器540被定位在单独的印刷电路板(PCB)上(相对于电动工具500的电子处理器550)。例如,电子处理器550的PCB和机器学习控制器540通过例如电线或电缆耦合,以使电动工具500的电子处理器550能够基于来自机器学习控制器540的输出和确定来控制电动机505。但是,在其他实施例中,机器学习控制585可以存储在电子处理器550的存储器560中,并且可以由处理单元557实施。在这样的实施例中,电子控制组件536包括单个电子处理器550。在又一些其它实施例中,机器学习控制器540在单独的电子处理器575中实施,但是其被定位在与电动工具500的电子处理器550相同的PCB上。将机器学习控制器540实施为与电子处理器550分离的处理单元的实施例(无论是在相同或不同的PCB上)允许选择处理单元来实施机器学习控制器540和电子处理器550中的每一个,其具有其针对每个单元的特定需求定制的能力(例如,处理功率和存储器容量)。这种定制可以降低电动工具的成本并提高电动工具的效率。在一些实施例中,如图4C所示,例如,外部装置107包括机器学习控制器540,并且电动工具500与外部装置107通信以从机器学习控制器540接收估计或分类。在一些实施例中,机器学习控制器540在可以容易地添加到电动工具500的插入式芯片或控制器中实施。例如,机器学习控制器540可以包括插入式芯片,该插入式芯片被接收在电动工具500的空腔内并连接到电子处理器550。例如,在一些实施例中,电动工具500包括可锁定的隔室,该可锁定的隔室包括电触点,该电触点被配置为接收并电连接至插入式机器学习控制器540。电触点使得插入式机器学习控制器540和电子处理器550之间能够进行双向通信,并使插入式机器学习控制器540能够从电动工具500接收电力。
如以上关于图1所讨论的,机器学习控制585可以由服务器110建立和操作。在其他实施例中,机器学习控制585可以由服务器110建立,但是由电动工具500实施(类似于图2和图3),并且在其他实施例中,电动工具500(例如,电子处理器550,电子处理器575或其组合)建立并实施机器学习控制585(类似于图4B)。图6示出了建立和实施机器学习控制585的方法600。相对于电动工具500描述了方法600,但是,如先前相对于图5A和5B所描述的,电动工具500代表在图1至图4C的各个系统中描述的电动工具105、205、305、405。因此,图1至图4D的各个系统的电动工具105、205、305、405可以实施类似的方法。在步骤605中,服务器电子处理器425访问先前从类似的电动工具收集的工具使用信息。此外,服务器电子处理器425访问用户特性信息,诸如在相应的电动工具正在收集工具使用信息的同时使用该电动工具的用户的特性信息。例如,为了建立用于图1至图4C和图5A的冲击驱动器的机器学习控制585,服务器电子处理器425访问先前从其他冲击驱动器收集的工具使用数据(例如,经由网络115)。工具使用数据包括例如电动机电流,电动机电压,电动机位置和/或速度,使用时间,电池电力状态,电动工具的位置,输出轴的位置或速度,冲击的次数等。另外,服务器电子处理器425访问先前收集的用户特性信息(例如,经由网络115)。然后,服务器电子处理器425基于工具使用数据,用户特性信息或两者来建立和训练机器学习控制585(步骤610)。
建立和训练机器学习控制585可以包括例如确定机器学习体系结构(例如,使用支持向量机,决策树,神经网络或不同的体系结构)。例如,在建立和训练神经网络的情况下,建立神经网络还可以包括确定输入节点的数量,隐藏层的数量,每个节点的激活函数,每个隐藏层的节点数量,输出节点的数量等。训练机器学习控制585包括向机器学习控制585提供训练示例,并使用一种或多种算法来设置机器学习控制585的各种权重,边距或其他参数以做出可靠的估计或分类。
在一些实施例中,建立和训练机器学习控制585包括建立和训练循环神经网络。循环神经网络允许对输入序列进行分析,而不是单独处理每个输入。也就是说,循环神经网络不仅可以基于该特定输入的信息,还可以基于先前的输入来确定或输出给定的输入。例如,当机器学习控制585被配置为识别与电动工具500一起使用的紧固件的类型时,机器学习控制585可以确定由于最后三个操作使用了凸耳螺母(lug nut),因此第四操作也可能使用了凸耳螺母。使用循环神经网络有助于通过提供并考虑关于特定操作的关系来抵偿机器学习控制585会造成的一些错误分类。因此,当实施循环神经网络时,学习率不仅影响每个训练示例如何影响整个循环神经网络(例如,调节权重,偏差等),而且还影响每个输入如何影响下个输入的输出。
服务器电子处理器425建立和训练机器学习控制585来执行特定任务。例如,在一些实施例中,机器学习控制585被训练以识别电动工具500被用于的应用(例如,用于安装干式墙)。在其他实施例中,机器学习控制585被训练以检测何时存在有害状况或即将发生有害状况(例如,检测到反冲)。机器学习控制585被训练为用于其的任务可以基于例如电动工具500的类型,来自用户的选择,电动工具被用于的典型应用,用户特性信息等变化。图13至图26扩展到机器学习控制585被建立和训练为用于特定任务的示例。服务器电子处理器425基于特定的任务,使用不同的工具使用数据来训练机器学习控制585。
在一些实施例中,用于机器学习控制器540(例如,用于机器学习控制585)的特定任务还限定了用于机器学习控制585的特定体系结构。例如,对于第一组任务,服务器电子处理器425可以建立支持向量机,而对于第二组任务,服务器电子处理器425可以建立神经网络。在一些实施例中,每个任务或任务类型与特定体系结构相关联。在这样的实施例中,服务器电子处理器425基于任务和与特定任务相关联的机器学习体系结构来确定用于机器学习控制585的体系结构。
在服务器电子处理器建立和训练机器学习控制585后,服务器电子处理器425在例如服务器110的存储器430中存储机器学习控制585(步骤615)。另外或替代地,服务器电子处理器425将经训练的机器学习控制585传输到电动工具500。在这样的实施例中,电动工具500将机器学习控制585存储在机器学习控制器540的存储器580中。在一些实施例中,例如,当电动工具500的电子处理器550实施机器学习控制585时,电动工具500将机器学习控制585存储在电子控制组件536的存储器560中。
一旦存储了机器学习控制585,则电动工具500根据(或基于)来自机器学习控制器540的输出和确定来操作电动机505(步骤620)。在机器学习控制器540(包括机器学习控制585)实施在服务器110、210中的实施例中,服务器110,210可以从来自机器学习控制器540的输出和确定来确定操作阈值。服务器110,210然后将确定的操作阈值传输到电动工具500以控制电动机505。
机器学习控制器540的性能取决于用于训练机器学习控制器540的数据的数量和质量。因此,如果(例如,服务器110、210、310、410)使用了不足够的数据来训练机器学习控制器540,机器学习控制器540的性能可能被减少。可替代地,不同的用户可能具有不同的偏好并且可以不同的应用并且以稍微不同的方式来操作电动工具500(例如,一些用户可以更大的力将电动工具500压在工作表面上,一些用户可能期望较快的完成速度等)。从用户的角度来看,电动工具500的这些使用差异也可能损害机器学习控制器540的某些性能。
可选地,为了改善机器学习控制器540的性能,在一些实施例中,服务器电子处理器425从电动工具500(或外部装置107)接收关于机器学习控制器540的性能的反馈(步骤625)。换句话说,至少在一些实施例中,该反馈是关于来自较早步骤620的电动机的控制。然而,在其他实施例中,电动工具500不接收关于机器学习控制器540的性能的用户反馈,而是通过执行机器学习控制585继续操作电动工具500。如以下进一步详细说明的,在一些实施例中,电动工具500包括用于提供机器学习控制器540的性能的反馈的特定反馈机制。在一些实施例中,外部装置107还可以提供图形用户界面,其从用户接收关于机器学习控制器540的操作的反馈。外部装置107然后向服务器电子处理器425发送反馈指示。在一些实施例中,电动工具500可仅向服务器110,210,310,410提供否定反馈(例如,当机器学习控制器540表现不佳时)。在一些实施例中,服务器110、210、310、410可认为缺乏电力工具500(或外部装置107)的反馈是指示机器学习控制器540的足够性能的肯定的反馈。在一些实施例中,电动工具500接收肯定的反馈和否定的反馈并将其提供给服务器电子处理器425。在一些实施例中,除了或代替用户反馈(例如,直接输入到电动工具500),电动工具500经由一个或多个传感器530感测一个或多个电动工具特性,并且该反馈基于感测到的电动工具特征。例如,在电动工具500的扭矩扳手实施例中,扭矩扳手包括扭矩传感器,以在紧固件操作期间感测输出扭矩,并且感测到的输出扭矩被提供为反馈。感测到的输出扭矩可以在电动工具500上本地评估,或在外部装置107或服务器电子处理器425上外部评估,以确定反馈是肯定的还是否定的(例如,当感测到的输出扭矩处于可接受的扭矩范围内时,反馈可以是肯定的;并且当处于可接受的扭矩范围外时,反馈可以是否定的)。如上面所讨论的,在一些实施例中,电动工具500可以直接向服务器110、210、310、410发送反馈或其它信息,而在其它实施例中,外部装置107可以用作用于电动工具500和服务器110、210、310 410之间的通信的桥,并且可以将反馈发送到服务器110、210、310、410。
然后,服务器电子处理器425基于接收到的用户反馈来调节机器学习控制585(步骤630)。在一些实施例中,服务器电子处理器425在接收到预定数量的反馈指示后(例如,接收到100个反馈指示后)调节机器学习控制585。在其它实施例中,服务器电子处理器425在预定的时间段已经过去后(例如,每两个月)调节机器学习控制585。在其他实施例中,服务器电子处理器425不断地(例如,在每次接收到反馈指示后)调节机器学习控制585。调节机器学习控制585可以包括例如使用附加反馈作为新的训练数据组或调节机器学习控制器540的某些参数(例如,权重,支持向量等)来重新训练机器学习控制器540。由于机器学习控制器540已经被训练为用于特定任务,相比机器学习控制器540的原始训练,以较小的新的数据组重新训练学习机器控制器540需要较少的计算资源(如,时间,内存,计算能力等)。
在一些实施例中,机器学习控制585包括强化学习控制,该强化学习控制允许机器学习控制585不断地整合由用户接收的反馈,以优化机器学习控制585的性能。在一些实施例中,强化学习控制基于机器学习控制585的性能来周期性地评估奖励函数。在这样的实施例中,训练机器学习控制585包括增加电动工具500的操作时间,以使得强化学习控制585接收到足够的反馈,以优化机器学习控制585的执行。在一些实施例中,当通过机器学习控制585实施强化学习时,在制造期间或前执行第一阶段的操作(例如,训练),以使得当用户操作电动工具500时,机器学习控制585可以实施预定的最小性能(例如,精度)。一旦用户操作他/她的电动工具500,机器学习控制585就可以继续学习和评估奖励功能,以进一步改善其性能。因此,电动工具可以最初被提供有稳定且可预测的算法,该算法可以随着时间而适应。在一些实施例中,强化学习被限制到机器学习控制585的一些部分。例如,在一些实施例中,取代有可能更新机器学习控制585的大体部分或整体的权重/偏差(其可以占用大量的处理功率和内存),实际模型保持冻结或大部分冻结(例如,除了最后一个或多个层或输出之外的全部),并且基于反馈仅更新机器学习控制585的一个或几个输出参数或输出特性。
在一些实施例中,机器学习控制器540将用户对电动工具500的操作解释为关于机器学习控制器540的性能的反馈。例如,如果用户在特定的模式的执行期间更用力地按压触发器,则机器学习控制器540可以确定机器学习控制器540选择的电动机速度不够高,并且可以直接提高电动机速度,使用接收到的反馈来重新训练或修改机器学习控制器,或者其组合。因此,电动工具500的操作可以在电动工具500的触发器510的两次相同的连续拉动之间变化。在一些实施例中,变化量是基于用户反馈,学习率或两者。例如,下面的表4指示用户对电动工具500的某些控制,以及机器学习控制器540如何将各种类型的控制解释为关于机器学习控制器540的反馈。这种类型的反馈可以允许机器学习控制器540例如在机器学习控制器540缺少与电动工具500的操作有关的一些信息时,确定适当的电动机控制阈值和参数。例如,这些反馈机制使机器学习控制器540能够更改操作模式,以紧固长度未知的自钻螺钉。
在一些实施例中,例如在框625,服务器110、210、310、410从各种不同的电动工具接收工具使用数据。因此,当服务器电子处理器425基于用户反馈调节机器学习控制585(框630),服务器电子处理器425可基于来自各种用户的反馈调节机器学习控制585。在其中机器学习控制器540完全实施在电动工具500上的实施例(例如,诸如以上关于图4A至图4B所讨论的)中,电子处理器550可以仅使用来自电动工具405的反馈指示来调节相同电动工具405的机器学习控制器420。换句话说,一些电动工具500可以仅使用来自特定用户的反馈信息来调节机器学习控制585。使用来自特定用户的反馈信息可以帮助为该特定工具的用户定制电动工具500的操作。
在服务器电子处理器425基于用户反馈调节机器学习控制器540后,电动工具500根据来自调节的机器学习控制器540的输出和确定进行操作(步骤635)。在一些实施例(诸如图3的电动工具系统300)中,服务器310将调节的机器学习控制585发送到电动工具500。电动工具500然后在机器学习控制器540的存储器580中(或在电动工具500的存储器560中)存储调节的机器学习控制585,并根据调节的机器学习控制器540操作电动机505。调节的机器学习控制器540通过使用用于训练机器学习控制器540的更大的和更多样化的数据集(例如,通过接收来自各种用户的反馈指示)来改善其性能。
在一些实施例中,用户还可以选择用于机器学习控制器540的学习率。调节机器学习控制器540的学习率影响基于接收到的用户反馈的机器学习控制器540的调节速度。例如,当学习率为高时,即使来自用户(或多个用户)的少量反馈指示也会影响机器学习控制器540的性能。另一方面,当学习率较低时,来自用户的更多的反馈指示用于创建在机器学习控制器540的性能中相同的变化。使用太高的学习率可能会导致机器学习控制器540由于电动工具500的操作异常而不必要地变化。在另一方面,使用太低的学习率可能会导致机器学习控制器540保持不变,直到收到请求类似更改的大量反馈指示为止。在一些实施例中,电动工具500包括专用致动器,以调节机器学习控制器540的学习率。在另一实施例中,用于启用或停用机器学习控制器540的激活开关545也可以用于调节机器学习控制器540的学习率。例如,激活开关545可以包括旋转拨盘。当旋转拨盘位于第一端时,可以机器学习控制器540被停用,当旋转拨盘朝向与第一端相对的第二端移动时,机器学习控制器540被启用,并且学习率增加。当旋转拨盘到达第二端时,学习率可以处于最大学习率。在其它实施例中,外部装置107(例如,智能电话,平板电脑,膝上型计算机,ASIC等)可通信地与电动工具500耦合并提供用户界面以例如选择学习率。在一些实施例中,学习率的选择可以包括低,中或高学习率的选择。在其它实施例中,可用更多或更少的选项来设置学习率,并且可以包括关闭学习的能力(即,设定学习率为零)。
如上所述,当机器学习控制器540实施循环神经网络时,学习率(或有时称为“切换率”)影响先前的输入或训练示例如何影响当前输入或训练示例的输出。例如,当切换率较高时,先前的输入对与当前输入关联的输出影响最小。也就是说,当切换率高时,每个输入被更多地视为独立输入。另一方面,当切换率较低时,先前的输入与当前输入的输出具有较高的相关性。也就是说,当前输入的输出高度依赖于为先前输入所确定的输出。在一些实施例中,用户可以与学习率相关(例如,利用相同的致动器)地选择切换率。然而,在其他实施例中,生成了独立的致动器(或图形用户界面元件)以独立于学习率来改变切换率。设置切换率的方法或部件与上述关于设置学习率的方法或部件相似。
图6的描述集中于服务器电子处理器425训练,存储和调节机器学习控制585。然而,在一些实施例中,电动工具500的电子处理器550可以执行以上参照图6描述的一些或全部步骤。例如,图4A-4D示出了示例性电动工具系统400,其中电动工具405存储并调节机器学习控制器540。因此,在该系统400中,电子处理器550执行以上参照图6描述的一些或所有的步骤。类似地,在一些实施例中,机器学习控制器540的电子处理器575或外部装置107执行以上参照图6描述的一些或全部步骤。
图7是示出如在图6的步骤620中参考的根据机器学习控制器540操作电动工具500的方法700的流程图。在步骤705中,电动工具500从触发器510接收指示电动工具500将要开始操作的触发器信号。在电动工具500的操作期间,电子处理器550从传感器530接收输出传感器数据(步骤710)。如上所述,输出传感器数据提供关于电动工具500的操作的变化信息(称为操作参数),其例如包括电动机位置,电动机速度,主轴位置,主轴速度,输出扭矩,电动工具500的位置,电池组的电力状态,日期,时间,定时,自上次使用以来的时间,模式,离合器设置,方向,电池类型,侧手柄的存在,故障,过去的应用和切换率历史,用户输入,外部输入,变速等,再次参见表3。然后,电子处理器550将至少一些传感器数据提供给机器学习控制器540(步骤715)。在电子处理器550实施机器学习控制585的实施例中,电子处理器550绕过步骤715。当电动工具500不存储机器学习控制器540的本地副本时(例如在图1的电动工具系统100中),电子处理器550将一些或全部传感器信息发送到服务器110,其中,机器学习控制器540实时、大体实时、稍后分析接收到的信息,或完全不分析接收到的信息。
发送到机器学习控制器540的传感器信息基于例如机器学习控制器540的特定任务而变化。如上所述,用于机器学习控制器的任务可以例如基于电动工具500的类型而变化。例如,在冲击驱动器的情况中,用于电动工具500的机器学习控制器540可被配置成识别电动工具500的应用的类型,并且可以对于每种应用的类型使用特定的操作阈值。在这样的实施例中,电子处理器550可以发送例如电动机505的旋转速度,主轴的旋转速度,电动工具的操作模式,但是可以不发送电池组的电力状态。机器学习控制器540然后基于接收到的传感器信息和与机器学习块540(步骤720)相关联的特定任务的输出。例如,在机器学习控制器540上执行的机器学习程序处理(例如,根据前述机器学习算法中的一个进行分类)所接收的传感器信息并生成输出。在以上示例中,机器学习控制器540的输出可以指示电动工具500正被用于的应用的类型。然后,电子处理器550基于来自机器学习控制器540的输出来操作电动机505(步骤725)。例如,电子处理器550可以使用来自机器学习控制器540的输出来确定是否要改变任何操作阈值(例如,开始速度,最大速度,完成速度,旋转方向,冲击的次数等),以提高电动工具500的操作效率。然后,电子处理器550利用更新的操作阈值或范围来操作电动机505。在另一示例中,输出可以指示工具的状况,并且电子处理器550取决于该状况来控制电动机。例如,并且如在下面进一步详细描述的,该状况可以指示电动机的输出扭矩值,检测到的障碍物,检测到的异常附件状况,检测到的反冲,或完成的操作(例如,完成紧固操作)。继而,可以基于该状况控制电动机以停止,增加速度或降低速度,或者可以基于该状况以其他方式控制电动机。尽管机器学习控制器540的特定任务可以如下面更详细地描述的那样改变,但是电子处理器550使用机器学习控制器540的输出来例如更好地操作电动工具500并获得更高的操作效率。
在一些实施例中,除了或代替传感器数据,机器学习控制器540在步骤715中接收电动工具500的当前用户的用户特性,然后在步骤720中基于用户特性或基于在步骤715中接收到的用户特性和传感器数据生成输出。在一些实施例中,除了或代替在步骤725中控制电动机,另一电子可控元件被控制。例如,在一些实施例中,电动工具的一个或多个LED被启用,停用,改变颜色或改变亮度;电动工具的传动比被改变(例如,传动比被增大或减小,或者从多个传动比中选择一个传动比),电动工具的螺线管被启用或停用,或者电子过滤率针对故障或具有噪声的传感器而被调节。
在一些实施例中,服务器110、210、310、410可以存储各种机器学习控制585的选择,其中每个机器学习控制585被特别地训练以执行不同的任务。在这样的实施例中,用户可以选择与电动工具500一起实施哪个机器学习控制585。例如,外部装置107(见图15)可以提供允许用户选择机器学习控制585的类型的图形界面。用户可以基于例如用户经常使用电动工具500(例如,如果用户经常安装干式墙)的应用或常用的电动工具(例如,用户经常使用冲击驱动器)来选择机器学习控制585。在这样的实施例中,图形用户界面接收对机器学习控制585的类型的选择。外部装置107然后可以发送用户的选择给服务器110、210、310、410。然后,服务器110、210、310、410将发送相应的机器学习控制585到电动工具500,或者可以基于来自用户选择的机器学习控制585的输出来发送更新的操作阈值。因此,用户可以在电动工具500的操作期间选择要由机器学习控制585实施的哪种功能,并且可以改变由服务器110、210、310、410或电动工具500实施的机器学习控制585的类型。
如上所述,用户可以提供关于机器学习控制器540的操作的反馈指示。在第一实施例中,电子处理器550检测触发器15的激活的模式(patterns)(例如,“快速射击”模式)。图8示出了由电子处理器550检测到的两个示例性模式。在这样的实施例中,电子处理器550被编程以识别特定的触发器激活模式并将它们与特定类型的反馈相关联。例如,模式可以被限定为一系列阈值(例如,持续时间,按压百分比等),并且电子处理器550将感测到的触发器激活与阈值进行比较以确定是否接收到触发器激活模式。触发器模式可以由例如触发器激活的次数,每次触发器激活的长度(例如,将触发器510保持按压10ms而不是50ms),激活的相对强度(例如,触发器15的按压百分比)或其组合来限定。例如,在图8的顶部中所示的第一模式805示出了三个强度相等的短激活810、815、820,而图8的底部中示出的第二模式825示出了短激活830,随后是两个较长的激活835、840,并以短激活845结束。在这样的实施例中,所示的模式805、825中的每一个指示来自用户的不同类型的反馈。例如,在一个实施例中,第一触发器模式805可以与关于机器学习控制器540的操作的肯定的反馈相关联,并且第二触发器模式825可以与关于机器学习控制器540的操作的否定的反馈相关联。在其他实施例中,在图8的顶部中所示的第一触发器模式805指示电动机505的旋转速度的期望的增加,而在图8的底部中所示的第二触发器模式825指示电动机505的旋转速度的期望的降低。当电子处理器550检测到反馈触发器模式时,电子处理器550使用该反馈来调节机器学习控制器540,如上面关于图6所讨论的。
在另一实施例中,电动工具500包括多级触发器,用户使用该多级触发器来提供关于电动工具500的操作以及在一些实施例中关于机器学习控制器540的操作的反馈。图9A示出了示出多级触发器的操作的曲线图。在所示的实施例中,触发器按压分为三个不同的阶段:初始激活阶段750,中间激活阶段755和最终激活阶段760。在所示实施例中,阻力在每个激活阶段750、755、760中变化,以向用户指示触发器510当前处于哪个激活阶段。可以使用附加的弹簧来改变阻力(例如,参见图9B)。在图9A所示的示例中,触发器510在初始激活阶段750中经受较低的阻力。换句话说,触发器510在初始激活阶段期间更易于激活和移动。当触发器510被按压的距离达到第一预定距离A时,触发器510进入中间激活阶段755。在中间激活阶段755,阻力保持相对恒定。触发器510保持在中间阶段755,直到触发器510被按压的距离达到第二预定距离B。当触发器510到达第二预定距离B时,触发器510进入最后激活阶段760。在最后激活阶段760期间,触发器510比初始激活阶段750和中间阶段755经受更高和增加的阻力。
进入每个激活阶段750、755、760将向电子处理器550提供不同的反馈指示。在所示的实施例中,例如,每个激活阶段对应于学习率的不同大小。即,当触发器510保持在初始激活阶段750时,电子处理器550将学习率保持在预定阈值以下。但是,当触发器510进入中间阶段755时,电子处理器550将学习率增加到“平均水平”,但将学习率保持在第二预定水平以下。第二预定水平高于第一预定水平。当电子处理器550检测到触发器510处于最终激活阶段760时,电子处理器550将学习率增加到高于第二预定水平的水平。因此,用户可以通过控制触发器510的当前激活阶段来指示期望的学习率。
在其他实施例中,触发器510的不同激活阶段可向电子处理器550提供不同类型的反馈。例如,触发器510的每个激活阶段可以指示电动机505的不同的期望速度,不同的输出扭矩等。在一些实施例中,作为将较高的阻力与最终激活阶段760关联的替代,触发器510经历暂时的(或瞬时的)阻力减小以更清楚地标识中间激活阶段755和最终激活阶段760之间的切换。在其他实施例中,触发器510的阻力在触发器510的不同激活阶段750、755、760中保持相对恒定,但是触发器510的其他方面改变以向用户指示触发器510的当前激活阶段。
图9B示出了第二实施例,其中触发器510包括第一激活阶段765和第二激活阶段770。图9B所示的实施例包括联接到触发器510的第一弹簧775和第二弹簧780。在第一激活阶段765期间,只有第一弹簧775接合触发器510。另一方面,一旦触发器510进入第二激活阶段770,则第一弹簧775和第二弹簧780都接合触发器510。因此,当触发器510进入第二激活阶段770时,触发器510的阻力增大。在其他实施例中,可以使用其他方法来改变触发器510的阻力。此外,在其它实施例中,可使用不同类型的多级触发器以使得用户能够向电动工具500提供有关例如机器学习控制器540的操作的反馈。
在一些实施例中,触发器开关555可以由例如位置传感器(例如,霍尔效应传感器)激活,该位置传感器中继关于触发器510与工具壳体或电触发器开关555的相对位置的信息。触发器开关555输出指示触发器510的位置的信号。在一些情况下,触发器开关555可以输出模拟信号,该模拟信号的范围为0伏至5伏,这取决于触发器510被按压的程度。例如,0V输出表示触发器510被释放,1V输出表示触发器510被按压20%,2V输出表示触发器510被按压40%,3V输出表示触发器510被按压60%,4V输出表示触发器510被按压80%,而5V表示触发器510被按压100%。在一些实施例中,电动工具500可以包括指示器,以向用户指示触发器510的当前激活阶段。如上关于图9A和图9B所述,进入不同的激活阶段可以向电子处理器550提供来自用户的反馈指示。上面参考图8至图9B描述的反馈机制也可被应用,以例如在机器学习控制器540实施循环神经网络时提供切换率的指示或选择。
图10示出了提供致动器以接收关于电动工具500的操作并且特别是关于机器学习控制器540的操作的用户反馈的又一实施例。在所示的实施例中,电动工具500包括第一致动器785和第二致动器790。在一些实施例中,每个致动器785、790可以与不同类型的反馈相关联。例如,第一致动器785的激活可以指示机器学习控制器540的操作是适当的(例如,肯定的反馈),而第二致动器790的激活可以指示机器学习控制器540的操作是不适当的(例如,否定的反馈)。例如,当电子处理器550由于机器学习控制器540确定电动工具500正用于特定应用而实施不同的完成速度时,用户可以指示对完成速度的改变是不期望的。在其他实施例中,第一致动器785和第二致动器790(或附加的一对按钮)分别与机器学习控制器540的学习率的增加和减少相关联。例如,当用户想要增加机器学习控制器540的学习率时,用户可以激活第一致动器785。图10示出了在电动工具500的手柄上的第一致动器785和第二致动器790。然而,在其他实施例中,第一致动器和第二致动器可以定位在电动工具500的脚上,在手柄下方或在手柄上方的电动机壳体部分上。
在另一实施例中,用户可以通过移动电动工具500本身来向电子处理器550提供反馈。例如,电动工具500可以包括加速度计和/或磁力计(例如,作为传感器530),其向电子处理器550提供指示电动工具500的位置,定向或其组合的输出信号。在这样的实施例中,如图11中所示的电动工具的顺时针或逆时针旋转可向电子处理器550提供反馈信息。例如,顺时针旋转电动工具可对应于电子处理器550增加电动机505的速度的请求,而逆时针旋转电动工具500可对应于电子处理器550降低电动机505的速度的请求。在一些实施例中,电子处理器550可以使用类似的传感器来检测电动工具500的摇动运动。摇动电动工具500可指示电动工具500未如用户期望的那样操作以提供否定的反馈。例如,当机器学习控制器500对电动工具500当前任务的应用的确定不正确时,用户可以摇动电动工具500。如上所述,提供这样的反馈允许机器学习控制器540更新其参数以改进其性能。
如上所述,机器学习控制器540与一个或多个特定任务相关联。机器学习控制器540基于机器学习控制器540被配置的特定任务而从电动工具500和电子处理器550接收各种类型的信息。例如,图12示出了可由机器学习控制器540用来生成输出、进行确定和预测等的各种类型的信息的示意图900。在所示的图中,机器学习控制器540可以接收例如电动工具500的操作时间(例如,电动工具500在每个时段中使用多长时间,在电动工具使用的时段之间的时间量等)905,关于用于电动工具500的工具头、刀片或其他附件装置910的信息,电池组915的电力状态,电池组已经使用的时间量,电池组是否最近被更换920等的指示。机器学习控制器540还可以接收关于与电动工具500(例如,18V电池组)一起使用的电池组类型923的信息。
如上面所讨论的,模式板527选择用于电动工具的操作模式。操作模式可以指定电动工具500在特定模式下操作期间的操作参数和阈值。例如,每个操作模式可以限定最大扭矩,最小扭矩,平均扭矩,开始速度,完成速度,非冲击速度,冲击速度,速度斜率(例如,电动机505多快达到目标速度),冲击的目标次数,旋转方向,每个旋转方向的速度及其组合。两个或多个操作参数或阈值的组合限定了工具使用配置文件或模式。当用户选择模式时,电子处理器550根据由所选的模式指定的操作参数或阈值来控制电动机505,该参数或阈值可以存储在存储器560中。机器学习控制器540还接收关于电动工具500的操作模式925(例如,与模式相关联的速度,模式扭矩,模式斜率等)的信息。机器学习控制器还接收指示电动工具500的操作参数(例如,电动机电流,电动机电压,触发器激活或来自触发器的反馈,电动工具的运动,电动机速度,输出轴速度等)的传感器信息945。
如上所述,机器学习控制器540还可接收来自用户的反馈927和目标学习率928的指示。机器学习控制器540使用如上所述的各种信息的类型和组合,基于与机器学习控制器540相关联的特定任务生成各种输出。例如,在一些实施例中,机器学习控制器540生成用于特定模式的建议参数。机器学习控制器540可以生成建议的开始或完成速度930,建议的模式扭矩935,以及建议的模式斜率940。图15示出了示例性图形用户界面1080,其示出了针对特定操作模式的建议的扭矩水平和建议的触发器斜率。另外,机器学习控制器540可以确定可能的工件材料(例如,是在木材或干式墙上使用了电动工具500)955。在一些实施例中,机器学习控制器540可以确定附接到电动工具500的工具头或刀片960的状况。在一些实施例中,机器学习控制器540还可以识别特定事件,例如磨损的紧固件,破损的刀片,反冲等。电动工具500然后可以向用户生成已经检测到这样的事件或状况的指示,以使得可以采取纠正的动作。例如,在一些实施例中,当机器学习控制器540实施循环神经网络时,特定事件的标识被输入(例如,发送到)到机器学习控制器540以帮助识别电动工具500的操作的其他事件和/或其他方面。例如,当机器学习控制器540确定第一紧固件已磨损时,机器学习控制器540然后可以在固定下个紧固件时改变完成速度以防止磨损第二紧固件。
如上所述,用于机器学习控制器540的体系结构可以基于例如与机器学习控制器540相关联的特定任务而变化。在一些实施例中,机器学习控制器540可以包括神经网络,支持向量机,决策树,逻辑回归和其他机器学习体系结构。机器学习控制器540还可以利用核方法或集成方法来扩展机器学习控制器540的基本结构。在一些实施例中,机器学习控制器540实施强化学习,以基于从用户接收到的反馈指示来更新机器学习控制器540。
图13示出了用于机器学习控制器540的示例性使用的图1000。在所示的实施例中,机器学习控制器540被配置为识别正在由电动工具500在其上工作的紧固件的类型。在这样的实施例中,机器学习控制器540接收例如旋转的次数1005,负载扭矩1010,电动机速度1015,扭矩或速度斜坡斜度(ramp slope)1020,关于负载是否单调地(monotonically)增加的信息1025,关于负载是否在接近操作结束时迅速增加的信息1030,关于工具运动(例如,电动工具500的旋转,来自加速度计的输出信号)的信息1035,以及电动工具500的选择的操作模式1040。在一个实施例中,如上所述的信息(操作参数)是通过电子处理器550基于来自传感器530的传感器数据,使用传感器数据(例如,以计算斜度)的算术运算,以及传感器数据或计算出的值与阈值(例如,限定增加是否迅速)的比较来生成。然后,在电动工具500的每个操作完成后(例如,在每个紧固件完全安装或移除后),机器学习控制器540接收所生成的信息。基于接收到的信息,机器学习控制器540确定在电动工具500的操作中使用的紧固件的类型。在所示的实施例中,机器学习控制器540可以利用例如具有多个输出的神经网络,其中每个输出对应于不同类型的紧固件。在一些实施例中,机器学习控制器540还可以生成指示无法识别紧固件的输出。
在一个示例中,机器学习控制器540可以从各种可能的紧固件类型中识别紧固件的紧固件类型。例如,机器学习控制器540在自钻螺钉,钣金螺钉,干式墙螺钉等之间进行区分。因此,在图示的实施例中,机器学习控制器540的训练示例包括指示旋转的次数1005,负载扭矩1010,电动机速度1015,扭矩或斜坡斜度1020的输入向量,负载是否单调地增加的指示1025,负载是否在接近操作结束时迅速增加的指示1030,关于工具运动的指示1035,关于选择的操作模式1040的指示,以及指示紧固件类型的输出标签。在所示的实施例中,机器学习控制器540实施人工神经网络以执行该分类。人工神经网络包括例如六个输入节点,以及例如一百个输出节点。每个输出节点例如对应于机器学习控制器540可识别的不同类型的紧固件,以及当紧固件不对应于任何可识别的紧固件类型时指示电动工具500的附加输出。人工神经网络可以基于能够区分的紧固件的数量包括更多或更少的输出节点。在一些实施例中,神经网络包括附加层,其包括单个节点。该附加层可以确定哪个输出节点具有最高值(其可以对应于紧固件类型被识别为与该输出节点相对应的紧固件类型的概率),并输出与输出节点相关联的(例如,一个,两个,三个或四个)值。输出节点的值可以对应于由机器学习控制器540识别的紧固件类型。
在训练机器学习控制器540以识别紧固件类型期间,机器学习控制器540调节与神经网络的每个节点连接相关联的权重,以实施可靠地对不同类型的紧固件进行分类的一组权重。如以上关于图1所讨论的,神经网络的每个节点可以具有不同的激活网络,因此调节神经网络的权重也可能受到与每个层或每个节点相关联的激活函数的影响。一旦神经网络被训练,机器学习控制器540接收输入变量(例如,与每个输入变量相关联的值),并通过神经网络的每一层施加权重和连接。来自经训练的神经网络的一个或多个输出对应于机器学习控制器540可识别的特定类型的紧固件。
图14是示出使用机器学习控制器540识别紧固件类型的方法1050的流程图。在步骤1055,电子处理器550从触发器510接收指示用户正在操作电动工具500的信号。电子处理器550开始操作电动工具500并从传感器530接收传感器数据(步骤1060)。如上所述,传感器数据指示电动工具的一个或多个操作参数,并且可以包括例如电动机速度和/或位置信息,扭矩信息,冲击信息,工具运动信息,关于所选模式的信息等。然后,电子处理器550将传感器数据的至少一个子集发送到机器学习控制器540(步骤1065)。如以上关于图13所讨论的,所示实施例的机器学习控制器540接收电动机速度,扭矩和扭矩斜率,以及已执行的旋转的次数。机器学习控制器540接收的一些信号可以由电子处理器550计算,而不是直接从传感器530接收。例如,电子处理器550可以确定电动工具500上的负载是否单调地增加或负载是否在操作快完成时迅速增加(例如,形成尖峰)。电子处理器550还在在步骤1065中向机器学习控制器540发送这些中间输入(例如,基于来自传感器530的信号由电子处理器550计算或确定)作为传感器数据。在步骤1067,机器学习控制器540还接收用于电动工具500的所选操作模式的指示。
机器学习控制器540然后生成识别正在由电动工具500使用的紧固件类型的输出(步骤1070)。如以上关于图13所讨论的,机器学习控制器540通过使用人工神经网络来生成识别紧固件类型的输出。在其他实施例中,机器学习控制器540可以实施不同的体系结构以识别电动工具500所使用的紧固件的类型。特别地,机器学习控制器540接收输入变量的值,并使用这些值来使用每个节点的节点连接权重和激活函数在神经网络的各个层上进行处理。如上所述,输出层可以包括一个或多个输出节点,该一个或多个输出节点指示电动工具500使用的紧固件的类型,或者指示机器学习控制器540无法识别紧固件的类型。
在步骤1075,基于所识别的紧固件类型生成对电动工具的操作模式的建议改变。然后,由电子处理器550将所生成的建议改变作为操作参数或阈值存储在存储器560的工具配置文件中。建议的改变由从机器学习控制器540接收识别的紧固件类型的电子处理器生成,该电子处理器是例如实施机器学习控制器540的电子处理器或不实施机器学习控制器540的另一电子处理器,取决于实施例,其可以是电子处理器550,外部装置107的电子处理器(图15)或服务器电子处理器425。建议的改变可以使用识别的紧固件类型作为查找表(存储在与特定电子处理器相关联的存储器中)的输入来生成,查找表将紧固件类型映射到电动工具500的建议操作参数。
图15示出一个示例性图形用户界面1080,其在步骤1075中显示对于工具使用配置文件的建议改变。图形用户界面1080由外部装置107生成,外部装置107可与电动工具500,服务器110、210、310、410和网络115、215、315、415通信。外部装置107包括电子处理器,输入/输出接口(例如,触摸屏显示器),用于上述电动工具、服务器和网络的通信的无线通信电路,以及存储指令的存储器,该指令由电子处理器检索和执行以实施本文所述的外部装置107的功能。
如图15所示,操作模式限定了将紧固件施加到工件上的扭矩水平1085,以及指示电动机505达到扭矩水平1085有多快的触发器斜坡上升1090。如图形用户界面1080所示,操作模式还可以指示其他参数,例如工作灯的持续时间和亮度等。在该示例中,在步骤1075中生成的建议改变是要稍微增加扭矩并延长触发器斜坡上升,这可以允许电动工具500更有效地紧固或移除由机器学习控制器540确定的紧固件的类型。例如,当机器学习控制器540确定电力工具500紧固木螺钉时,建议的改变可能会建议增加扭矩水平和更长的触发斜坡上升,以使得木螺钉可以被更快和更有效地设置。
然后,电子处理器550根据机器学习控制器540建议的改变来控制电动机505(步骤1091)。例如,响应于从触发器510的致动接收到触发器信号,电子处理器550根据存储在存储器560中的以步骤1070中的建议改变修改的工具配置文件来控制开关网络517(以及在某些情况下,其他可控元件)。
在一些实施例中,在使用步骤1070中的建议改变来更新存储器560中的工具配置文件前,电子处理器550等待来自用户的确认。例如,外部装置107可以经由图形用户界面1080接收指示用户确认建议改变的输入(例如,经由图形用户界面1080上的图形“保存”按钮上的触摸输入),并且作为响应,外部装置107经由无线通信装置525将确认信号发送到电子处理器550。在接收到确认信号后,电子处理器550将建议的改变存储在存储器560中的工具配置文件中。在一些实施例中,电子处理器550实施机器学习控制器540建议的改变,而无需等待用户确认。在这样的实施例中,外部装置107可以接收并显示实施的改变,以通知用户用于操作模式的操作参数已经改变。
在一些实施例中,提供了一种类似于方法1050的方法,以生成对工具使用配置文件的建议改变,但是该建议的改变是基于用户反馈,而不是仅基于传感器数据或基于传感器数据与用户反馈的组合。例如,实施遗传算法的机器学习控制器540从所述电子处理器550接收电动工具500的当前工具配置文件(例如,包括用于特定工具参数的值),并在工具操作后接收用户反馈(类似于步骤625)。然后,机器学习控制器540处理用户反馈,并生成指示对于当前的工具配置文件的建议改变(类似于步骤1075)。随后,基于建议的改变来调节当前的工具配置文件,并且根据调节的工具使用配置文件来操作电动机(类似于步骤1091)。
图16是示出使用机器学习控制器540来预测紧固件扭矩的方法1100的流程图。图17示出了用于实施机器学习控制器540以预测紧固件扭矩的示意图。在步骤1105,电子处理器550接收指示目标紧固件扭矩的输入。电子处理器550可以从电动工具500上的致动器(例如,拨盘或按钮)接收目标紧固件扭矩。用户可以使用扭矩致动器选择扭矩。在其他实施例中,电子处理器550可以从外部装置107接收目标紧固件扭矩。外部装置107可以生成具有扭矩选择器的图形用户界面。扭矩选择器可以是例如滑块,数值或由例如外部装置107启动的单独的应用。然后,外部装置107将用户选择的扭矩传输到电子处理器550。然后,电动工具500执行紧固操作(步骤1110)。换句话说,电子处理器550响应于来自触发器510的触发器信号而开始操作电动机505以紧固紧固件。在紧固操作期间,电子处理器550接收传感器输出信号(步骤1115)。传感器数据如上被描述,并且可以包括指示电动工具的一个或多个操作参数(例如,电动机速度,电动机电流,电池组的电力状态,输出轴速度,电动工具500本身的旋转或运动等)的各种电动工具信息。特别地,电子处理器550接收由冲击驱动器的锤子传递的每个冲击的指示,由锤子传递的冲击的次数的指示或其组合。电子处理器550可以基于接收到的传感器数据来计算每个冲击之间的时间(步骤1120)。例如,电子处理器550可以接收在大约30ms内传递了6次冲击的指示。然后,电子处理器550可以估计在每次冲击之间大约经过了5ms。在一些实施例中,电子处理器550使用不同的方法来计算每次冲击之间的时间。
然后,电子处理器550将每次冲击之间的计算时间输入到机器学习控制器540(步骤1125)。电子处理器550还将选择的操作模式输入到机器学习控制器540(步骤1127)。如图17所示,机器学习控制器540还可以从电子处理器550和/或直接从传感器530接收其他输入。特别地,在一些实施例中,在步骤1125,机器学习控制器540还接收关于由冲击驱动器1130的锤子传递的冲击次数,电池电压1132的信息,触发器激活信息(例如,是否拉动了触发器510或是否以特定方式拉动了触发器510)1134,工具运动信息1135。如上所述,机器学习控制器540还接收冲击1136之间的计算的时间和选择的操作模式1137。在所示的实施例中,电子处理器550还计算两个最近传送的冲击之间的时间。然后,电子处理器550将在最后两次冲击之间的计算的时间1138提供给机器学习控制器540。
图17的机器学习控制器540可以实施例如人工神经网络。类似于关于图13描述的神经网络,神经网络包括输入层,至少一个隐藏层和输出层。图17的机器学习控制器540的神经网络可包括例如五个输入节点,每个节点对应于有助于估计输出扭矩的不同的输入变量。每个训练示例可包括用于每个输入变量的值和用于例如在操作完成后,由电动工具500的扭矩传感器测量的输出扭矩的实际值。在图17的神经网络的训练期间,使用每个附加的训练示例来调节节点连接权重,直到例如在实际测量的扭矩与来自机器学习控制器540的估计扭矩之间获得可接受的平均误差。一旦训练了神经网络,机器学习控制器540就接收输入变量的值,并根据神经网络的每个节点的激活函数来施加节点连接权重。经训练的机器学习控制器540的输出层指示例如输出扭矩的估计值。在其他实施例中,使用其他体系结构(例如回归估算)代替上述神经网络。
实施经训练的机器学习控制585的机器学习控制器540然后预测紧固件扭矩(步骤1140)。如图17所示,机器学习控制器540基于提供给机器学习控制器540的各种输入来实施回归算法以预测紧固件扭矩。然后,电子处理器550确定预测的扭矩是否处于用于特定操作模式的目标扭矩(步骤1145)。如上所述,目标扭矩可以基于特定的操作模式而变化,并且可以使用例如电动工具500上的专用致动器或由与电动工具500通信的外部装置107提供的图形用户界面来设置。当来自机器学习控制器540的预测扭矩保持在目标扭矩以下时,电子处理器550继续操作电动机550以通过返回到步骤1110来增加紧固件上的扭矩。另一方面,当来自机器学习控制器540的预测扭矩达到目标扭矩时,电子处理器550改变电动工具500的操作(步骤1150)。例如,电子处理器550可停止电动机505的操作,反转电动机旋转的方向,或者通过改变PWM信号为电力开关网络517减慢电动机的速度。电子处理器550基于所选择的操作模式来改变电动机505的操作。例如,工具配置文件的操作参数可以指示电动机505以第一速度旋转,直到紧固件扭矩达到目标扭矩,并且电动机505在达到目标扭矩后以720度旋转。因此,电子处理器550基于所选择的操作模式来改变控制电动机505的方式。
图18A是示出另一方法1200的流程图,其中机器学习控制器540在电动工具500用于固定凸耳螺母(lug nut)时识别凸耳螺母星形模式(star pattern)。图18B示出了用于实施机器学习控制器540以识别凸耳螺母星形模式的示意图。在步骤1205,电子处理器550接收传感器数据。如上所述,传感器数据指示电动工具的一个或多个操作参数,并且例如包括何时发生冲击(例如,通过冲击传感器或声音传感器检测),由冲击驱动器的锤子传递的冲击的次数,电动机速度,输出轴速度,输出轴位置,电动工具500的位置或运动(例如,通过加速度计或陀螺仪检测)等的指示。在一个实施例中,机器学习控制器540实施循环神经网络以识别凸耳螺母星形模式。特别地,机器学习控制器540实施长期短期记忆(LSTM)循环神经网络。LSTM循环神经网络包括一些参数,这些参数确定哪些先前接收的信息(或输入)将用于生成当前输入的输出,以及哪些先前接收的信息(或输入)将不被使用或比其他先前收到的信息被加权较小。循环神经网络在识别凸耳螺母星形模式是特别有用的,因为循环神经网络可以考虑先前生成的输出。例如,如果机器学习控制器540确定已经紧固了五个凸耳螺母,则机器学习控制器540更有可能确定第六凸耳螺母是第二星形模式的一部分。
由机器学习控制器540实施以识别凸耳螺母星形模式的循环神经网络可以接收例如来自冲击传感器的、在预定的持续时间(例如,三十秒)内的输出信号。基于冲击传感器的输出信号生成的模式,循环神经网络能够区分各种凸耳螺母星形模式。如图18B所示,该实施例中的机器学习控制器540的训练示例可以包括例如来自冲击传感器的三十秒(或不同持续时间)的数据(框1206),以及对应的凸耳螺母星形模式的指示。在图18B所示的实施例中,机器学习控制器540还可以包括来自例如加速度计的、在与收集来自冲击传感器的数据相同的三十秒期间的数据(框1207)。如图18B所示,机器学习控制器540还可以使用被实施为在先前操作期间控制电动机的电动机控制(框1208)以识别凸耳螺母星形模式。与上述神经网络类似地训练循环神经网络。也就是说,随着使用更多的训练示例,神经网络的节点连接权重(以及节点的偏差值)会发生变化。在训练了神经网络时,机器学习控制器540可以接收新的输入数据,并生成指示与输入数据相对应的凸耳螺母星形模式的输出,如下面更详细地描述的。
在步骤1210,电子处理器550然后将传感器数据的至少一部分发送到机器学习控制器540。如上面所讨论的,机器学习控制器540可以接收例如来自电动工具500的冲击传感器的三十秒的数据样本。在其他实施例中,电子处理器550发送电动机速度,由锤子传递的冲击的次数,输出轴位置和速度信息,以及与电动工具500的位置有关的信息(例如,来自加速度计)到机器学习控制器540,以及上次操作中使用的电动机控制。机器学习控制器540然后识别并输出识别的凸耳螺母星形模式(步骤1215)。机器学习控制器540能够由于电动工具的位置(例如,基于来自传感器530的加速度计输出)和电动工具500的每个操作传递的冲击的次数的组合而识别凸耳螺母星形模式。
电子处理器550从机器学习控制器540接收指示所识别的凸耳螺母星形模式的输出,并且根据所识别的凸耳螺母模式来操作电动工具500(即,电动机505)(步骤1220)。例如,如图18B所示,当机器学习控制器540确定正在执行第一星形模式时,电子处理器550实施第一类型的电动机控制(框1222)。另一方面,当机器学习控制器540确定正在执行(或将要执行)第二星形模式时,电子处理器550实施第二类型的电动机控制(框1226)。在一些实施例中,如图18B所示,机器学习控制器540还可以区分第三星形模式。当机器学习控制器540确定正在执行(或将要执行)第三星形模式时,电子处理器550实施第三类型的电动机控制(框1230)。每种类型的电动机控制都不同,并且每种类型的电动机控制特别地被配置为优化其相关的星形模式的实施。例如,第一类型的电动机控制可以控制电动机505以第一PWM占空比操作并且在十次冲击后停止(可以通过监测电流或电动机的低点和峰值来检测冲击)。第二类型的电动机控制可以控制电动机505以较高的PWM占空比操作并且在五次冲击后停止。使用循环神经网络,电子处理器550将继续以相同类型的电动机控制来操作电动机505,直到机器学习控制器540确定操作已经切换到另一星形模式(例如,第二星形模式)为止。例如,机器学习控制器540在用户将第一车轮安装在车辆上时识别凸耳螺母模式。然后,电子处理器550操作电动机505,以在用户将后续车轮安装在车辆上的同时以相同的凸耳螺母模式在每个凸耳螺母上达到相同的扭矩。电子处理器550的这种操作使得用户更容易在触发器510的不太精确的用户控制下将凸耳螺母模式复制到其余的车轮上。在一些实施例中,可以使用脉冲神经网络或其他类型的网络,其可以处理来自冲击传感器,加速度计等的时变信号。
图19是示出使用机器学习控制器540来识别(或检测)电动工具500的异常状况的方法1250的流程图。如图19所示,在步骤1255,电子处理器550执行电动工具操作。电动工具操作可以在电动工具500的每个操作上改变,并且可以基于哪个附件(例如,不同类型的工具头)被附接到电动工具500而改变。例如,在一些情况下,电动工具操作可以包括将紧固件附接到工件,而在其他情况下,电动工具操作可以包括从工件上移除紧固件。在电动工具500的操作期间,电子处理器550接收传感器数据,传感器数据指示电动工具的一个或多个操作参数(步骤1260)。在所示的实施例中,传感器数据包括例如由传感器530提供的电动机速度和位置,输出轴速度和位置,电动机电流和电压,电动机温度,电池组的电力状态,电动工具500的位置或定向等。电子处理器550还基于传感器数据计算中间度量(步骤1265)。中间度量对应于可能未被传感器530直接观察或检测到,但可以基于时间或其他传感器数据来计算的度量。例如,虽然传感器可以生成指示电动工具500的输出扭矩的输出信号,但是电子处理器550然后可以计算输出扭矩的变化率并且确定电动工具500上的负荷是否单调地增加、减少或保持相对恒定。
然后,电子处理器550将传感器数据和中间度量的至少一部分发送到机器学习控制器540(步骤1270)。经训练的机器学习控制器540接收传感器数据和中间度量,并基于传感器数据和中间度量检测异常状况。已经使用了多个训练示例来训练机器学习控制器540。每个示例对应于可由机器学习控制器540检测到的异常状况,或对应于正常操作的电动工具。每个示例还包括传感器数据和中间度量。因此,在使用了多个这些示例中的每一个进行训练后,机器学习控制器540变得能够正确地识别和检测何时存在不同的异常状况。在所示的实施例中,机器学习控制器540可以检测在电动工具500的操作期间的障碍物(例如,木结,螺钉,钉子等),附件(例如,钻头,刀片等)是否已经损坏,电动工具500是否正在经历反冲,以及操作是否已完成。机器学习控制器540的输出指示检测到了上述异常状况中的哪一个(如果有的话)。机器学习控制器540发送其输出到电子处理器550,以使得如果需要的话,电子处理器550可改变电动工具500的操作。
在步骤1275,电子处理器550确定机器学习控制器540是否检测到障碍物。当机器学习控制器540检测到障碍物时,电子处理器550改变电动工具500的操作以适应障碍物(步骤1280)。例如,在一些实施例中,当机器学习控制器540遇到障碍物时,电子处理器550增加电动机速度,以使得可以通过电动机的增加的速度来克服障碍物。在一些实施例中,例如,当电动机505已经以最大速度操作时,电子处理器500可以停止电动机505以防止对电动工具500或特别是电动机505的任何损坏。当机器学习控制器540没有检测到障碍物时,电子处理器550确定机器学习控制器540是否检测到异常附件状况(步骤1285)。异常附件状况可以对应于例如紧固件的磨损,刀片的过热或损害附件完整性的另一状况。当电子处理器550确定机器学习控制器检测到异常附件状况时,电子处理器550改变电动工具500的操作以防止对电动工具附件或电动工具500的进一步损坏(步骤1280)。例如,当机器学习控制器540检测到紧固件正在磨损时,电子处理器550可以快速降低电动机速度,功率或扭矩以减少紧固件进一步磨损。在另一示例中,当机器学习控制器540检测到附件很热时,电子处理器550停止电动机505以允许工具附件冷却。
当电子处理器550确定机器学习控制器540未检测到异常附件状况时,电子处理器550确定机器学习控制器540是否检测到反冲(步骤1287)。一些电动工具会根据电动机电流和电动机电压的一系列规则或阈值来检测反冲。然而,这些技术经常产生误报,导致电动机505不必要地停止。使用手动设置的规则和阈值很难检测反冲,因为反冲在电动工具的不同操作中和在不同的电动工具中表现出不同。使用机器学习控制器540来检测电动工具中的反冲是特别有益的,因为在相同类型的电动工具中使用了具有不同的反冲表现的数千种(或甚至更多种)训练示例来训练机器学习控制器540。基于大量的训练示例,机器学习控制器540在电动工具中提供比手动设置的规则或阈值更准确的反冲检测。当电子处理器550确定机器学习控制器540检测到反冲时,电子处理器550控制电力开关网络517以停止电动机505,或者减小电动机速度以减小反冲力(步骤1280)。
当电子处理器550确定未检测到反冲时,电子处理器550继续确定机器学习控制器540是否指示电动工具500已完成操作(步骤1289)。在一些实施例中,机器学习控制器540例如在机器学习控制器540检测到电动工具附件穿过工件或紧固件安装在工件中时确定操作完成。当电子处理器550确定电动工具已经完成操作时,电子处理器550改变电动工具500的操作(步骤1280)以停止电动机505。另一方面,当电子处理器550确定机器学习控制器540没有检测到这些异常状况中的一个,电子处理器550继续根据电动工具500的所选操作模式来操作电动机505,同时机器学习控制器540继续接收传感器数据和中间度量以检测电动工具500的异常状况。
图19描述了能够检测不同类型的异常状况或工具行为的机器学习控制器540。在一些实施例中,机器学习控制器540实施多于一个的机器学习控制。例如,在一些实施例中,机器学习控制器540实施第一机器学习控制以检测反冲,第二机器学习控制以检测异常的附件状况,以及第三机器学习控制以检测是否存在障碍物。图20示出了用于实施机器学习控制器540以检测反冲的示意图。如图20所示,机器学习控制器540接收传感器信号(例如,如以上关于步骤1260所述),该传感器信号指示例如电动工具的运动(框1290),电动机参数(诸如电动机电流,电动机电压,电动机速度等)(框1291),电动工具500的选择的操作模式或可能的应用(框1292)。机器学习控制器540然后使用这些传感器信号来检测或预测何时发生反冲。如上所述,机器学习控制器540可以实施神经网络(例如,前馈神经网络,循环神经网络等)以检测何时发生反冲。在所示的实施例中,机器学习控制器540生成和/或利用各种阈值来检测何时发生反冲。例如,当电流持续增加超过预定量时,机器学习控制器540可能更有可能检测到反冲。
在电动工具500的操作期间,当机器学习控制器540检测到正在发生反冲时,机器学习控制器540控制电子处理器550以关闭电动机。用户可以向机器学习控制器540提供关于机器学习控制器540检测反馈的准确度的反馈。例如,如图20所示,机器学习控制器540可以接收第一类型的否定反馈(框1293),其指示机器学习控制器540没有检测到反冲的所有发生或者没有及早检测到反冲。机器学习控制器540还接收第二类型的否定反馈(框1295),其指示机器学习控制器在检测反冲方面过于敏感。例如,用户可以通过例如突然释放触发器来向机器学习控制器540提供反馈。当例如在释放触发器后不久检测到反冲时,机器学习控制器540可以将触发器的释放检测为否定的反馈。触发器的这种释放可能指示:用户对操作电动工具500感到不舒服,并且在由于电动机505由机器学习控制器540关闭前的反冲而释放触发器。当机器学习控制器540在由于机器学习控制器540检测到反冲而停用电动机505后不久检测到大的终止角度时,机器学习控制器540还可以接收否定反馈。较大的终止角度可能指示反冲期间工具的运动可能导致输出轴传递的角度大于正常角度。因此,这两个事件序列都向机器学习控制器540指示未及早检测到反冲。
在另一示例中,即使在电动机505由于反冲而被停用后,当用户继续按压触发器时,机器学习控制器540也会接收到否定反馈。触发器的这种持续激活可以指示例如机器学习控制器540过早地停用了电动机505,因为例如电动工具500产生的反冲量是可忍受的或者根本没有反冲。类似地,当用户在由于检测到反冲而中断了电动机505后立即(例如,在0.5秒内或在1.0秒内)按压触发器时,机器学习控制器540接收到否定反馈。用户对触发器的快速按压可以指示对电动工具500进行操作的期望,并且可以指示不存在反冲。另外,当机器学习控制器540在电动机505已经被停用后检测到小的终止角度(例如,低于阈值)时,机器学习控制器540也可以接收否定的反馈。小的终止角度可指示缺乏力,并因此可以指示没有存在反冲。机器学习控制器540可以被配置为将其他事件序列解释为否定反馈。机器学习控制器540还可以在例如电动机505未被停用并且电动机505以最小角度旋转返回中间(“原始”)位置时接收肯定的反馈。
机器学习控制器540可以响应于接收到的反馈来调节由机器学习控制器540生成或使用的阈值,或者可以调节机器学习控制585本身。例如,当机器学习控制器540接收第一类型的反馈时,机器学习控制器可以减小当前用于检测反冲的一些阈值。减小阈值可以使机器学习控制器540对反冲更加敏感并且更快地检测反冲。另一方面,机器学习控制器540可以在机器学习控制器540接收到第二类型的反馈时增加当前用于检测反冲的一些阈值。阈值的增加可导致电动工具500中反冲的检测的延迟。在其他实施例中,反馈不直接改变由机器学习控制器540生成或使用的阈值,而是允许基于接收的反馈重新训练机器学习控制。如上所述,学习率可能会影响带有反馈的新信息如何用于重新训练机器学习控制,以及如何使用反馈来更直接地调节机器学习控制器540生成或使用的阈值。
图19和图20示出了机器学习控制器540如何可以检测各种异常状况。除了以上关于图19明确讨论的异常情况之外,机器学习控制器540可能能够检测到例如断裂的工具头,绑定,附件状态,卡盘使用,卡盘松动,可能的材料,可能的应用,可能的附件,机械或电气故障,附件是否穿过材料,遇到结、毛刺或其他障碍物,处于温度范围以外的温度等。
图21是示出了一种方法1400的流程图,该方法1400使用机器学习控制器540来自动识别电动工具500的应用并生成或选择适当的操作模式配置文件以针对该特定应用优化电动工具500的操作。图22是用于实施自动识别电动工具500的应用的机器学习控制器540的门控体系结构的示意图。在图21和图22所示的实施例中,机器学习控制器540实施循环神经网络,尽管在其他实施例中可以使用其他机器学习技术。在电动工具500的操作期间,电子处理器550接收传感器输出信号作为传感器数据。如上所述,传感器数据可以包括各种电动工具信息,例如,电动机速度,电动机电流,电动机位置,电池的电力状态,输出轴速度,电动工具500本身的旋转或运动等。电子处理器550将至少一些传感器数据(参见图21中的框1405)发送到机器学习控制器540,以使用传感器数据来确定电动工具500被用于的当前应用。在步骤1410,机器学习控制器540接收来自电子处理器550的传感器数据中的至少一些,其指示电动工具的一个或多个操作参数。如以上关于例如图16所讨论的,电子处理器550还可以计算中间测量,该中间测量然后作为传感器数据被发送到机器学习控制器540。因为机器学习控制器540实施了循环神经网络,所以在步骤1415,机器学习控制器540还从机器学习控制器540接收关于先前确定的信息,以及与先前确定相对应的传感器数据(参见图22中的框1420)。另外,机器学习控制器540在步骤1430中接收时间指示(参见图22中的框1425)。时间指示可以包括自电动工具500已经操作以来的经过时间,自电动工具500的上次操作以来的经过时间,当前时间,电动工具500的安全锁定前的经过时间或剩余时间等。经过时间可以向机器学习控制器540提供先前分类或确定对于当前的传感器数据组的相关性的指示。
另外,在步骤1435,机器学习控制器540接收切换率(参见图22中的框1440)。如以上简要讨论的,切换率控制与机器学习控制器540做出的过去的分类或确定相关联的权重。实际上,切换率影响由机器学习控制器540生成的输出将基于新的输入数据而改变的速度有多快。例如,如果机器学习控制器540已经指示最后十个输入组已经对应于电动工具500的第一应用(例如,一种操作模式),则机器学习控制器540仍可以确定第十一输入组对应于电动工具500的第一应用,即使传感器数据可能与电动工具500的第一应用预期的数据略有不同。当切换率为低时,机器学习控制器540在输出电动工具500的不同应用前等待更多具有不同的传感器数据(例如,更可能对应于电动工具500的另一应用的传感器数据)的新输入组进行设置。另一方面,当切换率为高时,机器学习控制器540需要更少具有不同的传感器数据的输入组来输出电动工具500的不同应用。如上所述,在一些实施例中,用户可以为机器学习控制器540选择相对的切换率。例如,机器学习控制器540可以在用户从电动工具500的一种使用切换为另一种使用(例如,从拧紧木螺钉切换为钻洞)前,接收请求增加切换率的用户输入。与将切换率保持在相同水平相比,机器学习控制器540随后将更少地依赖于先前的操作并且更快地适应。
电动工具500的应用是指电动工具500的特定用途。例如,在某些环境下,可以使用电钻来紧固木螺钉,在另一环境下,可以使用同一电钻来紧固干式墙螺钉,并且在又一环境中,可以使用同一电钻制造孔(例如,以用于门把手)。虽然电钻可以在默认操作模式下操作,并使用有关电动机电流、斜率(例如,电动机达到其目标速度有多快)、反冲阈值的标准(例如,默认)阈值,电动工具500的一些应用(或使用)可以受益于使用不同的阈值。在图22所示的实施例中,机器学习控制器540分析传感器数据,对于先前的输入组的过去的分类或确定,以及时间指示,并使用切换率生成电动工具500的最可能的应用的自动确定(步骤1437)。在一些实施例中,机器学习控制器540仅基于传感器数据和先前的分类来选择电动工具500的最可能的应用1442a-d。例如,机器学习控制器540可以确定电动工具500最有可能正在紧固自钻螺钉。在一些实施例中,机器学习控制器540输出可能与电动工具500的当前使用相对应的多个应用。例如,机器学习控制器540可以基于传感器数据,先前的分类及时间指示来指示电动工具500当前正用于紧固自钻螺钉的可能性为约60%,但电动工具500当前正用于紧固钣金螺钉的可能性为40%。在一些实施例中,机器学习控制器540不对可能的应用分配特定百分比。
然后,在步骤1445,机器学习控制器540基于对电动工具500的最可能应用的确定来生成或选择操作模式配置文件。在一些实施例中,存储器580包括存储多个操作模式配置文件的数据库。每个操作模式配置文件包括用于控制电动工具500的各种参数和阈值。每个操作模式配置文件可以针对电动工具500的不同应用或用途而优化。在这样的实施例中,机器学习控制器540可以确定电动工具500的最可能的应用,从数据库中选择相应的操作模式配置文件,并且与电子处理器550通信以根据选择的操作模式配置文件来控制电动机15。
在其他实施例中,机器学习控制器540基于例如电动工具500的多个可能的应用生成适当的操作模式配置文件。例如,当机器学习控制器540确定电动工具500当前使用可能是两个或三个不同应用中的一个时,机器学习控制器540可以组合两个或三个操作模式配置文件,每个配置文件对应于可能的两个或三个应用。在一个示例中,机器学习控制器540确定当前应用包括紧固自钻螺钉的可能性为60%,而当前应用包括紧固钣金螺钉的可能性为40%。在这样的示例中,机器学习控制器540可以将用于自钻螺钉的操作模式配置文件与钣金螺钉的操作模式配置文件相结合。在一个示例中,机器学习控制器540可以生成包括自钻螺钉的斜率参数的新操作模式配置文件,因为该应用最有可能对应于自钻螺钉的紧固。然而,机器学习控制器540可以利用与钣金螺钉相关联的反冲检测算法和阈值,因为在紧固钣金螺钉期间使用的反冲检测比在紧固自钻螺钉时使用的反冲检测更为灵敏。因此,在一些实施例中,机器学习控制器540可以组合通过基于电动工具500的使用中最有可能对应于电动工具500的当前使用的多于一个操作模式配置文件的方面来生成新的操作模式配置文件。
在一些实施例中,电动工具500还包括激活开关1447,其用于确定机器学习控制器540是否要控制电动机505的操作。在步骤1450中,机器学习控制器540确定激活开关是否处于接通状态。当激活开关处于接通状态时,机器学习控制器540使用所生成或选择的操作模式配置文件1452来控制电动机505(步骤1455)。另一方面,当激活开关处于断开状态时,机器学习控制器540使用默认配置文件1457来操作电动机505(步骤1460)。然后,电子处理器550根据默认操作模式配置文件或所选或生成的操作模式配置文件来操作电动工具500(例如,电动机505)。在其他实施例中,步骤1450被绕过,并且机器学习控制器540前进到步骤1460。
图13至图22(以及以下图27至图28)描述了机器学习控制器540(例如,其中机器学习控制器540与不同的任务相关联)的各种实施例。在图13至图22和图27至图28的示例性使用中的每一个中,电动工具500可以提供如上面关于图6的步骤625所讨论的反馈。当机器学习控制器540从电动工具500接收到肯定的反馈或否定的反馈时,机器学习控制器540重新训练机器学习控制585,然后继而实施重新训练的机器学习控制585。例如,参照图13和图14,来自电动工具500的反馈指示可以指示紧固件被错误地识别,并且在一些实施例中,可以包括正确类型的紧固件。图13的机器学习控制器然后将使用输入数据和正确类型的紧固件来重新训练机器学习控制585。在一些实施例中,可以基于接收到的关于电动工具500的操作的反馈来调节机器学习控制585,但是不必对其进行重新训练。例如,在一些实施例中,机器学习控制器540利用该反馈立即校正电动工具500的操作的一个方面(例如,在电动工具500的操作期间增加电动机速度)。类似地,机器学习控制585可以基于反馈来改变输出(例如,分类),而无需重新训练。参照图16和图17,机器学习控制器540可以接收在紧固操作期间用户请求更多动力的指示,其指示估计的扭矩输出低于实际扭矩输出。图16的机器学习控制器540然后可以基于接收到的输入信号和接收到的反馈来重新训练机器学习控制585,并且还可以向电动工具500的当前操作提供更多的动力。相对于图18A至图22,可以接收类似的反馈指示。例如,机器学习控制器540可以接收错误地识别了凸耳螺母星形模式的指示,并且在一些实施例中,可以包括对凸耳螺母星形模式的正确识别。另一方面,机器学习控制器540可以接收实际上不存在的检测到的异常状况(例如,异常附件状况)的指示。因此,机器学习控制器540被实施得越多,其确定和估算就越准确。
图23是估计工作灯激活持续时间的方法1500的流程图。图24是示出了根据方法1500的工作灯的示例性操作的示例性时序图。在一些情况下,当电动工具在操作中时,并在电动工具的操作停止后的预定时间段内,在电动工具上的工作灯1502(参见例如图5A和图4C)被点亮。例如,当用户开始拧紧螺钉时,工作灯会开启,并且在用户完成螺钉的固定后释放触发器后的约三十秒钟内保持开启。图23和图24示出了其中机器学习控制器540确定电动工具500的操作完成后工作灯保持点亮多长时间的实施例。在步骤1505中,电子处理器550接收触发器信号。响应于接收到触发器信号,机器学习控制器540也开始接收传感器数据(步骤1507)。如上所述,传感器数据指示电动工具的一个或多个操作参数。在所示的实施例中,传感器数据包括关于电动工具500的运动的信息,该信息例如可以通过加速度计,陀螺仪或其他运动传感器获得。触发器信号指示电动机开始操作。
响应于接收到触发器信号,电子处理器550也点亮工作灯(步骤1510)。如图24的时序图所示,在时间T0,电子处理器550接收触发器信号,操作电动工具500的电动机505,并且点亮工作灯。同样如图24所示,工作灯通常在预定的时间量T1内保持点亮。在所示的实施例中,工作灯的强度开始减小,以使得当经过T1时工作灯完全关闭。返回参照图23,机器学习控制器540估计工作灯保持点亮的预定时间量(步骤1515)。在一个实施例中,机器学习控制器540可以使用回归算法,其中与预定时间量相关联的代价函数随着预定时间量的增加而增加。这种增加的代价函数帮助机器学习控制器540确定例如满足用户和他/她的需求的最小预定时间量。当估计预定时间时,回归算法还可以考虑电动工具500的操作的其他方面。例如,机器学习控制器540可以基于例如触发器保持被按压多长时间,触发器拉动或电动工具500的操作期间的特征负载,自上一次触发器拉动以来的经过时间,电动工具500的定向(例如,电动工具500是否面向工件还是地面,以及其他定向)来确定预定时间。
电子处理器550然后确定预定时间是否已经过去(步骤1520)。当预定时间过去时,电子处理器550关闭工作灯(步骤1525)。当预定时间还没有过去时,机器学习控制器540确定是否已经接收到关于工作灯的操作的任何反馈(步骤1530)。该反馈可以包括例如在电动工具500是空载时按压触发器。这样的动作可以指示工作灯将继续被点亮。还可以包括其他类型的反馈,例如,移动电动工具500,将电动工具500设置在地面或另一平坦表面上(例如,这可以由来自运动传感器的传感器数据指示)。在一些实施例中,机器学习控制器540可以经由电动工具500中的附加传感器接收反馈。当没有接收到反馈时,电子处理器550继续监测是否已经过去了预定时间以关闭工作灯。另一方面,当电子处理器550和机器学习控制器540接收到反馈时,机器学习控制器540基于接收到的反馈来调节先前计算的预定时间(步骤1535)。例如,在图24的示例中,机器学习控制器540在时间T2接收第二触发器信号。在一些实施例中,触发器的任何激活将重新启动预定时间T1。然而,在时间T2,电动工具500是空载的。因此,在一些实施例中,由于电动工具500上的负载状况不同,因此机器学习控制器540对第二触发器拉动估计不同的预定时间。在图24的示例中,在时间T3,电动工具500被放置在地面上。将电动工具500放置在地面上可以指示不再需要电动工具500,并且可以提早减少工作灯的强度。随着时间的流逝,机器学习控制器540可能能够更准确地预测用户在完成操作后希望工作灯保持点亮多长时间。与机器学习控制器540的其他实施例一样,学习率影响机器学习控制器540可以多快地结合从用户接收的一些反馈。因此,机器学习控制器540可以学习在不同情况下并且针对不同用户使工作灯保持点亮多长时间。
在一些实施例中,电动工具500包括锯。在这样的实施例中,机器学习控制器540可以具有比例如以上关于图12至图24讨论的实施例更具体的实施例。例如,当在锯上实施时,机器学习控制器540可能能够检测并响应锯的绑定和工作材料的识别。在一些实施例中,机器学习控制器540可以使用振动或声音信号来检测锯的工作材料(例如步骤710)。在一些实施例中,在识别用于锯的工作材料后,机器学习控制器540生成或选择(例如步骤720)特定的操作模式配置文件(例如,指定特定的电动机速度),以最有效地切割所识别的工作材料。如以上参考图12至图24所讨论的,其他传感器信息和反馈信息可以用于帮助机器学习控制器540识别工作材料,检测异常状况(例如,绑定)等。
图25是电源系统1300的图。电源系统1300包括电源箱1305和服务器1310。电源箱1305通过网络1315与服务器1310通信。如以上关于图1至图4A的电动工具系统所述,在一些实施例中,外部装置107可以在电源箱1305和服务器1310之间桥接通信。外部装置107可以例如通过连接与电源箱1305直接通信,以及通过网络1315与服务器1310通信。电源箱1305从外部源(诸如AC电源,发电机,电池等)接收电力。然后,电源箱1305将接收到的电力分配给连接到电源箱1305的电动工具。如图25所示,电源箱1305可以连接到多个不同的电动工具1320、1325、1330。在所示的实施例中,电源箱1305连接到便携式无线电1320,电钻1325和锯1330。电源箱1305还包括电子处理器1335(类似于图5A和5B的电子处理器550),多个传感器1340和无线通信装置1342。传感器1340可以耦合至例如电源箱1305的每个电源输出,以检测电源箱1305的每个电源输出的各种功率特性。例如,传感器1340包括电流传感器,电压传感器,实时时钟等。
传感器1340将表示感测到的特性的输出信号发送到电源箱1305的电子处理器1335。电子处理器1335经由例如无线通信装置1342的收发器将至少一部分的传感器输出信号发送到服务器1310。服务器1310包括机器学习控制器540。在所示的实施例中,机器学习控制器540被配置为分析来自电源箱1305的传感器输出信号。在一些实施例中,电源箱1305包括机器学习控制器540。在这样的实施例中,电源箱1305可以将来自机器学习控制器540的确定传送到服务器1310(或传送到外部装置107),以提供图形用户界面来说明传感器输出信号的分析。
在一个实施例中,图25的机器学习控制器540实施聚类算法,其识别连接到电源箱1305的不同类型的电动工具。在一个示例中,机器学习控制器540实施迭代K-均值聚类机器学习控制。聚类算法是无监督的机器学习算法,并且代替使用训练数据来训练机器学习控制585,机器学习控制器540分析所有可用数据并提供信息(例如,连接到电源箱1305的电动工具的类型)。由图26的机器学习控制器540接收到的每个数据点都包括提供给电源箱1305的特定电源输出的已用电量(例如,瓦中位数),电源箱1305的相同电源输出的相应的使用时间(例如,提供电源的时间)的指示,以及指示电动工具类型的标签。机器学习控制器540接收输入数据(例如,对应于用电量值和使用时间值的各个点)。机器学习控制器540然后绘出输入数据并给随机聚类分配每个数据点。机器学习控制器540然后计算每个聚类的质心(即,聚类中所有点的算术平均位置)。机器学习控制器540然后将每个数据点重新分配给最接近的质心。机器学习控制器540继续计算质心并重新分配数据点,直到满足聚类条件。在电源箱1305的示例中,机器学习控制器540可以将输入数据分成三个单独的聚类,与电源箱1305一起使用的每种类型的电动工具对应于一个聚类。如上所述,聚类的数量可以改变和设置,并提供给机器学习控制器540。聚类条件可以包括例如当质心的两个连续重新计算未引起任何点的重新分配。在一些实施例中,聚类条件可以是不同的。当接收到新的输入数据(例如,用于电源箱1305的电源输出的新传感器数据)时,机器学习控制器540重复上述过程。在这样的实施例中,机器学习控制器540可以在接收到新的输入数据组时将数据点分配给当前聚类。由于其他数据点已经被聚类并且预计不会有很多重新分配,因此为新的输入数据组找到合适的聚类预计会更快。然后,机器学习控制器540将聚类标签与每个数据点相关联。也就是说,每个数据点都与特定的聚类关联。
在另一实施例中,机器学习控制器540实施例如分层聚类算法。在这样的示例中,机器学习控制器540通过将每个数据点分配给单独的聚类而开始。机器学习控制器540然后基于两个数据点之间的距离将数据点逐渐组合成较小的聚类组。该距离可以是指例如欧几里得距离,欧几里得距离平方,曼哈顿距离,最大距离,和马氏距离等。在一些实施例中,机器学习控制器540建立树状图以示出机器学习控制器540的聚类处理器。树状图示出不同数据点到同一聚类中的组合。用于训练数据组的最佳聚类数量可以由例如在最大垂直距离上被树状图的水平线横穿的垂直线的数量确定。与k-均值聚类算法相似,分层聚类算法不使用训练示例,而是使用所有已知数据点,以将数据点分为不同的聚类。
在从电源箱1305接收传感器输出信号后,机器学习控制器540识别不同电动工具的不同的用电量(例如,通过实施例如上述聚类算法中的一个)。如图25所示,机器学习控制器540可以基于连接到电源箱1305的电动工具的用电量和使用时间来对其进行分类。例如,图26示出了一般来说第一类型的电动工具(例如,电动工具A)被使用更长的时间段但是使用更少的电力,而第二类型的电动工具和第三类型的电动工具通常在较短的时间内利用更大的电量。提供类似于图26所示的图形用户界面可以为用户提供对于特定工作类型或特定工作现场所需的总电力的更好的估算。
图27是示出一个方法1600的流程图,该方法基于使用高采样率(例如,2.5kHz,5kHz,10kHz,20kHz,25kHz,或50kHz以上的采样率,或在大约2.5kHz于50kHz之间的采样率)的运动监测,使用机器学习控制器540来监测和控制电动工具500。关于图28所示的往复锯1650描述了图27的流程图,往复锯1650是图5A和5B所示的电动工具500的一个例子。图28的往复锯1650响应于触发器510的拉动,使用电动机(即,参照图5A和5B,电动机505)驱动刀片1655。附加地,往复锯1650包括运动传感器1660,其是传感器530中的一个(见图5A和5B)的一个例子。运动传感器1660可以是例如加速度计,陀螺仪,麦克风或被配置为以高采样率感测运动的其他传感器。在一些实施例中,运动传感器1660可以被集成到往复锯1650的壳体中。在一些实施例中,运动传感器1660可以被耦合到往复锯1650的壳体,诸如售后或翻新的运动传感器1660。因此,可以为没有集成运动传感器的现有电动工具提供本文所述的益处。由于往复锯1650是电动工具500的一个示例,因此电动工具500及其各种实施例的描述适用于往复锯1650,并且不对其进行重新描述。
返回图27,方法1600包括在框1605操作往复锯1650。例如,响应于触发器510的触发器拉动,电子处理器550(图5A和5B)经由开关网络517驱动电动机505,这使刀片1655往复运动。电动机505通过(典型往复锯的)传动装置耦合到刀片1655,其将电动机505的旋转输出转换成刀片1655的往复运动。
在往复锯1650的操作期间,电子处理器550从运动传感器1660接收运动传感器数据(框1610)。运动传感器数据可以采取具有随时间变化的感测到的运动幅度的时间序列数据的形式。例如,在三轴加速度计的情况下,运动数据包括相对于时间的一个运动轴线(例如,x轴线)的大小。在其他实施例中,使用了运动数据的多个轴线,或者使用了运动数据的导数或积分。在一些实施例中,运动传感器数据由电子处理器550处理以例如减去空载噪声运动数据样本(例如,当往复锯1650在未接合工件或未附接有刀片的情况下操作时获得的已知运动数据样本),从而提高运动数据的清晰度。原始或处理后的运动数据实际上可以表示操作中的往复锯1650的声音。
在框1615中,电子处理器550将原始或已处理的运动数据提供给机器学习控制器540。机器学习控制器540进而使用机器学习控制585处理运动数据(框1620)。特定的处理取决于由机器学习控制585实施的特定机器学习模型。上面在由各种机器学习模型处理的描述中提供了由机器学习控制器540处理的示例。
在框1625,机器学习控制器540向电子处理器550生成输出,该输出指示来自以下组中的一个或多个:往复锯的应用类型,往复锯的应用状态,以及往复锯的状态。往复锯的应用类型表示往复锯的当前应用,并且包括例如刀片的类型(例如,木材切割刀片,金属切割刀片,细齿刀片,多用途刀片)和工件类型中的一个或多个,工件类型包括材料类型(例如,塑料,金属,硬木材,软木材)和材料形状(例如,块,片,管,实心圆柱体)。往复锯的应用状态指示往复锯的应用的当前状态,并包括例如空载状态,初始负载/切割状态,以及突破/切割完成状态中的一个或多个。往复锯的状态指示往复锯的当前状态,并包括例如磨损的刀片,破损的刀片,绑定的刀片,以及刀片接合外来材料与工件(例如,木材中的钉子或螺钉),以及过度的工具振动中的一个或多个。换句话说,机器学习控制器540在框1615中对接收到的运动数据进行分类,并在框1625中生成指示一种或多种分类的输出。
在框1630,电子处理器550基于从机器学习控制器540接收到的输出来改变往复锯1650的操作。例如,电子处理器550改变电动机505的速度,改变到电动机505的电流或功率,改变刀片的冲程,改变刀片的轨道(例如,通过将驱动信号发送到耦合到在电动机505和刀片1655之间的传动系的致动器或其他机电元件)等。例如,往复锯1650的速度,电流,功率,行程,轨道或其他操作参数根据应用类型而改变,以提高电力消耗的效率,切割速度或刀片寿命。在一些实施例中,电子处理器550包括查找表,该查找表将来自机器学习控制器540的输出映射到实施改善的效率,切割速度或刀片寿命的存储的操作参数值。在一些实施例中,类似于图21的步骤1445,响应于机器学习控制器540输出往复锯1650的最可能的应用,电子处理器550基于来自机器学习控制器540的输出(例如,使用查找表)来选择存储在往复锯1650或外部装置107上的对应的操作模式配置文件,并根据选择的操作模式配置文件控制电动机505。
在一些实施例中,除了直接改变往复锯的操作之外或代替直接改变往复锯的操作,电子处理器550通过往复锯1650上的可听、可视或可触警报(例如,经由扬声器,显示器或振动装置)通知用户所生成的输出,或通过与外部装置107(例如,智能电话)的通信通知用户,该外部装置107显示或以其他方式将输出传达给用户。在一些实施例中,外部装置107基于所生成的输出向用户提供建议以调节负载或速度,以改善刀片寿命的性能(参见例如图15)。
此外,在一些实施例中,往复锯1650包括多个可选的操作模式配置文件,每个配置文件指定例如特定的电动机速度,扭矩,电流,倾斜上升时间段,突破阈值等中的一个或多个。为了在操作模式配置文件之间进行选择,往复锯1650可以包括按钮,旋转拨盘等,以允许用户提供选择输入信号给电子处理器550。在一些实施例中,一个这样的可选择的操作模式配置文件被称为机器学习配置文件,其在启用时使往复锯1650实施图27的方法1600。当未被选择时,往复锯1650实施在其中方法1600的机器学习功能被停用的操作模式配置文件。
另外,尽管图27的方法1600参考了接收和处理运动数据以在框1625生成输出,但是在一些实施例中,方法1600中的机器学习控制器540还接收和处理其它类型的数据(结合运动数据),以在框1625生成输出。换句话说,在处理步骤1620中,机器学习控制585可以对在框1615中接收的输入数据进行分类,该输入数据包括运动数据以及其他操作数据(例如,电流汲取,电压,温度等),以在框1625中生成输出。附加的操作数据可以向机器学习控制器540提供更多方面,从中可以识别往复锯的应用类型,往复锯的应用状态和往复锯的状态。
此外,虽然图27的方法1600关于往复锯进行了描述,但是在一些实施例中,方法1600由电动工具500的其他示例(例如圆锯,曲线锯,带锯,钻驱动器,冲击驱动器,锤钻驱动器等)实施。换句话说,用于其他工具类型的运动数据(单独或与其他操作数据组合)可以由机器学习控制器540处理,以生成用于这些其他电动工具类型的输出并控制这些其他电动工具类型的操作。在以下的表5中,提供了实施方法1600和由输出通过实施方法1600提供(在框1625)的输出指示(例如,工具的应用类型,工具的应用状态和工具的状态)的相关联示例的示例性电动工具的列表。
如以上关于图1至图28所讨论的,机器学习控制器540具有各种应用,并且可以向电动工具500提供分析各种类型的传感器数据和接收的反馈的能力。一般来说,机器学习控制器540可以向电动工具500的用户提供各种水平的信息和可用性。例如,在一些实施例中,机器学习控制器540分析来自电动工具500的使用数据并提供有助于用户做出更有根据的决定的分析。例如,图26中的曲线图可以为用户提供特定工作场所或区域中的电力分配的准确概念。在一些实施例中,机器学习控制器540可以通知用户关于例如什么时候购买或订购兼容部件(例如,螺钉,砂磨材料等),以继续电动工具500的操作。在其它实施例(例如图21所示的方法1400)中,机器学习控制器540生成特定参数和阈值,以供电子处理器550在控制电动机505时使用。在又一些实施例中,机器学习控制器540对电动工具500的操作的特定状况进行分类或识别(例如,识别电动工具500的特定应用,检测异常状况等),并将识别或分类输出提供给电子处理器550。然后,电子处理器550可以基于来自机器学习控制器540的输出来确定使用哪些参数和阈值来优化电动工具500的操作。此外,尽管上面详细说明和讨论了机器学习控制器540的某些实施例,但是机器学习控制器540可以在其他电动工具中实施并可包括其他功能。另外,机器学习控制器540可以在由多个用户使用的电动工具中实施。下面的表6列出了机器学习控制器540的多个不同实施例或应用。对于每个应用,表6列出了对机器学习控制器540的可能的输入,其将为机器学习控制器540提供足够的洞察力以提供列出的可能的输出。如上所述,输入由各种源(例如传感器530)提供。
在一个实施例中,机器学习控制器540可以用于分析工具500的操作数据以识别当前正在使用该工具的用户。由于用户可以不同的方式或针对不同的任务来操作相同的工具500,因此机器学习控制器540可以基于所识别的用户的特征(例如,用户的工作,当前的地理区域,年龄,性别,力量,身体尺寸或任何其他所需特征)来改变电动工具500的操作或机器学习控制器540的训练。因此,相应的电动工具500中的多个机器学习控制器540可以为相应的用户在电动工具500之间提供相似的体验。例如,参照图7,传感器信号被输入到机器学习控制器540(步骤715)。机器学习控制器然后可以基于传感器信号输出(步骤720)当前正在使用工具的用户的身份,并且然后基于输出(即,用户的身份)来操作工具(步骤725)。例如,基于当前正在使用工具的用户的身份,可以减小的最大电动机电流或以具有减小的触发阈值的更灵敏的防反冲特征来操作电动工具,用户的身份可以指示用户的偏好或用户特性。用户的特定身份可以与本地存储在电动工具500上或远程存储在外部系统装置上的查找表中的一个或多个用户偏好或特征相关联。在一些实施例中,将用户的身份反馈到机器学习控制器540的另一机器学习程序中,该机器学习程序用于生成电动机的操作所基于的另一输出。
在一个实施例中,机器学习控制器540可以用于分析在工具500的开发期间执行应用的工具500的运动数据,然后所得的模式识别信息可被包括在被出售的机器学习控制器540上,以使得工具已预先被训练。
在另一实施例中,直接用户反馈(按钮,手动电话输入,摇动/敲击工具,应用模式的覆盖(override))也可以是对机器学习控制器540的有用输入。用户可以提供“相对于触发器,要多大地遵从机器学习控制器540的推荐”设置,使存在有覆盖能力。这可以通过应用程序,工具输入(例如:滑块,拨盘,按钮)或触发器开关555(多级,输入功能,非线性触发器等)进行。
此外,机器学习控制器的540的编程可以通过更新(例如通过空中更新等)周期性地调节。具有“最常见应用”和其他限定特性或偏好的用户输入(“相比很快地切割,我较希望保护刀片”、“我强烈希望最小化振动”等)都可以输入到机器学习控制器540中。在一些实施例中,用户偏好或特性在电动工具之间或跨电动工具持续存在。例如,最小化振动的用户偏好可以用于训练机器学习控制器540或操作用户先前使用的类似类型的电动工具。替代地或另外地,这种用户偏好或用户特性可以用于训练机器学习控制器540或操作用户先前使用的不同类型的电动工具。例如,可以向具有在冲击驱动器中最小化振动的偏爱的用户提供往复锯,该往复锯具有预先训练的用于最小化振动的机器学习程序。
因此,如以上关于图1至图26所讨论的,机器学习控制器540可以为电动工具500提供分析各种类型的传感器数据的能力,以及通过以下的一个或多个向用户提供反馈的能力:实施或建议电动工具500的操作模式的改变,更改电动工具500的操作,或提供有关特定电动工具或电动工具装置(例如电源箱)的使用的分析。
因此,本文描述的实施例尤其提供了电动工具和相关系统,其包括用于控制电动工具或相关系统的特征或功能的机器学习控制器。在所附权利要求中阐述了本发明的各种特征和优点。
Claims (10)
1.一种电动工具,包括:
壳体;
由所述壳体支撑的电动机;
一个或多个传感器,其由所述外壳支撑并且被配置为生成与所述电动工具相关联的传感器数据,其中所述传感器数据包括以下中的二者或更多者:所述电动工具的电动机速度数据、电动机电流数据、电池电压数据和运动数据;以及
电子控制组件,所述电子控制组件包括处理器和存储器,所述电子控制组件由所述壳体支撑并且连接到所述电动机,所述电子控制组件被配置成:
接收所述传感器数据,
使用在所述处理器上执行的机器学习控制程序基于所述传感器数据而生成指示,其中所述指示对所述电动工具的异常操作状况进行指示,其中所述异常操作状况包括以下中的一者或多者:工件中的障碍物、受损附件或反冲状况,以及
基于所述指示,控制所述电动工具的所述电动机。
2.根据权利要求1所述的电动工具,其中所述异常操作状况包括工件中遇到的障碍物、受损附件和反冲状况中的一者或多者。
3.根据权利要求1所述的电动工具,其中所述异常操作状况是遇到的障碍物,且其中基于所述指示控制所述电动机包括:增加所述电动机的速度。
4.根据权利要求1所述的电动工具,其中所述异常操作状况指示所述电动工具驱动的附件的异常附件状况,其中所述异常附件状况是紧固件的磨损、锯片的过热、破损的锯片或磨损的锯片,且其中基于所述指示控制所述电动机包括:降低所述电动机的速度。
5.根据权利要求1所述的电动工具,其中所述传感器数据包括所述电动工具的所述电动机电流数据和所述运动数据,并且其中所述异常操作状况指示反冲状况,并且其中基于所述指示控制所述电动机包括:降低所述电动机的速度。
6.根据权利要求1所述的电动工具,其中,为了使用所述机器学习控制程序来确定所述反冲状况,所述电子控制组件被配置为使用所述机器学习程序来处理附加输入以确定所述异常操作状况,所述附加输入包括以下中的一者或多者:电动工具模式、灵敏度设置、关于所述电动工具的侧手柄的检测的指示、关于最近反冲是否发生的指示、以及所述电动工具的定向。
7.根据权利要求1所述的电动工具,其中,所述电子控制组件还被配置为:
基于所述传感器数据,计算一个或多个度量,其中,所述度量对应于不能被所述一个或多个传感器检测到的中间度量,以及
使用所述机器学习控制程序基于所述传感器数据和所述度量来确定所述异常操作状况。
8.根据权利要求1所述的电动工具,其中,所述电子控制组件包括具有第二处理器和第二存储器的电子控制器以及具有所述处理器和所述存储器的机器学习控制器,其中,所述电子控制器将所述传感器数据提供给所述机器学习控制器并且基于所述机器学习控制程序的所述指示来控制所述电动机,并且其中,所述机器学习控制器执行所述机器学习控制程序。
9.根据权利要求1所述的电动工具,其中,所述电子控制组件还被配置为:
接收关于基于所述指示而对所述电动机的所述控制的反馈;
将所述反馈提供给所述机器学习控制程序以训练所述机器学习控制程序;
接收进一步的传感器数据;
使用利用所述反馈训练的所述机器学习控制程序处理所述进一步的传感器数据;以及
使用利用所述反馈训练的所述机器学习控制程序,基于所述进一步的传感器数据来生成进一步的指示。
10.一种操作电动工具的方法,所述方法包括:
由所述电动工具的传感器生成与所述电动工具相关联的传感器数据,其中所述传感器数据包括以下中的二者或更多者:所述电动工具的电动机速度数据、电动机电流数据、电池电压数据和运动数据;
由电子控制组件接收所述传感器数据,所述电子控制器组件包括第一存储器和被配置为执行存储在所述第一存储器上的指令的第一处理器;
使用所述电子控制组件的机器学习控制程序基于所述传感器数据确定所述电动工具的异常操作状况;以及
由所述电子控制组件基于所述异常操作状况的所述确定来控制所述电动工具的电动机。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862621095P | 2018-01-24 | 2018-01-24 | |
US62/621,095 | 2018-01-24 | ||
PCT/US2019/014683 WO2019147621A1 (en) | 2018-01-24 | 2019-01-23 | Power tool including a machine learning block |
CN201980016161.0A CN112055636B (zh) | 2018-01-24 | 2019-01-23 | 包括机器学习块的电动工具 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980016161.0A Division CN112055636B (zh) | 2018-01-24 | 2019-01-23 | 包括机器学习块的电动工具 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118809520A true CN118809520A (zh) | 2024-10-22 |
Family
ID=65529769
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980016161.0A Active CN112055636B (zh) | 2018-01-24 | 2019-01-23 | 包括机器学习块的电动工具 |
CN202410785496.1A Pending CN118809520A (zh) | 2018-01-24 | 2019-01-23 | 包括机器学习块的电动工具 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980016161.0A Active CN112055636B (zh) | 2018-01-24 | 2019-01-23 | 包括机器学习块的电动工具 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11221611B2 (zh) |
EP (2) | EP4468214A3 (zh) |
CN (2) | CN112055636B (zh) |
WO (1) | WO2019147621A1 (zh) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015153008A2 (en) | 2014-04-02 | 2015-10-08 | Ridge Tool Company | Electronic tool lock |
SE539838C2 (en) * | 2015-10-15 | 2017-12-19 | Atlas Copco Ind Technique Ab | Electric handheld pulse tool |
SE539516C2 (en) * | 2016-03-31 | 2017-10-03 | Husqvarna Ab | Handheld chainsaw comprising at least one orientation sensor, a method of using the chainsaw and a mobile telephone to establish a connection to the chainsaw |
JP6484265B2 (ja) * | 2017-02-15 | 2019-03-13 | ファナック株式会社 | 学習制御機能を備えたロボットシステム及び学習制御方法 |
EP3501740A1 (de) * | 2017-12-20 | 2019-06-26 | HILTI Aktiengesellschaft | Setzverfahren für schraubverbindung mittels schlagschrauber |
CN112055636B (zh) * | 2018-01-24 | 2024-07-05 | 米沃奇电动工具公司 | 包括机器学习块的电动工具 |
WO2019144383A1 (en) * | 2018-01-26 | 2019-08-01 | Tti (Macao Commercial Offshore) Limited | Power tool cooperation control/feedback/sensor system |
DE112019000228T5 (de) * | 2018-02-21 | 2020-09-10 | Lantern Holdings, LLC | Hochpräzise erkennung anormaler bewegungen für angetriebene werkzeuge |
EP3662684A4 (en) * | 2018-02-28 | 2020-12-23 | Stanley Black & Decker India Private Limited | INTELLIGENT CORD FOR CORD POWER TOOLS |
SE1850245A1 (en) * | 2018-03-07 | 2019-09-08 | Husqvarna Ab | A power tool configured to operate in low-noise mode |
JP6965798B2 (ja) * | 2018-03-12 | 2021-11-10 | オムロン株式会社 | 制御システムおよび制御方法 |
EP3546153B1 (en) * | 2018-03-27 | 2021-05-12 | Braun GmbH | Personal care device |
JP6740279B2 (ja) * | 2018-04-13 | 2020-08-12 | ファナック株式会社 | 調整装置及び調整方法 |
US10834112B2 (en) * | 2018-04-24 | 2020-11-10 | At&T Intellectual Property I, L.P. | Web page spectroscopy |
US10747205B2 (en) * | 2018-05-18 | 2020-08-18 | Ingersoll-Rand Industrial U.S., Inc. | Electronic tool and method for copying a plurality of settings from a mechanical tool to another mechanical tool |
US10960712B2 (en) * | 2018-06-28 | 2021-03-30 | Nissan North America, Inc. | Tire wear estimation using a hybrid machine learning system and method |
JP7117659B2 (ja) * | 2018-09-05 | 2022-08-15 | パナソニックIpマネジメント株式会社 | 電動工具システム |
CN110943961B (zh) | 2018-09-21 | 2022-06-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备以及存储介质 |
US11103980B2 (en) * | 2018-10-12 | 2021-08-31 | Ingersoll-Rand Industrial U.S., Inc. | Assembly tool smart configuration selector by means of orientation detection |
CN111413030B (zh) * | 2019-01-07 | 2021-10-29 | 哈尔滨工业大学 | 基于刚度矢量空间投影极大化的大型高速回转装备测量与神经网络学习调控方法及其装置 |
US10956839B2 (en) * | 2019-02-05 | 2021-03-23 | Bank Of America Corporation | Server tool |
US12226876B2 (en) | 2019-04-03 | 2025-02-18 | Saint-Gobain Abrasives, Inc. | Abrasive article, abrasive system and method for using and forming same |
US11650550B2 (en) * | 2019-05-22 | 2023-05-16 | The Chinese University Of Hong Kong | Control system, control method and computer storage medium |
EP3756827A1 (de) * | 2019-06-27 | 2020-12-30 | Hilti Aktiengesellschaft | Verfahren zum betreiben einer werkzeugmaschine und werkzeugmaschine |
JP6932160B2 (ja) * | 2019-07-22 | 2021-09-08 | 株式会社安川電機 | 機械学習方法及び産業用機器のパラメータ又は産業用機器により制御される機器の内部状態の推定方法 |
CN119458249A (zh) | 2019-07-23 | 2025-02-18 | 米沃奇电动工具公司 | 包括用于控制紧固件的安装的机器学习块的电动工具 |
US11967850B2 (en) * | 2019-08-21 | 2024-04-23 | SparkCognition, Inc. | Systems and methods of applying artificial intelligence to battery technology |
US20210101304A1 (en) * | 2019-10-03 | 2021-04-08 | Lantern Holdings, LLC | Removably mountable abnormal motion detection device and safety feature engagement tool |
DE102019215417A1 (de) * | 2019-10-09 | 2021-04-15 | Robert Bosch Gmbh | Verfahren zum Betrieb einer Handwerkzeugmaschine |
US11580421B2 (en) * | 2019-10-16 | 2023-02-14 | Qualcomm Incorporated | Weakly supervised learning for improving multimodal sensing platform |
US11446747B2 (en) * | 2019-10-29 | 2022-09-20 | Hilti Aktiengesellschaft | Systems and methods for calculating usage of power tools with a sensor tag |
US11544557B2 (en) * | 2019-11-04 | 2023-01-03 | Cisco Technology, Inc. | IoT-based network architecture for detecting faults using vibration measurement data |
US11395221B2 (en) * | 2019-11-13 | 2022-07-19 | Schlage Lock Company Llc | Wireless device power optimization utilizing artificial intelligence and/or machine learning |
JP7452988B2 (ja) * | 2019-11-25 | 2024-03-19 | ファナック株式会社 | プログラム再開支援装置 |
CN113098344A (zh) * | 2019-12-23 | 2021-07-09 | 苏州宝时得电动工具有限公司 | 电动工具 |
US12122033B2 (en) * | 2020-01-06 | 2024-10-22 | Robbox Inc. | Apparatus and method of an interactive power tool |
CN111241673B (zh) * | 2020-01-07 | 2021-10-22 | 北京航空航天大学 | 用于噪声环境工业设备的健康状态预测方法 |
WO2021155156A1 (en) * | 2020-01-30 | 2021-08-05 | Milwaukee Electric Tool Corporation | Automatic step bit detection |
EP3864956B1 (de) | 2020-02-14 | 2022-12-14 | Andreas Stihl AG & Co. KG | Handgeführtes garten-, forst- und/oder baubearbeitungsgerät und verfahren zum betreiben eines handgeführten garten-, forst- und/oder baubearbeitungsgeräts |
WO2021183260A1 (en) * | 2020-03-09 | 2021-09-16 | Danfoss A/S | System and method for control of heavy machinery |
DE102020205165A1 (de) | 2020-04-23 | 2021-10-28 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Handwerkzeugmaschine |
US11055639B1 (en) * | 2020-04-28 | 2021-07-06 | Sas Institute Inc. | Optimizing manufacturing processes using one or more machine learning models |
US11461216B1 (en) | 2020-05-18 | 2022-10-04 | Vignet Incorporated | Monitoring and improving data collection using digital health technology |
US11605038B1 (en) | 2020-05-18 | 2023-03-14 | Vignet Incorporated | Selecting digital health technology to achieve data collection compliance in clinical trials |
WO2021252413A1 (en) * | 2020-06-09 | 2021-12-16 | Lowe's Companies, Inc. | Tool-agnostic device |
JP7375684B2 (ja) * | 2020-06-22 | 2023-11-08 | オムロン株式会社 | ねじ締め装置 |
US12230406B2 (en) | 2020-07-13 | 2025-02-18 | Vignet Incorporated | Increasing diversity and engagement in clinical trails through digital tools for health data collection |
DE102020209809A1 (de) | 2020-08-04 | 2022-02-10 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Trainieren eines Klassifikators zur Ermittlung eines Handwerkzeugmaschinengerätezustands |
JP7306350B2 (ja) * | 2020-08-19 | 2023-07-11 | トヨタ自動車株式会社 | トルク推定装置 |
EP3961314A1 (en) * | 2020-08-31 | 2022-03-02 | Siemens Aktiengesellschaft | Control loop optimization |
US11738365B2 (en) * | 2020-10-06 | 2023-08-29 | Techtronic Cordless Gp | Adhesive dispensing system |
US11845173B2 (en) | 2020-10-16 | 2023-12-19 | Milwaukee Electric Tool Corporation | Anti bind-up control for power tools |
GB2602675B (en) * | 2021-01-12 | 2024-05-15 | Watson Marlow Ltd | Diagnostic methods for motor driven apparatus |
US11521714B1 (en) | 2021-02-03 | 2022-12-06 | Vignet Incorporated | Increasing diversity of participants in health research using adaptive methods |
US11316941B1 (en) | 2021-02-03 | 2022-04-26 | Vignet Incorporated | Remotely managing and adapting monitoring programs using machine learning predictions |
US11196656B1 (en) | 2021-02-03 | 2021-12-07 | Vignet Incorporated | Improving diversity in cohorts for health research |
US11361846B1 (en) | 2021-02-03 | 2022-06-14 | Vignet Incorporated | Systems and methods for customizing monitoring programs involving remote devices |
US11789837B1 (en) | 2021-02-03 | 2023-10-17 | Vignet Incorporated | Adaptive data collection in clinical trials to increase the likelihood of on-time completion of a trial |
US11296971B1 (en) | 2021-02-03 | 2022-04-05 | Vignet Incorporated | Managing and adapting monitoring programs |
US11960599B2 (en) * | 2021-02-26 | 2024-04-16 | International Business Machines Corporation | Classifying users of a database |
JP7627593B2 (ja) | 2021-03-29 | 2025-02-06 | 旭化成ホームズ株式会社 | 判定装置、締結装置、および、判定システム |
CN113051832B (zh) * | 2021-04-01 | 2023-04-18 | 重庆大学 | 主轴系统热误差建模方法、误差预测系统、误差控制系统、误差控制方法及云雾计算系统 |
JP7593218B2 (ja) * | 2021-04-28 | 2024-12-03 | 株式会社Sumco | 状態判定装置及び状態判定方法 |
WO2022271632A1 (en) | 2021-06-21 | 2022-12-29 | Milwaukee Electric Tool Corporation | Systems and methods for evaluating crimp applications |
US20230060846A1 (en) * | 2021-08-11 | 2023-03-02 | Milwaukee Electric Tool Corporation | System and methods for determining crimp applications and reporting power tool usage |
US20230083161A1 (en) * | 2021-09-16 | 2023-03-16 | Accenture Global Solutions Limited | Systems and methods for low latency analytics and control of devices via edge nodes and next generation networks |
US20230089436A1 (en) * | 2021-09-17 | 2023-03-23 | International Business Machines Corporation | Assembly and disassembly validation of machined components |
DE102021211195A1 (de) * | 2021-10-05 | 2023-04-06 | Robert Bosch Gesellschaft mit beschränkter Haftung | Handwerkzeugmaschine mit einer Zustandsbestimmungseinheit |
JP2023075720A (ja) * | 2021-11-19 | 2023-05-31 | パナソニックホールディングス株式会社 | インパクト回転工具、インパクト回転工具システム、管理システム |
TWI809595B (zh) * | 2021-12-09 | 2023-07-21 | 智影顧問股份有限公司 | 預測機台異常之階層式參數系統 |
SE545683C2 (en) * | 2021-12-17 | 2023-12-05 | Atlas Copco Ind Technique Ab | Determining tightening class of a tightening tool |
CN114509971B (zh) * | 2022-01-20 | 2023-09-29 | 中国计量大学 | 一种基于svm油压状态识别的液压棘轮扳手自动判停方法 |
US20230296234A1 (en) * | 2022-02-16 | 2023-09-21 | Milwaukee Electric Tool Corporation | Externally controlled indicator |
US12134155B2 (en) | 2022-02-28 | 2024-11-05 | Milwaukee Electric Tool Corporation | Power tool including fall detection and autostop |
DE102022106711A1 (de) * | 2022-03-22 | 2023-09-28 | Weber Schraubautomaten Gesellschaft mit beschränkter Haftung | Verfahren zur Steuerung eines Schraubautomaten |
US20230321796A1 (en) * | 2022-04-11 | 2023-10-12 | Milwaukee Electric Tool Corporation | Power tool with sheet metal fastener mode |
EP4272901A1 (en) | 2022-05-03 | 2023-11-08 | Milwaukee Electric Tool Corporation | Method and power tool including loss of control mitigation |
US20230367269A1 (en) * | 2022-05-11 | 2023-11-16 | Milwaukee Electric Tool Corporation | Power tool stall detection |
JP2024006727A (ja) * | 2022-07-04 | 2024-01-17 | パナソニックホールディングス株式会社 | 電動工具システム、診断方法及びプログラム |
US20240083005A1 (en) * | 2022-09-12 | 2024-03-14 | Milwaukee Electric Tool Corporation | Power Tool Drop Detection and Reorientation |
US20240123590A1 (en) * | 2022-10-18 | 2024-04-18 | Milwaukee Electric Tool Corporation | Adaptable Motor Control of Modular Power Tool |
DE102023200623A1 (de) * | 2023-01-26 | 2024-08-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Steuern einer Handwerkzeugmaschine und Handwerkzeugmaschine |
DE102023200602A1 (de) * | 2023-01-26 | 2024-08-01 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Erzeugen eines Trainingsdatensatzes, Verfahren zum Trainieren einer künstlichen Intelligenz, künstliche Intelligenz und Handwerkzeugmaschine |
CN116673793B (zh) * | 2023-08-03 | 2023-11-14 | 比亚迪股份有限公司 | 刀具损耗检测方法、介质、电子设备及刀具损耗检测装置 |
CN117437382B (zh) * | 2023-12-19 | 2024-03-19 | 成都电科星拓科技有限公司 | 一种数据中心部件的更新方法及系统 |
Family Cites Families (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04336979A (ja) | 1991-05-15 | 1992-11-25 | Matsushita Electric Works Ltd | 電動工具 |
US7613590B2 (en) * | 1992-11-17 | 2009-11-03 | Health Hero Network, Inc. | Modular microprocessor-based power tool system |
JP2677181B2 (ja) | 1993-12-28 | 1997-11-17 | 日産自動車株式会社 | インパクト式ねじ締め装置 |
DE19641618A1 (de) * | 1996-10-09 | 1998-04-30 | Hilti Ag | Einrichtung und Verfahren für handgeführte Werkzeugmaschinen zur Vermeidung von Unfällen durch Werkzeugblockieren |
US6308138B1 (en) | 1997-07-28 | 2001-10-23 | Tri-Way Machine Ltd. | Diagnostic rule base tool condition monitoring system |
US6336931B1 (en) * | 2000-05-17 | 2002-01-08 | Yeh-Liang Hsu | Automatic bone drilling apparatus for surgery operation |
US7116071B2 (en) | 2000-12-06 | 2006-10-03 | Milwaukee Electric Tool Corporation | Power tool and motor controller |
US6571179B2 (en) | 2001-08-24 | 2003-05-27 | Xerox Corporation | Intelligent power tool |
WO2004029466A2 (en) | 2002-09-09 | 2004-04-08 | Sigmasix L.L.C. | Control system for discontinuous power drive |
GB0220951D0 (en) * | 2002-09-11 | 2002-10-23 | Black & Decker Inc | Safety cut-off for power tool with rotating tool bit |
DE602004032279D1 (de) * | 2003-02-05 | 2011-06-01 | Makita Corp | Kraftgetriebenes Werkzeug mit Drehmomentbegrenzung unter ausschliesslicher Benutzung eines Drehwinkelsensors |
DE102004004170A1 (de) | 2004-01-28 | 2005-08-18 | Robert Bosch Gmbh | Verfahren zur Abschaltung einer Elektrowerkzeugmaschine in einem Blockierfall und Elektrowerkzeugmaschine |
US7699118B2 (en) | 2004-01-30 | 2010-04-20 | Abas, Inc. | System and method for controlling an impact tool |
DE102005031074A1 (de) | 2005-06-24 | 2007-01-04 | C. & E. Fein Gmbh | Kraftgetriebenes Handwerkzeug mit Dämpfungseinrichtung |
US8587231B2 (en) | 2010-09-28 | 2013-11-19 | Black & Decker Inc. | Method and system for electronic braking of a motor |
JP2013022681A (ja) | 2011-07-21 | 2013-02-04 | Hitachi Koki Co Ltd | 電動工具 |
EP2735077B1 (en) * | 2011-07-24 | 2017-06-21 | Makita Corporation | Portable battery pack charging system and method for recharging a battery pack |
DE102012221997A1 (de) | 2012-05-25 | 2013-11-28 | Robert Bosch Gmbh | Elektrowerkzeug |
US20140107853A1 (en) * | 2012-06-26 | 2014-04-17 | Black & Decker Inc. | System for enhancing power tools |
EP2895301A2 (en) * | 2012-09-11 | 2015-07-22 | Black & Decker, Inc. | System and method for identifying a power tool |
US10821591B2 (en) * | 2012-11-13 | 2020-11-03 | Milwaukee Electric Tool Corporation | High-power cordless, hand-held power tool including a brushless direct current motor |
CN104175267B (zh) | 2013-05-20 | 2016-08-03 | 南京德朔实业有限公司 | 电动工具及其控制方法 |
DE102014209009A1 (de) * | 2014-01-27 | 2015-07-30 | Robert Bosch Gmbh | Werkzeugmaschinenvorrichtung |
DE102014209032A1 (de) * | 2014-01-27 | 2015-07-30 | Robert Bosch Gmbh | Werkzeugmaschinenvorrichtung |
US9358685B2 (en) * | 2014-02-03 | 2016-06-07 | Brain Corporation | Apparatus and methods for control of robot actions based on corrective user inputs |
DE102014207434A1 (de) * | 2014-04-17 | 2015-10-22 | Robert Bosch Gmbh | Verfahren zum Betreiben einer Handwerkzeugmaschine, Handwerkzeugmaschine |
EP2985118A1 (de) * | 2014-08-12 | 2016-02-17 | HILTI Aktiengesellschaft | Optimiertes Setzverfahren für Spreizanker mittels einer Werkzeugmaschine |
US20160167186A1 (en) * | 2014-12-12 | 2016-06-16 | Elwha Llc | Power tools and methods for controlling the same |
US9939792B2 (en) * | 2014-12-30 | 2018-04-10 | Futurewei Technologies, Inc. | Systems and methods to adaptively select execution modes |
US10295990B2 (en) * | 2015-05-18 | 2019-05-21 | Milwaukee Electric Tool Corporation | User interface for tool configuration and data capture |
CA2932091C (en) | 2015-06-06 | 2022-04-05 | Warren L. Myrfield, Jr. | Process systems and methods for cutting true with a bandsaw |
EP3307181A1 (en) | 2015-06-10 | 2018-04-18 | Orthodrill Medical Ltd. | Sensor technologies with alignment to body movements |
US11347191B2 (en) | 2015-07-29 | 2022-05-31 | Illinois Tool Works Inc. | System and method to facilitate welding software as a service |
JP2017030088A (ja) | 2015-07-31 | 2017-02-09 | ファナック株式会社 | 機械学習装置、ネジ締付システムおよびその制御装置 |
US11133662B2 (en) * | 2015-09-01 | 2021-09-28 | Black & Decker Inc. | Battery pack adaptor with overstress detection circuit |
US10345797B2 (en) * | 2015-09-18 | 2019-07-09 | Milwaukee Electric Tool Corporation | Power tool operation recording and playback |
JP6063016B1 (ja) * | 2015-09-29 | 2017-01-18 | ファナック株式会社 | 電動機に対する動作指令を学習する機械学習方法および機械学習装置並びに該機械学習装置を備えた工作機械 |
US10807219B2 (en) | 2016-09-07 | 2020-10-20 | Milwaukee Electric Tool Corporation | Depth and angle sensor attachment for a power tool |
US20180165756A1 (en) | 2016-12-11 | 2018-06-14 | Yanyan Cheng | Bidding system and method capable of providing motivation for bidding |
JP6457472B2 (ja) * | 2016-12-14 | 2019-01-23 | ファナック株式会社 | 制御システム及び機械学習装置 |
US11157980B2 (en) * | 2017-12-28 | 2021-10-26 | International Business Machines Corporation | Building and matching electronic user profiles using machine learning |
CN112055636B (zh) * | 2018-01-24 | 2024-07-05 | 米沃奇电动工具公司 | 包括机器学习块的电动工具 |
CN110018722B (zh) | 2018-11-06 | 2022-12-23 | 联想企业解决方案(新加坡)有限公司 | 用于热控制的机器学习装置、系统和方法 |
CN119458249A (zh) * | 2019-07-23 | 2025-02-18 | 米沃奇电动工具公司 | 包括用于控制紧固件的安装的机器学习块的电动工具 |
WO2021155156A1 (en) * | 2020-01-30 | 2021-08-05 | Milwaukee Electric Tool Corporation | Automatic step bit detection |
CN117279745A (zh) * | 2021-04-28 | 2023-12-22 | 米沃奇电动工具公司 | 包括用于控制永磁马达的弱磁的机器学习模块的电动工具 |
-
2019
- 2019-01-23 CN CN201980016161.0A patent/CN112055636B/zh active Active
- 2019-01-23 EP EP24206559.7A patent/EP4468214A3/en active Pending
- 2019-01-23 WO PCT/US2019/014683 patent/WO2019147621A1/en unknown
- 2019-01-23 CN CN202410785496.1A patent/CN118809520A/zh active Pending
- 2019-01-23 EP EP19707515.3A patent/EP3743246B1/en active Active
- 2019-01-23 US US16/254,910 patent/US11221611B2/en active Active
-
2022
- 2022-01-10 US US17/572,109 patent/US12153402B2/en active Active
-
2024
- 2024-10-10 US US18/912,099 patent/US20250036105A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20190227528A1 (en) | 2019-07-25 |
US11221611B2 (en) | 2022-01-11 |
CN112055636B (zh) | 2024-07-05 |
WO2019147621A1 (en) | 2019-08-01 |
US20220128973A1 (en) | 2022-04-28 |
EP4468214A2 (en) | 2024-11-27 |
CN112055636A (zh) | 2020-12-08 |
US20250036105A1 (en) | 2025-01-30 |
US12153402B2 (en) | 2024-11-26 |
EP4468214A3 (en) | 2025-02-26 |
EP3743246A1 (en) | 2020-12-02 |
EP3743246B1 (en) | 2024-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112055636B (zh) | 包括机器学习块的电动工具 | |
US12124226B2 (en) | Automatic step bit detection | |
US20250028289A1 (en) | Power tool including a machine learning block for controlling a seating of a fastener | |
US12005540B2 (en) | Power tool including a machine learning block for controlling field weakening of a permanent magnet motor | |
US10661355B2 (en) | Remote programming of a power tool | |
US20180181105A1 (en) | Tool life estimating device | |
EP2835223A1 (en) | Fastener driving power tool | |
US20230060846A1 (en) | System and methods for determining crimp applications and reporting power tool usage | |
JP7457799B2 (ja) | 手動工作機械を作動させる方法、及び、手動工作機械 | |
US20220407274A1 (en) | Systems and methods for evaluating crimp applications | |
JP6698182B2 (ja) | 電動工具の制御方法、装置及び電動工具 | |
CN114585477B (zh) | 用于借助找出表征性波形来学习应用关停的方法 | |
US20240333179A1 (en) | Power tool implementing a dynamic trigger response to control the power tool | |
US20230367269A1 (en) | Power tool stall detection | |
CN118393861A (zh) | 用于选择用于训练人工智能系统的数据的方法、用于产生训练数据集的方法和训练数据集 | |
US20240149411A1 (en) | Method for Operating a Hand-Held Power Tool | |
CN118393870A (zh) | 选择用于训练人工智能的数据的方法、生成训练数据集的方法、训练数据集 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |