694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc
《694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc》由会员分享,可在线阅读,更多相关《694523580数控技术课程设计数控中非圆曲线逼近的算法实现.doc(34页珍藏版)》请在三一办公上搜索。
1、课 程 设 计课程名称_ 数控技术课程设计 题目名称_非圆曲线逼近的算法实现 学生学院_ _专业班级_ _学 号 学生姓名_ _ _ _指导教师_ _年 月 日广东工业大学数控技术课程设计任务书题目名称数控中非圆曲线逼近的算法实现学生学院专业班级姓 名学 号一、课程设计的内容用计算机高级编程语言(如VB,VC+等)来实现非圆曲线的逼近,可任选(1)直线逼近(如等间距法、等弦长法、等误差法等)、或(2)圆弧逼近。要求在满足允许误差的前提下,使得逼近的直线段或圆弧段的数量最少(即最优解)。二、课程设计的要求与数据具体的要求如下:(1)列出一般的直线或圆弧逼近的算法(流程图)。(2)列出改进的直线或
2、圆弧逼近的算法(流程图)即优化算法。比较改进前与改进后的两种算法结果。(3)针对任意给定的某一由非圆曲线所构成的平面轮廓,根据指定的走刀方向、起刀点,自动生成CNC代码的生成。(4)在屏幕上显示该非圆曲线所构成的平面轮廓。三、课程设计应完成的工作每个学生应在规定时间内,独立完成所选题目。运用VB编程语言,编写计算机软件在WINDOWS实现数控装置的计算机仿真。要求清楚地分析问题、提出算法、确定人机界面、列出流程图,最后用程序验证,完成软件测试,并且提交程序说明书。对选择典型零件编程题目的学生,要求用编写计算机软件的方法解决数控过程的一个问题。可以任选用本人熟悉的一种编程语言,要求清楚地分析问题
3、、提出算法、列出流程图,最后用程序验证,并且提交程序说明书。四、课程设计进程安排序号设计各阶段内容地点起止日期11、布置任务,领取课程设计任务书,了解课程设计的目的、内容和要求;了解课程设计的步骤;2、理解本课程设计题目的具体内容要求,根据各自不同情况选择题目;教室第17周 第19周2了解和掌握有关软件开发的知识,如VB编程、VC编程、软件工程、软件开发的常用技巧及注意事项;3调查研究,收集资料,查阅文献。学生对所选题目进行论证及确定设计方案, 4掌握数控结构设计要求,具体技术指标和计算要求; 进行机械结构设计或者软件设计;5进行数控系统和算法的软件编程与开发,初步实现系统的基本功能6通过多个
4、实例来验证和改进系统功能,完善软件界面7对所开发的软件程序进行标识和说明8按要求的格式编制课程设计说明书9课程设计答辩五、应收集的资料及主要参考文献1机床设计手册第三分册2廖效果.数字控制机床.武汉:华中理工大学出版社.1992.93廖效果.数控技术. 武汉:湖北科学技术出版社.2000.74刘又午.数字控制机床.北京:机械工业出版社5龚浦泉.机床电气控制.重庆:重庆大学出版社6 谭浩强.Basic语言结构化程序设计教程.北京:中国科学技术出版社.19907 杨林,李继良. Visual Basic编程高手.北京:北京大学出版社.20008 一组专用凸轮的计算机辅助设计.机械工程师1998,(
5、4): p58-599 凸轮曲线的快速画法.机械工程师1998,(6): p22-2310 平面凸轮机构CAD系统的研究与开发.机械设计与制造2000,(5):p12-1311 圆柱非圆曲线槽凸轮的数控加工.制造技术与机床2000,(8):p3412 圆柱凸轮的参数化设计及数控加工.精密制造及自动化2001,11: p2813 参数化凸轮轮廓转换及NC代码自动生成.机床与液压2001,6, p2931发出任务书日期: 年 月 日 计划完成日期: 年 月 日 指导教师签名:基层教学单位责任人签章:主管院长签章:目 录一、概述11.1、摘要11.2、设计的目的和意义11.3、逼近算法的发展概况1二
6、、算法的设计思路及实现3 3.1、等间距法33.2、等弦长法63.3、等误差法8 3.4、伸缩步长法12三、算法优化的工作流程图14四、软件开发介绍184.1主界面介绍 184.2数控加工抛物线界面介绍 194.3数控加工椭圆曲线界面介绍 26五、设计总结 30六、参考文献30一、概 述1.1、摘要数控系统一般都只有直线和圆弧插补的功能,对于非圆曲线的轮廓,只有用到直线或圆弧去逼近它。这就要求我们对非圆曲线的逼近的数学处理要有一定的了解。而关键的是我们要知道什么是节点,如何求节点。非圆曲线的逼近方法可以分为直线逼近和圆弧逼近,每一种又可以有若干种方法求节点坐标。本设计是有关抛物线和椭圆曲线的逼
7、近,利用VB编程,用各种直线逼近方法得到最优的算法。,关键词:非圆曲线, 逼近, 等间距法, 等弦长法,等误差法,伸缩步长法1.2、设计的目的和意义数控机床课程设计是机电专业教学活动的一个重要的实践性环节,是对学生所学数控机床课程和其它有关课程知识和技能的一次综合性练习,旨在使之巩固、充实、系统化,并得到进一步扩展。课程设计是培养学生理论联系实际、解决生产实际问题的机会。通过对非圆曲线逼近编程的具体问题的解决,使学生对数控机床的结构原理、设计方法以及用编程方法处理实际问题的一般步骤和具体技巧得到训练,提高运用所学专业知识分析问题和解决问题的能力。CAD/CAM(计算机辅助设计/计算机辅助制造)
8、的能力和水平是一个国家自动化程度的标志之一。而曲线曲面造型技术则是CAD/CAM的基础,曲线曲面表示的精确度和造型灵活性是评定CAD系统功能强弱的重要因素。1.3、逼近算法的发展概况数控系统一般都只有直线和圆弧插补的功能,对于非圆曲线的轮廓,只有用到直线或圆弧去逼近它。这就要求我们对非圆曲线的逼近的数学处理要有一定的了解。节点,是非圆曲线的关键。节点就是逼近线段与非圆曲线的交点。一个已知曲线方程的节点数主要取决于所用逼近线段的形状(直线段还是圆弧段)、曲线方程的特性以及允许的逼近误差。早在数控技术出现以前,曲线的逼近就已经人们所认识和研究。1854年,德国的黎曼建立了更广泛的一类非欧几何学黎曼
9、几何学,并提出多维拓扑流形的概念。同年,俄国的车比雪夫开始建立函数逼近论,利用初等函数来逼近复杂的函数。再后来,美籍荷兰数学家路布劳威尔,发现不动点原理,后来又发现了维数定理、单纯形逼近法、使代数拓扑成为系统理论。二十世纪以来,由于电子计算机的应用,使函数逼近论有很大的发展,并广泛运用在数控技术当中。从逼近简单的规则的曲线到逼近复杂的非圆曲线,再到逼近列表曲线,为数控加工提供了可靠的加工方法。目前在国内外金属加工业中广泛使用的数控机床中,半闭环位置伺服系统是一种比较普遍采用的技术方案。半闭环位置伺服系统将机床本身的机械传动链排除在位置闭环之外,伺服系统的电气控制部分和执行机械相对独立,由于闭环
10、中非线性因素少,因此系统容易整定,可以方便地实现间隙补偿等,以提高位置控制精度。但是在逼近的运用的处理上,发达国家倚其雄厚的数控机床的基础,掌握着最高端的技术,在高级精密处理上有其独特的方法。而国内仍只能进行较为普通的处理,但是由于我国的后发优势,相信在不久的将来,中国将可以赶上并超越其它国家,甚至是大多数发达国家,成为名副其实的世界工厂。二、算法的设计思路及实现2.1、等间距法(1)基本原理等间距法是使一坐标的增量相等,然后求出曲线上相应的节点,将相邻节点连成直线,用这些直线段组成的折线代替原来的轮廓曲线。它计算简单,坐标增量可取大可取小,取得越小则加工精度越高,同时节点会增多,相应的编程也
11、会增加。如图3-1所示,沿X轴方向取等间距长,根据已知曲线的方程y=f(x),可由、求得、,即=f()、=+X、f()。如此求得一系列的点就是节点。由于要求曲线与相邻两节点连线间的法向距离小于允许的程序编制误差,X值不能任意设定。一般先取X0.1进行试算并校验曲线各段误差。图1 等间距逼近(2)误差校验的方法设需校验的曲线为mn,m点(),n点()已求出,则m,n两点的直线方程为: (1)令 A,B,C=则Ax+By=C即为过mn两点的直线方程,距mn直线为的等距线的直线方程可表示如下: (2)式中,当所求直线在mn上边时取“+”号,在mn下边时取“-”号。为与mn两直线间得距离。联立方程求解
12、(3)(4)求解时,的选择有两种办法,其一为取为未知,利用联立方程组求解只有唯一解的条件,可求出实际误差,然后用与进行比较,以便修改间距值;其二为取,若方程无解,则与无交点,表明。(3)基于数值分析方法的等间距算法设计如图31, M、N两点的直线方程为:Y= ()() (X)+ (5)令x=0,由此求得直线MN在y轴上的截距。设直线MN的方程为,其中斜K的值和MN的斜率相等,即K= ()(),联立方程组: Y=f(X) (6) (7)求当MN与曲线只有一个交点时的值。具体算法如下:以抛物线为例,抛物线方程为+bx+c,将代入抛物线,整理后,得到一个关于X的一元二次方程:a+(b-k)x+(c-
13、)=0 (8)因为MN与曲线只有一个交点,所以=0,即,整理可得,于是可以通过和值求出误差。如图3-1-1所示,在直角三角形中,有:=()cos (9)其中 (10)将求得的与相比较,若,则重新回到原点,缩短间距,进行校验。图2 求误差实际处理时,并非任意相邻两点间的误差都要验算,对于曲线曲率半径变化较少处,只需验算两节点间距离最长处的误差,而对曲线曲率半径变化较大处,应验算曲率半径较少处的误差,通常由轮廓图形直接观察确定校验的位置。如抛物线,针对对称线,结合允许误差可直接求得最大的节点间距。2.2、 等弦长法(1) 基本原理等弦长法就是使每个程序段的段长度相等。如图3-2,由于零件轮廓曲线的
14、曲率各处不等,因此首先求出该曲线的最少曲率半径,由及确定允许的步长,然后从曲线起点a开始,按等步长一次截取曲线,得b,c,d点,则ab=bc=即为所求各直线段。图3 等弦长逼近(2)计算步骤1、求最少曲率半径。设曲线为,则其曲率半径为: (11)取 (12)即 (13)根据依次求出,代入(13)求x,再将x代入式(12)即得。2、 确定允许长。以为半径作的圆弧,由几何关系可知 (14)3、求出曲线起点a的坐标,并以该点为圆心,以为半径,所得圆方程与曲线方程联立求解,可求得下一点b的坐标,再以点b为圆心进一步求得出c点,直到求出所有点。求解方法 (15) (16)(3)二分法实现等弦线逼近已知等
15、弦L,一条逼近的直线中,起点为(a,b),终点为(x,y),首先以x轴坐标加L,x=(x+L)后,求出比较求出两点间距离,K=sqr(x+L)-x)2+(-)2)比较K与L,当KL时,x=x-L/2,再将L与K进行比较,如K=sqr(x+L)-x)2+(-)2)L,则x=x+L/4,当KLx=x-L/4,如此循环下去,当实际弦长K大于理想弦长L时,K减去一个进给量,相反加上一个进给量,这个量是每进给一次减少一半,可以无限接近接近等弦长点,即x=,这是利用二分法原理实现。图4 二分法寻等弦长点但无论怎么样进给量减半,都无法完全与理想等弦长点,只能限制实际弦长与理想弦长的差,如L-K0.00001
16、。由于本程序是通过二分法求出最大等弦点,弦长为最大允许弦长,故实际弦长必须小于或等于理想弦长,否则插补有可能超出允许误差.所以0L-KDx ,就把此中间点作为下一插补点,坐标为(X1,Y1),绘出(X0,Y0)到(X1,Y1)的直线,并把(X1,Y1)作为下一条直线段的起点再次进行上边的计算,再与曲线端点位置进行比较,如果插补点在范围之外,则将端点设为(X1,Y1),结束编码,如此循环,可得到所有的节点,最后输出NC代码。曲线的起点为(x(i),y(i)),给定微小增量dx后,求的下一点坐标为(m,f(m)),其中m=x(i)+dx,y=f(m)任一点的切线斜率为,过点(m,f(m))的切线方
17、程为L1:y=kx+c, 由点到直线的距离公式,可以求得点(x(i),y(i)到切线的距离,当距离等于时,就可以求出切线斜率。过(x(i),y(i)点做斜率等于k的直线y=y(i)=k(x-x(i),求出该直线与曲线y=f(x)的交点即为下一个要求的节点。以抛物线方程为例,其斜率为k=2ax。过点(m, )的切线方程设为L2:y=2*x+c。由点到直线的距离公式 ,得到点(x(i),y(i)到切线L1的距离为: (21), 其中当a0时,c=y-2* = -然后通过D与允许误差的比较,不满足|D- |0.000001时,减少dx,重新计算,直到满足要求。此时可求得满足误差要求的切线斜率k,过(
18、x(i),y(i))作一斜率为k的直线L3:y-y(i)=k(x-x(i),联立方程(22)求得下一结点(x(i+1,y(i+1)) (23)再以此节点为起点,重复上一步骤,即可求得所有节点。2.4、伸缩步长法(1)介绍伸缩步长法是一种用直线逼近非圆曲线的方法。采用这种方法计算,数学模型简单,无需用计算机叠代法处理非线性方程组,也不必求曲线的曲率半径或计算曲线的切线方程,因此适合用于各种非圆曲线。特别是在进行计算机处理时,是依照给定的编程允许误差来确定节点的位置,每两个节点之间的步长不一定都相等,因此,相对于等间距法来说,方法比较灵活,所需的节点个数较少。(2) 计算的原理设给定的平面轮廓曲线
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 694523580 数控技术 课程设计 数控 中非 曲线 逼近 算法 实现
链接地址:https://www.31ppt.com/p-3931075.html