adams采用2 bodies-2 location方式添加铰链,无任何外力,如下图所示。为何移动连杆质心marker点的位置,运动仿真会出现角度变化?这个角度如何计算得出即如何预判?

模型验证一跑,五六个冗余约束方程弹出来,JOINT_4旋转副沿Xg和Yg的平移被重复约束,同轴两个旋转副就是这么来的,一个轴两端各加一个revolute,约束数比自由度多了好几倍,锁死。
自由度算一下,两个刚体12个自由度,一根轴两端各一个旋转副各限制5个,固定副限制6个,算下来总自由度是负的,ADAMS自己能识别并禁用一部分冗余约束,但被禁用的那个自由度上的约束力就不输出了。几个解决办法,两个旋转副改成一个revolute加一个cylindrical,或者用基本副组合,inline加orient,前者管轴线对齐后者管方向,两个基本副各管各的不重叠。同轴只用一个铰链就够,跟实际装两个轴承不一样,仿真里刚性约束加两个没有意义。
模型验证是排错第一步,Tools→Model Verify,跑完列出欠约束还是过约束,过约束的具体是哪几个方程、哪个JOINT、哪个方向,JOINT_4沿Xg平移,JOINT_4沿Yg平移,这种信息直接告诉你哪个自由度被重复限制了。GSTIFF积分器跑出来加速度和约束力25次迭代都不收敛到1e-4的容差,或者msg文件里出现`There are 6 redundant constraint equations`,都是过约束的表现。
旋转副方向的问题另说,Direction默认垂直于工作格栅,不在当前平面的轴线上就加错了,而且旋转副有主从关系,First Body绕着Second Body转,顺序反了旋转方向跟着反,驱动加上去就往反方向跑。
Part参数改了之后旋转副和marker点消失,2020版本有过这个现象,先加约束再改连杆参数就会触发,把连杆删掉重建,先改完参数再加旋转副和力,marker点就稳住了。
约束添加顺序在有过约束的模型里影响大,Adams自动去除冗余约束时不知道用户想要哪个约束力,先加齿轮副把铰接占住再加其他约束,能避免齿轮副定义时报错。但最好的办法还是人为控制,关键位置直接用基本副,不让Adams的自动机制介入,这样既保证精度又能拿到全部约束力。
D:\adams\joint_debug\里存一个对比cmd,同轴两个revolute的版本和revolute加cylindrical的版本,跑完看msg里冗余数从6降到0,约束力输出对齐一下差异,下一步试一下基本副组合inline加orient,看跟cylindrical方案结果差多少,如果……
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删