本篇文字主要分析一下切线的运动仿真问题,模型简图如图1所示。直线段AB与一个任意连续曲线L相切于点O,当切点O在曲线L上匀速滑动时,直线段AB在任意时刻均与曲线L相切。
图1 切线运动的草图模型
在UG软件里面,我们可以通过参数动画,运动仿真,或者两者结合的方式实现上述运动,本篇仅限于纯运动仿真模块,且O点为匀速运动的情况进行分析。
方案1:选取切线AB和切点O作为连杆,用点在线上副约束切点O在曲线L上,线在线上副约束切线AB与曲线L相切,给点在线上副添加驱动,给出解算方案,求解。
在10.0的运动仿真模块下,求解后会报错,如图2所示。
在12.0的运动仿真模块下,可正常求解,仿真动画如图3所示。
图2 10.0运动模块下,RecurDyn求解器报错对话框
图3 12.0运动模块下,Simcenter Motion求解器求解仿真动画
由此可以看出,10.0默认是采用RecurDyn求解器进行求解,求解会出错,而12.0默认采用Simcenter Motion求解器求解,求解能通过,但仿真结果不对,即线在线上副没有起作用。
小结:方案1不可行。
方案2:选取切点O为连杆1,切线AB为连杆2,用点在线上副约束切点O在曲线L上,线在线上副约束切线AB与曲线L相切,给点在线上副添加驱动,将连杆1和连杆2用固定副连接,给出解算方案,求解。
在10.0的运动仿真模块下,求解后会报错,如图4所示。
在12.0的运动仿真模块下,求解正常,仿真动画如图5所示。但是如果曲线L存在凹段,求解时,切线AB的切点在拐点附近时刻会报错,如图6所示。
图4 10.0运动模块下,RecurDyn求解器报错对话框
图5 12.0运动模块下,Simcenter Motion求解器求解仿真动画
图6 存在拐点的曲线求解时在拐点附近会报错
由此可以看出,10.0采用RecurDyn求解器求解会出错,而12.0采用Simcenter Motion求解器求解能正常通过,但曲线不能存在拐点,否则会在拐点处报错。
小结:方案2在Simcenter求解器下求解可行,但曲线不能存在拐点。
方案3:在切线上添加一个辅助点O‘,并建立表达式L,使得L=OO',即通过表达式L控制切线上这两点的距离(使L趋近于0)。选取切线AB,切点O和辅助点O‘作为连杆1,分别用点在线上副约束切点O和辅助点O‘在曲线L上,给任意一个点在线上约束添加驱动,给出解算方案,求解。仿真结果如图7所示。
图7 添加辅助点方案的切线仿真动画
该方案在RecurDyn和Simcenter Motion求解器上均能正常求解,得到的仿真结果可以理解为数值解,表达式L的值越小,数值解就越接近理论值。
小结:方案3可行。
总结: 方案1,点在线上副和线在线上副均施加在同一连杆上,但在RecurDyn和Simcenter Motion求解器中均不能正常求解。
方案2,将点在线上副,和线在线上副施加在不同连杆上,通过固定副将两个连杆组合成一个整体,RecurDyn求解器不可解,Simcenter Motion求解器可解,但要求连续曲线不能有拐点。
方案3,添加辅助点,采用极限的思想,得到数值解,具有通用性,其数值解与理论解的误差可以很小。
PS:除了以上的方案,如果有朋友还有其它方案可以实现可以留言交流。
|