APP下载

基于BP神经网络PID的水下无人航行器舵机驱动智能控制系统

2023-05-05张肖江周春桂王志军王小东侯一方张卓毅

探测与控制学报 2023年2期
关键词:舵机同步电机权值

张肖江,周春桂,王志军,王小东,侯一方,张卓毅

(中北大学机电工程学院,山西 太原 030051)

0 引言

在现代海战领域的研究中,水下自主航行器受到了越来越多的关注。舵机作为水下航行器的重要组成部分,直接影响了航行器的总体控制性能[1]。目前选用低损耗、大扭矩的永磁同步电机已经成为水下舵机选型的趋势。但由于永磁同步电机是高阶非线性系统,控制效果受到电机参数、海浪等因素的干扰较大。应用较为广泛的传统PID虽然简单易于实现,但面对复杂非线性时变系统时,不具有重新整定参数的能力。为了解决传统PID动态响应特性差的问题,文献[2]提出了变论域模糊PID控制器,相较于传统PID,提高了控制精度,但模糊控制需要一定的专家经验,并未验证其抗干扰性。文献[3]采用滑膜控制,提高了控制精度,有一定的抗干扰性,但是滑模控制在稳定后会造成抖震。BP(误差反传)神经网络对复杂非线性系统具有很强的自适应、自学习的能力。文献[4]提出了将BP神经网络和PID控制器结合的方法,实现了对永磁同步电机的调速;但是由于标准BP神经网络在修正权值时是按负梯度方式修正的,容易使学习过程陷入局部震荡、收敛速度慢的情况。

本文针对基于PID控制的电机调速舵机系统无法自学习、自适应的局限性,将PID控制器与BP神经网络算法相结合,引入动量项,减少震荡,设计了基于BP神经网络PID控制器,并建立了不同控制输入信号下偏航通道和舵机的整体仿真。

1 水下航行器控制系统及BP神经网络PID算法

1.1 水下航行器控制系统结构

水下航行器偏航通道的控制系统如图1所示,主要由偏航通道控制器、舵回路、舵片、航行器以及反馈装置等组成,其中舵回路由舵回路控制器、电机、反馈装置和减速器组成。当舵机控制器接收到控制输入和舵机位置的偏差信号后,驱动电机转动,随后经减速器减速后由反馈装置传回比较器构成舵回路闭环。对于偏航通道控制系统,由控制输入与实际的偏航角产生的偏差信号经过偏航通道的控制器生成响应的控制信号加到舵机上,舵机推动舵片转动,从而操纵航行器运动,使航行器达到并保持在新的航向设定上[5]。

图1 水下航行器控制系统框图Fig.1 Block diagram of an underwater vehicle control system

电机作为航行器舵机动力系统的主要组成部分,控制效果的好坏直接决定着航行器的运动姿态好坏。永磁同步电机因其结构简单、体积小、效率高逐渐成为伺服电机系统的发展趋势[6]。

图2 永磁同步电机控制系统框图Fig.2 Block diagram of a permanent magnet synchronous motor control system

1.2 BP神经网络PID算法

本文设计的控制器是基于BP神经网络PID的控制算法。传统PID控制是对被控对象进行闭环控制,比例、积分、微分三个环节环环相扣,互相制约,但不具备参数自学习的能力;而BP神经网络可以对函数进行映射,有很强的自学习和自适应能力。两者相结合,可以使KP,KI,KD三个参数的各种非线性组合得到最优解,取代人的经验调参,实现对复杂系统的实时控制。BP神经网络PID控制结构器框图如图3所示。图3中的神经网络控制器由增量式PID控制器和神经网络两部分组成。

经典增量式PID控制算法公式为

u(k)=u(k-1)+KP[e(k)-e(k-1)]+
KIe(k)+KD[e(k)-2e(k-1)+e(k-2)],

(1)

式(1)中,KP为比例系数,KI为积分系数,KD微分系数,e(k)为第k次采集的误差值,e(k-1)为k-1时刻采集的误差值,e(k-2)为k-2时刻采集的误差值。

图3 BP神经网络PID控制结构Fig.3 BP neural network PID control structure

2 基于BP神经网络PID控制器

根据原理的描述,BP神经网络PID算法如下[10]:

1) 初始化:确定各层的神经元节点个数以及各层级之间的权值,并赋予(-1,1)之间的随机值。有时为了训练的效率可以对原始数据样本机型规范化处理。

2) 前向网络计算:BP神经网络的输入输出为

隐含层的输入为

(3)

隐含层的输出为

f(x)为双曲正切函数,即

输出层的输入为

(6)

输出层的输出为

由增量式PID(式(1))可得控制器输出u(k)。

3) 采取输出误差二次方为性能指标函数

若误差小于等于事先设定的值,则算法结束;否则误差反向传递,按照梯度下降法,逐层修改权值。

4) 采用梯度下降算法使得网络权值系数按照学习率η修正,使搜索快速收敛至全局极小,由此可得到权值更新计算公式为

g′(x)=g(x)[1-g(x)]。

(15)

隐含层连接权值更新为

f′(x)=1-f2(x)。

(18)

5) 令k=k+1,将权值返回至第2)步重新开始计算,若性能指标函数E(k)满足设定值,则结束学习;反之,继续学习。

标准的BP神经网络采用梯度下降法作为主要手段权重沿着梯度下降的反方向修正,如果得不到期望输出,则将误差信号返回,据此对各项参数进行修改;如此反复交替,直到到达收敛为止。但在修正权值ω(k)时只是按负梯度方式修正,未考虑之前学习到的经验,常常会使系统陷入局部最小,引起局部震荡,收敛缓慢,为此引入动量项,如式(19)所示:

ω(k+1)=ω(k)+αω(k-1)+ηδo,

(19)

式(19)中,ω(k)为权值,α为动量系数,η为学习率。

BP神经网络PID控制器模型,如图4所示。BP神经网络结构设计及算法选择对于网络性能有着重要影响,以给定转子角速度r(k)、实际转子角速度y(k)、转子角速度偏差e(k)及其延时信号作为网络输入,u(k),KP,KI,KD,更新权值作为网络输出。设定隐含层节点数为8,网络学习率η=0.01,动量系数α=0.3,以性能指标E(k)作为评价指标[11]。

图4 BP神经网络PID控制器Fig.4 BP neural network PID control structure

3 仿真验证

3.1 电机仿真

基于图3的矢量控制系统和1.2节中的BP神经网络PID算法控制,在Matlab/Simulink中建立永磁同步电机模型,如图5所示。电机参数如表1所示。

表1 电机工作参数Tab.1 Motor operating parameters

图5 永磁同步电机调速系统仿真模型Fig.5 Simulation model of permanent magnet synchronous motor speed regulation system

当控制转速为500 r/min,并在0.2 s时加入一个幅值为5,作用时间为0.1 s的脉冲干扰信号来模拟负载的变换。转速响应曲线如图6,结果对比如表2所示。

图6 转速响应曲线Fig.6 Response curve of velocity

表2 加入脉冲干扰后结果对比Tab.2 Control performance indicators after pulse interference

由图6和表2结果可知,BP神经网络PID控制器达到稳态的时间要比传统PID快61%左右,两种控制方法都无明显超调。但在0.2 s后加入脉冲干扰后,BP-PID在0.7 ms后稳定在497 r/min左右,而传统PID需要14 ms后才可以到达稳态值470 r/min。在卸负载后,BP神经网络PID相较于传统PID控制调节时间快了90%左右。

3.2 舵回路及偏航通道仿真

为验证基于BP神经网络的永磁同步电机调速系统的正确性,建立舵机回路模型,如图7所示。

图7 舵机控制系统Fig.7 Steering gear control system

当加入8°的舵角指令,分别对比传统PID与BP-PID的控制性能,得出8°信号下舵机角度曲线及结果对比,如图8和表3所示。

图8 8°信号下舵机角度曲线Fig.8 The curve of servo angle under 8°signal

由图8和表3可知,两种控制方法都有较好的动态响应能力,但BP神经网络PID控制器达到稳态的时间要比传统PID控制快65%左右。

表3 控制输入为8°时舵机角度结果对比Tab.3 Comparison of servo angle resultswhen the control input is 8°

为进一步验证基于BP神经网络PID电机调速系统的优越性,对某型水下航行器做偏航通道仿真模拟,如图9所示。

其中偏航通道的传递函数为

偏航运动由尾部的垂直舵盘控制,使用指数函数,经过拉氏变换后可得[12]

输入分别给定一个8°的航向角和正弦信号,进行仿真分析,得出8°信号下航向角曲线和结果对比,如图10和表4所示。

图9 水下航行器偏航通道控制系统Fig.9 Yaw channel control system for underwater vehicles

图10 8°信号下航向角曲线Fig.10 The curve of heading angle under 8°signal

表4 控制输入为8°时航向角结果对比Tab.4 Comparison of heading angle resultswhen the control input is 8°

由仿真结果可知,在8°航向角的输入下,BP神经网络PID控制器比传统PID的超调量少了2%,调节时间快了1 s左右。

为了验证系统跟随性,输入幅值为1的正弦信号,进行仿真分析,结果如图11和表5所示。

由图11和表5可知,在正弦信号作为输入信号的情况下,BP-PID控制的上升时间比传统PID的快40 ms,相位误差比传统PID少46%左右。

图11 正弦信号下航向角曲线Fig.11 The curve of heading angle under sinusoidal signal

表5 控制输入为正弦信号结果对比Tab.5 A control input of sinusoidal signal result comparison

4 结论

针对传统PID控制器会造成水下航行器舵机控制精度不高的问题,提出基于BP神经网络PID控制器的电机调速系统,并在算法中引入动量项,减少了曲线局部震荡,加速收敛。与传统PID控制器相比,BP神经网络PID控制器减少了曲线局部震荡,加速收敛,具有更好的动态响应能力和抗干扰能力。仿真结果表明,相较于传统PID控制,永磁同步电机在BP神经网络PID的控制下,水下航行器舵机系统能达到更好的动静态性能,对电机调速系统和水下航行器舵机控制有一定的参考价值。

猜你喜欢

舵机同步电机权值
一种融合时间权值和用户行为序列的电影推荐模型
CONTENTS
永磁同步电机两种高频信号注入法的比较
含齿隙弹载舵机的全局反步模糊自适应控制
基于dsPIC单片机的飞艇舵机控制实现
基于权值动量的RBM加速学习算法研究
基于高速同步485总线通信的多通道舵机控制器设计
基于多维度特征权值动态更新的用户推荐模型研究
永磁同步电机调速系统的自抗扰控制
基于云模型的舵机同步控制