机电系统联合仿真与集成优化案例解析
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.3 机器人柔性臂分析实例

3.3.1 问题定义

在空间开发中,为了降低航天飞行的发射成本,通常选用轻质材料造机器人操作臂,这种操作臂不同于刚性很大的机器人操作臂,在作业过程中将不可避免地产生柔性变形,例如,建造宇宙空间站和抓取卫星的操作臂,一般具有手臂长、负载大等特点,其结构(其中主要是臂杆)带有柔性。操作臂的柔性将引起弹性振动,振动对末端夹持器的性能产生不利的影响,使空间机器人的运动精度受到限制。

在自动化生产中,为了提高生产效率,大量使用轻质的机器人机械臂,这些机械臂的使用大大提高了操作速度,但同时由于构件的柔性,使机构发生弹性变形并引起振动,因此,必须尽可能准确地分析机器人在高速运行情况下的动力学特性,从而有效地抑制振动、提高其精度。

末端安装了远中心柔顺(Remote Center Compliance,RCC)装置的机械手能够维持适当的方位,从而解决机械手在黑板上写字之类的问题。通过应用具有低的横向及旋转刚度的抓取机构,能使轴孔装配的作业易于实现,研究这种机构也需要考虑构件的柔性。

因此,考虑臂杆柔性的机器人动力学问题的研究是非常必要和重要的。柔性机器人的研究始于20世纪70年代末,现在被认为是机器人学五大专题之一。

考虑空间两柔性构件组成的机械臂系统的动力学建模问题,如图3.2所示。

图3.2 假设模态法动力学模型

假设操作臂为均匀细长杆,其截面尺寸远小于其长度,只考虑水平面内弹性变形的影响,不考虑重力。已知臂长分别为l1l2,柔性构件线密度为ρ1ρ2,关节处的驱动力矩为τ1τ2τ1z轴方向,τ2y轴方向。

双连杆柔性机械臂数值仿真的有关参数如下:两柔性杆均为匀质杆,横截面积为圆形,半径r1=r2=1.0mm,杆长分别为l1=l2=2.0m,材料选为钢,选择弹性模量E=207GPa,泊松比μ=0.29,密度ρ=7801kg/m3,关节作用力矩τ1=τ2=0.02N·m。

3.3.2 建立有限元模型

在ANSYS中有结构分析、热分析等,这里只用其结构分析,因而将ANSYS设置为“结构分析”。ANSYS中的中性文件名默认与工程名相同,因此,生成中性文件时要注意对应于相应的构件。最后,ANSYS采用默认的国际单位(千克、米、秒)制,ADAMS默认长度单位是毫米,所以必须统一单位,否则将出现不可预知的错误。

在ANSYS软件中,需要定义单元类型,确定界面形状和参数,材料属性(包括弹性模量和泊松比等),然后划分单元,生成有限元模型。

1)定义单元类型(Element Type)

选用的单元类型是三节点三维等截面梁BEAM189,如图3.3所示,每个梁单元由IJK三个节点组成。BEAM189是三维二次(三节点)梁单元,每个节点有6个或7个自由度,自由度个数取决于KEYOPT(1)的值。KEYOPT(1)=0(默认)时,每个节点有6个自由度,即节点坐标系的xyz方向的平动和绕xyz轴的转动。KEYOPT(1)=1时,每个节点有7个自由度,这时引入了第7个自由度(横截面的翘曲)。

在相同的划分条件下,BEAM189的精度高于另两种三维梁单元BEAM4和BEAM188,接近于SOLID45。而且BEAM189具有操作简单、定位精确等优点。机器人动力学仿真中常用BEAM189,如图3.3所示。

图3.3 BEAM189单元示意图

2)定义材料属性(Material Properties)

材料属性主要包括杨氏弹性模量、密度和剪切弹性模量等。常用的材料如钢、铜、铝,这里选的是钢,弹性模量E=207MPa,密度ρ=7801kg/ 3m,泊松比μ=0.29,剪切弹性模量默认为E/2(1+μ。)

3)截面定义(Sections)

研究中经常用到圆形和方形,这里选用的是圆形,如图3.4所示设置截面。

图3.4 截面设置界面

4)创建实体模型(Modeling)

生成几何模型,在此用的是自底向上法创建实体模型,首先创建两个关键点来决定梁的几何位置。一般来说,BEAM189三节点二次梁单元还需要给出方向节点,生成梁单元中性层,通常,中性层垂直于两端点和定向节点所在的平面。由于ADAMS将利用ANSYS中的位置作为初始位置,故在ANSYS中应当设置好弹性构件的关键节点的具体位置,防止在ADAMS中进行动力学仿真时出错。

5)划分单元(Meshing)

在ANSYS中可以通过三种方式设置单元大小,分别是自适应网格划分、设定单元长度和设定单元数。自适应网格划分使用方便,由于这里的柔性构件模型较简单,只要保证单元长度适中,通常20~30 mm,就可以保证精度,单元数再多了,对精度提高不大,但计算速度会很慢。这里选用单元数来设定单元大小,2 m的柔性构件划分为8个单元。

3.3.3 ANSYS/ADAMS接口文件生成

在ADAMS/Flex模块中进行柔性体动力学分析,需要将柔性体有限元模型在ANSYS中进行特定的有限元分析后,将结果转换成模态中性文件(MNF),才能导入ADAMS中。模态中性文件是一个独立于操作平台的二进制文件,它包含下列信息:

● 模型的几何信息(节点位置及其连接);

● 模型节点质量和惯量;

● 模态;

● 模态质量和模态刚度。

生成模态中性文件时,需注意以下几点:

(1)用有限元模型生成模态中性文件时对节点数的数量是没有限制的,但它的多少会影响数据的存储空间大小。

(2)将一个柔性体引入ADAMS模型后,需要建立起它与模型中其他元件的关系,例如,施加约束或作用力。在ADAMS/Flex中,这些边界条件可以施加在界面点上。界面点是保留了6个自由度的单元节点,对应于每个自由度都有一个约束模态,即在该自由度上施加单位位移而其他界面点自由度位移均为零时物体的静态变形。

(3)在生成模态中性文件时,必须为有限元分析指定单位,这个单位将保存在模态中性文件中。有限元分析使用的单位不必与ADAMS仿真时使用的单位一致,只要在模态中性文件中设好了单位,ADAMS会正确进行转换。

ANSYS 5.3以上版本都提供了ADAMS宏命令,该命令可以自动计算出所需阶数的固定界面主模态和界面点的约束模态,并输出模态中性文件,其过程如下:

设置单位,从命令窗口中输入

        /units, <name>

其中,<name>可以是以下5种单位制中的一种,文中用的是国际单位制(SI)。

● SI——International system(m,kg,s,K);

● CGS——CGS system(cm,g,s,℃);

● MPA——MPA system(mm, mg, s, ℃);

● BFT——British system using feet(ft, slug, s, ℉);

● BIN——British system using inches(in, lbm, s,℉)。

建立界面节点选择集,一般使用NESL命令,如果是关键点,可以用KSEL和NSLK命令,文中界面节点取的是和大地(Ground)固接的左端点和关节处的关节点。

运行ADAMS宏命令,具体格式是ADAMS,nModes,kStress

nModes是要计算的固定界面的主模态数。

kStress是单元应力输出选项,为零(默认)时,不计算单元应力和应变,为1时,则要计算单元应力和应变等。这样,就可以生成模态中性(*.MNF)文件了。

也可以采取菜单操作,如图3.5所示,单击求解计算菜单中的导出至ADAMS子菜单,弹出界面点选择对话框,连续选中杆的左右端点处的两个节点作为界面点,确定后将弹出中性文件导出对话框,如图3.6所示。

其中System of Model Units项为单位设置栏,可以在下拉列表中选择,也可以自行定义,这里选择国际单位制,Eigenmodes确定选取模态的阶数,模态数越多,计算就越准确,但耗费的时间也越长。Element Results指定单元上是否包含应力等结果。Shell Element Results Output Control指定壳单元结果输出。在文件名一栏中指定输出的路径及文件名称,单击Solve and create export file to ADAMS后,开始计算,当计算结束后将生成*.mnf文件。

图3.5 中性文件导出菜单

图3.6 中性文件导出对话框

3.3.4 在ADAMS中读入模态中性文件

在ADAMS中读入模态中性文件,具体步骤是从Build主菜单的下拉菜单中选择Flexible Bodies,接着选择ADAMS/Flex,一个创建柔性体的对话框就会出现;在“Flexible Body Name”一栏中,输入要创建的柔性体的名字,在“Modal Neutral File Name”一栏中,输入要导入的模态中性文件名,也可以通过浏览找到需要的模态中性文件,将光标放在“Modal Neutral File Name”的文字输入框中按鼠标右键,从出现的下拉菜单中选择“Browse”,然后在“文件选择”对话窗中选择已经生成的模态中性文件,单击OK按钮即可;在“Damping Ratio”一栏中,输入要加在所有模态上的阻尼率,或选择默认值;最后,单击OK按钮,即可以在ADAMS中生成柔性体。由于在ANSYS中已经定义了柔性构件的起始、终止位置,通常不需要移动柔性体。因为在移动中,容易改变柔性体的属性,出现仿真错误。本例因为两杆相同,因此导入两次即可,导入第一杆时,置于原点,导入第二杆时置于第一杆右端点,即(2,0,0)处。

3.3.5 在ADAMS中建立Flex体模型

1)创建虚刚体

在ADAMS环境中的两个柔性构件没有任何关系,并且也没有和外界发生任何作用,必须运用ADAMS/View提供的运动副约束或柔性连接将它与其他零件连接起来,但是与ADAMS中Flex体发生联系必须通过建立虚刚体,因为诸如移动副或平面内运动虚约束这样的约束不能直接加在柔性体上,必须创建虚刚体将零件连接起来,然后将约束施加在虚刚体上,并且运动激励也不能直接加在柔性体上,也应该通过虚刚体。

虚刚体就是无质量的连接物体(或称作哑物体),是质量和惯性为零或非常微小的物体。它不是模型中的零件,但却可以间接地将物体连接起来。要建立一个无质量连接的物体,只需去掉物体的几何体即可,默认情况下ADAMS/View是根据物体的几何体确定其质量的。如果还想保留物体的几何体,可以修改该物体,将其质量和转动惯量设为零,具体为创建球形连接物体,进入物体修改Modify Rigid Body对话框,选择User Input,然后将Mass和Moments of inertia项改为零,最后确定即可。无质量连接物体不能为模型添加任何自由度,故必须与其他有质量物体固接在一起。

建立无质量连接物体的过程为:首先,在两个Flex体的节点1(NODE1)和节点2 (NODE2)创建标识(MARKER);然后,在这些MARKER上创建虚刚体;最后,分别用固定关节(Fixed Joint)连接Flex体和虚刚体。在ADAMS环境中建好的模型如图3.7所示。

图3.7 在ADAMS中的柔性体模型

2)创建关节与施加作用力

关节和电动机的创建应当注意,与关节连接的是虚刚体而不是Flex体,并将关节的中心定在更靠近基座的虚刚体的MARKER上。在ADAMS/View中的柔性体上施加作用力时,要保证只有当柔性体是主动物体时,能在其上施加力或力矩向量,如果柔性体是被动物体(被加载),也需要在柔性体上附加一个虚刚体。

3)设置仿真参数

在仿真中将分析类型设置为动力学分析,仿真时间设定为3 s,仿真步数为100步。

4)进行仿真分析

在时间为3 s时,两柔性构件的位置及变形如图3.8所示。

图3.8 柔性体仿真

3.3.6 后处理结果输出

在ADAMS中的后处理程序(Post Processor)中输出数据文件或表单。

利用ANSYS和ADAMS软件仿真此模型,得到第二构件末端的位移在x,y,z轴的投影随时间的变化曲线和另外一种分析方法李群李代数计算分析结果的对比。如图3.9、图3.10、图3.11所示。

图3.9 第二构件末端点x向位移随时间的变化

图3.10 第二构件末端点y向位移随时间的变化

图3.11 第二构件末端点z向位移随时间的变化

可见ANSYS/ADAMS软件联合仿真与李群李代数分析结果第二构件末端点x向位移变化趋势一致,随着时间的增加,位移越来越小,而且在起步阶段,位移变化很慢;第二构件末端点y向位移变化趋势基本一致,开始有抖动,出现位移正负变化现象,以后将随着时间的增加,y向位移将越来越大;第二构件末端点z向位移变化趋势也一致,只是由于z向位移的产生主要来源于第二构件关节处所受的关节力,故第二构件末端点z向位移变化较快,随着时间的增加,z向位移也增大。

3.3.7 简单误差分析

从图3.9~图3.11可以看出,第二构件末端点x,y,z向位移随时间变化趋势相同,但是两条曲线在同一时间,位移值有差异,对此进行简单误差分析。

1)柔性变形假设方式

ADAMS/Flex模块进行柔性构件动力学分析采用模态分析综合法,该方法采用模态向量及相应的模态坐标来描述在空间随时间变化的变形,uf=Φqη,式中Φ=[Φ1 Φ2 ... Φn]为模态向量矩阵,qη=q(ηt)为模态坐标,n为模态向量数,通常选取nNN为物体的自由度数,缺点是难以获得比较精确的模态参数。

2)微分方程组解法

柔性多体系统动力学方程组是非线性的、时变的、强耦合的微分方程组,求解这样的方程组,由于方法不同,结果也不完全相同。

ADAMS中采用ABAM(Adams-Bashforth and Adams-Moulton)积分程序,采用坐标分离算法,将微分方程减缩为独立广义坐标表示的纯微分方程,然后用ABAM程序进行数值积分,并用Gear预估-校正算法求解微分方程,根据当前时刻的系统状态向量值,用泰勒级数预估下一时刻的状态向量值。

另外,由ADAMS/Flex模块分析柔性体动力学的基本原理可知,柔性构件的任意一点的速度是由节点速度给出的,是一种近似计算。