基于MSC Adams的肌肉驱动可视化模型设计与实现

时间:2022-05-18 08:59:49

基于MSC Adams的肌肉驱动可视化模型设计与实现

摘 要:根据肌肉驱动机理提出1种简单高效的仿生机器人驱动技术,基于Hill力学模型,参考CHENG等建立的“虚拟肌肉”,设计1种在计算机环境下可视化的肌肉驱动模型. 该模型应用MSC Adams的二次开发技术完成肌肉建模插件的开发;解决宏命令调用、参数传递、命名、动态显示、输出控制以及Simulink与MSC Adams联合仿真等问题;具有肌肉力学特征和三维可视化显示功能,可接受Matlab/Simulink控制系统联合控制,可耦合MSC Adams骨架机构进行多体动力学仿真,有助于在计算机环境下进行肌肉驱动机器人、仿生装置的设计和仿真.

关键词:肌肉驱动可视化;联合仿真;MSC Adams;Matlab

中图分类号:TP242;TB17;O311.7 文献标志码:A

Design and implementation on muscle-driven visualization model based on MSC Adams

REN Zhenguo,QIN Xiansheng,YING Shenshun

(School of Mechatronics,Northwestern Polytechnical Univ.,Xi’an 710072,China)

Abstract:To propose a simple and efficient bio-robot-driven technology according to muscle-driven theory,a muscle-driven model which can be visualized in computer environment is designed based on Hill mechanics model and the “virtual muscle” established by CHENG. In the model,the muscle modeling plug-in is developed using the secondary developing technique of MSC Adams;the problems such as invoking Macro command,passing parameter,naming,dynamic display,output controll,and the united simulation of Simulink and MSC Adams are solved. The model has the characteristics of muscular mechanics and the function of 3D visualization,can be controlled by Matlab/Simulink and implement multi-body dynamics simulation coupled with skeleton mechanics of MSC Adams,and is beneficial to the design and simulation on muscle-driven robot and bionic equipment under computer environment.

Key words:muscle-driven visualization;united simulation;MSC Adams;Matlab

0 引 言

近年来,驱动技术成为仿生机器人发展的瓶颈.传统的电机加中间传动装置的驱动方式太过笨重且不能达到要求,仿生机器人要取得生物系统的优秀性能,亟须能量密度高、爆发力大的柔性驱动单元.国内外很多科研机构积极开展新型驱动材料的研究[1],各种人工肌肉被提出,典型的有形状记忆合金(Shape Memory Alloy,SMA)肌肉、聚合物肌肉和气动人工肌肉(Pneumatic Muscle Actuators,PMA).但到目前为止,还没有1种能够达到骨骼肌的生物力学特性.另外,一些学者和软件公司在计算机上建立骨骼肌模型,进而构建肌肉驱动的仿生机器人,从需求上对人工肌肉的材料性能提出要求.如CHENG等[2]建立的“虚拟肌肉”,能够反映肌肉―腱单元在真实生理学条件下复杂的力学特性,可用于运动控制仿真,但该模型的可视化功能较差.BRG公司开发的人体数据建模软件LifeModTM[3],能生成三维几何形状动态变化的肌肉模型,结合骨架模型,完成仿生机器人多体动力学的研究.但是,这种模型计算肌肉力的方法基于多体动力学,缺乏肌肉的生理学特性.像这样的模型还很多,大都针对人体运动控制、虚拟现实等应用领域,完全针对仿生驱动设计的肌肉模型还鲜有研究.本文提出1种同时具有生物力学特性和三维几何形状动态显示功能的肌肉模型,并应用多体动力学分析软件MSC Adams完成肌肉模型的开发.

1 肌肉模型设计

1.1 肌肉力计算及控制肌肉力学模型的研究大多以诺贝尔奖获得者HILL在1930年提出的Hill三元素模型为基础.[4]该模型包括CE,SE和PE 3个元素,其中SE和PE代表包括肌腱和非活性的肌肉纤维在内的柔性连接组织,肌肉和韧带作为稳定的元素附着于关节两端,通过肌肉运动、主动肌和拮抗肌协同控制关节力矩,其中CE的力

对于1个给定的动作过程,如果获得激励函数u(t),就可以利用Hill模型计算各时段肌肉活动情况的肌力和肌肉力矩.对于人工肌肉,通过控制激励函数参数u(t)就可以实现对肌肉力的控制.CHENG等[2]在肌肉经典生物力学和形态测量学的基础上建立肌肉―腱的计算模型,在Simulink中开发出定制的肌肉模块.该方法求解方便,能实现肌肉力控制.所以,参考该方法在Simulink中开发肌肉力的计算模块.

1.2 肌肉模型组成元素把参与类肌肉驱动的力学方程、几何图形和类神经控制在1个三维模型中并可视化地表达出来.如图1所示,肌肉模型包括的5种元素在MSC Adams中分别用single_component_force,ellipsoid,spring_damper,marker和request表示.此外,创建group把以上元素都包含进去.group可以将多个元素组成1个组,对他们同时进行移动、复制等其他操作.

1.3 MSC Adams二次开发技术采用MSC Adams作为开发平台是因其:(1)在刚柔混合多体动力学研究中被广泛使用;(2)可运行在包括兼容PC,苹果机和各种基于UNIX的系统上;(3)single_component_force和spring_damper等元素有利于肌肉力学和几何特性的模拟;(4)能与很多主流大型商业软件交互,如可先在UG中建立仿生装置,再导入MSC Adams中与肌肉模型集成;或者在Matlab中完成控制系统的开发,输出控制指令到肌肉模型.MSC Adams的开发方式之一是直接通过View菜单添加自定义的菜单、对话框、自定义函数等,以适应特殊要求.该方法成本投入和工作量少,被普遍使用.基于Hill力学模型,利用MSC Adams二次开发技术完成肌肉建模插件的开发.该插件包含3个文件:入口文件build_muscle,用于读入对话框和宏,并创建菜单;对话框文件dbox_muscle,用于参数的录入;宏命令文件mac_muscle,用于读取参数和创建肌肉几何模型.3个文件后缀名均为cmd,可用写字板编辑.应用时,Import入口文件build_muscle,生成用户定制菜单muscle,点击muscle将弹出对话框,录入参数后,点击确定,系统调用宏创建肌肉模型.

2 肌肉模型实现

2.1 宏命令调用宏命令是1组创建肌肉模型的命令集,包括创建系统变量、生成肌肉力、生成可视化几何模型和控制输出等.创建宏命令的方法[5]很多,调用宏命令方法相对单一,但容易出错.如在build_muscle.cmd中,用户输入命令将“user_entered_command”定义为“construct my muscle”,则在dbox_muscle.cmd中,执行命令的字段“dexecution_commands”应声明为“construct my muscle”,而非宏名字“mac_muscle”.

2.2 参数传递用户在对话框中输入数据,调用宏命令完成创建几何体和控制输出等操作,因此要在对话框和宏命令之间用参数传递数据和对象.如创建肌肉模型要选择不同的part作为肌肉附着点(见图2).

要实现上述功能,先设计图形用户界面;接着在宏中创建参数.本文采用在宏命令文件中创建参数的方式,程序简洁、易于维护.程序变量可为表示长度的数据或表示part和maker的对象,如!USER_ENTERED_COMMAND muscle create!$data1:t=part!$data2:t=real…!end_of_parameters!

以上代码在宏命令文件“mac_muscle.cmd”中定义参数.要实现数据的传递,还须在对话框文件中建立参数与对话框可编辑控件之间的联系,即interface dialog_box create &dialog_box_name = .gui.construct_my_mus & …execution_commands = "construct my muscle &",& " ` data1 = $f_data1` &",& … " ` data2 = $f_data2` " &

以上代码中,$f_data*为各编辑框(field)名称,data*为参数名.

2.3 命名问题在仿生机器人虚拟样机中,往往需要多肌群协同作用.每个肌肉都有不同的名字,肌肉模型还包含各种元素,若命名不当,则会发生冲突,影响肌肉模型的创建.在宏命令文件中加入如下代码: var cre var = ipp int=1while con=(eval(DB_EXISTS("$length.mark_"//ipp)))var mod var = ipp6 int=(eval(ipp+1))通过这种方式可以避免重复命名,因此用同样的方法实现肌肉模型中其他元素的命名.

2.4 三维几何形状的动态显示肌肉模型的三维几何形状根据张力大小动态变化,使得肌肉模型具有良好的可视化效果.该形状由长度和直径两个参数决定.肌肉长度由MSC Adams的建模函数DM确定,用来求两个maker之间的距离.用DM求出在对话框中指定的两端点距离作为肌肉几何显示的长度.在肌肉收缩过程中,肌肉力大小动态变化,肌肉模型三维几何形状的横截面积也相应动态变化,代表与肌肉张力大小的对应关系.为实现上述功能,采用肌肉等容伸缩原理[6],根据肌肉伸缩过程长度的变化动态计算出肌肉横截面积,并记录到数据存储单元中.在运动仿真时,数据读取1次,图形就显示1帧,连接起来就是完整的肌肉收缩动画.图3为单个肌肉驱动下铰链连杆机构中肌肉在4个不同收缩时刻的几何变化效果.

2.5 Simulink/MSC Adams联合仿真肌肉力的计算和控制在Simulink中完成,具有力学特性和三维几何形状的肌肉模型在MSC Adams中与骨架机构完成多体动力学耦合.在肌肉模型和Matlab控制软件之间建立接口,使肌肉力大小随时受控制系统控制;同时,MSC Adams中肌肉驱动仿生装置的位置、速度和加速度等信息可随时反馈到控制系统,实现仿生装置闭环控制.这样,仿生装置的肌肉驱动控制系统与MSC Adams多体动力学分析系统可进行联合仿真.以下为肌肉驱动控制的接口设计步骤:(1)建立由本文开发的肌肉模型驱动仿生装置虚拟样机(单肌肉驱动铰链连杆机构见图3);(2)创建肌肉力和肌肉收缩长度的系统变量,每个肌肉单元对应1组输入输出变量;(3)点击MSC Adams/Controls Plant Export菜单,定义肌肉力作为输入、连杆转速作为输出,生成MSC Adams模型文件;(4)构造仿生装置多输入多输出Simulink控制系统,控制系统文件(*.mdl)和MSC Adams模型文件(*.cmd)都应位于工作目录下;(5)采用幅值为10的正弦信号作为肌肉力控制系统输入信号,积分器选择ode15,动画模式选择interaction.点击控制系统文件(*.mdl)的运行按钮,进行Simulink/MSC Adams联合实时动态仿真.

2.6 输出控制仿真过程中用户可得到肌肉张力和伸缩长度等动态特性变化曲线,随时了解肌肉模型动态信息.该曲线通过两种方式[7]输出:(1)利用Simulink/MSC Adams接口,在Simulink中用scope显示;(2)在MSC Adams中用Request形式存储,在后处理模块PostProcessing中显示和编辑.理论上两种方式得到的结果一致.以图3为例,图4(a)和(b)分别表示肌肉力大小和连杆角速度,由Simulink/Scope输出得到.

图5是肌肉收缩长度,由MSC Adams/Request控制输出.肌肉力和连杆转角被确定为控制系统的输入输出变量,由第2.5节第(3)步定义,用方式(1)输出较方便,其他的采用方式(2).

3 结 论

肌肉驱动的可视化模型研究在国内外并不多见,应用MSC Adams开发该肌肉模型涉及到很多技术细节,本文围绕肌肉驱动可视化模型设计和实现,解决宏调用、参数传递、命名、动态显示、Simulink/MSC Adams联合仿真和输出控制等问题.设计并实现的肌肉模型具有肌肉力学特征和三维可视化显示功能,可接受Matlab/Simulink控制系统联合控制,可耦合MSC Adams骨架机构进行多体动力学仿真,有助于计算机环境下肌肉驱动机器人、仿生装置的设计和仿真.

参考文献:

[1]王炜. 基于生物肌肉的仿生驱动装置研究[D]. 西安:西北工业大学,2004.

[2]CHENG E J,BROWN I E,LOEB G E. Virtual muscle:a computational approach to understanding the effects of muscle properties on motor control[J]. J Neuroscience Methods,2000,101(2):117-130.

[3]Biomechanics Research Group. LifeMod manual[K/OL]. [2005]. http://.

[4]冯元桢. 生物力学[M]. 北京:科学出版社,1983.

[5]李增刚. Adams入门详解与实例[M].北京:国防工业出版社,2006.

[6]左力,李锦涛. 用于实时变形的解剖学人体肌肉建模[J]. 系统仿真学报,2003,15(7):934-938.

[7]邓志党. 机械系统动力学分析及Adams应用教程[M]. 北京:清华大学出版社,2005.

“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文”

上一篇:基于MSC Nastran/Patran的装船机金属结构有限... 下一篇:中国移动联姻浦发 仅为手机支付?