一种基于机器学习的超声电机精确定位控制方法

文档序号:1076370 发布日期:2020-10-16 浏览:15次 >En<

阅读说明:本技术 一种基于机器学习的超声电机精确定位控制方法 (Ultrasonic motor accurate positioning control method based on machine learning ) 是由 李华峰 陈浩 于 2020-06-30 设计创作,主要内容包括:本发明提供基于机器学习的超声电机精确定位控制方法,内容如下:设计一个超声电机的驱动控制电路,使得超声电机正常运转;按照公式f=ae&lt;Sup&gt;bx&lt;/Sup&gt;-a+k随时间开始均匀增加超声电机驱动电路的频率,最后使得超声电机速度下降到不随驱动电路的频率变化而变化;记录降速时间T内超声电机的降速距离L,超声电机的稳态速度V&lt;Sub&gt;0&lt;/Sub&gt;;然后电机逐渐运动到指定目标位置,转速变为零,记录定位误差Δδ;重复步骤S1至S3,改变参数a和b的值,从而设定超声电机新的降速策略,获得若干组数据;构建BP神经网络并进行训练。本发明将神经网络算法应用到超声电机控制问题中,得到不同的目标位置或者降速距离对应不同的最佳降速策略,实现超声电机快速、平稳降速的目的。(The invention provides an ultrasonic motor accurate positioning control method based on machine learning, which comprises the following steps: designing a drive control circuit of the ultrasonic motor to ensure that the ultrasonic motor operates normally; according to the formula f ═ ae bx A &#43; k uniformly increases the frequency of the ultrasonic motor driving circuit along with the time, and finally, the speed of the ultrasonic motor is reduced to be not changed along with the frequency change of the driving circuit; recording the deceleration distance L of the ultrasonic motor and the steady-state speed V of the ultrasonic motor in the deceleration time T 0 (ii) a Then the motor gradually moves to a specified target position, the rotating speed becomes zero, and a positioning error delta is recorded; repeating the steps S1 to S3, changing the values of the parameters a and b, thereby setting a new speed reduction strategy of the ultrasonic motor, and obtaining the result ifStem group data; and constructing a BP neural network and training. The invention applies the neural network algorithm to the control problem of the ultrasonic motor to obtain different optimal speed reduction strategies corresponding to different target positions or speed reduction distances, thereby achieving the purpose of quickly and stably reducing the speed of the ultrasonic motor.)

一种基于机器学习的超声电机精确定位控制方法

技术领域

本发明涉及超声电机定位控制领域,特别是涉及一种基于机器学习的超声电机精确定位控制方法。

背景技术

超声电机是一种利用压电材料的逆压电效应,激发弹性体在超声频段产生微幅振动,并通过定、转子之间的摩擦将其转换成转子(动子)的回转(直线)运动的新型电机。相比与传统的电机,超声电机具有响应快、断电自锁、低速大转矩、位移分辨率高等优点,同时具有良好的位置和速度控制,在航空航天、机器人、汽车、精密仪器等多个领域有着重要的应用前景。

在很多应用场合中,控制对象要求超声电机能够平稳、准确的到达指定位置,以免对被控制对象造成冲击。然而由于超声电机制造工艺的原因,以及电机的参数是非线性的,使得同一套控制参数不能满足其在任何一个指定位置都能获得满意的控制效果,即难以建立精确的调整超声电机运动的数学模型。

BP神经网络作为最成功的神经网络算法,只需一个包含足够多神经元的隐含层,就能以任意精度逼近任意复杂度的连续函数。BP算法的基本思想是:学习过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐含层处理后,传向输出层,若输出层的实际输出与期望输出不符合要求,则转入误差的反向传播阶段。误差的反向传播是将输出误差以某种形式通过隐含层向输入层逐层反向传播,并将误差分摊给各个层的所有单元,从而获得各个单元的误差信号,以此作为个单元的修正依据。但传统的BP神经网络存在学习速度慢,容易陷入局部最优解,鲁棒性不强等缺点,预先定义的损失函数的值衡量了模型在给定数据集下的拟合能力,在训练BP神经网络任务中需要最小化预先定义的损失函数,传统的方法是基于梯度下降的方法对损失函数进行优化求解,然而选择恰当的初始学习速率很困难,学习率太大会妨碍收敛,导致损失函数在最小值附近震荡甚至偏离最小值,同时非凸的损失函数在优化过程中存在大量的局部最优解或鞍点,对具有不同重要性的参数进行更新时采用相同的学习率,会降低收敛速度,增加求解复杂度,进而达不到对超声电机进行精确定位的目的。

发明内容

本发明的目的是提供一种基于机器学***稳降速的目的。

为实现上述目的,本发明提供了如下方案:本发明提供一种基于机器学习的超声电机精确定位控制方法,内容如下:

S1.设计一个超声电机的驱动控制电路,使得超声电机正常运转;

S2.设定参数a、b,在超声电机正常运转过程中,按照公式f=aebx-a+k随时间开始均匀增加超声电机驱动电路的频率,最后使得超声电机速度下降到不随驱动电路的频率变化而变化,此时超声电机的转速接近于零;记录降速时间T内超声电机的降速距离L,稳态下超声电机的稳态速度V0;其中由采样时间t确定参数x,超声电机开始降速的时刻记为零时刻,k为常数;

S3.超声电机继续运动直到到达指定位置,速度变为零,记录定位误差Δδ;

S4.重复步骤S1至S3,改变参数a和b的值,从而设定超声电机新的降速策略,然后获得若干组数据;

S5.构建B-P神经网络并进行训练,其中构建的B-P神经网络的输入层数据为参数a、参数b、降速时间T内超声电机的降速距离L及超声电机速度达到稳态时的稳态速度V0;B-P神经网络的输出层输出超声电机的降速时间T及定位误差Δδ。

优选地,根据超声电机的具体型号确定参数k的值。

优选地,BP神经网络的输入层的节点个数n为4,x1代表参数a,x2代表参数b,x3代表降速时间T内超声电机的降速距离L,x4代表超声电机速度达到稳态时的稳态速度V0;输出层节点个数m为2,y1代表超声电机的降速时间段T、y2代表定位误差Δδ;已知BP神经网络的输入和输出层的节点数分别为输入变量和输出变量的维数,定义隐含层节点数为q,输入层和隐含层间的权值为θji(j=1,2,…,q;i=1,2,…,n),阈值为bj(j=1,2,…,q),隐含层和输出层的权值为wkj(k=1,2;j=1,2,…,q),阈值为f1(·)为隐含层的传递函数,f2(·)为输出层的传递函数,该BP神经网络的隐含层数定为一层;

隐含层节点的输出为:

Figure BDA0002562414930000031

上式中f1(·)为隐含层的传递函数,输入层和隐含层间的权值为θji(j=1,2,…,q;i=1,2,…,n),阈值为bj(j=1,2,…,q),

输出层节点的输出为:

Figure BDA0002562414930000032

上式中f2(·)为输出层的传递函数,隐含层和输出层的权值为wkj(k=1,2,…,m;j=1,2,…,q),阈值为

设神经网络的期望输出值为t=(t1,t2,…,tm),网络输出与期望输出不一致时会存在输出误差,定义输出误差E如下:

上式中j=1,2,…,q;

展开到隐含层,有:

展开到输出层,有:

Figure BDA0002562414930000044

优选地,输出误差E是θji、ωkj、bj的函数,如果改变θji、ωkj、bj

Figure BDA0002562414930000046

的值,那么输出误差E的值也会发生改变,BP神经网络的训练过程就是不断修正权值和阈值,使输出误差E尽量小以达到设定的要求的过程,BP神经网络训练的过程就是按误差函数的负梯度方向修改权系数的过程,即:

Figure BDA0002562414930000048

上式中j=1,2,…,q;k=1,2,…,m;

Figure BDA00025624149300000410

上式中j=1,2,…,q;k=1,2,…,m;

上式中,η∈(0,1),表示学习速率。

优选地,确定BP神经网络隐含层节点数m的方法为:

其中m为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1-10之间的常数。

优选地,基于TensorFlow框架构建BP神经网络算法。

本发明公开了以下技术效果:相比于传统的控制方案,本发明通过调节超声电机驱动电压的频率进行降速,使超声电机到达指定位置时停止,本发明的可操作性强。同时本发明技术方案将不同降速策略下的参数进行神经网络学***稳降速的目的,使得实验结果更加可靠。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为超声电机前5秒进行pid控制算法对其稳速,降低稳定运转时的速度对实验的影响,从第5秒开始,超声电机以指数上升的方式改变频率,超声电机则平稳快速的降速到达指定目标位置;

图2为改变指数曲线的参数a,b,得到不同的频率上升时的降速策略示意图;

图3为本发明用到的B-P神经网络结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图1-3和具体实施方式对本发明作进一步详细的说明。

超声电机是一种利用压电陶瓷的逆压电效应,激发弹性体在超声频段产生微幅振动,使定子产生超声波振动,并通过定转子直接的摩擦来驱动转子运动的新型电机。因此,需要驱动信号来驱动电机运作,这个驱动信号就是需要两相相差90度的正弦波,因此实践中,可以通过硬件搭建驱动电路,配合软件编程来驱动超声电机运转。

在超声电机工作的时候,它能够正转、反转、停车(停止)、加速、减速,所有这些都可以通过编程来实现,其中电机速度的变化可以通过改变驱动信号(两相正弦波)的频率f、幅值A、相位差Δψ三者中的任意一个或者两个来实现。本实施例通过改变驱动信号的频率f来实现超声电机速度的变化控制,当超声电机速度变化时,才能根据其速度变化来对其进行定位控制。

驱动信号的频率即为驱动电机的频率,一般在40khz-45khz之间,具体根据超声电机的型号而定,本实施例中驱动信号的频率选定在42khz-45khz之间,通常驱动超声电机的驱动信号的频率越高,超声电机速度越低,反之亦然。本实施例通过控制超声电机的驱动信号的频率来控制超声电机的速度,在开始时,先让超声电机运行至一个较高的稳定的转速V,比如60r/min,此速度对应一个驱动信号的频率f=42.2khz,这可以通过pid来进行控制。超声电机稳定运行后,增加驱动信号的频率来对超声电机进行降速,设定参数a、b,在超声电机正常运转过程中,按照公式f=aebx-a+42.19随时间开始均匀增加超声电机驱动电路的频率,最后使得超声电机速度下降到不随驱动电路的频率变化而变化,此时超声电机的转速接近于零;记录降速时间T内超声电机的降速距离L,稳态下超声电机的稳态速度V0;其中由采样时间t确定参数x,超声电机开始降速的时刻记为零时刻,k为常数。然后,超声电机继续运动直到到达指定位置,速度变为零,记录定位误差Δδ。通过多次设定参数a和参数b的值,进行不同降速策略下超声电机相应参数的测量,得到多组不同的数据。

如图1-2所示,图1为超声电机前5秒进行pid控制算法对其稳速,降低稳定运转时的速度对实验的影响,从第5秒开始,超声电机以指数上升的方式改变频率,超声电机则平稳快速的降速到达指定目标位置。图2为改变指数曲线的参数a,b,得到不同的频率上升时的降速策略示意图。

然后,构建TensorFlow框架下的BP神经网络并进行训练,其中构建的BP神经网络的输入层数据为参数a、参数b、降速时间T内超声电机的降速距离L及超声电机速度达到稳态时的稳态速度V0;B-P神经网络的输出层输出超声电机的降速时间T及定位误差Δδ。表1列出了部分实验数据。

表1BP神经网络输入参数和输出参数

Figure BDA0002562414930000071

Figure BDA0002562414930000081

如图3所示,BP神经网络的输入层的节点个数n为4,x1代表参数a,x2代表参数b,x3代表降速时间T内超声电机的降速距离L,x4代表超声电机速度达到稳态时的稳态速度V0;输出层节点个数m为2,y1代表超声电机的降速时间段T、y2代表定位误差Δδ;已知BP神经网络的输入和输出层的节点数分别为输入变量和输出变量的维数,定义隐含层节点数为q,输入层和隐含层间的权值为θji(j=1,2,…,q;i=1,2,…,n),阈值为bj(j=1,2,…,q),隐含层和输出层的权值为wkj(k=1,2;j=1,2,…,q),阈值为f1(·)为隐含层的传递函数,f2(·)为输出层的传递函数,该BP神经网络的隐含层数定为一层;

隐含层节点的输出为:

上式中f1(·)为隐含层的传递函数,输入层和隐含层间的权值为θji(j=1,2,…,q;i=1,2,…,n),阈值为bj(j=1,2,…,q),

输出层节点的输出为:

上式中f2(·)为输出层的传递函数,隐含层和输出层的权值为wkj(k=1,2,…,m;j=1,2,…,q),阈值为

设神经网络的期望输出值为t=(t1,t2,…,tm),网络输出与期望输出不一致时会存在输出误差,定义输出误差E如下:

上式中j=1,2,…,q;

展开到隐含层,有:

Figure BDA0002562414930000094

展开到输出层,有:

输出误差E是θji、ωkj、bj

Figure BDA0002562414930000096

的函数,如果改变θji、ωkj、bj的值,那么输出误差E的值也会发生改变,BP神经网络的训练过程就是不断修正权值和阈值,使输出误差E尽量小以达到设定的要求的过程,BP神经网络训练的过程就是按误差函数的负梯度方向修改权系数的过程,即:

Figure BDA0002562414930000098

Figure BDA0002562414930000099

上式中j=1,2,…,q;k=1,2,…,m;

Figure BDA0002562414930000101

Figure BDA0002562414930000102

上式中中j=1,2,…,q;k=1,2,…,m;

上式中,η∈(0,1),表示学习速率。

更进一步技术方案,确定BP神经网络隐含层节点数m的方法为:

Figure BDA0002562414930000103

其中m为隐含层节点数,n为输入层节点数,l为输出层节点数,α为1-10之间的常数。

相比于传统的控制方案,本发明通过调节超声电机驱动电压的频率进行降速,使超声电机到达指定位置时停止,本发明的可操作性强。同时本发明技术方案将不同降速策略下的参数进行神经网络学***稳降速的目的,使得实验结果更加可靠。

在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

以上所述的实施例仅是对本发明的优选方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明保护范围。

12页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于亥姆霍兹谐振腔的球形超声能量收集器

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!