APP下载

工业机器人运动轨迹模拟的现实

2014-06-18万三国

新媒体研究 2014年6期
关键词:模拟工业机器人

摘 要 根据工业机器人运动轨迹模拟的需要,应用OpenGL和3DSMAX等软件相互配合,在3DSMAX中建立其模型,应用VC++设计运动模拟系统,在该系统中读取该工业机器人的模型参数,根据工业机器人运动的关系,实现它的运动轨迹模拟。

关键词 工业机器人;运动轨迹;模拟

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)06-0022-01

1 工业机器人三维模型

OpenGL的三维图形功能比较强大,不仅能够设置光照、材质,并且提供各种用途的函数。工业机器人的模型具体实现过程及部分程序代码如下为:首先在CRenderView类中添加一个成员函数:mySolidCylinder(GLdouble radius, GLdouble height, int n_div),该成员函数用于实现机器人模型的功能,然后再在CRenderView类中添加一个成员函数DrawMyrobot(),该函数用来绘制机器人本体,机器人的各个关节位置都按照D-H方法进行设置,模型具体代码如下:

GLfloat red_ambient[] = { 0.2f, 0.0f, 0.0f };//环境光

GLfloat red_diffuse[] = { 0.5f, 0.0f, 0.0f };//扩散光

然后设定材质函数glMaterialfv,将定义的材质设定为绘制物体的材质:

glMaterialfv( GL_FRONT, GL_AMBIENT, red_ambient);

glMaterialfv( GL_FRONT, GL_DIFFUSE, red_diffuse );

3DSMAX中的Chunk的基本单元在构建模型中起到重要的作用,可在VC++基础类库中定义专门用来读入和重绘的类,比如定义Class 3DSload,在该类中定义颜色结构、顶点结构和主函数等用于建立工业机器人的3DS模型。

2 模拟系统界面的介绍

工业机器人模拟系统是一个具有交互式的界面,人机可以很好地交互,具有工具栏和菜单栏,工具栏即为菜单栏的图标式说明,该系统工具栏主要图标的说明:

1)模型导入图标:是实现该系统与其它三维造型软件联系的接口,点击该图标,系统会弹出一个打开文件的窗口,文件的后缀名默认为.3ds,点击“打开”按钮即可在该系统中显示由外部3d软件所绘制的3d模型。

2)基本设置图标:可实现对系统的背景颜色、光照,及模型的显示方式(点化式、线框式、面填充式,默认为面填充式)进行设置。

3 工业机器人模型的装配

实现工业机器人的运动模拟,则要把机器人装配好,保证模拟的正确进行,在DrawWithOpenGL()函数中重绘机器人模型时必须严格按照机器学中D-H法建立机器人各个关节,则相应各个关节的变化矩阵可用OpenGL提供的旋转变换函数glRotatef(m_R,x,y,z),其中m_R表示旋转角度,x、y、z,的取值为0或1,取1表示该轴即为旋转轴。与平移变换函数glTranslatef(m_x,m_y,m_z),其中

三个参数对应三个坐标轴,、、、、、表示关节间的转换矩阵。

则机器人装配源程序如下:

void CRenderView::DrawWithOpenGL(GLenum mode)

{ glCallList(1);调用显示列表绘制机器人基座

由关节1到基座的变换矩阵

glCallList(2);调用显示列表绘制机器人第一个关节

由关节6到关节5的变换矩阵

glCallList(7);

}

4 工业机器人轨迹模拟的实现

运动轨迹模拟可以在两种不同的空间进行模拟,由工业机器人轨迹规划所提供的轨迹规划算法,运用C++的程序编程方法,编写如下的程序:

BOOL Industryrobot::Angle() //定义一个角度类

{CMyRoate *angle;

CRenderView *pView;

angle =MyComputeReverse(CMyGpoint pt);调用求机器人逆解函数,将插值点位姿转换为关节角度

th[i][j]= CThInterploation(thata0[i],thata[i],totletim1,(j+1)*stime);

CThInterploation 为三次多项式插值函数,其中angle0为初始关节角度,angle为终点关节角度,totletim运行的时间,(j+1)*stime表示当前时间[1]。

pView->therecord[i][j]=th[i][j]; 将插值所得角度存取到视类关节存取数组中。

轨迹规划部分程序代码如下:

void CLineInter::LInterpolation(CMyGpoint gpt[], float V, float ts)

其中CMyGpoint gpt[]插补点位姿,V插补速度,ts插补时间间隔。

如图1是工业机器人末端从初始位置经中间点该点位姿为,运动到终点该点位姿,设置模拟运行时间4秒,每隔0.025秒进行一次采样,可以得到运动的轨迹。

图1 三次多项式轨迹模拟图

5 结束语

该模拟系统创造了用户和机器人进行交互的虚拟环境,对于检测、设计机器人或者想看它运行的轨迹等,操作人员在该模拟系统可以清晰观摩到机器人的运动状况及其轨迹等,从而可以选择最佳的运动轨迹或者设计策略,对于工业生产有一定的实际意义。

参考文献

[1]万三国.机械手抛光技术轨迹规划及其仿真研究[D].五邑大学,2012.

作者简介

万三国(1986-),男,江西余干人,硕士研究生,研究方向:工业自动化。endprint

摘 要 根据工业机器人运动轨迹模拟的需要,应用OpenGL和3DSMAX等软件相互配合,在3DSMAX中建立其模型,应用VC++设计运动模拟系统,在该系统中读取该工业机器人的模型参数,根据工业机器人运动的关系,实现它的运动轨迹模拟。

关键词 工业机器人;运动轨迹;模拟

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)06-0022-01

1 工业机器人三维模型

OpenGL的三维图形功能比较强大,不仅能够设置光照、材质,并且提供各种用途的函数。工业机器人的模型具体实现过程及部分程序代码如下为:首先在CRenderView类中添加一个成员函数:mySolidCylinder(GLdouble radius, GLdouble height, int n_div),该成员函数用于实现机器人模型的功能,然后再在CRenderView类中添加一个成员函数DrawMyrobot(),该函数用来绘制机器人本体,机器人的各个关节位置都按照D-H方法进行设置,模型具体代码如下:

GLfloat red_ambient[] = { 0.2f, 0.0f, 0.0f };//环境光

GLfloat red_diffuse[] = { 0.5f, 0.0f, 0.0f };//扩散光

然后设定材质函数glMaterialfv,将定义的材质设定为绘制物体的材质:

glMaterialfv( GL_FRONT, GL_AMBIENT, red_ambient);

glMaterialfv( GL_FRONT, GL_DIFFUSE, red_diffuse );

3DSMAX中的Chunk的基本单元在构建模型中起到重要的作用,可在VC++基础类库中定义专门用来读入和重绘的类,比如定义Class 3DSload,在该类中定义颜色结构、顶点结构和主函数等用于建立工业机器人的3DS模型。

2 模拟系统界面的介绍

工业机器人模拟系统是一个具有交互式的界面,人机可以很好地交互,具有工具栏和菜单栏,工具栏即为菜单栏的图标式说明,该系统工具栏主要图标的说明:

1)模型导入图标:是实现该系统与其它三维造型软件联系的接口,点击该图标,系统会弹出一个打开文件的窗口,文件的后缀名默认为.3ds,点击“打开”按钮即可在该系统中显示由外部3d软件所绘制的3d模型。

2)基本设置图标:可实现对系统的背景颜色、光照,及模型的显示方式(点化式、线框式、面填充式,默认为面填充式)进行设置。

3 工业机器人模型的装配

实现工业机器人的运动模拟,则要把机器人装配好,保证模拟的正确进行,在DrawWithOpenGL()函数中重绘机器人模型时必须严格按照机器学中D-H法建立机器人各个关节,则相应各个关节的变化矩阵可用OpenGL提供的旋转变换函数glRotatef(m_R,x,y,z),其中m_R表示旋转角度,x、y、z,的取值为0或1,取1表示该轴即为旋转轴。与平移变换函数glTranslatef(m_x,m_y,m_z),其中

三个参数对应三个坐标轴,、、、、、表示关节间的转换矩阵。

则机器人装配源程序如下:

void CRenderView::DrawWithOpenGL(GLenum mode)

{ glCallList(1);调用显示列表绘制机器人基座

由关节1到基座的变换矩阵

glCallList(2);调用显示列表绘制机器人第一个关节

由关节6到关节5的变换矩阵

glCallList(7);

}

4 工业机器人轨迹模拟的实现

运动轨迹模拟可以在两种不同的空间进行模拟,由工业机器人轨迹规划所提供的轨迹规划算法,运用C++的程序编程方法,编写如下的程序:

BOOL Industryrobot::Angle() //定义一个角度类

{CMyRoate *angle;

CRenderView *pView;

angle =MyComputeReverse(CMyGpoint pt);调用求机器人逆解函数,将插值点位姿转换为关节角度

th[i][j]= CThInterploation(thata0[i],thata[i],totletim1,(j+1)*stime);

CThInterploation 为三次多项式插值函数,其中angle0为初始关节角度,angle为终点关节角度,totletim运行的时间,(j+1)*stime表示当前时间[1]。

pView->therecord[i][j]=th[i][j]; 将插值所得角度存取到视类关节存取数组中。

轨迹规划部分程序代码如下:

void CLineInter::LInterpolation(CMyGpoint gpt[], float V, float ts)

其中CMyGpoint gpt[]插补点位姿,V插补速度,ts插补时间间隔。

如图1是工业机器人末端从初始位置经中间点该点位姿为,运动到终点该点位姿,设置模拟运行时间4秒,每隔0.025秒进行一次采样,可以得到运动的轨迹。

图1 三次多项式轨迹模拟图

5 结束语

该模拟系统创造了用户和机器人进行交互的虚拟环境,对于检测、设计机器人或者想看它运行的轨迹等,操作人员在该模拟系统可以清晰观摩到机器人的运动状况及其轨迹等,从而可以选择最佳的运动轨迹或者设计策略,对于工业生产有一定的实际意义。

参考文献

[1]万三国.机械手抛光技术轨迹规划及其仿真研究[D].五邑大学,2012.

作者简介

万三国(1986-),男,江西余干人,硕士研究生,研究方向:工业自动化。endprint

摘 要 根据工业机器人运动轨迹模拟的需要,应用OpenGL和3DSMAX等软件相互配合,在3DSMAX中建立其模型,应用VC++设计运动模拟系统,在该系统中读取该工业机器人的模型参数,根据工业机器人运动的关系,实现它的运动轨迹模拟。

关键词 工业机器人;运动轨迹;模拟

中图分类号:TP242 文献标识码:A 文章编号:1671-7597(2014)06-0022-01

1 工业机器人三维模型

OpenGL的三维图形功能比较强大,不仅能够设置光照、材质,并且提供各种用途的函数。工业机器人的模型具体实现过程及部分程序代码如下为:首先在CRenderView类中添加一个成员函数:mySolidCylinder(GLdouble radius, GLdouble height, int n_div),该成员函数用于实现机器人模型的功能,然后再在CRenderView类中添加一个成员函数DrawMyrobot(),该函数用来绘制机器人本体,机器人的各个关节位置都按照D-H方法进行设置,模型具体代码如下:

GLfloat red_ambient[] = { 0.2f, 0.0f, 0.0f };//环境光

GLfloat red_diffuse[] = { 0.5f, 0.0f, 0.0f };//扩散光

然后设定材质函数glMaterialfv,将定义的材质设定为绘制物体的材质:

glMaterialfv( GL_FRONT, GL_AMBIENT, red_ambient);

glMaterialfv( GL_FRONT, GL_DIFFUSE, red_diffuse );

3DSMAX中的Chunk的基本单元在构建模型中起到重要的作用,可在VC++基础类库中定义专门用来读入和重绘的类,比如定义Class 3DSload,在该类中定义颜色结构、顶点结构和主函数等用于建立工业机器人的3DS模型。

2 模拟系统界面的介绍

工业机器人模拟系统是一个具有交互式的界面,人机可以很好地交互,具有工具栏和菜单栏,工具栏即为菜单栏的图标式说明,该系统工具栏主要图标的说明:

1)模型导入图标:是实现该系统与其它三维造型软件联系的接口,点击该图标,系统会弹出一个打开文件的窗口,文件的后缀名默认为.3ds,点击“打开”按钮即可在该系统中显示由外部3d软件所绘制的3d模型。

2)基本设置图标:可实现对系统的背景颜色、光照,及模型的显示方式(点化式、线框式、面填充式,默认为面填充式)进行设置。

3 工业机器人模型的装配

实现工业机器人的运动模拟,则要把机器人装配好,保证模拟的正确进行,在DrawWithOpenGL()函数中重绘机器人模型时必须严格按照机器学中D-H法建立机器人各个关节,则相应各个关节的变化矩阵可用OpenGL提供的旋转变换函数glRotatef(m_R,x,y,z),其中m_R表示旋转角度,x、y、z,的取值为0或1,取1表示该轴即为旋转轴。与平移变换函数glTranslatef(m_x,m_y,m_z),其中

三个参数对应三个坐标轴,、、、、、表示关节间的转换矩阵。

则机器人装配源程序如下:

void CRenderView::DrawWithOpenGL(GLenum mode)

{ glCallList(1);调用显示列表绘制机器人基座

由关节1到基座的变换矩阵

glCallList(2);调用显示列表绘制机器人第一个关节

由关节6到关节5的变换矩阵

glCallList(7);

}

4 工业机器人轨迹模拟的实现

运动轨迹模拟可以在两种不同的空间进行模拟,由工业机器人轨迹规划所提供的轨迹规划算法,运用C++的程序编程方法,编写如下的程序:

BOOL Industryrobot::Angle() //定义一个角度类

{CMyRoate *angle;

CRenderView *pView;

angle =MyComputeReverse(CMyGpoint pt);调用求机器人逆解函数,将插值点位姿转换为关节角度

th[i][j]= CThInterploation(thata0[i],thata[i],totletim1,(j+1)*stime);

CThInterploation 为三次多项式插值函数,其中angle0为初始关节角度,angle为终点关节角度,totletim运行的时间,(j+1)*stime表示当前时间[1]。

pView->therecord[i][j]=th[i][j]; 将插值所得角度存取到视类关节存取数组中。

轨迹规划部分程序代码如下:

void CLineInter::LInterpolation(CMyGpoint gpt[], float V, float ts)

其中CMyGpoint gpt[]插补点位姿,V插补速度,ts插补时间间隔。

如图1是工业机器人末端从初始位置经中间点该点位姿为,运动到终点该点位姿,设置模拟运行时间4秒,每隔0.025秒进行一次采样,可以得到运动的轨迹。

图1 三次多项式轨迹模拟图

5 结束语

该模拟系统创造了用户和机器人进行交互的虚拟环境,对于检测、设计机器人或者想看它运行的轨迹等,操作人员在该模拟系统可以清晰观摩到机器人的运动状况及其轨迹等,从而可以选择最佳的运动轨迹或者设计策略,对于工业生产有一定的实际意义。

参考文献

[1]万三国.机械手抛光技术轨迹规划及其仿真研究[D].五邑大学,2012.

作者简介

万三国(1986-),男,江西余干人,硕士研究生,研究方向:工业自动化。endprint

猜你喜欢

模拟工业机器人
浅谈工业机器人的安全生产
丙酮—甲醇混合物萃取精馏分离过程合成与模拟
让学引思:让学生做主
基于力传感器的工业机器人力控试验系统的研制
基于虚拟样机的工业机器人末端液压夹持器的设计
一个高分子模拟计算网格的作业管理
工业机器人模拟仿真技术在职业教育中的应用浅析
浅析柔道运动员的模拟实战训练
工业机器人现场编程工学结合课程开发
虚拟机局域网组建技术应用初探