六自由度机器人仿真系统设计

2018-10-12 08:06
无线互联科技 2018年18期
关键词:运动学轨迹角度

肖 丽

(郑州轻工业学院,河南 郑州 450002)

随着机器人技术的快速发展,机器人技术在制造业、物流、服务业、医疗康复、农业等方面获得了广泛应用。据统计,我国需要大量的机器人技术方面的人才。因此,培养机器人设计、操作、维护人员对促进我国机器人产业的快速发展具有重要意义。目前的机器人成本普遍偏高,受各方面条件限制,机器人在国内高校普及较少,机器人教学只是理论教学,无法开展实践教学。国内许多高校开展了机器人仿真系统的研究,于振中、程智勇等[1-2]基于OpenGL技术开发了工业机器人三维仿真系统。刘振宇等[3]基于OpenGL和Matlab软件开发了机器人在线仿真实验平台。彭建盛等[4]基于LabVIEW软件开发了智能机器人仿真系统。针对目前实际情况,为满足机器人课程实践及相关培训的要求,设计一种虚拟机器人仿真系统具有重要意义。同时在设计的机器人仿真系统上可以进行运动学建模与仿真,离线编程与运动仿真,可以降低机器人生产成本与提高执行效率[5]。

本文运用VC语言设计开发虚拟机器人仿真系统。机器人仿真系统具有机器人运动学解算、轨迹规划、示教再现等功能。该机器人仿真系统能够为操作者提供丰富的场景信息和更逼真的临场感受,极大提高人机交互性能。

1 机器人仿真系统方案设计

机器人仿真系统需要有友好的人机交互界面。因此,本系统在Windows XP操作系统下,采用Visual C++语音进行开发。Visual C++的开发环境简洁。用户可以利用系统自带的工具库高效率地开发应用程序。同时,利用VisualC++软件MFC类库的API函数和消息,开发各种应用程序十分便捷。

依据实践教学和技术人员培训需求,机器人仿真系统具有点位控制功能和示教功能。机器人仿真系统主要功能有:提供友好的用户界面接口;机器人三维运动仿真;运动学方程的正逆解运算;运动轨迹规划;机器人末端关节点位姿的实时显示;运动轨迹数据存储;示教再现和数据分析;向用户提供常见的帮助信息。虚拟机器人系统总体结构如图1所示。

图1 机器人仿真系统总体结构

2 软件系统模块设计

2.1 单关节控制模块设计

单关节控制模块用来控制机器人单关节的运动。单关节的运动稳定性和精度直接决定了整个机器人运动的稳定性和运动精度。单关节控制模块为机器人单关节调试提供了平台,其界面如图2所示。

在控制界面上可以设定机器人关节运动参数(运动的步长和速度)。步长单位为度。为了直观控制速度参数,界面上“速度”输入框内的数值为各关节所能承受的最大速度的百分比。单关节控制模块可以控制6个关节的正反转。为方便在虚拟机器人系统控制系统调试,在机器人关节的,运动状态及运动参数,比如目标位置、当前实际运行的位置、关节的运动轨迹可以在显示模块实时显示。

2.2 多关节联动控制模块设计

多关节协调平稳运动是机器人末端执行器要实现点位运动和直线插补运动的基础[6]。因此,设计的机器人仿真系统应具有多关节联动控制的功能,设计的界面如图3所示。算法模块是多关节联动控制模块的核心内容。根据机器人的运动学方程,利用VC语言编写了机器人的运动学程序,具体包括:运动学正逆解程序、直线和圆弧插值运算程序、运动轨迹规划、不同坐标系下的运动转换计算程序等。

设计的机器人仿真系统具有两种联动控制方式:基于关节角度和基于目标点位姿。

(1)基于关节角度。在界面中“关节角度”输入框里,填写各关节的期望角度。事件管理模块调用运动学正解程序,可以计算出机器人末端执行器的位姿。然后,调用轨迹规划程序,机器人各关节以设定的速度、加速度平稳的运动到期望角度。为避免机器人关节发生干涉,保障机器人运行安全,依据真实机器人的关节实际运动范围,设置各关节转角的极限值。若输入的关节角度超出了关节转角的极限值,则系统报警,弹出警告消息,提示用户“输入正确的关节角度”。

(2)基于目标点位姿。根据目标位姿,调用机器人运动学逆解程序,基于运动路程最短的原则,可以求出一组最优解。通过轨迹规划和直线插补计算,将插补得到的各关节速度、位置参数传递给Open GL虚拟机器人。驱动虚拟的机器人运动到目标位姿。若输入的目标位姿超出了机器人作业空间,则发出警告消息,弹出对话框:“目标点超出了作业空间”。此种情况,即机器人不存在逆解。

机器人仿真系统具有数据存储功能,设计了数据管理模块。点击按钮“存储轨迹”,保存机器人的运行轨迹,以便示教再现过程读取运动数据。多关节控制界面实时显示机器人的姿态和各关节的当前角度值,操作者可以实时观察机器人的运动状态。

2.3 三维运动仿真模块设计

目前常用的计算机三维图形仿真软件包括OpenGL,Direct3D和Glide等。三维运动仿真模块是机器人仿真系统的核心模块,该模块采用计算机三维图形学仿真软件建立机器人的几何模型,并通过设置几何和物理约束的形式,建立各关节单元的运动模型。

本系统采用OpenGL软件对机器人三维模型(虚拟机器人)进行建模,如图4所示。在所创建的VC工程中添加OpenGL的3个静态链接库,用来调用建立的机器人三维模型。虚拟机器人跟随运动的实现方式为:机器人关节的运动参数和虚拟机器人之间以静态变量方式进行参数传递。虚拟机器人模块中的定时器实时检测静态变量值,并使虚拟机器人依据静态变量值的大小进行运动。同时,为了方便用户操作,三维模型还具有点击选择的功能,鼠标单击某个关节,然后拖拽关节,该关节跟随图标进行运动。

图4 虚拟机器人模型

2.4 显示模块设计

显示模块的功能是:显示虚拟机器人的运动状态,主要包括数据显示子模块和图形显示子模块,其目的是可以让操作人员观察机器人的运行状态。数据显示界面如图5所示。数据显示界面主要用来显示机器人关节的期望角度、当前实际运动角度值、机器人的位置和姿态。该模块可以实时读取虚拟机器人各关节的角度,计算出机器人末端的位姿,并输出在显示模块上。

图形显示界面以曲线的形式实时显示虚拟机器人末端的运动状态。操作人员可以根据运动曲线得到关节对输入信号的响应特性。该功能可以反映机器人的运动控制效果,从而验证控制算法的有效性。

图5 数据显示面

3 仿真系统调试

设计的仿真系统如图6所示。控制界面主要包括三维仿真界面、数据状态显示、操作界面三大部分。

操作界面有启动、运动学解算、数据存储、示教再现等操作按钮,完成对虚拟机器人的操控。数据状态显示模块包括当前角度、当前位置姿态、期望角度和运动速度等机器人运动参数的显示。在控制界面上输入机器人运动参数,虚拟机器人可以按照输入的参数运动,如图6所示。测试结果表明,该系统实现了对虚拟机器人的实时控制。

图6 仿真系统运行界面

4 结语

本文综合应用运用OpenGL软件和VC语言设计开发了六自由度机器人仿真系统,介绍了机器人各个模块的功能与设计过程。该系统具有友好的界面,机器人三维仿真模型与VC控制界面数据可以实时交互,实现了对虚拟机器人的实时控制,可用于机器人培训与机器人教学,也可用于机器人控制算法研究。

猜你喜欢
运动学轨迹角度
神奇的角度
轨迹
轨迹
基于MATLAB的6R机器人逆运动学求解分析
一个涉及角度和的几何不等式链的改进
基于D-H法的5-DOF串并联机床运动学分析
轨迹
进化的轨迹(一)——进化,无尽的适应
基于运动学原理的LBI解模糊算法
双足机器人运动学分析与仿真