APP下载

Delta机器人运动控制及图形轨迹的动态仿真

2015-12-23闫林林邹风山

计算机工程与设计 2015年8期
关键词:中心点运动学控制算法

闫林林,徐 方,贾 凯,邹风山

(1.中国科学院 沈阳自动化研究所 机器人学国家重点实验室,辽宁 沈阳110016;2.中国科学院大学,北京100039;3.沈阳新松机器人自动化有限公司,辽宁 沈阳110168)

0 引 言

Delta机器人作为一种最成功的并联机器人已经得到了许多专家学者的高度评价和热衷研究[1-3]。针对并联机器人轨迹的编程方式,传统的机器人一般使用示教再现的方法,但此种方法不仅在控制策略上繁琐复杂,而且在需要更改轨迹时,整个示教过程需要重新进行,浪费时间[4,5]。

机器人图形化轨迹编程作为一种新的轨迹编程方法[6,7],其在利用计算机图形学对机器人进行建模的基础上,将机器人轨迹作为若干的图形轨迹模块的组合。在图形化编程中,图形轨迹算法是其重要和基本的研究内容,而算法的研究必须需要一种平台作为工具来进行算法的分析和验证。传统机器人一般使用MATLAB 及其Robotics工具箱来进行算法研究[8],而Robotics工具箱并没有针对并联机器人的相关模型库,同时MATLAB 在图形学方面对机器人的三维建模及动态仿真的能力表现相对较差[9]。OpenGL作为一种优秀的图形编程接口,具有强大的三维建模能力,在机器人仿真等领域的研究受到了众多学者的青睐[10]。

针对以上的情况,利用OpenGL建立了Delta机器人三维模型,设计了一套机器人动态仿真系统。对Delta机器人的运动控制算法和图形轨迹算法进行了研究,并在仿真系统平台上进行了算法的验证及动态仿真。

1 Delta机器人的OpenGL建模

OpenGL是一种独立于硬件、可运行于多操作系统的三维软件包接口,其按照计算机图形学原理设计而成,具有严格和卓越的三维图形标准。其具有强大的三维建模能力,且仿真动画运行效果逼真流畅,非常适用于机器人的仿真研究。下面根据Delta机器人的运动特性及相应的构件形状,利用OpenGL相关技术对其构建三维仿真模型。

如图1所示,利用OpenGL 绘制两个三角图形来代替Delta机器人的静平台和动平台,根据三自由度Delta机器人的特点可知静平台和动平台所在的平面始终平行。镶嵌在静平台3个边中心点的圆柱体来表示3个电机驱动装置,与3个电机驱动装置相连接的为运动链的主动杆,在动平台3个边中心点的球体和主动杆末端的球体分别表示机构的球面副,而每条支链上连接两个球面副的连杆为机构的从动杆。

图1 Delta机器人三维建模

在Delta机器人仿真机构的基础上,绘制了三维坐标系。为了方便使用者进行观察和操作,首先选取坐标系XOZ平面平行于静平台和动平台,x轴平行于静平台的一条三角边,y轴的方向平行于静平台和动平台的公垂线,然后根据右手法则绘制出三维坐标系。为使Delta机器人的运动范围尽量保持在仿真系统平台坐标系的0 坐标附近,选取当3条主动杆平行于动平台时,即3个电机驱动的角度都为0 时,动平台所在的平面即为XOZ 所在的平面。

Delta机器人的机构基本参数见表1。

表1 机器人基本参数

2 机器人运动学分析

如图2所示,由点M1、M2、M3组成的Delta机器人的静平台,由N1、N2、N3组成的动平台,A1、A2、A3为静平台上驱动机构的中心点,同样C1、C2、C3为连接动平台与从动杆的球面副所在的中心点。R 为静平台内切圆的半径,r为动平台内切圆的半径,L1为主动杆的长度,L2为从动杆的长度,H 为静平台中心点O 到动平台中心点P的距离。根据Delta机器人的运动特性,将基坐标系建立在静平台的中心点。

图2 机器人运动学建模

2.1 运动学反解

根据机器人的末端位姿求解驱动关节角度即为机器人运动学反解。Delta机器人的运动学反解即在已知动平台中心点位置的情况下,求取3个驱动杆转动角的问题。由于并联机器人与串联机器人本身结构及运动特性的不同,传统的D-H 分析法不能适用于对Delta机器人的运动学分析,所以用另一种方法对Delta机器人进行了运动学算法的研究。

则根据式 (1)可知

由式 (2)可得到

设u1=x +rcos-Rcos1,v1=y +rsin-Rsin1,m1=-2u1L1cos-2v1L1sin1,n1=-2zL1,p1=++z2+-,则

根据式 (4)可求得θ1的解。同理可求得θ2、θ3的解。

2.2 运动学正解

在已知机器人各关节角度的情况下,求解机器人的末端位姿即为机器人的正向运动学。在此Delta机器人模型中,已知3个驱动杆的转动角分别为θ1、θ2、θ3,求解动平台的中心点的坐标即是Delta机器人的运动学正解。

根据上面的式 (3),设φ1 =rcos1-Rcos1-L1cos1cosθ1,ω1=rsin1-Rsin1-L1sin1cosθ1,ρ1 =-L1sinθ1,则

同理,可得

根据式(5)、式 (6)、式 (7)联立组合成三元二次方程组,则求解此三元二次方程组即求得Delta机器人的运动学正解。由于机器人运动学建模中坐标系的建立方法与Open-GL三维模型中的不同,系统将机器人在运动学模型坐标系下的控制算法向OpenGL三维模型的坐标系进行了转换。

3 系统平台设计

系统平台选择在Windows系统上进行开发,鉴于仿真平台需要强有力的图形工具做支撑,同时OpenGL 作为一种优秀的图形开发接口可以与Windows紧密结合。在VC平台下使用MFC与OpenGL的混合编程进行系统平台的设计开发。

3.1 系统平台结构

如图3所示,系统平台分为基本菜单、机器人仿真主窗口、多视角窗口、功能操作窗口4 个部分。基本菜单主要应用于仿真轨迹的切换等。功能操作窗口则完成对机器人轨迹参数的输入和状态控制。机器人主仿真窗口是操作者对机器人模型的主要观察窗口,而多视角窗口则是为了满足操作者可以从其它视角来对机器人进行了全面的观察分析。

图3 系统仿真平台

3.2 系统设计流程

如图4所示,系统共有4个线程,其中主线程进行系统任务的监测,同时将分析后的任务消息传送给子线程1。子线程1负责机器人运动控制算法的处理和主视口的刷新,同时向子线程2、子线程3发送刷新命令。线程2和线程3主要完成两个不同视角的刷新任务。

图4 系统控制流程

4 图形轨迹算法及仿真验证

机器人轨迹是机器人研究领域中的重要内容,是机器人图形化编程的基础。在对机器人进行了OpenGL 三维建模和运动学建模之后,系统实现了机器人两种类型图形轨迹,并进行了验证。

4.1 基本图形轨迹

包括直线、圆/椭圆、正弦/余弦曲线3 种基本图形轨迹。下面以圆形轨迹为例说明轨迹的相关算法。

假设运动前机器人末端位置为A(xA,yA,zA),圆形轨迹起点为B(xB,yB,zB)。令AB段轨迹速度为v,运行时间为t,长度为,则AB段轨迹

用圆的参数方程表示更易于此轨迹的设计实现,假定当前轨迹点对应的角度为rad0,圆半径为r,起始角度rad1,终止角度rad2,轨迹所在平面是绕Y 轴旋转角度βy,绕Z轴旋转角度为βz 所形成的平面。令轨迹起始点为x0y0z0,有以下方程

当系统运行时间为t,角速度为w 时,则rad0=w·t,由此可知旋转前的轨迹方程为

根据点在空间坐标系中的映射算法,可以得到机器人末端的位置点,即圆形轨迹的表达式如下

4.2 复合图形轨迹

除了基本图形轨迹之外,实现了几种复合轨迹,在基本图形轨迹的基础上,通过一种或者几种轨迹的多次耦合而成。实现了包括平面复合轨迹 (扇形)和空间复合轨迹 (多边形、六面体、球/椭球)。具体的实现流程如图5所示。

图5 复合轨迹控制算法

4.3 仿真验证

为了验证系统的运动控制和图形轨迹算法,进行了正弦曲线轨迹、椭圆曲线轨迹、扇形轨迹、六面体轨迹的仿真演示。根据如图6所示仿真轨迹,可以验证仿真系统平台的可靠性及运动控制算法和轨迹算法的正确性。

图6 轨迹仿真结果

5 结束语

在Delta机器人的三维建模的基础上,分析研究了其运动学算法,并在运动控制基础上,结合机器人图形轨迹的控制算法,建立了一套机器人轨迹仿真系统。仿真结果验证了运动学和轨迹算法的可靠性,直观地展现了机器人运行的图形轨迹,仿真系统达到了对Delta机器人控制算法检验和分析目的。图形轨迹算法对Delta机器人的图形化编程起到可靠的算法保证,仿真系统操作简单,多视角仿真使操作者对机器人整体的运动情况有全方位的掌握,作为一种Delta机器人控制算法的验证工具,对图形化编程的研究具较高的科研价值。

[1]GAO Mingwang,ZHANG Xianmin,LIU Han.3-RRR highspeed parallel robot kinematics design and experiment[J].Robot,2013 (6):716-722 (in Chinese).[高名旺,张宪民,刘晗.3-RRR高速并联机器人运动学设计与实验 [J].机器人,2013 (6):716-722.]

[2]Angel L,Bermudez J,Munoz O.Dynamic optimization and building of a parallel delta-type robot[C]//IEEE International Conference on Proceedings of the Robotics and Biomimetics,2013.

[3]FENG Lihang,ZHANG Weigong,GONG Zongyang,et al.Progress and status of Delta series parallel robot research [J].Robot,2014,36 (3):375-384 (in Chinese). [冯李航,张为公,龚宗洋,等.Delta 系列并联机器人研究进展与现状[J].机器人,2014,36 (3):375-384.]

[4]Neto Pedro,Pires JN,Moreira AP.CAD-based off-line robot programming [C]//IEEE Conference on Robotics Automation and Mechatronics,2010:516-521.

[5]Neto P.Off-line programming and simulation from CAD drawings:Robot-assisted sheet metal bending [C]//39th Annual Conference of the IEEE Industrial Electronics Society,2013:4235-4240.

[6]Silke Lampe.A practical graphical based robot programming model in machine tending [C]//39th International Symposium on Robotics,2008:259-264.

[7]Li J,Xu A,Dudek G.Graphical state space programming:A visual programming paradigm for robot task specification[C]//IEEE International Conference on Proceedings of the Robotics and Automation.IEEE,2011:4846-4853.

[8]Corke P. MATLAB toolboxes:Robotics and vision for students and teachers [J].IEEE Robotics & Automation Magazine,2007,14 (4):16-17.

[9]CHEN Wei,CHEN Yimin,WANG Di.Research on virtual simulation and control of robot[J].Computer Engineering and Design,2010,31 (20):4455-4458 (in Chinese).[陈伟,陈一民,汪地,等.机器人虚拟仿真及控制技术研究 [J].计算机工程与设计,2010,31 (20):4455-4458.]

[10]Xiang G,Kai Z,Xijuan G.Analysis of dynamic performance indices of 3-RPC parallel mechanism [C]//International Conference on Proceedings of the Environmental Science and Information Application Technology.IEEE,2010:78-82.

猜你喜欢

中心点运动学控制算法
Scratch 3.9更新了什么?
基于MATLAB的6R机器人逆运动学求解分析
如何设置造型中心点?
工业机器人在MATLAB-Robotics中的运动学分析
基于D-H法的5-DOF串并联机床运动学分析
基于ARM+FPGA的模块化同步控制算法研究
汉字艺术结构解析(二)中心点处笔画应紧奏
基于运动学原理的LBI解模糊算法
寻找视觉中心点
一种优化的基于ARM Cortex-M3电池组均衡控制算法应用