"基于PID神经网络的两轮自平衡小车研究" 本文研究基于PID神经网络的两轮自平衡小车系统。该系统采用C语言编写的神经网络识别程序,通过对上一时刻来自编码器、陀螺仪加速度计的数据进行处理,获得小车上一时刻的状态信息,包括角度、角速度、位置、位置微分。然后,通过对这4个状态量的运算处理,获得对下一时刻小车电机的控制信号,即小车系统的输入。 PID神经网络在反向调整网络权值的过程中,各偏导用符号函数近似代替。因此,各层权值调整算法如下: 1. 经t步训练后,隐层至输出层权值调整算法为:(£+ 1)一。⋅el()·sgn冀. 2. 经t步训练后,输入层至隐层权值调整算法为:(H-1):∽+ ∽.Sgn冀·sgn. 其中:()为经t次训练后输入层节点J与隐层节点i的连接权值;()为经t次训练后隐层节点i与输出层节点的连接权值;M,为输入层节点J的输入;z()和q()为隐层节点i的第k个输入和输出;z()和Y()为输出层节点的第k个输入和输出;e()为经t次训练后小车实际输出Y与识别网络NNI输出Y的偏差。 优化控制器参数 由于AVR中的控制器有4个输入量、1个输出量,本文神经网络控制(NNC)程序采用如图3所示结构。输出层的神经元为自适应线性神经元。 图2 NNI结构图 图3 NNC结构图 网络权值调整算法如下: - I- 1)= w · ㈤ 8()· 口f. 其中:E()为目标函数;叫(£)(z一1, 2,3,4)为经t次训练后,输入层第z个神经元与输出层神经元的连接权值;田为步长;e()为经t次训练后期望输出r与网络实际输出Y的偏差;n为输入层节点z的输入。 基于PID神经网络的参数优化过程 本文中两轮小车的控制原理见图4,在基于AVR的两轮小车的基础上,利用PID神经网络对两轮小车的模型NNI进行识别,以两轮小车某时刻的输入和输出作为识别神经网络(PID神经网络)的两个输入,将网络的输出Y与小车实际输出进行比较,如果两者的偏差e超过设定值,则通过BP算法对网络权值进行调整,直到e符合要求。当e符合要求后,系统以NNI的输出Y为小车实际输出,通过与期望输出r进行比较,得出偏差e,然后通过BP算法在内部不断调整控制器网络NNC,直到偏差e满足预设条件。当e满足要求后,对应的控制器参数就是得到优化后的参数,将其传递给AVR中的控制器变量,用以优化小车的平衡性能力。程序一直循环下去,实时控制小车的运行状态。 期望输出图4基于PID神经网络的两轮小车原理图 图4中,e为期望输出与网络实际输出的偏差,“为控制器产生的控制信号,Y为在控制信号和小车实际输出Y下的辨识网络NNI的输出, 为小车实际输出Y与 的偏差,ez为期望输出r与Y的偏差。 本文基于PID神经网络的两轮自平衡小车系统,采用C语言编写的神经网络识别程序,通过对上一时刻来自编码器、陀螺仪加速度计的数据进行处理,获得小车上一时刻的状态信息,并通过对这4个状态量的运算处理,获得对下一时刻小车电机的控制信号。该系统还采用BP算法对网络权值进行调整,并通过PID神经网络对两轮小车的模型NNI进行识别,以优化小车的平衡性能力。
- 粉丝: 132
- 资源: 23万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助