热门关键词:

基于OpenGL与六维控制器的并联机器人动态仿真

  • 该文件为pdf格式
  • 文件大小:499.34KB
  • 浏览次数
  • 发布时间:2014-08-23
文件介绍:

本资料包含pdf文件1个,下载需要1积分

虚拟现实技术(Virtual Reality)0-21是-种高度逼真地模拟人在现实世界中视、听、动等行为的人机界面技术,涉及人工智能,计算机图形学,人机接口技术,多媒体技术,传感技术以及高度并行的实时计算技术等领域。机器人仿真技术是计算机技术、机器人学和计算机图形学相结合的产物,借助于机器人的实体图形对机器人的运动进行仿真,可形象逼真地反映机器人工作运动的全过程。机器人的动态图形仿真对机器人的设计、制造、试验及其应用具有重要的指导意义。通过对真实机器人各项特征参数的模拟,仿真机器人不仅外观上极为逼真,而且具有真实机器人运动学、动力学特征,给研究人员提供了脱离真实机器人进行算法研究的友好平台。详细介绍了-种基于六维控制器实现计算机中虚拟机器人动态仿真的原理及方法。

2六维控制器六维控制器是虚拟现实技术中的输入设备,是普通二维鼠标的功能扩展 l。六维控制器能够应用于需要对三维移动和三维转动进行控制的各种诚,它可以实现对虚拟环境机器人的人机交互控制。该系统由六维微动并联机构、精密放大电路、数据采集系统和计算机组成,基于六维控制器的虚拟现实控制系统框图,如图1所示。人手操作六维控制器的操作手柄,手施加的力或力矩被传感器检测 ,其信号被精密放大电路放大,并通过数据采集系统转换传输给计算机,计算机经过运算处理后,实现虚拟装配或虚拟现实控制等操作。

· 六维控制器 ·图 1基于六维控制器的仿真系统原理图Fig.1 Simulation System Diagram Based on 6D Controler3基于六维控制器的基本程序框架由于系统中涉及较多的机器人正、逆运动学方程求解问题,因而采用 Visual c6.0作为编程语言:(1)可以方便地调用 OpenGL;来稿日期:2012-04-15基金项目:山东省优秀中青年科学家科研奖励基金(BS2011ZZO13);山东侍育厅高等学校优秀骨干教师国际合作培养项目作者简介:宫金良,(1976-),男,河北,博士,硕士生导师,主要研究方向:并联机器人技术第2期 宫金良等:基于OpenGL与六维控制器的并联机器 值冉 117(2)有利于算法的实现 。

首先需要建立OpenGL在Visual C6.0中的绘图环境。使用AppWizard创建应用程序框架,将opengl32.1ib、glu32.1ib、glau-x.1ib包含在工程中,同时在视类头文件开始位置添加代码:#includeglg1.h”#includeglkglu.h#includeglglaux.h并为视类添加成员函数,如OnCreate、OnSize、OnEraseBKgnd、OnDestroy、OnTimer、OnDestroy等。同时重载PreCreateWindow和OnInitialUpdate函数∮着需要设置窗t:l属性、像素格式和创建绘制描述表。

完成前面的设置后。就能够在OnDraw函数中绘制OpenGL嘲,vc编译器就能够识别并且编译OpenGL中的函数了。要实现六维控制器对虚拟环境下被控对象操作,还要完成六维控制器的串口通信程序。

(1 生程序中添加串行通信控件 Micmsoft Eammunieati0nsControl,version 6.0~ #define IDCOMMCTRL 2001和 #includemseomm.h”添加在视类头文件中的起始位置。

(2)加入串行通信的响应函数afx msg void OnComm,接受变量float LinkVoltagef6和类对象mcommetrl。

(3)添加六维运动或力分量的存储变量用于实时接受外部信号,添加标定矩阵G,用于实现将接收到的电压信号转换为力和力矩值。

至此整个框架设置完成,然后即可通过编制OpenGL程序来绘制机器人的三维模型并用六维控制器进行遣动仿真实验了。

4并联机器人仿真系统下面以3R&2P型并联机器人为例来说明基于六维控制器的动态仿真系统设计方法。机器人结构示意图,如图2所示。选择两个伸缩杆z 和f 作为输入,P点为输出端,根据自由度的计算公式可以确定此机构具有两个自由度,即能实现 和Y方向的移动。机器人系统的运动仿真,是将外部受力与力矩直接和末端输出的位移增量和转动增量建立关系,然后再反推出各个机器人构件的位置和姿态,因此需要建立在坐标系下,如图2所示。此机构的运动学反解表达式:Z212y2f2:( )(1)f2)图2 3R&2P型机构示意图Fig.2 3R & 2P Mechanism Diagram图中0点和 点分别是两个伸缩杆与基座的固定铰接点,根据施加在六维控制器上的 方向和Y方向的力通过六维控制器与计算机的串口通讯转换为P点坐标( ,),)的值 ,而OP杆和B尸杆的方位、长度可以通过下式分别确定:0,arctan(y/x) (3)Z.:V/X2y2 (4)O2arcta.(y/(R1咄)) (5)12、/( - ) (6)这样就可以通过OpenGL语言绘制出此机器人的三维模型并实现其运动仿真。这里采用auxSolidCylinder函数绘制圆柱来代表各杆件。由于采用该函数绘制的圆柱上底面是固定在当前坐标系中y1.o,的平面上,并以Y轴为中心轴线随着指定高度的不同向v轴负方向延伸,因此,在绘制其他部件时必须采用glTranslatef和glRotatef函数对坐标系进行平移及旋转操作。

绘制RPR支链的程序段为:glPushMatrix;auxSolidCylinder(O.06,0-3);臌 制转动副glTranslatef(0,0.85,0);,/原J 移至转动副中心glRotatef(90,1,0,O);//绕Y轴旋转9O度glRotatef(xita1,1,O,0);/定义转动变量auxs0lidCylinder(0.06,1);/移动副部件1glTranslatef(0,It-1,0):/定义平移变量auxS0lidCylinder(O.04,1);/移动副部件2glPopMatrix;由式(3~6)可知,如果已知P点坐标( , ),便可唯-确定PRP支链各关节变量,通过P点坐标求解关节变量为Calculate(floatX,float Y,float p)子函数,该子函数的功能是通过获取的P点坐标,计算并返回OP杆和BP杆的方位及长度。

void CMouseUseView:Calculate(float X,float Y,float p)/计算关节变量子函数 floatXital·Xita2,L1,L21Xital37.3atan(Y/'X)Llsqrt(XXY Y)lXjta2-57.3atan(Y,(2-X))L2sqfl((X-2) (x2)Y Y);lgO]Xita1;p[1]L1;p2xita2;p3墨L2;人手操作六维力矩传感器,手施加的力或力矩被传感器检测,其信号被精密放大电路放大。并通过数据采集系统(A/D)转换传输给计算机,计算机经过运算处理后,P点位置为变量,因此P点不断变化,从而OP杆和BP杆不断发生变化,就可以完成机器人的运动仿真,通过六维控制器操作仿真系统机器人的实物照片,如图3所示。虚拟机器人的运行效果图,如图4所示。

正在加载...请等待或刷新页面...
发表评论
验证码 验证码加载失败