基于OpenGL和MFC的机器人运动控制及标定
喻敏,李成刚,李富中,王正军,马越民
(南京航空航天大学 机电学院,江苏 南京210016)
为打破国外机器人仿真控制软件的技术垄断,利用OpenGL及MFC在VC6.0平台上开发了一款工业串联机器人的运动控制及标定软件。其人机交互的实现包括机器人选型、运动学仿真、末端位置测量、基坐标系和工具坐标系标定、精度分析、误差参数辨识、误差补偿及效果验证9大流程。通过RS232串口通讯实现界面和控制器的数据通讯,同时结合3D模型的显示及动作模拟,可实现机器人末端轨迹的在线规划、机器人标定、运动控制等功能。
当前工业机器人的应用越来越广泛,但是存在机器人的控制仿真不具开放性和运动精度低等问题。世界上主要机器人生产商都相应提供了机器人编程软件以适应实际生产,同时随着对机器人运动精度关注度的提高,也相继出现了各种机器人标定软硬件设备。美国Dynalog公司提供的机器人单元校正系统DynaCal,可以一次测量并校准中心点、连杆长度、各夹角角度、home点,并减少人为运算的时间和误差,一般校准一个机器人在20min左右[1];德国Teconsult公司提供的测量校正系统ROSY,利用校准球和照相机校准机器人。国内在机器人离线编程仿真领域也进行了相关的研究[2-4],但是开发的仿真控制软件和国外相比仍有差距。
本文利用OpenGL和MFC在VC6.0平台上开发了工业机器人运动控制及标定界面,通过机器人三维模型的导入,编写机器人逆解和轨迹规划算法、上位机与机器人控制器的通讯程序、坐标系标定及参数辨识程序,实现了工业机器人的离线轨迹规划及控制,同时能够快速完成机器人精度分析及标定实验。
1工业机器人模型的引入及参数设定
OpenGL是SGI公司为图形工作站IRIS开发的一种快速、高质量的开放三维图形程序库,而VC6.0继承了OpenGL的图形标准,方便了程序设计人员实现三维图像的显示。
为在VC界面上实现工业机器人的运动仿真,需要导入并显示机器人的三维模型。其具体流程图如图1所示。
图1导入并显示机器人的三维模型流程图
首先对VC的开发环境进行设置,以便在程序中能够调用OpenGL函数。在需要调用OpenGL函数的类的头文件中添加3个头文件:gl.h、glu.h、glaux.h,同时在Project\Settings\Link菜单的Library编辑框中增加3个静态链接库文件:opengl32.lib、glu32.lib、glaux.lib。
可借用两种方法通过OpenGL显示三维图形:一种是利用其提供的三维图形绘制函数绘制点、线、面组合成三维模型;另一种是先利用其他三维绘图软件事先绘制好三维模型,之后利用转换软件转化成能够被计算机识别的程序文件。
本文采用第二种方法。首先利用SolidWorks软件建立工业机器人三维模型,利用3DS MAX转化成STL格式的文件,之后利用VIEW3DS将STL文件转化成能够被VC读取的.h和.gl文件。接着对机器人三维模型的显示窗口进行设置,此时在PreCreateWindow函数中添加下列语句:cs.style=......
作者简介:喻敏(1989—),男,江西南昌人,南京航空航天大学硕士研究生,主要研究方向为工业机器人技术。 (文章来源《机械设计与制造工程》如需详细资料请联系江苏机械门户网025-83726289) |