中南大学硕士学位论文基于OpenGL的工业机器人运动仿真软件的设计与实现姓名:凌家良申请学位级别:硕士专业:软件工程指导教师:施荣华20090603
硕士学位论文基于OpenGL的工业机器人运动仿真软件的设计与实现摘要工业机器人在现代工业、尤其是制造加工业上起着极其重要的作用。随着工业机器人被日益广泛地应用到实际生产中,利用计算机预先对机器人及其工作环境乃至生产过程进行仿真可以得到很好的辅助效果。机器人仿真的目的就是在不接触实际机器人及其工作环境的情况下,通过计算机图形技术,提供一个和机器人进行交互作用的虚拟环境。机器人运动学仿真是机器入仿真系统的一个重要组成部分,它将机器人的运动学仿真结果以3D图形的方式显示出来,直观的显示机器人的运动情况,研究人员能在计算机屏幕上看到机器人的运动方式,轨迹规划的结果。在前入的基础上本文着重对工业机器人运动学、轨迹规划、空间碰撞检测和计算机图形学等进行了讨论。本文主要做了如下工作t首先,论文对工业机器人、机器人仿真技术的发展概况进行了概述,总结,分析了机器人连杆坐标系及机器入正向运动学,反向运动学:其次,本文重点分析工业机器人轨迹规划,在五次多项式插值轨迹规划基础上进一步完善含多个途经点及抛物线过渡轨迹规划;第三,总结机器人关节空间常见的几种碰撞检测算法,提出一种快速碰撞检测算法:本文阐述了该算法的设计思想和具体设计过程,并进行了详细的模拟分析。最后,本文根据上述算法开发设计了一个基于OpenGL的机器人运动仿真系统程序。关键词:工业机器人;OpenGL;图形建模;碰撞检测;运动学
硕士学位论文TheDesignandImplementationofIndustrialRobotSimulationSystembasedonOpenGLAbstractTheindustrialrobotplaysanextremelyimportantroleinthemodernindustry,especiallyinmanufacturingindustry.TheindustrialrobotSareincreasinglywidelyusedinactualproduct,TheSimulationOfrobotanditSworkingenvironmentandproductionprocessbythecomputerscouldbeaverygoodauxiliaryeffect.ThePurposeoftherobotSimulationiSprovideavirtualenvironmentinnocontactwiththeactualrobotanditsworkingenvironmentthroughcomputergraphicstechnology.TheSimulationofrobotkinematicsiSanimportantpartofrobotsimulationsystem,itdisplaytheresultofrobotkinematicssimulationthrough3Dgraphics,intuitivedisplaythemovementoftherobot,Researcherscanseetherobot。Smovementonthecomputerscreen,canseetheresultsoftrajectoryplanning.ThiSdissertationdiSCUSsedthekinematicsoftheindustrialrobottrobottrajectoryplanning|spacecollisiondetectionandcomputergraphics,etc.basedpreviousresultS.ThemainresearchworkofthiSdiSsertationisasfollow:firstly,ThedissertationexpatiatesthedevelopingstatusofindustrialrobotandrobotSimulationSystem,AnalysiSlinkrobotcoordinatesystemandrobotforwardkinematics,inversekinematics;Secondly,ThedissertationgivesemphasistotheanalysiSoftheindustrialrobottrajectoryplanning,improveSwithseveraltransitionpointsandparabolatrajectoryplanningbasedonthefivepolynomialinterpolationtraJectoryplanning;Third,thiSdiSsertationsH/nsupseveralcommoncolliSiondetectionaigorithms,bringsforwardafastcolliSiondetectionalgorithms:thiSdissertationexpatiatestheideaofthisalgorithm,designtheory,detaileddesigningprocess,andcarriedoutadetailedsimulationanalysis.Finally,thisdiSsertationdesignarobotSimulationsystembasedonOpenGL.Keywords:industrialrobot;OpenGL;graphicalmodeling;collisiondetection;kinematicsⅡ
原创性声明本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了论文中特另tlDn以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均己在论文中作了明确的说明。储虢拙吼啤年上月上日关于学位论文使用授权说明本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论文;学校可根据国家或湖南省有关部门规定送交学位论文。作者签名:靴导中南大学上月乒日
硕士学位论文第l章绪论第1章绪论1.1研究背景工业机器人由操作机(机械本体)、控制器、伺服驱动系统和检测传感装置构成,是一种仿人操作、自动控制、可重复编程、能在三维空间完成各种作业的机电一体化自动化生产设备n嘲。特别适合于多品种、变批量的柔性生产。它对稳定、提高产品质量,提高生产效率,改善劳动条件和产品的快速更新换代起着十分重要的作用。工业机器人作为机器人的一个主要分支,1958年,美国推出了世界第一台工业机器人实验样机。自从1962年美国机械和铸造公司(AMF)研制出第一台Versatran工业机器人和美国联合控制公司(Unimation)研制出用于模铸生产的工业机器人(称为Unimate)以来∞】,工业机器人的发展经历从低级到高级的逐步完善的过程,它的发展历程大致可以分为三代H][副:第一代:示教再现型机器人,它主有末端执行器、手臂和控制器组成,由人手把手地教会它应该经历的所有点,并把各点的位置、速度、加速度都记录在存储中,然后在机器人自我运行时,由这些数据计算出伺服系统电机的控制信号,进而控制机器人关节的运动。控制方式比较简单,应用在线编程。第二代:感官机器人,它具有对力觉、触觉、视觉等一些外加信息进行反馈的能力。控制方式比第一代要复杂得多。第三代:智能机器人,目前,机器人正朝智能化方向发展,不仅装备了各种先进的、高精度的传感器设备,如摄像机、声纳、图像处理器、光纤陀螺定位系统等,而且还运用了各种控制策略及控制算法,如经典的PID控制、遗传算法(GA)、变结构控制、模糊控制、神经网络控制、分层递阶控制等等。这些都使得它具有一定的模拟人的感知、思维和判断能力。工业机器人在现代化的生产中生产能够大大提高劳动生产率、提高生产质量、节约能源和材料、降低成本、代替人在危险或有害健康的恶劣环境下工作,在现代工业、尤其是制造加工业上起着极其重要的作用。我国的工业机器人从80年代“七五"科技攻关开始起步,在国家的支持下,通过“七五"、“八五"科技攻关,目前已基本掌握了机器人操作机的设计制造技术、控制系统硬件和软件设计技术、运动学和轨迹规划技术,生产了部分机器人关键元器件,开发出喷漆、弧焊、点焊、装配、搬运等机器人,取得一大批科研成果。但总的来看,我国的工业机器人技术及其工程应用的水平和国外比还有一定的距离。随着工业机器人被日益广泛地应用到实际生产中,机器人的工作环境也日趋复杂化,利用计算机预先对机器人及其工作环境乃至生产过程进行仿真可以得到很好的辅助效果。机器人仿真就是在计算机内部建立某种模型,机器人根据这种模型对动作进行规划,并自动地完成某些动作的目标程序¨1。机器人仿真的目的就是在不接触实际机器人及其工作环境的情况下,通过计算机图形技术,提供一个和机器人进行交互作用的虚拟环境。为了达到这个目的,需要把机器人本体和机器人所在的作业环境抽象为某种模型,并且必须对人们所设计
硕士学位论文第l章绪论的机器人动作进行仿真。机器人仿真系统作为机器人研究和开发中安全可靠、灵活方便的工具,发挥着越来越重要的作用。目前,对机器人仿真技术的研究主要集中在四个方面:(1)利用计算机的存储能力,建立机器人知识库,开展机器人结构设计,综合性能的评价,结构与尺度综合等;(2)机器人轨迹规划、奇异位姿、逆运动学有效解、壁障算法、多机器协调作业、机器人与物流协调及冗余度机器人的柔性控制系统的研究;(3)建立机器人动力学模型,分析机器人的振动、平衡、变形及精度问题;(4)机器人人工智能及专家系统的开发。机器人仿真技术涉及机器人动力学仿真、机器人运动学仿真、机器人控制仿真、机器人作业仿真等诸多内容。而机器人运动学仿真又不同于动力学仿真,由于动力学仿真是忽略了许多次要因素并通过线性化而得到的近似模型,因此仿真结果与真实情况可能有较大差距;但运动学仿真结果完全是真实可靠的,这是由运动学正、逆问题公式的准确与可靠保证的。1.2研究现状1.2.1国内研究现状目前,在国内已有许多高校及研究所在工业机器人仿真方面做了很多工作,开发了一些软件口刮。如上海交通大学机器人研究所的俞文伟和邓建一研制开发的机器人图形仿真软件ROSIDY。该软件是以国内外普遍使用的AutoCAD作为其图形支持,通过对AutoCAD的二次开发使其能直接为机器人仿真服务,该软件系统采用人机界面,具有菜单式项目选择、交互式人机对话、文件修改和与C语言、FORTRAN语言连接等功能。而清华大学的崔培莲和孙增圻开发研制的微机机器人仿真系统PCROBSM,采用模块化结构,具有一定的通用性和可以移植性,也便于用户进行拓展。整个系统有机器人语言、轨迹规划、运动学和动力学、控制系统仿真、图形数据输出等模块组成。还有其他一些大学也进行了不同方面的研究,无论算法结构还是图形研究都具很有特色,但其中大多数仿真系统都只针对特定机器人在单机环境下完成仿真的。1.2.2国外研究现状国外从70年代末便开始从事机器人仿真方面的研究。如英国Nottingham大学的Heginbothm等人研制了仿真程序SAMMIE,它用线框来表示机器人的模型,机器人可按点到点或连续轨迹的方式运动,从而可进行机器人的碰撞检测;德国Warnecke等人研制的机器人图形仿真程序包IPA,该包建立了包括200种不同机器人的数据库,能对不同机器人的功能和用途进行比较,以帮助使用者选择合适的机器人;美国通用电气公司研制的SDRC软件系统、Michigan大学的ADAMS软件包,均可以用于机器人工作单元设计和离线编程;Maryland大学研制的DYNAMAN系统可实现机器人的动力学分析和仿真。其它的一些仿真系统如,TOAD、EDYLMA主要用于机器人动力学仿真,DRAMS、IMP、LINKAGES、和DOMES用来解决机器人机构的运动学分析,而MICROS、TOCAD、CAM和ROBCAD等系统2
碗上学n论R第l§绪论针对机器人的结构设计与仿真“。”。。幽12ABB公司的virtualIRC5目前,机器人仿真系统正朝着通用化、完整化、交互式计算机图形化、智能化和商业化的方向发展.而代表这一发展趋势的是ROBCAD机器人仿真系统。ROBCAD已在实际工业系统中得到了广泛的应用,美国福特、德国大众、意大利菲亚特等多家汽车公司、美国洛克希德宇航局部使用ROBCAD进行机器人生产线的设计、仿真和离线编程。目前,ROBCAD已成为世界上流行最广的机器人仿真系统之一。13机器人仿真实现的几种途径(1)基于AutoCAD平台的图形仿真系统以AutoCAD为工作平台、以参数化三维实体造型进行建模、通过AutolISP编序驱动机器人模型,建立了一个在AutoCAD平台上的机器人运动仿真系统“…。其实现机器人模型运动有两条途径,其一一是采用AutoCAD提供的脚本文件,把所需的AutoCAD命令组合在一起,按预定的顺序执行这些命令,并通过运行脚本文件来产生图形显示。另外一种方法是采用AutoLisp语言编写模型驱动程序
硕士学位论文第l章绪论来实现模型运动。该方法的优点在于构建机器人模型方便,但是系统缺乏交互性,运动学逆解算功能差等缺点。并且由于以AutoCAD为平台的仿真系统,只适于运动学仿真,不利于仿真系统的扩展。.(2)基于AutoCAD和Matlab的机器人仿真系统Matlab(矩阵实验室),80年代由CleveMoler构思并开发,是集合命令翻译、科学计算于一身的交互式软件系统。在机器人仿真系统中,有大量的矩阵运算,采用Matlab作为平台,可以充分利用Matlab强大的矩阵运算功能,提高矩阵运算的正确性和效率。应用AutoCADActiveX技术,在VBA中调用Matlab应用程序。利用Matlab强大的矩阵计算功能,结合AutoCAD的图形功能,可以开发出运算效率高、图形显示质量好的机器人仿真系统n71。(3)基于VRML—JAVA的运动仿真系统虚拟制造(VirtualManufacturing)已是制造业中广为接收的新概念,虚拟现实技术是虚拟制造的一个重要支撑技术,是进行产品虚拟设计的途径。随着JAVA和VRML技术的相继出现以及微机性能的不断提高,在微机上进行虚拟现实仿真已经成为可能。运用VRML-_JAVA技术在微机上进行机器人运动仿真,运用CAD软件造型来构造虚拟环境,然后用JAVA—EAI接口控制虚拟机器人运动的方法,在此基础上工业机器人进行了建模和运动仿真n8啪1。这种仿真系统虽然不具备大型系统那样的真实感和浸入感,但它提供了一个低成本,低门槛的应用平台。VRML和JAVA的跨平台性、网络化和强大的可编程能力,对于实现网络化机器人仿真是一种简单、廉价而有效的手段。(4)基于3DSMAX的机器人动画仿真系统3DSMAX是AutoDesk公司推出的专门进行图像处理和动画制作的软件,使用方便,功能强大。利用3DSMAX作为机器人动画仿真系统,具有模型美观逼真,操作简单,易于改变观察视角等诸多优势乜¨。但是3DSMAX造型缺乏一些精确定位的功能,仿真的实时性和交互性。(5)基于OpenGL及3DSMAX的机器人三维仿真实现将机器人进行分解,在3DSMAX中建立各个局部几何模型,然后在VisualC++6.0环境下读取模型参数,借助OpenGL图形库建立机器人及其工作环境的几何模型,并建立机器人运动的层次关系,实现虚拟从机器人的平滑运动显示;最后,成功完成了虚拟环境中物体抓取的仿真实验乜2吨31。该方法将3DSMAX的强大功能与OpenGL的灵活交互相结合,满足了虚拟预测环境建模的形象和逼真的要求,同时具有良好的人机交互功能。(6)基于VisualC++和OpenGL的运动仿真系统采用Visualc++作为编程语言,一方面是因为VisualC++完善的基本类库MFC和应用向导AppWizard可以方便地调用OpenGL,以及方便的实现OpenGL和DXF、SLP等图形文件的接口。这有利于实现复杂、丰富的机器人及环境模型。另一方面,采用VisualC++作为编程语言有利于正、逆运动学以及轨迹、路径规划等算法及示教功能的实现。OpenGL是近几年发展起来的一个性能卓越的三4