包括机器反馈控制的联合收割机

文档序号:1580255 发布日期:2020-01-31 浏览:33次 >En<

阅读说明:本技术 包括机器反馈控制的联合收割机 (Combine harvester including machine feedback control ) 是由 李·坎普·雷登 喻文涛 埃里克·艾恩 詹姆斯·迈克尔·弗莱明 于 2018-03-21 设计创作,主要内容包括:一种联合收获机(联合收割机)包括用以在联合收割机行进通过种植场时收获种植物的任何数量的部件。部件采取动作以收获种植物或者有助于收获种植物。联合收割机包括用以在联合收割机收获种植物时测量联合收割机的状态的任何数量的传感器。联合收割机包括用以为部件生成用于收获场中的种植物的动作的控制系统。控制系统包括执行用于提高联合收割机收获种植物的性能的模型的代理。可以通过联合收割机的传感器测量性能提高。该模型是接收测量作为输入并且生成提高性能的动作作为输出的人工神经网络。使用执行器-评价器强化学习技术来训练人工神经网络。(A combine harvester (combine harvester) includes any number of components to harvest plants as the combine harvester travels through a plantation.)

包括机器反馈控制的联合收割机

相关申请的交叉引用

本申请要求于2017年3月21日提交的美国临时申请第62/474,563号和于2017年3月22日提交的美国临时申请第62/475,118号的权益,上述美国临时申请的内容通过引用整体并入本文。

技术领域

本申请涉及用于控制种植场中的联合收割机的系统,并且更具体地涉及使用强化学习方法来控制联合收割机。

背景技术

传统地,联合收割机是手动操作的车辆,其中,机器包括允许操作员控制联合收割机的各种设置的手动输入或数字输入。最近,引入了机器优化程序,试图减少对操作员输入的需求。然而,即使这些算法也未能考虑各种机器和种植场条件,并且因此仍然需要大量的操作员输入。在一些机器中,操作员确定哪个机器性能参数不令人满意(次优或者不可接受),并且然后使用各种控制技术手动单步调试机器优化程序。这个过程需要相当长的时间,并且需要大量的操作员交互和知识。此外,这个过程会阻止操作员在与机器交互的同时监视种植场操作并了解其周围环境。因此,期望一种将提高或保持联合收割机的性能而具有较少操作员交互和注意力分散的联合收割机。

发明内容

一种联合收获机(联合收割机)可以包括用以在联合收割机行进通过种植场时收获种植物的任何数量的部件。部件或者部件的组合可以采取用以收获种植场中的种植物的动作或者有助于联合收割机收获种植场中的种植物的动作。每个部件都耦接至致动器,该致动器对部件进行致动以采取动作。每个致动器都由输入控制器控制,该输入控制器通信地耦接至联合收割机的控制系统。控制系统将作为机器命令的动作发送至输入控制器,使得致动器对它们的部件进行致动。因此,控制系统生成使联合收割机的部件收获种植场中的种植物的动作。

联合收割机还可以包括用于测量联合收割机的状态的任何数量的传感器。传感器通信地耦接至控制系统。状态的测量生成表示联合收割机的配置或者功能的数据。联合收割机的配置是机器的部件的当前设置、速度、分离,位置等。机器的功能是当联合收割机收获种植场中的种植物时部件动作的结果。因此,控制系统接收关于当联合收割机在种植场中收获种植物时的联合收割机状态的测量。

控制系统可以包括代理,该代理为联合收割机的部件生成提高联合收割机性能的动作。提高的性能可以包括使用联合收割机收获种植物的各种度量的量化,所述度量的量化包括收获的植物的量、收获的种植物的质量、吞吐量等。可以使用联合收割机的任何传感器来测量性能。

代理可以包括接收来自联合收割机的测量作为输入并且生成被预测用以提高性能的动作作为输出的模型。在一个示例中,该模型是包括输入层中的多个输入神经单元和输出层中的多个输出神经单元的人工神经网络(ANN)。输入层的每个神经单元通过加权连接被连接至输出层的任意数量的输出神经单元。ANN中的神经单元和加权连接表示根据测量生成用以提高联合收割机性能的动作的函数。ANN中的加权连接使用执行器-评价器强化学习模型来训练。

附图说明

图1A和图1B是根据一个示例的用于处理种植场中的种植物的机器的图示。

图2是根据一个示例实施方式的包括联合收割机的组成部件和传感器的联合收割机的图示。

图3A和图3B是根据一个示例实施方式的用于对被配置成处理种植场中的种植物的机器的部件进行控制的系统环境的图示。

图4是根据一个实施方式的强化学习系统中的代理/环境关系的图示。

图5A至图5E是根据一个实施方式的强化学习系统的图示。

图6是根据一个示例实施方式的人工神经网络的图示,该人工神经网络可用于生成处理植物并提高机器性能的动作。

图7是示出根据一个示例实施方式的用于使用代理340执行模型342来生成用于提高联合收割机性能的动作的方法的流程图,该模型342包括使用执行器-评价器方法训练的人工神经网络。

图8是根据一个示例实施方式的可以用于对处理种植场中的种植物的机器进行控制的计算机的图示。

附图仅出于说明的目的描绘了实施方式。本领域技术人员将从以下描述中容易地认识到,可以采用本文所示的结构和方法的替选实施方式而不脱离本文所述的本发明的原理。

具体实施方式

I.引言

操作(处理)种植场中的种植物的农用机器随时间而被持续改进。农用机器可以包括用于完成收获种植场中的种植物的任务的多个部件。农用机器还可以包括任意数量的传感器,所述传感器进行测量以监视部件的性能、部件的组或者部件的状态。传统地,将测量报告给操作员,操作员可以手动改变农用机器的部件的配置以提高性能。然而,随着农用机器的复杂性增加,操作员越来越难以理解部件中的单个变化如何影响农用机器的整体性能。类似地,因为完成机器任务的各种过程是非线性的并且非常复杂,使得机器系统动态是未知的,因此自动调节机器部件的典型光学控制模型是不可行的。

本文描述的是采用机器学习模型的农用机器,该机器学习模型实时地自动确定影响机器的部件的动作以提高机器的性能。在一个示例中,使用强化学习技术训练机器学习模型。使用强化学习训练的模型擅长识别大的互连数据结构中的模式,在本文中应用于来自农用机器的测量,而无需操作员的输入。该模型可以基于那些识别的模式生成用于农用机器的动作,这些动作被预测以提高机器的性能。因此,描述了执行使用强化学习训练的模型的农用机器,并且允许农用机器以较少的来自操作员的输入来更有效地操作。除了其他益处之外,这有助于例如在操作员也在驾驶农用机器的情况下减少操作员疲劳和注意力分散。

II.种植物处理机器

图1是根据一个示例实施方式的用于处理种植场中的种植物的机器的图示。虽然图示的机器100类似于牵引农用工具的拖拉机,但是系统可以是用于处理种植场中的种植物102的任何种类的系统。例如,系统可以是联合收割机、作物间苗机、播种机、种植机、喷杆式喷雾器等。用于种植物处理的机器100可以包括任何数量的检测机构110、处理部件120(部件)以及控制系统130。机器100还可以包括任何数量的安装机构140、验证系统150、电源、数字存储器、通信装置或者任何其他合适的部件。

机器100用于处理地理区域104内的一个或更多个种植物102。在各种配置中,机器100处理种植物102以调节生长、收获一部分种植物、用液体处理种植物、监测种植物、终止种植物生长、从环境中移除种植物、或者任何其他类型的种植物处理。通常,机器100用部件120直接处理单个种植物102,但是也可以处理多个种植物102、间接处理靠近机器100的一个或更多个种植物102等。此外,机器100可以处理单个植物102的一部分而不是整个种植物102。例如,在各种实施方式中,机器100可以修剪大型种植物的单叶,或者可以从土壤中移除整个种植物。在其他配置中,机器100可以用各种部件120处理种植物102的环境。例如,机器100可以在地理区域104内移除土壤以种植新的种植物、从地理区域104中的土壤中移除不需要的物体等。

种植物102可以是作物,但替选地可以是杂草或者任何其他合适的种植物。作物可以是棉花,但替选地可以是莴苣、大豆、大米、胡萝卜、西红柿、玉米、西兰花、卷心菜、马铃薯、小麦或者任何其他合适的经济作物。使用机器的种植场是室外种植场,但替选地可以是在温室、实验室、种植室、容器组、机器或者任何其他合适的环境内的种植物102。植物102可以以一个或更多个种植物行(例如种植物床)生长,其中种植物行是平行的,但是替选地可以在一组种植物盆中生长,其中种植物盆可以被排列成行或矩阵或随机分布,或者在任何其他合适的配置中生长。种植物行通常间隔2英寸至45英寸(例如从纵向行轴确定),但是替选地可以间隔开任何合适的距离,或者在多行之间具有可变间距。在其他配置中,种植物不是成行生长的。

每个种植场、种植物行或种植场分区内的植物102通常包括相同类型的作物(例如相同属、相同种等),但是替选地可以包括多种作物或者种植物(例如,第一种植物和第二种植物),上述两者均可以独立地被处理。每个种植物102可以包括布置在基质的上部(例如上方)的茎部,其支持种植物的枝、叶和果实。每个种植物102还可以包括位于基质平面以下(例如地下)的连接到茎部的根系,根系支持种植物位置并从基质106吸收营养物和水。种植物可以是维管种植物、非维管种植物、木本种植物、草本种植物、或者任何合适类型的种植物。种植物可以具有单个茎部、多个茎部或任何数量的茎部。种植物可以具有直根系或须根系。基质106是土壤,但替选地可以是海绵或任何其他合适的基质。机器100的部件120可独立地处理任何类型的种植物102、种植物102的任何部分或者基质106的任何部分。

机器100包括被配置成对种植场中的种植物102成像的多个检测机构110。在一些配置中,每个检测机构110被配置成对单行种植物102成像但也可以对地理区域104中的任何数量的种植物成像。随着机器100行进通过地理区域104,检测机构110用以识别各个种植物102或者种植物102的一部分。检测机构110还可以识别地理区域104中的种植物元素102周围的环境元素。检测机构110可以用于控制任何部件120,使得部件120处理所识别的种植物、种植物的一部分或者环境元素。在各种配置中,检测系统110可包括可以进行测量以识别种植物的任何数量的传感器。所述传感器可以包括:多光谱摄像机、立体摄像机、CCD摄像机、单镜头摄像机、高光谱成像系统、LIDAR系统(光检测和测距系统)、透光计、IR摄像机、热摄像机或任何其他合适的检测机构。

每个检测机构110可以距部件120一段距离地耦接至机器100。检测机构110可以静态地耦接至机器100,但也可以可移动地耦接(例如利用可移动的支架)至机器100。通常,机器100包括一些检测机构110,检测机构110被定位成在部件120遇到种植物之前捕获关于种植物的数据,使得种植物可以在被处理之前被识别。在一些配置中,部件120和检测机构110布置成使得检测机构110的中心线(例如,检测机构的视场的中心线)与部件120对准,但是替选地可以布置成使得中心线偏移。其他检测机构110可以布置成观察装置的部件120之一的操作,例如进入种植物储存部件的收获的粮食,或通过分选部件的收获的粮食。

随着机器100行进通过地理区域,机器100的部件120用于处理种植物102。替选地或另外地,即使未被配置成处理植物102,机器100的部件120也可以用以影响机器100的性能。在一些示例中,部件120包括部件120进行处理的有效区域122。处理的效果可以包括种植物坏死、种植物生长刺激、种植物部分坏死或去除、种植物部分生长刺激或者任何其他合适的处理。处理可以包括从基质106中移出种植物102、切断种植物102(例如切割)、给种植物102施肥、浇灌种植物102、将一种或更多种工作液体注入邻近种植物102(例如在距离种植物的阈值距离内)的基质中、收获种植物102的一部分,或者以其他方式处理种植物102。

通常,通过致动器控制每个部件120。每个致动器被配置成定位并激活每个部件120,使得部件120在被指示时处理种植物102。在各种配置中,致动器可以定位部件,使得部件120的有效区域122与要处理的种植物对准。每个致动器与输入控制器通信地耦接,该输入控制器从控制系统130接收指示部件120处理种植物102的机器命令。部件120可以在待机模式与处理模式之间操作,在待机模式中,部件不处理种植物102或者不影响机器100性能,在处理模式中,部件120由致动控制器控制以处理种植物或者影响机器100的性能。然而,部件120可以以任何其他合适数量的操作模式操作。此外,操作模式可以具有被配置成控制种植物102的处理或影响机器的性能的任何数量的子模式。

机器100可以包括单个部件120,或可以包括多个部件。多个部件可以是相同类型的部件,或者是不同类型的部件。在一些配置中,部件可以包括任何数量的处理子部件,这些处理子部件总体上执行单个部件120的功能。例如,配置成向种植物102上喷射处理液体的部件120可以包括子部件例如喷嘴、阀、歧管和处理液体储存器。子部件一起作用以向地理区域104中的植物102上喷射处理液体。在另一个示例中,配置成使种植物102朝向存储部件移动的部件120可以包括子部件例如马达、传送带、容器和升降机。子部件一起作用以使种植物朝向机器100的存储部件移动。

在一个示例配置中,机器100还可以包括安装机构140,该安装机构140用于为各种机器100元素提供安装点。在一个示例中,安装机构140静态地保持并机械地支撑检测机构110、部件120和验证系统150相对于安装机构140的纵轴的定位。安装机构140是底架或框架,但是替选地可以是任何其他合适的安装机构。在一些配置中,可以没有安装机构140,或者可以将安装机构结合到机器100的任何其他部件中。

在一个示例机器100中,系统还可以包括第一组同轴轮,该组的每个轮沿着安装机构140的相对侧布置,并且还可以包括第二组同轴轮,其中第二组轮的旋转轴线与第一组轮的旋转轴线平行。然而,系统可以包括任何合适配置的任何合适数量的车轮。机器100还可以包括耦接机构142例如挂钩,耦接机构142用于可移动地或者静态地耦接至驱动机构例如拖拉机,更多地耦接至驱动机构的后部(使得将机器100拖在驱动机构后面),但是替选地耦接至驱动机构的前部或者耦接至驱动机构的侧面。替选地,机器100可以包括驱动机构(例如,耦接至第一组车轮和/或第二组车轮的马达和传动系)。在其他示例系统中,系统可以具有穿过种植场的任何其他手段。

在一些示例系统中,可以将检测机构110安装至安装机构140,使得检测机构110在部件120穿过地理位置之前穿过地理位置。在机器100的一个变型中,将检测机构110静态地安装到部件120附近的安装机构140。在包括验证系统150的变型中,将验证系统150布置在检测机构110的远侧,部件120被布置在验证系统150与检测机构110之间,使得验证系统150在部件120之后穿过地理位置。然而,安装机构140可以将系统部件的相对位置保持成任何其他合适的配置。在其他系统中,可以将检测机构110结合到机器100的任何其他部件中。

机器100可以包括验证系统150,该验证系统150用于记录系统、基质、地理地区和/或地理区域中的植物的测量。所述测量用于验证或者确定系统的状态、环境的状态、状态基质、地理地区或机器100的植物处理程度。在一些配置中,验证系统150可以记录由验证系统进行的测量和/或访问验证系统150先前进行的测量。当机器100处理植物102时,验证系统150可用于经验性地确定部件120操作的结果。在其他配置中,验证系统150可以访问来自传感器的测量并根据该数据获得另外的测量。在机器100的一些配置中,验证系统150可以包括在系统的任何其他部件中。验证系统150可以与检测机构110基本类似,或者与检测机构110不同。

在各种配置中,验证系统150的传感器可以包括:多光谱摄像机、立体摄像机、CCD摄像机、单镜头摄像机、高光谱成像系统、LIDAR系统(光检测和测距系统)、透视计、IR摄像机、热像仪、湿度传感器、光传感器、温度传感器、速度传感器、转速传感器、压力传感器或任何其他合适的传感器。

在一些配置中,机器100还可以包括电源,该电源用于为系统部件供电,所述系统部件包括:检测机构100、控制系统130和部件120。电源可以安装到安装机构140、可以可移除地耦接至安装机构140,或者可以与系统分离(例如位于驱动机构上)。电源可以是:可再充电电源(例如可再充电电池组)、能量收集电源(例如太阳能系统)、燃料消耗电源(例如燃料电池组或内燃系统),或者任何其他合适的电源。在其他配置中,电源可以结合到机器100的任何其他部件中。

在一些配置中,机器100还可以包括通信装置,该通信装置用于在控制系统130、识别系统110、验证系统150与部件120之间传输(例如发送和/或接收)数据。通信设备可以是Wi-Fi通信系统、蜂窝通信系统、短程通信系统(例如蓝牙、NFC等)、有线通信系统或者任何其他合适的通信系统。

III.联合收割机

在一个示例性实施方式中,机器100是行进通过地理种植场并收获种植物102的农用联合收割机(联合收割机)。联合收割机的部件120被配置成当机器100行进通过地理区域104中的植物102时收获种植场中的一部分植物。该联合收割机包括各种检测机构110和验证系统150,以在联合收割机行进通过地理区域时监测该联合收割机的收获性能。收获性能可以由控制系统130使用来自机器100的各种传感器的任何测量来量化。在各种配置中,性能可以基于以下度量,所述度量包括:收获的种植物的量、种植物的脱粒质量、收获的粮食的清洁度、联合收割机的吞吐量和联合收割机的种植物损失。

图2是根据一个示例实施方式的示出联合收割机200部件120、验证系统110以及验证系统150的示例联合收割机200,在此示出为收割机。联合收割机200包括底架202,底架202支承在车轮204上,以通过地面被驱动并收获作物(种植物102)。车轮204可以直接与地面接合,或者它们可以驱动环形履带。进料室206从农用联合收割机200的前部延伸。进料室提升缸207在农用联合收割机200的底架与进料室之间延伸,以相对于地面升高和降低进料室(并因此升高和降低农用收获头208)。农用收获头208支承在进料室206的前部。当农用联合收割机200运行时,它携带进料室206穿过种植场来收获作物。进料室206将由农用收获头208收集的作物向后输送并进入农用联合收割机200的主体中。

作物一进入农用联合收割机200就被输送到分离器中,该分离器包括柱形的转子210以及脱粒桶或脱粒筐212。脱粒筐212围绕转子210并且是静止的。转子210由可控内燃机214驱动旋转。在一些配置中,转子210包括分离器叶片,该分离器叶片包括进入转子210鼓的一系列延伸,其当转子210旋转时将作物物料从转子210的前部引导至转子210的后部。分离器叶片相对于作物流进转子而成叶片角度。分离器叶片角度可由致动器控制。叶片角度可影响到达脱粒筐212的粮食的量和质量。脱粒筐112围绕转子110并且是静止的。作物物料被输送到转子110与脱粒筐112之间的间隙中并被脱粒并被分离成粮食分量和MOG(除粮食之外的物料)分量。转子210和脱粒筐212之间的距离(脱粒间隙距离)可由致动器控制。脱粒间隙距离空隙会影响收获的种植物的质量。也就是说,改变脱粒间隙距离可以改变未脱粒的种植物、除粮食之外的物料和由机器100处理的可用粮食的相对量。

MOG被向后运送并在转子210与脱粒筐212之间释放。然后由再脱粒机216接收,在再脱粒机216处释放剩余的粮食粒。现在分离的MOG被释放在车辆后面以落在地面上。

在分离器中分离的大部分粮食(和一些MOG)穿过脱粒筐212中的孔而下落。从那里落入清粮器218中。

清粮器218具有两个筛:上筛220和下筛222。每个筛包括允许粮食和MOG下落的筛分离,并且筛分离可由致动器控制。筛分离可以影响落向清粮器218的粮食的质量和类型。将可由致动器控制的风扇224设置在清粮器的前部,以在筛的下方向后吹送空气。该空气向上穿过筛并吹起谷壳、稻壳、秆以及其他小颗粒的MOG(以及一小部分粮食)。空气将这种物料向后运送至筛的后端。马达225驱动风扇224。

然而,进入清粮器218的大部分粮食不是向后运送,而是向下通过穿过上筛220,然后穿过下筛222。

通过来自风扇224的空气运送到筛的后部的物料中较小的MOG颗粒从联合收割机的后部被吹出。较大的MOG颗粒和粮食不会从联合收割机的后部被吹出,而是从清粮器218掉落并且落在位于清粮器218的左侧的被配置成检测清粮器218左侧的清粮器损失的清粮器损失传感器221上,以及落在位于清粮器218右侧的被配置成检测清粮器218右侧的清粮器损失的清粮器损失传感器223上。清粮器损失传感器223可以提供指示在从清粮器218的右侧掉落的情况下运送至清粮器后部的物料(其可以包括混合在一起的粮食和MOG)量的信号。

运送至上筛220和下筛222后部的较重物料落到盘上,然后通过重力向下输送到螺旋推运器槽227中。这种较重的物料称为“尾料”,通常是粮食和MOG的混合物。

通过上筛220和下筛222的粮食向下落入螺旋推运器槽226中。通常,上筛220具有比下筛222更大的筛分离,使得上筛220过滤出较大的MOG并且下筛222过滤出较小的MOG。通常,穿过两个筛的物料与MOG相比具有更高比例的清洁粮食。设置在螺旋推运器槽226中的清洁粮食螺旋推运器228将物料运送至农用联合收割机200的右侧,并将粮食沉积在粮食升降机215的下端。将由粮食升降机215抬升的粮食向上运送,直到它到达粮食升降机215的上出口。然后粮食从粮食升降机215中释放并落入粮箱217中。可以测量进入粮箱216的粮食的各种特性,所述特征包括:数量、质量、体积、清洁度(MOG的量和质量(可用粮食的量)。

III.控制系统网络

图3A和3B是根据一个示例实施方式的网络环境300的高级图示。机器100包括网络数字数据环境,该网络数字数据环境经由网络310连接控制系统130、检测系统110、部件120和验证系统150。

在环境300内连接的各种元件包括任何数量的输入控制器320和传感器330,以在环境300内接收和生成数据。输入控制器320被配置为经由网络310(例如从其他传感器330,例如与检测系统110相关的传感器)或从其关联的传感器330接收数据,并且控制(例如致动)其关联的部件120或关联的传感器330。广义地,传感器330被配置成生成表示机器100的配置或者功能的数据(即,测量)。如本文所提及的,机器100的“功能”在广义上是当机器100处理地理区域中的种植物102(采取动作)时部件120动作的结果。另外,如本文所提及的,机器100的“配置”在广义上是当机器100采取动作时部件120a的当前速度、位置、设置、致动水平、角度等。更一般地并且如本文所提及的,部件120或机器100的配置和/或功能的测量可以是机器100的“状态”的测量。即,各种传感器330可以监测部件120、地理区域104、种植物102、机器100的状态、或机器100的任何其他方面。

在控制系统130上运行的代理340将经由网络330接收的测量输入到控制模型342中作为状态矢量。状态矢量的元素可以包括根据测量生成的系统的功能或状态的数值表示。控制模型342生成由模型342预测的机器100的动作矢量,以提高机器100的性能。动作矢量的每个元素可以是系统可以采取以处理植物、处理环境或者以其他方式影响机器100的性能的动作的数值表示。控制系统130基于动作矢量的元素将机器命令发送至输入控制器320。输入控制器接收机器命令并致动其部件120以采取动作。通常,该动作导致机器100性能的提高。

在一些配置中,控制系统130可以包括接口350。接口350允许用户与控制系统130交互并控制机器100的各个方面。通常,接口350包括输入装置和显示装置。输入装置可以是被配置成接收来自系统的用户的输入的键盘、按钮、触摸屏、杆、手柄、按钮、转盘、电位计、可变电阻器、轴编码器或者其他装置或装置的组合中的一个或更多个。显示装置可以是被配置成将关于系统的信息提供给系统的用户的CRT、LCD、等离子体显示或者其他显示技术或显示技术的组合。接口可用于控制代理340和模型342的各个方面。

网络310可以是能够在环境300内的元素之间传达数据和信息的任何系统。在各种配置中,网络310是有线网络、无线网络或者混合的有线和无线网络。在一个示例实施方式中,网络是控制器局域网(CAN),并且环境300内的元素通过CAN总线彼此通信。

III.A示例控制系统网络

再次参照图3A。图3A示出了机器100的环境300A的示例实施方式。在该示例中,控制系统130连接至第一部件120A和第二部件120B。第一部件120A包括输入控制器320A、第一传感器330A和第二传感器330B。输入控制器320A从网络系统310接收机器命令并且致动部件120A作为响应。在处理植物时,第一传感器330A生成表示部件120A的第一状态的测量,第二传感器330B生成表示第一部件120A的配置的测量。第二部件120B包括输入控制器320B。控制系统130连接至检测系统110,检测系统110包括被配置成生成用于识别植物102的测量的传感器330C。最后,控制系统130连接至包括输入控制器320C和传感器330D的验证系统150。在这种情况下,输入控制器320C接收控制传感器330D的位置和感测功能的机器命令。传感器330D被配置成生成表示部件120B的功能的数据,部件120B的功能影响机器100的性能。

在各种其他配置中,机器100可以包括任何数量的检测系统110、部件120、验证系统150和/或网络310。因此,环境300A可以以除图3A中示出的方式以外的方式被配置。例如,环境300可以包括任何数量的部件120、验证系统150以及检测系统110,其中,每个元素包括输入控制器320和/或传感器330的各种组合。

III.B收割机控制系统网络

图3B是根据一个示例实施方式的在图2中示出的联合收割机200的网络环境300B的高级图示。在该图示中,为了清楚起见,环境300B的元素被分组为输入控制器320和传感器330而不是其组成元件(部件120、验证系统150等)。

传感器330包括:分离器损失传感器219、清粮器损失传感器221/223、转子速度传感器360、脱粒间隙传感器362、粮食产率传感器364、尾料传感器366、脱粒载荷传感器368、粮食质量传感器370、秸秆质量传感器374、收割台高度传感器376和进料室质量流量传感器378,但是也可以包括可以确定联合收割机200的状态的任何其他传感器330。

分离器损失传感器219可以提供运送到分离器后部的粮食量的测量。在一种配置中,分离器损失传感器219位于转子210和脱粒筐212的末端。在一种配置中,分离器损失传感器还可以包括脱粒损失传感器。脱粒损失传感器可以提供脱粒后损失的粮食量的测量。在一种配置中,脱粒损失传感器位于脱粒筐212附近。

清粮器损失传感器221和223可以提供表示运送到清粮器的后部并且从清粮器218的侧面(分别为左侧和右侧)掉落的物料(其可以包括混合在一起的粮食和MOG)量的测量。清粮器损失传感器位于清粮器的末端。

转子速度传感器360可以提供表示转子210的速度的测量。转子210旋转得越快,给粮食脱粒越快。同时,当转子转动得较快时,会损坏较大比例的粮食。因此,通过改变转子速度,粮食脱粒的比例和受损粮食的比例可以改变。在一种配置中,转子速度传感器360可以是轴速传感器并直接测量转子210的速度。

在另一种配置中,转子速度传感器360可以是累积地提供表示转子210的速度的测量的其他传感器的组合。例如,传感器包括用于流体流动通过驱动转子210的液压马达的液压流体流速传感器,或与指示内燃机214与转子210之间的齿轮系的选定传动比的另一测量结合的内燃机214速度传感器,或能够向驱动转子210的液压马达提供液压流体的液压马达的斜盘位置传感器和轴速度传感器。

脱粒间隙传感器362可以提供表示转子210与脱粒筐212之间的间隙的测量。当间隙减小时,种植物被更剧烈地脱粒,以减少分离器损失。同时,减小的间隙会对粮食产生更大的损坏。因此,通过改变脱粒间隙,可以改变分离器损失和粮食损坏的量。在另一种配置中,脱粒间隙传感器362还包括分离器叶片传感器。分离器叶片传感器可以提供表示叶片角度的测量。叶片可以增加或减少被脱粒种植物的量,并因此可以减少分离器损失。同时,叶片角度会对粮食产生更大的破坏。因此,通过改变叶片角度,可以改变分离器损失和粮食损坏的量。

粮食产率传感器364可以提供表示清洁粮食流速的测量。粮食产率传感器可以包括冲击传感器,该冲击传感器位于粮食升降机215的出口附近,在此处,粮食进入粮箱217中。在这种配置中,粮食升降机215中向上运送的粮食以相当于粮食进入粮箱的质量流率的力冲击粮食产率传感器364。在另一种配置中,粮食产率传感器364耦接至驱动粮食升降机215的马达(未示出),并且可以提供表示马达上的载荷的测量。马达上的载荷表示由粮食升降机215向上运送的粮食的量。在另一种配置中,可以通过测量通过马达的电流和/或马达上的电压(在电动马达的情况下)来确定马达上的载荷。在另一种配置中,马达可以是液压马达,并且可以通过测量到马达的流体流率和/或马达上的液压来确定马达的载荷。

尾料传感器366和粮食质量传感器370均可以提供表示粮食质量的测量。测量可以是以下中的一个或更多个:表示可用粮食的量或比例的测量、表示受损粮食(例如破碎的或损坏的粮食粒)的量或比例的测量、表示与粮食混合的MOG的量或比例的测量(其可进一步表征为不同类型的MOG例如轻MOG或重MOG的量或比例)、以及表示未脱粒粮食的量或比例的测量。

在一种配置中,粮食质量传感器370位于清洁粮食螺旋推运器228与粮箱217之间的粮食流动路径中。即,粮食质量传感器370位于粮食升降机215附近,并且,更具体地,粮食质量传感器370定位成接收来自粮食升降机215的粮食样本并且感测从粮食升降机215采样的粮食的特征。

在一种配置中,尾料传感器366位于尾料螺旋推运器229与转子210的前端之间的粮食流动路径中,其中尾料从尾料升降机231释放并且沉积在转子210与脱粒筐212之间用于再脱粒。也就是说,尾料传感器366位于尾料升降机231附近,并且更具体地,尾料传感器366定位成接收来自尾料升降机231的粮食样本并且感测来自尾料升降机231的粮食的特征。

脱粒载荷传感器368可以提供表示脱粒载荷(即施加到转子210的载荷)的测量。在一种配置中,脱粒载荷传感器368包括液压传感器,该液压传感器设置成对驱动转子210的马达中的压力进行感测。在另一种配置中,(在由皮带和滑轮驱动的转子210的情况下),脱粒载荷传感器368包括被配置成感测施加到转子210的后端处的可变直径滑轮的液压的传感器,并且通过该传感器,转子210耦接至驱动皮带并由驱动皮带驱动。在另一种配置中,脱粒载荷传感器368可以包括被配置成感测驱动转子210的轴中的扭矩的扭矩传感器。

在一种配置中,尾料传感器366和粮食质量传感器370二者都包括被配置成捕获粮食样本的图像的数字摄像机。在这种情况下,控制系统130或尾料传感器366可以被配置成解读所捕获的图像并确定粮食样本的质量。

秸秆质量传感器374可以提供表示离开联合收割机200的秸秆(例如MOG)的质量的至少一个测量。“秸秆的质量”表示在联合收割机200后面积攒的秸秆和/或秸秆堆的物理特性(或多个特性)。在世界的某些地区,将通常聚集成堆的秸秆随后收集并出售或使用。秸秆和/或秸秆堆的尺寸(长度、宽度和高度)可以是确定其价值的因素。例如,短秸秆对于用作动物饲料特别有价值。长秸秆对于用作动物草垫特别有价值。长秸秆能够形成高大、开阔、通风的堆。这些堆在场地中干燥得较快(由于它们高于地面)并且被打包机提升,其中具有较少的来自地面的泥土和其他污垢物。

在一种配置中,秸秆质量传感器374包括摄像机,该摄像机朝向联合收割机的后部以在秸秆离开联合收割机并悬停在空气中以落向地面时拍摄秸秆的图片,或者拍摄由落下的秸秆产生的堆的图片。在这样的配置中,秸秆质量传感器374或者控制系统130可以被配置成访问或接收来自摄像机的图像、处理它并表征秸秆长度或表征由在联合收割机200后面的地面上的秸秆产生的堆的尺寸。在另一种配置中,秸秆质量传感器374包括范围检测器,例如朝向秸秆的可以确定秸秆和/或秸秆堆的尺寸的激光扫描器或超声传感器。

收割台高度传感器376可以提供表示农用收获头208相对于地面的高度的测量。在一种配置中,收割台高度传感器376包括耦接有延长臂的旋转传感器元件,例如轴编码器、电位计或可变电阻器。臂的远端在地面上拖曳,并且当农用收获头208的高度变化时,臂改变其角度并使旋转传感器元件旋转。在另一种配置中,收割台高度传感器376包括超声波或激光测距仪。

进料室质量流量传感器378可以提供表示吸入进料室并进入农用联合收割机200本身的作物垫的厚度的测量。通常,作物质量与作物产率(即粮食产率)之间存在相关性。控制系统130可以被配置成通过将来自收割台高度传感器376的测量和来自进料室质量流量传感器378的测量与存储在控制系统130的存储器电路中的农艺表组合在一起来计算粮食产率。这样的配置可以另外用于或替选地用于来自粮食产量传感器364的测量,以提供表示清洁粮食的流速的测量。

联合收割机速度传感器372是可以提供表示地理区域104中的联合收割机的速度的测量的传感器的任何组合。速度传感器可以包括GPS传感器、发动机载荷传感器、加速度计、陀螺仪、齿轮传感器或者可以确定速度的任何其他传感器或传感器的组合。

输入控制器340包括上筛控制器380、下筛控制器382、转子速度控制器384、风扇速度控制器386、车辆速度控制器388、脱粒间隙控制器390和收割台高度控制器392,但是还可以包括可以控制部件120、识别系统110或验证系统150的任何其他输入控制器。每个输入控制器340通信地耦接至致动器,该致动器可以对其所耦接的元件进行致动。通常,输入控制器可以从控制系统130接收机器命令并且利用致动器致动部件120作为响应。

上筛控制器380耦接至上筛220并且被配置成改变包括上筛220的各个筛元件(板条)的角度。通过改变各个筛元件的位置(角度),可以使通过上筛220的空气量变化,以增加或减少(根据需要)筛分粮食的活力。

下筛控制器382耦接至下筛222并且被配置成改变包括下筛222的各个筛元件(板条)的角度。通过改变各个筛元件的位置(角度),可以使通过下筛222的空气量变化,以增加或减少(根据需要)筛分粮食的活力。

转子速度控制器384耦接至位于内燃机214与转子210之间的可变驱动元件。这些可变驱动元件可以包括:齿轮箱、齿轮组、液压泵、液压马达、发电机、电子马达、具有可变工作直径的滑轮、皮带、轴、皮带变速器、IVT、CVT等(以及它们的组合)。转子速度控制器384控制可变驱动元件并且被配置成改变转子210的速度。

风扇速度控制器386耦接至设置在内燃机214与风扇224之间的可变驱动元件,以驱动风扇224。这些可变驱动元件可以包括:齿轮箱、齿轮组、液压泵、液压马达、发电机、电子马达、具有可变工作直径的滑轮、皮带、轴、皮带变速器、IVT、CVT等(以及它们的组合)。风扇速度控制器386被配置成控制可变驱动元件以改变风扇224的速度。这些可变驱动元件在图1中象征性地示出为马达225。

车辆速度控制器388耦接至位于内燃机214与一个或更多个车轮204之间的可变驱动元件。这些可变驱动元件可以包括耦接至车轮204以驱动车轮204旋转的液压马达或电动马达。车辆速度控制器388被配置为控制可变驱动元件,该可变驱动元件又通过改变流过驱动车轮204旋转的马达的液压流或电流以及/或者通过改变耦接在马达和车轮204之间的变速箱的齿轮比来控制车轮204的速度。车轮204可以直接搁置在地面上,或者它们可以搁置在设置在车轮与地面之间的循环环形履带或皮带上。

脱粒间隙控制器390耦接至一个或更多个脱粒间隙致动器391、394,脱粒间隙致动器391、394耦接至脱粒筐212。脱粒间隙控制器被配置成改变转子210与脱粒筐212之间的间隙。替选地,脱粒间隙致动器391耦接至脱粒筐212,以改变脱粒筐212相对于转子210的位置。致动器可以包括旋转作用类或线性作用类的液压马达或电动马达。

收割台高度控制器392耦接到阀(未示出),该阀控制流入进料室提升缸207的液压液体和从进料室提升缸207流出的液压液体的流动。收割台高度控制器392被配置成通过选择性地升高和降低进料室来控制进料室并且因此控制农用收获头208。

IV.控制系统代理

如上所述,控制系统130执行可以实时控制机器100的各种部件120的代理340,并且用于提高该机器100的性能。通常,代理340是可以接收来自机器100的传感器340的测量并且为耦接至机器100的部件120的输入控制器330生成机器命令的任何程序或方法。所生成的机器命令使输入控制器330致动部件120并改变它们的状态,并因此改变它们的性能。部件120的改变的状态提高了机器100的整体性能。

在一个实施方式中,可以将在控制系统130上执行的代理340描述为执行以下函数:

Figure BDA0002271501570000161

其中s是输入状态矢量,a是输出动作矢量,并且函数F是机器学习模型,该机器学习模型用于生成提高给定输入状态矢量的机器100的性能的输出动作矢量。

通常,输入状态矢量s是从机器100的传感器320接收的测量的表示。在一些情况下,输入状态矢量s的元素是测量本身,而在其他情况下,控制系统130使用输入函数I根据测量M确定输入状态矢量s,例如:

Figure BDA0002271501570000171

其中,输入函数I可以是能够将来自机器100的测量转换为输入函数I的元素的任何函数。在一些情况下,输入函数可以计算输入状态矢量与先前输入状态矢量(例如在较早的时间步)之间的差异。在其他情况下,输入函数可以处理输入状态矢量,使得它与函数F兼容(例如移除错误、确保元素在边界内等)。

另外地,输出动作矢量a是机器命令c的表示,该机器命令c可以被发送至机器100的输入控制器320。在一些情况下,输出动作矢量a的元素是机器命令,而在其他情况下,控制系统130使用输出函数O根据输出动作矢量a确定机器命令:

Figure BDA0002271501570000172

其中输出函数O可以是能够将输出动作矢量转换为输入控制器320的机器命令的任何函数。在一些示例中,输出函数可以用于确保所生成的机器命令在它们的相应部件120的容限内(例如不会旋转得太快、不要开口太宽等)。

在各种其他配置中,机器学习模型可以使用任何函数或方法来对机器100的未知动态建模。在这样的情况下,代理340可以使用动态模型342来动态地生成用于控制机器100的机器命令并且提高机器100性能。在各种配置中,模型可以是以下任何一种:函数逼近器、概率动力学模型例如高斯过程、神经网络、任何其他类似模型。在各种配置中,可以使用以下任何一种方法来训练代理340和模型342:Q学习方法、状态-动作-状态-奖励方法、深度Q网络方法、执行器-评价器方法、或者训练代理340和模型342使得代理340可以基于模型442控制机器100的任何其他方法。

在机器100是联合收割机200的示例中,性能可以由任何度量组表示,所述度量组包括以下中的一个或更多个:收获的种植物的量的测量、种植物的脱粒质量、收获的粮食的清洁度、联合收割机的吞吐量和联合收割机的种植物损失。收获的种植物的量可以是进入粮箱217的粮食量,脱粒质量可以是在脱粒筐212中脱粒后种植物的量、质量或损失,收获的粮食的清洁度可以是进入粮箱的种植物的质量,联合收割机的吞吐量可以是在一段时间内进入粮箱217的粮食的量,并且粮食损失可以是在收获的各个阶段处损失的粮食的量。如前所述,性能可以由控制系统130使用来自联合收割机的任何传感器330的测量来确定。因此,在本发明的特定实施方式中,提高机器100性能可以包括改进这些度量中的任一个或更多个,如通过从机器100接收关于这些度量中的任一个或更多个的改进测量所确定的。

V强化学习

在一个实施方式中,代理340可以执行模型342,该模型342包括已经用强化学习训练过的确定性方法(从而创建强化学习模型)。使用来自传感器330的测量作为输入以及输入控制器320的机器命令作为输出来训练模型342以提高机器100的性能。

强化学习是机器学习系统,其中机器学习“做什么”——如何将情况映射到动作——以便使数值奖励信号最大化。学习者(例如机器100)不被告知要采取哪些动作(例如,为部件120的输入控制器320生成机器命令),而是通过尝试来发现哪些动作产生最大的奖励(例如,提高收获的粮食的质量)。在某些情况下,动作不仅会影响即时奖励,还会影响接下来的情况,并通过那样影响所有后续奖励。这两个特征——试错法搜索和延迟奖励——是强化学习的两个显著特征。

强化学习不是通过表征学习方法来定义的,而是通过表征学习问题来定义的。基本上,强化学习系统捕获了学习代理与其环境相互作用以实现目标所面临的问题的那些重要方面。也就是说,在联合收割机的示例中,当联合收割机200收获种植场中的种植物时强化学习系统捕获联合收割机200的系统动态。这样的代理感知环境的状态并采取影响状态的动作以实现一个或更多个目标。在最基本的形式中,强化学习的建立对于学习者包括三个方面:感知、动作和目标。继续以联合收割机200为例,联合收割机200利用传感器感测环境状态、利用机器命令在该环境中采取动作,并实现作为在收获谷类作物时联合收割机性能的测量的目标。

强化学习中出现的挑战之一是探索与利用之间的权衡。为了提高系统中的奖励,强化学习代理偏好于它过去尝试过并且发现可以有效地产生奖励的行为。但是,为了发现产生奖励的动作,学习代理选择之前未选择过的动作。代理“利用”它已经知道的信息来获得奖励,但是它也“探索”信息以在将来做出更好的动作选择。学习代理尝试各种动作,并逐步偏向于那些呈现为最佳的动作,同时仍然在尝试新的动作。在随机任务中,通常每个动作被多次尝试以获得对其期望奖励的可靠估计。例如,如果联合收割机正在执行知道特定联合收割机速度产生良好的系统性能的代理,则代理可以利用机器命令改变联合收割机速度以查看速度的变化是否影响系统性能。

此外,强化学习考虑了定向目标的代理与不确定性环境交互的整个问题。强化学习代理具有明确的目标,可以感知其环境的方面,并且可以选择动作以接收高的奖励(即提高系统性能)。此外,尽管面临的环境存在很大的不确定性,但代理通常仍在操作。当强化学习涉及规划时,系统解决了规划与实时动作选择之间的相互作用,以及如何获取和改进环境元素的问题。为了使强化学习取得进步,必须分离并研究重要的子问题,子问题在完整的、交互性的、寻求目标的代理中发挥着明确的作用。

V.A代理-环境接口

强化学习问题是处理交互并且执行动作以实现目标的机器学习问题的框架。学习者和决策者被称为代理(例如联合收割机200的代理340)。所交互的事物(包括除代理之外的所有事物)被称为环境(例如环境300、植物102、地理区域104、联合收割机过程的动态等)。这两种交互持续,代理选择动作(例如输入控制器320的机器命令)和对那些动作的环境响应并向代理呈现新情况。环境还会产生奖励,代理尝试在一段时间内最大化的特殊数值。在一个上下文中,奖励用于随时间使系统性能最大化。环境的完整规范定义了作为强化学习问题的一个实例的任务。

图4示出了代理-环境交互。更具体地,代理(例如联合收割机200的代理340)和环境在一系列离散时间步中的每个离散时间步处即在t=0,1,2,3等处的交互。在每个时间步t处,代理接收环境的状态st(例如来自表示机器100的状态的传感器的测量)的一些表示。状态st在S内,其中S是可能状态的集合。基于状态st和时间步t,代理选择动作at(例如,改变部件120的配置的机器命令集合)。动作at在A(st)内,其中A(st)是可能动作的集合。一个时间状态之后,部分由于其动作,代理接收数值奖励rt+1。状态rt+1在R内,其中R是可能的奖励的集合。一旦代理收到奖励,则代理就会选择新的状态st+1

在每个时间步处,代理实现从状态到选择每个可能动作的概率的映射。该映射称为代理的策略,并且被表示为πt,其中πt(s,a)是如果st=s则at=a的概率。强化学习方法可以指定代理如何根据代理动作产生的状态和奖励来更改其策略。代理的目标是使其随时间接收到的奖励总额最大化。

该强化学习框架是灵活的,并且可以以许多不同的方式应用于许多不同的问题(例如应用于在种植场操作的农用机器)。该框架提出,无论感知、存储器和控制装置的细节如何,学习定向目标行为的任何问题(或目标)都可以减少为在代理及其环境之间来回传递的三个信号:一个信号表示由代理做出的选择(动作);一个信号表示做出选择的基础(状态);以及一个信号来定义代理的目标(奖励)。

继续,动作和状态测量之间的时间步不需要涉及固定的实时间隔;他们可以涉及决策做出和动作的任意连续阶段。这些动作可以是低级别控制,例如施加到联合收割机的马达的电压,或者高级别决策,例如是否用播种机种植种子。同样,状态可以采取多种形式。它们可以完全由低级别感知确定,例如直接传感器读数,或者它们可以是更高级别的,例如土壤质量的符号描述。状态可以基于先前的感知或者甚至是主观的。类似地,动作可以基于先前的动作、策略、或者可以是主观的。通常,动作可以是代理学习如何取得奖励的任何决策,并且状态可以是代理可以知道的在选择这些动作时可能有用的任何事物。

另外地,代理和环境之间的边界通常不仅仅是物理的。例如,农用机器的某些方面例如传感器330,或其操作的种植场,可以被认为是环境的一部分而不是代理的一部分。通常,任何不能由代理自行决定来改变的内容都被视为是代理的外部和环境的一部分。代理-环境边界表示代理的绝对控制的限制,而不是代理的知识的限制。例如,农用机器的车胎的尺寸可以是环境的一部分,因为它不能被代理改变,但是车胎所在的轴的旋转角度可以是代理的一部分,因为它在由机器的传动系统的致动可控制的情况下是可以改变的。另外,农用机器操作的土壤的湿度可以是环境的一部分,特别是如果该湿度在农用机器通过土壤之前被测量的情况下;然而,如果农用机器被配置成在通过该部分土壤之后以及在将水或另一种液体施加到土壤之后测量湿度/水分,则土壤的湿度或水分也可以是代理的一部分。类似地,奖励在农用机器和人工学习系统的物理实体内被计算,但被认为在代理外部。

出于不同的目的,代理-环境边界可以位于不同的地方。在农用机器中,许多不同的代理可以同时运行,每个代理都有自己的边界。例如,一个代理可以做出高级别决策(例如增加种子种植深度),这些高级别决策形成了实现高级别决策的低级别代理(例如控制播种机中的气压的代理)所面临的状态的一部分。在实践中,代理-环境边界可以基于状态、动作和奖励来确定,并且可以与感兴趣的特定决策做出任务相关联。

特定状态和动作根据应用而变化很大,并且如何表示它们才可以强烈地影响所实现的强化学习系统的性能。

VI强化学习方法

在该部分描述用于强化学习的各种方法。任何这些方法的任何方面都可以应用于在种植场中操作的农用机器内的强化学习系统。通常,代理是在种植场中操作的机器,并且环境是机器的元素并且种植场不受机器直接控制。状态是环境以及机器如何在环境中交互的测量;动作是代理为影响状态而采取的决策和动作;结果是状态的改进(或减少)的数值表示。

VI.A动作价值和状态价值函数

增强学习模型可以基于估计状态价值函数或者动作价值函数。状态或状态-动作对的这些函数估计处于给定状态的代理的值(或者在给定状态下执行给定动作的价值有多大)。“价值”的概念是根据代理可以期望的未来奖励来定义的,或者根据代理的期望回报来定义的。代理可以期望在未来接收到的奖励取决于它将采取什么动作。因此,关于特定策略定义了价值函数。

回想到,策略π是从每个状态s∈S和动作a∈A(或a∈A(s))到在状态s中采取动作a的概率π(s,a)的映射。给定这些定义,策略π是式4.1中的函数F。非正式地,被表示为Vπ(s)的在策略π下的状态s的值是以s开始并且之后遵循π时的预期回报。例如,我们可以将Vπ(s)正式定义为

Figure BDA0002271501570000211

其中Eπ{}表示代理遵循策略π的给定的期望值,γ是权重函数,以及t是任何时间步。注意,终端状态的值(如果有的话)通常为零。函数Vπ是策略π的状态价值函数。

类似地,当期望回报从s开始,采取动作a,然后遵循策略π时,定义在策略π下在状态s中采取动作a的值,其被表示为Qπ(s,a):

其中Eπ{}表示代理遵循策略π的期望值,γ是权重函数,t是任何时间步。注意,终端状态的值(如果有的话)通常为零。函数Qπ可以称为策略π的动作价值函数。

可以根据经验估计价值函数Vπ和Qπ。例如,如果代理遵循策略π,并且对于遇到的每个状态,保持遵循该状态的实际回报的平均值,则当遇到该状态的次数接近无穷大时,平均值将收敛到状态的值Vπ(s)。如果对于在状态中采取的每个动作保持单独的平均值,那么这些平均值将类似地收敛到动作值Qπ(s,a)。我们称这种估计方法为蒙特卡罗(MC)方法,因为它们涉及对实际回报的许多随机样本进行平均。在某些情况下,存在许多状态,并且单独为每个状态保持单独的平均值可能是不切实际的。相反,代理可以将Vπ和Qπ保持为参数化函数,并调整参数以更好地匹配观察到的回报。这也可以产生准确的估计,尽管很大程度上取决于参数化函数逼近器的性质。

在强化学习和动态规划中使用的状态价值函数和动作价值函数的一个性质是它们满足特定的递归关系。对于任何策略π和任何状态s,以下一致性条件在s的值与其可能的后继状态的值之间成立:

Vπ(s)=Eπ{Rt|st=s} (6.3)

Figure BDA0002271501570000221

Figure BDA0002271501570000222

Figure BDA0002271501570000223

其中P是来自从集合A(s)取得的动作a的后续状态之间的转移概率集,R表示来自从集合A(s)取得的动作a的期望即时奖励,并且后续状态s'取自集合S,或者在偶然问题的情况下取自集合S'。该方程是Vπ的Bellman方程。Bellman方程表达了状态的值与其后续状态的值之间的关系。更简单地说,这个方程是使从一个状态到其可能的后续状态的过渡可视化的方式。根据这些中的每一个,环境可以利用几个后续状态s'中之一以及奖励r进行响应。Bellman方程对所有概率进行平均,通过其发生概率对每个进行加权。该方程表明初始状态的值等于期望的下个状态的(已折扣的)值,加上沿途所期望的奖励。价值函数Vπ是其Bellman方程的唯一解。这些操作将值信息从其后续状态(或状态动作对)转回状态(或状态动作对)。

VI.B策略迭代

继续使用强化学习系统中的方法,描述转向策略迭代。一旦已经使用Vπ改进了策略π,以产生更好的策略π',系统就可以计算Vπ'并再次改进它以产生更好的π”。然后,系统确定单调改进策略和价值函数的序列:

Figure BDA0002271501570000231

其中E表示策略评估,并且I表示策略改进。每项策略通常都是先前策略的改进(除非它已经是最优的)。在仅具有有限数量的策略的强化学习模型中,该过程可以在有限数量的迭代中收敛到最优策略和最优价值函数。

这种发现最优策略的方式称为策略迭代。图5A给出了用于策略迭代的示例模型。请注意,本身是迭代计算的每个策略评估都是以先前策略的价值(状态或动作)函数开始。通常,这会导致策略评估的收敛速度增加。

VI.C值迭代

继续使用在强化学习系统中使用的方法,描述转向价值迭代。价值迭代是策略迭代的特殊情况,在价值迭代中在仅一次扫描(每个状态的一次备份)之后停止策略评估。价值迭代可以被写成结合策略改进与截断策略评估步骤的特别简单的备份操作:

Vk+1(s)=maxaEπ{rt+1+γVk(st+1)|st=s|at=a} (6.8)

Figure BDA0002271501570000232

对于所有s∈S,其中maxa选择最高价值函数。对于任意V0,可以将序列{Vk}示出为在保证V*存在的相同条件下收敛到V*。

理解价值迭代的另一种方式是参考Bellman方程(先前描述的)。注意,仅通过将Bellman方程转换为强化学习的模型的更新规则来获得价值迭代。此外,还注意,除了在所有动作上取最大值以外,价值迭代备份与策略评估备份有何类似。看到这种密切关系的另一种方法是比较这些模型的备份图。这两个是用于计算Vπ和V*的自然备份操作。

与策略评估类似,值迭代正式使用无限次迭代来精确地收敛到V*。实际上,一旦价值函数在增量步骤中仅改变少量,则价值迭代终止。图5B给出了具有这种终止条件的示例价值迭代模型。

价值迭代在其每次扫描中有效地组合一次策略评估扫描和一次策略改进扫描。通常通过在每个策略改进扫描之间***多个策略评估扫描来实现更快的收敛。通常,截断策略迭代模型的整个类可以被认为是扫描序列,其中一些使用策略评估备份,以及其中一些使用价值迭代备份。由于maxa操作是这些备份之间的唯一差异,因此这指示maxa操作被添加至一些策略评估扫描中。

VI.D时间差异学习

时间差异(TD)与MC方法都使用经验来解决预测问题。给定遵循策略π的一些经验,两种方法都更新其V*的估计值V。如果在时间t处访问非最终状态st,则两种方法基于在该访问之后发生的情况更新其估计V(st)。粗略地说,蒙特卡罗方法等待直到访问后的回报已知,然后使用该回报作为V(st)的目标。适用于非平稳环境的简单的每次访问MC方法是

V(st)←V(st)+α[Rt-V(st)] (6.11)

其中Rt是时间t之后的实际回报并且α是恒定的步长参数。通常,MC方法等待直到片段结束以确定V(st)的增量,然后才知道Rt,而TD方法只需等到下一个时间步。在时间t+1处,TD方法立即形成目标并使用观察到的奖励rt+1和估计V(st+1)进行更新。称为TD(t=0)的最简单的TD方法是

V(st)←V(st)+α[rt+1+γV(st+1)-V(st)] (6.12)

实际上,蒙特卡洛更新的目标是Rt,而TD更新的目标是

rt+1+γV(st+1) (6.13)

因为TD方法使其更新部分地基于现有估计,因此所以我们说它是自举方法。根据先前,

Figure BDA0002271501570000241

Figure BDA0002271501570000242

粗略地说,蒙特卡罗方法使用6.14的估计作为目标,而其他方法使用6.15的估计作为目标。因为6.14中的期望值未知,因此MC目标是估计;使用样本回报来代替实际期望回报。另一种方法目标是估计不是因为假设由环境模型完全提供的期望值,而是因为Vπ(st+1)未知且用当前估计值为Vt(st+1)来代替。TD目标是出于两个原因的估计:在6.15中对期望值进行采样,并使用当前估计值Vt而不是真实的Vπ。因此,TD方法将MC的采样与其他强化学习方法的自举相结合。

我们将TD和蒙特卡洛更新称为样本备份,因为它们涉及:沿途使用后续的值和奖励来展望样本后续状态(或状态动作对)以计算备份值,然后相应地改变原始状态(或状态动作对)的值。样本备份与DP方法的完整备份不同,在于它们基于单个样本后续,而不是基于完整分布的所有可能的后续。从图5C的过程中给出用于时间差异计算的示例模型。

VI.E Q-学习

在强化学习系统中使用的另一种方法是称为Q学习的去策略TD控制模型。其最简单的形式,一步式Q学习,通过下式定义

Q(st,at)←Q(st,at)+α[rt+1+γmaxaQ(st+1a)-Q(st,at)] (6.16)

在这种情况下,学习的动作价值函数Q独立于所遵循的策略直接近似Q*,即最佳动作价值函数。这简化了模型的分析并实现了早期收敛证明。该策略仍然有效,因为它确定访问和更新了哪些状态动作对。但是,正确收敛所需的全部是所有对被持续更新。这在一般情况下任何确保找到最优行为的方法都使用它的意义上是一个最低要求。在该假设下,步长参数序列的通常随机近似条件的变型已经被示出为以概率1到Q*收敛。Q学习模型在图5D中以过程形式示出。

VI.F价值预测

强化学***稳目标函数的函数近似方法(随时间变化的目标函数)。即使策略保持不变,如果训练示例的目标值是通过自举方法(TD)生成的,则它们也是非平稳的。不能容易地处理这种非平稳的方法不太适合于强化学习。

VI.G执行器-评价器训练

强化学习方法的另一个例子是执行器评价器方法。执行器-评价器方法可以使用时间差异方法或直接策略搜索方法来确定代理的策略。执行器-评价器方法包括具有执行器和评价器的代理。执行器输入确定的关于环境的状态信息和策略的权重函数,并输出动作。评价器输入关于环境的状态信息和根据状态确定的奖励,并输出执行器的权重函数。执行器和评价器协同工作,为代理开发使动作的奖励最大化的策略。图5E示出了包括执行器和评价器的代理的代理-环境接口的示例。

VI.H附加信息

对强化学习的各种要素的进一步描述可以在以下公开中找到:Mnih等人的“Playing Atari with Deep Reinforcement Learning”;Lillicrap等人的“ContinuousControl with Deep Reinforcement Learning”;以及Mnih等人的“Asynchronous Methodsfor Deep Reinforcement Learning”。上述公开的全部内容通过引用并入本文。

VII.神经网络和强化学习

还可以使用人工神经网络(ANN)来实现在V部分和VI部分中描述的模型342。也就是说,代理340执行作为ANN的模型342。包括ANN的模型342使用输入状态矢量(测量)确定机器100的输出动作矢量(机器命令)。ANN已经被训练成使得根据输出动作矢量的元素的确定的动作提高机器100的性能。

图6是根据一个示例实施方式的模型342的ANN 600的图示。ANN 600基于大量简单神经单元610。神经单元610可以是机器100的动作a、状态s或与动作a和状态s相关的任何函数。每个神经单元610与许多其他神经单元连接,并且连接620可以增强或抑制邻接的神经单元。每个单独的神经单元610可以使用基于所有连入连接620的求和函数来计算。在每个连接620和每个神经单元自身610上可以存在阈值函数或者限制函数,使得神经元单元信号在传播到其他神经元之前必须超过该限制。这些系统是自学习和训练的(使用VI部分中描述的方法),而不是明确编程的。这里,ANN的目标是通过提供输出以执行与环境交互的动作、根据这些动作来学习以及使用所学习的信息影响未来目标的动作以提高机器100的性能。在一个实施方式中,训练ANN的学习过程类似于上述策略和策略迭代。例如,在一个实施方式中,机器100采用首先通过种植场来收获作物。基于机器状态的测量,代理340确定用于训练代理340的奖励。每次穿过种植场,代理340持续使用策略迭代强化学习模型来训练自身以提高机器性能。

图6的神经网络包括两个层630:输入层630A和输出层630B。输入层630A具有经由连接620向输出层630B的输出神经单元610B发送数据的输入神经单元610A。在其他配置中,ANN可以包括输入层630A与输出层630B之间的附加隐藏层。根据ANN的配置,隐藏层可以具有连接至输入层610A、输出层610B或其他隐藏层的神经单元610。每个层可以具有任何数量的神经单元610并且可以连接至相邻层630中的任何数量的神经单元610。神经层之间的连接620可以表示和存储参数,所述参数在本文称为权重,并且影响从特定层神经单元610到相邻层神经单元610的数据的选择和传播。强化学习训练各种连接620和权重,使得根据ANN600的输入所产生的ANN 600的输出提高了机器100的性能。最后,每个神经单元610可以由激活函数管理,该激活函数将神经单元加权输入转换为其输出激活(即在给定层中激活神经单元)。可以使用的一些示例激活函数是:softmax、identify、binary step、logistic、tanH、Arc Tan、softsign、整流线性单元、参数整流线性、bent identity、sing、高斯函数或用于神经网络的任何其他激活函数。

数学上,ANN的函数(F(s),如上所介绍的)被定义为其他子函数gi(x)的组合,该子函数gi(x)可以进一步被定义为其他子子函数的组合。ANN的函数是互连神经元单元结构的表示,该函数可以起作用以提高环境中代理性能。该函数通常可以在当输入状态矢量改变并且代理采取动作时为代理提供到提高的性能的平滑过渡。

最一般地,ANN 600可以使用输入神经单元610A并且经由输出神经单元610B生成输出。在一些配置中,输入层的输入神经单元610A可以连接到输入状态矢量640(例如s)。输入状态矢量640可以包括关于环境中代理的当前或先前状态、动作和奖励的任何信息(状态元素642)。输入状态矢量640的每个状态元素642可以连接到任何数量的输入神经单元610A。输入状态矢量640可以连接到输入神经单元610A,使得ANN 600可以在输出层630A中的输出神经单元610B处生成输出。输出神经单元610B可以表示并影响执行模型442的代理340所采取的动作。在一些配置中,输出神经单元610B可以连接至输出动作矢量的任意数量的动作元素652(例如a)。每个动作元素可以表示代理可以采取以提高机器100的性能的动作。在另一种配置中,输出神经单元610B自身是输出动作矢量的元素。

VI.使用两个ANNS的代理训练

在一个实施方式中,类似于图5E,代理340可以使用ANN(如VI部分中所述)来执行模型342,所述ANN是使用执行器-评价器训练方法训练的。执行器和评价器是两个相似配置的ANN,因为当ANN初始化时,输入神经单元、输出神经单元、输入层、输出层和连接是相似的。在训练的每次迭代中,执行器ANN接收输入状态矢量与构成执行器ANN的权重函数(例如如上所述的γ)(当它们在该时间步处存在时)一起作为输入,输出输出动作矢量。权重函数定义连接ANN的神经单元的连接的权重。代理在环境中采取可以影响状态的动作,并且代理测量该状态。评价器ANN接收输入状态矢量和奖励状态矢量与构成评价器ANN的权重函数一起作为输入,输出要提供给执行器ANN的权重函数。奖励状态矢量用于修改评价器ANN中的加权连接,使得所输出的执行器ANN的权重函数提高机器性能。该过程在每个时间步内持续,其中,评价器ANN接收奖励和状态作为输入并且将权重作为输出提供给执行器ANN,并且执行器ANN接收权重和奖励作为输入并且为代理提供动作作为输出。

ANN的执行器-评价器协同工作以确定根据从环境中测量的输入状态矢量来生成表示提高联合收割机性能的动作的输出动作矢量的策略。在训练之后,执行器-评价器对被认为已经确定了策略,评价器ANN被丢弃并且执行器ANN被用作代理340的模型342。

在该示例中,奖励数据矢量可以包括以下元素,其中,每个元素表示执行动作之后联合收割机的性能度量的测量。在一个实例中,性能度量可以包括收获的粮食量、脱粒质量、收获的粮食清洁度、联合收割机吞吐量和粮食损耗。可以根据从传感器330接收的任何测量来确定性能度量。奖励数据矢量的每个元素与定义每个性能度量的优先级的权重相关联,使得某些性能度量可以优先于其他性能度量。在一个实施方式中,奖励矢量是不同度量的线性组合。在一些示例中,联合收割机的操作员可以通过与控制系统的接口350交互来确定每个性能度量的权重。例如,操作员可以输入:粮食清洁度相对于脱粒质量而优先,并且收获的粮食量相对于粮食清洁度而优先。评价器ANN基于输入状态矢量和奖励数据矢量确定包括用于执行器ANN中的连接的多个修改权重的权重函数。

可以使用从在种植场中操作的机器获得的真实数据来完成对ANN的训练。因此,在一种配置中,当收获种植场中的种植物时,可以使用来自采取基于输出动作矢量的任何数量的动作的任何数量的联合收割机的输入状态矢量集来训练执行器-评价器方法的ANN。可以从各种联合收割机的控制系统130的存储器访问输入状态矢量和输出动作矢量。

然而,训练ANN可能需要大量数据,这些数据难以从在种植场中操作的机器廉价地获得。因此,在另一种配置中,可以使用模拟输入状态矢量和模拟输出动作矢量的集合来训练执行器-评价器方法的ANN。可以根据从收获种植物的联合收割机获得的种子输入状态矢量和种子输出动作矢量的集合来生成模拟矢量。在该示例中,在一些配置中,模拟输入状态矢量和模拟输出动作矢量可以源自被配置成生成提高机器性能的动作的ANN。

VIII联合收割机的代理

这部分描述了代理340执行模型342以提高联合收割机200的性能。在该示例中,模型342是使用类似于图6的ANN的人工神经网络实现的强化学习模型。即,ANN包括输入层和输出层,输入层包括多个输入神经单元,输出层包括多个输出神经单元。每个输入神经单元通过任意数量的加权连接连接至任意数量的输出神经单元。代理340将联合收割机200的测量值输入至输入神经单元,并且模型将联合收割机200的动作输出至输出神经单元。代理340基于表示提高联合收割机性能的联合收割机的动作的输出神经单元确定机器命令集。图7是用于使用执行340包括使用执行器-评价器方法训练的人工神经网络的模型342的代理生成提高联合收割机性能的动作的方法700。方法700可以包括任何数量的附加步骤或更少步骤,或者可以以不同顺序完成所述步骤。

首先,代理确定710模型342的输入状态矢量。可以根据经由网络310从传感器330接收的任何数量的测量来确定输入状态矢量的元素。每个测量是机器100的状态的测量。

接下来,代理将输入状态矢量输入720到模型342中。输入矢量的每个元素连接到任何数量的输入神经单元。模型342表示配置成根据输入状态矢量来生成提高联合收割机200的性能的动作的函数。因此,模型342生成被预测成提高联合收割机的性能的输出神经单元中的输出。在一个示例实施方式中,输出神经单元连接至输出动作矢量的元素,并且每个输出神经单元可以连接至输出动作矢量的任何元素。输出动作矢量的每个元素是可由联合收割机200的部件120执行的动作。在一些示例中,代理340基于输出动作矢量的元素确定部件120的机器命令集。

接下来,代理340将机器命令发送至它们的部件120的输入控制器330,并且输入控制器330基于该机器命令致动730部件120作为响应。致动730部件120执行由模型342确定的动作。此外,致动730部件120改变环境状态,并且传感器330测量该状态的改变。

代理340再次确定710输入状态矢量以输入720到模型中并确定输出动作和相关联的机器命令,该相关联的机器命令在联合收割机行进通过种植场并收获植物时致动730联合收割机的部件。随着时间的推移,代理340用于在收获植物时提高联合收割机200的性能。

表1描述了可以包括在输入数据矢量中的各种状态。表1还包括与测量m相关的每个状态、生成测量m的传感器330以及测量的描述。输入数据矢量可以另外地或者替选地包括根据从联合收割机200的传感器生成的测量确定的任何其他状态。例如,在一些配置中,输入状态矢量可以包括根据先前测量m的先前确定的状态。在这种情况下,可以将先前确定的状态(或测量)存储在控制系统130的存储器系统中。在另一个示例中,输入状态矢量可以包括当前状态与先前状态之间的变化。

Figure BDA0002271501570000301

表1:输入矢量中包括的状态

表2描述了可以包括在输出动作矢量中的各种动作。表2还包括接收基于包括在输出动作矢量中的动作的机器命令的机器控制器、每个输入控制器320如何致动它们各自的部件120的高级描述以及致动改变的单位。

Figure BDA0002271501570000311

表1:输入矢量中包括的状态。

在一个示例中,代理340正在执行未使用部分VI中描述的强化技术主动地训练的模型442。在这种情况下,代理可以是使用部分VII.A中描述的执行器评价器方法独立训练的模型。也就是说,代理不主动奖励神经网络中的连接。代理还包括已经被训练以优化联合收割机的不同性能度量的各种模型。联合收割机的用户可以使用控制系统130的接口在性能度量之间进行选择以进行优化,从而改变模型。

在其他示例中,代理可以使用强化技术主动训练模型442。在这种情况下,模型342生成包括权重函数的奖励矢量,该权重函数修改包括在模型342中的任何连接的权重。奖励矢量可以被配置成奖励包括作为整体的联合收割机的性能的各种度量、奖励状态、奖励状态的改变等。在一些示例中,联合收割机的用户可以使用控制系统130的接口来选择要奖励的度量。

IX.控制系统

图8是示出用于从机器可读介质读取并执行指令的示例机器的部件的框图。具体地,图8以计算机系统800的示例形式示出了网络系统300和控制系统310的图形表示。计算机系统800可以用于执行指令824(例如程序代码或软件)以使机器执行任一个或更多个本文描述的方法(或过程)。在替选实施方式中,机器作为单独装置或连接至其他机器的连接(例如联网)装置操作。在联网部署中,机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份运行,或者作为对等(或分布式)网络环境中的对等机器运行。

该机器可以是:服务器计算机、客户端计算机、个人计算机(PC)、平板PC、机顶盒(STB)、智能手机、物联网(IoT)设备、网络路由器、交换机或网桥、或能够执行指定该机器要采取的动作的指令824(顺序地或以其他方式)的任何机器。此外,虽然仅示出了单个机器,但术语“机器”还应被视为包括单独地或联合地执行指令824以执行本文所讨论的任一种或更多种方法的任何机器集合。

示例计算机系统800包括一个或更多个处理单元(通常为处理器802)。处理器802是例如:中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、控制器、状态机、一个或更多个专用集成电路(ASIC)、一个或更多个射频集成电路(RFIC)或这些的任意组合。计算机系统800还包括主存储器804。计算机系统可以包括存储单元816。处理器802、存储器804和存储单元816经由总线808通信。

另外,计算机系统806可以包括静态存储器806,图形显示器810(例如用于驱动等离子体显示板(PDP)、液晶显示器(LCD)或投影仪)。计算机系统800还可以包括字母数字输入装置812(例如键盘)、光标控制装置814(例如,鼠标、轨迹球、操纵杆、运动传感器或其他指向工具)、信号生成装置818(例如扬声器)以及网络接口装置820,它们也被配置成经由总线808通信。

存储单元816包括机器可读介质822,在该机器可读介质822上存储体现本文描述的方法或函数中的任一个或更多个的指令824(例如软件)。例如,指令824可以包括图2中描述的系统130的模块的函数。指令824还可以在其由计算机系统800执行期间完全地或至少部分地驻留在主存储器804内或处理器802内(例如在处理器的高速缓冲存储器内),主存储器804和处理器802也构成机器可读介质。指令824可以经由网络接口装置820在网络826上发送或接收。

X.另外的考虑

在以上描述中,出于说明的目的,阐述了许多具体细节以便提供对所示出的系统及其操作的透彻理解。然而,对于本种植场的技术人员将明显的是,可以在没有这些具体细节的情况下操作该系统。在其他实例中,为了避免使系统模糊,以框图形式示出了结构和装置。

在说明书中所指的“一个实施方式”或“实施方式”意指结合该实施方式描述的特定特征、结构或特性包括在系统的至少一个实施方式中。在说明书的各个地方中出现的短语“在一个实施方式中”不一定全都指同一实施方式。

按照对计算机存储器内的数据位的操作的算法或模型和符号表示来呈现详细描述的某些部分。算法在此通常被构思为产生期望结果的步骤。这些步骤是需要对物理量进行物理转换或处理的步骤。通常,尽管不是必须的,但是这些量采取能够被存储、传输、组合、比较和以其他方式处理的电信号或磁信号的形式。已经证明有时主要出于通用目的将这些信号称为位、值、元素、符号、字符、项、数字等是方便的。

然而,应当牢记,所有这些类似术语均应与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。除非特别声明,否则如根据以下讨论而明显的是,可以理解,在整个描述中,利用术语例如“处理”或“计算”或“运算”或“确定”或“显示”等的讨论指的是计算机系统或类似电子计算装置的动作和过程,其处理计算机系统的寄存器和存储器内表示为物理(电子)量的数据并将该数据转换为在计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内类似地表示为物理量的其它数据。

由物理地安装在机器100内的计算机执行本文所述的一些操作。该计算机出于所需目的可以被特殊构造,或者它可以包括由存储在计算机上的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,例如但不限于:包括软盘、光盘、CD-ROM和磁光盘的任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或者适用于存储电子指令的任何类型的非暂态计算机可读存储介质。

以上的附图和描述仅通过说明的方式涉及各种实施方式。应当注意,从下面的讨论中,本文公开的结构和方法的替选实施方式将容易地被认为是可以不背离所要求保护的原理而采用的可行替选方案。

上面已经描述了一个或更多个实施方式,其示例在附图中示出。要注意的是,在可行的情况下,相似或相同的附图标记可以用在附图中,并且可以指示相似或相同的功能。附图仅出于说明的目的描绘了所公开的系统(或方法)的实施方式。本领域技术人员将从以下描述中容易地认识到,在不脱离本文描述的原理的情况下,可以采用本文所示的结构和方法的替选实施方式。

可以使用表达“耦接”和“连接”及其派生词来描述一些实施方式。应当理解的是,这些术语并不旨在作为彼此的同义词。例如,可以使用术语“连接”来描述一些实施方式,以指示两个或更多个元素彼此直接物理接触或者电接触。在另一个示例中,可以使用术语“耦接”来描述一些实施方式,以指示两个或更多个元素直接物理接触或者电接触。然而,术语“耦接”还可以表示两个或更多个元素彼此不直接物理接触或者电接触,但是仍然彼此协作或相互作用。实施方式不限于此上下文。

如本文中所使用的,术语“包括(comprises)”、“包括(comprising)”、“包含(includes)”、“包含(including)”、“具有(has)”、“具有(having)”或其任何其他变型旨在覆盖非排他性包含。例如,包括一系列元素的过程、方法、物品或设备不必仅限于那些元素,而是可以包括未明确列出的或此类过程、方法、物品或设备固有的其他元素。此外,除非明确地相反指示,否则“或”是指包含性的“或”而不是排他性的“或”。例如,条件A或B通过以下任一者满足:A为真(或存在)且B为假(或不存在);A为假(或不存在)且B为真(或存在);以及A和B均为真(或存在)。

另外,使用“一(a)”或“一个(an)”来描述本文的实施方式的元素和部件。这样做只是为了方便起见并给出系统的一般含义。该描述应被理解为包括一个或至少一个,并且单数也包括复数,除非明显是其它意思。

在阅读了本公开内容之后,本领域技术人员将理解用于通过本文公开的原理使用行为扫描分析来检测潜在恶意软件的系统和过程的另外的替选结构和功能设计。因此,尽管已经示出和描述了特定的实施方式和应用,但是应当理解,所公开的实施方式不限于本文所公开的精确构造和部件。在不脱离所附权利要求所限定的精神和范围的情况下,可以对本文公开的方法和装置的布置,操作和细节进行对于本领域技术人员而言是明显的各种修改、改变和变型。

39页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:林业机械

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!