- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
机器人可视化仿真系统的建立;主要内容;1、前言;;2、可视化仿真系统; 可视化仿真软件的核心是数字模拟,同时又要具备可视化交互和可视化过程展现的特征,还须有实时性的特点。据此,规划如图2所示软件功能结构。;;;2)计算出各关节的DH参数,确定关节变量;3)求解各关节坐标系之间的齐次变换矩阵;9自由度机器人的运动学建模与DH参数建立;;4.1 几何变换
几何变换是建立模型的基础,通过它我们才能把模型的各个部分画在正确的位置并对模型进行位置与姿态的控制。基本的几何变换有平移、旋转和缩放。
平移变换
OpenGL中的平移变换命令为glTranslatef(x,y,z), 其对应的变换矩阵为
;2. 旋转变换
OpenGL中的旋转变换命令为glRotatef(θ,x,y,z), 它有4个参数,第一个参数指定旋转的度数,后三个参数构成一个向量,依次代表该向量的x、y、z分量。物体绕该向量旋转时,遵循右手规则。其中比较简单的情况是分别绕三个坐标轴的旋转。例如:绕x轴的旋转表示为:glRotatef(θ,1,0,0), 其对应的变换矩阵为:;绕y轴的旋转表示为:glRotatef(θ,0,1,0)。
;3. 缩放变换
OpenGL中的缩放变换命令为glScalef(x,y,z), 其对应的变换矩阵为
;;4.3 投影变换 ;4.4 视窗变换
经过投影变换,三维物体转化为二维图形。要把它显示在显示屏上,还需要进行视窗变换。视窗就是一个用来绘制场景的矩形区域。视窗变换决定把场景中的点怎样映射到绘图区。OpenGL提供了一个定义视窗大小的函数:
void glViewport(GLint x, GLint y, GLsizei width, GLsizei height );
其中,x和y定义视窗左下角在窗口中的位置;width和height分别是视窗的宽度和高度,它们都以像素为单位。视窗的一个重要作用是当应用程序窗口大小变化时,视窗能跟着作相应变化,它还可以用来实现多窗口视图。
这些变换过程对机器人形态模型的建立至关重要,只有彻底理解了这些变换过程,才能为机器人正确建立起形态模型。;5、基于OpenGL的机器人形态模型的建立;;BOOL CPowerCubeView::PreCreateWindow(CREATESTRUCT cs)
{
cs.style |=WS_CLIPCHILDREN | WS_CLIPSLBLINGS;
return Cview::PreCreateWindow(cs);
}
//定义窗口及设置风格,此两风格是OpenGL作图窗口必须具???的。
WS_CLIPCHILDREN仅对父窗体,在父窗体重绘时不对子窗体占有的区域进行绘制。WS_CLIPSIBLINGS 仅对子窗体。在重绘时不对兄弟窗体占有的区域进行绘制(在相互重叠时)。
glClearColor(0.0f, 0.0f, 0.0f, 1.0f); //设置窗口背景色。
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
//清除窗口的颜色缓存和深度缓存。;2.定义视点
为了能够从各个角度观察机器人的形态,并实现缩放功能,我们需要综合利用前面介绍的取景变换的两种方法。
OpenGL中参考坐标系的定义如图5a所示, 机器人基础坐标系定义如图5b 所示。这时,需要将视点定义在正x轴进行观察,参考点定义在原点,向上矢量方向为z轴方向,这样就将图2-5a的坐标系变为图5b所示坐标系。用
gluLookAt(m_zoom,0,0,0,0,0,0,0,1.0);
; m_zoom, m_yRotate, m_zRotate三个参数大小的改变是通过鼠标器来驱动的。用鼠标器的左键控制模型的观察角度,右键控制模型的缩放。当鼠标器左键按下时,记录当时鼠标器在屏幕上的位置,当鼠标器按下并移动时,计算前面记录点的坐标与鼠标器当前点坐标之差。以x坐标值的变化作为视点绕z轴转动的角度变化量,y坐标值的变化作为视点绕y轴转动的角度变化量, 从而达到对模型观察角度的控制。用同样的原理,实现对模型缩放的控制。这些对视点的控制方法在模型运动时同样起作用。
为使模型总是处于窗口中心,需要将视点沿y轴或z轴移动,用如下方式实现:
glTranslated(0.0,m_yMove,m_zMove);
其中m_yMove和m_zMove两个参数分别控制视点沿y轴和z轴移动的步长。
m_yMove和m_zMove两个参数大小的改变是通过“坐标显隐”对话框
您可能关注的文档
最近下载
- 2022年小升初名校奥数专题训练:加法原理(附答案解析).pdf VIP
- 人教版小学六年级数学下册第四单元《比例》经典课件.pptx
- 七年级英语下学期期末考试(沈阳专用)-2023-2024学年七年级英语下学期期.pdf VIP
- 纳米抗体研究进展-免疫学讲解学习.ppt
- 2024年男科药品行业洞察报告及未来五至十年预测分析报告.docx
- 国际光伏组件保证保险风险管理指南-新能源风险管理.PDF
- 2022年小升初名校奥数训练:枚举法解决问题(附答案解析).pdf VIP
- 2025年LLDPE树脂行业分析报告及未来五到十年行业发展趋势报告.docx
- 酒店年度营销计划规划方案.doc
- GB51194-2016通信电源设备安装工程设计规范.pdf
文档评论(0)