技术领域
[0001] 本申请涉及智能分配领域,且更为具体地,涉及一种无人机群协同任务分配方法及系统。
相关背景技术
[0002] 目前,集群智能化是无人机未来重要发展方向,形成规模效应的无人集群能够解决现有无人机功能单一、可靠性差、智能性低的问题,可以完成更为复杂困难的任务和工作。
[0003] 协同任务分配是无人集群智能的关键技术之一,该技术能够在对任务执行能力实时评估基础上,进行任务的重分配,实现无人集群的智能决策,提升执行任务的工作效能。因此,研究无人机集群的协同任务分配算法具有重要意义。
具体实施方式
[0024] 下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
[0025] 如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其他的步骤或元素。
[0026] 虽然本申请对根据本申请的实施例的系统中的某些模块做出了各种引用,然而,任何数量的不同模块可以被使用并运行在用户终端和/或服务器上。所述模块仅是说明性的,并且所述系统和方法的不同方面可以使用不同模块。
[0027] 本申请中使用了流程图用来说明根据本申请的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0028] 下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
[0029] 目前,集群智能化是无人机未来重要发展方向,形成规模效应的无人集群能够解决现有无人机功能单一、可靠性差、智能性低的问题,可以完成更为复杂困难的任务和工作。协同任务分配是无人集群智能的关键技术之一,该技术能够在对任务执行能力实时评估基础上,进行任务的重分配,实现无人集群的智能决策,提升执行任务的工作效能。因此,研究无人机集群的协同任务分配算法具有重要意义。
[0030] 在本申请的技术方案中,提出了一种无人机群协同任务分配方法。图1为根据本申请实施例的无人机群协同任务分配方法的流程图。图2为根据本申请实施例的无人机群协同任务分配方法的系统架构图。如图1和图2所示,根据本申请的实施例的无人机群协同任务分配方法,包括步骤:S1,获取待分配任务;S2,对所述待分配任务和无人机群进行建模以得到待分配任务语义编码特征向量和多个无人机状态向量;S3,建立所述待分配任务语义编码特征向量和所述多个无人机状态向量之间的协同关联关系以得到多个协同适配关联矩阵;以及,S4,基于所述多个协同适配关联矩阵,指派所述待分配任务。
[0031] 特别地,在步骤S1中,获取待分配任务。其中,无人机的待分配任务是指尚未被分配给具体无人机的任务。这些任务可能是需要无人机执行的各种任务,例如巡航、侦查、目标追踪、物品投递等。待分配任务通常以任务列表或任务队列的形式存在,等待根据特定的任务分配算法被指派给适当的无人机。任务的属性和要求可以根据实际应用场景和需求而有所不同,例如任务的优先级、位置信息、时间限制等。通过合理的任务指派算法,可以将待分配任务有效地分配给无人机,以实现高效的任务执行和协同工作。
[0032] 特别地,在步骤S2中,对所述待分配任务和无人机群进行建模以得到待分配任务语义编码特征向量和多个无人机状态向量。特别地,在本申请的一个具体示例中,如图4所示,所述S2,包括:S21, 对所述待分配任务进行建模以得到所述待分配任务语义编码特征向量;S22,分别对无人机群中各个无人机进行建模以得到所述多个无人机状态向量。
[0033] 具体地,所述S21, 对所述待分配任务进行建模以得到所述待分配任务语义编码特征向量。应可以理解,通过将任务描述转换为语义编码特征向量,可以捕捉到任务的语义含义和关键信息。这使得计算机可以更好地理解任务的要求、目标和约束,从而更准确地进行任务分配和决策。
[0034] 相应的,在一种可能的实现方式中,可通过以下步骤对所述待分配任务进行建模以得到所述待分配任务语义编码特征向量,例如:收集任务信息:获取任务的关键信息,例如任务类型、位置、时间限制、优先级等;获取任务的详细描述,包括任务目标、要求和约束等;任务预处理:对任务描述进行文本预处理,例如去除标点符号、转换为小写等;可选:进行词干提取或词形还原等文本规范化处理;词汇表示:将任务描述分割成单词;构建词汇表:收集任务描述中的所有唯一单词;词嵌入:使用预训练的词嵌入模型(如Word2Vec、GloVe或BERT)来将每个单词映射到一个向量表示;对任务描述中的每个单词,获取其对应的词嵌入向量;任务语义编码特征向量:对任务描述中的每个单词的词嵌入向量进行加权平均,得到任务的语义编码特征向量;加权平均可以使用简单平均或根据单词重要性进行加权;任务语义编码特征向量的表示:将任务语义编码特征向量表示为一个数值向量,其中每个元素对应一个特征;特征可以包括词嵌入的维度、任务描述的长度、任务的位置信息等。
[0035] 具体地,所述S22,分别对无人机群中各个无人机进行建模以得到所述多个无人机状态向量。应可以理解,通过对无人机群中各个无人机进行建模并获取多个无人机状态向量,可以实现对无人机群的全面监控、调度和优化,从而提高任务执行的效率、安全性和可靠性。
[0036] 相应的,在一种可能的实现方式中,可通过以下步骤分别对无人机群中各个无人机进行建模以得到所述多个无人机状态向量,例如:首先,需要收集每个无人机的状态信息。这些信息可能包括无人机的位置坐标、速度、方向、高度、姿态、剩余电量、传感器数据等。可以通过无人机上的传感器、导航系统或者与无人机通信的接口来获取这些信息;对收集到的无人机状态信息进行预处理。这可能包括数据清洗、异常值处理、单位转换等。确保无人机状态数据的准确性和一致性;确定如何表示每个无人机的状态信息。可以选择使用向量、矩阵或其他数据结构来表示。每个无人机的状态向量应该包含与任务分配和决策相关的关键信息;根据任务需求和具体应用,对无人机状态向量进行特征提取和编码。这可以包括提取位置特征、速度特征、能量特征等。可以使用各种技术和算法,如特征工程、深度学习模型等来提取和编码无人机状态特征;将提取和编码的无人机状态特征组合成完整的无人机状态向量。确保无人机状态向量的维度和表示方式与后续任务分配和决策模型的要求相匹配。
[0037] 值得一提的是,在本申请的其他具体示例中,还可以通过其他方式对所述待分配任务和无人机群进行建模以得到待分配任务语义编码特征向量和多个无人机状态向量,例如:收集任务信息:确定任务的关键信息,例如任务类型、位置、时间限制、优先级等;获取任务的详细描述,包括任务目标、要求和约束等;收集无人机群信息:确定可用的无人机数量和类型;获取每个无人机的技术规格和能力,例如速度、航程、载荷能力等;获取每个无人机的当前状态信息,例如位置、剩余电量、可用载荷等;任务语义编码:使用自然语言处理(NLP)技术对任务描述进行处理,例如分词、词性标注、句法分析等;应用词嵌入技术(如Word2Vec或BERT)将任务描述转换为语义编码特征向量。这个向量将捕捉任务的语义含义和关键信息;无人机状态向量:对每个无人机的状态信息进行处理,例如将位置转换为坐标表示、将剩余电量归一化等;将每个无人机的状态信息转换为状态向量,其中每个向量元素表示一个状态特征,如位置坐标、剩余电量、可用载荷等;任务‑无人机匹配:使用任务语义编码特征向量和无人机状态向量之间的相似度度量方法(如余弦相似度)来评估任务与无人机的匹配程度;对于每个任务,计算其与所有可用无人机的匹配程度得分;根据得分排序,选择最佳匹配的无人机或无人机组合来执行任务;任务分配结果:根据任务‑无人机匹配的结果,生成任务分配方案,指定每个任务分配给哪个无人机或无人机组合;考虑任务之间的优先级和约束条件,以及无人机的能力和限制;输出任务分配结果,包括每个任务与对应的无人机或无人机组合。
[0038] 特别地,在步骤S3中,建立所述待分配任务语义编码特征向量和所述多个无人机状态向量之间的协同关联关系以得到多个协同适配关联矩阵。特别地,在本申请的一个具体示例中,如图5所示,所述S3,包括:S31,提取所述多个无人机状态向量的全局关联特征以得到多个无人机状态全局上下文关联特征向量;以及,S32,构建所述多个无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量之间的协同关联特征以得到所述多个协同适配关联矩阵。
[0039] 具体地,所述S31,提取所述多个无人机状态向量的全局关联特征以得到多个无人机状态全局上下文关联特征向量。特别地,在本申请的一个具体示例中,所述S31,包括:将所述多个无人机状态向量通过基于转化器的上下文编码器以得到所述多个无人机状态全局上下文关联特征向量。应可以理解,通过基于转换器的上下文编码器对多个无人机状态向量进行编码,可以提取并综合全局上下文关联信息,从而得到更具表达力和丰富性的无人机状态特征表示。具体地,将所述多个无人机状态向量进行一维排列以得到全局无人机状态向量;计算所述全局无人机状态向量与所述多个无人机状态向量中各个无人机状态向量的转置向量之间的乘积以得到多个自注意力关联矩阵;分别对所述多个自注意力关联矩阵中各个自注意力关联矩阵进行标准化处理以得到多个标准化后自注意力关联矩阵;将所述多个标准化后自注意力关联矩阵中各个标准化后自注意力关联矩阵通过Softmax分类函数以得到多个概率值;分别以所述多个概率值中各个概率值作为权重对所述多个无人机状态向量中各个无人机状态向量进行加权以得到所述多个上下文语义无人机状态特征向量;以及,将所述多个上下文语义无人机状态特征向量进行级联以得到所述多个无人机状态全局上下文关联特征向量。
[0040] 值得注意的是,基于转换器的上下文编码器是一种用于处理序列数据的深度学习模型,广泛应用于自然语言处理领域。它通过自注意力机制来捕捉输入序列中的上下文关系,并生成上下文编码表示。基于转换器的上下文编码器是由多个重复的模块组成,每个模块包含自注意力机制和前馈神经网络层。下面是基于转换器的上下文编码器的结构:输入表示:将输入序列数据转换为表示向量。输入序列可以是无人机状态向量、任务语义编码特征向量等。每个输入表示通常由多个特征组成,可以是向量、矩阵或张量形式;位置编码:为了捕捉序列中的位置信息,需要添加位置编码到输入表示中。位置编码通常是一个与输入表示维度相同的向量,用于表示不同位置的相对信息;自注意力机制:自注意力机制是转换器的核心组件之一。它通过计算输入表示之间的相关性得分,为每个输入表示分配一个权重,用于聚合上下文信息。自注意力机制分为三个步骤:查询:通过线性变换将输入表示转换为查询向量,用于计算与其他位置的相关性得分;键:通过线性变换将输入表示转换为键向量,用于计算与其他位置的相关性得分;值:通过线性变换将输入表示转换为值向量,用于根据相关性得分加权聚合上下文信息;通过计算查询向量和键向量之间的相关性得分,再将相关性得分归一化为注意力权重,最终通过加权求和操作将值向量聚合为上下文编码表示;前馈神经网络层:在自注意力机制之后,会应用一个前馈神经网络层来增加模型的非线性表达能力。前馈神经网络层通常由两个线性变换和激活函数组成,可以对上下文编码表示进行非线性变换;多层编码器:为了增加模型的表达能力,通常会堆叠多个自注意力层和前馈神经网络层。每个自注意力层和前馈神经网络层都会对输入进行残差连接操作,以便信息传递和梯度流动。通过多层编码器的堆叠,可以逐步提取更丰富的上下文关联特征;上下文编码表示:经过多个自注意力层和前馈神经网络层的处理,最后一个模块的输出即为上下文编码表示。它是输入序列中每个位置的综合上下文信息的表示,可以用于后续的任务处理。
[0041] 值得一提的是,在本申请的其他具体示例中,还可以通过其他方式提取所述多个无人机状态向量的全局关联特征以得到多个无人机状态全局上下文关联特征向量,例如:首先,需要收集多个无人机的状态向量;确定如何表示多个无人机状态向量之间的全局关联特征。可以考虑使用聚合函数、图模型、注意力机制等方法来捕捉无人机状态之间的关联性。例如,可以计算无人机状态向量之间的平均值、最大值、最小值,或者通过图模型构建无人机之间的连接关系;根据设计的全局关联特征表示方法,对多个无人机状态向量进行特征提取。这可以包括计算统计特征、图网络特征、注意力权重等。提取的特征应该能够反映多个无人机状态之间的全局关联性;将提取的全局关联特征组合成无人机状态的全局上下文关联特征向量。这个向量可以作为多个无人机状态的综合表示,包含了全局关联信息。确保无人机状态全局上下文关联特征向量的维度和表示方式与后续任务需求相匹配。
[0042] 具体地,所述S32,构建所述多个无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量之间的协同关联特征以得到所述多个协同适配关联矩阵。特别地,在本申请的一个具体示例中,所述S32,包括:分别计算各个所述无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量之间的协同适配关联矩阵以得到所述多个协同适配关联矩阵。应可以理解,通过构建多个无人机状态的全局上下文关联特征向量和任务的上下文关联特征向量之间的协同关联特征,并将其组合成协同适配关联矩阵,可以量化无人机与任务之间的协同关系。在本申请的实施例中,计算所述无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量的转置向量之间的乘积以得到所述协同适配关联矩阵。
[0043] 值得一提的是,在本申请的其他具体示例中,还可以通过其他方式构建所述多个无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量之间的协同关联特征以得到所述多个协同适配关联矩阵,例如:使用基于转换器的上下文编码器对无人机的状态向量进行编码,得到多个无人机状态的全局上下文关联特征向量。这些特征向量捕捉了无人机状态之间的关联信息,以及每个无人机与整体上下文的关联;使用基于转换器的上下文编码器对待分配任务的语义编码特征向量进行编码,得到任务的上下文关联特征向量。这个特征向量捕捉了任务与整体上下文的关联;将每个无人机状态的全局上下文关联特征向量与任务的上下文关联特征向量进行适配计算,得到多个协同关联特征。这可以通过计算两个特征向量之间的相似度、距离或其他相关性指标来实现;将多个协同关联特征组合成一个协同适配关联矩阵。该矩阵的维度为无人机数量乘以任务数量,每个元素表示一个无人机与一个任务之间的协同关联程度。可以使用矩阵操作或其他方法将协同关联特征转换为协同适配关联矩阵。
[0044] 值得一提的是,在本申请的其他具体示例中,还可以通过其他方式建立所述待分配任务语义编码特征向量和所述多个无人机状态向量之间的协同关联关系以得到多个协同适配关联矩阵,例如:首先,需要定义任务的语义编码特征向量。任务语义编码特征向量的维度和表示方式应与后续的协同适配关联矩阵匹配;已经在前面步骤中建立了多个无人机的状态向量;协同适配关联矩阵用于表示任务与无人机之间的协同关联关系。它是一个二维矩阵,行表示任务,列表示无人机,矩阵中的元素表示任务与无人机之间的协同适配程度;根据任务语义编码特征向量和无人机状态特征向量,计算协同适配关联矩阵。这可以通过计算任务特征向量与每个无人机状态向量之间的相似度或匹配程度来实现。常用的计算方法包括余弦相似度、欧氏距离、相关系数等;在任务分配过程中,无人机状态和任务需求可能会发生变化。因此,需要定期更新协同适配关联矩阵以反映最新的状态和需求。
[0045] 特别地,在步骤S4中,基于所述多个协同适配关联矩阵,指派所述待分配任务。特别地,在本申请的一个具体示例中,如图6所示,所述S4,包括:S41,将所述多个协同适配关联矩阵分别通过分类器以得到分类结果以得到多个概率值;以及,S42,将所述待分配任务指派于所述多个概率值中最大的概率值对应的无人机。
[0046] 具体地,所述S41,将所述多个协同适配关联矩阵分别通过分类器以得到分类结果以得到多个概率值。具体地,将所述多个协同适配关联矩阵基于行向量或列向量展开为分类特征向量;使用所述分类器的多个全连接层对所述分类特征向量进行全连接编码以得到编码分类特征向量;以及,将所述编码分类特征向量通过所述分类器的Softmax分类函数以得到所述分类结果。
[0047] 分类器(Classifier)是指一种机器学习模型或算法,用于将输入数据分为不同的类别或标签。分类器是监督学习的一部分,它通过学习从输入数据到输出类别的映射关系来进行分类任务。
[0048] 全连接层(Fully Connected Layer)是神经网络中常见的一种层类型。在全连接层中,每个神经元都与上一层的所有神经元相连接,每个连接都有一个权重。这意味着全连接层中的每个神经元都接收来自上一层所有神经元的输入,并通过权重对这些输入进行加权求和,然后将结果传递给下一层。
[0049] Softmax分类函数是一种常用的激活函数,用于多分类问题。它将输入向量的每个元素转化为一个介于0和1之间的概率值,并且这些概率值的和等于1。Softmax函数常用于神经网络的输出层,特别适用于多分类问题,因为它能够将网络输出映射为各个类别的概率分布。在训练过程中,Softmax函数的输出可以用于计算损失函数,并通过反向传播算法来更新网络参数。值得注意的是,Softmax函数的输出并不会改变元素之间的相对大小关系,只是对其进行了归一化处理。因此,Softmax函数并不改变输入向量的特性,只是将其转化为概率分布形式。
[0050] 具体地,所述S42,将所述待分配任务指派于所述多个概率值中最大的概率值对应的无人机。也就是,在获得所述多个概率值后,选择其中最大的概率值作为指派结果。
[0051] 值得一提的是,在本申请的其他具体示例中,还可以通过其他方式基于所述多个协同适配关联矩阵,指派所述待分配任务,例如:根据之前的步骤,得到了多个协同适配关联矩阵。这些矩阵的维度为无人机数量乘以任务数量,每个元素表示一个无人机与一个任务之间的协同关联程度;确定任务指派的准则。这可以是最大化关联程度、最小化冲突或平衡任务分配等。根据具体需求和问题背景,选择适合的任务指派准则;选择适当的任务指派算法来根据协同适配关联矩阵进行任务指派。常用的算法包括匈牙利算法、最大权匹配算法等。这些算法可以根据指派准则和协同适配关联矩阵找到最优的任务指派方案;使用选择的任务指派算法将任务分配给相应的无人机。根据算法的输出,确定每个任务的指派结果,即将任务与无人机进行匹配,建立任务与无人机之间的关联关系;一旦任务被指派给无人机,更新相关的任务状态和无人机状态。这可能包括标记任务为已分配、更新无人机的可用状态等。
[0052] 应可以理解,在利用上述神经网络模型进行推断之前,需要对所述基于转化器的上下文编码器和所述分类器进行训练。也就是说,在本申请的无人机群协同任务分配方法中,还包括训练阶段,用于对所述基于转化器的上下文编码器和所述分类器进行训练。
[0053] 图3为根据本申请实施例的无人机群协同任务分配方法的训练阶段的流程图。如图3所示,根据本申请实施例的无人机群协同任务分配方法,包括:训练阶段,包括:S110,获取训练数据,所述训练数据包括训练待分配任务,以及,被指派所述训练待分配任务的无人机;S120,对所述训练待分配任务进行建模以得到训练待分配任务语义编码特征向量;S130,分别对无人机群中各个无人机进行建模以得到多个训练无人机状态向量;S140,将所述多个训练无人机状态向量通过所述基于转化器的上下文编码器以得到多个训练无人机状态全局上下文关联特征向量;S150,分别计算各个所述训练无人机状态全局上下文关联特征向量与所述训练待分配任务语义编码特征向量之间的训练协同适配关联矩阵以得到多个训练协同适配关联矩阵;S160,将所述多个训练协同适配关联矩阵分别通过分类器以得到分类损失函数值;以及,S170,以所述分类损失函数值来对所述基于转化器的上下文编码器和所述分类器进行训练,其中,在所述训练的每一轮迭代中,对所述分类器的权重矩阵进行基于基准注释的外部边界约束迭代。
[0054] 特别地,在本申请的技术方案中,计算所述无人机状态全局上下文关联特征向量与所述待分配任务语义编码特征向量之间的协同适配关联矩阵时,是将所述无人机状态全局上下文关联特征向量的每个位置的特征值与所述待分配任务语义编码特征向量的每个位置的特征值进行关联,以获得所述协同适配关联矩阵的相应位置的特征值,但是,考虑到所述待分配任务语义编码特征向量的语义编码特征分布与所述无人机状态全局上下文关联特征向量的状态参数上下文关联特征分布之间的分布差异,所述协同适配关联矩阵的各个特征值之间会具有较大的关联偏差,从而导致在所述协同适配关联矩阵的分类场景下,在分类器的权重矩阵迭代过程中映射到预定类概率时会产生显著波动,影响了模型的训练效果,以及训练好的模型所得到的所述协同适配关联矩阵的分类结果的准确性。基于此,本申请的申请人在所述协同适配关联矩阵展开后得到的协同适配关联向量通过分类器的训练过程中,进行权重矩阵的基于基准注释的外部边界约束,具体表示为:
[0055] ;
[0056] ;
[0057] ;
[0058] 和 分别是上次和本次迭代的权重矩阵,其中在首次迭代时,采用不同的初始化策略设置 和 ,(例如, 设置为单位矩阵而 设置为待分类特征向量的均值对角矩阵), 是所述协同适配关联向量,为列向量形式, 表示转置操作,表示向量相乘,表示按位置相加。 为 与 相乘得到的向量, 为 与 相乘得到的向量。这里,通过以所述协同适配关联向量在权重空间内的迭代关联表示来作为权重矩阵迭代的外部关联边界约束,从而在将前次的权重矩阵作为本次迭代过程中的基准注释(benchmark annotation)的情况下,减小权重空间迭代过程当中以所述协同适配关联向量的类概率映射作为锚点的定向不匹配(oriented mismatch),可以进行权重矩阵在迭代过程中相对于所述协同适配关联向量的类概率映射波动的补偿,从而提升模型的训练效果,以及训练好的模型所得到的所述协同适配关联向量的分类结果的准确性。
[0059] 综上,根据本申请实施例的无人机群协同任务分配方法被阐明,其通过利用拍卖机制的思想,捕捉待分配任务与各个无人机之间的依赖关系与协同适配度,来智能化地指派所述待分配任务,以确定所述待分配任务的最优分配方案。
[0060] 进一步地,还提供一种无人机群协同任务分配系统。
[0061] 图7为根据本申请实施例的无人机群协同任务分配系统的框图。如图7所示,根据本申请实施例的无人机群协同任务分配系统300,包括:任务获取模块310,用于获取待分配任务;建模模块320,用于对所述待分配任务和无人机群进行建模以得到待分配任务语义编码特征向量和多个无人机状态向量;协同关联模块330,用于建立所述待分配任务语义编码特征向量和所述多个无人机状态向量之间的协同关联关系以得到多个协同适配关联矩阵;以及,待分配任务生成模块340,用于基于所述多个协同适配关联矩阵,指派所述待分配任务。
[0062] 如上所述,根据本申请实施例的无人机群协同任务分配系统300可以实现在各种无线终端中,例如具有无人机群协同任务分配算法的服务器等。在一种可能的实现方式中,根据本申请实施例的无人机群协同任务分配系统300可以作为一个软件模块和/或硬件模块而集成到无线终端中。例如,该无人机群协同任务分配系统300可以是该无线终端的操作系统中的一个软件模块,或者可以是针对于该无线终端所开发的一个应用程序;当然,该无人机群协同任务分配系统300同样可以是该无线终端的众多硬件模块之一。
[0063] 替换地,在另一示例中,该无人机群协同任务分配系统300与该无线终端也可以是分立的设备,并且该无人机群协同任务分配系统300可以通过有线和/或无线网络连接到该无线终端,并且按照约定的数据格式来传输交互信息。
[0064] 以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。