APP下载

基于自适应神经网络的风力摆设计实现

2016-06-25许可行刘延飞羊帆

科技与创新 2016年12期

许可行 刘延飞 羊帆

摘 要:随着神经网络的不断发展,控制系统的设计出现了新的方法。提出了一种自上而下的设计方法,并详细地阐述了其工作原理和软、硬结合的设计理念。通过卡尔曼滤波融合陀螺仪和加速度计测量反馈的数据,并基于自适应神经网络PID算法的调节,实现对风机驱动模块输入电压的PWM控制,以达到对风力摆运动轨迹的预定控制。设计方案以XS128单片机为核心,配合以风机驱动模块、陀螺仪测量模块、串口数据接收模块和电源模块。测试结果表明,该方案所设计的风力控制系统响应快、偏差小、程序过程清晰、电路结构简单、系统可靠性高、易于维护和更新。

关键词:自适应神经网络;风力摆设计;XS128单片机;数字陀螺仪

中图分类号:TP273+.2 文献标识码:A DOI:10.15913/j.cnki.kjycx.2016.12.006

随着世界各国对水下航行器的不断研究,人们对水下航行器的需求已经不再仅局限于在水中低速或高速地运动,而是要求其具有悬浮、爬潜以及按照预定轨迹运动等更出色的机动性能。但是,由于水下航行器在运动时受到的环境干扰复杂,需要设计更优的控制算法,使水下航行器具有较强的鲁棒性和抗干扰能力。因此,本文以风力摆为研究对象,模拟水下航行器的运动环境,提出了一种基于自适应神经网络的控制方法。该方法是将几组轴流风机搭配成风力摆,依靠其内部风机转动形成轴向风力,并以流体力学和牛顿第三定律等相关理论为指导,实现其在复杂环境下的特定运动。这一方案既保证了系统的稳定性,又使产生的控制误差最小。

1 理论分析和计算

1.1 机构的运动学分析

为了方便分析,在分析运动学之前,我们作了以下几种假设:①假设系统X轴与Y轴相互独立且不存在耦合;②假设系统均为匀质刚体,不存在弹性形变;③假设运动过程中系统的惯性参数、结构参数不发生改变;④假设风机及底座质量远远大于摆杆质量,忽略摆杆质量对系统质心的影响。

1.3.3 目标三:圆锥摆控制

在目标二的基础上设定α=λt,即可实现期望运动的圆周运动。其中,参数λ用于控制圆锥摆的角速度。相关计算公式为:

1.3.4 目标四:有界干扰情况下的控制

由于神经网络PID控制本身是一种自适应控制,具有较好的鲁棒性,通过实验不断测试参数可以实现有界干扰情况下的控制。

2 总体设计

2.1 控制系统设计

根据理论计算的结果得出系统的性能描述,再对系统进行分解,将其核心控制部分划分为6个子模块,分别是给定量输入、神经网络PID、风机驱动模块、轴流风机组、MPU6050、被控量输出。其基本控制系统如图4所示。

2.2 机械结构设计

风力摆结构如图5所示,通过万向节连接硬质连杆,连杆另一端连接“十”字形硬质底座;“十”字形底座每一端各安装一个轴流风机,在硬质连杆中部安装数字陀螺仪和加速度计。通过“十”字形安装轴流风机,实现了风摆在摆动投影面内的四象限可达。采用硬质杆连接可有效避免连接弹性形变所带来的非线性控制问题。

2.3 测量模块设计

本文的设计方案所采用的惯性测量元件为高精度的陀螺加速器MPU6050,通过处理器所带的串口读取MPU6050测量的数据。该模块集成了卡尔曼滤波算法,可有效降低干扰,提高测量精度,并且整合了三轴陀螺仪、三轴加速器和六轴运动处理组件。MPU6050的角速度全格感测范围为±250°/s(dps)、±500°/s(dps)、±1 000°/s(dps)和±2 000°/s(dps),可准确追踪物体的运动,模块采集到的数据可通过I2C或SPI接口传输。

陀螺仪角度计算公式为:

θn=θn-1+(gyro-gyroc)×gyror. (8)

公式(8)中:θn为当前的角度值,°;gyro为陀螺仪的敏感轴偏转值;gyroc为陀螺仪的零点偏移值;gyror为陀螺仪的比例。

加速度计角度计算公式为:

θz=(Az-Cz)×Rz. (9)

公式(9)中:θz为加速度计敏感轴Z轴产生的倾角,°;Az是加速仪Z轴的读数;Cz为Z轴零点的偏移量,测量方法与陀螺仪一致;Rz为Z轴的比例。

3 测试方案和测试结果

3.1 测试条件及方案

测试环境:温度28 ℃,湿度60%.

测试仪器:60 W电风扇、TDS210示波器、VICTOR VC09805万用表、PS-528金属秒表、量角器、直尺、基准测量板。

系统参数:质量350 g,摆长(静止时顶端到测量基准面的垂线距离)110 cm。

测试步骤:①对各个硬件电路进行单模块测试,保证各模块功能正常后进行系统联调;②将程序下载到单片机中,观察不同模式下摆杆的摆动状况,并实时记录数据,分析判断。

3.2 测试结果与分析

测试结果有以下几种:①测试陀螺仪角度、角速度的精度。角度测量偏差为0.1°,角速度测量精度为0.05°/s。该精度满足使用要求。②测试类似自由摆动,相关测试结果见表1.③测试30~60 cm可控直线摆动实验,相关测试结果见表2.④测试设定摆向摆动,相关测试结果见表3.⑤测试圆锥摆,相关测试结果见表4.⑥测试有外部干扰(静止时水平距离风力摆为50 cm处,对准风力摆中心用60 W电风扇直吹)的圆锥摆,相关测试结果见表5.

4 结束语

本设计采用数字陀螺仪作为测量装置,由于系统存在非线性关系且要求有一定的鲁棒性,因此采用神经网络PID控制算法获得系统输入控制率。测试结果表明,该系统设计性能良好,基本达到设计要求。可见,运用基于自适应神经网络的控制算法,不仅能够保证水下航行器轨迹跟踪的稳定性,还能够保证轨迹跟踪的精度。这对其执行循迹探测任务具有重大意义。

参考文献

[1]王婷,宋保维.水下航行器多推进器动力定位控制[J].兵工学报,2006,27(5).

[2]王其,徐晓苏,张涛,等.模糊自适应滤波在水下航行器组合导航系统中的应用[J].中国惯性技术学报,2008,16(3).

[3]陈向坚,李迪,白越,等.模糊神经网络在自适应双轴运动控制系统中的应用[J].光学 精密工程,2011,19(7).

[4]李广军.基于RBF神经网络的PID整定[D].成都:西南交通大学,2005.

[5]Liu T F,Wang C,Hill D J.Learning from neural control of nonlinear systems in normal form.Systems & Control Letters,2009,58(9).

[6]刘迪.基于神经网络的PID控制算法[D].哈尔滨:黑龙江大学,2008.

[7]Bruno Sinopoli,Luca Schenato,Massimo Franceschetti.Kalman filtering with intermittent observations.IEEE Transactions on Automatic Control,2004,49(9).

[8]江帆,张振山,邓小涛,等.惯性导航系统陀螺漂移补偿算法研究[J].微计算机信息,2007,23(11).

〔编辑:刘晓芳〕