《基于QT+OpenGL的轨迹仿真模块的设计.pdf》由会员分享,可在线阅读,更多相关《基于QT+OpenGL的轨迹仿真模块的设计.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、D e s i g na n dR 洲呦设计与研究基于Q TO p e n GL 的轨迹仿真模块的设计方建忠尹显明(西南科技大学制造科学与工程学院,四川绵阳6 2 1 0 1 0)摘要:详细介绍了一种利用Q TC+编程工具开发的基于O p e n G L 的数控铣床三维刀具轨迹仿真模块的设计。方法是将通过命令解释模块解释后的数据按有序的格式存放在动态数组中,然后在仿真模块中使用这个动态数组进行绘图。并细述了O p e n G L 图形操作步骤、动态数组数据的存放格式、以及如何使用这些数据进行绘图、如何实现对图形的控制以方便观察、如何实现用线宽模仿刀具的半径等。关键词:Q TC+O p e n
2、G L铣床三维仿真数控刀具轨迹D e s i g no fT r a j e c t o r yS i m u l a t i o nM o d u l eB a s e do nQ TO p e n G LF A N GJ i a n z h o n g,Y I NX i a n m i n g(M a n u f a c t u r i n gS c i e n t i f i ca n dE n g i n e e r i n gC o l l e g e,S o u t h w e s tU n i v e r s i t yo fS c i e n c ea n dT e c h n
3、 o l o g y,M i a n y a n g6 2 1 0 1 0,C H N)A b s t r a c t:D e t a i l sont h ed e s i g no f3DC N Cm i l l i n gm a c h i n et o o lp a t hs i m u l a t i o nm o d u l eb a s e donO p e n G Lu s i n gQ TC+p r o g r a m m i n gt o o l sh a v eb e e ni n t r o d u c e d T h ed a t ae x p l a i n e d
4、b yt h ec o m m a n de x p l a i nm o d u l ei ss t o r e di nt h ed y n a m i ca r r a yb yo r d e r e df o r m a ta n dt h e nt h ed y n a m i ca r r a yi su s e df o rg r a p h i c si nt h es i m u l a t i o nm o d u l e T h i sm e t h o di si n t r o d u c e di nd e t a i lb yd e s c r i b i n g
5、t h eg r a p h i c ss t e p s,t h ed a t as t o r a g ef o r-m a to ft h ed y n a m i ca r r a y-a sw e l la so nh o wt ou s et h ed a t af o rd r a w i n g s,o nh o wt or e a l i z et h ec o n t r o lo fd r a w i n g sf o rf a c i l i t a t eo b s e r v a t i o n,h o wt ouset h ew i d t ho fl i n e
6、f o rr e a l i z a t i o nt h es i m u l a t i o no ft h ec u t t i n gt o o lr a d i u sa n dS Oo n K e y w o r d s:Q TC+;O p e n G L;M i l l i n gM a c h i n e;T h r e e d i m e n s i o n a lS i m u l a t i o n;N C;C u tT r a j e c t o r y由于近年来数控技术的迅速发展与普遍应用,越来越多的人使用数控机床加工零件。数控机床加工零件是靠数控指令程序控制完成的。
7、为确保数控程序的正确性,防止加工过程中干涉和碰撞的发生,在实际生产中,需要一套可以把数控代码变成图像的程序而且是图像越真实越好,让编程人员可以一目了然地得知数控程序的正确性,从而提高编程效率。为了使图象能尽可能真实地反应程序内容,选择使用3 D 仿真的方式,使用O p e n g G L 来开发三维轨迹仿真模块。1Q T 开发工具的选择O p e n G L 是为三维绘图提供的标准应用编程接口。O p e n G L 处理的仅仅是三维绘图方面,而很少或是根本不提供图形用户界面编程方面的支持。O p e n G L应用程序的用户界面必须由其它工具包创建,比如在x 平台下的M o t i f,在W
8、 i n d o w s 平台下的微软基本类库龟哆舭2 0 0 9 篓耋等、,。十$M(M F C)或是在这两种平台下都能使用的Q T。Q T 的O p e n G L 模块使在Q T 应用程序中使用O p e n G L 变的更加容易。它提供了一个O p e n G L 的部件类,这个部件类除了打开一个O p e n G L 显示缓冲,利用这个缓冲使用O p e n G L 应用编程接口来提供内容外,能像其它Q T 部件那样地使用。Q TO p e n G L 模块的运作是一个与平台无关的Q T C+的包装,这个包装则是和平台有关的G L X、W G L或A G L 的C 的应用编程接口。其
9、提供的功能则是和M a r kK i l g a r d 的G L U T 库极为相似,但是Q T 的O p e n G L模块还有更多的非O p e n G L 特有的G U I 功能,即它们都是Q T 的应用编程接口。2O p e n G L 图形操作步骤在O p e n G L 中进行主要的图形操作直至在计算机屏幕上渲染绘制出三维图形景观的基本步骤:(1)根据基本图形单元建立景物模型,并且对所7 5万方数据设计与研究D e s i g na n dR 测n c h建立的模型进行数学描述(O p e n G L 中把点、线、多边形、图像和位图都作为基本图形单元);(2)把景物模型放在三维空
10、间中的合适的位置,并且设置视点(v i e w p o i n t)以观察所感兴趣的景观;(3)计算模型中所有物体的色彩,其中的色彩根据应用要求来确定,同时确定光照条件、纹理粘贴方式等;(4)把景物模型的数学描述及其色彩信息转换至计算机屏幕上的象素,这个过程也就是光栅化(r a s t e r-i z a t i o n)o3数控轨迹仿真的方法及原理分析3 1获取数控文件中的数据数控加工刀具轨迹(也称刀心轨迹和刀尖轨迹)。仿真的前题是数据加工文件中的轨迹信息的正确提取,并转化为仿真模块能够快速识别的数据。这些都由N C 程序解释模块来完成,并将提取的数据按如下的格式存放在数据容器内以供仿真模块
11、使用:Q V e c t o r ;D M 图形类型标记Q v e c t o r e X;X 轴数据Q v e c t o r e Y;Y 轴数据Q v e c t o r e Z;Z 轴数据(1)图形数据存放格式D M f D M i+1 起点原心终点G 0 0一lG o l0e X i IJe Y i 一1 3 一胛面e z i 1 圆l 顺4 一Z X 面2 逆5 一勉面(2)坐标系数据存放格式工件坐标系局部坐标系D M i 67e X i 原心e Y i e Z i 平面选择及转角e X i e Y i e Z i e x f e Y i e z i】e X i e X i+1 e
12、Y i e Y i+1 e Z i e Z i+J 旋转坐标系8e X i+I e Y i+I e z i+1 e X i =3 一X Y 面e X i =4 一Z X 面e X i =5 一Y Z 面e Y i =A n g ez i =O所有坐标数据都是基于机床坐标系的绝对坐标值。3 2图形轨迹的生成其程序的流程如图1 所示。3 2 1图形中心控制及缩放控制绘图前要将平行视景体的中心设在视口中心,例如g l O r t h o(一4 3 1,4 3 1,一3 6 1,3 6 1,0 0,1 00 0 0 0);笔者的Q G L W i d g e t 视口象素为宽4 3 1 象素,高3 6
13、 1 象素,所以按比例本视景体为一个象素对应2m m、绘图中心在视口中心的平行视景体。(1)图形在设定的位置上转旋和缩放g l T r a n s l a t e f(一4 0 0 0,一3 3 0 0。一5 0 0 0 O);机床坐标系形式(图形中心位于左下角)l 初始化Q G L W i d g e t Il 准备绘制图形p a i n t G L0 lI 图形中心控倒及缩放控翻卜窜l 绘制仿真轨迹I。一一石未堕图1 程序漉程固g l R o t a t e f(r o t a t i o n X,1 0,0 0,0 O):g l R o t a t e f(r o t a t i o n
14、 Y,0 0,I 0,0 O);g l R o t a t e f(r o t a t i o n Z,0 0,0 0,1 O);X y,Z 轴旋转控制g l s c a l e f(S c a l e,S c a l e,S c a l e);图形比例缩放控制按以上设置可以实现图形在设定的位置上转旋和缩放。(2)图形始终以视口中心为缩放中心g l T r a n s l a t e f(0 0,0 0,一5 0 0 0 0);初始图形中心位于屏幕中心#s c a l e f(s c a l e,S c a l e,S c a l e);图形比例缩放控制g T r a n s h t e f(
15、S h o w C e n t e r X,S h o w C e n t e r Y,O,;图形平移控制(按键平移图形控制)g l R o t a t e f(m t a t i o n X,1 0,0 0,0 0);#R o t a t e f(r o t a t i o n Y,0 0,1 0,0 0);g l R o t a t e f(r o t a t i o n Z,0 0,O 0,1 0);X,Y,Z 轴旋转控制)按以上设置可实现不论图形中心移到那里图形始终以视口中心为缩放中心。(3)图形中心的设置从记录所有坐标系的设置与取消信息的记录数组中查找最新的一个有效坐标系,按类型对绘
16、图中心进行处理。工件坐标系:按工件坐标系原心数据倒移绘图中心;局部坐标系:先按先前的旋转坐标系的旋转角倒转绘图矩阵然后按局部坐标系原心数据平移绘图中心;旋转坐标系:先按旋转坐标系的旋转角倒转绘图矩阵然后按旋转坐标系原心数据平移绘图中心。然后按记录的有效坐标系顺序画出打开的各个坐标系(并配以不同的颜色)。例如旋转坐标系;先从D M i 中查知当前图型类型为8 旋转坐标系,在从e x i 中查看所在的平面,从e Y i 中读取旋转角,然后使用下面 刹2 0 0 也9 等等、,”$zM万方数据g l R o t a t e f()倒转绘图中心。如i f(e x i =3)g l R o t a t
17、e f(一e Y C o o r S h o w 1 ,0 0,0 0,1 0);按新的旋转坐标系以Z 轴为中心轴倒转绘图基准3 2 2毛坯类型的选择使用图2 所示的界面。图2 毛坯类型选择界面立方体(长、宽、高)、圆柱(半径与高度)等,毛坯底面中心所在的平面(X Y 平面、Y Z 平面、Z X 平面),毛坯底面中心坐标系(X 轴、y 轴、Z 轴)可使用工件坐标系的中心,也可自行设定。刀具半径可使用数控程序中设定,也可自行设定。为检查可能出现的轨迹干涉加入线宽(与刀具半径相对应,如g l L i n e W i d t h(S c a l e 木是-1烫是0X是1序号+l绘倒G 0 0 直线L
18、 一序号+1绘制G 0 1 直线卜一序号+2l 篇H N G 0 2 M I L一一k 多 一l Y铆到0 0 圭9 m:张2 埘、,-,D e s i g no n dR 醐,c h 设计与研究C u t R a d i u s),在缩放图形的过程中始终保持比例),改变刀具半径是否重画图形等选项。3 2 3绘制仿真轨迹按类型数组的记录调用各个绘图函数。数据的总调度函数如图3 流程图所示。(1)绘制直线按图形数据表格中的坐标值数据使用g l V e r t e x 3 f(并,y,z)绘制并且保存直线的终点坐标值作为下一直线的起点。(2)绘制圆先按D M i+1 确定平面,然后按图形数据表格中
19、的坐标值数据计算半径、使用反三角函数分别计算起点向量和终点向量与水平轴正向所成的角,然后根据D M i 确定所绘圆的类型,选择相应的绘圆函数。例如,在X Y 平面上的顺圆的绘制函数为;v o i dE m l u a t o r:D r a w C i r c l e D a t a X Y l(G L f l o a tr a d i u s,i n ti,G L f l o a tP A n g l e l,G L f l o a tP A n g l e 2)lG L f l o a ta n g l e l=P A n g l e 2;i f(P A n g l e 2 =队n g l
20、 e l)a n g l e l=P A n g l e 2 2 P I;i n tn=O:G L f l o a ta n g;G L f l o a tc n=f a b s(a n g l e l P A n g l e l)0 O l;G L f l o a tc f=(e z i+1 一e z i 一1 )o n;f o r(a n g=P A n,e l;a n g l e =a n g l e l;g l e 一=0 0 1)G L f l o a tc x:r a d i c o s(“g);G L t l o a te y。r a d i u s s i n(a n s):“
21、+=e X i ;c y+=“i l;g l V e r t e x 3 f(c x,c y,n c f+e z i I );n+:情况1:圆弧角从F A n g l e l 减到P A n g l e 2(图4)。情况2:圆弧角为P A n g l e l 减到P A n g l e 2 2 P I(图5)。圈4 情况1圈5 情况2其中饥为圆弧的分段数。我们将z 轴的增量也同样分为m 段,这样就可以实现G 0 2 的螺旋指令。(3)线宽控制检查加工过程中干涉和碰撞的发生是仿真的一个重要目的。所以应该使仿真轨迹线的宽度与刀具的半径相对应,并且在对轨迹图形放大的时候也按比例放大,以便于观察。可以
22、在数据数组中存入刀具半径数据,在图形类型中增加刀具设置分枝。例如D M i =7 7罴一从顾万方数据设计与研究D e s 啪a n dR 龇肭9、量1 2:型慧黑e Y 妇_ 0,e z H _ o。后面的添5结语0是保持数据的对应。硐恫4仿真的效果图6 为对校徽加工程序的刀具轨迹仿真效果,右边为程序文件编译区,所有系统能识别的语句都会转为相对应的颜色。这是数控指令的初级检查,高级检查包括数据信息内容的检查由数据提取模块来完成。图6 仿真结果利用Q TC+与O p e n G L 实现的基于w i n d o w sx pE m b e d d e d 系统的数控加工刀具轨迹仿真,通过对数控轨
23、迹数据的处理,动态直观地绘制刀具J J n 3-运动轨迹,能快速、高效、经济地对数控代码进行仿真检测,并且可视化效果好,数控编程人员可以从多角度、多方位观察仿真效果。参考文献1高华,李进京基于V B 的数控加工图形仿真机床电器,2 0 0 5,3 2(I):1 9 2 l2张津基于V B 的数控车削图形仿真,长沙电力学院学报(自然科学版),2 0 0 2,1 7(2):5 7 6 03廖效果,刘又午数控技术武汉:湖北科学技术出版社,2 0 0 0 4L e eS a n g K y u,K oS u n g L i m D e v e l o p m e n to fs i m u l a t
24、 i o ns y s t e mf o rm a c h i n i n gp r o c e s su s i n ge n h a n c eZ M A Pm o d e l J o u r n a lo fM a t e r i a l sP r o c e s s i n gT e c h n o l o g y,2 0 0 2(1 3 0 1 3 1):6 0 85汪瑞芳,陈东义连续系统仿真及应用技术重庆:重庆大学出版社,1 9 9 1(编辑孙德茂)(收稿日期:2 0 0 8 1 0 0 6)文章编号:9 2 2 3如果偬卷发表对本文的看法。请将文章编号填入读者意见调查轰巾的相应位
25、置。(上接第7 4 页)同的两台直线电动机,对系统进行仿真研究。电动机参数:K T=2 5N A,M=1 0k g,B=1 2N s m。两个位置伺服系统采用相同的位置给定输入信号,均为阶跃信号。系统仿真如下:在t=ls 时,系统l 突加1 0 0N 的阶跃扰动,t=2s 时,系统2 突加2 0 0N 的阶跃扰动,图3 为系统的速度同步误差曲线,图4 为系统的位置同步误差曲线。由仿真曲线可以看出,虽然给系统突加了扰动,系统出现了同步误差,但是该误差很快趋于零,输出趋于一致,系统迅速回到稳定状态,能够达到要求的性能指标,同步性能较好。由此可见,本文采用的控制方案响应速度快,系统在不同阶跃扰动作用
26、下,速度同步误差能够限制在5m m s 的范围内,位置同步误差能够限制在3 斗m 的范围内。4结语本文将前馈控制和模糊控制应用于龙门移动式镗铣床两套直线伺服系统的同步控制中,设计了模糊自整定P I D 反馈补偿控制器,并与带前馈控制的I P 复合位置控制器相结合,既可保证系统的同步性能,又能满足位置系统对跟踪性能要求。仿真结果表明此种控制方案系统响应速度快,抗扰动能力强,同步误差在允许值的范围内。参考文献l郭庆鼎。孙宜标,乇丽梅现代永磁电动机交流伺服系统北京:中国电力出版社,2 0 0 6 2郭庆鼎,王成元,周美文等。直线交流伺服系统的精密控制北京:机械L 业出版社,2 0 0 0 3Z h
27、a oX i m e i,G u oQ i n g d i n g。S y n c h r o n o u sc o n t r o lo fg a n t r ym o v i n gt y p eb o r i n gm i l l i n gm a c h i n i n gc e n t e r sb a s e do nd i s t u r b a n c eo b s e r v e r P r o c e e d i n go ft h e8 mI n t e r n a t i o n a lC o n f e r e n c eo nE l e c t r i c a lM
28、 a c h i n e sa n dS y s t e m s,N a n j i n g。2 0 0 5:1 5 7 3 1 5 7 54郭庆鼎,王成元交流伺服系统北京:机械工业出版社,1 9 9 8 5于航,乇英,张艳丽基于P l 与I P 控制器的直流伺服系统设计与分析仪器仪表用户,2 0 0 6(1):1 7 一1 86S h i e hNC。T u n gPC R o b u s to u t p u tt r a c k i n gc o n t r o l o f8l i n e a rD Cb r u s h l e s sm o t o rf o rt r a n s p
29、o r t a t i o ni nm a n u f a c t u r i n gs y s t e m E l e c t r i cP o w-e rA p p l i c a t i o n s,2 0 0 1(2):1 1 9 1 2 47胡庆波,吕征宇全数字伺服系统中位置前馈控制器的设计电气传动,2 0 0 5,3 5(5):2 4-2 78刘金琨先进P I D 控制M A T L A B 仿真北京:电子工业出版社,2 0 0 4 9陶永华新型P 1 D 控制及其应用北京:机械工业出版社,2 0 0 3(编辑李静)(收稿日期:2 0 0 8 0 9 2 7)文章编号:9 2 2 2如果您想发表对本文的看法。请将文章编号填入读者意见调查表中的相应位置。7 s 渤坐2 0 0 9 茎耋管万方数据