自适应马达控制方法、装置及存储介质与流程

文档序号:19148699发布日期:2019-11-15 23:49阅读:143来源:国知局
自适应马达控制方法、装置及存储介质与流程

【技术领域】

本发明涉及马达控制领域,尤其涉及一种自适应马达控制方法、装置及存储介质。



背景技术:

在传统的马达控制中,若要达到马达的完美操作,则需要知道精确地马达模型。由于现有马达的物理模型无法完全采用广泛使用的线性模型,因此,现有技术中一般采用非线性模型来近似马达的物理模型。但是,非线性模型的构建和实现都有着很多问题,比如:对于非线性模型的可靠性:在建立模型时,很难保证马达的物理模型与构建的非线性模型的一致性;其次,对于模型参数的准确性:在测量参数时,一方面非线性参数很难测量,另一方面就是实测的数值也只是近似的。因此在使用数学模型来表达真实马达时,必然是近似的,唯一的区别在于有多近似,这样很难保证模型的准确度。

因此,有必要提供一种可以适应性马达的非线性控制的方法,来实现对马达的非线性控制。



技术实现要素:

本发明的目的之一在于提供一种自适应马达控制方法,其能够解决现有技术中马达的控制采用单一的马达模型对马达控制时准确性低、可靠性差等问题。

本发明的目的之二在于提供一种自适应马达控制装置,其能够解决现有技术中马达的控制采用单一的马达模型对马达控制时准确性低、可靠性差等问题。

本发明的目的之三在于提供一种计算机可读存储介质,其能够解决现有技术中马达的控制采用单一的马达模型对马达控制时准确性低、可靠性差等问题。

本发明的技术方案之一如下:

一种自适应马达控制方法,所述自适应马达控制方法包括:

获取数据步骤:获取当前时刻马达运行过程中的当前参数;

确定步骤:根据当前参数确定当前时刻马达运行的区域类型;

触发步骤:根据当前时刻马达运行的区域类型触发对应的马达模型;

控制步骤:将当前参数输入到对应的马达模型中;根据当前参数生成马达运行的控制参数;根据马达运行的控制参数控制马达的运行控制。

进一步地,所述当前时刻马达运行的区域类型包括线性区域和非线性区域,所述确定步骤包括:

当确定当前时刻马达运行的区域类型为线性区域时,触发线性模型,并执行线性控制步骤;

当确定当前时刻马达运行的区域类型为非线性区域时,触发神经网络模型,并执行非线性控制步骤。

进一步地,所述线性控制步骤:将当前参数输入到线性模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行;

所述非线性控制步骤:将当前参数输入到神经网络模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行。

进一步地,所述神经网络模型为时间延迟神经网络模型。

进一步地,所述时间延迟神经网络模型的训练步骤包括:

从历史数据中获取马达运行过程中各个参数,其中,将其作为时间延迟神经网络模型的输入层节点的参数;

从历史数据中获取马达运行过程中的控制参数,其中,将其作为时间延迟神经网络模型的输出层节点的参数;

结合反向传播算法确定时间延迟神经网络模型的每个隐藏层节点的系数,对时间延迟神经网络模型进行训练。

进一步地,所述当前时刻马达运行过程中的当前参数包括当前时刻马达振子的位移,所述确定步骤包括:

将位移与系统设定的对应的位移阈值比较;

根据比较结果确定当前时刻马达运行的区域类型。

进一步地,所述获取数据步骤包括:

当系统初始控制、或马达运行在线性区域时,采用线性模型预估出当前时刻的马达振子的位移;

当马达运行在非线性区域时,采用神经网络模型预估出当前时刻的马达振子的位移。

进一步地,所述线性模型采用二阶物理模型,其微分方程如下:

本发明的技术方案之二如下:

一种自适应马达控制装置,包括存储器和处理器,所述存储器上存储有可在处理器上运行的马达控制程序,所述马达控制程序为计算机程序,所述处理器执行所述马达控制程序时实现如本发明目的之一采用的自适应马达控制方法的步骤。

本发明的技术方案之三如下:

一种存储介质,所述存储介质为计算机可读存储介质,其上存储有马达控制程序,所述马达控制程序为计算机程序,所述马达控制程序被处理器执行时实现如本发明目的之一采用的自适应马达控制方法的步骤。

本发明的有益效果在于:本发明通过双模式切换的方式实现对马达的控制,当马达运行在线性区域时,根据线性模型对马达进行控制;而当马达运行在非线性区域时,将其切换到神经网络模型,实现对马达进行控制。本发明能够自动根据马达运行的区域来自动选择对应的模型,实现对马达的控制,解决了现有技术中马达的控制模型采用单一的非线性模型导致控制不可靠等问题。

【附图说明】

图1为本发明提供的自适应马达控制方法的流程图;

图2为本发明提供的线性模型控制的流程图;

图3为本发明提供的神经网络模型控制的流程图;

图4为本发明提供的自适应马达控制方法的逻辑参数变化图;

图5为本发明提供的自适应马达控制装置的模块图。

【具体实施方式】

下面结合附图和实施方式对本发明作进一步说明。

实施例一

请参阅图1-3所示,本发明提供了一种自适应马达控制方法,采用双模型切换的方式对马达进行控制,如图4所示为本发明的马达控制中逻辑参数变化图。将神经网络模型和线性模型作为马达的观察器,用于根据马达运行过程中的各个参数,计算得出马达的控制参数。

将神经网络控制器和线性控制器作为马达的控制器,用于接收神经网络模型和线性模型计算得出的马达的控制参数,实现对受控马达的控制。

由于,本发明采用双模型切换的方式对马达进行控制,因此,如图4所示中的逻辑判断模块,在马达的运行过程中,用于实时对马达的运行区域进行判断,并根据判断结果自动选择神经网络模型还是线性模型来计算马达的控制参数,进而实现马达的非线性控制或线性控制。

也即是:当马达运行在线性区域时:触发线性模型,此时将马达运行过程中的各个参数输入到线性模型中,得出当前马达的控制参数,进而将当前马达的控制参数输入到线性控制器中,实现地马达的线性控制。

本发明通过加入线性模型实现马达的线性控制,是为了提高系统的鲁棒性。其中,线性模型采用传统的二阶物理模型,其微分方程如下:

其中,m为质量,k为劲度系数。

当马达运行在非线性区域时:触发神经网络模型,此时将马达运行过程中的各个参数输入到神经网络模型中,得出当前马达的控制参数,进而将当前马达的控制参数输入到神经网络控制器中,实现地马达的非线性控制。

本发明中所采用的神经网络模型是通过训练得到的。也即是说:本发明中采用的神经网络模型采用时间延迟神经网络模型(全称:timedelayneuralnetworkmodel,简称:tdnn模型)。

该tdnn模型的训练过程具体如下:

在tdnn模型的输入层:每个输入节点对应的是每个时刻的采样点,也即是每个输入节点的输入数据均为每个时刻所检测的马达运行过程中的参数,然后经过多层隐藏层的计算,得到马达模型的输出。

为了使用神经网络模型实现马达的非线性控制,还需要对每层的参数进行最优化求解,本发明采用反向传播算法以及softmax函数(也称:归一化指数函数)的方法进行梯度计算实现每层的参数最优化。

也即是说tdnn模型的训练过程如下:从历史数据中得出马达运行过程中的各个参数,并将其作为神经网络模型的输入参数,将马达控制的控制参数作为神经网络模型的输出参数,并采用反向传播算法,确定神经网络模型中每个隐藏层节点的系数,也即是确定神经网络模型的各个参数,对神经网络模型进行训练得出神经网络模型。

另外,对于神经网络模型的架构以及训练过程,是常规技术,本发明是将利用神经网络模型的架构以及训练建立一模型,用于表达马达运行过程中的各个参数与马达的控制参数之间的对应关系,这样就可以根据当前时刻马达运行过程中的各个参数得到马达的控制参数,进而实现对马达的实时控制。

然后,当马达运行到非线性区域时,触发神经网络模型,并通过将当前时刻所检测到的马达运行过程中的参数输入到神经网络模型中,进而得到对马达的控制参数,再通过神经网络控制器根据计算得出的马达的控制参数控制马达的运行。

进一步地,对于判断马达是否运行在非线性区域,有很多种方法。

本发明采用使用位移估计的方法进行判断马达是否运行在非线性区域。

也即是:首先通过系统评估出马达运行在线性区域时马达的位移阈值、以及马达运行在非线性区域的马达的位移阈值。

然后在判断时,将当前时刻的马达运行的实时位移与对应位移阈值之间作对比,判断得出马达是运行在线性区域还是运行在非线性区域。

另外,对于初始控制时,首先系统给定一个控制模式,首先通过线性模型对马达运行的位移进行预测,并且采用线性控制策略控制马达的工作,然后通过实时获取马达运行的位移,并判断马达运行的区域是否为线性区域,若是,则继续采用线性控制策略控制马达的工作;若否,则触发神经网络模型,采用非线性控制策略马达的运行。

若马达运行在非线性区域,采用神经网络控制策略控制马达的工作,使用神经网络模型对马达的状态进行检测,也即是实时预估马达运行的位移。当根据预估的马达运行的位移判断到马达运行在线性区域时,系统自动切换到线性控制策略对马达进行控制,同时采用线性模型替代神经网络模型对马达状态进行预测。

若马达运行在线性区域,采用线性控制策略控制马达的工作,使用神经网络模型对马达的状态进行检测,也即是实时预估马达运行的位移。当根据预估的马达运行的位移判断到马达运行到非线性区域时,系统户自动切换到神经网络控制策略对马达进行控制值,同时采用神经网络模型替代线性模型对马达状态进行预测。依据上述控制,周而复始,直至系统停止,进而实现对马达的可靠控制。

本发明通过采用双模型来自动适应马达运行的线性区域以及非线性区域,使得每个模型可专注于其擅长的区域对马达进行控制,能够更好地实现对马达的控制,比现有技术中通过单一的非线性模型实现马达的控制,大大提高了控制的可靠性。

如图1所示,一种自适应马达控制方法,包括:

步骤s100:获取当前时刻马达运行过程中的当前参数。比如通过各种监测设备来检测得出当前时刻马达运行过程中的当前参数。该参数不仅包括马达运行过程中马达振子的位移。

步骤s200:根据当前参数确定当前时刻马达运行的区域类型。

由于马达运行的区域类型不同,其需要采用不同的马达模型来实现其马达控制。

步骤s300:根据当前时刻马达运行的区域类型触发对应的马达模型。

步骤s400:将当前参数输入到对应的马达模型中;根据当前参数生成马达运行的控制参数;根据马达运行的控制参数控制马达的运行控制。

其中,马达模型包括线性模型和神经网络模型,因此:

请参阅图2和图3,所述步骤s300和步骤s400具体为:

步骤s301:当确定当前时刻马达运行的区域类型为线性区域时,触发线性模型;

步骤s401:将当前参数输入到线性模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行。

步骤s302:当确定当前时刻马达运行的区域类型为非线性区域时,触发神经网络模型;

步骤s402:将当前参数输入到神经网络模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行。

另外,在确定马达运行的区域类型时,将马达振子的位移与系统设定的对应的位移阈值比较;并根据比较结果确定当前时刻马达运行的区域类型。

另外,由于系统初始时,并不知道马达运行的区域类型,因此在系统初始控制时,采用线性模型预估出当前时刻的马达振子的位移。

实施例二

本发明提供了一种自适应马达控制装置。如图5所示,本发明一实施例提供的自适应马达控制装置的内部结构示意图。

在本实施例中,自适应马达控制装置可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该自适应马达控制装置至少包括:处理器12、通信总线13、网络接口14以及存储器11。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是自适应马达控制装置的内部存储单元,例如该自适应马达控制装置的硬盘。存储器11在另一些实施例中也可以是自适应马达控制装置的外部存储设备,例如自适应马达控制装置上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括自适应马达控制装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于自适应马达控制装置的应用软件及各类数据,例如马达控制程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行马达控制程序等。

通信总线13用于实现这些组件之间的连接通信。

网络接口14可选的可以包括标准的有线接口、无线接口(如wi-fi接口),通常用于在该自适应马达控制装置与其他电子设备之间建立通信连接。

可选地,该自适应马达控制装置还可以包括用户接口,用户接口可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在自适应马达控制装置中处理的信息以及用于显示可视化的用户界面。

图5仅示出了具有组件11-14以及马达控制程序的自适应马达控制装置,本领域技术人员可以理解的是,图5示出的结构并不构成对自适应马达控制装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

在图5所示的自适应马达控制装置实施例中,存储器11中存储有马达控制程序;处理器12执行存储器11中存储的马达控制程序时实现如下步骤:

获取数据步骤s100:获取当前时刻马达运行过程中的当前参数;

确定步骤s200:根据当前参数确定当前时刻马达运行的区域类型;

触发步骤s300:根据当前时刻马达运行的区域类型触发对应的马达模型;

控制步骤s400:将当前参数输入到对应的马达模型中;根据当前参数生成马达运行的控制参数;根据马达运行的控制参数控制马达的运行控制。

进一步地,所述当前时刻马达运行的区域类型包括线性区域和非线性区域,所述确定步骤s300包括:

步骤s301:当确定当前时刻马达运行的区域类型为线性区域时,触发线性模型,并执行线性控制步骤s401;

步骤s302:当确定当前时刻马达运行的区域类型为非线性区域时,触发神经网络模型,并执行非线性控制步骤s402。

进一步地,所述线性控制步骤s401:将当前参数输入到线性模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行;

所述非线性控制步骤s402:将当前参数输入到神经网络模型得出马达运行的控制参数,根据马达运行的控制参数控制马达的运行。

进一步地,所述神经网络模型为时间延迟神经网络模型。

进一步地,所述时间延迟神经网络模型的训练步骤包括:

从历史数据中获取马达运行过程中各个参数,其中,将其作为时间延迟神经网络模型的输入层节点的参数;

从历史数据中获取马达运行过程中的控制参数,其中,将其作为时间延迟神经网络模型的输出层节点的参数;

结合反向传播算法确定时间延迟神经网络模型的每个隐藏层节点的系数,对时间延迟神经网络模型进行训练。

进一步地,所述当前时刻马达运行过程中的当前参数包括当前时刻马达振子的位移,所述确定步骤s300包括:

将位移与系统设定的对应的位移阈值比较;

根据比较结果确定当前时刻马达运行的区域类型。

进一步地,所述获取数据步骤s100包括:

当系统初始控制、或马达运行在线性区域时,采用线性模型预估出当前时刻的马达振子的位移;

当马达运行在非线性区域时,采用神经网络模型预估出当前时刻的马达振子的位移。

进一步地,所述线性模型采用二阶物理模型。

实施例三

此外,本发明实施例还提出一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有马达控制程序,所述马达控制程序可被一个或多个处理器执行,以实现如下操作:

步骤s100:获取当前时刻马达运行过程中的当前参数。比如通过各种监测设备来检测得出当前时刻马达运行过程中的当前参数。该参数不仅包括马达运行过程中马达振子的位移。

步骤s200:根据当前参数确定当前时刻马达运行的区域类型。

由于马达运行的区域类型不同,其需要采用不同的马达模型来实现其马达控制。

步骤s300:根据当前时刻马达运行的区域类型触发对应的马达模型。

步骤s400:将当前参数输入到对应的马达模型中;根据当前参数生成马达运行的控制参数;根据马达运行的控制参数控制马达的运行控制。

本发明存储介质具体实施方式与上述自适应马达控制方法和装置各实施例基本相同,在此不作累述。

以上所述的仅是本发明的实施方式,在此应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1