发明名称 基于粒子群算法的复杂曲面工件定位方法
摘要 本发明公开了一种基于粒子群算法的复杂曲面工件定位方法,用于解决现有复杂曲面工件定位方法定位精度差的技术问题。技术方案是首先获取若干毛坯表面测量点Q<sub>i</sub>,将获取各毛坯表面测量点按其在加工坐标系中坐标导入其对应零件理论模型所在的CAM系统编程坐标系中,在CAM系统中采用粗略定位方法对毛坯表面测量点Q<sub>i</sub>和零件理论模型表面P进行预配准,获得零件理论模型表面到毛坯表面测量点的初始变换矩阵,在预配准的基础上,获得零件理论模型表面到毛坯表面测量点的精确变换矩阵,将初始变换矩阵和精确变换矩阵的乘积作为最终变换矩阵,作用于CAM系统中编程坐标系下得到的刀位点坐标,将定位结果反映在NC程序中,完成定位。实现了较高的定位精度。
申请公布号 CN103438844B 申请公布日期 2015.11.18
申请号 CN201310377296.4 申请日期 2013.08.27
申请人 西北工业大学 发明人 张定华;韩策;吴宝海;罗明;刘一龙
分类号 G01B21/00(2006.01)I;G06N3/00(2006.01)I 主分类号 G01B21/00(2006.01)I
代理机构 西北工业大学专利中心 61204 代理人 王鲜凯
主权项 一种基于粒子群算法的复杂曲面工件定位方法,其特征在于包括以下步骤:步骤一、将工件毛坯以任意方位装夹于数控机床工作台上,在机床坐标系中任意位置设定加工坐标系,利用在线检测装置获取若干毛坯表面测量点Q<sub>i</sub>;步骤二、将获取的各毛坯表面测量点按其在加工坐标系中坐标导入其对应零件理论模型所在的CAM系统编程坐标系中;步骤三、在CAM系统中采用粗略定位方法对毛坯表面测量点Q<sub>i</sub>和零件理论模型表面P进行预配准,使二者相对位置接近,获得零件理论模型表面到毛坯表面测量点的初始变换矩阵;步骤四、在预配准的基础上,采用粒子群算法对毛坯表面测量点和零件理论模型表面进行精确配准,获得零件理论模型表面到毛坯表面测量点的精确变换矩阵;4.1、设置粒子群算法中各参数取值;群体规模取M=40,最大迭代次数取N=100;在第k步迭代的速度公式<img file="FDA0000372462960000011.GIF" wi="738" he="87" />中,i为粒子序号,j为粒子维数,p<sub>ij</sub>为各粒子搜索到的个体最优位置,p<sub>gj</sub>为粒子群搜索到的全局最优位置,r<sub>1</sub>,r<sub>2</sub>是[0,1]内的随机数;惯性因子w采用LDW方法,其中<img file="FDA0000372462960000012.GIF" wi="601" he="128" />取w<sub>min</sub>=0.4,w<sub>max</sub>=0.9;自我认知因子c<sub>1</sub>与群体认知因子c<sub>2</sub>采用PSO‑TVAC方法,其中<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>c</mi><mn>1</mn></msub><mo>=</mo><msub><mi>c</mi><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>c</mi><mrow><mn>1</mn><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>c</mi><mrow><mn>1</mn><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>&times;</mo><mfrac><mi>k</mi><mi>N</mi></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000372462960000013.GIF" wi="452" he="124" /></maths><maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>c</mi><mn>2</mn></msub><mo>=</mo><msub><mi>c</mi><mrow><mn>2</mn><mi>i</mi></mrow></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>c</mi><mrow><mn>2</mn><mi>f</mi></mrow></msub><mo>-</mo><msub><mi>c</mi><mrow><mn>2</mn><mi>i</mi></mrow></msub><mo>)</mo></mrow><mo>&times;</mo><mfrac><mi>k</mi><mi>N</mi></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000372462960000014.GIF" wi="467" he="128" /></maths>取c<sub>1i</sub>=2.5,c<sub>1f</sub>=0.5,c<sub>2i</sub>=0.5,c<sub>2f</sub>=2.5;4.2、随机初始化M个坐标变换向量作为初始粒子;设定坐标变换向量x中6个分量的取值范围[x<sub>min</sub>,x<sub>max</sub>];粒子速度绝对值的最大值取v<sub>max</sub>=x<sub>max</sub>‑x<sub>min</sub>;4.3、将最小二乘函数<img file="FDA0000372462960000015.GIF" wi="386" he="118" />作为算法的适应度函数,其中g为坐标变换矩阵,P<sub>i</sub>为各毛坯表面测量点在零件模型表面上的最近点;计算群体最优粒子p<sub>gj</sub>和个体最优粒子p<sub>ij</sub>,从而计算出各粒子的速度<img file="FDA0000372462960000016.GIF" wi="99" he="90" />根据<img file="FDA0000372462960000017.GIF" wi="264" he="75" />计算出各粒子在下一迭代步中位置;4.4、重复步骤4.3,直至达最大迭代次数N,输出所得群体最优粒子即粒子群算法求解出的精确定位坐标变换向量,转化为矩阵形式;步骤五、将初始变换矩阵和精确变换矩阵的乘积作为最终变换矩阵,作用于CAM系统中编程坐标系下得到的刀位点坐标,将定位结果反映在NC程序中,完成定位。
地址 710072 陕西省西安市友谊西路127号