Adams串联六轴机器人动力学仿真详细流程
1.所有导入、保存的文件路径必须是全英文;2.快捷键:英文输入法下Z、T、R分别表示缩放、平移和旋转。
一、本文介绍
本文以六自由度工业机器人为例,介绍利用ADAMS软件进行串联机器人运动学仿真的具体步骤
软件版本:adams2020
ADAMS模型导入,振动分析,以及MATLAB/SImulink联合仿真 流程笔记 - 哔哩哔哩
二、具体步骤
写在前面
1.所有导入、保存的文件路径必须是全英文;
2.快捷键:英文输入法下Z、T、R分别表示缩放、平移和旋转
仿真1:样条曲线输入动力学仿真
步骤一:物体设置Bodies
1.首先将在三维建模软件(如SolidWorks、Proe等)中建立好的机器人三维模型,另存为.x_t格式,并导入ADAMS软件。关节分别右键重命名为B0,L1,L2,L3,L4,L5,L6,设置材料为steel或aluminum

装配体按模型名称和部件名称导入的区别:
模型名称Model:按照装配零件个数导入,装配体7个零件,导入就是七个零件;
部件名称Part:将所有零件都汇总在同一个文件夹下,末端执行器可以按这个方式导入;

| 材料 | 中文 |
|
|
铝 黄铜 碳纤维 0-90 环氧树脂复合材料 碳纤维预浸料 铸铁 铜 玻璃 玻璃纤维塑料 铅 镁 金属线缆 镍 橡胶带 不锈钢 钢 钛 钨 木材 |
加工路径

2.设置-工作格栅——设置定位(pick)-拾取B0中心点;设置方向-XZ方向

步骤二:连接设置Connection
1.本例中涉及6个转动关节,ABB IRB 6700-200 DH参数如图,根据机器人DH参数设置坐标。

关节旋转轴信息:
- 世界坐标系:J1 (z)、J2 (y)、J3 (y)、J4 (x)、J5 (y)、J6 (x)
- 关节局部坐标系:J2-J6 均绕 z 轴(J1 默认局部 z 轴对应世界 z 轴)

这里的C1~C3表示沿x,y,z平移距离;A1~A3表示绕x,y,z旋转,是弧度制。如:A1=3.1415926536 表示绕x转180°,A2=1.5707963268 表示绕y转90°。设置完可以测量一下末端坐标 [ 1.6625, 0, 2.105 ] 验证正运动学。
图标太小可以放大,【设置属性】选择运动副,下面的下拉列表选【图标比例】,输入2。
关节1-6参数:






步骤三:驱动设置Motions
在实际建模中,位移驱动 + STEP 函数 是最常用的组合,尤其适合运动学仿真;若需分析驱动力矩,则可在运动学仿真后切换为“力驱动”进行逆动力学分析。
步骤四:力设置Forces
一般只设置重力,如果需要引入柔性,可以设置弹簧扭矩。ADAMS 中 “刚性运动驱动” 和 “柔性力矩驱动” 的核心区别:
| 驱动类型 | 旋转副位移驱动 | 柔性力矩驱动 |
|---|---|---|
| 核心逻辑 | 直接强制关节按角度 - 时间曲线运动,是位置约束 | 通过力矩 “推动” 关节跟踪目标角度,是力控制 |
| 输入数据类型 | 角度 - 时间样条 | 力矩 - 角度样条(或力矩 - 时间样条,需建立角度→力矩映射) |
| 适用场景 | 刚性关节模型,无需考虑弹性变形 | 柔性关节模型,弹簧阻尼可生效 |
如果是刚性关节,按照前面添加【连接】里的转动副;
如果是柔性关节,需要先设置扭转弹簧阻尼器,再设置力矩驱动。关节1-6扭转弹簧阻尼器坐标设置同上;添加【力】里的力矩,构建方式默认[垂直于格栅],也就是绕z轴的单向力矩,可应用于关节1,但不适用于其他关节,所以关节2构建方式选[选取特征],靠近标记点Marker的位置选择z方向。

实验采集的只能设置有时间-角度

430*(CUBSPL(time,0,Joint1,0)*(pi/180) - AZ(MARKER_4, MARKER_1)) + 110*(D(CUBSPL(time,0,Joint1,0)*(pi/180), time) - WZ(MARKER_4, MARKER_1))
步骤五:单元设置Elements
将 MATLAB 或实验采集的通过逆运动学求解的各关节角度值表,将其导出并保存为.txt或.csv格式,然后将其导入到 ADAMS 中生成样条曲线,最后在各个驱动上添加相应的驱动函数。
注意:独立的列索引填1,表示第1列作为x输入,剩下的列作为y输入;如果填2,表示第2列作为x输入,剩下的列作为y输入。

驱动函数设置:
图中第3步下拉列表选样条,第5步点击辅助后“第一自变量”填time,样条函数名称选对应关节,点“确定”或“应用”(只点其中一个!不然会重复出现两个样条函数!)在Function Builder里显示的函数后再手动输入*(pi/180),因为默认adams单位是弧度,导入的表格单位是角度,需要转换。
-CUBSPL(time,0,Joint1, 0)*(pi/180)

步骤六:测量设置Measure


-
动力学仿真中常用的物理量术语说明:
| 连杆参数L_1~L_6 | 关节参数JOINT1~JOINT6 |
|
|
步骤七:后置处理器PostProcesser
在【文件名称】输入文件要保存的路径、文件名、文件格式;在【绘图】中选择要导出的曲线图

仿真2:matlab与adams联合仿真
介绍ADAMS与Matlab的联合仿真功能,通过MatlabSimulink向ADAMS中的机器人模型输入控制参数(抛光力、下压量与主轴转速,期望轨迹),在ADAMS中实现仿真功能,并将ADAMS仿真结果数据(末端三向的振动值)输出到Matlab中。
步骤1:adams设置
打开需要进行仿真的ADAMS模型,本文使用的是六自由度工业机器人模型,建模过程可参考前文,在上一文中我们直接在ADAMS中给出了机器人的末端轨迹,在这里我们只在ADAMS中建立机器人的运动学关系,轨迹参数由MATLAB中输入。
在ADAMS中建立变量,用于与MATLAB进行数据交互;建立传感器:并非真的传感器,而是根据传感器的测量原理,利用相关函数测量坐标系之间的关系实现对真实传感器的模拟。
系统单元:建立机器人末端轨迹的3个控制参数变量,Force(抛光力),Press(下压量)和SpindleSpeed(主轴转速);数据单元:轨迹规划对应的关节运动角度直接导入实验采集的值。作为MATLAB向ADAMS的驱动值;
建立末端振动数据变量,End_x,End_y,End_z作为ADAMS向MATLAB的数据反馈值;

步骤2:matlab设置
打开MATLAB,在MATLAB中输入工程目录下生成的文件的文件名如Control_Plant_3,回车MATLAB如下,然后输入adams_sys回车,打开如下的一个窗口
没做出来。。。。
参考:
文件说明
文件1:
| 列 | 1 | 2-4 | 5-8 | 9-14 | 15 | 16 | 17 |
| 含义 | 时间戳 |
末端坐标 X 、Y、Z |
四元数 Q1 ~ Q4 |
六轴角度 θ1 ~ θ6 |
L:压缩量 |
F:抛光力 | 标识位 |

时间戳说明:
1.常见时间戳:在线时间类型转换
2.这里的时间戳:.NET DateTime.Ticks格式
从时间戳的间隔来看,数据采样频率为10hz
文件2:
三、参考资料
1.ADAMS串联机器人仿真与轨迹规划【附源文件】_adams机械臂轨迹规划-CSDN博客
2.ADAMS 机械臂抓取物体动力学分析仿真实例_哔哩哔哩_bilibili
3.https://blog.csdn.net/doudou2weiwei/article/details/141060100
4.
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)