6R机器人三维图形运动仿真与奇异形位分析刘全浩,胡旭东,江贵龙,李鹏刚(浙江理工大学机械与自动控制学院,浙江省纺织装备技术重点实验室,浙江杭州310018)email:hsddzlqh@yahoo.com.cn摘要:本文以staubli机器人为研究对象,设计开发了6R(六自由度旋转关节)机器人基于三维图形的运动学仿真系统。该系统用三维形体表示机械手复杂的位置、姿态信息,可对机器人运动学进行求解和实施三维图形仿真,达到了对机器人的末端执行器的准确控制。利用实时绘出的关节波形图,本文提出了一种新的对机器人运动过程中的奇异形位进行分析的方法。关键词:机器人;运动学;仿真;图形仿真;奇异中图分类号:TP242.2文献标识码:ATheStudyofKinematicsSimulationof6RRobotbasedon3DGraphicsLIUQuan-hao,HUXu-dong,JIANGGui-long,LIPeng-gang(SchoolofMechanical&AutomaticControl,ZhejiangProvinceKeyLabofModernTextileMachinery&Technology,ZhejiangUniversityofSciences,Hangzhou,310018)Abstract:Thispapertookstaublirobotforanexampleandintroducedasystemofkinematicssimulationof6Rrobot.Usingthreedimensionentitiestoshowthecomplexinformationforpositionandposeofactuator,thissystempresentsanaccuratesolutionofstaublimanipulatorkinematicsandcancompletethree-dimensionaldynamicgraphsimulation.Drawingthevaluesofthe6Rjointwithtime,itprovidesausefulmethodtoanalyzethesingularconfigurationof6Rrobotworkprocess.Keywords:robot;kinematics;simulation;graphicssimulation;singularconfiguration1引言随着机器人应用领域的不断拓展和对机器人研究的不断深入,机器人仿真系统作为机器人设计和研究的安全可靠,灵活方便的工具,越来越受到重视。机器人运动学仿真是机器人仿真系统的重要组成部分。由于机构运动分析与运动仿真一般都涉及有复杂的数学运算,而Matlab兼备有十分强大的数学计算功能和绘图、动画功能,以及便利的GUI设计功能,并且它还提供了与其它高级程序设计语言例如C、FORTRAN等的接口,使得其功能日益强大。因此本文使用Matlab设计开发了六自由度旋转关节机器人基于三维图形的运动学仿真系统。该系统以staubli6R工业机器人(具体的机器人结构和运动学数学模型请参见参考文献[13])为研究对象,用三维形体表示机械手复杂的位置、姿态信息,可对机器人运动学进行求解、实施三维图形仿真,并且能在仿真的过程中可以实时绘出末端执行器的三维坐标运动轨迹、逆运动学求解的关节波形图和经过关节范围限制处理后的关节波形图。利用两波形图,本文提出了一种奇异形位分析的方法。利用该运动学仿真系统动态仿真机器人的工作过程,研究者可以很直观、形象地获取机器人在整个运动过程中的位置、姿态、轨迹等信息,再结合两个波形图进行的奇异形位分析,研究者可以很容易、直观地判断运动方案的合理性、控制算法的有效性等,从而解决机器人运动过程中的一系列问题。同时,运动学仿真系统也为进一步进行干涉检查、轨迹规划和误差补偿的研究与验证等问题提供了良好的平台。2.正运动学仿真的实现2.1正运动学仿真模型通过对机器人正运动学的分析,运用Simulink我们建立了仿真模型的原理框图。见图1,模型中MatrixGain1~6参数k依次为T01、T12、T23、T34、T45、T56。图1正运动学仿真模型2.2正运动学仿真实例仿真界面如图2,在左边的指定位置输入staubli系列机器人各个关节角度,点击“开始仿真”,在左下位姿矩阵框中就可以显示出机器人末端执行器的位置和姿态矩阵,同时在右边窗口中显示相应的机器人仿真图形。仿真实例,输入关节1~关节6的角度值分别为0、-90、90、0、0、0,输出位姿矩阵为[1000;01049;001665;0001],由六关节角度值对应的机器人形态的仿真图形如图所示图2正运动学仿真界面3逆运动学仿真3.1逆运动学仿真模型分析机器人逆运动学解的特点,运用MATLAB/Simulink和VR我们建立了staubli机器人逆运动学的仿真模型。见图3,左边的Fun1~~Fun12输入是仿真时间t,输出分别为位姿矩阵中的nx,ny,nz,sx,sy,sz,ax,ay,az,px,py,pz,输出值可以是常数,也可以是仿真时间t的函数。修改Fun函数可以得到任何形式的位姿矩阵。位于中间的niyundongxuejie子模块是S-Function,其功能为根据输入的位姿矩阵求解各个关节角,实现逆运动学求解。逆运动学求解的各个关节值(弧度值)分别被Saturation0~Saturation5实现关节范围限制。与实际机器人相符,若超出关节上限关节值取为上限值,超出下限时关节值取下限值。经范围限制处理后,各关节值(弧度值)通过VRSink控制机器人三维模型中的相应关节进行三维动态仿真。工作过程中各个关节值(弧度值)在示波器Scope和Scope1中实时绘出,示波器Scope中绘出的是逆运动学求出的六关节波形,经过关节范围限制处理后的六关节波形在示波器Scope1绘出。本文利用两波形进行奇异形位分析。在机器人工作过程中,若机器人关节范围超出限制范围,称机器人发生边界奇异;若关节速度过大,超出系统的安全范围,称机器人发生内部奇异。由此可知:若两示波器相应关节的波形完全一样,则表示关节范围在限制范围内,没有发生关节超限。两波形不一样,则说明逆运动学求解的关节值超出机器人关节范围,此时输入位姿矩阵对应的机器人形位将发生边界奇异;观察其中一个示波器,若波形发生突变,则对应的关节速度为无穷大,此时对应的机器人形位发生内部奇异。根据上面的结论,利用两示波器中的波形可以进行奇异形位分析,如判断有无奇异点,奇异类型,且能找出奇异点的位置等,从而确定合理的运动方案,选择有效的控制算法。利用该方法进行奇异形位分析操作简单,且很直观。图3逆运动学仿真模型3.2逆运动学仿真实例3.2.1输入为单个点的位姿矩阵的逆运动学仿真界面见下。在左边的指定位置输入机器人末端执行器在某一点的位姿矩阵,点击“开始仿真”,在左下输出框内就可以显示出机器人各个关节角度,同时在右边窗口中显示相应的机器人仿真图形。仿真实例,输入的位姿矩阵为[1000;01049;001665;0001];点击“开始仿真”,输出的关节1~关节6的角度值分别为0、-90、90、0、0、0,仿真图形显示图中右边所示。由前面正运动仿真实例子可以看出,该逆运动学的解是正确的。逆运动学仿真和正运动学仿真可以互相验证解的正确性。图4单个点的逆运动学仿真3.2.2连续轨迹控制仿真机器人要在作业空间中完成一定的任务,其手部运动必须按一定的轨迹进行。由于机器人的作业情况在实际中是错综复杂的,其手部运行轨迹可以是三维空间中的任意的连续曲线,相应的位姿矩阵中的若干或者全部元素可能为时间t的函数。连续轨迹的逆运动学仿真的界面如下图5。在左上的输入位姿矩阵框输入位姿矩阵,点击“开始仿真“,右上边的图形仿真框中就会实时动态显示机器人工作过程中各个时刻的形态。点击“查看波形”,就会弹出两示波器框Scope和Scope1,示波器Scope中实时绘出的是逆运动学求出的六关节角的波形,示波器Scope1实时绘出的是经过关节范围限制处理后的六关节波形。在仿真过程中,“绘制轨迹”用来在运行轨迹框实时绘出末端执行器在三维坐标下的运行轨迹。仿真实例1,输入的位姿矩阵的各个元素:nx=-1,ny=0,nz=0,sx=0,sy=1,sz=0,ax=0,ay=0,az=-1,px=300cos(t)+400,py=300sin(t)+400,pz=0。点击“开始仿真”,“绘制轨迹”,进行仿真。在仿真时间t=4.5s时,仿真界面如图5所示。图5连续轨迹的逆运动学仿真仿真时间t=10s时,此时点击“查看波形”两示波器显示如下。图6示波器Scope图7示波器Scope1各关节角的波形图如上所示。本例中关节角1和关节角6的波形一样。观察两示波器的相应波形可以看出:波形连续没有突变,且两示波器中波形完全一样,机器人在该运动过程中没有发生奇异形位。仿真实例2,输入的位姿矩阵的各个元素nx=-1,ny=0,nz=0,sx=0,sy=1,sz=0,ax=0,ay=0,az=-1,px=200cos(t),py=300sin(t)+49,pz=665,仿真时间ts=10s,两示波器显示图8示波器Scope图9示波器Scope1比较两示波器的相应波形可以看出:关节1,关节3和关节6在仿真过程中存在奇异形位;根据奇异形位的分类可知关节1奇异形位为边界奇异和内部奇异,关节3奇异形位为边界奇异,关节6奇异形位为内部奇异。关节1发生奇异的时间为3.3s和9.6s左右的时间,关节3在整个仿真过程中均发生边界奇异,关节6发生奇异的时间为6.2s左右。关节波形有突变,仿真过程发生奇异形位,仿真结果不能用于控制实际的机器人,需要修改运动方案或修改算法。4.结论本文以staubli机器人为研究对象,用三维形体表示机械手复杂的位置、姿态信息,设计开发了六自由度旋转关节机器人基于三维图形的运动学仿真系统,实现多自由度,多关节机器人的动态仿真。该仿真系统可以对机器人的正运动学问题,逆运动学问题,工作过程中的动作及运行的轨迹进行仿真。利用该系统动态仿真机器人的工作过程,研究者可以很直观、形象地获取机器人在整个运动过程中的位置、姿态、轨迹等信息。文中提出的利用波形图进行奇异形位分析的方法,能简单、直观地判断是否发生奇异形位、奇异形位的类型、奇异形位发生的位置等,为判断运动的合理性、控制算法的有效性提供了一种简便的方法。同时,运动学仿真系统也为进一步进行干涉检查、轨迹规划和误差补偿的研究与验证等问题提供了良好的平台。参考文献[1]NakamuraY,HannafusaH.Inversekinematicsolutionswithsingularityrobustnessforrobotmanipulatorcontrol[J].ASMEDynamSystemMeasurmentcontrol,1986,108:163-171.[2]DineshManocha,JohnFCanny.EfficientInverseKinematicsforGeneral6RManipulators.IEEETransactionsonRoboticsandAutomation,1994,10(5):648~657[3]ManjaVK,MirkoDB.SymbolicsingularvaluedecompositionforaPUMArobotanditsapplicationtoarobotoperationnearsingularities[J].ThenternationalJournalofRoboticsResearch,1993,12(5):460-472.[4]ChengFT,HourTL,SunYY.Studyandresolutionofsingularitiesfora6-DOFPUMAmanipulator[J],IEEETransactionsonSystem