基于MFC和OpenGL的相贯线焊接仿真系统设计
2023-12-27
来源:好走旅游网
第5期 机械设计与制造 2012年5月 Machinery Design&Manufacture 73 文章编号:1001—3997(2012)05—0073—03 基于MFC和OpenGL的相贯线焊接仿真系统设计 冯清秀邹茔 (华中科技大学数字制造装备与技术国家重点实验室,武汉430074) Design of intersection line welding simulating system based on MFC and 0penGL FENG Qing—xiu,zou Kun (State Key Laboratory of Digital Manufacturing Equipment and Technology,Huazhong University of Science and Technology,Wuhan 430074,China) 【摘要】首先根据相贯线焊接仿真系统的功能对系统的总体结构进行了规划与设计。其次根据 工艺参数和焊接过程中的运动特点进行了机械结构设计,使得焊枪能够根据需要进行灵活的运动。再 次通过插补运算和工艺流程的设计实现焊接设备与工件的运动控制,从而兼顾运动的合理性与精确 性。系统在MFC和OpenGL环境下开发,实现了对自动焊接和示教焊接过程的仿真,并能在示教焊接结 束时进行实际轨迹与理论轨迹的对比。在OpenGL使用中采用轨迹球技术实现视角控制,并具备碰撞 检测功能。 关键词:相贯线焊接;MFC;OpenGL;示教再现;轨迹球;碰撞检测 【Abstract】Thefroll' ̄work was planned and designedfirstly according to thefunctions ofintersec- tion line welding simultaing system.After that mechanical structure desinged according to prerequisite parameters and the movement features during the welding processes to make the welding torch achieve necessary movements lfexibly.Then the motion control for welding equipment and workpiece was accom- plished by interpoltaion arithmetic and the desing of welding processes c'ombining the rationdi ̄and 017-- curacy of the motion.The system was developed under MFC and OpenGL and the simultaions of both auto- matic welding and teaching ̄playback welding were achieved.Besides,the comparison of the theoretical track and real track was available after teaching ̄playback welding.Finally the trace ball technology was adopted to control the view angle by using OpenGL nad collision detection WO¥provided(TlS wel1. Key words:Intersection line welding;MFC;OpenGL;Teaching/playback;ArcBall;Collision de— tection 中图分类号:TH16,TG4文献标识码:A 1引言 件载体 ,并使用TAB控件增强系统的功能扩展性。仿真系统的 三通管在工业领域多用于液体和气体的输送,所以需要兼 界面示意图,如图1所示。 顾密封性和强度,这就对相贯线焊缝的焊接提出较高要求。目前 ControlPanel 已有骑座式焊接机器人l1l、管内锚固式焊接机器人日、避障式双焊 枪焊接机日等多种相贯线焊接专用设备处于研究和应用中。结合 I /t 以上实现方法的优点,设计了一台四轴联动相贯线焊接设备,并 在MFC平台上使用OpenGL开发了该设备的仿真系统,使其具 DrawPanel 备自动焊接和示教焊接功能。 /t 2系统总体设计 /十 仿真系统的主体在VC6.0上使用MFC开发。使用分割窗口 将单文档程序的窗口一分为二,左边称为DrawPanel,使用 图1仿真系统界面示意图 OpenGL实现焊接过程的演示;右边称为ControlPanel,使用MFC 3机械结构设计 控件实现操作说明、参数设定和按钮控制功能。其中DrawPanel 3.1工艺要求 使用CView类作为画板,并需要进行像素格式设置等等OpenGL 焊接系统采用的是气体保护焊,但因为仿真系统难于对焊 的使用环境配置 ;而ControlPanel则使用CFormView类作为控 接过程中电流和电压等焊接参数进行仿真,所以主要考虑的工艺 ★来稿日期:2011-07—13 74 冯清秀等:基于MFC和OpenGL的相贯线焊接仿真系统设计 一第5期 参数是焊枪的运动轨迹、速度和姿态。这三个参数对于焊缝的形 成是至关重要的,只有满足要求才能使焊缝平滑、坚实、美观。 基于以上工艺参数的考虑,对系统的空间模型提出了以下 要求: 个夹钳的“夹持一松开”运动。 //1 9, (1)当前焊点始终处于相贯线之上,而且沿相贯线做匀速运 动。 (2)焊枪轴线始终平分当前焊点处由两管形成的局部二面 角[31。 / 磁 厂= / .这里的局部二面角指的是过焊点所作的相贯线切线的法平 面分别与横管的切平面和立管的切平面所形成的交线之间的夹 角。如图2所示, 平面即为焊点P处焊缝切线的法平面,而向量 Pl、 则分别为 平面与横管切平面和立管切平面的交线。直线 即为局部二面角的平分线,也即为焊枪的轴线所在直线。为使 焊枪平分局部二面角,则要求焊枪能以当前焊点为顶点在三维空 间中做锥形摆动。 图2局部二面角示意图 3_2结构设计 机械结构的设计主要实现两个运动: (1)当前焊点沿相贯线轨迹的匀速运动 如图3所示,焊接过程中,通过一个旋转轴使得钢管围绕立 管的轴线做转动,同时通过一个平动轴使得焊枪做垂直运动,两 轴联动便可使得焊枪顶端所指向的当前焊点始终处于相贯线轨 迹之上。如果对两旋转轴的速度进行联动控制,便可使当前焊点 沿相贯线做匀速运动。 ( 管轴 广/1 l 厂 一/ I I l 图3沿相贯线轨迹的运动 (2)焊枪的姿态摆动 如图4所示,通过一个旋转轴使焊枪以坐标原点为圆心在 平面内做摆动,通过另一个旋转轴使焊枪同样以坐标原点为圆心 在 平面内做摆动。两个摆动的结合便可使得焊枪以当前焊点为 顶点做锥形摆动。 以上两个主要运动的结合就能使焊点沿精确的相贯线轨迹 运动,同时焊枪随焊点移动调整姿态。除此之外,还有上下料、焊 枪的进给等运动,整个工作过程需要四个平动轴、三个转动轴和 图4焊枪的摆动 4焊接过程实现 4.1插补算法 与脉冲增量插补相比,数字增量插补具有更高的精度和进 给速度,所以目前的应用更为广泛 。系统的设计则是采用数字增 量插补中的时间分割法。插补程序以一定的时间周期运行,每个 周期内根据当前各运动轴的位置和设定的进给速度计算出下个 周期中各个轴的进给量,用直线段逼近曲线。在MFC中是通过设 置计时器并添加OnTimer消息响应函数来实现该插补算法的181。 4.2自动焊接过程 完整的自动焊接流程包括上料、进给、焊接、复位、下料这五 个工序,而每个工序又包含若干分解动作,另外加工过程有可能 被中断,中断后可能继续加工也可能让设备复位。由此可见系统 的工作状态是多而复杂的。为了使系统能够做出正确的动作,需 要记录并判断当前的工作状态,并根据当前状态对运行指令做出 正确的响应。在本系统中使用c++中的int型变量记录当前状态, 使用switch语句进行状态判断和指令判断,从而决定下一个周期 执行的动作。如果一个动作完成便会修改状态变量,从而进入下 一个动作。如此便可实现全自动的焊接过程。 4.3示教焊接过程 图5示教再现流程图 示教焊接分为示教和再现两个阶段。示教阶段中操作者通 过人机界面上的按钮控制各轴的进给 焊枪到达所需位置后操作 者通过点击按钮记录当前位置,如此反复便可记录一系列的位置 点。再现过程便是从第一个记录点开始依次向下一个记录点运 No.5 Mav.2012 机械设计与制造 75 动,用分段的匀速直线运动逼近理论曲线轨迹。该过程实现的关 味物体会在下一周期发生碰撞,于是根据物理特性重新计算物体 nGL中的碰 键包括两点:第一是在示教阶段中,每一次记录位置时就会记下 的运动方向及速度。目前已有成熟的工具包用于Opelet Physics[121。 当前各轴的进给量,并根据设定的运动速度计算出在上一个位置 撞检测,比如Bul点和该位置点之间每个周期内各轴的进给量。第二是在再现过程 因为仿真系统中钢管尺寸可变,物体形状并非固定,另外机 中,各轴会判断是否到达当前的目标点,如果没有则以计算出的 床轴的运动受到运动副及行程的约束,所以设计中针对各轴的运 进给速度继续进给,如果已经到达,则将下一位置点设为目标点, 动特征进行了独特的碰撞检测,比如示教过程中,当人工控制焊 一旦焊枪与钢管之间即将发生碰撞,便会停止焊 并重新计算每个周期内各轴的进给量。整个示教焊接的过程,如 枪进行运动时,图5所示。 枪的运动。 5仿真图形绘制 6结束语 5.1机床及工件绘制 OpenGL只能生成简单的几何图元(点、线、面),所以需要借 助GLUT实用工具包辅助绘制复杂的图形。因为存在许多非规则 图形,所以需要使用顶点数组,用简单的多边形拼接成形状各异 的物体。比如用于表示钢管的一个圆柱面就需要设置720个三维 空间点,利用点的组合绘制360个长方形,所有长方形连成环状 就成为了较为光滑的圆柱面。 为增强视觉真实感,还需要进行纹理设置和光照设置,让表 面光滑的物体能够反光、不同材质的物体具有不同的质感。物体 的移动则是通过模型视点矩阵的变换实现。为了提高绘图效率, 大量采用了显示列表,减少了程序的运算量。 5_2轨迹球 作为仿真系统,既要能从全局观察整台设备的工作状况,也 要能从微观查看运动轨迹的精确性。对于视角的变换,目前比较 成熟的实现方法是轨迹球技术。其原理如图6所示。鼠标在绘图 区域的A点按下,并拖拽至曰点,系统记录下点击和拖拽这两个 动作,将AB两点投射到虚拟圆球上,根据弦线AB对应的空间圆 心角A OB即可计算出OpenGL中需要对模型视点矩阵进行的操 作t91。系统中就是采用轨迹球技术,当用鼠标左键在绘图区域进行 拖拽时,图形就会围绕窗口的中心点做旋转运动;当用鼠标右键 在绘图区域进行拖拽时,图形就会变换大小。 图6轨迹球原理图 5.3碰撞检测 运动的实物如果空间位置即将重合便会发生碰撞,但是在 绘图中并不会,它只会让较近的物体覆盖较远的物体,这不仅让 焊枪有机会“刺穿”钢管,甚至会让设备的不同部件发生重合,从 而大大降低了视觉真实感。为此需要进行碰撞检测。 碰撞检测的基本原理是 ]:在每一个运算周期中,对运动 物体在下一周期中的位置进行预计算,然后对比当前周期和下一 周期中的位置,判断是否会出现顶点穿越的现象,如果出现则意 目前系统已完成以上提到的所有设计。既能演示相贯线自 动焊接,又具有示教再现功能,并能在示教加工完成后将理论轨 迹与实际加工轨迹进行对比,“示教和再现”仿真内容的界面,如 图7所示。该仿真系统虽不能模拟焊接时电压、电流等焊接参数 的变化对焊接效果的影响,但对于机械结构的设计、运动轨迹的 规划、加工过程中的运动监控依然有很大的帮助。 图7示教再现仿真 参考文献 [1]李晓辉,汪苏骑座相贯线焊接机器人运动学分析与仿真[J].北京航空 航天大学学报,2008,34(8):964—968. [2]任福深,陈树君,管新勇,等.管内锚固式相贯线专用焊接机器人[J].电 焊机,2009,39(4):1OO一1O3. [3]孙星.规避式双焊枪自动焊接机自动控制系统设计[D].保定:河北农 业大学,2010. [4]Dave Shreiner.OpenGL Programming Guide Seventh Edition[M].Upper Saddle River,NJ:Addison Wesley,2009. [5]ashwinsubramanian.OpenGL Tutorials for Windows using MFC[M/OL]. http://download.csdn.net/source/2930159,201 1. [6]孙鑫,余安萍.Vc++深入详解[M].北京:电子工业出版社,2006. [7]廖效果,刘又午,朱剑英.数控技术[M].武汉:湖北科学技术出版社, 2o0O. [8]Sams.Teach yourselfVisual c++6.0 in 21 days[M].Indianapolis,Indiana: Macmillan Computer Publishing,1'998. [9]KenShoemake.ARCBALL:AUserInterfaceforspecifyingThree—Dimen— sional Orientation Using a Mouse proceedings ofthe conference on Grap— hics interface92 l C j.San Francisco:Moran Kaufmann Publishers Inc, 1992. [10]NeHe.OpenGLTutorialbyNeHe[ L].http://download.csdn.net/source/ 904037,2008. [11]huanyuxiake.游戏里实现碰撞检测方法[EB/OL ̄.http://blog.csdn.net/ huanyuxiake/archive/2009/1 1/24/4864358.aspx,2009. [12]ErwinCoumans.、Bullet2.78Physics SDKManual[EB/OL].http://bulle— tphysics.org/wordpress,2011.