CN114423568A - 包括用于控制紧固件的安装的机器学习块的电动工具 - Google Patents
包括用于控制紧固件的安装的机器学习块的电动工具 Download PDFInfo
- Publication number
- CN114423568A CN114423568A CN202080064439.4A CN202080064439A CN114423568A CN 114423568 A CN114423568 A CN 114423568A CN 202080064439 A CN202080064439 A CN 202080064439A CN 114423568 A CN114423568 A CN 114423568A
- Authority
- CN
- China
- Prior art keywords
- machine learning
- power tool
- learning controller
- tool
- 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 695
- 238000009434 installation Methods 0.000 title claims abstract description 64
- 238000000034 method Methods 0.000 claims abstract description 110
- 230000015654 memory Effects 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 59
- 238000012549 training Methods 0.000 claims description 80
- 238000013528 artificial neural network Methods 0.000 claims description 59
- 230000003068 static effect Effects 0.000 claims description 38
- 230000006870 function Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 22
- 239000012530 fluid Substances 0.000 claims description 4
- 230000006854 communication Effects 0.000 description 47
- 238000004891 communication Methods 0.000 description 47
- 230000004913 activation Effects 0.000 description 28
- 230000008859 change Effects 0.000 description 22
- 238000012706 support-vector machine Methods 0.000 description 17
- 239000000463 material Substances 0.000 description 14
- 230000000306 recurrent effect Effects 0.000 description 14
- 230000002787 reinforcement Effects 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 10
- 239000013598 vector Substances 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 7
- 238000005553 drilling Methods 0.000 description 7
- 239000002023 wood Substances 0.000 description 7
- 230000001965 increasing effect Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000002184 metal Substances 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000004567 concrete Substances 0.000 description 4
- 238000003066 decision tree Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005355 Hall effect Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 238000010276 construction Methods 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
- 230000008713 feedback mechanism Effects 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004519 grease Substances 0.000 description 2
- 230000003116 impacting effect Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000013021 overheating Methods 0.000 description 2
- 239000011505 plaster Substances 0.000 description 2
- 239000004033 plastic Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 239000008207 working material Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000012356 Product development Methods 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 125000002015 acyclic group Chemical group 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000994 depressogenic effect Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- -1 drywall Substances 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000000227 grinding Methods 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 239000010720 hydraulic oil Substances 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000314 lubricant Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003313 weakening effect Effects 0.000 description 1
- 238000004804 winding Methods 0.000 description 1
Images
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
- 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
-
- 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
- B23D59/00—Accessories specially designed for sawing machines or sawing devices
- B23D59/001—Measuring or control devices, e.g. for automatic control of work feed pressure on band saw blade
-
- 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
-
- 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
- B25B23/00—Details of, or accessories for, spanners, wrenches, screwdrivers
- B25B23/14—Arrangement of torque limiters or torque indicators in wrenches or screwdrivers
- B25B23/147—Arrangement of torque limiters or torque indicators in wrenches or screwdrivers specially adapted for electrically operated wrenches or screwdrivers
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/45—Nc applications
- G05B2219/45127—Portable, hand drill
Landscapes
- Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Mechanical Engineering (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Automation & Control Theory (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Numerical Control (AREA)
Abstract
提供了一种电动工具,包括:壳体,由壳体支撑的电动机,由壳体支撑的传感器以及电子控制器。传感器被配置为生成指示电动工具的操作参数的传感器数据。电子控制器包括电子处理器和存储器。存储器包括用于由电子处理器执行的机器学习控制程序。电子处理器被配置为接收传感器数据并使用机器学习控制程序处理传感器数据。电子处理器还被配置为使用机器学习控制程序基于传感器数据生成输出,该输出指示与电动工具的紧固操作相关联的安装值。电子处理器还被配置为基于生成的输出来控制电动机。
Description
相关申请
本申请要求于2019年7月23日提交的申请号为62/877,489的美国临时专利申请的权益,其全部内容通过引用并入本文。
技术领域
本文描述的实施方式涉及电动工具,其基于一个或多个接收到的输入来控制紧固件的安装(seating)。
发明内容
在一个实施方式中,提供了一种电动工具,包括:壳体,由壳体支撑的电动机,由壳体支撑的传感器以及电子控制器。传感器被配置为生成指示电动工具的操作参数的传感器数据。电子控制器包括电子处理器和存储器。存储器包括用于由电子处理器执行的机器学习控制程序。电子控制器被配置为接收传感器数据,并使用机器学习控制程序处理传感器数据。电子处理器还被配置为使用机器学习控制程序基于传感器数据生成输出,该输出指示与电动工具的紧固操作相关联的安装值。电子处理器还被配置为基于生成的输出来控制电动机。
在电动工具的一些实施方式中,机器学习控制程序通过基于示例传感器数据和相关输出的训练而在外部系统装置上生成,并且由电动工具从外部系统装置接收。
在电动工具的一些实施方式中,机器学习控制程序是静态机器学习控制程序和可训练机器学习控制程序中的一个。
在电动工具的一些实施方式中,安装(seating)值指示紧固件已经开始安装。
在电动工具和方法的一些实施方式中,电子控制器被配置为基于安装值指示紧固件已经开始安装而降低电动机的速度。
在电动工具和方法的一些实施方式中,电子控制器被配置成基于安装值指示紧固件完全安装而停止电动工具的电动机。
在另一实施方式中,提供了一种操作电动工具以控制紧固件安装的方法。该方法包括:由电动工具的传感器生成指示电动工具的操作参数的传感器数据。该方法还包括由电动工具的电子控制器接收传感器数据。控制器包括电子处理器和存储器。存储器包括用于由电子处理器执行的机器学习控制程序。该方法还包括使用机器学习控制器的机器学习控制程序处理传感器数据,以及使用机器学习控制程序基于传感器数据生成输出。输出指示与电动工具的紧固操作相关联的紧固值。该方法还包括由电子控制器基于输出控制电动工具的电动机。
在电动工具和方法的一些实施方式中,机器学习控制程序通过基于示例传感器数据和相关输出的训练而在外部系统装置上生成,并且由电动工具从外部系统装置接收。
在方法的一些实施方式中,机器学习控制程序是静态机器学习控制程序和经训练的机器学习控制程序中的一个。
在方法的一些实施方式中,紧固值指示紧固件被紧固的水平。
在方法的一些实施方式中,电子控制器被配置为基于紧固值指示紧固件正在接近目标紧固扭矩而降低电动机的速度。
在方法的一些实施方式中,电子控制器被配置为基于紧固值指示紧固件被扭紧到目标紧固扭矩而停止电动工具的电动机。
在方法的一些实施方式中,操作参数包括以下的一个或多个:紧固件旋转的次数、测量的扭矩、特征速度、电动工具的电压、电动工具的电流、所选的操作模式、流体温度和工具移动信息。
在方法的一些实施方式中,电动工具包括被配置为提供指示工具运动的数据的陀螺仪。
在一个实施方式中,提供了一种电动工具,包括:壳体,由壳体支撑的电动机,由壳体支撑的传感器以及电子控制器。传感器被配置为生成指示电动工具的操作参数的传感器数据。电子控制器包括电子处理器和存储器。存储器包括用于由电子处理器执行的机器学习控制程序。电子控制器被配置为接收传感器数据并使用机器学习控制程序处理传感器数据。电子处理器还被配置为使用机器学习控制程序基于传感器数据生成输出,该输出与电动工具的一个或多个操作功能相关联。电子处理器还被配置为基于生成的输出来控制电动机的速度、电力或其他输出。
在电动工具的一些实施方式中,一个或多个操作功能包括扭紧操作。
在电动工具的一些实施方式中,电子控制器被配置为基于安装值指示紧固件正在接近指定的扭矩值而降低电动机的速度、电力或其他输出。
在电动工具的一些实施方式中,机器学习控制程序被配置为使用神经网络处理传感器数据。
在电动工具的一些实施方式中,神经网络被配置为生成与电动机的期望速度相对应的多个输出。
在电动工具的一些实施方式中,机器学习控制程序通过基于示例传感器数据和相关输出的训练而在外部系统装置上生成,并且由电动工具从外部系统装置接收。
在电动工具的一些实施方式中,机器学习控制程序是静态机器学习控制程序和经训练的机器学习控制程序中的一个。
在详细解释任何实施方式之前,应当理解,实施方式的应用不限于在以下描述中阐述或在附图中示出的构造细节和部件布置。实施方式能够以不同方式实践或实施。此外,应当理解,本文所使用的措词和术语是出于描述的目的而不应被认为是限制性的。“包括”、“包含”和“具有”及其变型的使用意在涵盖其后列出的项目及其等同项目以及附加项目。除非另有说明或限制,否则术语“安装”、“连接”、“支撑”和“联接”及其变型被广义地使用并且涵盖直接和间接的安装、连接、支撑和联接。
此外,应当理解,实施方式可以包括硬件、软件和电子部件或模块,其中为了讨论的目的,它们可能被示出为和描述为好像大多数部件仅在硬件中实现一样。然而,本领域的普通技术人员基于对本详细描述的阅读将认识到,在至少一个实施方式中,基于电子的方面可在可由一个或多个处理单元(例如,微处理器和/或专用集成电路(“ASIC”))执行的软件(例如,存储在非暂时性计算机可读介质上)实现。因此,应当理解,可以利用多个基于硬件和软件的装置以及多个不同结构部件来实现实施方式。例如,说明书中描述的“服务器”、“计算装置”、“控制器”、“处理器”等可以包括一个或多个处理单元、一个或多个计算机可读介质模块、一个或多个输入/输出接口,以及连接不同部件的各种连接件(例如,系统总线)。
与数量或条件结合使用的相对性术语(例如“约”、“大约”、“大体上”等)将被本领域普通技术人员理解为包括所述的值并且具有上下文规定的含义(例如,该术语至少包括与测量精确度相关的误差程度,与特定值相关的公差[例如制造、组装、使用等]等)。此类术语也应被视为公开了由两个端点的绝对值限定的范围。例如,表述“约2至约4”也公开了“2至4”的范围。相对性术语可以指在特定的值上加或减一定百分比(例如,1%、5%、10%或更多)。
应当理解,虽然某些附图示出了硬件和软件位于特定装置中,但是这些图示仅用于说明的目的。在本文中被描述为由一个部件执行的功能可以由多个部件以分布式的方式执行。同样,由多个部件执行的功能可以合并并由单个部件执行。在一些实施方式中,所示的部件可以组合或划分为单独的软件、固件和/或硬件。例如,逻辑和处理可以分布在多个电子处理器之间,而不是位于单个电子处理器内并由单个电子处理器执行。不管它们如何组合或划分,硬件和软件部件可以位于同一计算装置上或者可以分布在通过一个或多个网络或其他合适的通信链路连接的不同计算装置之间。类似地,被描述为执行特定功能的部件也可以执行本文中未描述的其他功能。例如,以某种方式“配置”的装置或结构至少以该种方式配置,但也可能以未明确列出的方式配置。
通过考虑详细描述和附图,实施方式的其他方面将变得显而易见。
附图说明
图1示出了第一电动工具系统。
图2示出了第二电动工具系统。
图3示出了第三电动工具系统。
图4A至图4B示出了第四电动工具系统。
图4C示出了第四电动工具系统。
图4D示出了第五电动工具系统。
图5A是图1至图4C的电动工具系统的示例性电动工具的框图。
图5B是图5A的电动工具的机器学习控制器的框图。
图6是示出建立和实施图5A的电动工具的机器学习控制器的方法的流程图。
图7是根据机器学习控制器来操作图5A的电动工具的方法的流程图。
图8a示出了包括反馈致动器的电动工具。
图8b是提供反馈信息的电动工具的旋转的示图。
图9是可由机器学习控制器使用的不同类型的信息的示意图。
图10示出了被配置为识别所使用的紧固件的类型的机器学习控制器的示意图。
图11是示出使用机器学习控制器识别紧固件的类型的方法的流程图。
图12是可以由机器学习控制器使用的各种类型信息的示意图,以执行紧固件安装程序。
图13是示出训练电动工具以使用静态逻辑来执行紧固件安装操作的方法的流程图。
图14是安装过程中工具的扭矩输出的数据图。
图15a至图15g是示出根据一些实施方式的在紧固件安装过程期间多个感测到的输入的数据图。
图16是示出根据一些实施方式的训练电动工具以使用自适应逻辑执行紧固件安装操作的方法的流程图。
图17是示出根据一些实施方式的使用机器学习利用电动工具安装紧固件的方法的流程图。
图18是示出根据一些实施方式的使用机器学习利用电动冲击工具扭紧紧固件的方法的流程图。
图19是示出根据一些实施方式的实际扭矩与使用与冲击工具一起使用的已知打击计数方法的预测扭矩的对比的数据图。
图20是示出根据一些实施方式的实际扭矩与使用被配置为分析冲击工具中的锤位置信息的机器学习算法的预测扭矩的对比的数据图。
图21是示出根据一些实施方式的使用脉冲工具的甲板螺钉的实际和预测的安装操作的图表。
图22是示出根据一些实施方式的使用神经网络的安装的甲板螺钉的距离的分布图。
图23是示出根据一些实施方式的与使用液压脉冲工具来安装螺栓相关联的误差的分布图。
图24是示出根据一些实施方式的使用电钻和相关的机器学习算法的安装的甲板螺钉的距离的分布图。
具体实施方式
一些电动工具包括传感器和控制系统,该控制系统使用硬编码的阈值来例如改变或调节工具的操作。例如,传感器可以检测到电池电压低于预定的硬编码的阈值。电动工具然后可以停止电动机的操作以保护电池组。尽管这些类型的阈值可能易于实施并为电动工具的操作提供了一些好处,但是这些类型的硬编码的阈值无法适应电动工具操作期间不断变化的状况或应用,并且可能最终无法帮助检测和响应更复杂的状况,例如,当电动工具遇到反冲(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、USB-C、火线等)的有线网络。类似地,服务器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被配置为基于所提供的示例输入-输出对来学习将输入映射到输出的通用规则或模型。机器学习算法可以被配置为使用不同类型的方法来执行机器学习。例如,机器学习控制器120可以使用决策树学习,关联规则学习,人工神经网络,循环人工神经网络,长期短期记忆神经网络,归纳逻辑编程,支持向量机,聚类,贝叶斯网络,强化学习,表征学习,相似度与度量学习,稀疏字典学习,遗传算法,k近邻(KNN),注意力网络/转换器和其他(如以下表1所示),来实施机器学习程序。
机器学习控制器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可以例如根据用于自钻螺钉的斜升速度(rampupspeed)控制电动机,但是采用来自钣金螺钉的反冲检测。机器学习控制器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可以显示对操作参数的建议的改变,并向用户请求确认以将改变转发到电动工具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的频率。在其他示例中,电动工具305的操作或模式使用可以被禁用,直到在电动工具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之间进行直接通信。提供有线连接可以提供在外部装置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的外部。此外,在一些实施方式中,外部系统装置是无线集线器,例如放置于工地以监测工具的信标装置,用作网关网络装置(例如,提供Wi-网络)或两者。如本文所述,外部系统装置至少包括用于通信的输入/输出单元(例如,无线或有线收发器),存储指令的存储器,以及执行存储在存储器中的指令以执行归属于外部系统装置的功能的电子处理器。
在一些实施方式中,电动工具405可以不与外部装置107或服务器410通信。例如,图4B示出了没有连接到外部装置107或服务器410的电动工具405。相反,由于电动工具405包括自更新机器学习控制器420,所以电动工具405可以实施机器学习控制器420,接收用户反馈,并在不与外部装置107或服务器410通信的情况下更新机器学习控制器420。
图4C示出了第五电动工具系统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或没有机器学习控制器的类似的电池组充电)的电源系统,其中充电器包括与本文所述类似的机器学习控制器。在一些实施方式中,被配置为定位在电池组480和电动工具(例如电动工具305)之间的适配器可以包括机器学习控制器,其可以控制电动工具。
图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,模式板(modepad)527,多个传感器530,多个指示器535和电子控制组件536。电子控制组件536包括机器学习控制器540,激活开关545和电子处理器550。电动机505致动电动工具500的驱动装置,并且允许驱动装置执行电动工具500的特定任务。电动机505通过电源接口515从外部电源接收电力。在一些实施方式中,外部电源包括交流(AC)电源。在这样的实施方式中,电源接口515包括可连接至例如AC插座的AC电源线。在其他实施方式中,外部电源包括电池组。在这样的实施方式中,电源接口515包括电池组接口。电池组接口可以包括电动工具500上的电池组接收部分,该电池组接收部分被配置为接收并联接到电池组(例如,电池组或没有机器学习控制器的类似的电池组)。电池组接收部分可包括:连接结构,其与固定电池组的机构接合;以及端子块,其将电池组电连接至电动工具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包括例如霍尔效应传感器,电动机电流传感器,电动机电压传感器,温度传感器,扭矩传感器,位置或运动传感器(例如加速度计或陀螺仪)等。霍尔效应传感器将电动机反馈信息(例如与电动机的位置,速度和电动机505的转子的加速度有关的指示(例如,脉冲))输出到电子处理器550。在一些实施方式中,电子处理器550使用来自霍尔效应传感器的电动机反馈信息,以控制开关网络517驱动电动机505。例如,通过选择性地启用和停用开关网络517,电力选择性地被提供到电动机505,以使电动机以特定速度,特定扭矩或其组合旋转。电子处理器550还可以基于包括在电动工具500中的其它传感器控制开关网络517和电动机505的操作。例如,在一些实施方式中,电子处理器550基于指示电动工具500传递的冲击次数的传感器输出信号,指示电动工具500的砧座的速度的传感器输出信号等来改变控制信号。来自传感器的输出信号用于确保对开关网络517的控制信号的正确定时,并且在某些情况下,用于提供闭环反馈以将电动机505的速度控制在目标范围内或目标水平处。
指示器535也联接到电子处理器550。指示器535从电子处理器500接收控制信号以生成视觉信号,以将关于电动工具500的操作或状态的信息传达给用户。指示器535可包括例如LED或显示屏,并且可生成各种信号,其指示例如电动工具500的操作状态或模式,在电动工具500的操作期间检测到的异常状况或事件等。例如,指示器535可以指示电动工具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至图4),以节省空间,并确保电动机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,但是,如先前相对于图5所描述的,电动工具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可能确定由于最后三个操作使用了凸耳螺母(lugnut),因此第四操作也可能使用了凸耳螺母。使用循环神经网络有助于通过提供并考虑关于特定操作的关系来抵偿机器学习控制585会造成的一些错误分类。因此,当实施循环神经网络时,学习率不仅影响每个训练示例如何影响整个循环神经网络(例如,调节权重,偏差等),而且还影响每个输入如何影响下一个输入的输出。
服务器电子处理器425建立和训练机器学习控制585来执行特定任务。例如,在一些实施方式中,机器学习控制585被训练以识别电动工具500的应用(例如,用于安装紧固件)。在其他实施方式中,机器学习控制585被训练以检测何时存在有害状况或即将发生有害状况(例如,检测到反冲)。机器学习控制585被训练为用于其的任务可以基于例如电动工具500的类型,来自用户的选择,电动工具的典型应用,用户特性信息等变化。图12至图17展开了机器学习控制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)的替代,电动工具500经由一个或多个传感器530感测一个或多个电动工具特性,并且该反馈基于感测到的电动工具特性。例如,在电动工具500的扭矩扳手实施方式中,扭矩扳手包括扭矩传感器,以在紧固件操作期间感测输出扭矩,并且感测到的输出扭矩被提供为反馈。扭矩传感器的反馈可以直接反馈到其自身,以防止在紧固件的组装和安装过程中出现目标扭矩过高的情况。另外,也可以使用在不同的电动工具上的传感器(例如,单独的电动扭矩扳手)来提供反馈。
感测到的输出扭矩(例如反馈)可以在电动工具500上本地评估,或在外部装置107或服务器电子处理器425上外部评估,以确定反馈是肯定的还是否定的(例如,当感测到的输出扭矩处于可接受的扭矩范围内时,反馈可以是肯定的;并且当处于可接受的扭矩范围外时,反馈可以是否定的)。或者,感测到的输出可被用于缩放或转移用于机器学习控制585的输出和/或调节的阈值和/或置信范围。如上面所讨论的,在一些实施方式中,电动工具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描述的一些或全部步骤。例如,图4示出了示例性电动工具系统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取决于该状况来控制电动机。例如,并且如在下面进一步详细描述的,该状况可以指示电动机的输出扭矩值,检测到的障碍物,检测到的异常附件状况,检测到的反冲,或完成的操作(例如,完成紧固操作)。在另一示例中,检测到的冲击被用来预测理想的打击到打击电动机配置(blow-to-blow motor profile),以优化冲击时间、额外扭矩输出、最大扭矩输出或冲击的另一个特性。进而,可以基于该状况控制电动机停止,增加速度或降低速度(例如,通过制动),或者可以基于该状况以其他方式控制电动机。尽管机器学习控制器540的特定任务可以如下面更详细地描述的那样改变,但是电子处理器550使用机器学习控制器540的输出来例如更好地操作电动工具500并获得更高的操作效率。
在一些实施方式中,除了传感器数据或作为传感器数据的替代,机器学习控制器540在步骤715中接收电动工具500的当前用户的用户特性,然后在步骤720中基于用户特性或基于用户特性和在步骤715中接收到的传感器数据生成输出。在一些实施方式中,除了在步骤725中控制电动机或作为在步骤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的类型。
图8a示出了提供致动器以接收关于电动工具500的操作并且特别是关于机器学习控制器540的操作的用户反馈的又一实施方式。在所示的实施方式中,电动工具500包括第一致动器785和第二致动器790。在一些实施方式中,每个致动器785、790可以与不同类型的反馈相关联。例如,第一致动器785的激活可以指示机器学习控制器540的操作是适当的(例如,肯定反馈),而第二致动器790的激活可以指示机器学习控制器540的操作是不适当的(例如,否定反馈)。例如,当电子处理器550由于机器学习控制器540确定电动工具500正用于特定应用而实施不同的完成速度时,用户可以指示对完成速度的改变是不期望的。在其他实施方式中,第一致动器785和第二致动器790(或附加的一对按钮)分别与机器学习控制器540的学习率的增加和减少相关联。例如,当用户想要增加机器学习控制器540的学习率时,用户可以激活第一致动器785。图8a示出了在电动工具500的手柄上的第一致动器785和第二致动器790。然而,在其他实施方式中,第一致动器和第二致动器可以定位在电动工具500的脚上,在手柄下方或在手柄上方的电动机壳体部分上。
在另一实施方式中,用户可以通过移动电动工具500本身来向电子处理器550提供反馈。例如,电动工具500可以包括加速度计,陀螺仪和/或磁力计(例如,作为传感器530),其向电子处理器550提供指示电动工具500的位置,定向或其组合的输出信号。在这样的实施方式中,如图8b中所示的电动工具的顺时针或逆时针旋转可向电子处理器550提供反馈信息。例如,顺时针旋转电动工具可对应于电子处理器550增加电动机505的速度的请求,而逆时针旋转电动工具500可对应于电子处理器550降低电动机505的速度的请求。在一些实施方式中,电子处理器550可以使用类似的传感器来检测电动工具500的摇动运动。摇动电动工具500可指示电动工具500未如用户期望的那样操作以提供否定反馈。例如,当机器学习控制器485对电动工具500当前任务的应用的确定不正确时,用户可以摇动电动工具500。如上所述,提供这样的反馈允许机器学习控制器540更新其参数以改进其性能。
如上所述,机器学习控制器540与一个或多个特定任务相关联。机器学习控制器540基于机器学习控制器540被配置的特定任务而从电动工具500和电子处理器550接收不同类型的信息。例如,图9示出了可由机器学习控制器540用来生成输出、进行确定和预测等的不同类型的信息的示意图900。在所示的图中,机器学习控制器540可以接收例如电动工具500的操作时间(例如,电动工具500在每个时段中使用多长时间,在电动工具使用的时段之间的时间量等)905,关于用于电动工具500的工具头、刀片或其他附件装置910的信息,电池组915的电量状态,电池组已经使用的时间量,电池组是否最近被更换920等的指示。机器学习控制器540还可以接收关于与电动工具500一起使用的电池组类型923的信息(例如,18V电池组)。
如上面所讨论的,模式板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。
图10示出了用于机器学习控制器540的示例性使用的图1000。在所示的实施方式中,机器学习控制器540被配置为识别正在由电动工具500在其上工作的紧固件的类型。在这样的实施方式中,机器学习控制器540接收例如旋转次数1005,负载扭矩1010,电动机速度1015,扭矩或速度斜坡斜度(rampslope)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可识别的特定类型的紧固件。
图11是示出使用机器学习控制器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的电子处理器或服务器电子处理器425。建议的改变可以使用识别的紧固件类型作为查找表(存储在与特定电子处理器相关联的存储器中)的输入来生成,查找表将紧固件类型映射到电动工具500的建议操作参数。
机器学习控制器540具有不同的应用并且可以向电动工具500提供分析各种类型的传感器数据和所接收的反馈的能力。一般来说,机器学习控制器540可以向电动工具500的用户提供各种水平的信息和可用性。例如,在一些实施方式中,机器学习控制器540分析来自电动工具500的使用数据并提供有助于用户做出更明智的决定的分析。下面的表5列出了机器学习控制器540的多个不同实施方式或应用。对于每个应用,表5列出了对机器学习控制器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或操作用户先前使用的不同类型的电动工具。例如,对于具有在冲击驱动器中最小化振动的偏好的用户,可以向其提供往复锯,该往复锯具有预先训练的用于最小化振动的机器学习程序。
因此,如以上所讨论的,机器学习控制器540可以为电动工具500提供分析各种类型的传感器数据的能力以及通过以下的一个或多个向用户提供反馈的能力:实施或建议电动工具500的操作模式的改变,更改电动工具500的操作,或提供有关特定电动工具或电动工具装置(例如电源箱)的使用的分析。
如上所述,诸如电动工具105的电动工具可以用于各种目的。在一种具体应用中,电动工具用户可以使用诸如冲击驱动器、螺丝刀、液压脉冲工具和冲击工具的电动工具来帮助安装(seating)紧固件和螺栓。紧固件可以包括螺钉,例如甲板螺钉(deck screw)、干式墙/石膏螺钉、建筑螺钉、金属板螺钉、混凝土锚、机械螺钉、方头螺栓、墙锚和/或其他特殊螺钉(例如,EMT固定螺钉、塑料螺钉、流水线产品用螺钉、汽车螺钉、电子设备用螺钉等)。螺栓可包括凸耳螺母、结构性和非结构性螺栓、张力控制螺栓等。螺栓可以针对特定的张力和/或扭矩和/或旋转进行评级。在一些实施方式中,电动工具可以作用在螺栓或相应的螺母上。除非另有说明,否则术语紧固件、螺钉、锚、螺栓和螺母可以互换使用。
传统上,改进紧固件和螺栓安装的技术包括使用基于扭矩的机械或电子离合器(例如在电钻和电动螺丝刀上的离合器);接触式传感器和离合器(例如在螺丝刀上的那些);以及其他工具中使用的不同工具模式。工具模式可以限制输出速度、电动机电流或应用持续时间等参数,并且通常使用配置文件和/或基本状态机来执行所需的操作。这些工具模式存在于一些电钻、脉冲工具和冲击工具上。工具模式可以与多种传感输入一起使用,例如电流、电压、温度、触发器输入、运动、力、接触和位置检测(例如,冲击驱动器中的感应传感器)。这种工具模式的编程通常被实现为一系列连续的工具状态(例如,基本状态机),其中电动工具可能需要从加速状态移动到维持输出状态,再到对固定次数的冲击进行计数的状态,再到停止状态。替代的状态可以响应于信号而出现,例如在某些工具(例如电钻)的情况下检测到反冲的情况下。
上述通用工具模式的编程通常是固定的,这意味着没有使用可能使用来自先前使用的信号或结果并将它们应用到未来运行以获得自适应特性输出响应的存储器。传统工具模式的编程通常重点狭窄(例如安装特定的紧固件),控制简单(例如设置目标速度),或者如果应用范围更广(例如一般的“钻尾螺钉模式”或一般'扭矩水平')其性能往往不一致。下面的表6示出了传统紧固和螺栓连接工具与机器学习紧固和螺栓连接电动工具(例如本文所述的那些)的特征、方面和主题的比较。
如上所述,可以在电动工具105上使用各种传感器以便为特定目的进行机器学习。现在转到表7,显示了使用机器学习来实现紧固件安装的潜在传感器装置。
图12示出了机器学习控制器540的示例性使用的示意图1200,该机器学习控制器540用于与诸如电动工具500的电动工具一起使用。在所示的实施方式中,机器学习控制器540被配置为确定紧固件的安装水平。例如,机器学习控制器540确定紧固件何时开始安装并继续确定紧固件的安装水平直到紧固件完全安装。在这样的实施方式中,机器学习控制器540接收与工具500相关联的多个操作参数(输入)。这些操作参数可以包括旋转次数1202、测量的扭矩1204、特征速度1206、一个或多个电压1208、一个或多个电流1210、工具500的选定操作模式1220、流体温度1214(例如,用于液压脉冲工具)和工具移动信息1216(例如,通过陀螺仪、运动传感器等提供)。在一个实施方式中,上述信息(操作参数)由电子处理器550基于以下生成:来自传感器530的传感器数据、使用传感器数据进行的算术运算(例如,计算扭矩),以及将传感器数据或计算的值与阈值进行比较(例如,定义操作参数的增加或减少是否迅速)。然后,在工具操作期间由机器学习控制器540接收生成的信息。基于接收到的信息,机器学习控制器540确定紧固件的安装水平1218并将其输出到电子处理器550,并且电子处理器550相应地控制工具500的输出。例如,机器学习控制器540可以指示电子处理器550在安装接近完成时减慢工具的旋转,和/或基于确定紧固件完全安装而停止工具的操作。在一个实施方式中,机器学习控制器540可以利用例如具有多个输出的神经网络,使得每个输出对应于工具500的速度值。在一些示例中,神经网络可以相对较小,从而允许电子处理器550执行机器学习控制器540的功能而无需首先显着增加处理能力或功能或者以其他方式升级处理器550的硬件。
现在转向图13,提供了用于使用静态逻辑来训练和操作具有机器学习的电动工具(例如电动工具500)的过程1300。在一个实施方式中,机器学习由机器学习控制器(例如上述的机器学习控制器540)执行。然而,也可以使用其他机器学习控制器。在一些示例中,静态逻辑的使用可以降低用于实现机器学习的计算能力,例如通过需要更小的神经网络。通过减少所需的计算能力和/或其他处理资源,过程机器学习控制器540可以集成到处理器550中,如上所述。然而,在其他示例中,机器学习控制器540可以具有其自己的处理器,如上所述。
在静态逻辑工具中,机器学习控制器540可以在工具被提供给用户之前(例如,在制造期间)被编程,并且随后不被更新。静态逻辑可以与各种紧固工具一起使用,例如电钻、脉冲或冲击工具。在一些实施方式中,工具具有多个模式,例如钻尾螺钉模式、干式墙螺钉模式、甲板螺钉模式、混凝土锚固模式、管凸缘/联接模式或其他紧固模式。静态逻辑工具也可以是能够施加精确紧固扭矩以例如用于螺栓和凸耳螺母的电钻、脉冲或冲击工具。
在过程框1302,收集工具数据。在一些实施方式中,工具数据是在产品开发和/或制造期间收集的。该工具可在不同情况中使用以生成数据。多个数据点被使用,因为有许多变量可能会影响确定何时发生安装以及发生安装的程度。如图14所示,工具500的扭矩输出可能由于不可控的因素而表现出突然的变化。例如,峰值1402和1404示出了由于工作材料的硬度或类型的变化(例如,混凝土到木材、干式墙到木材等)而导致的扭矩峰值。扭矩峰值1406可能是工作材料异常的结果,例如在木材中的结。因此,机器学习控制器540使用通过多个输入的多个数据点来有效地生成适当的算法。
在一些实施方式中,为了收集工具数据,安装大约2000个紧固件。然而,在一些实施方式中,多于2000个紧固件或少于2000个紧固件可安装以收集工具数据(例如,在1000个至3000个紧固件之间,或至少1000个紧固件)。对于每次安装,都会收集各种数据,例如紧固件类型、长度、直径;材料类型和厚度;材料层的数量和顺序;用户体验、大小和年龄;电池类型、充电水平和使用年限;工具传感器生成的感测数据(例如,电流、电压、加速度、温度、电动机转速、电动机旋转加速度、扭矩);外部传感器生成的感测数据(例如扭矩、工具加速度);紧固件安装水平的指示,以及安装完成成功的指示。在用于生成数据的许多紧固件安装操作过程中,不同的用户可能会操作工具,因为例如不同的用户有不同的握持和操作工具的方式,这可能会导致使用了不同的力、速度等安装螺钉。在数据收集过程中,可以改变和评估电源类型。例如,在工具是电池供电工具的情况下,可以在工具数据的收集期间(例如,在紧固件安装期间)使用各种电池,例如1.5Ah、2Ah、3Ah、5Ah、6Ah、9Ah和/或12Ah电池。此外,可以使用具有各种充电状态的电池。在工具数据的收集过程中也可以使用各种材料组合。例如,不同的材料的组合(例如,混凝土、木材、塑料、石膏、干式墙、金属等)可以组合成多层,然后可以驱动紧固件并将其固定在组合的材料中。在一个实施方式中,所述组合是两层组合。然而,分层组合的其他值也是可以的。此外,将使用多种不同类型的紧固件来收集工具数据。即使工具被编程为安装一种类型的紧固件,例如甲板螺钉,也可以使用多个不同长度的甲板螺钉来收集工具数据。此外,先前在一个应用(甚至是未知或未标记的应用)上训练的模型可用于帮助训练另一个应用(例如,干式墙螺钉数据或其他未标记的现场数据可能与用于甲板螺钉的模型有关)。
图15a至图15示出了基于时间和基于参数(例如,安装深度)的数据的示例。图15a至图15b示出了安装过程随时间变化的多个数据输入。在一个实施方式中,输入包括运动数据(例如,通过一个或多个陀螺仪)、电流值、旋转值(例如,通过霍尔转换)、工具速度、电压和估计的紧固件深度。图15c至图15d显示了相同的数据点,但在紧固件的深度上。在一些实施方式中,收集基于时间的数据和基于参数的数据中的一者或两者以用于建立和训练机器学习控制。
在一些实施方式中,使用运动传感器的运动跟踪来用于具有多个螺栓(例如凸耳螺母、管凸缘和联轴器)的应用中。运动跟踪可以了解用户是否击中了所有多个螺栓,以及哪个螺栓受到冲击。这种跟踪可以通过在冲击运行之间的运动整合来可靠地完成。在一些实施方式中,模型可以利用知道哪个紧固件正在被扭紧以及正在执行第几次操作(例如,第一次操作、第二次操作或第三次操作)。这种信息可以提供给机器学习控制器540以改进扭矩控制。
图15e至图15f示出了锤信号(例如在冲击工具中使用的)的基于时间的输出。在图15e中,数据图1550示出了从用于在其安装紧固件时的冲击的模拟传感器得出的轴向锤位置。模拟信号包含可用于安装紧固件的大量信息,其可作为输入提供给机器学习控制器,例如机器学习控制器540。如数据图1550所示,轴向位置逐渐增加,直到达到跳闸扭矩,在该点冲击开始。图14f示出了代表单次冲击期间锤的轴向位置的模拟信号1552。在冲击之前、期间和之后的曲线,尤其是与其他传感器结合使用时,可能包含与每个冲击事件有关的信息。由于螺钉的扭矩曲线变化很大,因此仅依靠计算冲击次数通常不能很好地指示检测螺钉的安装。螺栓扭矩与冲击次数具有更高的相关性,但其仍然有限。相反,该模拟信号(以及与其他传感器的结合)可以帮助导出许多“特征”,以为机器学习控制器提供有用的输入,从而更可靠地确定螺钉的安装。这些特征可以包括但不限于冲击的间隔、冲击前后的速度、砧座输出的角度增加和回弹系数。此外,冲击期间的锤信号可与不冲击时的信号进行转换和/或组合。一个主要的转换和组合的示例是估计整个运行过程中的紧固件扭矩与角度的关系。然后可以将该扭矩与角度的关系的信息用作机器学习算法的输入。虽然图15e至图15f示出了轴向锤位置,在一些实施方式中,相似或不同的传感器用于估计冲击期间砧座和锤两者的角度和轴向平移。
图15g提供了显示来自液压脉冲工具的基于时间的扭矩测量的数据图1554。在一个示例中,扭矩值是使用液压脉冲工具内的负载传感器确定的。在一些实施方式中,扭矩测量可以为机器学习控制器540提供更好的数据以确定紧固件安装状况。例如,特征扭矩(例如,每个脉冲所经历的持续负载)可以直接输入到循环神经网络(RNN)。在其他示例中,可以将特征扭矩输入或缓冲到DNN或CNN中。机器学习控制器540然后可以使用特征扭矩来评估安装状况。在一个实施方式中,机器学习算法有助于估计工具的持续负载以及其他传感器数据,尤其是当接头变硬并且持续负载变得更难确定时。
在工具数据被收集后,在过程框1304建立和训练与机器学习控制器540相关联的机器学习控制(例如上述的机器学习控制585。在一个实施方式中,服务器电子处理器425建立和训练机器学习控制,如上所述。建立和训练机器学习控制585可以包括,例如,确定机器学习体系结构(例如,使用支持向量机、决策树、神经网络或不同的体系结构)。在建立和训练神经网络的情况下,例如,建立神经网络还可能包括确定输入节点的数量、隐藏层的数量、每个节点的激活函数、每个隐藏层的节点数量,输出节点的数量等。此外,建立神经网络可能涉及特征工程,由此选择理想的输入和潜在的过滤器、组合或计算。此外,可以将神经网络输出提供给神经网络上的一个或多个输出滤波器,使得噪声传感器数据估计过早地越过阈值。在一些实施方式中,使用机器学习优化输出滤波器的参数。训练机器学习控制585包括向机器学习控制585提供训练示例(例如上述那些)并使用一个或多个算法来设置机器学习控制的各种权重、边距或其他参数以做出可靠的估计或分类。
在一些实施方式中,建立和训练机器学习控制585包括建立和训练递归神经网络。循环神经网络(RNN)允许对输入的序列进行分析而不是单独处理每个输入。也就是说,循环神经网络不仅可以基于该特定输入的信息,还可以基于先前的输入来确定或输出。RNN可以不同的方式运行。在第一个示例中,每个工具操作或“运行”可以被认为是独立的,其中没有上次运行的先前记忆。但是,RNN可能会在运行期间汇总和使用部分或全部时间序列数据。因此,RNN的一个版本可以提供比经过滤、经处理、经缓冲或原始数据的DNN更稳健的输出。RNN很方便,因为它们在多个步骤中处理数据,并且至少在一些实施方式中,不需要保存所有先前运行时间序列数据的存储器。该处理特别有用,因为运行的持续时间可能会有所不同并且可能很长。此外,除了确定何时停止工具操作之外,RNN还可以有效地提供控制输出速度的多个输出。
在第二个示例中,RNN还可以从一次运行中保存其至少部分状态,并在后续的运行中使用它。例如,当机器学习控制585被配置为识别紧固件的安装时,机器学习控制585可以确定由于前三次操作使紧固件安装到第一深度,因此第四次操作也可能使紧固件安装到第一深度。通过提供和考虑特定操作的情况,使用RNN有助于补偿机器学习控制585可能做出的一些错误分类。其他用例包括识别紧固应用的各个方面,例如螺钉或螺栓类型、用户手部刚度特征、工具的偏转(runout)特性、电池状态、油脂特性、螺栓涂层、工件刚度、适配器的使用、附件状况等。该信息可以反馈到下一次运行或一系列运行中。
在第三个示例中,RNN的另一个用途是使用大体非循环的神经网络,例如DNN或CNN,其中存在先前运行的一些输出子集,这些子集作为一组输入输入到机器学习算法中。一个示例是DNN,其通过更新可能用例的矩阵来识别特定螺钉类型的使用。然后该可能用例的矩阵作为其中一个输入输入到机器学习算法。在上述一些信息从一个运行传递到下一个运行的示例中,这具体取决于用例之间的时间、模式切换、电池切换、传感器数据指示工具移动或更换配件等信息,信息可能会被过滤、隐藏、汇总或重置。可以使用更复杂的循环算法,其中先前检测到的钻孔状态建议为随后的特定螺钉类型设置导向孔。在一个示例中,这种复杂的算法是另一个RNN。在其他示例中,该算法是马尔可夫链的变体,其可以管理机器学习控制585的输入。
如上所述,机器学习控制585被训练以执行特定任务,例如将紧固件准确地安装到工作材料中。此外,机器学习控制585被训练以在确定如何正确地安装紧固件时检测和考虑不利的状况,例如材料变化、打结、反冲等。机器学习控制585被训练用于的任务可以基于例如电动工具500的类型(例如,电钻/驱动器、脉冲、冲击等)、来自用户的选择、用户特征信息等而变化。
在机器学习控制585已经被建立和训练之后,在过程框1306,机器学习控制被保存。在一些实施方式中,机器学习控制585被保存在服务器110的存储器430中。机器学习控制585也可以存储在机器学习控制器540的存储器580中。在一些实施方式中,例如,当机器学习控制585由电动工具500的电子处理器550实施时,电动工具500将机器学习控制585存储在电子控制组件536的存储器560中。
一旦机器学习控制585被存储,在过程框1308,电动工具500根据(或基于)来自机器学习控制器540的输出和确定来操作电动机505。图17的过程1700(下面进一步描述)示出了基于机器学习控制器540操作电动机505的示例,该控制器可用于实现过程框1308。在机器学习控制器540(包括机器学习控制器585)在服务器110、210中实现的实施方式中,服务器110、210可以根据来自机器学习控制器540的输出和确定来确定操作阈值。服务器110、210然后将确定的操作阈值传送到电动工具500以控制电动机505。
如上所述,机器学习控制器540的性能取决于用于训练机器学习控制器540的数据的数量和质量。因此,如果(例如,由服务器110、210、310、410)使用不充分的数据来训练机器学习控制器540,则机器学习控制器540的性能可能会降低。或者,不同的用户可能具有不同的偏好并且可能以不同于其他用户的方式操作电动工具500(例如,一些用户可以更大的力将电动工具500压在工作材料上,一些用户可能期望较快的完成速度等)。从用户的角度来看,这些电动工具500使用的差异也可能损害机器学习控制器540的一些性能。
现在转向图16,用于使用自适应逻辑来训练和操作具有机器学习的电动工具(例如电动工具500)的过程1600。自适应逻辑的使用允许某些逻辑是静态的,但也允许参数在从一次运行到下一次运行发生变化。这些变化可以允许工具在操作之间更新给定紧固件类型或特性(例如材料硬度)的可能性。该自适应逻辑提供了预测紧固件安装(并且通常会减速)的能力,甚至在紧固件头部接合并生成可检测信号之前。自适应方面可以包括机器学习算法的阈值(例如本文描述的那些)、配置参数(例如,理想的斜升、最大速度等)、预期的旋转等。在一个实施方式中,自适应逻辑使用RNN,如上所述。在一个示例中,自适应逻辑用于突出显示从一次运行到下一次运行的信息,这些信息以不使用机器学习的方式(但实际上仍充当神经网络,例如RNN)进行处理。一个示例是一个条件语句:如果工具在10分钟内没有被使用,以前运行的历史信息将被重置为默认值。自适应方面可以对具有机器学习控制585的工具的输出性能产生实质性影响,而无需对整个机器学习逻辑进行潜在的计算密集型训练。
过程1600包括与上述相同的过程框1302-1308。因此,为简洁起见,将不再描述框1302-1308。在过程框1310,接收用户反馈。在一个实施方式中,服务器电子处理器425从电动工具500(和/或外部装置107)接收关于机器学习控制器540的性能的反馈。因此,在至少一些实施方式中,反馈是关于来自较早的框1308的电动机的控制。然而,在其他实施方式中,电动工具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)的替代,电动工具500经由一个或多个传感器530感测一个或多个电动工具特性,并且该反馈基于感测到的电动工具特性。例如,在电动工具500的脉冲工具的实施方式中,脉冲工具包括扭矩传感器,以在紧固件操作期间感测输出扭矩,并且感测到的输出扭矩被提供为反馈。可以在电动工具500上本地或在外部装置107或服务器电子处理器425上评估感测到的输出扭矩,以确定反馈是肯定还是否定(例如,当感测到的输出扭矩时在可接受的扭矩范围内时,反馈可能是肯定的;当超出可接受的扭矩范围时,可能是否定的)。如上所述,在一些实施方式中,电动工具500可以将反馈或其他信息直接发送到服务器110、210、310、410,而在其他实施方式中,外部装置107可以用作用于电动工具500和服务器110、210、310、410之间的通信桥梁,并且可以将反馈发送到服务器110、210、310、410。此外,随机化可用于测试机器学习控制585的替代逻辑是否更合适。
然后,在过程框1312基于用户反馈调节机器学习控制585。在一个实施方式中,服务器电子处理器调节机器学习控制。例如,服务器电子处理器425在接收到预定数量的反馈指示之后(例如,在接收到50个或100个反馈指示之后)调节机器学习控制。在其他实施方式中,服务器电子处理器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的两次相同的连续拉动之间变化。在一些实施方式中,变化量是基于用户反馈、学习率、随机化或其组合的。
在机器学习控制器被调节之后,在过程框1314,电动机基于来自机器控制器540的更新输出来操作。在一个实施方式中,服务器电子处理器425基于用户反馈调节机器学习控制器540,并且电动工具500根据来自调节的机器学习控制器540的输出和确定操作。在一些实施方式中,例如图3的电动工具系统300,服务器310将调节的机器学习控制585传输到电动工具500。电动工具500然后将调节的机器学习控制585存储在机器学习控制器540的存储器580中(或在电动工具500的存储器560中),并根据调节的机器学习控制器540操作电动机505(方框1314)。类似于过程框1308,图17的过程1700(下文进一步描述)示出了基于机器学习控制器540(根据用户反馈进行调节)操作电动机505的示例,如基于用户反馈调节的,其可用于实现过程框1314。调节的机器学习控制器540通过使用用于训练机器学习控制器540的更大的和更多样化的数据集(例如,通过接收来自不同用户的反馈指示)来改善其性能。
现在转向图17,示出了根据一些实施方式的用于安装紧固件的过程1700。过程1700可以由电动工具执行,例如上述的电动工具500。然而,本文所述的其他电动工具也可用于执行过程1700。此外,要被驱动的紧固件可以是上述任何紧固件,例如甲板螺钉、木螺钉、方头螺栓、干式墙螺钉、机械螺钉、螺栓上的螺母或任何其他适用的紧固件。在过程框1702,工具开始操作。例如,用户可以开始将紧固件驱动到工作材料中。一旦操作开始,在过程框1704,电子处理器550从一个或多个传感器接收输出传感器数据。如上所述,传感器数据可以提供与电动工具500的操作相关的多个操作参数。示例操作参数可以包括电动机位置、电动机速度、主轴位置、主轴速度、输出扭矩、电动工具500的位置、电池组充电状态、日期、时间、自上次使用以来的时间、模式、离合器设置、方向、电池类型、侧把手或其他附件的存在、故障,过去的应用、切换率、用户输入、外部输入、变速等。(参见以上表3)。
然后,在过程框1706,电子处理器550将至少一些传感器数据提供给机器学习控制器540。在电子处理器550实施机器学习控制585的实施方式中,电子处理器550绕过步骤1706。在电动工具500不存储机器学习控制器540的本地副本的实施方式中,例如在图1的电动工具系统100中,电子处理器550将传感器信息中的一些或全部发送到服务器110,其中,机器学习控制器540实时、大体实时或稍后分析接收到的信息,或完全不分析接收到的信息。
发送到机器学习控制器540的传感器信息基于例如机器学习控制器540的特定任务而变化。如上所述,用于机器学习控制器的任务可以基于例如电动工具500的类型而变化。例如,在冲击驱动器的情况中,用于电动工具500的机器学习控制器540可被配置成识别电动工具500的应用的类型,并且可以对于每种应用的类型使用特定的操作阈值。在这样的实施方式中,电子处理器550可以发送例如电动机505的旋转速度,主轴的旋转速度,电动工具的操作模式,但是可以不发送电池组的电量状态。在其他示例中,在电钻/驱动器的情况下,电子处理器550可以传输例如电动机505的旋转速度、主轴的旋转速度、电动机电流、反作用力(例如,通过陀螺仪传感器)等。在其他示例中,在脉冲工具的情况下,电子处理器550可以传输例如液压流体的温度、主轴的速度、电动机505的速度、输出扭矩和反作用力。然而,应该注意,本文描述的工具不限于这里描述的用于每次使用的信号类型,并且可以使用任何数量的信号。
在过程框1708,机器学习控制器540应用一个或多个机器学习算法来确定紧固件是否已经辈被安装。例如,机器学习控制器540可以应用一个或多个上述的机器学习算法,特别是表2中所示的那些。例如,在机器学习控制器540上执行的机器学习程序处理(例如,根据前述机器学习算法中的一个进行分类)所接收的传感器信息并生成输出。在以上示例中,机器学习控制器540的输出可以指示紧固件的安装状态(例如,未安装、部分安装、完全安装等)。
在过程框1710,机器学习控制器540确定是否已检测到紧固件的安装。如上所述,可以使用各种机器学习算法来确定是否已经开始安装。例如,机器学习控制器540可以在时间序列数据和/或其过滤器上利用分类器或回归器函数来确定使用诸如电钻、脉冲工具或冲击工具的工具的安装状况。在一些实施方式中,例如当机器学习控制器540正在确定螺母是否使用冲击工具安装在相联的螺栓上时,机器学习控制器540可以使用各种机器学习算法来估计砧座的旋转以确定紧固件何时被安装。在电动工具500是脉冲工具的实施方式中,机器学习控制器540可以使用各种机器学习算法来解释扭矩传感器读数,以预测实际紧固件扭矩。虽然上述过程描述了检测紧固件的安装,但是可以设想,机器学习控制器540也可以检测诸如以下的状况:紧固件达到目标深度的可能性;发生异常的可能性(例如,紧固件磨损、材料裂开、紧固件损坏、与工具头失去接合等);(通过制动或滑行)工具可能在特定的深度或深度特征上对紧固件进行安装的可能性。
基于机器学习控制器540确定还没有开始安装,过程1700返回过程框1704。响应于机器学习控制器540确定已检测到紧固件的安装,在过程框1712,机器学习控制器540经由电子处理器550修改工具500的操作。然后,电子处理器550基于来自机器学习控制器540的输出操作电动机505。在一些实施方式中,电子处理器550可以在检测到安装时减慢工具500的旋转。在其他示例中,可以通过电子处理器550降低扭矩(例如,通过改变离合器值、降低电动机的速度或电流等)。在更进一步的实施方式中,电子控制器550可以使工具500基于由机器学习控制器确定的安装水平而生成脉冲(例如,通过反复地反转或中断到电动机505的电流)。在一些实施方式中,机器学习控制器540可以确定紧固件已经完全安装并停止工具500的操作。
在一些实施方式中,在框1710,除了是否已检测到安装的二元确定或作为是否已检测到安装的二元确定的替代,机器学习控制器540确定例如在值的范围之间的安装水平。例如,值的范围可以是0-10,其中0表示紧固件未被安装,1表示紧固件的安装刚刚开始(例如,10%安装),以此类推,10表示完成安装。然后,在框1712,修改的操作可以对应于所确定的安装等级。例如,框1712的修改操作可以是与安装水平成比例地降低电动机速度,直到紧固件被指示为完全安装,此时电子处理器550停止驱动电动机。因此,在一些实施方式中,在过程框1712降低电动机的速度之后,电子处理器550返回过程框1704以接收进一步的信号,从而在单个紧固件操作期间多次执行修改操作过程框1712。该示例导致过程框1704-1712在循环中执行以逐渐减慢电动机505直到紧固件完全安装,此时电子处理器550停止驱动电动机505。在更进一步的实施方式中,速度的逐渐降低还基于与所确定的安装水平相关联的置信水平。换句话说,机器学习控制器540对其安装水平的确定越有信心,电动机505的速度降低越大和/或电动机505越积极地减慢并最终停止。
在一个示例中,机器学习控制器540可以充当电子离合器(“e-clutch”)。例如,机器学习控制器540可以充当电子离合器,其中安装状况可以主要是扭矩值或一些其他的安装曲线。到电子离合器的输入设置可以提供预期扭矩的目标范围,给出最终深度的目标范围,或提供额外的灵敏度。当特定机器学习算法的置信度低时,额外的灵敏度可用于提供机器学习控制器540应该有多保守的指示。在一些实施方式中,机器学习控制器540可以在检测到安装之前(例如,在检测到与工件的良好接合之后大约五圈)大幅降低电动机速度,以允许更多的用户控制。
现在转向图18,描述了根据一些实施方式的用于使用电动工具(诸如上述的电动工具500)扭紧紧固件的过程1800。在过程框1802,启动紧固操作。这可能与安装紧固件或拧紧螺栓或其他螺纹紧固件有关。在一个示例中,紧固过程可以由用户致动电动工具(例如冲击驱动器或液压脉冲工具(如上文更详细描述的))上的触发器或其他输入来启动。在过程框1804,电子处理器550从电动工具500的一个或多个传感器接收输出传感器数据。如上面更详细描述的,传感器数据可以提供与电动工具500的操作相关的多个操作参数。示例操作参数可以包括电动机位置、电动机速度、主轴位置、主轴速度、输出扭矩、电动工具500的位置、电动工具500的方向、电池组充电状态、日期、时间、自上次使用以来的时间、模式、离合器设置、方向、电池类型、侧把手或其他附件的存在、故障、过去应用的历史、切换率、用户输入、外部输入、变速、液压压力、冲击时间、冲击力等。(参见以上表3)。
然后,在过程框1806,电子处理器550将至少一些传感器数据提供给机器学习控制器540。在电子处理器550实施机器学习控制585的实施方式中,电子处理器550可以绕过过程框1806。传送到机器学习控制器540的传感器信息例如基于机器学习控制器540的特定任务而变化。例如,当涉及使用冲击驱动器或液压脉冲工具的紧固操作时,电子处理器550可以传输输出扭矩、反作用力、自上次冲击以来的时间、上次冲击的力、第一次冲击之前的扭矩、液压油的温度、主轴的转速、电动机505的转速、输出扭矩等。
然后,在过程框1808,机器学习控制器540应用一个或多个机器学习算法来确定紧固件是否充分地拧紧(例如紧固)。例如,机器学习控制器540可以应用一个或多个上述的机器学习算法,特别是表2中所示的那些。在一个实施方式中,机器学习控制器540可以应用机器学习算法,该算法被配置为确定或估计完全拧紧紧固件所需地剩余的冲击次数或施加的力。在一些实施方式中,可以基于用户提供的规格认为紧固件被充分地拧紧。在其他实施方式中,可以应用机器学习算法,其确定紧固件是否可能被预拧紧,从而改变所需的启动扭矩和/或根据所提供的规格正确紧固紧固件所需的其他参数。在另一实施方式中,可以应用机器学习算法来评估电动工具500是否被保持为足够稳定以执行期望的操作。例如,来自加速度计、陀螺仪或磁力计的传感器数据可用于评估工具在操作期间(或之前)的稳定性。在又一实施方式中,可以应用机器学习算法来验证机器学习输出的合理性。例如,机器学习算法可以为可用于紧固给定的紧固件的多个脉冲或冲击提供限制。在更进一步的实施方式中,机器学习算法可用于估计随后的脉冲或冲击是否将超过目标扭矩(例如过冲)。
在过程框1810,机器学习控制器540基于传感器数据和来自一个或多个应用的机器学习算法的输出确定操作是否完成。例如,可以在紧固件以足够的扭矩紧固或在随后的冲击或脉冲将超过目标扭矩的情况下完成操作。响应于确定操作已完成,在过程框1812,电子处理器550停止电动工具500的当前操作(例如停止电动机)。在一些示例中,电子处理器550可以启动受控完成(例如,连续操作可能导致过冲事件,例如过度拧紧紧固件)以完成操作。例如,可以对紧固件施加较低速度或力的最终脉冲或冲击以完成操作。
响应于在过程框1810确定操作未完成,在过程框1814,机器学习控制器540确定完成操作所需的内容(例如操作参数)。例如,机器学习控制器540可以确定所需的新的脉冲和/或冲击的次数、所需的能量的量、紧固件的旋转等。在过程框1816,机器学习控制器540然后基于所确定的所需操作参数修改电动工具500的一个或多个参数。然后,电子处理器550在过程框1804继续接收传感器信号。
现在转向图19,示出了根据一些实施方式的实际扭矩与使用与冲击工具一起使用的已知打击计数方法的预测扭矩的对比的数据图1900。曲线图1900中的各个数据点代表实际测量的扭矩值,而线说明了预测的扭矩值。现在转向图20,根据一些实施方式,示出了根据一些实施方式的实际扭矩与使用被配置为分析冲击工具中的锤位置信息的机器学习算法的预测扭矩的对比的数据图2000。如图20所示,机器学习算法能够比图19所示的已知打击计数方法更准确地预测紧固件上的扭矩多达37%。用于生成图19和图20的数据的紧固件和工具类型相同。此外,在图19和图20中,各个数据点代表一个完整的操作。
现在转向图21,示出了根据一些实施方式的使用脉冲工具的甲板螺钉的实际和预测的安装操作的图表2100。由于螺钉和材料(例如木材)的变化,因此甲板螺钉通常是难以安装的紧固件。虽然软接头允许较长的脉冲持续时间,其扭矩可以更容易地确定,但没有固定的扭矩水平适用于甲板螺钉安装,因为扭矩会随每种应用而变化。为了获得图21所示的数据,使用了带有集成负载传感器的液压脉冲工具。负载传感器向确定甲板螺钉是否成功安装的神经网络(如上所述)提供数据。如图22所示,分布图2200示出了甲板螺钉与使用神经网络的期望安装深度的距离通常在小于0.1英寸之内。因此,使用基于负载数据的机器学习算法,甲板螺钉能够使用液压脉冲工具一致地安装。
现在转向图23,示出了根据一些实施方式的分布图2300,其示出了与使用液压脉冲工具来安装螺栓相关联的误差。在与分布图2300相关的实验中,使用一个或多个机器学习算法(如本文所述),采用液压脉冲工具中的负载传感器来预测螺栓连接应用完成后的紧固件扭矩。机器学习算法使用回归技术,从一个脉冲到另一个脉冲累积扭矩估计。如图23所示,机器学习算法能够在+/-5%的误差范围内一致地预测紧固件扭矩。
现在转向图24,示出了根据一些实施方式的使用电钻和相关的机器学习算法的安装的甲板螺钉的距离的分布的分布图2400。如图24所示,机器学习算法可以将大部分甲板螺钉从0英寸以内的差异到大约0.07英寸的差异安装。这优于使用机械或电子离合器的类似操作(包括通过对不同的材料更新离合器设置)。相比之下,在图24所示的测试运行中没有调节任何设置,这仍然优于使用离合器的其他操作,从而表明使用机器学习算法来安装甲板螺钉是成功的。
因此,本文描述的实施方式尤其提供了电动工具和相关的系统,其包括用于控制电动工具或相关系统的特征或功能的机器学习控制器。在所附权利要求中阐述了本发明的各种特征和优点。
Claims (21)
1.一种电动工具,包括:
壳体;
电动机,由所述壳体支撑;
传感器,由所述壳体支撑并被配置为生成指示所述电动工具的操作参数的传感器数据;
电子控制器,所述电子控制器包括电子处理器和存储器,所述存储器包括用于由所述电子处理器执行的机器学习控制程序,所述电子控制器被配置为:
接收所述传感器数据,
使用所述机器学习控制程序处理所述传感器数据,
使用所述机器学习控制程序基于所述传感器数据生成输出,所述输出指示与所述电动工具的紧固操作相关联的安装值,以及
根据生成的所述输出控制所述电动机。
2.根据权利要求1所述的电动工具,其中,所述机器学习控制程序通过基于示例传感器数据和相关输出的训练而在外部系统装置上生成,并且由所述电动工具从所述外部系统装置接收。
3.根据权利要求2所述的电动工具,其中,所述机器学习控制程序是静态机器学习控制程序和可训练机器学习控制程序中的一个。
4.根据权利要求1所述的电动工具,其中,所述安装值指示所述紧固件已经开始安装。
5.根据权利要求4所述的电动工具,其中,所述电子控制器被配置为基于所述安装值指示所述紧固件已经开始安装而降低所述电动机的速度。
6.根据权利要求1所述的电动工具,其中,所述电子控制器被配置为基于所述安装值指示所述紧固件完全安装而停止所述电动工具的所述电动机。
7.一种操作电动工具以控制紧固件的紧固的方法,所述方法包括:
由所述电动工具的传感器生成指示所述电动工具的操作参数的传感器数据;
由所述电动工具的电子控制器接收所述传感器数据,所述控制器包括电子处理器和存储器,其中所述存储器包括用于由所述电子处理器执行的机器学习控制程序;
使用所述机器学习控制器的机器学习控制程序处理所述传感器数据;
使用所述机器学习控制程序基于所述传感器数据生成输出,其中所述输出指示与所述电动工具的紧固操作相关联的紧固值;以及
由所述电子控制器基于所述输出控制所述电动工具的电动机。
8.根据权利要求7所述的方法,其中,所述机器学习控制程序基于示例传感器数据和相关输出而在外部系统装置上生成,并且由所述电动工具从所述外部系统装置接收。
9.根据权利要求8所述的方法,其中,所述机器学习控制程序是静态机器学习控制程序和经训练的机器学习控制程序中的一个。
10.根据权利要求8所述的方法,其中,所述紧固值指示所述紧固件被紧固的水平。
11.根据权利要求8所述的方法,还包括基于所述紧固值指示所述紧固件正在接近目标紧固扭矩而降低所述电动机的速度。
12.根据权利要求8所述的方法,还包括基于所述安装值指示所述紧固件被扭紧到所述目标紧固扭矩而停止所述电动机。
13.根据权利要求8所述的方法,其中,所述操作参数包括以下的一个或多个:旋转的次数、测量的扭矩、特征速度、所述电动工具的电压、所述电动工具的电流、所述电动工具的电力、所选的操作模式、流体温度和工具移动信息。
14.根据权利要求13所述的方法,其中,所述电动工具包括陀螺仪,所述陀螺仪被配置为提供指示工具移动的数据。
15.一种电动工具,包括:
壳体;
电动机,由所述壳体支撑;
传感器,由所述壳体支撑并被配置为生成指示所述电动工具的操作参数的传感器数据;
电子控制器,所述电子控制器包括电子处理器和存储器,所述存储器包括用于由所述电子处理器执行的机器学习控制程序,所述电子控制器被配置为:
接收所述传感器数据,
使用所述机器学习控制程序处理所述传感器数据,
使用所述机器学习控制程序基于所述传感器数据生成输出,所述输出与所述电动工具的一个或多个操作功能相关联,以及
基于生成的所述输出控制所述电动机的速度。
16.根据权利要求15所述的电动工具,其中,所述一个或多个操作功能包括扭紧操作。
17.根据权利要求15所述的电动工具,其中,所述电子控制器被配置为基于所述传感器数据指示所述紧固件正在接近指定的扭矩值而降低所述电动机的速度。
18.根据权利要求15所述的电动工具,其中,所述机器学习控制程序被配置为使用神经网络处理所述传感器数据。
19.根据权利要求18所述的电动工具,其中,所述神经网络被配置为生成与所述电动机的期望速度相对应的多个输出。
20.根据权利要求15所述的电动工具,其中,所述机器学习控制程序通过基于示例传感器数据和相关输出的训练而在外部系统装置上生成,并且由所述电动工具从所述外部系统装置接收。
21.根据权利要求15所述的电动工具,其中,所述机器学习控制程序是静态机器学习控制程序和经训练的机器学习控制程序中的一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962877489P | 2019-07-23 | 2019-07-23 | |
US62/877,489 | 2019-07-23 | ||
PCT/US2020/043231 WO2021016437A1 (en) | 2019-07-23 | 2020-07-23 | Power tool including a machine learning block for controlling a seating of a fastener |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114423568A true CN114423568A (zh) | 2022-04-29 |
Family
ID=74194025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080064439.4A Pending CN114423568A (zh) | 2019-07-23 | 2020-07-23 | 包括用于控制紧固件的安装的机器学习块的电动工具 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20220299946A1 (zh) |
EP (1) | EP4003658A4 (zh) |
CN (1) | CN114423568A (zh) |
AU (1) | AU2020316444A1 (zh) |
CA (1) | CA3147721A1 (zh) |
WO (1) | WO2021016437A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4192654A1 (en) | 2020-08-05 | 2023-06-14 | Milwaukee Electric Tool Corporation | Rotary impact tool |
EP3960410A1 (de) * | 2020-08-26 | 2022-03-02 | Hilti Aktiengesellschaft | Verfahren zur erkennung eines armierungstreffers in einem untergrund, sowie kernbohrgerät und bohrsystem |
US20220121177A1 (en) * | 2020-10-19 | 2022-04-21 | K2Ai, LLC | Smart tool with integrated neural network image analysis |
DE112022002395T5 (de) * | 2021-04-28 | 2024-02-22 | Milwaukee Electric Tool Corporation | Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors |
CN113741573B (zh) * | 2021-08-20 | 2022-11-29 | 东风汽车集团股份有限公司 | 一种电控力矩系统 |
US20230321810A1 (en) * | 2022-03-23 | 2023-10-12 | Milwaukee Electric Tool Corporation | Electronic clutch for power tools |
US20230321796A1 (en) * | 2022-04-11 | 2023-10-12 | Milwaukee Electric Tool Corporation | Power tool with sheet metal fastener mode |
CN115217874B (zh) * | 2022-07-14 | 2023-06-20 | 东风商用车有限公司 | 一种离合器磨损寿命预估系统及方法 |
GB2623526A (en) * | 2022-10-18 | 2024-04-24 | Inductight Ltd | System and method for use in tightening fasteners |
GB2623815A (en) * | 2022-10-28 | 2024-05-01 | Airbus Operations Ltd | Monitoring a mechanical connection |
DE102022211593A1 (de) * | 2022-11-02 | 2024-05-02 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zur Anzeige einer Zielerreichung einer Handwerkzeugmaschine |
CN117197142B (zh) * | 2023-11-07 | 2024-01-30 | 上海诺倬力机电科技有限公司 | 丝杠的降温策略生成方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1398119A1 (en) * | 2002-09-11 | 2004-03-17 | Black & Decker Inc. | Safety cut-off for power tool with rotating tool bit |
US20060155582A1 (en) * | 1992-11-17 | 2006-07-13 | Health Hero Network, Inc. | Modular microprocessor-based power tool system |
CN103687700A (zh) * | 2011-07-21 | 2014-03-26 | 日立工机株式会社 | 电动工具 |
US20160375570A1 (en) * | 2014-01-27 | 2016-12-29 | Robert Bosch Gmbh | Machine Tool Device |
CN110018722A (zh) * | 2018-11-06 | 2019-07-16 | 联想企业解决方案(新加坡)有限公司 | 用于热控制的机器学习装置、系统和方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04336979A (ja) * | 1991-05-15 | 1992-11-25 | Matsushita Electric Works Ltd | 電動工具 |
JP2677181B2 (ja) * | 1993-12-28 | 1997-11-17 | 日産自動車株式会社 | インパクト式ねじ締め装置 |
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 |
US8587230B2 (en) * | 2010-09-28 | 2013-11-19 | Black & Decker Inc. | Method and system for prevention of motor reversal |
DE102012221997A1 (de) * | 2012-05-25 | 2013-11-28 | Robert Bosch Gmbh | Elektrowerkzeug |
JP2017030088A (ja) * | 2015-07-31 | 2017-02-09 | ファナック株式会社 | 機械学習装置、ネジ締付システムおよびその制御装置 |
US10807219B2 (en) * | 2016-09-07 | 2020-10-20 | Milwaukee Electric Tool Corporation | Depth and angle sensor attachment for a power tool |
US11221611B2 (en) * | 2018-01-24 | 2022-01-11 | Milwaukee Electric Tool Corporation | Power tool including a machine learning block |
-
2020
- 2020-07-23 CN CN202080064439.4A patent/CN114423568A/zh active Pending
- 2020-07-23 EP EP20844619.5A patent/EP4003658A4/en active Pending
- 2020-07-23 US US17/056,489 patent/US20220299946A1/en active Pending
- 2020-07-23 WO PCT/US2020/043231 patent/WO2021016437A1/en unknown
- 2020-07-23 CA CA3147721A patent/CA3147721A1/en active Pending
- 2020-07-23 AU AU2020316444A patent/AU2020316444A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060155582A1 (en) * | 1992-11-17 | 2006-07-13 | Health Hero Network, Inc. | Modular microprocessor-based power tool system |
EP1398119A1 (en) * | 2002-09-11 | 2004-03-17 | Black & Decker Inc. | Safety cut-off for power tool with rotating tool bit |
CN103687700A (zh) * | 2011-07-21 | 2014-03-26 | 日立工机株式会社 | 电动工具 |
US20140158390A1 (en) * | 2011-07-21 | 2014-06-12 | Hitachi Koki Co., Ltd. | Electric tool |
US20160375570A1 (en) * | 2014-01-27 | 2016-12-29 | Robert Bosch Gmbh | Machine Tool Device |
CN110018722A (zh) * | 2018-11-06 | 2019-07-16 | 联想企业解决方案(新加坡)有限公司 | 用于热控制的机器学习装置、系统和方法 |
Non-Patent Citations (1)
Title |
---|
谢蓉,等: "《先进控制理论及应用导论》", 31 August 2018, 西北工业大学出版社, pages: 174 * |
Also Published As
Publication number | Publication date |
---|---|
WO2021016437A1 (en) | 2021-01-28 |
EP4003658A4 (en) | 2023-07-26 |
EP4003658A1 (en) | 2022-06-01 |
AU2020316444A1 (en) | 2022-02-17 |
CA3147721A1 (en) | 2021-01-28 |
US20220299946A1 (en) | 2022-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114423568A (zh) | 包括用于控制紧固件的安装的机器学习块的电动工具 | |
CN112055636B (zh) | 包括机器学习块的电动工具 | |
US20210240145A1 (en) | Automatic step bit detection | |
CN213616506U (zh) | 电动工具 | |
EP3578301B1 (en) | Impact rotary tool | |
US11485000B2 (en) | Adaptive impact blow detection | |
CN200988190Y (zh) | 旋转冲击动力工具 | |
US8161613B2 (en) | Method and device for producing screw connections | |
JP6698182B2 (ja) | 電動工具の制御方法、装置及び電動工具 | |
US20150101835A1 (en) | Percussion Unit | |
CN220373192U (zh) | 电动工具 | |
JP7457799B2 (ja) | 手動工作機械を作動させる方法、及び、手動工作機械 | |
US12005540B2 (en) | Power tool including a machine learning block for controlling field weakening of a permanent magnet motor | |
US20240217082A1 (en) | Power tool control for multiple fastener applications | |
CN109414806A (zh) | 具有受控反作用力的电脉冲工具 | |
CN116685439A (zh) | 用于运行手持式工具机的方法 | |
CN111788053A (zh) | 用于电动工具的模拟停滞系统和方法 | |
US20230060846A1 (en) | System and methods for determining crimp applications and reporting power tool usage | |
KR20220041852A (ko) | 휴대용 전동 공구의 작업 진행 상황을 감지하는 방법 | |
CN113561113B (zh) | 智能电动工具及其控制方法 | |
US20240139916A1 (en) | Impact tool including an electronic clutch | |
Juang et al. | Automatic hitting-duration estimation of a rechargeable impact wrench using a fuzzy neural network to reach target toques | |
EP4286100A1 (en) | Electric tool, method for controlling electric tool, and program | |
US12036654B2 (en) | Method for operating a hand-held power tool | |
JP2023546146A (ja) | 手動工作機械を作動させる方法、および、手動工作機械 |
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 |