基于LINGO的直线度误差精确评定
直线度误差用于限制给定平面内或空间直线的形状误差,应用非常广泛,如加工零件的直线度、直线运动部件的直线度。国家标准规定最小条件法是评定形位误差的基本准则,它具有准确性和唯一性的特点[1]。目前常用的平面内直线度误差评定方法主要有:最小二乘法、两端点连线法、控制线旋转法、凸体法、优化法,它们都是一种近似的方法,各有利弊[1~3]。最小区域法虽然符合国家标准,这些算法需要作图,不便于工程人员的使用,尤其是当点增多的时候。本文提出了一种基于LINGO软件的符合最小条件的直线度误差精确计算,速度快,算法简单,便于运用。
1 直线度误差评定的数学模型
计算直线度误差的主要任务是找出理想直线l
求出实际直线对该直线的最大变动量,从而得到直线度误差。直线度误差曲线如图1所示。设有n个测点 (x,y),i,,,niiL=12,将直线l向下平移一个足够大的量△b得到直线l '
使实际直线上的各点位于 l '之上。那么
minf为直线度误差。
式(3)还可以表示为:
直线度误差的计算就变成一个非线性优化问题。
2 基于LINGO的直线度误差精确评定
LINGO是一种专门用于求解数学规划的软件包,由于LINGO执行速度快,易于输入、求解和分析数学规划问题,因此在教育、科研和工业界得到了广泛的应用。LINGO主要用于求解线性规划、非线性规划、二次规划和整数规划等问题,也可用于一些线性和非线性方程组的求解以及代数方程求根等。LINGO中包含了一种建模语言和许多常用的数学函数,可以供使用者建立数学规划模型时调用。LINGO的最新版本为LINGO8.0,它包括一系列版本,这些软件的内核和使用方法是类似的,但求解规模各不相同,其中Extended版本对变量数和约束数没有上限。LINGO模型以MODEL:语句开始,以END语句结束。所有语句除END、 ENDSETS,ENDDATA,EMDINIT,MODEL之外必须以一个分号“;”结尾。内部函数都是以@打头[4,5]。
根据式(4)可编制LINGO程序如下。
数据文件data.txt是一个文本文件,格式如下:1.7~ -100~0 1 2 3 4 5 6~0 -5 -7 -6 -9 -3 -6~其中一个“~”代表一条记录,data.txt中有4条记录。第一条记录中的“7”为测点的个数;第二条记录为式(2)中的b';第三条记录为测点的x坐标;第四条记录为测点的y坐标;@FILE函数每次读入一条记录。
3 实例分析
用水平仪按6个相等跨距测量机床导轨的直线度误差,各测点读数分别为-5,-2,+1,-3,+6,-3(单位μm)[1]。则数据如表1所示。
相关文章
- 2023-12-20基于虚拟样机技术的并联机器人机构运动仿真
- 2024-07-15水下目标的声纳回波数据仿真
- 2023-01-19基于RFID远程识别技术的涉密资产进出管理系统研究
- 2024-07-18提高遥感相机电子学成像质量方法
- 2024-10-31秤量准确度的调整
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。