三自由度运动平台的运动仿真及控制设计

2013-06-15 07:15聂良兵王培俊程宏钊
机械与电子 2013年4期
关键词:控制卡绘制坐标系

聂良兵,王培俊,潘 璇,程宏钊

(西南交通大学机械工程学院,四川 成都 610031)

0 引言

在基于3-RPS的并联机器人运动学仿真相关研究工作中,主要存在以下不足:可视化程度低,难以提供逼真的三维仿真效果;运算速度慢,所写程序难以应用到真实的运动控制中;不易实现参数化的动态仿真;仿真内容受到相应软件功能模块的限制,程序扩展性差[1]。针对以上问题,自主研发了一套3-RPS机构的参数化实时动态的三维可视化仿真系统,并根据仿真结果,结合MPC2810运动控制卡,提出了一种机构运动控制理论。

1 3-RPS机构运动仿真系统功能模块

仿真系统主要由以下几个功能模块组成:

a.三维可视化显示模块,实现对三自由度机构的三维显示、视角变换等。

b.运动仿真模块,实现对运动平台进行逆解分析并对3个自由度进行运动仿真,对仿真结果进行整理保存。

c.机构正解模块,对运动平台进行正解分析,可根据用户的输入进行解算。

d.机构参数设置模块,向用户提供人机交互参数输入界面,实现对机构的动态仿真。

2 3-RPS机构仿真系统设计

2.1 三维模型的显示

在进行三维运动仿真前,必需完成三维模型的三维显示,这是完成后续各项功能的基础。OBJ文件是一种标准的3D模型文件格式,适合用于3D软件模型之间的互导。目前,几乎所有知名的主流3D软件都支持OBJ文件的读写。在系统中,编写了相应的函数来对OBJ文件进行解析和读取。通过Pro/E或3ds Max等三维软件,建立起三维基础模型,然后将其导出为OBJ文件,最后对其读取并绘制三维模型[2]。

2.2 3-RPS机构逆解分析

图1 3-RPS机构

3-RPS机构的典型形式如图1所示[3]。为进行三维运动仿真,首先应进行运动学逆解分析,以确定所要实现的运动。

A1,A2,A3表示电动缸与固定平台的销轴联接点,P1,P2,P3所形成的三角形表示运动平台。为便于表达和计算,设置了2个坐标系:固定不变的Oa-XYZ世界坐标系和固接于运动平台的Op-XYZ局部坐标系[4]。对于运动平台,应实现绕其自身坐标系Xp,Zp两轴的旋转运动和沿竖直方向的上下移动。首先,以运动平台为研究对象,设其绕Xp轴的旋转角度为α,其对应的旋转矩阵为MRotx;绕Zp轴的旋转角度为β,其对应的旋转矩阵为MRotz;沿竖直方向位移量为Height,其平移矩阵为MT,最终的模型变换矩阵为Mres,根据计算机图形学[5]有:

将矩阵 Mres左乘P1,P2,P3的初始坐标值,便可得到运动后各点的坐标值[6]。

2.3 三维模型的绘制

在进行了机构运动学逆解后,还需要正确地绘制三维模型。现以图1中A2,P2处的电动缸为例,阐述如何在OpenGL中正确绘制运动后的模型。

为动态改变电动缸的长度并简化绘制过程,在此处将电动缸分解为4部分进行绘制。电动缸的组成部件如图2所示,其中A,C,D部分的模型为固不变部分,B部分的长度则是可变的。电动缸的总长度应由以上4部分组成,设其为L,则有:

a,c,d为固定值;b为可变值。

图2 电动缸分解

按2.2节所述的方法,计算出运动后P2点的值,再假设用户将电动缸的总长度设为L,则可按以下流程进行电动缸模型的绘制:

a.假定一个电动缸模型坐标系,并在此坐标系中进行模型绘制。

b.在电动缸坐标系中的坐标原点处绘制A部分。

c.在电动缸坐标系中,将C部分沿Y轴方向平移L-d并进行绘制。

d.根据L,a,c,d的值计算出b的值,将B部分缩放至长度b,并在电动缸坐标系中沿Y轴方向移动L-c-d并绘制。

e.根据计算后的P2和A2的值,计算出P2A2的长度length,同样在电动缸坐标系中将D部分沿Y轴方向平移length并绘制。

f.根据A2和运动后点P2,计算出将电动缸坐标系转换为世界坐标系的变换矩阵[7],并将此矩阵乘以OpenGL当前的模型变换矩阵。

机构的其他部分按照同样的方法进行绘制,其中主要采用了坐标系变换的方法。仿真最终效果如图3所示。

图3 仿真效果

用户可以通过各参数面板设置机构的尺寸,如座椅的长、宽、高,电动缸的安装位置和初始高度等。

2.4 运动仿真设计

系统主要对3-RPS运动平台3个自由度进行仿真,即侧翻、俯仰和竖直方向的运动。利用人机交互操作参数面板,可对各个自由度的加速度、最大速度以及运动的起止位置进行设置。

当按下仿真按钮后,程序将会读入相应的参数,然后开启一个线程,并在此线程内设置一个while循环,在循环体内不断计算线程的运行时间。通过此时间分别计算出α,β和竖直方向的运动量Height,并对运动平台进行更新,用户可将运动平台当前的各状态值保存于Excel中。

在主窗口区可以观察到机构的实时运动情况,电动缸的实时状态量也会显示在屏幕左下方,仿真结束后可绘制出各个电动缸的运动轨迹图,如图4所示。

图4 运动轨迹

2.5 机构正解分析

如图1所示。建立与逆解相同的坐标系,设各电动缸销轴副的安装位置分别为A1,A2,A3,各电动缸长度分别为PA1,PA2和PA3,求此时P1,P2和P3的坐标。根据相应的约束条件可列出约束方程[8],将其整理后可得方程组:

此为一个非线性方程组,可采用牛顿迭代法[9]进行求解,则其Jacobi矩阵为:

设x=[xp1,yp1,yp2,yp3,zp2]T,则由牛顿迭代公式x(k+1)=x(k)-(Df(x(k)))-1f(x(k)),通过一定次数的迭代计算,可得到满足给定要求的结果。

用户可在参数面板中设置各电动缸的长度、迭代初值以及迭代次数,若满足各约束条件,则能求出在相应电动缸长度下运动各点的坐标值,实现对逆解法的验证。

3 运动控制设计

3.1 MPC2810运动控制卡

3-RPS运动平台的控制实际上是对3个电动缸相应电机的控制。电机的控制方法主要有2类:通过PLC控制和通过运动控制卡控制。为使运动控制程序能够与PC电脑进行有效的通信,并集成于其他的PC虚拟软件中,采用乐创MPC2810运动控制卡来进行电机运动控制。

MPC2810运动控制卡可提供常速运动模式、梯形运动模式和S形曲线运动模式等,但其大多数运动模式都要求在运动控制前有明确的运动轨迹,且脉冲发送加速度在发送过程中通常是无法改变的。而在虚拟仿真环境中,具有许多随机因素,无法在控制前确定运动轨迹。由图4各电动缸的运动轨迹图也可看出,各电动缸的运动轨迹是曲线,运动的加速度是随时变化的,各电动缸的运动也并非是独立的。在MPC2810运动控制卡的各种运动模式中,也无法找到一种适合的运动模式来进行控制。

3.2 以直代曲运动控制思想

在图4中的运动轨迹曲线中,若在时间轴上取一时间微段Δt,则其运动轨迹曲线可看成由许多直线组成的,此直线运动过程恰好可以用常速运动模式来进行控制。经测试,MPC2810在1s内大概可有效发送20条运动控制指命,则Δt可取0.05s,在此时间内,将电动缸的运动轨迹看作是以常速做直线运动。在每段运动开始时,可用仿真系统的方法计算出Δt,各电动缸所需要的位移量Δs,则可得运动平均速度为:

然后以此为参数,调用MPC2810常速运动模式的相关函数,如下所述。

设置某轴常速度为v,即

启动某轴常速运动,行程为Δs,即

上面各函数相应的参数可根据实际情况换算为脉冲单位,如此反复,便可完成所有要求运动轨迹。

3.3 误差分析

在3.2节的运动控制方法中,直线运动的起始位置和终止位置都不存在位移误差,误差主要存在于运动过程中,以直代曲的位移偏差在直线运动结束时便会消除,并不会累积。现取第3部分中的一段仿真数据进行误差分析,如表1所示。

表1 仿真数据

从表1和整个仿真数据可以发现,各个电动缸在各种正常的运动过程中,在0.05s内的位移量都没有超过1mm。根据曲线的单调性可知,除了在波峰或波谷处,以直代曲的方式所产生的误差都不会大于1mm,而这种误差完全可以由机构的安装间隙所消除。

综上所述,可采用如下方法提高机构控制精度:采用高性能运动控制卡,提高每秒有效指令发送个数;尽量避免或减少运动轨迹出现波峰或波谷,使运动轨迹为单调曲线;采用高性能、高精度的电动缸,减少电机的漏步现象。

4 结束语

仿真系统在对3-RPS机构进行正逆解的基础上,对其进行了三维动态参数化仿真,不仅形象生动地展示了运动平台在各种运动情况下运动状态,而且还确保了机构运动学逆解的正确性,保证了运动控制程序算法的正确性,因为所有算法都由C++实现,所以可直接运用于运动控制程序中。在仿真过程中,大量运用坐标系变换的思想,简化了Open-GL的绘制流程。最后根据仿真系统所提供的仿真结果,依据MPC2810运动控制卡,提出了以直代曲的运动控制思想。

[1]孙 涛,赵东标,李晓庆.基于Open Inventor的六自由度钻铣机加工仿真研究[J].机械与电子,2012,(3):35-40.

[2]黎 华,肖 伟.几种三维模型文件在OpenGL中的输入与处理[J].物探化探计算技术,2007,29(1):83-86.

[3]王旭永,王显正,张 颖,等.三自由度并联驱动平台机构的位置逆解及其分析[J].上海交通大学学报,1998,32(1):102-104.

[4]毛泰祥,杨汝清,周 兵.三自由度并联机器人结构参数优化与仿真方法研究[J].机械与电子,2004,(3):71-74.

[5]Hearn D D,Baker M P.Computer graphics with Open-GL[M].Beijing:Publishing House of Electronics Industry,2006.

[6]张 敏,石秀华,杜向党,等.三自由度机械手运动学分析[J].机械与电子,2005,(1):65-66.

[7]Shreiner Dave,the Khronos OpenGL ARB Working Group.OpenGL programming guide[M].Beijing:China Machine Press,2010.

[8]崔国华,王国强,赵春江,等.空间转动三自由度并联微调机构设计与运动学分析[J].农业机械学报,2008,39(9):144-148.

[9]徐士良.数值分析与算法[M].北京:机械工业出版社,2007.

猜你喜欢
控制卡绘制坐标系
兼容多种运动控制卡的V割机数控系统关键技术*
三轴机械手控制器设计
超萌小鹿课程表
放学后
解密坐标系中的平移变换
坐标系背后的故事
基于运动控制卡的桁架机器人控制系统设计
基于重心坐标系的平面几何证明的探讨
在转变中绘制新蓝图
极坐标系下移动机器人的点镇定