第2章多体系统动力学基本理论本章主要介绍多体系统动力学的基本理论,包括多刚体系统动力学建模、多柔体系统动力学建模、多体系统动力学方程求解及多体系统动力学中的刚性(Stiff)问题。通过本章的学习可以对多体系统动力学的基本理论有较深入的了解,为具体软件的学习打下良好的理论基础。2.1多体系统动力学研究状况多体系统动力学的核心问题是建模和求解问题,其系统研究开始于20世纪60年代。从60年代到80年代,侧重于多刚体系统的研究,主要是研究多刚体系统的自动建模和数值求解;到了80年代中期,多刚体系统动力学的研究已经取得一系列成果,尤其是建模理论趋于成熟,但更稳定、更有效的数值求解方法仍然是研究的热点;80年代之后,多体系统动力学的研究更偏重于多柔体系统动力学,这个领域也正式被称为计算多体系统动力学,它至今仍然是力学研究中最有活力的分支之一,但已经远远地超过一般力学的涵义。本节将叙述多体系统动力学发展的历史和目前国内外研究的现状。2.1.1多体系统动力学研究的发展机械系统动力学分析与仿真是随着计算机技术的发展而不断成熟的,多体系统动力学是其理论基础。计算机技术自其诞生以来,渗透到了科学计算和工程应用的几乎每一个领域。数值分析技术与传统力学的结合曾在结构力学领域取得了辉煌的成就,出现了以ANSYS、NASTRAN等为代表的应用极为广泛的结构有限元分析软件。计算机技术在机构的静力学分析、运动学分析、动力学分析以及控制系统分析上的应用,则在二十世纪八十年代形成了计算多体系统动力学,并产生了以ADAMS和DADS为代表的动力学分析软件。两者共同构成计算机辅助工程(CAE)技术的重要内容。多体系统是指由多个物体通过运动副连接的复杂机械系统。多体系统动力学的根本目的是应用计算机技术进行复杂机械系统的动力学分析与仿真。它是在经典力学基础上产生的新学科分支,在经典刚体系统动力学上的基础上,经历了多刚体系统动力学和计算多体系统动力学两个发展阶段,目前已趋于成熟。多刚体系统动力学是基于经典力学理论的,多体系统中最简单的情况——自由质点和一般简单的情况——少数多个刚体,是经典力学的研究内容。多刚体系统动力学就是为多个刚体组成的复杂系统的运动学和动力学分析建立适宜于计算机程序求解的数学模型,并寻求高效、稳定的数值求解方法。由经典力学逐步发展形成了多刚体系统动力学,在发展过程中形成了各具特色的多个流派。早在1687年,牛顿就建立起牛顿方程解决了质点的运动学和动力学问题;刚体的概念最早由欧拉于1775年提出,他采用反作用力的概念隔离刚体以描述铰链等约束,并建立了机械系统动力学分析及ADAMS应用经典力学中的牛顿-欧拉方程。1743年,达朗贝尔研究了约束刚体系统,区分了作用力和反作用力,达朗贝尔将约束反力称为“丢失力”,并形成了虚功原理的初步概念。1788年,拉格朗日发表了《分析力学》,系统地研究了约束机械系统,他系统地考虑了约束,并提出了广义坐标的概念,利用变分原理考虑系统的动能和势能,得出第二类拉格朗日方程——最少数量坐标的二阶常微分方程(ODE);并利用约束方程与牛顿定律得出带拉格朗日乘子的第一类拉格朗日方程——最大数量坐标的微分代数方程(DAE)。虚功形式的动力学普遍方程尚不能解决具有非完整约束的机械系统问题,1908年若丹给出了若丹原理——虚功率形式的动力学普遍方程,利用若丹原理可以方便地讨论碰撞问题和非完整系统的动力学问题。对于由多个刚体组成的复杂系统,理论上可以采用经典力学的方法,即以牛顿-欧拉方法为代表的矢量力学方法和以拉格朗日方程为代表的分析力学方法。这种方法对于单刚体或者少数几个刚体组成的系统是可行的,但随着刚体数目的增加,方程复杂度成倍增长,寻求其解析解往往是不可能的。后来由于计算机数值计算方法的出现,使得面向具体问题的程序数值方法成为求解复杂问题的一条可行道路,即针对具体的多刚体问题列出其数学方程,再编制数值计算程序进行求解。对于每一个具体的问题都要编制相应的程序进行求解,虽然可以得到合理的结果,但是这个过程长期的重复是让人不可忍受的,于是寻求一种适合计算机操作的程式化的建模和求解方法变得迫切需要了。在这个时候,也就是20世纪60年代初期,在航天领域和机械领域,分别展开了对于多刚体系统动力学的研究,并且形成了不同派别的研究方法。最具代表性的几种方法是罗伯森-维滕堡(Roberson-Wittenburg)方法、凯恩(Kane)方法、旋量方法和变分方法。罗伯森与维滕堡于1966年提出一种分析多刚体系统的普遍性方法,简称为R/W方法,这种方法的主要特点是利用图论的概念及数学工具描述多刚体系统的结构,以邻接刚体之间的相对位移作为广义坐标,导出适合于任意多刚体系统的普遍形式动力学方程,并利用增广体概念对方程的系数矩阵作出物理解释。R/W方法以十分优美的风格处理了树结构多刚体系统,对于非树系统,通过铰切割或刚体分割方法将非树系统转变成树系统进行处理。凯恩方法是在1965年左右形成的分析复杂系统的一种方法,其利用广义速率代替广义坐标描述系统的运动,直接利用达朗伯原理建立动力学方程,并将矢量形式的力与达朗伯惯性力直接向特定的基矢量方向投影以消除理想约束力,兼有矢量力学和分析力学的特点,既适用完整系统,也适用于非完整系统。旋量方法是一种特殊的矢量力学方法(或牛顿-欧拉方法,简称为N/E方法),其特点是将矢量与矢量矩合为一体,采用旋量的概念,利用对偶数作为数学工具,使N/E方程具有极其简明的表达形式,在开链和闭链空间机构的运动学和动力学分析得到广泛运用。变分方法是不同于矢量力学或分析力学的另一类分析方法,高斯最小拘束原理是变分方法的基本原理,保保夫和里洛夫从这一原理出发发展了两种不同风格的计算方法。该方法有利于结合控制系统的优化进行综合分析,而且由于其不受铰的约束数目的影响,适用于带多个闭环的复杂系统。这几种方法构成了早期多刚体系统动力学的主要内容,借助计算机数值分析技术,可以解决由多个物体组成的复杂机械系统动力学分析问题。但是多体系统动力学在建模与求第2章多体系统动力学基本理论3解方面的自动化程度,相对于结构有限元分析的成熟来说相差甚远。正是为了解决多体系统动力学建模与求解的自动化问题,美国Chace和Haug于80年代提出了适宜于计算机自动建模与求解的多刚体系统笛卡尔建模方法,这种方法不同于以罗伯森-维滕堡方法为代表的拉格朗日方法,它是为以系统中每个物体为单元,建立固结在刚体上的坐标系,刚体的位置相对于一个公共参考基进行定义,其位置坐标统一为刚体坐标系基点的笛卡尔坐标与坐标系的方位坐标,再根据铰约束和动力学原理建立系统的数学模型进行求解。20世纪80年代,Haug等人确立了“计算多体系统动力学”这门新的学科,多体系统动力学的研究重点由多刚体系统走向侧重多柔体系统,柔性多体系统动力学成为计算多体系统动力学的重要内容。柔性多体系统动力学在20世纪70年代逐渐引起人们的注意,一些系统如高速车辆、机器人、航天器、高速机构、精密机械等其中柔性体的变形对系统的动力学行为产生很大影响。二十多年来柔性多体系统动力学一直是研究热点,这期间产生了许多新的概念和方法,有浮动标架法、运动-弹性动力学方法、有限段方法以及最新提出的绝对节点坐标法等,其中浮动标架法最早是在航天领域研究中提出来的。计算多体系统动力学是指用计算机数值手段来研究复杂机械系统的静力学分析、运动学分析、动力学分析以及控制系统分析的理论和方法。相比于多刚体系统,对于柔性体和多体与控制混合问题的考虑是其重要特征。其具体任务为:1.建立复杂机械系统运动学和动力学程式化的数学模型,开发实现这个数学模型的软件系统,用户只需输入描述系统的最基本数据,借助计算机就能自动进行程式化处理。2.开发和实现有效的处理数学模型的计算方法与数值积分方法,自动得到运动学规律和动力学响应。3.实现有效的数据后处理,采用动画显示、图表或其他方式提供数据处理结果。计算多体系统动力学的产生极大地改变了传统机构动力学分析的面貌,使工程师从传统的手工计算中解放了出来,只需根据实际情况建立合适的模型,就可由计算机自动求解,并可提供丰富的结果分析和利用手段;对于原来不可能求解或求解极为困难的大型复杂问题,现可利用计算机的强大计算功能顺利求解;而且现在的动力学分析软件提供了与其它工程辅助设计或分析软件的强大接口功能,它与其它工程辅助设计和分析软件一起提供了完整的计算机辅助工程(CAE)技术。2.1.2多体系统动力学研究活动自20世纪60年代以来,国内外在多体系统动力学方面多次召开了深具意义的会议。国际范围内的会议主要有:1977年国际理论和应用力学学会(InternationalUnionofTheoreticalandAppliedMechanics-IUTAM)发起在德国慕尼黑由Magnus主持召开第一次多刚体系统动力学讨论会。1983年北大西洋公约组织与美国国家科学基金委等(NATO-NSF-ARD)联合组织在美国爱阿华由Haug主持召开“机械系统动力学计算机辅助分析与优化高级研讨会”。1985年第八届国际车辆动力学协会(InternationalAssociationofVehicleSystem机械系统动力学分析及ADAMS应用Dynamics-IAVSD)会议,Kortum和Schiehlen发表了用于车辆动力学仿真的多体软件。1985年IUTAM与国际机器及机构理论联合会(IFTOMM)联合在意大利Udine由Bianchi和Schiehlen主持举行了第二届国际多体系统动力学讨论会,这次会议总结了该领域的进展,标志多刚体系统动力学已趋于成熟。1989年由德国斯图加特大学主持对当时比较先进的大型软件进行测试,编辑出版了“多体系统手册”;以后几乎每年都有国际的多体系统动力学的会议,并出现了多体系统动力学的专门的刊物。在国内召开的关于多体系统动力学方面的重要会议主要有:1986年由中国力学学会一般力学专业委员会在北京主持召开“多刚体系统动力学”研讨会。1988年在长春召开“柔性多体系统动力学研讨会”。1992年在上海召开“全国多体系统动力学—理论、计算方法与应用学术会议”。1996年由中国力学学会一般力学专业委员会与中国空间学会空间机械委员会联合在山东长岛召开“全国多体系统动力学与控制学术会议”。除了国内外重要的会议之外,国内外还出版了多种关于多体系统动力学的优秀教材或专著。国外的优秀教材和专著主要有:1977年,Witenburg出版了“DynamicsofSystemsofRigidBodies”,这是第一本关于多体系统的教材,其奠定了多刚体系统动力学拉朗日方法的基础,并将图论方法引入到多体系统动力学中。1986年,Schiehlen出版了“TechnischeDynamik”(德语),其将多体系统作为与有限元系统及连续系统相当的系统来统一考虑。1988年,Nikravesh出版了“Computer-AidedAnalysisofMechanicalSystems”。1988年,Roberson和Schwertassek出版了“DynamicsofMultibodySystem”。1989年,Haug出版了“Computer-AidedKinematicsandDynamicsofMechanicalSystems”,提出了多刚体系统建模的笛卡尔方法。1989年,Shabana出版了“DynamicsofMultibodySystems”,这是一本关于多柔体动力学的专著。1990年,Huston出版了“MultibodyDynamics”,其讨论了多体系统动力学、数值方法以及柔性多体系统动力学。1992年,Bremer和Pfeiffer出版了“ElastischeMehrkorpersystem”(德语),其主要讨论了柔性体,并给出了诸多工程实例。1992年,Amirouche出版了“ComputationalMethodsforMultibodyDynamics”,重点讨论了矩阵方法。