基于MATLAB与SolidWorks的六自由度机器人联合建模仿真

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2014年12月机电技术机电技术基于基于MATLABMATLAB与与SolidWorksSolidWorks的六自由度机器人联合建模仿真的六自由度机器人联合建模仿真陈爱波1宁淑荣2陈五一1(1.北京航空航天大学机械工程及自动化学院,北京100191;2.山东大学(威海)机电与信息工程学院,山东威海264209)摘要:针对一种6自由度教学机器人,在MATLAB/Simulink环境下,利用MATLAB自带的VirtualReality工具箱导入SolidWorks建立的三维实体模型并在虚拟环境中显示机器人运动,同时利用Simulink中的SimMechanics模块集建立机械系统仿真模型并输出仿真数据,实现机器人虚拟样机的建立及运动仿真。提出的联合建模仿真方法综合利用了以Solid⁃Works为代表的CAD软件强大的三维实体建模功能、Simulink/SimMechanics便捷的机械控制系统建模仿真功能、VirtualReality逼真的场景显示功能以及MATLAB强大的数据处理和图形显示功能,对机器人仿真研究和开发设计具有重要参考价值。关键词:联合建模仿真;MATLAB;Simulink/SimMechanics;VirtualReality;SolidWorks中图分类号:TP242文献标识码:A文章编号:1672-4801(2014)06-057-04机器人运动仿真主要是为了在产品开发阶段,了解所开发的机器人实现预定轨迹运动时各关节及连杆所反映出的运动学特性、产品在给定输入运动下的动作过程及机器人的综合性能,其仿真结果对机器人产品开发及结构优化设计等二次开发提供依据[1]。机器人仿真方法的研究主要借助于一些商业软件,其中,ADAMS作为虚拟样机技术的代表软件被广泛应用于机器人运动仿真[2,3],然而ADAMS在一些功能上的不足使其难以独立完成更复杂更逼真的仿真工作,比如,其三维建模功能远不及以SolidWorks、UG、Pro/E等为代表专业CAD软件,因此,将三维CAD软件建立的实体模型导入ADAMS进行仿真的方法被应用[4],而其在控制系统搭建及仿真方面则不及MAT⁃LAB,因此,MATLAB与ADAMS联合仿真的方法[5,6]成为研究热点。为研究MATLAB在机械系统仿真方面的功能,一些研究者单独利用MAT⁃LAB集成的Simulink/SimMechanics仿真模块[7]或Robotics工具箱[8]进行机器人仿真,虚拟现实工具箱[9]的场景显示功能亦被应用,然而这些研究都未能构建高效逼真的运动仿真系统。另外,有些研究者致力于建立专业的机器人仿真系统,比如利用OpenGL三维图形库与VC++6.0联合开发仿真平台[10],基于微软的虚拟机器人开发平台Micro⁃softRoboticsStudio开发机器人运动仿真系统[11],显然这种方法比较适用于定制系统。本文旨在充分发挥MATLAB作为工程应用软件的强大功能,将MATLAB的数据处理、图形显示、控制仿真、虚拟场景显示等功能应用于六自由度机器人运动仿真中,摆脱ADAMS的介入,在MATLAB环境下建立高效运行且具有强大输入输出功能的仿真系统。1机器人三维实体模型的建立如今,不论是机械产品展示还是仿真系统显示,为实现逼真的三维可视化效果,利用专业CAD软件建立三维模型作为基础模型已是普遍应用的方法。本文研究的RBT-6T/S01S教学机器人具有6个自由度,所有关节均为转动关节,其运动简图如图1所示,利用SolidWorks分别建立机器人各构件的实体模型,装配模型如图2所示。图图11RBT-RBT-66T/ST/S0101SS机器人运动简图机器人运动简图2机器人运动仿真系统的建立MATLAB作为当今国际科学计算软件的代表,以其友好的工作平台和编程环境、简单易用的作者简介:陈爱波(1990-),男,硕士研究生,主要研究方向:机械结构优化设计及CAD/CAE技术。机电技术机电技术572014年12月机电技术机电技术图图22机器人装配体模型机器人装配体模型程序语言、强大的科学计算及数据处理能力、出色的图形处理功能、应用广泛的模块集和工具箱、实用的程序接口和发布平台、模块化的设计和系统级的仿真等优势而被工程界广泛应用[12],可以说,无论从事工程方面的哪个学科,都能在MATLAB中找到合适的功能。本文研究的利用MATLAB建立机器人运动仿真系统的方法主要包括以下几个方面。1)将之前SolidWorks建立的装配体模型另存为*.wrl格式的VRML文件,命名为rbt6.wrl。启动MATLAB自带的VRML编辑工具vrbuild2.exe,打开之前保存的rbt6.wrl文件,为了使各杆件保持实体模型中的配合并绕相应关节轴转动,必须对各杆件的转动中心center属性进行设置,将center坐标值设置为对应关节转轴的中心坐标。以上设置完成后,可修改一下虚拟场景的背景,然后选择比较理想的视角添加viewpoint,其他修改和设置项不在此赘述,可根据具体情况设置更加逼真的虚拟场景。完成必要的修改设置后如图3所示,然后保存文件。图图33V-RealmBuilderV-RealmBuilder22..00编辑的机器人虚拟现实模型编辑的机器人虚拟现实模型2)在MATLAB/Simulink环境下,利用SimMe⁃chanics模块集建立机械系统仿真模型。作为Simulink的子模块,SimMechanics很好地继承了其建模方便、仿真结果直观的特性,并且以物理结构建模的方式可以避免使用繁琐的运动学和动力学矩阵与方程,大大减少了工作量和出错率。另外机器人伺服系统响应的仿真和校调一般由Simulink进行,在同一平台进行仿真利于数据的接口通用[7]。图4所示为建立的SimMechanics仿真模型,该模型由以下模块构成:1个环境模块,1个接地模块,7个刚体模块(基座和六个连杆),6个转动关节模块,6个关节驱动模块,6个关节传感器模块,1个刚体传感器模块;另外,还有6个外部输入模块(各关节运动参数输入),8个外部输出模块(各关节运动参数输出及夹手参考点的运动轨迹和线速度)。所有模块均通过参数设置对话框进行相应设置,不在此详述。图图44基于基于Simulink/SimMechanicsSimulink/SimMechanics的机器人仿真模型的机器人仿真模型3)在建立上述仿真模型的Simulink环境中添加VirtualReality工具箱中的VRSink模块,双击打开该模块对话框,在Sourcefile选项框中浏览选择之前保存的rbt6.wrl文件,在右侧VRMLtree中,分别将机器人6个运动杆件的rotation属性打钩,即通过控制各关节转角来控制机器人运动,设置界面如图5所示。设置完成后,双击VRSink模块,将显示所建立的虚拟场景,如图6所示。图图55VRSinkVRSink模块参数设置模块参数设置582014年12月机电技术机电技术图图66虚拟现实仿真场景虚拟现实仿真场景4)框选图4所示的仿真模型,将该SimMe⁃chanics仿真模块封装为一个子系统,命名为“RBT-6TSim”,该子系统的输入和输出不变,外部输入量即为各关节的角位移、角速度、角加速度。需要说明的是,之前设定VRSink模块的输入为各连杆的rotation属性,该属性需要4个输入量,前3个输入量为旋转轴的的方向向量元素,构成一个常量矩阵,第4个输入量即为关节角位移。整个Simulink模型的外部输入信号与SimMechan⁃ics子系统的输入信号相同,为了得到VRSink模块的输入信号,需要进行信号提取和叠加,在此建立一个“SignalTransform”子系统,其输入信号即为整个模型的外部输入信号,输出信号分别作为SimMechanics子系统的输入信号和VRSink模块的输入信号,该子系统如图7所示。最后,连接相应数据接口,建立完整的仿真模型,如图8所示,保存该仿真模型并命名为simulation。图图77““SignalTransformSignalTransform””子系统子系统3MATLAB中的仿真运行及输出显示将建立的仿真模型用于机器人末端参考点轨迹规划的验证,由轨迹规划程序直接调用,模型的输入数据直接由程序提供,模型输出数据同时保存于程序中,所以可以在轨迹规划之后直接自动运行仿真模型显示机器人三维运动,接着对模型输出数据进行处理,输出各关节运动角度、角速图图88完整的仿真模型完整的仿真模型度、角加速度变化曲线及末端参考点仿真运动轨迹。仿真模型的调用语句如下:[tout,state,g1,g2,g3,g4,g5,g6,p,sv]=sim(′simulation′,mt,[],ut)其中,sim()为调用仿真模型的函数,调用名为sim⁃ulation的Simulink模型进行仿真;mt即为轨迹规划中所求的总运动时间,在此应作为仿真时间;[]表示仿真参数使用默认选项;ut为该模型的外部输入变量,即仿真时间t和各关节角度、角速度、角加速度;tout输出系统仿真时间,state输出模型中所有状态变量,这两个输出参数是sim()函数默认的输出量;另外8个输出变量即外部输出模块所输出的6个关节运动参数和夹手参考点的运动轨迹及线速度。以末端参考点圆弧运动的轨迹规划为例,图9-11所示即为仿真模型运行完成后直接输出的仿真结果,图12所示为虚拟场景中机器人按照规划的运动完成位姿变换的过程(实际为动画显示,在此只截取了关键时间点的位姿)。本文重点在于机器人仿真方法的研究,图9-12主要用于展示该仿真方法的输出效果,而有关轨迹规划的内容不在此论述。通过该仿真分析可以直观地验证轨迹规划的结果及程序的正确性。02468-50050100θ1θ2θ3θ4θ5θ6-@0LEF?8@- 4LV8@e0510-10-8-6-4-20246810θ1θ2θ3θ4θ5θ6-@0LEF?8@F- 4LV8@FeV02468-5-4-3-2-1012345θ1θ2θ3θ4θ5θ6-@0LEF?8@F- 4LV8@FeV2H图图99圆弧轨迹规划输出各关节运动参数仿真变化曲线圆弧轨迹规划输出各关节运动参数仿真变化曲线陈爱波等:基于MATLAB与SolidWorks的六自由度机器人联合建模仿真592014年12月机电技术机电技术参考文献:[1]夏发平.工业机器人运动学建模与仿真研究[D].武汉:华中科技大学,2007.[2]朱华炳,张娟,宋孝炳.基于ADAMS的工业机器人运动学分析和仿真[J].机械设计与制造,2013(5):204-207.[3]梁青,宋宪玺,周烽,等.基于ADAMS的双足机器人建模与仿真[J].计算机仿真,2010,27(5):162-165,238.[4]李团结,朱超.基于虚拟样机技术的球形机器人运动仿真研究[J].系统仿真学报,2006,18(4):1026-1029.[5]龚建球,刘守斌.基于ADAMS和Matlab的自平衡机器人仿真[J].机电工程,2008,25(2):8-10.[6]李滨城,杨丹,顾金凤.基于MATLAB和ADAMS的六自由度并联运动机床运动学仿真[J].组合机床与自动化加工技术,2009(11):28-31.[7]李万莉,陈熙巍,茹兰.基于SimMechanics的4自由度机器人的轨迹规划和仿真系统设计[J].中国工程机械学报,2008,6(2):144-148.[8]于天宇,李达,宋宝玉.基于MATLAB-Robotics工具箱的工业机器人轨迹规划及仿真研究[J].机械工程师,2011(7):81-83.[9]张立勋,张今瑜,王志超.基于Matlab的下肢康复机器人虚拟现实仿真研究[J].机电工程,2008,25(3):7-9.[10]甘志刚,肖南峰.仿人机器人三维实时仿真系统的研究与实现[J].系统仿真学报,2007,19(11):2444-2448,2518.[11]黄立,叶益斌,张辉

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功