基于神经网络算法的单框架控制力矩陀螺系统复合控制
2021-09-08岳继光何洪志吴琛浩
岳继光,何洪志,吴琛浩,赵 雷,鲁 明,来 林
(1.同济大学电子与信息工程学院,上海 201804;2.北京控制工程研究所,北京 100190)
近年来我国的航天事业已进入世界先进行列[1]。空间运动伺服机构是航天器的关键部件,与地面的伺服机构不同,需要工作在无重力、动基座环境,具有运动控制强耦合、多源激励低阻尼等特点。这些特点给空间高动态、高精度的运动控制带来困难。单框架控制力矩陀螺(single gimbal control moment gyro,SGCMG)系统是空间运动伺服机构的核心部件,通过一个高速旋转的转子获得一定的角动量,改变角动量的方向对外输出力矩,能够输出连续大力矩。SGCMG在国际上已经得到广泛应用,成为长寿命大型航天器首选的执行机构。单框架控制力矩陀螺系统相关控制技术是我国未来航天事业的关键技术之一[2]。
2011年9月,天宫一号目标飞行器成功发射,实现了我国自主研发控制力矩陀螺的首次在轨应用[3-5]。北京控制工程研究所在控制力矩陀螺框架伺服系统抗干扰和控制精度方面的研究工作取得了突破性进展[6]。北京航空航天大学针对控制力矩陀螺的控制策略,在抑制系统所受扰动方面做了很多研究[7-8]。文献[9]提出了一种基于遗传算法拟双环-锁相环的双模控制方法,引入干扰力矩补偿控制,实现了干扰情况下的稳速控制。文献[10]对柔性隔振结构下的控制力矩陀螺,搭建了数学模型并完成了仿真分析。由于单框架控制力矩陀螺系统的强耦合非线性特性,在使用传统控制方法时存在一定局限性。在制定控制策略时多针对具体问题采用与之相应的方案,针对单框架控制力矩陀螺系统强耦合非线性的特征,需要研究相应的控制方法,有效地提升系统实用性[11]。
1 虚拟广义被控对象模型的建立
图1为单框架控制力矩陀螺系统的直接驱动架构控制系统。由于空间限制等因素,系统中只安装了一个角位置传感器和电机电流测量装置,使得挠性高动态、时变载荷、宽频扰振、结构和电气非线性特性、相互间强耦合等因素难以直接或间接测量,传统控制方法具有很大局限性。
图1 SGCMG框架伺服系统示意图Fig.1 Diagram of SGCMG gimbal servo system
在图1所示的SGCMG框架伺服系统中,将永磁同步电机、框架以及角位置传感器三部分作为广义被控对象。对于广义被控对象,输入信号为永磁同步电机励磁电流,输出信号包括框架位置、框架转速以及转子电机电流。采用神经网络建立对应输入输出关系的虚拟广义被控对象模型。
1.1 训练数据采集与虚拟广义被控对象模型训练方案
本文采集了500 N·ms单框架控制力矩陀螺系统在不同条件下的运行数据,包括稳定的刚性条件和对系统施加不同频率(25~80 Hz)振动的柔性条件,采样周期为30 ms,得到系统在不同状态下的运行数据。
选择永磁同步电机励磁电流作为神经网络的输入,输出层包括框架位置,框架转速以及转子电机电流。考虑到框架位置与框架转速之间为积分关系,根据实际需求,可以将输出层分为包含框架位置与不包括框架位置两种。最终确定虚拟广义被控对象模型训练方案如下:
(1)输出层为框架位置、框架转速及转子电机电流,输入层为励磁电流与前k时刻的输出层数据(其中k=0,1,2…)。
(2)输出层为框架转速及转子电机电流,输入层为励磁电流与前k时刻的输出层数据(其中k=0,1,2…)。
模型的训练使用反向传播(back ground,BP)神经网络。神经网络训练过程中,按照8:1:1的比例将训练数据划分为训练集、验证集以及测试集;设置最大迭代次数为1 000,学习速率为0.1,期望误差为10-7,隐含层节点数根据经验公式及实验确定,在满足精度的前提下,取尽可能少的隐含层节点数。
1.2 训练数据预处理
采集得到的训练数据存在测量噪声,为更好地训练广义被控对象,使其训练结果更接近系统真实情况,采用卡尔曼滤波[12]对训练数据进行滤波处理。
卡尔曼滤波是一种最优状态估计方法,能够利用上一时刻最优估计以及测量值来估计当前状态,得到更接近真值的测量值。通过卡尔曼滤波分别处理刚性及柔性(本文所述用于构建虚拟广义被控对象模型的柔性条件为50 Hz振动条件下系统运行数据)两种条件下的测量数据,图2给出了刚性条件数据的滤波结果。
图2所示滤波结果表明,经过卡尔曼滤波处理后的数据能够有效地平滑数据曲线,去除毛刺,使得数据更接近系统运行真值,为下一步虚拟广义被控对象模型的建立提供较为准确的训练数据。
图2 刚性条件数据卡尔曼滤波结果Fig.2 Kalman filtering results of flexible conditions
1.3 虚拟广义被控对象模型训练结果
根据1.1节训练方案,对刚性条件及柔性条件下的数据进行训练,在训练过程中,选择k=0,1,3构建了不同结构的神经网络模型。图3~图5分别给出了刚性条件下k=0,1,3,即输入层分别为励磁电流、励磁电流与前一时刻输出层、励磁电流与前3时刻输出层时,虚拟广义被控对象模型的训练结果。
图3 刚性条件下模型训练结果(k=0)Fig.3 Model training results under rigid conditions(k=0)
图5 刚性条件模型训练结果(k=3)Fig.5 Model training results under rigid conditions(k=3)
1.4 模型训练结果
分析1.3节模型训练结果,当输出层包含框架位置时,在实际场景中,0°与360°为同一个位置,在数据上会出现一个0°与360°的跳变,使得在模型训练过程中神经网络的结构更为复杂,且会导致跳变处精度不足,如图6所示。
图6 框架位置跳变处局部放大图(刚性,k=1)Fig.6 Local view of gimbal position jump(rigid,k=1)
1.1 节提到框架位置与框架转速之间为积分关系,因此在包含框架转速的前提下可以省略对框架位置的训练。当输出层不包含框架位置时可进一步简化神经网络模型,解决该问题。
图4 刚性条件下模型训练结果(k=1)Fig.4 Model training results under rigid conditions(k=1)
从图3~图5可以看出,使用单输入多输出(k=0)的神经网络模型无法有效拟合测试数据;当k=1或3时,能够较为精确地拟合测试数据。为简化模型结构,最终选择k=1,得到输入层为励磁电流与前一时刻的框架转速及转子电机电流、输出层为框架转速及转子电机电流的神经网络模型。使用该训练方案可以得到柔性(50 Hz振动)条件下的虚拟广义被控对象模型。
在完成模型训练后,本文使用训练得到的柔性条件下的虚拟广义被控对象模型测试其他振动条件下的系统数据,用于验证构建虚拟广义被控对象模型的有效性。表1给出了500 N·ms单框架控制力矩陀螺系统不同条件下的运行数据,经过柔性条件(50 Hz)训练模型的输出与实际输出之间的误差。
根据表1数据可以看出,训练得到的虚拟广义被控对象模型能够有效拟合不同条件下的系统运行数据。其中在70 Hz存在最大误差,原因在于该部分数据存在负转速状态,而本文训练使用数据为正转速转态,在正转速条件下符合要求。最后得到的虚拟广义被控对象模型如图7所示。
图7 虚拟广义被控对象模型Fig.7 Virtual generalized controlled object model
表1 柔性条件(50 Hz)模型拟合不同条件数据Tab.1 Fitting of different conditional date by flexible condition model(50 Hz)
2 基于补偿控制器的前馈-反馈控制系统
在图1所示的控制系统中,由于被控对象存在着强耦合及非线性特性,会直接影响到原控制方案的控制效果,难以弥补或消除外界多源干扰的影响。本文在不改变原控制系统结构的基础上,根据前馈控制的思想,引入补偿控制器,加入到原控制系统中,实现基于补偿控制器的前馈-反馈控制系统。
2.1 前馈控制方案
从图1中可以看出,广义被控对象的控制变量为励磁电流,为了弥补外界多源干扰的影响,拟通过在系统控制器输出的励磁电流中加入控制增量,以实现对干扰因素的抑制作用。本文将刚性条件下的系统看作是处于稳定运行状态,近似于无干扰,柔性条件下的系统视为受到外界干扰,通过两种条件下的差异分离出外界干扰对系统的影响。补偿控制器输出控制增量弥补该部分干扰。设计补偿控制器如下:
图8、图9分别为刚性条件和柔性条件下广义被控对象控制框图。
图8 刚性条件下广义被控对象控制框图Fig.8 Control block diagram of generalized controlled object under rigid conditions
图9 柔性条件下广义被控对象控制框图Fig.9 Control block diagram of generalized controlled object under flexible conditions
图中,G(z)表示刚性广义被控对象等效被控对象ˆ(z)为柔性广义被控对象等效被动对象。刚性条件下:输入u(k),输出y1(k),有:
柔性条件下:输入u(k)并考虑干扰的耦合作用,输出y2(k),有:
设计控制增量:Δu(k)消除y1(k)与y2(k)之间的误差:
将式(2)代入式(1)后得到:
2.2 补偿控制器模型
结合2.1节计算结果,可以建立输入为转速差Δω,输出为电流增量ΔI的补偿控制器模型,补偿控制器训练方案如图10所示。图中,BPNN表示BP神经网络,I和I*分别为刚性条件与柔性条件系统控制器输出控制电流,相减得到两种条件下励磁电流差值ΔI,ωk和ωk*分别为刚性条件下和柔性条件下系统输出转速,两者之间的差异为转速变化量Δω,If、If*分别表示刚性和柔性条件下输出框架电流,θ和θ*表示刚性和柔性条件下输出框架位置,使用1.1节所述神经网络训练得到补偿控制器。
图10 补偿控制器Fig.10 Compensation controller
训练结果如图11所示。
图11 补偿控制器训练结果Fig.11 Training results of compensation controller
训练得到的补偿控制器模型均方误差为0.006 5 mA,平均误差为0.079 7 mA,最大误差为0.085 2 mA。为避免控制电流增量对系统造成损害,在使用中需结合实际设置补偿控制器输出控制增量范围。
2.3 前馈-反馈控制系统
将补偿控制器模型加入到原控制系统中,即可得到基于补偿控制器的前馈-反馈控制系统,如图12所示。
图12 基于补偿控制器的前馈-反馈控制系统Fig.12 Feedforward-feedback control system based on compensation controller
3 实验仿真及结果
结合第2节设计内容,搭建Simulink环境下的仿真实验。本文构建的柔性条件下虚拟广义被控对象输入为励磁电流,输出为框架转速及转子电机电流,系统输入励磁电流使用文献[13]给出的一种考虑柔性基座影响的PID(proportion-integral-differential)控制系统模型。
图13为给定转速下系统输出,图14为对应的位置输出。从图13中可以看出,相比于传统PID控制系统,本文设计的前馈-反馈控制系统精度更高;加入补偿控制器后,系统精度进一步提高,稳态误差小,跟踪给定输入能力更强。图14结果表明,加入补偿控制器后系统输出误差更小,更加稳定,近似于一条直线,指向精度更高。
图13 制系统输出转速(w=0.2)Fig.13 Output speed of control system(w=0.2)
图14 控制系统位置输出(w=0.2)Fig.14 Position output of control systems(w=0.2)
本文测试了不同转速条件下,加入补偿控制器系统的稳态误差,与原系统测试数据稳态误差对比结果如表2所示。从表2中可以看出,加入补偿控制器的前馈-反馈控制系统稳态误差有明显提升,系统控制性能更优。
空间运动伺服系统需要工作在多种转速状态下,不同转速之间的切换会对系统输出转速造成影响。根据实际工作要求,本文选择0.2,1,2,5(°)·s-1实施转速切换情况下系统的控制性能测试。图15给出了系统在转速切换条件下的转速输出情况。可以看出,本文设计的前馈-反馈控制系统在转速切换时,在保持较高控制精度的基础上,超调量小,响应时间短,控制性能好。
图15 转速切换条件下系统输出Fig.15 System output under switching speed condition
4 小结
传统前馈-反馈复合控制需要精准获取干扰通道数学模型,本文在获取空间运动伺服机构实际运行数据的基础上,使用神经网络方法构建了涵盖干扰通道信息的虚拟广义被控对象模型;在不改变原系统控制结构的基础上,设计了一种“外挂式”的补偿控制器,与原空间运动伺服机构控制器构成了基于神经网络的前馈-反馈控制系统。本文给出的基于500 N·ms单框架控制力矩陀螺系统的实验数据的仿真结果,表明了本方案可以提升系统稳态精度,减小稳态误差,实现转速的高精度控制。在单框架控制力矩陀螺系统工作转速切换时能够快速跟踪给定输入,响应时间短,跟踪能力强,控制性能好。对类似的航天器姿态控制具有参考价值。
作者贡献说明:
岳继光:总体方案设计。
何洪志:方案实施与实验仿真。
吴琛浩:神经网络算法。
赵雷:实验方案设计。
鲁明:实验平台搭建。
来林:实验数据采集。