机器人的动力学仿真软件有很多,在之前的文章中【Robot-走近机器人动力学建模与仿真】也有详细的分类介绍,在众多的机器人仿真软件中,Adams 是科学研究中关于动力学仿真求解最稳定的。这主要是由于adams 具有强大的动力学微分仿真求解器.本文旨在详细介绍adams在机器人研发领域内的应用。
1 动力学系统与求解
动力学系统一般设计到力、位置、速度和加速度,一般系统的动态过程可以由微分方程式表示
对于上述微分方程的求解问题,一般是属于动力学仿真的内核算法。微分仿真的求解是决定一个软件稳健性和口碑的关键。一般可以分为单步求解方法和多步求解方法。单步求解方法需要固定的步长,比如四阶龙格库塔方法,该算法在求解的过程中,每一步需要多次进行方程右边表达式的计算。但是在单步求解方案中,步长越小求解器越稳定且结果越精确,但是步长越小,计算量越大,导致计算负载增大。对于多步积分算法,其不需要在同一个周期内多次计算方程右边的表达式,其需要借助前K次求解结果启动算法。典型的算法包括Adams算法以及BDF算法。
adams 是美国MDI公司开发的著名虚拟样机分析软件。目前已经被大家在各行各业中广泛使用。其主要有UNIX版本和Windows版本,目前被大家熟知的是windows 版本。刚性多体系统的分析一般是运动学和自由空间动力学的分析,而目前市面上关于多刚体的运动学和动力学分析的开源代码库也较多,而Adams这类优秀的虚拟样机分析软件除了可以进行运动学和动力学分析之外,还包含了其他重要的模块:
(1)几何形体的计算机辅助设计技术
(2)有限元分析技术
(3)软件编程实现力和运动的模拟
(4)构件建模
(5)控制系统设计与分析
(6)优化分析
2 多体系统动力学
多体系统动力学某种程度上只是单体系统动力学的延申。简单的单体系统动力学可以采用牛顿-欧拉方给出力-加速度,力矩-转动角加速度之间的关系。而当系统的刚体数增加到一定数目后,牛顿-欧拉方程虽然仍可以求解其动力学,但是各个刚体之间的转动以及约束需要事先按照一定的规则定义,才能将相关力和加速度的信息带入到牛顿-欧拉方程中。多体系统的动力学需要涉及到各个刚体的连体坐标系、质心位置、转动惯量以及连杆矢量等动力学参数。动力学根据研究问题的角度可以分为动力学正问题、动力学逆问题以及动力学混合问题
动力学正问题 | 已知关节驱动力和力矩,求解关节运动状况 |
---|---|
动力学逆问题 | 已知关节运动状况,求解关节驱动力和力矩 |
动力学混合问题 | 已知部分关节运动状况和部分驱动力和力矩,求解未知运动和力 |
对于实际的实验系统,例如汽车或者机器人,外部或者电机给与其激励,系统开始运动,此时根据特定的要求,汽车完成前进或者转弯动作。而对于实际系统的仿真,需要事先将系统抽象为多体系统的力学模型(三要素):物体、约束和力。再根据多体系统动力学建模原理,建立其相应的多体系统数学模型(不同算法建模过程不尽相同,但是最终结果一致),再根据相应的数值方法进行仿真分析。
需要指出的是,仿真虽然是在实际的物体基础上抽象出的数学模型,但是仿真的结果和过程需要贴近实际的物理过程,否则仿真没有意义。纯粹数学的仿真对于实际的指导作用较小。仿真旨在提高实物的设计与控制水平。
3.adams软件介绍
基本设置
adams 的界面菜单主要包括了物体-连接-驱动-力-单元-设计探索等部分。篇幅有限,关于adams基本设置的详细介绍可以参见超链接。软件包括三个最基本的模块,即adams/view, adams/solver, adams/postprocessor.
adams 仿真主要分为4步
- 模型创建
- 测试与验证模型
- 细化模型与迭代
- 优化设计
adams中典型的几个驱动关节如下所示
adams还可以建立柔性体进行刚柔耦合动力学仿真。
在 Flexible Body Name 栏中输入要创建的柔性体名称。 在 MNF 可选项中,可输入 MNF 或 MD DB 文件名。Damping Ratio栏中可设置阻尼比:1%为频率小于 100的模态衰减;10%为频率在 100~1000 之间的模态衰减;100%为频率大于 1000 的模态衰减。
Generalized Damping 设置使用阻尼衰减类型,方向可选择 Orientation(相对全局坐标系)、Along Axis、In Plane。FEM Translate 适用于使用 MSC Nastran 软件的用户.
模型导入
通过 Adams/Exchange 模块,用户可以将所有来源于产品数据交换库的标准格式表示的机构部件或系统的几何外形进行数据导入,从而实现 Adams 与 CATIA、IDEAS、UG、Pro/E、MDT、Inventor、Solidworks、Solidedge 等 CAD 软件之间的标准通用接口。标准格式包括 IGES、STEP、DWG、DXF 及 Parasolid 等,数据传入 Adams 软件时,能够保持该模型原有的精度。也可以通过 Adams_CAD_Tranlators 模块,直接导入和导出 CAD 几何模型原始文件(需要单独的 license),不需要通过中立格式文件,可直接读取 CAD 装配体文件到 Adams 中并生成运动部件,可以精确地定义系统几何模型。
Import | Export |
---|---|
CATIA V4 | CATIA V4 |
CATIA V5 | CATIA V5 |
IGES | IGES |
Inventor | Inventor |
ACIS | ACIS |
Parasolid | Parasolid |
Pro/E | |
SolidWorks | |
STEP | STEP |
Unigraphics | |
VDAFS | VDAFS |
数值积分
adams中的刚性数值积分器主要有: GSTIFF,WSTIFF和DBF三种。三种数值积分器的计算效率和稳定性也有一定的差异。
计算稳定性 | GSTIFF < WSTIFF < DBF |
---|---|
计算效率 | GSTIFF > WSTIFF > DBF |
从上可以看出,数值积分器的计算稳定性和计算效率是矛盾的,计算效率高的GSTIFF积分器,相对来说其稳定性也是三种中最差的。系统默认的积分器是GSTIFF,当在系统默认求解器求解失败后,可以采用其他两种数值积分器进行仿真求解。
adams中的数值积分格式主要有三种,I3,SI2,SI1, 三种积分格式的具体对比如下表所示
I3 | SI2 | SI1 | |
---|---|---|---|
精度 | 位置精度高 | 位置、速度、加速度精度高 | 位置、速度、加速度、拉氏乘子精度高 |
稳定性 | 一般 | 好 | 好 |
求解速度 | 快速 | 一般 | 一般 |
高频问题 | 适合中低频 | 适合高频 | 适合高频 |
实际的数值积分器以及积分格式的选择需要根据具体的问题具体对待,没有统一的配置。一般的问题采用Adams默认设置即可以。
具体设置:
settings=>solver=>Dynamics=>integrator=>Gstiff
4. 仿真实例
4.1 机械手抓取仿真,机械手由两个电机驱动,电机带动三个手指实现开合等动作。由于三只手的特殊设计,其既可以抓取大负载的物体,也可以抓取小物件,自适应抓取能力较强。
4.2 机械臂轴插孔实验
4.3 机械系统仿真
4.4 上下楼梯机器人仿真
4.5 并联机器人仿真