




已阅读5页,还剩51页未读, 继续免费阅读
(控制理论与控制工程专业论文)基于opengl的工业机器人三维仿真设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东南大学硕士学位论文 摘7 要 在课题组中承二扭的江苏省十五攻关项目。网络化焊接机器人研制与汽车生产线应用工 程”,本课题负责其子任务一。基于o p v n g l 的工业机器人三维仿真设计与实现” 利用o p o n g l 卓越的渲染功能砖场景和机嚣 进行绘制,形成真实感比较强的三维仿真 环境,通过研究o p e n g i , 在工业机器人仿真中的应用与其具体实现方法,完成工业机器人离 线编程系统的设计与开发通过介绍自行开发的机器人离线仿真程序系统和分析离线缟程给 用户所带来的较多便利以及显示机器人根据路径文件的产生的运动软逮,能够完成对于机器 人运动程序的编辑离线示教和再现 最后就本课题的研究现状和发展前景进行了总结和展望 本文提出并实现的机器人离线编程系统设计方法和理论,同时对于机器人技术和控制理 论的研究与应用具有较强的实际价值 查堕查堂堕主兰竺丝茎 a b s t r a c t t h ea r t i c l ef o c u s e so nt h er e s e a r c ho f “d e s i g na n dc o m p l e t i o no ff l u e e - d i m e n s i o n s i m u l a t i o no fi n d u s t r i a lr o b o tb a s e do no p e n g l ”, w h i c hi st h es u b m s ko f t e n t hf i v ek e yp r o j e c t o fj i a n g s up r o v i n c e ”r & do fo p e nn e t w o r ki n d u s t r i a lr o b o ta n dt h ea p p l i c a t i o np r o j e c to f a u t o m o b i l ew e l d i n gp r o d u c tl i n e b a s e do no p e n o l sg r e a tr o m a n t x :f o rt h es c a n dd r a w i n gf o rt h er o b o t , f o r mn t h r e e - d i m e n s i o ns i m u l a t i o ns c e f ew h i c hh a sg o o dr e a t i t ya n de m b o d yt h es u p e r i o r i t yo fr o b o t o f f - l i n ep r o g r a m m i n gt oc o m p l e t et h er o b o to f f - l i n es i m u l a t i o ns y s t e m , t h r o u g hr e s e a r e ht h e a p p l i a n c ea n dr e a l i z a t i o nw a yo f o p e n o li ni n d u s t r i a lr o b o ts i m u l a t i o n , i n t r o d u c es e l f - d e v e l o p e d r o b o to f f - l i n es i m u l a t i o ns y s t e ma n da n a l y s et h ec o n v e n i e n c eo fo f f - l i n es 呷j t e mg i v e nt ou s 盯 t h r o u g hs h o wt h et r a c km o v e db yt h er o b o tw h i c hi s ,b a s e do nt h et r a c ef i l e ,c o m p l e t ew a yt oe d i t a n dp r o g r a m m i n gt h et r a c ef i l e f i n a l l y , p a p e rd i s c u s s e st h er e s e a r c hs t a t u sa n dd e v e l o p m e n to f t h ep r o b l e m t h ea r t i c l eg i v ea n di m p l e m e n tt h ew a ya n dt h e o r yo fd e v e l o par o b o to f f - l i n es i m u l a t i o n s y s t e m t h i sh a v es t r o n gw o r t hf o rw i d et h er o b o tt e c h n o l o g ya n dc o n t r o lt h e o r yi nr e a lu n 东南大学学位论文独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 研究生签名:盈 日期:皿¥,。,一 东南大学学位论文使用授权声明 东南大学、中国科学技术信息研究所、国家图书馆有权保留本人所送交学位 论文的复印件和电子文档,可以采用影印、缩印或其他复制手段保存论文。本人 电子文档的内容和纸质论文的内容相一致。除在保密期内的保密论文外,允许论 文被查阅和借阅,可以公布( 包括刊登) 论文的全部或部分内容。论文的公布( 包 括刊登) 授权东南大学研究生院办理。 研究生签名: s 翌毽:导师签名:星组日期: 东南大学硕士学位论文 第一章绪论 第一章绪论 1 1 离线编程与图形仿真技术概况 1 1 1 课题背景 工业机器人( i n d u s t r i a lr o b o t ) 作为机械制造业和信息产业结合的产物。正越来越广泛 地应用于机械、汽车、军工、航空航天、造船、计算机、光学仪器、通信设备等行业在很 大程度上替代了人们的体力劳动如制造、搬运、焊接以及其它各种危险、恶劣环境下的工 作。 随着机器人研究的不断深入和机器入领域的不断发展,机嚣人仿真系统作为机器入设计 和研究的安全可靠灵活方便的工具,发挥着很重要的作用,它可以应用于机器人的许多方面 例如:可为机器人本体结构方案设计提供参考依据;帮助研究人员了解机器人工作空间的形 态和极限;可用于分析检验轨迹规划和作业规划的正确性和合理性;可作为离线编程技术的 研究提供一种极为有效的验证手段;可用于实时检测机器人和作业环境之间的碰撞和干涉以 保证整个生产单元的安全,此外。仿真技术还可以帮助用户选择合适特定作业的机器人产品 类型。总之,在机器人的研制、设计、开发应用中正起着越来越重要的作用 工业机器人编程技术对工业机器入的推广应用及其应用效率的发挥起着越来越重要的 作用,从某种意义上说已是工业机器人应用的瓶颈问题。工业机器人的编程有直接编程和间 接编程两种方法直接编程( 即在线编程,o n l i n ep r o g r a m m i n g ) 包括示教编程。传感器辅 助编程,以及通过键盘或机械存储方法进行手工输入编程。间接编程( o f f l i n ep r o g r a m m i n g ) 则包括基于c a d c a m 系统的图形交互式编程、采用隐式或显式语言编程由于在线编程 柔性差,在实际生产中已应用很少 1 1 2 机器人离线编程的一般概述 随着机器人技术的运用与发展,机器人编程技术成为一个很重要的问题。机器人离线编 程( o l po f fl i n ep r o g r a m ) 具有不需要停止机器人工作和可以通过图形仿真来避免实际机 器人运动中的碰撞等优点 图形仿真是机器人离线编程系统必不可少的组成部分,它使机器人离线编程系统开发和 实现成为可能幸运的是,它所需要的大部分图形功能在现有先进的几何造型系统中都已存 在,因而人们自然希望把某一先进的几何造型系统作为离线编程系统的一部分。在这一先进 的几何造型系统上开发所需要的机器人离线编程系统,这样不仅节省了人力物力,加快了软 东南大学硕士学位论文 第一章绪论 件的开发速度,而且可充分保证所开发系统的几何造型功能和图形仿真的能力增强了离线 编程系统的通用性 l 机器人本体k 陬甄唧i 陌翮玎蓠绸| i 柜碌c x r cf 1 仿真 l ; l 竺繁竺一 俯佃 i l 其他计算机l i 图i - i 离线仿真原理 1 1 3 离线编程与图形仿真技术的意义与发展 早期的机器人主要应用于大批量生产如在汽车自动生产线上的点焊与弧焊。编程所花 费的时间相对比较少。机器人用示教的方式进行编程可以满足一定的要求随着机器人应用 到中小批量生产以及所完成任务复杂程度的增加。用示教方式编程就很难满足要求随着机 器人学和计算机技术的不断发展,目前已形成了高度自动化的生产系统。这些系统和 c a d c a m 技术的结合已形成了不可避免的趋势,这就是所谓的c a d c a m r o b o t i c s 一 体化在这样的c a d c a 们的b o t c s 一体化的系统中,由于机器人工作环境的复杂性, 对机器人及其工作环境乃至生产过程的计算机仿真是必不可少的机器人仿真系统的任务 就是在不接触实际机器入及其工作环境的情况下。通过图形技术,提供一个和机器人进行交 互作阁的虚拟环境 传统的离线编程技术可称为基于三维图形的屏幕示教编程技术。近年来。机器人离线编 程技术正在迅速发展,机器人的自动编程受到各行业的重视这种自动编程技术的基础是更 高级的语言,叩作业任务级编程语言( t a s k l e v e lp r o g r a m m i n gl a n g u a g e ) 例如,把焊接任务 规划为焊接工件的序列等。离线编程技术的最高阶段是全自动编程,即只要输入对应的模型, 离线编程系统中的专家系统会自动制定相应的工艺过程最终生成整个加工过程的机器人程 序,这也是一种”傻瓜编程” 1 1 4 离线编程典型系统 根据机器人离线编程系统的开发和应用情况,可将其分为三类:商品化通用系统企业 专用系统和大学研究系统。目前,商品化通用系统有:w o r k s p 戤。i g r i p 和r o b c a d 等, 2 东南大学硕l :学位论文第一章绪论 这些软件比较昂贵,达数万美元;企业专用系统有德国的n i s 公司r o b o p l a n ,日本松下公司 的d t p s i i 和日本n k k 公司的n e w b r i s t l a n 等;大学研究系统:l o u g m ,o r o u g h 大学的 w r a p s 等 1 2 课题概况 为了经济地、高效率地进行机器入理论和工程实际问题的研究根据江苏省十五科技攻 关计划项目“网络化焊接机器人研制与汽车生产线应用工程”的要求,开发了一个机器人三 维幽形仿真系统,能在微型机上模拟机器人,可供做机器人理论分析、优化设计和工程论证 等研究也可用于为生产工程中的机器人提供离线编程 1 2 1 本论文主要的工作 1 抽象空间物体对象,并封装各种物体 2 构建周边工件模型构建并拼接机器人模型和工具手 3 导入从别的编辑器里面所构建好的模型到本系统中 4 三维图形的编辑功能提供和操作提供以及对于三维场景的三维图形显示模块的开发( 包 括光照、消隐) 以及交互式操作的开发( 包括平移、缩放、平面旋转、立体旋转及变视点操 作) : 5 机器人和周边工件模型的编辑和操作 6 给定机器人运动的末端点插补出机器人路径并在三维图形模式下显示 7 机器人运动的分析,通过给定机器人末端点的位置实现离线编程 1 2 2 关键技术和难点 要解决的技术问题主要如下: 1 数据结构的设计优秀的软件需要强大但实用的数据结构作为支撑如何使用一系 列比较实崩的数据结构去描述模型、机器人乃至于整个仿真系统的场景,是器要解次的司题 之一 2 。 由于3 d m m ( 的3 d s 文件格式或者其他的开发工具产生的o m 文件都比较复杂,不 易被o p e n g li 卖取。因此转换文件格式成了一个关键问题 3 如何解决能够使得仿真系统按照实际机器人路径运动所提出的路径规划产生问题以 及根据给定机器人路径点之后的显示问题 4 离线编程程序中路径的读取和示敦的方式的改变以及离线编程系统中描述路径的数 据结构和路径文件的转换关系 5 仿真系统的扩展性,如果需要添加不同类型的机器人,怎么样才能减少1 作量,通 3 东南大学碗士学位论文第一章绪论 过模块化的方式将不同的机器人连接上去如何实现机器人的模块化和开放性以及对于机 器人的适应性 6 离线编程系统中两种示教方式的运用 7 o p e n g l 在离线编程系统中的显示效率以及在其中的所有的必要的数据组织和显示 4 东南大学硕i :学位论文第二牵离线编程系统穰况与分析 第二章离线编程系统概况与分析 2 1 焊接生产线概况 南汽项目主要涉及6 台意大利c o m a u - - 1 2 0 机器人,现场的情况如下所示: 生产线总共分为三个工位: 补焊线一工位( 贮存) : ( 1 ) 暂时存放在该工位 ( 2 ) ,j 、车升起,将车体送至下一工位 补焊线二工位: ( 1 ) 小车下降将车体放入夹具,定位并夹紧 ( 2 ) 点焊 ( 3 ) ,j 、车升起,将车体送至下一工位 点焊机器人( 4 台) ( 6 个自由度) 补焊线三工位: ( 1 ) 小车下降,将车体放入夹具,定位并夹紧 ( 2 ) 点焊 ( 3 ) 小车升起,将车体送至下一工位 点焊机器人( 2 台) ( 7 个自由度) 其生产线布局如图2 1 所示: 图2 - ! 车身焊装生产线 东南大学硕士学位论文 第二章离线编程系统概况与分析 2 2 课题方案设计 本文结合江苏省十五科技攻关项目“网络化焊接机器人研制与汽车焊接生产线应用工 程”,以汽车车身机器人总焊线为背景,研究机器人任务调度与路径规划有关的仿真系统 该生产线上的六台c o m a u 焊接机器人目前还处在单机使用方式当投产一个新产品时, 由于多台机器人采用示教再现方式,导致编程时间过长,严重影响生产。无法适应敏捷制造 的要求所以,此项目的目的就是对生产线上的老机器人进行网络化改造,实现机器人焊接 生产线的系统集成。机器人作业仿真系统是虚拟制造的关键技术之一对于机器人柔性制造 领域的v m 技术目前还不太成熟,有待在系统控制、操作的表达,系统的运动学表达等方 面得到强化 机器人图形建模与绘制模块的实现主要有两种途径:一种是直接用计算机编程语言实 现。应用该方法开发难度比较大需要掌握大量的计算机图形学知识,编程过程繁琐。开发 周期较长但其系统运行速度通常较侠;另一种是利用商品化图形软件作为图形支撑来实现。 该方法的掌握相对来说较为容易一些,可降低成本,加快开发速度,并具有良好的可扩展性 但其系统运行速度要比前一种慢一些 目前比较流行的主要有三种图形支捧软件它们是m i c r o s o r 公司的d i r e c t ! x ,a u t o d e s k 公司的h e i d i 以s c i 公司的o p e n g l d i r e c t x 的主要用途是编写游戏软件,h e i d i 和o p e n g l 功能、应用场合类似,主要区别在于:h e i d i 还只是一种原始对象接口,使用不太方便而 且功能请求单一,是靠使用标准界面或者直接利用特定的3 d 芯片来进行硬件加速如果没 有硬件的密切配合,在对大型的高质高分的图形工作时,显示效率会受到很大影响相比之 f o p e n g l 具有强人的三维图形功能,较之w i n d o w s 下提供的g d i ( g r a p h i c a ld e v i c e i n t e r f a c e ) 接口,o p e n g l 能够设置光照、材质,并且有直接构造三维多面体的函数,因此, 在使用o p e n o l 开发模块时,能够直接调用其提供的函数只需提供三维多面体在实际三维 空间中的坐标参数就可画出带光照的、有表面材质的三维多面体来,达到形象、逼真的效 果,而不需要用户自行设计投影算法来计算多面体的每个顶点在三维平面上的投影,然后画 出点到点的联线从投影方式的选择来讲,o p e n g l 提供的投影方式的设置函数。使用户能 够选择平行投影、透视投影,并设置投影角度;从观测者的位置来讲,o p e n g l 还提供了使 任意实体能够绕空问任何一条直线旋转及沿空间任何一条直线平移的函数。所以能够从不同 角度,不同视距对机器人状态进行观测但是o p e n g l 也存在一定的局限性。它只提供了简 单的图元的绘制命令如圆柱、圆锥、长方体等,对于比较复杂的图形,用它构造就比较麻烦 利用其他功能强大的建模软件建立模型,然后导入o p e n g l 这样就降低了o p e n g l 复杂建 模的难度i 还可以得到较真实的复杂物体模型 3 ds t u d i om a x 是美国a u t o d e s k 公司推出的一套优秀的三维动画制作的软件它使微机 上的动画制作水准有了质的飞跃t 并足以与工作站级的动画制作软件相媲美3 ds t u d i om a x 综合了低价格、易使用、功能更强大的特点,并带来了全新水平的生产率、工作能力和可配 6 东南大学硕士学位论文 第二章高线编程系统概况与分析 置性因而得到了迅速推广和普及利用3 d m a x 提供的三维建模工具,可以方便的构建具 有高度真实感的机器人及其操作环境的三维v r 模型但是3 d m a x 只能生成顺序播放的三 维动画,却不能提供对v r 模型的交互式控制 为此本文结合3 d m a x 和o p e n g l 取长补短,利用3 d m a x 友好的建模界面仿造实际机 器人及其工作环境构建逼真精确的虚拟三维模型。将模型转化成o p e n g l 可读取的数据库文 件,通过基于o p e n g l 的编程对用户输入做出实肘响应,以实现对虚拟环境的交互式控制 2 3o p e n g l 简介与应用 o p e n g l 是近几年发展起来的个性能卓越的三维图形标准它是在s g i 等多家世界闻 名的计算机公司的倡导下,以s g i 的g l 三维图形库为基础制定的一个通用共享的开放式三 维图形标准目前,包括m i c r o s o f t s g i ,i b m ,d e c ,s u n 和h p 等大公司都采用了o p e n g l 作为三维图形标准,许多软件厂商也纷纷以o p e n g l 为基础开发出自己的产品。其中比较著 名的产品包括动画制作软件s o f t l m a g e3 d 和3 d s t u d 0m a x 、仿真软件o p e nl n v e n t e r ,v r 等值得一提的是,随着m i c m s o r 公司在w i n d o w s n t 和最新的w i n d o w s 9 5 9 8 2 0 0 0 中提供 了o p e n g l 标准及o p e n g l 三维图形加速卡的推出,o p e n g l , 将在微机中有广泛地应用,同 时也为广大用户提供了在微机上使用以前只能在高性能图形工作站上运行的各种软件的机 会。也就是说它使得在微机上实现三维图形的生成与显示成为可能。同时由于o p e n o l 是开 放的图形标准,用户原先在u n i x 下开发的o p e n g l 图形软件很容易移植到微机上的 w i n d o w s 系统上 o p e n g l 独立于硬件设备、窗口系统和操作系统等,许多计算机公司已经把o p e n g l 集 成到各种操作系统和窗口系统中,其中窗口系统有x 窗口系统,w i n d o w s 等,操作系统包 括u n i x ,w i n d o w s n t 和w m d o w s 9 x 2 0 0 0 等o p e n g l 实际上是一个开放的三维图形软件包, 它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移 植o p e n g l 可以与v c + + 紧密接口,便于实现机械手的有关计算和图形算法,可保证算 法的止确性和可靠性。o p e n g l 使用简便、效率高 2 3 1g f c 中使用0 p e n g l 的方法 作为个开放的三维图形软件包o p e n g l 与v c + + 之间接口紧密m i c r o s o f t 在v c + + 2 。0 以上版本中内置了o p e n g l ,为o p e n g l 在微机上的应用创造了有利条 牛 一、包含头文件 在m i c r o s o t t s 眦ls t u d i o v c 9 8 k l i b 中包含有o p e n g l 静态库:o p e n g l 3 2 1 i b 、0 u 3 2 1 i b 、 g l a u x 1 i b ( g l a u x 。l i b 代表辅助库a u x ,它的功能实际很大程度上已被实用软件程序包g l u t 所代替,后者性能更优越1 只是由于a u x 是微软内带的,所以很多程序还使用它) 在 7 东南大学硕士学位论文 第二章离线编程系统概况与分析 程序的视图类头文件中包含文件9 1 h ,g t u h ,g l a u x h 并在项目p r o j e c t 协d dt op r o j e c t 、l v i l e s 中加入相应文件 二、创建r c 在w i n d o w s 环境下建立o p e n g l 绘制窗口是通过建立设备描述表( d c ) 和绘制描述表 ( r c ) 来实现的,而r c 和d c 是连接在一块的。因此,为了建立r c ,先要建立d c 用 c h o o s c p i x e l f o r m a t 0 编统中与p f d 描述的象素格式最为匹配的返回;由s c t p i x e l f o r m a t 0 设置d c 象素格式设置在o n c r e a t e o q a 进行 i mc t e s t 3 d v i e w :o n c r e a t e ( l p c r e a t e s t r u c ti p c r e a t e s u u c t ) i f ( c s c m l l v i e w :o n c r e a t e ( i p c r e a t e s t r u c t ) 一- 1 ) r e t u r n - i ; p i x e l f o r m a t d e s c r i p t o rp f d f f i ( s i z e o f ( p i x e l f o r m a t d e s c r i p t o r ) , 1 , p f d d r a 虻礁w i n d o w p f d _ s u p p o r t _ o p e n g l p f d _ d o u b l e b u f f e r , n 吣j 飞p e _ r g b a 。 2 4 , 0 , 0 ,0 ,0 ,0 。0 , 0 ,0 , 0 ,0 ,0 ,0 ,0 , 3 2 , 0 ,0 , p f dm a i n _ p l a n e 。 0 , 0 ,0 ,0 支持到w i n d o w s f 支持- o p e n g l 肢持双缓冲 r g b a 风格 2 4 位颜色位 3 2 位深度缓冲 脏层类型 ) ; c c l i e n t d cc l i e n t d c ( t h i s ) ; ,得到d c 旬柄 i n tp f - - c h o o s e p i x e l f o r m a t ( c l i e n t d c m _ h d c , & p f d ) ;,返固最佳匹配象素格式 b o o lr t = s e t p i x e l f o r m a t ( c l i e n t d c mh d c ,p f , & p f d ) 设置象素格式 h g l r c - - w g l c r e a t e c o n t e x t ( c l i e n t d c r e _ h i ) c ) ; ,创建r c i e t u f no : 8 东南大学硕士学位论文 第二章离线编程系统概况与分析 三、设置坐标变换方式 每次窗口创建或改变大小的时候,都要重新设置视口大小。因此我们在o l l s i z c 0 中进行 视口设置而投影变换和视点一模型变换的初始设置也可以放在里面进行 v o i dc t e s t 3 d v i e w :o n s i z e ( u i n tn t y p e ,i n tc x ,i n tc y ) c s c r o l l v i e w :o n s i z e ( n t y p e 。c x 。c y ) : g l s i z e iw - - c x : g l s i z e ih = c y : c c l i e n t d cc l i e n t d c ( t h i s ) : 得到d c 旬柄 w g l m a k e c u r r e n t ( c li e n t d c m _ h d c ,h g l r c ) : 连接d c 和r c g l v i e w p o r t ( 0 ,0 - h ) : 重新设置视口 g l m a t r i x k o d e ( g l _ p r o j e c t i o n ) : 标志对投影矩阵操作 g l l o a d l d e n t i t y0 : 投影矩阵初始化为单位阵 g l o r t h o ( - 3 o * ( g l f l o a t ) w h 。3 0 ( g l f l o a t ) v i i - 3 0 ,3 0 。一3 0 0 。3 0 o ) :1 1 设置正射 投影矩阵 g l m a t r i x m o d e ( g l _ m o d e l v i e w ) :标志对视点一模型矩阵操作 g l l o a d l d e n t i t y ( ) : 视点一模型矩阵初始化为单位阵 w g l m a k e c o r r e n t ( n u l l ,n u l l ) :断开d c 和r c 四、绘图显示 完成上面的步骤后,就可以利用o p e n g l 进行绘图操作,我们在o n d r a w ( ) 中调用用户相应 的绘图显示函数,代码如下: w g l m a k e c u r r e n t ( p d c m _ h d c 。h g l r c ) : 连接d c 和l l c d r a w 0 :调用用户的绘图显示函数 w g l m a k e c u r r e n t ( p d c m _ h d c ,n u l l ) :断开d c 和r c s w a p b u f f e r s ( p d c n _ h d c ) :把前后缓冲区交换,更新视图 五、程序结束,释放资源 v o i dc t e s t 3 d v i e w :o n d e s t r o y ( ) 。 c s c r o l l v i e w :o n d e s t r o y 0 : w g l d e l e t e c o n t e x t ( h g l r c ) :释放r c 句柄 l 9 东南大学硕士学位论文 第二章离线编程系统概况与分析 2 3 2 离线编程系统中对于图形的操作和渲染技术的需求 在机器人离线编程系统中对于图形的操作和渲染技术有很大的需求。在离线编程的系统 中,通过设置0 p e n g l 的属性,可以对显示的场景的图形进行处理达到用户对于视觉效果的 要求 g l u t l n i t d i s p l a y m o d e ( g l u t _ d o u b l eig l u t _ r g bg l u t _ d e p t h ) ;模式 g | d e p t h f u n c ( g l _ l e q u a l ) ; g l e n a b l e ( g la u t on o r m a l ) ; g l e n a b l e ( o l _ n o r m a l i z e ) ; g l f r o n t f a c e ( g lc w ) ,顺时针 g l c u l l f a c 2 ( g l - - f r o n t ) ; 上面的一些内容就是对于离线编程系统中的图形的一些比较基本的操作 对于图形的操作可以见参见本文对于离线编程系统中场景层3 2 的介绍 2 3 3o p e n g l 在三维图形仿真中的应用 本系统的图形建模模块与图形绘制模块,主要用o p e n g l , 来实现,下面介绍一下在软件中 用到的一些o p e n g l 的主要技术 坐标变换 可以利用0 p e n g l 来建立所希望绘制的几何模型,接下来需要确定这些模型在三维空间中 的定位和取向,并选定一有利的观察点实际上计算机图形学的中心问题就是在个二维的 平面上来创建三维物体,因此在构图时需要在三维坐标系中进行思考应当在三维空间中建 立所绘制物体的模型,由计算机经过恰当的变换( 主要是一些矩阵操作,包括旋转、平移、 缩放、镜像、正射投影和透射投影) ,视图裁剪和视口变换,将三维坐标系中的点转换为屏 幕上的象素位置,从而得到理想的视觉效果 在离线编程中是通过上述的o n s i z e 函数以及 g l g e t d o u b l e v ( g l _ k o d e l v i e _ m a t r i x ,m o d e l m a t r i x ) : 来完成对于模型矩阵的获得以及对于在场景中的确定位置的投影的设置 泊隐 计算机窗口显示的图形是由三维图形向二维平面上投影得到,往往三维实体上不止一个 点投射到二维平面的同一点为避免二义性,应通过消隐去掉被遮住的点消隐是通过给出 各象素点的深度值来确定该点的显示与否,或者通过计算视线与实体表面点处法向量的夹 角,以确定其是否为可见点 光照和材质 通过上面的算法,我们已经得到法向量,接下来就是光源的创建、定位和启用o p e n g l 可以使用至少八个互相独立的光源。每增加一个光源就将显著的增加计算量,光源的数目影 响程序性能。而用一个光源,基本能达到较好的效果本软件中采用一个光源。以下是设定 1 0 东南人学硕j :学位论文第二章离线编程系统概况与分析 光照材质的代码: 本系统中通过调用p d o c 一 d r 砒i g h t0 : 2 0 0 3 9 2 3 j i c h e n 显示所有的光照效果, v o i dc r o b o t d o c :d r a w l i g h t0 p o s i t i o np o s = 吐l i g h t l i s t 一) g e t h e a d p o s i t i o n0 : c l i g h t n o d e * p n o d e : w h i l e ( p o si - m d l l ) p n o d e = “l i g h t l i s t 一) g e t n e x t ( p o s ) : i f ( ! p n o d e - y m _ b d e l e t e d ) p n o d e 一 d r a w ( ) : 遍历每一个光照节点,通过访问每个节点来完成光照的显示 纹理映射 对物体表面材质的定义仅仅局限于颜色设定上,所能指定的只是物体对各种入射光成分 的反射特性。但对于真实物体来说。材质不仅仅表现为其光线反射特性,更重要是其表面的 纹理特征可以说纹理是区别物体材质最重要的因素之一在物体表面直接设计纹理图案将 是非常复杂、耗时的操作,而且设计出的纹理往往显得不够自然,从而大大损害所绘制图形 的真实感。通过纹理映射操作,可以将扫描得到的真实物体的纹理图像直接映射到场景中的 物体表面,从而方便了真实物体纹理的模拟操作 显示列表的应用 o p e n g l 命令的基本执行模式是立即模式。所谓立即模式是指令一经接收就立即执行 立即模式非常适合于简单而且模式经常改变的交互式应用程序在o p e n g l 中,细密纹理控 制尽可能使爿j 立即模式,甚至个别光照参数( 例如材料的漫反射) 和纹理图像也使用立即模 式。立即模式具有机动灵活的特性,但如果命令的参数为常量。或对象被反复应用,立即模 式执行效率低的弊端就马上暴露出来了 为解决这一问题o p c n g l 提供了显示列表显示列表是存储起来的一系列o p e n g l 命 令。引用显示列表时,按顺序执行其中的o p e n o l 命令,这些命令都是经过编译的,从而大 大提高了效率 举个离线编程系统中的例子来说 在r o b o t v i e w :r e n d e r s e n c e 中 f ( ! b l n i t m o d e l ) l n i t m o d e l ( ) ;改变模型,重构 i f ( ! mb b u i l d m o d e l ) b u i l d m o d e l o ; l i 东南大学硕士学位论文 第二章离线编程系统概况与分析 i f ( 1 b l n i t r o b o t ) l n i t r o b o t 0 ; i f ( ! m _ b b u i l d r o b o t ) b u i l d r o b o t 0 ; g l c a l l l i s t ( n l i s t r o b o t ) ;画机器人 g i e n a b l e ( g l _ l i g h t i n g ) ; d r a w a i i o i h e r m o d e l 0 ; g l d i s a b l e ( g l l i g h t i n g ) ; i f ( 1 mb b u i l d i m a w l i n e ) b u i l d d r a w l i n e o ; i f ( m _ b l i n e ) g i c a l l l i s t ( n l i s t d m w l i n e ) ;:毙j 线 i f ( ! m _ b b u i l d f i o o r ) b u i l d f l o o r o ; g i c a l l l i s t ( n l i s t f i 0 0 0 ;j 也板 每一个b u i l d * * * * * 0 函数就是一个n e w l i s t 的函数,而下面g l c a l l l i s t 就是完成对于 显示列表调用的函数 选择与反馈实现图形交互 不同的图形应用程序有不同的应用需求有些图形应用只需要绘制二维和三维物体的静 止图像。而很多应用则要求允许在屏幕上标识对象,然后对其进行移动、修改、删除,或进 行其他一些操作o p e n g l 完全提供了对这类交互式应用的支持。由于在屏幕上所绘的对象 通常要经过多次旋转、平移和透视变换而经过多次变换后,需要进行选择操作时。如果不 借助特别的机制,就往往难以确定三维场景中哪个对象正在被选中为了解决这个问题, o v - e n g l 提供一种选择机制,它能自动得出窗口的指定区域内绘制的是哪些对象利用这种 机制及一个专门的应用程序,可以确定这个区域正在用鼠标指定或拾取的是哪些对象 同选择机制一样,反馈是另外一种o p e n g l 操作模式在反馈模式下,可以利用图形硬 件和o p e n g l 执行一般的绘制计算。但在反馈模式下,o p e n g l 并不利用计算结果直接在屏 幕上绘制图像,而是返回( 或反馈) 计算出的绘图信息在选择和反馈两种模式下绘图信 息将返回给应用程序,而不是像在绘制模式下那样发送到帧缓存,因此当o p e n g l 处于选择 或反馈模式下时屏幕将保持冻结( 即不进行图形绘制) 在离线编程系统中 r e n d e r s c e n e ( t r u e ) ; 膈取点击个数 h i t s = g l r e n d e r m o d e ( g l _ r e n d e r ) ; ,处理 1 2 东南大学硕士学位论文 第二章离线编程系统概况与分折 i f ( h i t s c1 ) p r o c e z s o b j e c t ( h i t s , s e l e c t b u f f ) ; 通过这样的内容来完成选择模型的设置,通过这样的设置,以及p r o c e s s o b j e c t 的调用 完成对于物体的选择 2 3 4 离线编程和示教的运用 离线编程作为机器人编程的一种方式,通过在计算机平台上仿真出机器人路径文件,实 现编程系统的非本地化。示教是在仿真的基础之上的关于机器人运动的用户操作具体内容 请参见第三章中的离线编程系统示教层设计 东南大学硕士学位论文第三章高线编程系统分层次设计 第三章离线编程系统分层次设计 3 1 离线编程系统简介 机器人离线编程技术是利用计算机图形学的成果,建立起机器人及其工作环境的模型, 利用一些规划算法,通过对图形的控制和操作在脱离生产线的情况下进行机器人的轨迹规 划。机器人离线编程技术已被证明是一个有利的工具,用以提高生产效率、减低成本和增加 安全性等表3 - 1 为示教编程和离线编程两种方式的比较 示教编程 离线编程 需要实际机器人系统和工作环境需要机器人系统和工作环境的图形模型 编程时机器人停止工作编程不影响机器人工作 在实际系统上试验程序通过仿真试验程序 编程的质量取决于编程者的经验 用规划技术可进行最佳路径规划 很难实现复杂的机器人轨迹路径可实现复杂运动轨迹的编程 表3 - 1 示教编程和离线编程的比较 分层次编程 本离线编程系统主要分为三个层次结构和一个辅助模块结构。即模型层,场景层,示教 层和辅助模块 分层次编程是一个逻辑概念,并不影响程序的实现。但是作为一个比较大的系统来说 分层次的设计方式是一个比较好的设计方法具体有如下的优点: l 逻辑上比较容易理解 无论对于开发者和使用者来说分层次的设计方式比较容易接受,对于开发人员来说在 程序设计文档确定之前可以先考虑开发的程序属于层次,比较容易的确定开发的周期和程序 之间的依赖性 2 开发上的模块化 从o o p 面向对象编程技术普及以来,模块化的程序设计就广为使用从分层次的结构 来说t 实际上就是把每个层次分为一个比较大的模块,而把每个层次内部的内容分为更小的 模块,因此如果需要的话只需要改变模块和模块之问的接口,就可以很轻松的改变程序的实 现而不会因为模块之间的耦合性而增加程序的维护难度 3 存放上的便利 个比较大的w i n d o w s 应用程序,可以考虑通过“e + d i i 的方式来完成,把较低层的内 东南大学硕i 擘位论文 第三章离线编程系统分层次设计 容存放为d l l t 而如果需要修改的话只要重新编译d | i 就可以完成,而不需要每次修改都会花 费大量的时间来完成编译 离线编程技术优点 机器人离线编程系统对于机器人生产线有着十分重要的意义与在线示教方式相比,离 线编程技术有以下几个优点: 1 :方便用户使用,在比较恶劣的条件下,让编程者( 示教者) 深入现场是不合时宜的,所 以改用离线示教是有必要的 2 :方便各种机器人使用离线编程系统提供编程接口不同的机器人提供不同的解释器, 而内核不变,有一定的推广性 3 :对于复杂任务,用在线示教的方法对于用户要求较高甚至不能做到而对于离线示教来 说就要容易的多 4 :不需要占用机器人运动时间,在线示教机器人不能做其他的事,而离线示教则不然,可 以在不停顿机器人的情况下进行编程,可以充分的利用资源,对于生产线来说有一定的实用 性 5 :机器人程序的修改要相对容易的多 东南大学硕士学位论文第三章高线编程系统分层次设计 r 醐 幽3 - i 机器人离线编程系统流程图 o p e n g lj j 文件接口 实体对象类型 i 厂丽? 弓五谳 o p e n g l 周边模型il 其他类型模型 曝菊习 li 机器人和周边工件模型 日 场景数据机构的 建立、保存 垫堡拿垩塑l 厂赢 鼠标选取模式il 示教模式 产生路径 _ _ _ _ - _ - ,v _ - _ - j l 一 仿真下传控制机器人运动 辅助层i 厂夥赫瓢r 碡孺丽疆砸丽 函园圃陌j l 正逆解等算法模块 圆圈 图3 - 2 机器人离线编程系统分层图 离线编程系统的组成 l :机器人和周边工件的模型建模 建立机器人和周边工件的三维实体模型是本系统的基础,对于离线示教系统,首先必须 能够提供三维实体的基础,也就是创建三维实体的模型提供给用户本系统中提供了机器人, 1 6 屏 一场 东南大学硕士学位论文 第三章离线编程系统分层次设计 模型两个基模型 2 :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西藏那曲地区嘉黎县2025届数学三下期末检测试题含解析
- 商务礼仪培训课件
- 2025年租赁合同范本参考文献
- 2025汽车销售融资租赁合同模板
- 2025建筑物外墙及阳台栏杆翻新项目合同
- 2025水电工合同范文合同
- 2025年济南长清区八年级下学期数学期中考试试题(含答案)
- 2025智能家居动漫设计合同
- 2025年石油销售居间合同协议范本
- 电子口岸简介
- 国家开放大学本科(非英语专业)学士学位英语统一考试样题
- GB/T 44273-2024水力发电工程运行管理规范
- 城轨行车课程设计
- 中职护理专业护理服务质量评价体系研究
- 2024年南京市中考历史试题及答案
- 小学生卫生知识健康教育精课件
- A类供应商绩效评价表
- 新目标英语初三英语总复习资料讲义
- 体育馆钢结构工程马道施工方案
- 2024年全国中学生数学奥林匹克竞赛内蒙古赛区初赛试卷(解析版)
- 四川省建筑与桥梁结构监测实施与验收标准
评论
0/150
提交评论