碧波液压网 欢迎你,游客。 登录 注册

基于OpenGL的工业机器人三维仿真设计与实现

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  1 引言

  随着机器人技术的运用与发展,机器人编程技术成为一个很重要的问题。机器人离线编程(OIP,OffLineProgram)具有不需要停止机器人工作和可以通过图形仿真来避免实际机器人运动中的碰撞等优点。目前国内基本没有针对机器人仿真的成型工具,国外有一些商品软件如 RoboCAD,ROTSY,Evision等系统,但是RoboCAD价格比较昂贵,不能够普遍推广;ROTSY是基于Motoman机器人的一套仿真系统,但是他的普遍性不强而且价格也比较高。本文以江苏省“十五”攻关项目网络化焊接机器人研制课题为背景,设计了基于OpenGL的工业机器人三维仿真机离线软件RobotM,完成了对于Couma机器人的离线仿真程序开发。

  OpenGI是与图形硬件无关的程序设计接口,而且OpenGI的类库完成三维图形的底层操作,同时又具有建模方便、实时三维仿真、真实感强、平台独立性、真实性强、对于系统的要求并不是很高等优点。所以RobotM利用OpenGL和微软的VC+开发工具以及MFC类库作为底层的图形库接口实现仿真设计。离线仿真原理如图1所示。

  2 系统结构详述

  系统模块图如图2所示。

  图2说明了RobotM采用了分层次结构设计的方法,将整体程序设计成为3层结构,每一层的设计都相对独立,从而提高了程序的可移植性并且减轻了程序的维护难度。

  2.1模型层设计

  模型层利用OpenGI和MFC类库,构建了一系列底层的类对象,RobotM利用这些封装好的类对象来构建场景以及完成场景和用户的交互。在RobotM设计中增加了空间实体、空间模型、机器人模型的概念。

  空间实体就是单个的最简单的部件,而空间模型是若干个实体按照一定方式的组合。由于机器人仿真具有一定的特殊性,把机器人设定为一个实体或者一个模型显然是不合适的,所以可以把机器人以每一个转轴为界限分割成若干部分,而把分割好的各个部分都作为空间模型,从而形成了若干空间实体一空间模型,若干空间模型一机器人模型的组合方式。

  利用这种分层次的组合方式可以很容易控制仿真程序的显示和交互,例如利用RobotM仿真一个汽车焊接生产线时,用一个空间模型对象来描述汽车对象可以很容易地控制这个汽车对象。RobotM对于每种空间实体类型都利用OpenGI提供的GlgenList/glCallList函数实现了一套构建/绘制的函数,利用空间实体一空间模型一机器人模型的组织方式和C++面向对象技术中的多态性,最终把机器人模型和空间模型的绘制工作都归结为空间实体对象的绘制。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签: 机器人
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论