为了验证公司设计工具的正确性,搭建了Adams 仿真模型,由于数据保密问题,数据将不对外公开,仅记录搭建步骤和流程,作为个人整理笔记,也欢迎业界人士指导交流(涉及内部数据、工具等内容不在交流范围)。
本次仿真的目的是通过模型质量特性的指定、运动曲线的赋予、需求规格参数的设定,来得到模型关节1-关节6的静态重力、负载惯量、RV面的静态弯矩、关节轴线的静态扭矩;动态向心力、动态离心力、动态弯矩、动态扭矩,以结合本体的传动件作为CAE校核 的参考数据,是前期设计中的理论分析重要的环节。
额外透露一下,设计工具叫做LCE ,在定型设计中起到了很大的作用,一方面确实加快了设计进程,一个月就可以造一个新产品;另一方面里面的计算原理比较简单,只是校核方式以及处理手段等我还没有搞清楚,这也是此次建模Adams进行反向闭环验证的原因。
同时,既然从工具的原理根源去研究,还是希望能够从更细致和更源头的东西去推理工具的成型、科学性和延展性。
(1)坐标系
(2)工作栅格
(3)单位
(4)重力(因为坐标系设置为x朝右,z朝上,y向内,所以重力方向为Z朝下)
关键位置点是方便后续的参数化设计,将几个关节中心位置点、RV减速器上表面中心位置点都用关键点先标出来
此处操作有个小注意点:点击“点表格”后,在弹出的对话框点击右下角的“创建”可以创建新的空白行;如果要继续新建,需要选中末行或者想要插入一行的上一行的Point那个单元格,然后再点击创建,如果鼠标未选中单元格而直接创建。默认将重新创建数据。
要删除某一个点,需要在界面的左侧的模型树里,找到点所在位置(比如我的附着在地面上),然后右键选择删除点,点表格中对应的点即可删除。
标记点可用于表示部件的局部坐标系,方便后续建模
按照机器人的组成部分,依次建立基座、腰关节、大臂、小臂、手腕、法兰等,建立过程中注意用点坐标来规定长度、位置等,后续将依据点坐标进行参数化。
工业机器人都是转动关节,除了底座与地面固定外,其余关节均为转动副。
将添加运动副的模型先跑一遍仿真,看看运动逻辑是否正确(此时模型乱动是正常的,但是关节间的相对运动是合理的)
为了不重复性工作,此处将腰关节设置运动曲线,其余关节的驱动设置为速度为0,以便分析单轴运动的正确性。
到这里,模型就建立完事了,接下来开始设置。
双击模型,修改质量方式为用户输入,并且填入质量和转动惯量。
双击构件的cm,填入构件的质心及相对坐标系,并确认质心坐标系的方向
再次进行仿真,设置步长和仿真时间。
待仿真结束后,对刚刚设置的腰关节的motion、joint分别右键——测量——质点角速度——z方向,然后观察运动曲线是否和设定的运动曲线一致。
设定运动曲线的查看步骤如下:双击motion——函数...——绘图,观察两个曲线是否相同(关于x轴对称是因为旋转方向相反)
此处需要注意STEP函数的用法:
STEP( x , x0 , h0 , x1 , h1 )
是指x变量为x0~x1时,自变量从h0变化到h1.
例如我写的这个
STEP(time,0,0,0.88,140d)+STEP(time,0.88,0d,1.08,0d)+STEP(time,1.08,0d,1.5,-140d)
是指时间从0-0.88s时,关节角速度从0变为140deg/sec;当时间从0.88-1.08时,关节角速度保持140deg/sec不变;当时间从1.08-1.5时,关节角速度从140deg/sec变为0deg/sec。
注意STEP函数相加时,数值是相对前一个STEP函数变化的。
当校核了所旋转关节的运动曲线后,需要随机选择某个其他部件,校核其运动曲线是否合理。因为本例是只有腰关节旋转,因此任意构件相对于腰关节旋转中心的角速度都是相同的。
验证后发现整个模型的运动曲线是一致的,说明模型运动逻辑正确,可以进行后续的分析。
在工业机器人的计算中,负载惯量的计算十分关键。根据静态的状态即可计算各轴的负载惯量。
在最大负载偏置的状态下,工业机器人各轴的转动惯量生成如下:
(1)工具——合计质量
(2)在弹出的对话框中,选择——腰关节及其之后的所有构件全部选择——旋转中心的坐标系选择
(3)点击应用,得到这些部件的总质量和惯性张量。
(4)将相应姿态下的数值进行对比,结果误差非常小。
机器人关节处的扭矩通过关节处的驱动来测量,由于是静态扭矩,则令所有驱动的速度为0,则保持当前状态的力矩即为静态扭矩。
设定Motion的初始速度和角度,如腰关节的运动设置如下:
将所有运动关节的Motion修改好之后,开始仿真,得到运动结果
进入后处理状态
在后处理界面中,先修改排布格式为三栏式,左侧放置仿真动画,右侧放置曲线图
在得到的三栏中,选择左侧,右键加载仿真动画,其余两栏右键选择加载曲线。
鼠标选中右上方的框图后,然后在下面的框选栏里依次选择各个关节的对象——Constraint——Motion——Element Torque——Mag——加载曲线
然后通过图像工具对曲线适当处理或者读取,选择需要的数据进行读取
将依次得到的静态力矩与LCE中的数据对比后,验证结果。
关节处的静态弯矩主要是测量底座与地面的接触面、各关节连接的界面处由重力引起的弯矩,此处需要测量关节添加运动副的受力问题,因为运动副提供的固定支反力及力矩,因此测量运动副可得到静态弯矩。
测量步骤同上,不再赘述。
考虑动态力时,需要去掉重力场,只考虑运动引起的惯性力、离心力的情况,因此将Gravity置为0
将腰与基座的运动设置如下,以恒定加速度运动
其余关节的速度仍保持为零,将仿真时间设置为0.88,仿真后得到结果曲线:
此处需要明确,动态力是怎么计算的。
比如6轴运动,对6轴本身有力和力矩的作用,但同时,对前面的1-5轴同时也会有力的作用。这时,我们的计算规定为:
当第i轴运动时,i轴及i之前的所有组件为一个整体,i轴之后运动的部分为一个整体,动态力分析的是运动部分对前面整体的受力情况,并以关节i轴处作为受力汇总点,分为惯性力和离心力。每一个轴单独运动时,都将在该轴处产生相应的惯性力和离心力。
此时分两种情况考虑:
第一种情况,运动部分为多个轴串联,那么在运动轴处受到惯性力和离心力外,其余轴在没有电机保持力矩下如何受力?比如五轴绕手腕旋转,那么6轴关节如何受力?
第二种情况,整体部分分为多个轴串联,那么运动轴处受到惯性力和离心力时,其余轴在没有电机保持力矩下如何受力?比如五轴绕手腕旋转,那么1、2、3、4轴关节如何受力?
我用Adams计算实际分析一下
5轴分析发现,5轴在运动的时候,6轴、法兰末端都存在力,且力的大小为该轴及之后所有组件的质量与角加速度、质心的力公式关系;而1-4轴的力均为5轴同等大小的力。
因此可以得出结论,在各轴单独运动时,固定不动的各轴所受力与运动轴的所受力等同,而运动轴所连的其他轴的受力与该轴之后的质量特性及运动轴的运动参数有关。
在分析力矩时,仍然限定计算条件为各轴单独运动时关节处所受的最大力矩。
与受力情况类似,此时仍要考虑两种情况:
5轴单独运动时,施加在6轴上的动态力矩、施加在1-4轴上的动态力矩?
同样用Adams进行仿真
结果发现,5轴运动时,5轴本身扭矩为73Nm,3轴扭矩为267.74 Nm,2轴扭矩为452.59 Nm;而1轴为4.4,4轴为0.0020963,6轴为0.0008475.
以6轴为例分析原理:当6轴运动时,法兰提供了力矩和加速度,从而带动法兰及负载转动,此时法兰和负载在力矩的作用下产生了旋转运动,由该运动可分析出法兰和负载上所产生的向心力和离心力。那么向心力和离心力乘以各自的力臂所得的结果就是产生运动所需的矩。
因此用前面得到的6轴运动产生的向心力和离心力进行回算得到6轴的动态力矩。
在工业机器人中有一个“机械分析”的工作范畴,包括了机构分析、动力学分析、结构分析三大主要部分,其中机构分析主要是研究工作空间与可达性;灵巧度、奇异与耦合;速度与静力(矩)。机械臂的动力学分析主要是为电机、减速机选型校核服务。机械臂的结构有限元主要是关键零部件的刚强度校核和整机的振动模态分析等。
本次仿真的终究目的是选型校核服务。
首先,要谈到惯量匹配 这个词:Load to Motor Inertia Match”,是在最大化负载加速度条件下的惯量比,参考下面答主的文章。
惯量匹配原则是指,齿轮传动减速比等于sqrt(负载惯量/电机转子惯量)
也就是说,折算到电机轴上的负载转动惯量等于电机本身的转动惯量,即惯量比为1:1。
在满足减速器允许输入转速、电机自身最大转速和电机成本的条件下,应选择尽可能大的减速比以提高负载响应。
然后,是电机和减速器的扭矩、转速是否合理的判断。
后续有Adams的参数化和脚本封装,并用MATLAB Appdesigner做了新的校核工具,只需填写需求即可输出结果,不再展出。
本文终结。