发明名称 基于正交试验原理的尺寸链公差分配方法
摘要 本发明公开了一种基于正交试验原理的尺寸链公差分配方法,以达到提高分配精度的目的;该方法的步骤为:根据装配体或零件设计图获取尺寸链组成环的基本信息、封闭环的基本值以及封闭环的表达式;根据组成环个数,选取相应正交表;根据封闭环表达式,求解每个组成环的灵敏度;根据组成环的灵敏度,构造对应于封闭环最大极限值情况下的组成环偏差集合LU以及对应于封闭环最小极限值情况下的组成环偏差集合LD;分别优化分配组成环偏差集合LU和LD;输出结果。
申请公布号 CN102622480A 申请公布日期 2012.08.01
申请号 CN201210053602.4 申请日期 2012.03.02
申请人 北京理工大学 发明人 阎艳;余美琼;王国新;林燕清
分类号 G06F17/50(2006.01)I 主分类号 G06F17/50(2006.01)I
代理机构 北京理工大学专利中心 11120 代理人 郭德忠;李爱英
主权项 1.一种基于正交试验原理的尺寸链公差分配方法,其特征在于,该方法的具体步骤如下:1)、根据装配体或零件设计图获取尺寸链组成环l<sub>i</sub>的基本信息、封闭环y的基本值以及封闭环y的表达式;组成环l<sub>i</sub>的基本信息包括组成环个数n和组成环的基本值x<sub>i</sub>,i=1,...,n;封闭环y的基本值包括最大极限值y<sub>u</sub>和最小极限值y<sub>d</sub>;根据装配体或零件设计图,得到封闭环y的表达式:y=f(l<sub>1</sub>,l<sub>2</sub>,L,l<sub>n</sub>)                   (1)2)、根据组成环个数n,选取相应正交表L<sub>m</sub>(3<sup>n</sup>),正交表因素个数亦为n,n≤20,m为n因素3水平正交表所需试验次数;3)、由式(2)~(7)计算组成环的上偏差值tu<sub>ik</sub>以及下偏差值td<sub>ik</sub>;tu<sub>i1</sub>=0                               (2)tu<sub>i2</sub>=0.1×x<sub>i</sub>×β                     (3)tu<sub>i3</sub>=0.1×x<sub>i</sub>                         (4)td<sub>i1</sub>=0                               (5)td<sub>i2</sub>=-0.1×x<sub>i</sub>×β                    (6)td<sub>i3</sub>=-0.1×x<sub>i</sub>                        (7)其中,k为因素水平,k=1,2,3;β为权值系数;4)、根据封闭环表达式,求解每个组成环的灵敏度D<sub>i</sub>;灵敏度D<sub>i</sub>的计算过程为:根据封闭环y和组成环l<sub>i</sub>,求导得到灵敏度D<sub>i</sub>的计算表达式,对应于每个表达式,代入相应组成环的基本值x<sub>i</sub>,计算得到灵敏度D<sub>i</sub>;若D<sub>i</sub>=0,则对根据组成环l<sub>i</sub>,对灵敏度D<sub>i</sub>的计算表达式求导,并代入相应组成环的基本值x<sub>i</sub>,如此循环,直到计算得到的灵敏度D<sub>i</sub>不为0为止;5)、根据组成环的灵敏度D<sub>i</sub>,构造对应于封闭环最大极限值情况下的组成环偏差集合LU以及对应于封闭环最小极限值情况下的组成环偏差集合LD;当第i个组成环的灵敏度D<sub>i</sub>大于0时,取第i个组成环的上偏差值tu<sub>i1</sub>、tu<sub>i2</sub>和tu<sub>i3</sub>,并作为集合LU中的第i个元素,包括lu<sub>i1</sub>、lu<sub>i2</sub>和lu<sub>i3</sub>,其中,lu<sub>i1</sub>=tu<sub>i1</sub>,lu<sub>i2</sub>=tu<sub>i2</sub>,lu<sub>i3</sub>=tu<sub>i3</sub>;同时,取第i个组成环的下偏差值td<sub>i1</sub>、td<sub>i2</sub>和td<sub>i3</sub>,并作为集合LD中的第i个元素,包括ld<sub>i1</sub>、ld<sub>i2</sub>和ld<sub>i3</sub>,其中,ld<sub>i1</sub>=td<sub>i1</sub>,ld<sub>i2</sub>=td<sub>i2</sub>,ld<sub>i3</sub>=td<sub>i3</sub>;当第i个组成环的灵敏度D<sub>i</sub>小于0时,取第i个组成环的下偏差值td<sub>i1</sub>、td<sub>i2</sub>和td<sub>i3</sub>,并作为集合LU中的第i个元素,包括lu<sub>i1</sub>、lu<sub>i2</sub>和lu<sub>i3</sub>,其中,lu<sub>i1</sub>=td<sub>i1</sub>,lu<sub>i2</sub>=td<sub>i2</sub>,lu<sub>i3</sub>=td<sub>i3</sub>;同时,取第i个组成环的上偏差值tu<sub>i1</sub>、tu<sub>i2</sub>和tu<sub>i3</sub>,并作为集合LD中的第i个元素,包括ld<sub>i1</sub>、ld<sub>i2</sub>和ld<sub>i3</sub>,其中,ld<sub>i1</sub>=tu<sub>i1</sub>,ld<sub>i2</sub>=tu<sub>i2</sub>,ld<sub>i3</sub>=tu<sub>i3</sub>;6)、优化分配组成环偏差集合LU、LD;①当需要计算封闭环的最大极限值时,优化分配集合LU;具体算法流程如下:S01:获取组成环灵敏度、封闭环表达式、组成环l<sub>i</sub>的基本值、封闭环y的最大极限值y<sub>u</sub>、集合LU、组成环个数n、正交表L<sub>m</sub>(3<sup>n</sup>);S02:设置迭代次数为l,初始化l=1;S03:设置正交试验次数为h,初始化h=1,0<h≤m,以及i=1;S04:根据第h次试验第i因素在正交表中所对应的因素水平k,采用式(8)计算第h次试验第i个组成环的极限值xu<sub>hi</sub>:xu<sub>hi</sub>=x<sub>i</sub>+lu<sub>ik</sub>                   (8)S05:判断i是否小于n,若是,则转至步骤S06,否则转至步骤S07;S06:i自增1,转至步骤S04;S07:根据xu<sub>h1</sub>,...,xu<sub>hn</sub>,并结合式(1)计算第h次试验中封闭环y的最大极限值yu<sub>h</sub>:yu<sub>h</sub>=f(xu<sub>h1</sub>,xu<sub>h2</sub>,Λ,xu<sub>hn</sub>)    (9)S08:判断h是否小于试验次数m,若是,则转至步骤S09,否则转至步骤S10;S09:h自增1,设置i=1,并转至步骤S04;S10:设置i=1;S11:根据yu<sub>1</sub>,...,yu<sub>m</sub>,采用式(10)~(12)计算第i因素的最优水平bu<sub>i</sub>,即:<maths num="0001"><![CDATA[<math><mrow><msub><mover><mi>SU</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>A</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>u</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mover><mi>SU</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>A</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>u</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mover><mi>SU</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>3</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>A</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>u</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<img file="FDA0000140290120000034.GIF" wi="88" he="52" />为第i因素1水平最大极限值的误差;<img file="FDA0000140290120000035.GIF" wi="97" he="52" />为第i因素2水平最大极限值的误差;<img file="FDA0000140290120000036.GIF" wi="92" he="52" />为第i因素3水平最大极限值的误差;A<sub>i1</sub>为求解yu<sub>1</sub>,...,yu<sub>m</sub>中,第i因素1水平所对应的最大极限值的和;A<sub>i2</sub>为求解yu<sub>1</sub>,...,yu<sub>m</sub>中,第i因素2水平所对应的最大极限值的和;A<sub>i3</sub>为求解yu<sub>1</sub>,...,yu<sub>m</sub>中,第i因素3水平所对应的最大极限值的和;z<sub>i1</sub>为第i因素1水平的试验次数,z<sub>i2</sub>为第i因素2水平的试验次数,z<sub>i3</sub>为第i因素2水平的试验次数,且z<sub>i1</sub>+z<sub>i2</sub>+z<sub>i3</sub>=m;选取<img file="FDA0000140290120000037.GIF" wi="226" he="52" />和<img file="FDA0000140290120000038.GIF" wi="92" he="52" />中的最小值,将该最小值所对应的因素水平k作为第i因素的最优水平bu<sub>i</sub>;S12:判断i是否小于n,若是,则转至步骤S13;否则转至步骤S14;S13:i自增1,并转至步骤S11;S14:根据每个因素的最优水平bu<sub>i</sub>,从集合LU中获取相应的<img file="FDA0000140290120000039.GIF" wi="142" he="47" />根据<img file="FDA00001402901200000310.GIF" wi="114" he="47" />和组成环的基本值x<sub>i</sub>,采用式(8)计算得到因素最优水平组合情况下的组成环极限值xu′<sub>i</sub>,同样地,计算得到所有因素在最优水平组合情况下的组成环极限值;根据所有的因素最优水平组合情况下的组成环极限值,采用式(9)计算得到因素最优水平组合情况下的封闭环最大极限值yu<sub>b</sub>;S15:根据yu<sub>b</sub>和y<sub>u</sub>,计算|Δ<sub>u</sub>|,即:|Δ<sub>u</sub>|=|yu<sub>b</sub>-y<sub>u</sub>|               (13)S16:判断|Δ<sub>u</sub>|是否大于0.001,若是,则转至步骤S17,否则转至步骤S20;S17:对集合LU中第i个元素,包括lu<sub>i1</sub>、lu<sub>i2</sub>和lu<sub>i3</sub>分别进行优化,得到优化集合LU′,具体优化过程如下:i)当bu<sub>i</sub>=1时,则优化集合LU′中的元素分别为:lu′<sub>i1</sub>=lu<sub>i1</sub>×0.88            (14)lu′<sub>i2</sub>=lu<sub>i1</sub>+(lu<sub>i2</sub>-lu<sub>i1</sub>)×β  (15)lu′<sub>i3</sub>=lu<sub>i2</sub>                  (16)ii)当bu<sub>i</sub>=2时,若|lu<sub>i2</sub>|≤|(lu<sub>i1</sub>+lu<sub>i3</sub>)/2|,则优化集合LU′中的元素分别为:lu′<sub>i1</sub>=lu<sub>i1</sub>                  (17)lu′<sub>i2</sub>=lu<sub>i1</sub>+(lu<sub>i2</sub>-lu<sub>i1</sub>)×β  (18)lu′<sub>i3</sub>=lu<sub>i2</sub>                  (19)若|lu<sub>i2</sub>|>|(lu<sub>i1</sub>+lu<sub>i3</sub>)/2|,则优化集合LU′中的元素分别为:lu′<sub>i1</sub>=lu<sub>i2</sub>                  (20)lu′<sub>i2</sub>=lu<sub>i2</sub>+(lu<sub>i3</sub>-lu<sub>i2</sub>)×β  (21)lu′<sub>i3</sub>=lu<sub>i3</sub>                  (22)iii)当bu<sub>i</sub>=3时,则优化集合LU′中的元素分别为:lu′<sub>i1</sub>=lu<sub>i3</sub>                  (23)lu′<sub>i2</sub>=lu<sub>i3</sub>+0.12×lu<sub>i3</sub>×β   (24)lu′<sub>i3</sub>=112×lu<sub>i3</sub>             (25)S18、判断l是否小于或等于迭代次数N,若是,则转至步骤S19,否则转至步骤S20;S19、l自增1,并转至步骤S03,将①中步骤S01的组成环偏差集合LU替换为所得到的优化集合LU′,循环步骤S03~S18,直到满足|Δ<sub>u</sub>|≤0.001为止;S20、输出分配结果;S21、计算结束;②当需要计算封闭环的最小极限值时,优化分配集合LD;优化分配集合LD的具体计算流程如下:S201、获取组成环灵敏度、封闭环表达式、组成环l<sub>i</sub>的基本值、封闭环y的最小极限值y<sub>d</sub>、集合LD、组成环个数n、正交表L<sub>m</sub>(3<sup>n</sup>);S202、设置迭代次数为l,初始化l=1;S203、设置正交试验次数为h,初始化h=1,0<h≤m,以及i=1;S204、根据第h次试验第i因素在正交表中所对应的因素水平k,采用式(26)计算第h次试验第i个组成环极限值xd<sub>hi</sub>:xd<sub>hi</sub>=x<sub>i</sub>+ld<sub>ik</sub>                (26)S205、判断i是否小于n,若是,则转至步骤S206,否则转至步骤S207;S206、i自增1,转至步骤S204;S207、根据xd<sub>h1</sub>,...,xd<sub>hn</sub>,并结合式(1)计算第h次试验中封闭环y的最小极限值yd<sub>h</sub>:yd<sub>h</sub>=f(xd<sub>h1</sub>,xd<sub>h2</sub>,Λ,xd<sub>hn</sub>) (27)S208、判断h是否小于m,若是,则转至步骤S209,否则令i=1,转至步骤S210;S209、h自增1,设置i=1,并转至步骤S204;S210、设置i=1;S211、根据yd<sub>1</sub>,...,yd<sub>m</sub>,依据式(28)~(30)计算第i个因素的最优水平bd<sub>i</sub>,即:<maths num="0004"><![CDATA[<math><mrow><msub><mover><mi>SD</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>1</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>B</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>1</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>d</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>28</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mover><mi>SD</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>2</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>B</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>2</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>d</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>29</mn><mo>)</mo></mrow></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msub><mover><mi>SD</mi><mo>&OverBar;</mo></mover><mrow><mi>i</mi><mn>3</mn></mrow></msub><mo>=</mo><mo>|</mo><mfrac><msub><mi>B</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub><msub><mi>z</mi><mrow><mi>i</mi><mn>3</mn></mrow></msub></mfrac><mo>-</mo><msub><mi>y</mi><mi>d</mi></msub><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>30</mn><mo>)</mo></mrow></mrow></math>]]></maths>其中,<img file="FDA0000140290120000063.GIF" wi="83" he="52" />为第i因素1水平最小极限值的误差;<img file="FDA0000140290120000064.GIF" wi="89" he="52" />为第i因素2水平最小极限值的误差;<img file="FDA0000140290120000065.GIF" wi="86" he="52" />为第i因素3水平最小极限值的误差;B<sub>i1</sub>为求解yd<sub>1</sub>,...,yd<sub>m</sub>中,第i因素1水平所对应的最小极限值的和;B<sub>i2</sub>为求解yd<sub>1</sub>,...,yd<sub>m</sub>中,第i因素2水平所对应的最小极限值的和;B<sub>i3</sub>为求解yd<sub>1</sub>,...,yd<sub>m</sub>中,第i因素3水平所对应的最小极限值的和;选取<img file="FDA0000140290120000066.GIF" wi="231" he="52" />和<img file="FDA0000140290120000067.GIF" wi="86" he="52" />中的最小值,将该最小值所对应的因素水平k作为第i因素的最优水平bd<sub>i</sub>;S212:判断i是否小于n,若是,则转至步骤S213;否则转至步骤S214;S213:i自增1,并转至步骤S211;S214:根据每个因素的最优水平bd<sub>i</sub>,从集合LD中获取相应的<img file="FDA0000140290120000068.GIF" wi="173" he="67" />根据<img file="FDA0000140290120000069.GIF" wi="148" he="64" />和组成环的基本值x<sub>i</sub>,计算得到所有因素在最优水平组合情况下的组成环极限值;根据所有的因素最优水平组合情况下的组成环极限值,采用式(27)计算得到因素最优水平组合情况下的封闭环最小极限值yd<sub>b</sub>;S215:根据yd<sub>b</sub>和y<sub>d</sub>,计算|Δ<sub>d</sub>|,即:|Δ<sub>d</sub>|=|yd<sub>b</sub>-y<sub>d</sub>|          (31)S216:判断|Δ<sub>d</sub>|是否大于0.001,若是,则转至步骤S217,否则转至步骤S220;S217:对集合LD中第i个元素,包括ld<sub>i1</sub>、ld<sub>i2</sub>和ld<sub>i3</sub>分别进行优化,得到优化集合LD′,具体优化过程如下:i)当bd<sub>i</sub>=1时,则优化集合LD′中的元素分别为:ld′<sub>i1</sub>=ld<sub>i1</sub>×0.88      (32)ld′<sub>i2</sub>=ld<sub>i1</sub>+(ld<sub>i2</sub>-ld<sub>i1</sub>)×β    (33)ld′<sub>i3</sub>=ld<sub>i2</sub>                    (34)ii)当bd<sub>i</sub>=2时,若|ld<sub>i2</sub>|≤|(ld<sub>i1</sub>+ld<sub>i3</sub>)/2|,则优化集合LD′中的元素分别为:ld′<sub>i1</sub>=ld<sub>i1</sub>                    (35)ld′<sub>i2</sub>=ld<sub>i1</sub>+(ld<sub>i2</sub>-ld<sub>i1</sub>)×β    (36)ld′<sub>i3</sub>=ld<sub>i2</sub>                    (37)若|ld<sub>i2</sub>|>|(ld<sub>i1</sub>+ld<sub>i3</sub>)/2|,则优化集合LD′中的元素分别为:ld′<sub>i1</sub>=ld<sub>i2</sub>                    (38)ld′<sub>i2</sub>=ld<sub>i2</sub>+(ld<sub>i3</sub>-ld<sub>i2</sub>)×β    (39)ld′<sub>i3</sub>=ld<sub>i3</sub>                    (40)iii)当bd<sub>i</sub>=3时,则优化集合LD′中的元素分别为:ld′<sub>i1</sub>=ld<sub>i3</sub>                    (41)ld′<sub>i2</sub>=ld<sub>i3</sub>+0.12×ld<sub>i3</sub>×β     (42)ld′<sub>i3</sub>=112×ld<sub>i3</sub>               (43)S218、判断l是否小于或等于迭代次数N,若是,则转至步骤S219,否则转至步骤S220;S219、l自增1,并转至步骤S203,将所述②中步骤S201的组成环偏差集合LD替换为所得到的优化集合LD′,循环步骤S203~S218,直到满足|Δ<sub>d</sub>|≤0.001为止;S220、输出分配结果;S221、计算结束。
地址 100081 北京市海淀区中关村南大街5号