连杆驱动是ug12.0推出的新功能,使用该功能可以对连杆的6自由度进行控制,使连杆的原点到达空间的任意位置(使用连杆驱动的3个平移设置项),使连杆在空间拥有任意姿态(使用连杆驱动提供的3个旋转设置项),这样就可以通过一个连杆驱动完成对连杆6自由度的控制。
在连杆驱动这个功能出现之前,要实现同样的功能需要使用3个柱面副去合成,公众号之前有一篇文章,用3个柱面副合成一个连杆副,文章中的案例就是使用连杆驱动的3个平移设置项,控制连杆原点,在绘图区绘制多段曲线轨迹。
实际使用时,连杆驱动存在一些bug,并不能完全自由的控制连杆的6个自由度,本案例将使用连杆驱动和3个合成柱面副分别去控制两个连杆的6个自由度,通过运动仿真,分析两者的差异,给出连杆驱动的bug所在。
仿真思路和步骤安排如下:
创建两个连杆模型,一个用连杆驱动控制,另一个用3个柱面副控制; 仿真时,两模型使用相同的驱动函数,运动动作安排如下:
沿x轴往复一次; 沿y轴往复一次; 沿z轴往复一次; 绕x轴往复转动180°; 绕z轴往复转动180°; 绕y轴往复转动180°。
根据动作安排,在Excel表中列出仿真数据,并使用Excel函数合并出step驱动函数; 创建连杆; 创建运动副; 添加驱动; 给出解算方案,求解; 查看动画进行分析。
在ZC平面草绘图1所示的两个连杆模型,左侧为一个点,右侧为点的6自由度简图。对草图投影,按自由度图示表示的方法,编辑部分曲线的线型和颜色,如图2所示。
图1 草绘两个连杆模型
图2 两个连杆模型的投影曲线
为了仿真时便于观察连杆的运动情况,在上述模型的基础上,再绘制一个正方形草图,并投影,如图3所示。
图3 添加仿真时便于观察的辅助曲线
根据上述步骤2的动作安排,在Excel中规划各个动作的时间,步数和step函数,如图3所示。
图4 Excel表格中规划仿真所需的数据和step函数
创建连杆,左侧模型的点+正方形为1个连杆;右侧模型的x轴两曲线(1个连杆),y轴两曲线(1个连杆),z轴的点、圆和方+正方形(1个连杆),为3个连杆,共计创建4个连杆。
创建运动副,右侧模型的x向连杆与大地组成x向柱面副(x向连杆为主动连杆),y向连杆与x向连杆组成y向柱面副(y向连杆为主动连杆),z向连杆与y向连杆组成z向柱面副(z向连杆为主动连杆)。
添加驱动,对左侧点连杆使用连杆驱动,右侧点连杆则使用运动副驱动,对两侧的连杆创建并使用同一组驱动函数。
将Excel表格中给出的step函数,粘贴至对应的所创建的函数编辑器中。
给出解算方案,时间为12s,步数为288,重力方向为-ZC。
求解时,解算进度会在88%处终止,并弹出Simcenter Motion求解器锁定的警告弹窗,关掉弹窗和进度信息窗口,查看动画。
可以发现,两个点连杆沿x,y和z轴的移动没有问题,绕x和z轴的旋转也没有问题,但在绕y轴旋转时,只能转到90°,即解算器在进行到88%处终止。
将连杆驱动停用,重新求解,解算器完全通过,查看动画可以发现右侧连杆能完全按规划动作进行仿真运动。
图5所示为两点连杆使用同一组驱动函数的仿真对比图,图示左侧点连杆为连杆驱动,右侧自由度图示表示的点连杆为3个柱面副控制。
PS:图5的动图是分为两次截图制作而成。
图5 连杆驱动与3柱面副驱动对比图
总结:
连杆驱动如果只是沿x,y和z的平移驱动,求解器正常通过,包含绕y轴旋转驱动时,旋转角度大于90°就会报错,从而无法完成解算。
在1942的版本上我也试过连杆驱动,同样存在相同的问题,个人觉得应该是连杆驱动存在的bug,如果仅使用平移选项卡,用连杆驱动没问题,若控制连杆的6个自由度,则考虑用3个柱面副替代的方案,避免在解算出错时,造成不必要的困惑。
LinkDriver.rar
(265 Bytes, 下载次数: 14)
|