发明名称 一种数控机床热误差补偿灰色神经网络建模方法
摘要 本发明涉及一种数控机床热误差补偿灰色神经网络建模方法,主要包括如下步骤:a.布置传感器;b.筛选温度变量;c.建立灰色系统并获得热误差预测值;d.求解残差序列;e.建立残差序列的BP神经网络模型;本发明将灰色系统理论和BP神经网络组合在一起用于机床热误差建模,提高了模型的预测精度和泛化能力;能够对小样本数据进行准确的拟合预测,计算简单,反应迅速;使用神经网络方法使系统具有很高的自学能力和自适应性,能自学机床热误差复杂的变化,能反映机床加工过程的变化,具有良好的可靠性。
申请公布号 CN103984287A 申请公布日期 2014.08.13
申请号 CN201410091291.X 申请日期 2014.03.12
申请人 江苏齐航数控机床有限责任公司 发明人 张建红;张云峰;尹青;黄庭梅;明佳;李春
分类号 G05B19/404(2006.01)I 主分类号 G05B19/404(2006.01)I
代理机构 南京知识律师事务所 32207 代理人 汪旭东
主权项 一种数控机床热误差补偿灰色神经网络建模方法,其特征在于,按如下步骤进行:步骤1:布置传感器先利用红外热成像仪给运行过一段时间的机床做热成像图,根据热成像仪显示的温度彩色图,温度显示高的区域即为机床的发热区域,标记好每个发热区域的温度最高点;停机冷却后在机床旁边放置一个测量环境温度变化的传感器,并在所有m个标记点安装温度传感器来采集温度变化数据,所以一共有m+1个温度传感器;在机床主轴的X轴、Z轴方向各安装一个激光位移传感器,采集机床热变形的数据;系统运行过程中,每隔相同一段时间读取所有温度传感器的实时温度{T<sub>i</sub>}与热变形位移{X<sub>s</sub>}、{Z<sub>s</sub>}随时间变化的数值;步骤2:筛选温度变量根据测定好的温度变化序列T<sub>i</sub>(T<sub>i1</sub>T<sub>i2</sub>T<sub>i3</sub>…T<sub>ik</sub> T<sub>i(k+1)</sub>…T<sub>is</sub>),i=1,2,…m+1,通过灰色关联分析从m+1个温度变量中筛选出n个和热变形相关性高的温度变量并组成新的矩阵P,设P为P={T<sub>i</sub>(1)T<sub>i</sub>(2)…T<sub>i</sub>(s)}i=1,2,…,n;步骤3:建立灰色系统并获得热误差预测值将X<sub>s</sub>或Z<sub>s</sub>分别和矩阵P组成灰色系统G(1,N)的原始数列;由Z<sub>s</sub>和矩阵P组成灰色系统的原始数列为<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>Q</mi><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msub></mtd><mtd><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mrow><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000011.GIF" wi="1700" he="314" /></maths>对上述数列分别作一次累加生成,得到新的1‑AGO数列<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msup><mi>Q</mi><mo>'</mo></msup><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msub></mtd><mtd><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mrow><msub><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000012.GIF" wi="1693" he="314" /></maths>建立微分方程<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>d</mi><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>/</mo><mi>dt</mi><mo>+</mo><mi>a</mi><msup><mi>Z</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>=</mo><msub><mi>b</mi><mn>1</mn></msub><msubsup><mi>T</mi><mn>1</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><msubsup><mi>T</mi><mn>2</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000013.GIF" wi="1706" he="79" /></maths>系数a,b<sub>1</sub>,b<sub>2</sub>,…b<sub>n</sub>用最小二乘法求解;求解微分方程(3)得Z向热误差预测值<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><msup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>=</mo><msub><msup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><msup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub></mtd></mtr><mtr><mtd><mo>=</mo><mo>[</mo><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>b</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>a</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>at</mi></mrow></msup><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>b</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>a</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>[</mo><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>b</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>a</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>]</mo><msup><mi>e</mi><mrow><mo>-</mo><mi>a</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow></msup><mo>+</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>b</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>a</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo><mi>t</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>s</mi><mo>-</mo><mn>1</mn><mo>;</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000014.GIF" wi="2021" he="490" /></maths>接下来通过计算机运算得到机床Z轴的热变形预测值<img file="FDA0000476213410000015.GIF" wi="166" he="110" /><img file="FDA0000476213410000016.GIF" wi="176" he="110" />…<img file="FDA0000476213410000017.GIF" wi="178" he="116" />…,<img file="FDA0000476213410000018.GIF" wi="186" he="115" />而由X<sub>s</sub>和矩阵P组成的另一个灰色系统原始数列为<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><mi>W</mi><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msub></mtd><mtd><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mrow><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000021.GIF" wi="1767" he="313" /></maths>对上述数列分别作一次累加生成后,得到新的1‑AGO数列<maths num="0006" id="cmaths0006"><math><![CDATA[<mrow><msup><mi>W</mi><mo>'</mo></msup><mo>=</mo><mfenced open='{' close='}'><mtable><mtr><mtd><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msub></mtd><mtd><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msub></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mrow><msub><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></msub></mrow></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mtd><mtd><mo>.</mo><mo>.</mo><mo>.</mo></mtd><mtd><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>s</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000022.GIF" wi="1755" he="313" /></maths>建立微分方程<maths num="0007" id="cmaths0007"><math><![CDATA[<mrow><mi>d</mi><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>/</mo><mi>dt</mi><mo>+</mo><mi>a</mi><msup><mi>X</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>=</mo><msub><mi>b</mi><mn>1</mn></msub><msubsup><mi>T</mi><mn>1</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>+</mo><msub><mi>b</mi><mn>2</mn></msub><msubsup><mi>T</mi><mn>2</mn><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>+</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>+</mo><msub><mi>b</mi><mi>n</mi></msub><msubsup><mi>T</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000023.GIF" wi="1814" he="78" /></maths>系数c,d1,d2,…dn用最小二乘法求解;求解微分方程(7)得X向热误差预测值<maths num="0008" id="cmaths0008"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><msub><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>=</mo><msub><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow></msub><mo>-</mo><msub><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub></mtd></mtr><mtr><mtd><mo>=</mo><mo>[</mo><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>d</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>c</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>]</mo><mi>e</mi><mo>-</mo><mi>ct</mi><mo>+</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>d</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>c</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><mo>[</mo><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow><mo>-</mo><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>d</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>c</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>]</mo><mrow><mi>e</mi><mo>-</mo><mi>c</mi><mrow><mo>(</mo><mi>t</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow></mrow><mo>+</mo></mtd></mtr><mtr><mtd><munderover><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>2</mn></mrow><mi>n</mi></munderover><mfrac><msub><mi>d</mi><mrow><mi>i</mi><mo>-</mo><mn>1</mn></mrow></msub><mi>c</mi></mfrac><msubsup><mi>T</mi><mi>i</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msubsup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>,</mo><mi>t</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>s</mi><mo>-</mo><mn>1</mn><mo>;</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000024.GIF" wi="2021" he="491" /></maths>接下来通过计算机运算即可得到机床X轴的热变形预测值<img file="FDA0000476213410000025.GIF" wi="166" he="109" /><img file="FDA0000476213410000026.GIF" wi="179" he="109" />…,<img file="FDA00004762134100000218.GIF" wi="188" he="142" />…,<img file="FDA00004762134100000217.GIF" wi="200" he="124" />步骤4:求解残差序列将{<img file="FDA00004762134100000220.GIF" wi="160" he="136" /><img file="FDA00004762134100000219.GIF" wi="186" he="119" />…,<img file="FDA00004762134100000211.GIF" wi="158" he="109" />}和真实测量值{Z<sup>(0)</sup>(1),Z<sup>(0)</sup>(2),…,Z<sup>(0)</sup>(k)}依次相减得到Z轴残差序列e<sup>(0)</sup>(1),e<sup>(0)</sup>(2),…,e<sup>(0)</sup>(k),即Z轴残差序列<maths num="0009" id="cmaths0009"><math><![CDATA[<mrow><msup><mi>e</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><msup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>-</mo><msup><mi>Z</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>t</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>k</mi><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00004762134100000212.GIF" wi="1721" he="110" /></maths>将{<img file="FDA00004762134100000222.GIF" wi="180" he="134" /><img file="FDA00004762134100000221.GIF" wi="178" he="123" />…,<img file="FDA00004762134100000215.GIF" wi="164" he="109" />}和真实测量值{X<sup>(0)</sup>(1),X<sup>(0)</sup>(2),…,X<sup>(0)</sup>(k)}依次相减得到X轴残差序列f<sup>(0)</sup>(1),f<sup>(0)</sup>(2),…,f<sup>(0)</sup>(k),即X轴残差序列<maths num="0010" id="cmaths0010"><math><![CDATA[<mrow><msup><mi>f</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>-</mo><msup><mi>X</mi><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mi>t</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>k</mi><mo>;</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA00004762134100000216.GIF" wi="1729" he="110" /></maths>步骤5:建立残差序列的BP神经网络模型在MATLAB中建立一个3层BP神经网络,设定传递函数、网络训练函数、最大训练次数以及收敛误差;把矩阵P的前面k个温度值作为神经网络训练的输入样本,Z轴残差序列e<sup>(0)</sup>(1),e<sup>(0)</sup>(2),…,e<sup>(0)</sup>(k)或X轴残差序列f<sup>(0)</sup>(1),f<sup>(0)</sup>(2),…,f<sup>(0)</sup>(k)作为输出样本,学习训练BP神经网络以确定其所有参数值;训练完成后,便得到了所要的BP神经网络模型;只要把这温度变量的温度值输入到神经网络当中,就能获得残差序列预测值<img file="FDA0000476213410000031.GIF" wi="118" he="107" />或<img file="FDA0000476213410000032.GIF" wi="150" he="109" />灰色人工神经网络组合模型的机床Z轴热误差预测值可通过<maths num="0011" id="cmaths0011"><math><![CDATA[<mrow><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><msup><mover><mi>Z</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>+</mo><msub><msup><mover><mi>e</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000033.GIF" wi="1250" he="107" /></maths>计算得到;灰色人工神经网络组合模型的机床X轴热误差的预测值可通过<maths num="0012" id="cmaths0012"><math><![CDATA[<mrow><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow><mo>=</mo><msub><msup><mover><mi>X</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>+</mo><msub><msup><mover><mi>f</mi><mo>^</mo></mover><mrow><mo>(</mo><mn>0</mn><mo>)</mo></mrow></msup><mrow><mo>(</mo><mi>t</mi><mo>)</mo></mrow></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000476213410000034.GIF" wi="1241" he="109" /></maths>计算得到。
地址 212009 江苏省镇江市丁卯工业园区经四路9号