《基于MSCAdams的肌肉驱动可视化模型设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于MSCAdams的肌肉驱动可视化模型设计与实现.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第 17卷 第 3期2008年 9月计 算 机 辅 助 工 程Computer Aided EngineeringVo.l 17No.3Sept.2008文章编号:1006-0871(2008)03-0004-04基于 MSC Ada ms的肌肉驱动可视化模型设计与实现任振国,?秦现生,?应申舜(西北工业大学 机电学院,西安?710072)摘?要:根据肌肉驱动机理提出 1种简单高效的仿生机器人驱动技术,基于 H ill力学模型,参考CHENG等建立的?虚拟肌肉?,设计 1种在计算机环境下可视化的肌肉驱动模型.该模型应用 MSCAdams的二次开发技术完成肌肉建模插件的开发;解决宏命令调用、参数
2、传递、命名、动态显示、输出控制以及 Si mulink与 MSC Ada m s联合仿真等问题;具有肌肉力学特征和三维可视化显示功能,可接受 Matlab/Si mulink控制系统联合控制,可耦合 MSC Adams骨架机构进行多体动力学仿真,有助于在计算机环境下进行肌肉驱动机器人、仿生装置的设计和仿真.关键词:肌肉驱动可视化;联合仿真;MSC Adams;M atlab中图分类号:TP242;TB17;O311.7?文献标志码:ADesign and i mple mentation onmuscle-drivenvisualizationmodel based onMSC AdamsRE
3、N Zhenguo,Q I N Xiansheng,YING Shenshun(SchoolofM echatronics,Northwestern PolytechnicalUniv.,X i?an 710072,China)Abstract:To propose a si mple and efficient bio-robo-t driven technology according tomuscle-driven theo-ry,amuscle-driven modelwhich can be visualized in computer environ m ent is design
4、ed based on H illmechanicsmodel and the?virtualmuscle?established by CHENG.In the mode,l the muscle modelingplug-in is developed using the secondary developing technique ofMSC Adams;the problems such as in-vokingMacro command,passing para m eter,na m ing,dyna m ic display,output control,l and the un
5、itedsi mulation of Si mulink andMSC Adams are solved.The model has the characteristics of muscularm e-chanics and the function of 3D visualization,can be controlled byM atlab/Si mulink and i mple mentmult-ibody dyna m ics si mulation coupledw ith skeletonm echanics ofMSC Adams,and is beneficial to t
6、he designand si mulation on muscle-driven robot and bionic equipment under computer environ m en.tKey words:muscle-driven visualization;united si mulation;MSC Adams;Matlab收稿日期:2007-11-28?修回日期:2008-02-02基金项目:国家自然科学基金(50775186)作者简介:任振国(1981?),男,陕西旬邑人,硕士研究生,研究方向为机械电子工程,(E-ma il)pcc11051059 ;秦现生(1962?),
7、男,河北邯郸人,教授,博导,博士,研究方向为机械电子工程,(E-mail)xsqin 0?引?言近年来,驱动技术成为仿生机器人发展的瓶颈.传统的电机加中间传动装置的驱动方式太过笨重且不能达到要求,仿生机器人要取得生物系统的优秀性能,亟须能量密度高、爆发力大的柔性驱动单元.国内外很多科研机构积极开展新型驱动材料的研究 1,各种人工肌肉被提出,典型的有形状记忆合金(ShapeM emory Alloy,S MA)肌肉、聚合物肌肉和气 动 人 工 肌 肉(Pneumatic Muscle Actuators,PMA).但到目前为止,还没有 1种能够达到骨骼肌的生物力学特性.另外,一些学者和软件公司在
8、计算机上建立骨骼肌模型,进而构建肌肉驱动的仿生机器人,从需求上对人工肌肉的材料性能提出要求.如CHENG等 2建立的?虚拟肌肉?,能够反映肌肉?腱单元在真实生理学条件下复杂的力学特性,可用于运动控制仿真,但该模型的可视化功能较差.BRG公司开发的人体数据建模软件 L ife ModTM 3,能生成三维几何形状动态变化的肌肉模型,结合骨架模型,完成仿生机器人多体动力学的研究.但是,这种模型计算肌肉力的方法基于多体动力学,缺乏肌肉的生理学特性.像这样的模型还很多,大都针对人体运动控制、虚拟现实等应用领域,完全针对仿生驱动设计的肌肉模型还鲜有研究.本文提出 1种同时具有生物力学特性和三维几何形状动态
9、显示功能的肌肉模型,并应用多体动力学分析软件 MSC Adams完成肌肉模型的开发.1?肌肉模型设计1.1?肌肉力计算及控制肌肉力学模型的研究大多以诺贝尔奖获得者H ILL在 1930年提出的 H ill三元素模型为基础.4该模型包括 CE,SE和 PE 3个元素,其中 SE和 PE代表包括肌腱和非活性的肌肉纤维在内的柔性连接组织,肌肉和韧带作为稳定的元素附着于关节两端,通过肌肉运动、主动肌和拮抗肌协同控制关节力矩,其中 CE的力FCE=fFV(VCE)?fFL(LCE)?FM0?a(t)(1)式中:fFV为力?速度关系函数;fFL为力?长度关系函数;a(t)为活化函数;VCE为肌肉收缩速度;
10、LCE为CE的长度;FM0为肌肉的最大应力.fFV和 fFL在解剖学中已有确定的函数表示,a(t)与神经控制传导参数即肌肉的激励函数 u(t)的关系为dadt=u(t)?rise-?c+(1+?c)u(t)?risea(t)(2)式中:?c为肌肉到达最大收缩速度的上升与回落时间的比例因数,即?c=?rise?fall.对于 1个给定的动作过程,如果获得激励函数 u(t),就可以利用 H ill模型计算各时段肌肉活动情况的肌力和肌肉力矩.对于人工肌肉,通过控制激励函数参数 u(t)就可以实现对肌肉力的控制.CHENG等 2在肌肉经典生物力学和形态测量学的基础上建立肌肉?腱的计算模型,在 Si m
11、ulink中开发出定制的肌肉模块.该方法求解方便,能实现肌肉力控制.所以,参考该方法在 Si mulink中开发肌肉力的计算模块.1.2?肌肉模型组成元素把参与类肌肉驱动的力学方程、几何图形和类神经控制在 1个三维模型中并可视化地表达出来.如图 1所示,肌肉模型包括的 5种元素在 MSCAdam s中分别用 single_component_ force,ellipsoid,spring_damper,marker和 request表示.此外,创建group把以上元素都包含进去.group可以将多个元素组成 1个组,对他们同时进行移动、复制等其他操作.图 1?肌肉建模示意图1.3?M SC A
12、da m s二次开发技术采用 MSC Adams作为开发平台是因其:(1)在刚柔混合多体动力学研究中被广泛使用;(2)可运行在包括兼容 PC,苹果机和各种基于 UNIX的系统上;(3)single_component_force和 spring_damper等元素有利于肌肉力学和几何特性的模拟;(4)能与很多主流大型商业软件交互,如可先在 UG中建立仿生装置,再导入 MSC Adams中与肌肉模型集成;或者在 M atlab中完成控制系统的开发,输出控制指令到肌肉模型.MSC Adams的开发方式之一是直接通过 View菜单添加自定义的菜单、对话框、自定义函数等,以适应特殊要求.该方法成本投入
13、和工作量少,被普遍使用.基于 H ill力学模型,利用 MSC Ada m s二次开发技术完成肌肉建模插件的开发.该插件包含 3个文件:入口文件 build_muscle,用于读入对话框和宏,并创建菜单;对话框文件 dbox_muscle,用于参数的录入;宏命令文件 mac_muscle,用于读取参数和创建肌肉几何模型.3个文件后缀名均为 c md,可用写字板编辑.应用时,Import入口文件 build_muscle,生成用户定制菜单 muscle,点击 muscle将弹出对话框,录入参数后,点击确定,系统调用宏创建肌肉模型.5第 3期任振国,等:基于 MSC Ada m s的肌肉驱动可视化
14、模型设计与实现2?肌肉模型实现2.1?宏命令调用宏命令是 1组创建肌肉模型的命令集,包括创建系统变量、生成肌肉力、生成可视化几何模型和控制输出等.创建宏命令的方法 5很多,调用宏命令方法相对单一,但容易出错.如在 build_muscle.cmd中,用户输入命令将?user_entered_command?定义为?constructmymuscle?,则在 dbox_muscle.cmd中,执行命令的字段?dexecution _ commands?应声明为?constructmy muscle?,而非宏名字?m ac_ muscle?.2.2?参数传递用户在对话框中输入数据,调用宏命令完成创
15、建几何体和控制输出等操作,因此要在对话框和宏命令之间用参数传递数据和对象.如创建肌肉模型要选择不同的 part作为肌肉附着点(见图 2).图 2?定制对话框?要实现上述功能,先设计图形用户界面;接着在宏中创建参数.本文采用在宏命令文件中创建参数的方式,程序简洁、易于维护.程序变量可为表示长度的数据或表示 part和 maker的对象,如!USER_ENTERED_COMMAND muscle create!$data1:t=part!$data2:t=real?!end_of_para meters!以上代码在宏命令文件?mac_muscle.cmd?中定义参数.要实现数据的传递,还须在对话框
16、文件中建立参数与对话框可编辑控件之间的联系,即interface dialog_box create&dialog_box_name=.gu.i construct_my_mus&?execution_co mmands=constructmy muscle&,&?data1=$f_data1&,&?data2=$f_data2&以上代码中,$f_data*为各编辑框(field)名称,data*为参数名.2.3?命名问题在仿生机器人虚拟样机中,往往需要多肌群协同作用.每个肌肉都有不同的名字,肌肉模型还包含各种元素,若命名不当,则会发生冲突,影响肌肉模型的创建.在宏命令文件中加入如下代码:va
17、r cre var=ipp int=1while?con=(eval(DB_EX ISTS($length.mark_/ipp)varmod var=ipp6 int=(eval(ipp+1)通过这种方式可以避免重复命名,因此用同样的方法实现肌肉模型中其他元素的命名.2.4?三维几何形状的动态显示肌肉模型的三维几何形状根据张力大小动态变化,使得肌肉模型具有良好的可视化效果.该形状由长度和直径两个参数决定.肌肉长度由 MSC Adams的建模函数 DM 确定,用来求两个 maker之间的距离.用 DM求出在对话框中指定的两端点距离作为肌肉几何显示的长度.在肌肉收缩过程中,肌肉力大小动态变化,肌肉
18、模型三维几何形状的横截面积也相应动态变化,代表与肌肉张力大小的对应关系.为实现上述功能,采用肌肉等容伸缩原理 6,根据肌肉伸缩过程长度的变化动态计算出肌肉横截面积,并记录到数据存储单元中.在运动仿真时,数据读取1次,图形就显示 1帧,连接起来就是完整的肌肉收缩动画.图 3为单个肌肉驱动下铰链连杆机构中肌肉在 4个不同收缩时刻的几何变化效果.(a)(b)(c)(d)图 3?肌肉三维几何模型动态变化效果2.5?Si mulink/M SC Ada m s联合仿真肌肉力的计算和控制在 Si mulink中完成,具有力学 特性和三 维几何形状 的肌肉 模型在 MSCAdam s 中与骨架机构完成多体动
19、力学耦合.在肌肉模型和 M atlab控制软件之间建立接口,使肌肉力大小随时受控制系统控制;同时,MSC Ada m s中肌肉驱动仿生装置的位置、速度和加速度等信息可随时反馈到控制系统,实现仿生装置闭环控制.这样,仿生装置的肌肉驱动控制系统与 MSC Adams多体动力学分析系统可进行联合仿真.以下为肌肉驱动控6计?算?机?辅?助?工?程?2008年?制的接口设计步骤:(1)建立由本文开发的肌肉模型驱动仿生装置虚拟样机(单肌肉驱动铰链连杆机构见图 3);(2)创建肌肉力和肌肉收缩长度的系统变量,每个肌肉单元对应 1组输入输出变量;(3)点击 MSC Adams/Controls Plant E
20、xport菜单,定义肌肉力作为输入、连杆转速作为输出,生成 MSC Adams模型文件;(4)构造仿生装置多输入多输出 Si mulink控制系统,控制系统文件(*.mdl)和 MSC Adams模型文件(*.cmd)都应位于工作目录下;(5)采用幅值为 10的正弦信号作为肌肉力控制系统输入信号,积分器选择 ode15,动画模式选择 interaction.点击控制系统文件(*.mdl)的运行按钮,进行 Si mulink/MSC Ada m s联合实时动态仿真.2.6?输出控制仿真过程中用户可得到肌肉张力和伸缩长度等动态特性变化曲线,随时了解肌肉模型动态信息.该曲线通过两种方式 7输出:(1
21、)利用 Si mulink/MSCAdam s接口,在 Si mulink中用 scope 显示;(2)在MSC Ada m s中用 Request形式存储,在后处理模块PostProcessing中显示和编辑.理论上两种方式得到的结果一致.以图 3为例,图 4(a)和(b)分别表示肌肉力大小和连杆角速度,由 Si mulink/Scope输出得到.(a)(b)图 4?Si m ulink/Scope输出的肌肉力和连杆转角?图 5是肌肉收缩长度,由 MSC Adams/Request控制输出.肌肉力和连杆转角被确定为控制系统的输入输出变量,由第 2.5节第(3)步定义,用方式(1)输出较方便,
22、其他的采用方式(2).图 5?M SC Adam s/Request测得的肌肉长度3?结?论肌肉驱动的可视化模型研究在国内外并不多见,应用 MSC Adams开发该肌肉模型涉及到很多技术细节,本文围绕肌肉驱动可视化模型设计和实现,解决宏调用、参数传递、命名、动态显示、Si mulink/MSC Ada m s联合仿真和输出控制等问题.设计并实现的肌肉模型具有肌肉力学特征和三维可视化显示功能,可接受 M atlab/Si mulink控制系统联合控制,可耦合 MSC Ada m s骨架机构进行多体动力学仿真,有助于计算机环境下肌肉驱动机器人、仿生装置的设计和仿真.参考文献:1?王炜.基于生物肌肉
23、的仿生驱动装置研究 D.西安:西北工业大学,2004.2?CHENG E J,BROWN IE,LOEB G E.V irtualmuscle:a computational approach to understanding the effects ofmuscle properties on motor con-trol J.J Neuroscience M ethods,2000,101(2):117-130.3?Biomechanics Research G roup.L ife M od manualK/OL.2005.http:/.4?冯元桢.生物力学 M.北京:科学出版社,1983.5?李增刚.Adams入门详解与实例 M.北京:国防工业出版社,2006.6?左力,李锦涛.用于实时变形的解剖学人体肌肉建模 J.系统仿真学报,2003,15(7):934-938.7?邓志党.机械系统动力学分析及 A dams应用教程 M.北京:清华大学出版社,2005.(编辑?于?杰)7第 3期任振国,等:基于 MSC Ada m s的肌肉驱动可视化模型设计与实现