发明名称 基于神经网络的智能雨刷器
摘要 本发明公开了一种基于神经网络的智能雨刷器,包括雨量传感器和控制器,所述雨量传感器检测雨量的信号并通过A/D转换器将雨量信号传输于控制器,所述控制器控制雨刷器的摆动速度,所述传感器包括红外发射器、红外接收器、MCU,其特征在于:所述红外发射器包括红外发射电路,所述前置放大电路输出端与所述取样积分电路的输入端相连接,上取样积分电路的时序电平输入端和信号输出端分别与所述MCU和差动放大的输入端相连接,差动放大电路的输出端与MCU的采样输入端和反馈电路的输入端口相连接,上述反馈电路的输出端与所述红外发射电路的负反馈输入端相连接。本发明由于采用基于神经网络的控制器,从而解决了传统PID控制器负载参数大范围的变化以及非线性变化问题同时解决模糊控制的不确定性。
申请公布号 CN103576548B 申请公布日期 2016.08.03
申请号 CN201310331156.3 申请日期 2013.07.26
申请人 中国计量学院 发明人 陈红岩;许航飞;沈红源
分类号 G05B13/02(2006.01)I;B60S1/08(2006.01)I 主分类号 G05B13/02(2006.01)I
代理机构 代理人
主权项 一种基于神经网络的智能雨刷器,包括雨量传感器(21)和控制器(22),所述雨量传感器检测雨量的信号并通过A/D转换器将雨量信号传输于控制器(22),所述控制器(22)控制雨刷速度,所述雨量传感器(21)包括红外发射器、红外接收器、MCU(1),其特征在于:所述红外发射器包括红外LED发射(7),红外接受器包括前置放大电路(4)、取样积分电路(3)、差动放大电路(2),反馈电路(8),所述红外LED发射(7)将调制后信号发送给所述前置放大电路(4),所述前置放大电路(4)输出端与所述取样积分电路(3)输入端相连接,所述取样积分电路(3)的时序电平输入端和信号输出端分别与所述MCU(1)和差动放大电路(2)输入端相连接,所述差动放大电路(2)的输出端与MCU(1)的采样输入端以及反馈电路(8)的输入端口相连接,所述反馈电路(8)的输出端与所述红外LED发射(7)的负反馈输入端相连接;所述MCU(1)设置有两个用于控制采样频率的时序电平输出端并分别连接两个模拟开关的时序电平输入端;所述智能雨刷器的控制方法为,包括输入层(14)、隐层(15)和输出层(16),输入层(14)包括多个输入单元,所述输入层(14)把输入值传给隐层(15),隐层(15)包括两个神经单元,分别为湿度元和强度元,所述隐层(15)分别连接输入层(14)和输出层(16),所述输出层(16)包括有两个神经单元,分别为输出元和间隔元:计算方法如下:第一步:前向传输,所述隐层的输入值为所有输入层的输入值加权之和:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>x</mi><mi>j</mi></msub><mo>=</mo><munder><mi>&Sigma;</mi><mi>i</mi></munder><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><msub><mi>x</mi><mi>i</mi></msub></mrow>]]></math><img file="FSB0000154336870000011.GIF" wi="288" he="148" /></maths>w<sub>ij</sub>是输入层和输出层的加权值,x<sub>i</sub>为输出层雨滴频率大小或雨滴的大小,x<sub>i</sub>为隐层的输入值;所述隐层的输出值为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>x</mi><mi>j</mi><mo>&prime;</mo></msubsup><mo>=</mo><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mn>1</mn><mo>/</mo><mrow><mo>(</mo><mn>1</mn><mo>+</mo><msup><mi>e</mi><mrow><mo>-</mo><msub><mi>x</mi><mi>j</mi></msub></mrow></msup><mo>)</mo></mrow></mrow>]]></math><img file="FSB0000154336870000017.GIF" wi="556" he="85" /></maths>x′<sub>j</sub>为所述隐层的输出值,<img file="FSB0000154336870000018.GIF" wi="447" he="78" />为第一数值函数;对所述的第一数值函数f(x<sub>j</sub>)求导数:<img file="FSB0000154336870000012.GIF" wi="785" he="99" /><img file="FSB0000154336870000013.GIF" wi="136" he="77" />所述输出层输出值为:<img file="FSB0000154336870000014.GIF" wi="304" he="160" />w<sub>jo</sub>为所述输出层和所述隐层之间的加权值;x<sub>o</sub>为输出层的第o个输出值;所述x<sub>o</sub>与相应理想输出值<img file="FSB0000154336870000019.GIF" wi="52" he="56" />的误差值为:<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msup><mi>e</mi><mi>o</mi></msup><mo>=</mo><msubsup><mi>x</mi><mi>o</mi><mi>o</mi></msubsup><mo>-</mo><msub><mi>x</mi><mi>o</mi></msub></mrow>]]></math><img file="FSB0000154336870000021.GIF" wi="266" he="52" /></maths>选取p个样本,第p个样本的误差性能指标函数为:<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msub><mi>E</mi><mi>p</mi></msub><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><munderover><mi>&Sigma;</mi><mrow><mi>o</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mi>e</mi><msup><mi>o</mi><mn>2</mn></msup></msup></mrow>]]></math><img file="FSB0000154336870000022.GIF" wi="290" he="176" /></maths>e<sup>o</sup>为输出层的第o个输出值与相应理想输出值<img file="FSB0000154336870000023.GIF" wi="51" he="51" />的误差值;第二步:反向传输所述w<sub>jo</sub>学习算法如下:<img file="FSB0000154336870000024.GIF" wi="732" he="138" />η为学习速率,η∈[0,1],Δw<sub>jo</sub>为所述输出层和所述隐层之间的加权值差;取k+1时刻,k为一整数,则第k+1个w<sub>jo</sub>;w<sub>jo</sub>(k+1)=w<sub>jo</sub>(k)+Δw<sub>jo</sub>所述w<sub>ij</sub>学习算法如下:<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msub><mi>&Delta;w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><mo>-</mo><mi>&eta;</mi><mfrac><mrow><mo>&part;</mo><msub><mi>E</mi><mi>p</mi></msub></mrow><mrow><mo>&part;</mo><msub><mi>w</mi><mi>y</mi></msub></mrow></mfrac><mo>=</mo><mi>&eta;</mi><munderover><mi>&Sigma;</mi><mrow><mi>o</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msub><mi>e</mi><mi>o</mi></msub><mfrac><mrow><mo>&part;</mo><msub><mi>x</mi><mi>o</mi></msub></mrow><mrow><mo>&part;</mo><msub><mi>w</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub></mrow></mfrac></mrow>]]></math><img file="FSB0000154336870000025.GIF" wi="630" he="181" /></maths>Δw<sub>ij</sub>为输入层和输出层的加权值差;<img file="FSB0000154336870000026.GIF" wi="1062" he="126" />取k+1时刻,则w<sub>ij</sub>在第k+1时刻的值为:w<sub>ij</sub>(k+1)=w<sub>ij</sub>(k)+Δw<sub>ij</sub>加入动量因子α,α∈[0,1],则W<sub>jo</sub>和W<sub>ij</sub>的第k+1个值分别为:w<sub>jo</sub>(k+1)=w<sub>jo</sub>(k)+Δw<sub>jo</sub>+α(w<sub>jo</sub>(k)‑w<sub>jo</sub>(k‑1))w<sub>ij</sub>(k+1)=w<sub>ij</sub>(k)+Δw<sub>ij</sub>+α(w<sub>ij</sub>(k)‑w<sub>ij</sub>(k‑1))第三步:设定误差精度e<sub>o</sub>为M,将W<sub>ij</sub>和W<sub>jo</sub>的初始值设为[‑1,+1],学习速率η为N,动量因子为L,设定训练次数Q;然后,代入上述的第一和第二步,当经过多次的迭代之后,满足误差精度或者训练重复次数时:停止迭代。
地址 315400 浙江省余姚市泗门镇光明路126号