
ugnx运动仿真step、shf、poly函数详解及综合应用.doc
15页STEPSTEP 函数详解函数详解使用 UG 运动仿真模块的伙伴们都该知道编写运动仿真的函数式是个难点,也是重点,其中又以 STEP函数式使用最多,也是比较容易理解的一种运动函数今天在这里给大家简单分析讲解一下 那么首先要了解 STEP 函数的格式: STEPSTEP((x x,,x0x0,,h0h0,,x1x1,,h1h1))其上五个变量中,第一个(x)是横坐标定义;第二个(x0)是时间起点(就是说,你要他什么时候开始递加递减;) ;第四个(x1)是时间终点(你要他什么时候结束递加递减) ;第三个(h0)为递加递减数值的起点;第五个(h1)为相对于 0 点的递加递减数值,这个是你可以自行修改的 下面举个例子: STEP(x,3,0,6,100) ,意义:第一秒到第三秒,位移为 0,即物体静止;第三秒到第六秒,物体位移 100复杂 STEP 函数式又分为嵌入式嵌入式和增量式增量式嵌入式:(绝对模式)STEP(x,x0,h0,x1, (STEP(X,X1,H1,X2,(STEP(X,X2,H2,X3,H2))))) 增量式:(相对模式)STEP(x,x0,h0,x1,h1)+STEP(X,X1,H2,X2,h3)+STEP(X,X2,H4,X3,H5)+……嵌入式的复杂函数式嵌入式的复杂函数式STEP(x,12,0,16,STEP(X,16,260,20,STEP(X,24,0,28,STEP(X,28,260,32,STEP(X,34,0,37,STEP(X,37,260,40,0))))))意义:0-12 秒,物体静止;12-16 秒,物体位移 260;16-20 秒,物体回到初始 0 位置,也就是相对上一个位置做了-260 位移;20-24 秒,物体静止;24-28 秒,位移 260;28-32 秒,物体回到初始 0 位置,也就是相对上一个位置又做了-260 位移;32-34 秒,物体静止;34-37 秒,物体位移 260;37-40 秒,物体回到初始 0 位置。
(绝对模式)STEP(x,0,0,3,STEP(x,3,200,9,STEP(x,9,-200,12,STEP(x,21.5,0,24,STEP(x,32,150,34,STEP(x,40,259.8,42,0))))))意义:0-3 秒,物体位移 200;3-9 秒,物体位移-200,即期间物体移动了 400;9-12 秒,物体回到初始 0 位置,即移动了 200;12-21.5 秒,物体静止;21.5-24 秒,物体位移 150;24-32 秒,物体静止;32-34 秒,物体位移 259.8;34-40 秒,物体静止;40-42 秒,物体回归初始 0 位置 (绝对模式)增量式的复杂函数式增量式的复杂函数式STEP(x,0,0,12,0)+STEP(x,12,0,16,260)+STEP(X,16,0,20,-260)+STEP(x,20,0,24,0)+STEP(X,24,0,28,260)+STEP(X,28,0,32,-260)+STEP(x,32,0,34,0)+STEP(X,34,0,37,260)+STEP(X,37,0,40,-260)等同于:STEP(x,12,0,16,260)+STEP(X,16,0,20,-260)+STEP(X,24,0,28,260)+STEP(X,28,0,32,-260)+STEP(X,34,0,37,260)+STEP(X,37,0,40,-260)亦等同于:STEP(x,12,0,16,STEP(X,16,260,20,STEP(X,24,0,28,STEP(X,28,260,32,STEP(X,34,0,37,STEP(X,37,260,40,0))))))意义:0-12 秒,物体静止,原地不动;12-16 秒,物体相对上一位置位移 260;16-20 秒,物体相对上一位置移动-260;20-24 秒,物体静止;24-28 秒,相对上一位置位移 260;28-32 秒,物体相对上一位置移动-260;32-34 秒,物体静止;34-37 秒,相对上一位置位移 260;37-40 秒,物体相对上一位置移动-260。
(相对模式)举个例子举个例子 STEP(x,1,0,2,20)+STEP(x,6,0,12,-40)STEP(x,1,0,2,20)+STEP(x,6,0,12,-40)意义:1 秒到 2 秒:从 0 度转到 20 度;2 秒到 6 秒:电机保持在 20 度位置上不动; 6 秒到 12 秒:由 20 度反转 40 度,结果为停留在-20 度所以,增量式有两个特性必须记住:1,除非输入新的 STEP,否则,上一个 STEP 的渐变结果将在接下来的时间里,一直保持2,每个 STEP 只能从 0 开始渐变,所以,每一次的 STEP 都是相对于上一次操作结果的累加计算特点:有运动就写,无运动就不写所定义的时间是绝对的,移动的值却是相对的(所以 H0 都为 0)重点提示:重点提示:在旋转驱动中,如果选择,则在 STEP 函数中转 360 度就不需要加“d”,例如:STEP(time,0,0,2,360),表示在 2 秒内转 360 度一周如果选择,则要事先在表达式中建表达式如 K=2*pi(),类型为恒定,再在 XY 函数管理器里的 STEP 函数中调用表达式K例如:STEP( x,0,-2*K,2,2*K)+STEP( x,3,0,5,-4*K),表示进行仿真前先反转 2 周做为初始(0 秒时) ,2 秒内正转 4 周,停 1 秒,第 3 秒到第 5 秒的 2 秒内反转 4 周。
(因为在 NX8.5 中,STEP 函数不支持直接调用 pi(),deg(),rad()等函数 )举例对比增量式与嵌入式的区别举例对比增量式与嵌入式的区别上图可以写成增量式:STEP(x,2,1,3,3)+ STEP(x,3,0,4,0)+STEP(x,4,0,5,-3)或或 STEP(x,2,1,3,3) +STEP(x,4,0,5,-3);也可以写成嵌入式:STEP(x,2,1,3,STEP(x,4,3,5,0)) 如图验证:备注:网上很多教材都把这个给搞错了!备注:网上很多教材都把这个给搞错了!不同时间段,连杆做不同函数运动形式不同时间段,连杆做不同函数运动形式t0-t1 时间段内,让连杆以 f(x)函数形式运动;t1-t2 时间段内,让连杆以直线形式运动,在 t2-t3 内,让连杆以 g(x)函数形式运动,以此实现连杆在不同时间段以两种或多种函数形式运动※t0-t1※t0-t1 时间段函数图形转换:时间段函数图形转换:按照相同时间段将第一个函数运动图转换为第二个函数运动图,按照 step 函数表达可以写出:t0-t1 时间段,step 表达为:(step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1) )由于 step 函数时间段起始和结束时间点不能相等,也就是不能是垂直直线形式图变,因此可以在时间点 t0 附近添加一个微小时间段,近似垂直直线形式突变。
如果将转换形式的 step 函数*f(x) ,那么连杆在 t0-t1 时间段的运动形式就可以以 f(x)运动,大家也可以从函数值上来理解,就是 1 乘以任何数值无法改变被乘数值,即 f(x)任何函数值与 1 相乘,数值不变,即实现连杆在 t0-t1 时间内以 f(x)形式运动由此可知在 t0-t1 时间段内,f(x)运动形式表达为:(step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1) )* f(x)※t1-t2※t1-t2 时间段函数图形转换:时间段函数图形转换:在 t1-t2 时间段,这个时间段为直线运动,按照矩形方波图形,step 函数形式表达:step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1)依据第一个时间段详细讲解,可知,t1-t2 时间段内,连杆运动形式表达为:(step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1) )*h1※t2-t3※t2-t3 时间段函数图形转换:时间段函数图形转换:t2-t3 时间段,根据矩形方波,step 表达为step(time,t2+0.001,0,t2,1)+step(time,t3+0.001,0,t3,-1)由上可知,在 t2-t3 时间段内,g(x)运动形式表达为(step(time,t2+0.001,0,t2,1)+step(time,t3+0.001,0,t3,-1) )*g(x)※※总结:总结:不同时间段,不同函数运动形式 step 表达方式,只需要将每个时间段变成 0-1 的矩形方波,将时间段开始和结束时间点添加一个微小时间段,对开始时间点添加微小时间增量的时间段,进行 step 函数书写后,再对结束时间点进行相同的 step 函数书写,将开始和结束时间的 step 函数进行加和后再乘以相应的函数,即可完成相应函数的运动形式。
因此上图中连杆的两种函数 g(x) 、f(x)加一条直线的 step 函数控制为:(step(time,t0+0.001,0,t0,1)+step(time,t1+0.001,0,t1,-1) )* f(x)+(step(time,t1+0.001,0,t1,1)+ step(time,t2+0.001,0,t2,-1) )*h1+((stepstep((timetime,,t2+0.001t2+0.001,,0 0,,t2t2,,1 1))+step+step((timetime,,t3+0.001t3+0.001,,0 0,,t3t3,,-1-1)) ))*g*g((x)x)多项式函数多项式函数polypoly((x x,,x0x0,,a0a0,,a1a1,,a2a2,,…………,,a30a30))=a0+a1*(x-x0)+ a1*(x-x0)2+……+a30*(x-x0)30x 是自变量x0 为初始值,a0 到 a30 为系数,当 x0=0 时,取到 a1 系数,则多项式为一条一次曲线,y=a0+a1*x,当取到 a2 系数时,则多项式为一条二次曲线(抛物线) ,y=a0+a1*x+a2*x2由此可知,多项式函数是控制连杆线性运动或二次曲线运动的函数,x 取变量 time余弦函数余弦函数————简谐运动简谐运动shfshf((x x,,x0x0,,a a,,w w,,phiphi,,b b))=asin(w(x-x0)-phi)+b简谐运动既是最基本也是最简单的一种机械振动,如果一个质点的运动方程有如下形式:即,质点的位移随时间的变化是一个简谐函数,显然此质点的运动为简谐振动。
w 为角速度,单位为度/秒或者弧度/秒下图为简谐运动的图像,表示的是振动物体的位移随时间变化的规律是一条正弦或余弦曲线由以上讲解可知,shf 函数中,x 为变量,一般取 time,x0 为初始时间点,a 为振幅,w 为角速度,phi 为初项,也就是 t 等于 0 时,角度值,b 表示截距,也就是余弦函数的位移综合应用实例综合应用实例连杆运动规律图如下连杆运动规律图如下建模空间,曲线工具,直线命令,在 xy 平面内绘制两条垂直直线:进入运动仿真,新建运动仿真,默认设置确定,新建连杆,由于直线不是实体,因此需要设置质心和质量等参数,任意设置即可,另一条直线连杆设置相同仿真导航器里,两个直线连杆:第一个滑动副,选择连杆 1,由于是直线,所以“选择连杆” 、 “指定原点” 、 “指定矢量”三个直接被选中,如果方向不对可以利用反向进行调整驱动,设置恒定速度 10mm/s,根据规律图 2-3 秒时间段可知,2 秒时位移为 20,3 秒时位移为 30,因此驱动速度为 10第二个滑动副,选择连杆 2,选择方法和上一。
