用于控制器适应的系统和方法

阅读:786发布:2020-05-19

专利汇可以提供用于控制器适应的系统和方法专利检索,专利查询,专利分析的服务。并且描述了一种控 制动 力 系统(即,“设备”)的神经模型预测控制(MPC) 控制器 。该MPC控制器在基本控制器中接收设备的当前状态的测量结果,并且基于所述设备的所述当前状态的所述测量结果生成控制 信号 。前向模 块 接收所述设备的所述当前状态的所述测量结果以及所述 控制信号 ,以生成前向模块预测。前向模块校正器从所述基本控制器接收所述设备的所述当前状态的所述测量结果以及所述控制信号,以生成对所述前向模块预测的附加校正以生成预测设备状态。生成多对控制信号和相应预测设备状态的为长度L的控制序列,直至已经生成Ns个控制序列为止。基于所述Ns个控制序列生成下一个设备控制信号。,下面是用于控制器适应的系统和方法专利的具体信息内容。

1.一种神经模型预测控制MPC控制器,所述神经模型预测控制MPC控制器包括:
一个或更多个非暂时性电子处理器,所述非暂时性电子处理器被配置为执行以下操作:
在前向模中从基本控制器接收设备的当前状态的测量结果和控制信号,以生成前向模块预测;
在前向模块校正器中接收所述设备的所述当前状态的所述测量结果和所述控制信号,以生成对所述前向模块预测的附加校正以便生成预测设备状态,其中,所述前向模块校正器是利用基本梯度下降训练的前馈神经网络
生成多对控制信号和相应预测设备状态的控制序列;以及
基于所述控制序列生成下一个设备控制信号。
2.根据权利要求1所述的神经模型预测控制MPC控制器,所述神经模型预测控制MPC控制器还被配置为执行以下操作:在所述基本控制器中接收设备的当前状态的测量结果;以及基于所述设备的所述当前状态的所述测量结果生成所述控制信号。
3.根据权利要求2所述的神经模型预测控制MPC控制器,其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号。
4.根据权利要求3所述的神经模型预测控制MPC控制器,其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的所述基本控制器。
5.根据权利要求1所述的神经模型预测控制MPC控制器,所述神经模型预测控制MPC控制器还包括一个或更多个传感器,所述一个或更多个传感器与基本控制器、前向模块和前向模块校正器通信连接,以生成所述设备的所述当前状态的所述测量结果。
6.根据权利要求1所述的神经模型预测控制MPC控制器,其中,每个控制序列使用唯一随机生成的基本控制器生成。
7.根据权利要求1所述的神经模型预测控制MPC控制器,其中,所述前向模块校正器是多层感知器。
8.根据权利要求1所述的神经模型预测控制MPC控制器,其中,所述基本控制器是神经网络。
9.根据权利要求1所述的神经模型预测控制MPC控制器,所述神经模型预测控制MPC控制器还包括一个或更多个传感器,所述一个或更多个传感器与基本控制器、前向模块和前向模块校正器通信连接,以生成所述设备的所述当前状态的所述测量结果;
其中,每个控制序列使用唯一随机生成的基本控制器生成;
其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号;
其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的基本控制器;并且
其中,所述前向模块校正器是多层感知器
10.一种使用神经模型预测控制MPC控制器根据稀疏数据快速适应的方法,所述方法包括以下动作:
使一个或更多个处理器执行存储在非暂时性存储器上的指令,使得当执行指令时所述一个或更多个处理器执行以下操作:
在前向模块中从基本控制器接收设备的当前状态的测量结果和控制信号,以生成前向模块预测;
在前向模块校正器中接收所述设备的所述当前状态的所述测量结果和所述控制信号,以生成对所述前向模块预测的附加校正以便生成预测设备状态,其中,所述前向模块校正器是利用基本梯度下降训练的前馈神经网络;
生成多对控制信号和相应预测设备状态的控制序列;以及
基于所述控制序列生成下一个设备控制信号。
11.根据权利要求10所述的方法,所述方法还包括执行以下操作的动作:在所述基本控制器中接收设备的当前状态的测量结果;以及基于所述设备的所述当前状态的所述测量结果生成所述控制信号。
12.根据权利要求11所述的方法,其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号。
13.根据权利要求12所述的方法,其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的所述基本控制器。
14.根据权利要求10所述的方法,所述方法还包括以下动作:从与基本控制器、前向模块和前向模块校正器通信连接的一个或更多个传感器接收信号,以生成所述设备的所述当前状态的所述测量结果。
15.根据权利要求10所述的方法,其中,每个控制序列使用唯一随机生成的基本控制器生成。
16.根据权利要求10所述的方法,其中,所述前向模块校正器是多层感知器。
17.根据权利要求10所述的方法,其中,所述基本控制器是神经网络。
18.根据权利要求10所述的方法,所述方法还包括以下动作:从与基本控制器、前向模块和前向模块校正器通信连接的一个或更多个传感器接收信号,以生成所述设备的所述当前状态的所述测量结果;
其中,使用唯一随机生成的基本控制器生成每个控制序列,
其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号;
其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的基本控制器;以及
其中,所述前向模块校正器是多层感知器。
19.一种非暂时性计算机可读介质,该非暂时性计算机可读介质存储有计算机可读指令,所述计算机可读指令由具有一个或更多个处理器的计算机执行,以使得所述处理器执行以下操作:
在前向模块中从基本控制器接收设备的当前状态的测量结果和控制信号,以生成前向模块预测;
在前向模块校正器中接收所述设备的所述当前状态的所述测量结果和所述控制信号,以生成对所述前向模块预测的附加校正以便生成预测设备状态,其中,所述前向模块校正器是利用基本梯度下降训练的前馈神经网络;
生成多对控制信号和相应预测设备状态的控制序列;以及
基于所述控制序列生成下一个设备控制信号。
20.根据权利要求19所述的非暂时性计算机可读介质,所述计算机可读指令还使得所述一个或更多个处理器执行以下操作:在所述基本控制器中接收设备的当前状态的测量结果;以及基于所述设备的所述当前状态的所述测量结果生成所述控制信号。
21.根据权利要求20所述的非暂时性计算机可读介质,其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号。
22.根据权利要求21所述的非暂时性计算机可读介质,其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的所述基本控制器。
23.根据权利要求19所述的非暂时性计算机可读介质,所述计算机程序产品还包括指示装置,所述指示装置用于使得所述一个或更多个处理器从与基本控制器、前向模块和前向模块校正器通信连接的一个或更多个传感器接收信号,以生成所述设备的所述当前状态的所述测量结果。
24.根据权利要求19所述的非暂时性计算机可读介质,其中,每个控制序列使用唯一随机生成的基本控制器生成。
25.根据权利要求19所述的非暂时性计算机可读介质,其中,所述前向模块校正器是多层感知器。
26.根据权利要求19所述的非暂时性计算机可读介质,其中,所述基本控制器是神经网络。
27.根据权利要求19所述的非暂时性计算机可读介质,所述计算机程序产品还包括指示装置,所述指示装置用于使得所述一个或更多个处理器从与基本控制器、前向模块和前向模块校正器通信连接的一个或更多个传感器接收信号,以生成所述设备的所述当前状态的所述测量结果;
其中,每个控制序列使用唯一随机生成的基本控制器生成;
其中,对预测设备状态限定代价函数,使得通过在Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,并且然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号;
其中,生成所述最小化序列的所述基本控制器是在下一个时间步幅中使用的所述基本控制器;以及
其中,所述前向模块校正器是多层感知器。

说明书全文

用于控制器适应的系统和方法

[0001] 相关申请的交叉引用
[0002] 本申请是2014年9月30日提交的美国临时申请No.62/057,633的非临时专利申请,该美国临时申请的全部内容通过引用被包括在本文中。

背景技术

(1)技术领域
[0003] 本发明涉及一种控制器适应(adaptation)系统,并且更具体地,涉及一种给予系统(诸如自主和/或用户控制的汽车或飞机)的控制器快速地适应系统的动学的变化的能力的控制器适配器。
[0004] (2)相关技术的描述
[0005] 动力系统通常经由控制器操作。控制器的任务是在自主系统上评估操作参数(诸如周围环境等)并执行命令,以在操作参数的界限内执行任务并进行操作。
[0006] 已经开发了用于控制自主系统的多种系统和方法。例如,模型预测控制(参见所结合的参考文献列表,参考文献1)计算最佳控制命令来实现给定控制目标(例如,将汽车保持在车道中),但是这种计算取决于系统动力学的前向(forward)模型,并且使该模型适应突变要求另一种方法。
[0007] 诸如支持向量回归(参见参考文献2)、高斯过程(参见参考文献3)以及主成分分析(参见参考文献4)的机器学习方法通常要求大量数据来重新学习功能关系。在线学习方法利用每个单独数据点使内部模型逐渐适应(参见参考文献5至7),但是不能适应突变。系统动力学的预期变化可能很大,特别是在损害之后。由于这种变化,在线学习模型通常不能足够快速地适应突变。
[0008] 因此,存在一种对根据由于系统动力学的突变导致的稀疏数据提供适应的快速控制器适配器的持续需求。

发明内容

[0009] 描述一种用于根据稀疏数据适应以控制动力系统而不管动力的不期望改变的神经模型预测控制(MPC)控制器。系统可能是自主和/或用户控制的汽车或飞机或其子组件(或者任何其它自主系统)。换句话说,在一些实施方式中,自主系统是能够操作以用于执行各种任务(诸如飞行(在飞机的情况下)、或驾驶(在汽车的情况下)或者抓取(在机器人的情况下))的设备(plant)、或者是能够操作以用于执行任务的任何其它合适系统。
[0010] 所述MPC控制器包括被配置为执行多个操作的一个或更多个非暂时性电子处理器(例如,一个或更多个处理器以及存储器,所述存储器是在其上编码有可执行指令的非暂时性计算机可读介质,使得当执行所述指令时,所述一个或更多个处理器执行多个操作)。如上所述,所述一个或更多个非暂时性电子处理器被配置为执行多个操作,包括:在基本控制器中接收设备的当前状态的测量结果,并且基于所述设备的所述当前状态的所述测量结果生成控制信号;在前向模中接收所述设备的所述当前状态的所述测量结果以及所述控制信号,以生成前向模块预测;在前向模块校正器中从所述基本控制器接收所述设备的所述当前状态的所述测量结果以及所述控制信号,以生成对所述前向模块预测的附加校正(additive correction)以生成预测设备状态;生成多对控制信号和相应预测设备状态的为长度L的控制序列,直至已经生成Ns个控制序列为止;以及基于所述Ns个控制序列来生成下一个设备控制信号。
[0011] 在另一方面,所述MPC控制器使得所述设备驱动或执行所述下一个控制信号。
[0012] 在又一方面,对预测设备状态限定代价函数,使得通过在所述Ns个控制序列中的每个控制序列中的所述预测设备状态当中找到使所述代价函数最小化的预测设备状态以生成最小化序列,然后从所述最小化序列中选择第一设备控制信号来确定所述下一个控制设备信号。生成所述最小化序列的所述基本控制器是在下一个时间步幅(step)中使用的基本控制器。
[0013] 在又一方面,一个或更多个传感器可以与基本控制器、前向模块和前向模块校正器通信连接,以生成所述设备的所述当前状态的所述测量结果。
[0014] 在又一方面,使用唯一随机生成的基本控制器生成每个控制序列。
[0015] 另外,所述前向模块校正器是神经网络。
[0016] 在另一方面,所述前向模块校正器是多层感知器(multi-layer perceptron)。
[0017] 在又一方面,所述基本控制器是神经网络。
[0018] 最后,本发明还包括计算机程序产品和计算机实现方法。所述计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可读指令,所述计算机可读指令可以通过具有一个或更多个处理器的计算机来执行,使得当执行所述指令时,所述一个或更多个处理器执行本文中所列出的操作。另选地,所述计算机实现方法包括使得计算机执行这种指令并执行所产生的操作的动作。附图说明
[0019] 从下面结合附图对本发明的各个方面的详细描述中,本发明的目的、特征和优点将变得明显,在附图中:
[0020] 图1是示出根据本发明的一些实施方式的系统的组件的框图
[0021] 图2是具体实现本发明的一个方面的计算机程序产品的例示;
[0022] 图3是根据本发明的实施方式的神经模型预测控制(MPC)控制器的系统表示;
[0023] 图4是示出如双杆平衡问题中使用的车摆系统的例示;
[0024] 图5是示出车摆系统和神经MPC控制器的例示;
[0025] 图6是示出如由车摆系统中的前向模块采用的示例性微分方程的例示;
[0026] 图7是示出在损害车摆系统之后车体和杆(pole)的位置的图表;
[0027] 图8是示出在损害车摆系统之后车体和杆的速度的图表;
[0028] 图9是示出在损害车摆系统之后由神经MPC控制器进行的预测车摆系统状态时的误差的图表;
[0029] 图10是示出在各种等级的损害已经发生之后车摆系统被成功控制达至少20秒的可能性的图表;
[0030] 图11是示出在各种等级的损害已经发生之后车摆系统被成功控制达至少40秒的可能性的图表;
[0031] 图12是示出在各种等级的损害已经发生之后车摆系统被成功控制达至少60秒的可能性的图表;以及
[0032] 图13是示出在不同前向模块校正器网络大小的范围内生存达20秒、40秒和60秒的生存时间的平均可能性的图表。

具体实施方式

[0033] 本发明涉及一种控制器适应系统,并且更具体地,涉及一种允许系统(诸如自主和/或用户控制的汽车或飞机)的控制器具有快速地适应自主系统的动力学的变化的能力的控制器适配器。给出下面的描述以使得本领域普通技术人员能够制造并使用本发明,并且能够将其包含在特定应用的情境中,各种修改以及在不同应用中的各种使用对于本领域技术人员来说将是显而易见的,并且本文中限定的一般原理可以应用于广泛多个方面。因此,本发明不旨在限于所呈现的方面,而是符合与本文中所公开的原理和新颖特征相一致的最宽范围。
[0034] 在下面的详细说明中,为了提供对本发明的更全面理解,阐述了大量具体细节。然而,本发明可以在不必须限于这些具体细节的情况下被实践,这对于本领域技术人员来说将是显而易见的。在其它情况下,已知结构和装置以框图形式而不是详细地被示出,以便避免使本发明模糊不清。
[0035] 读者的注意力在于与本说明书同时提交的并且与本说明书一起对公众查阅开放的全部文献,并且全部这种文献的内容通过引用被包含在本文中。除非另有明确说明,本说明书(包括任何所附权利要求摘要和附图)中公开的全部特征可以由用作相同、等同或相似目的的另选特征代替。因此,除非另有明确说明,所公开的每个特征是通常系列的等同或相似特征的仅一个示例。
[0036] 此外,权利要求中的没有明确陈述用于执行指定功能的“装置”或者用于执行特定功能的“步骤”的任何元件将不会如35U.S.C.112章节第6款中规定的“装置”或“步骤”条款那样进行解释。特别地,在本文中的权利要求中使用“步骤”或“动作”并不旨在引用35U.S.C.112章节第6款的规定。
[0037] 在详细描述本发明之前,首先提供所引用文献的列表。接下来,提供本发明的各个主要方面的描述。随后,介绍为读者提供了本发明的一般理解。最后,提供本发明的各种实施方式的具体细节,以给出具体方面的理解。
[0038] (1)所结合的参考文献的列表
[0039] 贯穿本申请引用了如下参考文献。为了清楚和方便起见,参考文献作为对读者的中心资源而在本文中列出。下面的参考文献通过引用被包含在本文中,如同在本文中完全陈述一样。通过引用相应参考文献标号,将参考文献引用在本申请中。
[0040] 1.Allgower Z.Nonlinear model predictive control.Progress in Systems Theory 26.Birkhauser,2000.
[0041] 2.Vapnik VN.The nature of statistical learning theory.Springer-Verlag,New York,1995.
[0042] 3.Rasmussen  CE,Williams CKI.Gaussian Processes for Machine Learning.MIT Press,2006.
[0043] 4.Diamantaras KI,Kung SY.Principal Component Neural Networks.John Wiley&Sons,New York,1996.
[0044] 5.Oja E.A simplified  neuron model as a  principal component analyzer.Journal of Mathematical Biology 15(3):267-273,1982.
[0045] 6.Ouyang S,Bao Z,Liao GS.Robust recursive least squares learning algorithm for principal component analysis.IEEE Transactions on Neural Networks 11(1):215-221,2000.
[0046] 7.Hoffmann,H.,Schaal,S.,and Vijayakumar,S.Local dimensionality reduction for non-parametric regression.Neural Processing Letters,Vol.29,pp.109-131,2009.
[0047] 8.Elizondo E,Birkenhead R,Gongora M,et al.Analysis and test of efficient methods for building recursive deterministic perceptron neural networks.Neural Networks,Vol.20,pp.1095-1108,2007.
[0048] 9.Fahlman,S and  Lebiere,C.The  cascade-correlation learning architecture.In Adv.in Neural Info.Processing Systems II,pp.524-532.San Francisco,CA:Morgan Kaufmann,1990.
[0049] 10.Frean,M.The upstart algorithm:A method for constructing and training feedforward neural networks.Neural Computation,2,198-209,1990.[0050] 11.Islam M,Sattar A,Amin F,Yao X,and Murase K.A New Adaptive Merging and Growing Algorithm for Designing Artificial Neural Networks.IEEE Transactions on Systems,Man,and Cybernetics,Part B:Cybernetics,Vol.39,pp.705-
722,2009.
[0051] 12.Martin,C.E.Adapting Swarm Intelligence For The Self-Assembly And Optimization Of Networks(Dissertation).College Park,MD:University of Maryland.2011.
[0052] 13.Gruau,F.,Whitley,D.,and Pyeatt,L.A comparison between cellular encoding and direct encoding for genetic neural networks.In\emph{Proceedings of the 1st annual conference on genetic programming(GECCO'96)}(pp.81-89).Cambridge,MA:MIT Press.1996.
[0053] 14.Jiang,F.,Berry,H.and Schoenauer,M.Supervised and evolutionary learning of echo state networks.\emph{Lecture Notes in Computer Science(including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)},5199,215-224,2008.
[0054] 15.Wieland,A.Evolving neural network controllers for unstable systems.In\emph{Proceedings of the international joint conference on neural networks(IJCNN'91)},vol.2,(pp.667-673).New York:IEEE.1991.
[0055] (2)主要方面
[0056] 本发明具有三个“主要”方面。第一个方面是控制动力系统而不管动力学的不期望变化的适应性控制系统(被称为“神经模型预测控制(MPC)控制器”)。该系统通常是计算机系统操作软件的形式,或者是“硬编码”指令集的形式。该系统可以被结合到提供不同功能的各种装置中。第二个主要方面是使用数据处理系统(计算机)操作的通常为软件形式的方法。该方法将算法或处理实现为编程语言并执行所列出的操作。第三个主要方面是一种计算机程序产品(例如,将来自该方法的逻辑编译或者直接实现为适于在所选硬件上执行的形式)。该计算机程序产品通常表示存储在诸如光学存储装置(例如压缩盘(CD)或数字通用盘(DVD))或者诸如软盘或磁带的磁性存储装置的非暂时性计算机可读介质上的计算机可读指令。另外,计算机可读媒体的非限制性示例包括硬盘只读存储器(ROM)和闪存式存储器。下面将更加详细地描述这些方面。
[0057] 在图1中提供了描述一些实施方式的系统(即,计算机系统100)的示例的框图。计算机系统100被配置为执行与程序或算法相关联的计算、处理、操作和/或功能。一方面,本文中所论述的特定处理和步骤被实现为存在于计算机可读存储器单元内并且由计算机系统100的一个或更多个处理器来执行的一系列指令(例如,软件程序)。当被执行时,指令使得计算机系统100执行特定动作并表现出特定行为,例如本文中所描述的。
[0058] 计算机系统100可以包括被配置为传输信息的地址/数据总线102。另外,诸如处理器104(或多个处理器)的一个或更多个数据处理单元与地址/数据总线102耦接。处理器104被配置为处理信息和指令。一方面,处理器104是微处理器。另选地,处理器104可以是不同类型的处理器,例如并行处理器或现场可编程阵列。
[0059] 计算机系统100被配置为利用一个或更多个数据存储单元。计算机系统100可以包括与地址/数据总线102耦接的易失性存储器单元106(例如,随机存取存储器(“RAM”)、静态RAM、动态RAM等),其中,易失性存储器单元106被配置为存储针对处理器104的信息和指令。计算机系统100还可以包括与地址/数据总线102耦接的非暂时性存储器单元108(例如,只读存储器(“ROM”)、可编程ROM(“PROM”)、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪速存储器等),其中,非暂时性存储器单元108被配置为存储针对处理器104的静态信息和指令。另选地,计算机系统100可以诸如在“”计算中执行从在线数据存储单元中检索到的指令。一方面,计算机系统100还可以包括与地址/数据总线102耦接的一个或更多个接口,诸如接口110。一个或更多个接口被配置为使得计算机系统100能够与其它电子装置和计算机系统相连接。通过一个或更多个接口实现的通信接口可以包括有线(例如,串行电缆调制解调器网络适配器等)和/或无线(例如,无线调制解调器、无线网络适配器等)通信技术。
[0060] 一方面,计算机系统100可以包括与地址/数据总线102耦接的输入装置112,其中,输入装置112被配置为向处理器100传输信息和命令选择。根据一方面,输入装置112是字母数字输入装置,诸如键盘,其可以包括字母数字键和/或功能键。另选地,输入装置112可以是除了字母数字输入装置以外的输入装置。一方面,计算机系统100可以包括与地址/数据总线102耦接的光标控制装置114,其中,光标控制装置114被配置为向处理器100传输用户输入信息和/或命令选择。一方面,光标控制装置114使用诸如鼠标跟踪球、跟踪板、光学跟踪装置或触摸屏的装置来实现。尽管前面提到过,在一方面,光标控制装置114诸如响应于与输入装置112相关联的特殊键和键序列命令的使用,经由来自输入装置112的输入被定向和/或激活。在另选方面,光标控制装置114被配置为通过语音命令被定向或引导。
[0061] 一方面,计算机系统100还可以包括与地址/数据总线102耦接的一个或更多个可选计算机可用数据存储装置,诸如存储装置116。存储装置116被配置为存储信息和/或计算机可执行指令。一方面,存储装置116是诸如磁性或光学磁盘驱动器(例如,硬盘驱动器“HDD”、软盘、光盘只读存储器(“CD-ROM”)、数字通用盘(“DVD”))。根据一方面,显示装置118与地址/数据总线102耦接,其中,显示装置118被配置为显示视频和/或图形。一方面,显示装置118可以包括阴极射线管(“CRT”)、液晶显示器(“LCD”)、场发射显示器(“FED”)、等离子体显示器、或者适用于显示视频和/或图形图像和用户可识别的字母数字字符的任何其它显示装置。
[0062] 本文中提出的计算机系统100是根据一方面的示例性计算环境。然而,计算机系统100的非限制性示例不严格限于计算机系统。例如,一方面提供计算机系统100表示可以根据本文中描述的各个方面使用的一种类型的数据处理分析。此外,还可以实现其它计算系统。确实,当前技术的精神和范围不限于任何单一数据处理环境。因此,一方面,当前技术的各个方面的一个或更多个操作使用诸如程序模块的由计算机执行的计算机可执行指令来控制或实现。在一种实现中,这种程序模块包括被配置为执行特殊任务或实现特殊抽象数据类型的例程、程序、对象、组件和/或数据结构。另外,一方面提供通过利用一种或更多种分布式计算环境来实现当前技术的一个或更多个方面,诸如由通过通信网络链接的远程处理装置来执行任务的环境,或者诸如各种程序模块均位于包括存储器存储装置的本地和远程计算机存储媒体中的环境。
[0063] 例如,通常来说,该系统能够被实现为被配置为执行所列操作的一个或更多个非暂时性电子处理器。这种非暂时性电子处理器的一个示例是在其上编码有可执行指令以执行所列操作的计算机处理器和存储器。作为其它示例,非暂时性电子处理器可以是基于硬件的(物理)神经网络、或者在专用处理硬件(诸如图形处理器单元(GPU)或现场可编程门阵列(FPGA))中实现的神经网络。
[0064] 在图2中示出了具体实现本发明的一方面的计算机程序产品(即,存储装置)的示意图。计算机程序产品被示出为软盘200或诸如CD或DVD的光盘202。然而,如前所述,计算机程序产品通常表示存储在任何可兼容的非暂时性计算机可读介质上的计算机可读指令。如关于本发明使用的术语“指令”通常指示要在计算机上执行的一组操作,并且可以表示多段整个程序或者单独可分离的软件模块。“指令”的非限制性示例包括计算机程序代码(源代码或目标代码)和“硬编码”电子设备(即,编码到计算机芯片中的计算机操作)。“指令”被存储在任何非暂时性计算机可读介质上,诸如在计算机的存储器中或者在软盘、CD-ROM和闪存驱动器上。在两种中的任何一种情况下,指令都被编码到非暂时性计算机可读介质上。
[0065] (3)介绍
[0066] 本公开提供一种控制动力系统而不管动力学的不期望变化的控制器适配器(在本文中被称为“神经模型预测控制(MPC)控制器”)。系统可能是自主和/或用户控制的汽车或飞机或其子组件(或者任何其它自主系统)。换句话说,自主和/或用户可控制系统是能够操作以用于执行各种任务(诸如飞行(在飞机的情况下)、或驾驶(在汽车的情况下)、或者抓取(在机器人的情况下))的设备。控制器是监测设备的行为并计算影响设备的行为的控制命令的软件和相关硬件。这里,不期望变化是不正常设备行为。正常设备行为例如是期望的且能够被预编程到控制器中的行为。相反,本公开针对的是由于故障或者设备的周围环境的不期望变化(例如,光滑路面)而导致的设备的变化。一些实施方式的独特方面在于,神经MPC控制器与系统动力学的前向模块并行地使用仅具有几个隐藏神经元的神经网络,并且将该神经网络与前向模块二者整合到模型预测控制框架内。神经MPC控制器的优点在于其使得自主系统(即,设备)能够快速地适应系统动力学的变化。这些变化可能由例如不期望的故障等引起。对于一些实施方式,由于自主汽车或飞机在碰撞发生之前可能仅有几秒钟来作出反应,因此适应必须快速。神经MPC控制器能够利用任何自主系统(包括自主飞机和汽车等)来实现。
[0067] (4)各种实施方式的具体细节
[0068] (4.1)系统架构
[0069] 针对弹性控制的本发明(其被称为神经模型预测控制(MPC)控制器)允许受损设备的快速恢复或延缓故障。假设设备拥有控制器,控制器具有在正常操作条件下进行对该设备的良好控制的适应性参数。该控制器被称为基本控制器。然而,一旦设备受损并且其参数变化,就需要能够快速适应修改的控制器架构。
[0070] 图3是神经MPC控制器300的系统表示,该神经MPC控制器300包括三个主要组件:静态前向模块302、适应性基本控制器304和适应性前向模块校正器306。在接收到设备310的当前状态308作为输入之后,神经MPC控制器300在闭环中进行操作,以生成包括多对控制信号316和所得到的预测设备状态314的序列。该处理被重复预定义次数以生成一组信号状态序列,每次都以最新测量的设备状态308和随机修改的基本控制器304策略开始。
[0071] 如上所述,该架构包括适应性基本控制器304、静态前向模块302和适应性前向模块校正器306。基本控制器304接受设备状态308的测量结果作为输入,并且作为响应,生成控制信号316。前向模块302接受设备状态308的测量结果以及控制信号316作为输入,并且产生下一个设备状态的前向模块预测312。前向模块校正器306接受与前向模块相同的输入(即,设备状态308的测量结果以及控制信号316),并且作为响应,生成对前向模块输出(即,前向模块预测312)的附加校正318,从而生成预测设备状态314。应当理解,能够采用基本控制器304和前向模块校正器306的任何合适实施方式,其非限制性示例包括使用神经网络,这是因为神经网络允许简单、健壮且易于训练的实现。
[0072] 神经MPC控制器300接收设备310的当前状态308的测量结果作为输入,并且作为响应,其组件(基本控制器304、前向模块302和前向模块校正器306)一起工作以生成设备控制信号320。具体地,在控制处理的每个时间步幅期间,基本控制器304、前向模块302和前向模块校正器306在闭环中操作达预定时间段,以生成包括多对控制信号316和所得到的预测设备状态314的序列。这些序列被用来使基本控制器304适应并确定由神经MPC控制器300生成的设备控制信号320。
[0073] 当控制改变的/受损的设备时,神经MPC控制器300通过首先接受设备310的当前状态308的测量结果作为输入来进行操作。该初始测量结果被馈送到基本控制器304中,作为响应,该基本控制器304生成控制信号316。前向模块302和前向模块校正器306二者都接受设备310的测量状态308以及控制信号316作为输入,并且一起生成设备的下一个状态的预测(即,预测设备状态314)。此时,神经MPC控制器300在开环中操作以生成多对控制信号316和相应预测设备状态314的为长度L的序列。基本控制器304的权重被随机地修改(下面进行解释)以创建新控制策略,并且再次从设备310的最新测量状态308开始,生成为长度L的新控制序列。重复该处理,直至已经生成Ns个控制序列为止,其中每个序列使用唯一随机生成的基本控制器304生成。
[0074] 然后Ns个控制序列被用来确定应用于设备310的下一个设备控制信号320、以及接下来将使用随机生成的基本控制器304中的哪一个。具体地,假设存在在设备状态的空间上限定的代价函数,其指定任何给定状态的质量。这种代价函数的非限制性示例是位置和速度值从其目标值偏离,例如对于双杆平衡问题,代价可以被限定如下:
[0075]
[0076] 其中,x是车体(cart)位置,x\dot是车体速度,ta1是杆#1的位置,ta1\dot是杆#1的角速度,以及指数2代表杆#2变量。
[0077] 通过在Ns个控制序列中的每个控制序列中的最终状态当中找到使误差函数最小化的状态,并且然后从最小化序列中选择第一设备控制信号320来确定下一个设备控制信号320。此外,生成最小化序列的任一个基本控制器304都是在下一个时间步幅中使用的控制器。
[0078] (4.2)系统适应
[0079] 由于设备310的参数的变化,原始基本控制器304不再完全准确。然而,通常其包含的一些信息将推广到新设备,并且因此,期望通过以使用这种可推广信息在新有效控制策略上快速收敛(converge)的方式来搜索通过基本控制器304实现的控制策略空间。为此,神经MPC控制器300实现简单但有效的搜索策略,以用于修改基本控制器304的权重(策略)。在给定时间步幅,并且针对Ni个序列中的每个,基本控制器304的每个权重wi根据如下公式被随机地修改:
[0080] wi←wi+0.1|wi|N(0,1),
[0081] 其中,N(0,1)是具有零均值和单位方差的正态分布。这样,在控制处理的每个时间步幅,针对更好的控制策略搜索基本控制器304的权重空间的局部区域。该搜索处理的局部特性有助于保存在基本控制器304中表示的可推广信息,同时仍然足够灵活以在必要时对其权重做出充分改变。
[0082] 然而,仅使基本控制器304适应是不足够的。必须使前向模块302适应以校正其缺陷,否则被生成以使基本控制器304适应并选择下一个设备控制信号320的假设信号状态序列(即,元素316和314)将不足够准确。
[0083] 在神经MPC控制器300中,原始前向模块302的参数是固定的;相反,使具有单个隐藏层的简单前馈网络的权重适应。该前向模块校正器306网络提供对前向模块302的输出的附加校正。例如,使vs(t)为设备310在时间t时的所测量状态308,使Fc(t)为从基本控制器304得到的控制信号316,使 为前向模块302,以及使 为前向模块
校正器306网络的输出318。给定vs(t)和Fc(t),前向模块 302被用来计算预测的下一个设备状态 314。实现前向模块校正器的非限制性示例是具有一个隐藏层和在神经元之间的加权连接的多层感知器
[0084] 使 为真,观察下一个设备状态。前向模块校正器306网络被训练以校正前向模块302中的误差。从这个要求看,误差函数被限定如下:
[0085]
[0086] 其中, 是校正器网络的权重。在每个时间步幅,关于 计算 的梯度,并且将梯度下降的一个步幅(step)应用于前向模块校正器306网络的权重。由于神经MPC控制器300尝试控制受损设备,前向模块校正器306和基本控制器304同时适应设备的新操作参数。
[0087] (4.3)示例性实现-双杆平衡问题
[0088] 为了进一步理解,下面描述应用于双杆平衡问题的示例性实现。应当理解,下面描述的实现仅用于例示性目的,并且本发明不旨在限于此。
[0089] 在该示例性实现中,神经MPC控制器300被用作针对双杆平衡问题的弹性控制器。该问题被选择是因为其在控制领域中是具有挑战性且广泛使用的基准测试任务。如图4中所示,双杆平衡问题是经典的基本测试控制问题,特别是对于神经网络控制器来说(参见参考文献13至15)。任务是使被铰接到沿着有限长度的轨道406移动的车体404的顶部的具有不同长度的两个杆400和402平衡。控制器试图通过在与轨道406平行的方向上向车体404的任一侧施加力来将杆400和402保持为直立。为此,控制器必须将车体404保持在离轨道406的中心指定距离内,并且其必须将每个杆400和402都保持在与垂直的规定角度极限之内。
[0090] 该系统的状态通过车体404相对于轨道406的中心的位置x、较大杆402和较小杆400相对于垂直的角位置θ1和θ2来限定。控制力Fc在与轨道406平行的方向上被施加到车体
404侧。
[0091] 在该示例中并且如图5中所示,神经MPC控制器300被实现为用Java书写的模拟环境。如图5和图6中所示,控制车摆系统的动力学的常微分方程600的系统构成前向模块302。
[0092] 基本控制器304被实现为具有6个输入节点、具有双曲正切传递函数的10个隐藏节点、具有双曲正切传递函数的1个输出节点、以及不具有偏差单元的前馈神经网络。使用已知为通过自组装的群智能网络优化(SINOSA)的粒子群优化和自组装的组合来对基本控制器304进行离线训练(参见例如参考文献12)。
[0093] 使用50个控制序列(Ns=50)使基本控制器304适应,每个控制序列的长度L=50。用来确定“获胜”控制序列的误差函数是车体404以及杆400和402的位置和速度的平方的总和。该误差函数指定车摆系统的理想状态为以下情况:车体404位于轨道406的中心,两个杆
400和402完全直立,并且不存在移动。
[0094] 前向模块校正器306被实现为具有7个输入节点、6个线性输出节点且不具有偏差单元的前馈神经网络。尝试隐藏层中的各种数量的节点,其都具有双曲正切传递函数。使用具有学习率为0.05的基本梯度下降训练前向模块校正器306。在每次试验开始,全部权重被随机初始化为间隔为[-1,1]的值,并且输出权重通过0.004/Nh因子被按比例缩放,其中,Nh是隐藏层中的神经元的数量。进行这种按比例缩放以将前向模块校正器306的初始影响限制在前向模块302预测,但是0.05的相当大学习率确保了其能够快速适应以校正前向模块302中的不准确。
[0095] 如上所述,提供双杆平衡实现作为合适实现的非限制性示例,但是本文中描述的系统不旨在限于这种实现。例如,系统能够应用于自主系统或非自主系统以维持稳定性,诸如应用于远程操作的无人机或者由人驾驶的汽车。在关于车摆系统的示例性实现中,基本控制器通过神经网络来实现。回想起基本控制器能够在正常非受损操作条件下控制车体(或其它系统)。然而,基本控制器可以仅简单地是控制系统的人类。
[0096] 进一步地,车摆示例提供用于如下平衡系统:受控的参数是基于通过针对车体的有限范围约束被施加到车体的力的两个杆的位置。然而,该系统可以被应用以对任何合适参数进行操作和控制,诸如维持遭受损害的正在飞行的无人机的上升和/或取向,或者通过ABS控制维持车辆取向以用于维持直线行驶或者过弯道。该系统被设计为延伸到那些物理系统。在那些情况下,一种情况是具有被设计用于在正常或标准操作条件下控制那些特殊系统的基本控制器,并且该系统将在一旦该系统已经遭受损害或者经历一些类型的不期望修改时应用。因此,设备可以是例如轮式或履带式车辆、具有一个或更多个转子和/或机翼的无人机等。该设备还可以是位置或移动能够在机器内(例如在制造设备中或者有腿移动中)被控制的任何物体。这种可控设备参数包括如下各项中的一个或更多个:线性或角位置(例如,通过致动器)或速度(例如,通过控制电机或推进装置)、或者行驶路径(例如,通过控制电机(推进)以及转向或方向控制)。
[0097] (4.3.1)实验结果
[0098] 下面提供测试神经MPC控制器的实验的结果。全部如下实验都利用相同基本控制器开始,该基本控制器被训练以当其参数被设置为最常用值时对车摆系统进行控制(参见参考文献14,车摆系统参数值的示例)。如在大多数的过去工作中,使用步幅大小为0.01秒的四阶龙格-库塔(Runge-Kutta)方法来数字地求解控制系统的动力学的方程。结果,使用相同方法对原始前向模块进行整合。在模拟期间,每隔0.02秒将车摆系统的状态给予控制器,此时控制力被更新。
[0099] 基本控制器能够保持未受损车摆系统接近平衡状态。为了模拟突然损害,将较大杆的长度和质量减小,车摆系统的状态被扰乱而远离两个杆都是直立的、车体位于轨道的中心并且没有移动的平衡状态。神经MPC控制器控制车摆系统的能力在六个不同损害等级被测试:较大杆的长度和质量减小25%、30%、35%、40%、45%和50%。车摆系统的初始状态被随机地提取并且独立于均匀概率分布x,θ1,θ2∈U[-0.01,0.01]和这里,x是车体的位置,θ1和θ2是杆的位置,并且 是各自速度。
较大杆的长度减小越多,从损害中恢复就越困难。确定损害等级小于25%,即使与平衡状态的偏差更大,原始基本控制器也能够防止系统出现故障。
[0100] 图7至图9示出了在30%损害之后重新获得对车摆系统的控制的使用具有3个隐藏神经元的前向模块校正器网络的神经MPC控制器的示例性结果。图7示出在损害已经发生之后车体和杆的位置。在初始过渡周期之后,神经MPC控制器充分学习了受损系统的新行为并且能够找到车体和杆的中心。车体位置以米为单位,杆位置以弧度为单位。另选地,图8示出在损害已经发生之后车体和杆的速度。再次,在初始过渡周期之后,神经MPC控制器充分学习了受损系统的新行为并且能够使其动力稳定。车体速度以 为单位,并且杆速度以 为单位。
[0101] 图9示出通过神经MPC控制器预测的车摆系统的状态的误差。前向模块校正器网络快速地学习以校正前向模块中的不准确,从而允许神经MPC控制器重新获得对系统的控制。误差被限定为是通过神经MPC控制器预测的下一个状态与在下一次观察到的实际状态之差的范数(norm)。在图7和图8中,能够看到车体和杆的位置和速度在损害已经发生之后的前两秒时间期间明显发生变化,但是由于神经MPC控制器适应了系统的变化,上述位置和速度快速地朝向零收敛。这种适应在图9中反映,其中,在损害已经发生之后的前两秒期间,该误差表现出从零的较大偏离,但是由于前向模块校正器网络学习以校正前向模块中的不准确,该误差快速地收敛至零。
[0102] 对于每个等级的损害,利用1个、2个、3个、4个、5个、10个、15个、20个、30个和40个隐藏神经元测试前向模块校正器网络。对于每个等级的损害和每个校正器网络大小,进行200次试验,其中每次试验都以车摆系统的不同随机选择的初始状态和针对随机数生成器的唯一种子开始。进行每次试验,直至车摆系统发生故障或者进行了3000个时间步幅为止,这等同于3000*0.02s=1分钟的模拟时间。
[0103] 例如,图10示出了当在前向模块校正器网络中使用具有3个或10个神经元的神经MPC控制器或者仅使用基本控制器而没有前向模型适应时,针对各个等级的损害在20秒之后车摆系统保留在成功域中的可能性。图11和图12分别示出针对40秒和60秒生存时间的相同统计。在全部三种情况下,神经MPC控制器基本上优于原始基本控制器。即使在最低等级的损害下,在原始基本控制器的控制下车摆系统也故障得相当快。相反,神经MPC控制器通常能够在较低等级的损害时完全重获对系统的控制并且在较高等级的损害时表现出更长的生存时间。此外,3个隐藏神经元和10个隐藏神经元的情况都表现得很好,这表明当我们在原始前向模块中发掘先验给定功能关系时能够使用相对小的网络。
[0104] 当在前向模块校正器网络中使用不同数量的隐藏神经元时,对神经MPC控制器的性能进行比较。例如,图13示出了针对不同校正器网络大小的范围生存达20秒、40秒和60秒的生存时间的平均可能性。对于给定校正器网络大小和生存时间,对全部六个等级的损害取平均值。具有更大校正器网络的控制器平均来说性能更好。然而,改进开始于围绕10个隐藏神经元的渐近线,并且利用2个或3个那么少的隐藏神经元获得良好的结果。
[0105] 因此,鉴于上述结果,很显然神经MPC控制器在使动力系统的基本控制器快速地适应动力学的不期望变化方面是有效的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈