我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:王中王 > 顶点混合 >

利用OpenGL图形系统建立六自由度机器手的三维模型

归档日期:05-06       文本归类:顶点混合      文章编辑:爱尚语录

  机器手三维建模仿真是机器人各项仿真中的一个重要组成部分,对于机器手的运动轨迹仿真有重要的指导意义。LabWindows/ CVI(以下简称CVI) 是美国NI 公司推出的交互式C 语言开发平台。其集成化开发环境、交互式编程方法、函数面板和丰富的库函数大大增强了语言的功能,为熟悉C 语言的开发人员提供了一个理想的软件开发平台。由于在CVI 中已经集成了OpenGL标准,并且OpenGL编程类似于C 编程,实际接口就是C,相对基于Visual基础类库MFC 和OpenGL 开发的三维仿真平台,在CVI 中利用可视化技术,开发基于OpenGL 的三维图形更方便快捷,同时可在此三维模型平台上方便地进行轨迹规划和控制算法等方面的仿线 OpenGL的简介和基本操作过程

  OpenGL图形系统是图形硬件的一种软件接口。OpenGL是SGI公司开发的开放式三维图形标准,它实质上就是一个三维图形和模型库,具有高度的可移植性,可以在多种操作系统平台上运行,例如各种版本的Windows、Unix/

  和Mac OS等,具有非常快的渲染速度。它可以对计算机图形技术进行控制,产生逼真的图像或者虚构出现实世界没有的图像,是高性能图形和交互式场景处理的工业标准[2]。OpenGL 是一种高性能的开放式图形库,它的图形API以函数形式提供了115个核心库函数、43个实用库函数GLU、31个编程辅助库函数GLAUX以及若干个X-Windows/MS-Windows专用库函数GLX/WGL。OpenGL提供了多种三维图形的绘制方法,包括线框绘制方式、深度优先方式、反走样方式、平面明暗处理方式、光滑明暗处理方式、阴影和纹理方式、运动模糊方式、大气环境效果、深度域效果[3]。OpenGL的这些功能可以实现逼真的三维绘制效果,创建交互性三维场景和视景动画。1.2 OpenGL的基本操作过程

  OpenGL对三维图形操作可以归纳为:场景描述、设置光照、观察场景、光栅化,这个过程与人们观察世界的过程是一致的,其具体操作步骤如下:

  (2)把景物模型放在三维空间中合适的位置,并设置视点(Viewpoint),以观察场景;

  (4) 把景物模型的数学描述及其色彩信息转化至屏幕上的像素,即光栅化(Ras

  rizAtion)。在这些步骤的执行过程中,OpenGL 还可能执行其他操作,如图1所示。

  程序从图1的左侧进入,经过一系列的运算处理,将几何顶点数据和图像像素数据加工后生成待显示的帧。另外,景物光栅化之后被送入帧缓存前,还可以根据需要对像素进行操作。

  在CVI开发环境中使用OpenGL开发三维仿真图形的关键是如何配置CVI和OpenGL的图形接口。

  在CVI下创建一个新的工程文件:OGLHand.prj,在OGLHand.c文件首部添加4个头文件:

  视图决定模型在场景中的位置,同时要选择一个有利的观察点来观察场景。通过定义光照、视图及透视模式就能在二维屏幕上显示出立体的三维图形,这些都放在InitControl()函数中定义,包括初始化系统光照和初始化视图位置。

  渲染图像就是计算机根据模型创建图像的过程,即三维图形的显示过程。要把一个物体的三维坐标变换为屏幕上的像素坐标,最终使图形在屏幕上显示。

  OpenGL坐标变换包括:几何变换、投影变换、剪取变换和视区变换,三维图形的显示流程如图2所示。

  h,height);其中,参数x,y是视区在屏幕窗口坐标系中的左上角坐标,width和height分别为视区的高度和宽度。注意变换只对其后的一系列操作产生影响,如在此之前屏幕上已有图形,则变换对其不产生影响。变换后如交换缓存,则可形成动画,否则只在平面上作图。3.3 建立六自由度机器手模型

  OpenGL提供对二维和三维图形的基本操作,但是并不提供描述复杂几何物体及建立复杂物体模型的手段,因而必须寻找自身的三维建模方法。对不太复杂的模型直接利用OpenGL的基本三维图元(点、线、面)来构造,既方便又快捷,易于对模型进行操作和控制,缺点是建模的灵活度不大,不过对于建造本系统的三维模型已足够[4]。

  对实物进行一定简化后建立的模型是由一些圆柱体、长方体和球体组合而成。采用顺序描述各个子体的方法来建立六自由度机器手模型。gluCylinder()用来绘制一个中空的二次柱面作为底座。gluDisk()用来绘制一个垂直于Z轴的圆盘。gluSphere()用来绘制一个球体作为关节。glRotatef()表示把当前矩阵与一个表示旋转的物体的矩阵相乘,以逆时针的方向绕着从原点到目标点的直线旋转。参数Rotation指定了旋转的度数。glTranslatef()把当前矩阵与一个表示移动物体的矩阵相乘,这个移动矩阵由函数的参数指定,经过平移的矩阵成为当前的变换矩阵。由于在OpenGL里描述下一个物体都是在前一个物体的基础上,因此每次都需要对新坐标中心进行定位。例如当创建好机器人手臂的第一段后,为了创建手臂的第二段,需要使用函数glTranslate()把局部坐标系统移动到下一个节点。

  模型的构建过程采用分层结构,即在相应的关节坐标系中构建各个模块,这样可以实现独立控制,使其能够绕着各自的坐标轴旋转。两只机器手的三维图形如图3所示。

  机器人仿真的研究已经成为机器人学中一个引人瞩目的领域,对于验证机器人工作原理、工作空间及进行运动学研究等都具有非常重要的指导意义。而机器手作为机器人不可缺少的部分,对其进行三维可视化仿真可以使研究者对机器人运动方式有一个感性的认识,可以帮助研究人员对机器人身体各个部分的位置关系建立正确的方程,可用于

  轨迹规划和作业规则的正确性和合理性,可为离线编程技术的研究提供一种有效的验证手段。显然,采用可视化仿真技术的好处在于:(1)从上位机的图形上就可以看到机器手的运动情况,增加了视觉效果;

  (2)对于机器手在危险环境或者远距离工作,而人又无法到达现场时,采用此项技术的意义是明显的,它可以保证人在上位机系统进行实时监控机器手的工作状况,以便发出新的控制指令。

  在仿真界面上设置了机器手的观察者位置、肩关节、肘关节位置变换旋钮,以及机器手爪子的分合选项,左右手控制选项,镜头距离拉近,退出选项。如图4所示。

  为了实现平滑的动画效果,OpenGL采用双缓存技术,双缓存是指位平面被分为前台缓存(显示缓存)和后台缓存(内存缓存)。后台缓存计算场景、生成动画,前台缓存显示后台缓存已经画好的画面。所以只有前台缓存才被显示。

  因此当完整的画面在后台缓存中画出以后,就调用SwapBuffers()函数,使其成为为前台可见。这样循环往复,隐藏了画图的过程,视频图像可以在人眼觉察不到的时间间隔交替出现,于是看起来所有的画面都是连续的。所以通过仿真界面可以控制机器手的运动轨迹。

  利用CVI 和OpenGL的接口以及OpenGL 在三维图形中的卓越表现,建立了机器手的模型,设计了基于LabWindows/CVI 和OpenGL 的六自由度机器手三维仿真系统,能够直观、正确、快捷地模拟现实机器手的运动情况。作为进一步的研究,在此基础上,可以进行机器手视觉的仿真研究。

  本课程从实际项目入手,分两个部分。第一个部分是作者本人完成的一个插座外观检测的实际项目,其图片素材全部来自于现场拍摄,其

  本课程从实际项目入手,分两个部分。第一个部分是作者本人完成的一个插座外观检测的实际项目,其图片素材全部来自于现场拍摄,其

  本文档的主要内容资料是建模仿真软件matlab的安装链接和安装教程。安装教程很详细,大家一步步来安装....

  但与 Iyad 以及其他合著作者的交谈,使我的观点开阔了不少。他一直非常积极试图去理解算法使用中的道....

  一位身份不明的黑客以出售Windows 零日漏洞为业,三年来不断向APT组织出售漏洞。

  测试平台选用了较新的8700K处理器与芝奇8GBx2双通道内存组合,华硕ROG M11H主板保证各样....

  有没有大佬分享基于labview的科学计算器论文,和Windows自带的计算器功能相近,可以进行进制转换等高级操作的,论坛里面虽然有源...

  本文档的主要内容详细介绍的是射频仿线的安装链接和安装教程。安装教程很详细,大家一....

  一般说来 SPA 的项目我们只要启一个静态文件 Server 就可以了,但是针对传统项目就不一样了,....

  4月16日凌晨,机器人公司波士顿动力最新发布了一段视频,视频中,网红机器狗SpotMini刚刚学会了....

  笔者一直以来都在纠结,自己是否要为仿真编辑相关的教程呢?一般而言,Modelsim等价仿真已经成为大....

  本文档的主要内容详细介绍的是如何进行3/2变换和2/3变换方程及模块的建立详细原理图说明。

  我在Windows下编辑代码,需要把代码传到Linux下进行编辑,我是不是可以通过Samba文件共享服务代替cuteftp传输工具...

  多层印刷电路板制造过程,目前多是减成法,即将原材料覆铜板上的多余铜箔减去形成导电图形。减去之法多是用....

  本文使用的android版本是5.1.0_r1,goldfish内核版本是3.4,android镜像....

  《ANSYSWorkbench设计、仿真与优化》以最新版ANSYSWorkbench11.0为依据,....

  你好。 我是小山 我在Windows 10 Pro Insider Preview上使用Vivado 2017.1,2017。 昨天,Windows更新自动化,而vivado不...

  在 Windows 系统中, 一切东西都是存放在硬盘上的。启动系统后,先确定硬盘,再确定硬盘上的分区....

  本章我们将以工业控制和嵌入式系统中运用极为广泛的串口通信为例讲述多线程的典型应用。而网络通信也是多线....

  最近看书,看到“DDE是Windows早期进程间通信的重要方式,现在用得不多了。虽然如此,Office、Matlab等应用程序,以及其他...

  有做过类似项目的大神们吗?我在做一个手部器件,可以通过手部的不同姿态控制诸如无人机、智能车之类的机器,求手部模块的一些资...

  最新一代安卓系统安卓N已经出现了,和以往的全新安卓系统一样,尽管新的安卓拥有很多激动人心的新特性,但....

  本书介绍了Windows和序的一个基础单元一线程。开发人员在开发高效的C#程序时,应很好地....

  Proteus报错提示access violation in module “12864A.dll”

  需要注意的是Win7主要支持已经在2015年1月13日终止了,不过外延支持是到2020年1月14日,....

  Windows 10 May 2019 Update(2019五月更新,v1903,Bui;d 18....

  上周,OpenAI Five击败了TI8冠军OG。在赛后评论中,队长NoTail预测他的团队能够适应....

  计算机仿真作为分析和研究系统运行行为、揭示系统动态过程和运动规律的一种重要手段和方法, 随着系统科学....

  EMC仿真软件能够由我们提供了一个非常有效的频率较高和高频率电磁仿真应用工具,它集高频率电路建模、仿....

  本文档的主要内容详细介绍的是土壤湿度检测的仿真和原理图及源程序等资料免费下载。

  通常,在自动控制技术中,把工作的机器设备称为被控对象,把表征这些机器设备工作状态的物理参量称为被控量....

  可是,ARMWin10也是自己孕育的“爱子”,甚至还和高通合力实现了通过中介编译的方法运行exe,虽....

  剪板机是采用合理的刀片间隙,对各种厚度的金属板材施加剪切力,使板材按所需要的尺寸断裂分离。剪板机属于....

  上古卷轴 5 已经不是款新游戏了,但它的 mod 社区依旧活跃。如果你的 Linux 系统有足够资源....

  谁是机器生成内容的创始人?算法的开发人员可以被视为作者吗?或者是从初始输入开始的人(例如“锂离子电池....

  MindMaster 是亿图软件新上线的一款跨平台、多功能的思维导图软件。是帮助您快速成为思维导图设....

  使用Proteus8.1进行51单片机的双人对战五子棋仿真电路和程序说明黑白双方循环落子,黑方先下,通过上下左右四个按键选择落子位置,按下确定按键即可将棋子放置在棋盘上。当....

  Windows密码修改解除开机密码工具NTPWEdit应用程序免费下载本文档的主要内容详细介绍的是Windows密码修改解除开机密码工具NTPWEdit 应用程序免费下载....

  本文档的主要内容详细介绍的是BIOS和UEFI引导修复工具应用程序免费下载。

  为什么这两派争了两千年,谁都不服谁?原因是他们在瞎争,因为他们都不理解人类学习的微观机制是什么样的。....

  微软为其Windows VR头显以及HoloLens推出的全新应用Outings,现已上架这是Microsoft Garage同名移动应用程序的新版本,随其一起发布的还有新的软件开发工具包(....

  本文档的主要内容详细介绍的设计基于Y分形的平面微带分形天线的设计与优化的详细资料说明包括了:1.分形....

  此为boost电路的建模与仿真,内有说明文档,详细介绍了建模与闭环控制的计算过程,参考书为《电源技术....

  华为将打造一款采用骁龙850处理器的二合一笔记本产品,它很有可能还是属于MateBook E系列

  本文档的主要内容资料是电路仿真软件Multisim的安装包链接和安装教程。适合大学生朋友做简单模电和....

  然而,对于高带宽放大器,采用s域传递函数的时域仿真可能非常慢,因为仿真器必须首先计算逆变换,然后利用....

  本文档的主要内容详细介绍的是智能窗户系统的Proteus仿真文件资料免费下载。

  本文档的主要内容详细介绍的是电气原理图模拟仿真软件CADe SIMU应用程序免费下载。

  本文档的资料是单片机仿线安装教程。适合大学生朋友做单片机仿真时使用。安装教程....

  本文档的主要内容详细介绍的是MW3032S的功能描述详细资料免费下载。

  美国国防部预先研究计划局(DARPA)于2018年9月宣布启动“AI Next”(下一代人工智能)项....

  针对延迟容忍网络(DTN)拓扑结构动态变化和节点存储空间有限的问题,提出一种具有拥塞控制策略的DTN....

  根据电力研究院 (EPRI) 最近发布的研究报告,由于电力问题,包括电源波动和电压扰动,美国大型工业....

  人工智能的多学科交叉属性需要我们把来自不同学科的具有创新思维的科学家、工程师聚集在一起,对新一代人工....

  3月31日消息,2019中国(深圳)IT领袖峰会于3月30日至31日在深圳市举行,本次峰会主题为“I....

本文链接:http://brazil-run.com/dingdianhunhe/328.html