加速度梯形算法:濾波方式下的公式推導

原始速度函數

設初始速度爲v0v_0,最大加速度爲ama_m,加速時間爲t1t_1,濾波時間爲t2t_2,於是有
v(t)=v0+amt,t[0, t1]f(t)=1t2,t[0, t2] \begin{aligned} &v(t)=v_0+a_mt,&& t\in[0,\ t_1] \\ &f(t)=\dfrac{1}{t_2},&& t\in[0,\ t_2] \end{aligned}

構造濾波速度函數

vm=v0+amt1v_m=v_0+a_mt_1
v(t)={v0,t[0, t2]v0+am(tt2),t[t2, t1+t2]vm,t[t1+t2, t1+2t2]f(t)=1t2, t[0, t2] \begin{aligned} &v(t)=\begin{cases} v_0,& t\in[0,\ t_2] \\ v_0+a_m(t-t_2),& t\in[t_2,\ t_1+t_2] \\ v_m,& t\in[t_1+t_2,\ t_1+2t_2] \end{cases} \\ &f(t)=\dfrac{1}{t_2},\qquad\qquad\qquad\quad\ t\in[0,\ t_2] \end{aligned}
V(t)=v(x)f(x)=v(x)f(tx)dxV(t)=v(x)\ast f(x)=\int^{\infty}_{-\infty}v(x)\cdot f(t-x)dx,則被積函數的非零定義域爲
{0<x<t1+2t20<tx<t2{0<x<t1+2t2tt2<x<t \begin{aligned} \begin{cases} 0<x<t_1+2t_2 \\ 0<t-x<t_2 \end{cases} \Longrightarrow \begin{cases} 0<x<t_1+2t_2 \\ t-t_2<x<t \end{cases} \end{aligned}

推導濾波速度公式

t1t2t_1\geqslant t_2

V(t)V(t)的被積函數的非零定義域如下圖所示

在這裏插入圖片描述
t<0t<0
V(t)0. \begin{aligned} V(t)\equiv0. \end{aligned}
0tt20\leqslant t\leqslant t_2
V(t)=0tv01t2dx=v0tt2. \begin{aligned} V(t)=\int^t_0v_0\cdot\dfrac{1}{t_2}dx=\dfrac{v_0t}{t_2}. \end{aligned}
t2t2t2t_2\leqslant t\leqslant 2t_2
V(t)=tt2t2v01t2dx+t2t[v0+am(xt2)]1t2dx=v0t2(2t2t)+v0amt2t2(tt2)+am2t2(t2t22)=am2t2t2amt+v0+12amt2. \begin{aligned} V(t)&=\int^{t_2}_{t-t_2}v_0\cdot\dfrac{1}{t_2}dx +\int^t_{t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0}{t_2}(2t_2-t) +\dfrac{v_0-a_mt_2}{t_2}(t-t_2) +\dfrac{a_m}{2t_2}(t^2-t_2^2) \\ &=\dfrac{a_m}{2t_2}t^2-a_mt+v_0+\dfrac{1}{2}a_mt_2. \end{aligned}
2t2tt1+t22t_2\leqslant t\leqslant t_1+t_2
V(t)=tt2t[v0+am(xt2)]1t2dx=v0amt2t2[t(tt2)]+12t2am[t2(tt2)2]=v0amt2+amt12amt2=amt+v032amt2. \begin{aligned} V(t)&=\int^t_{t-t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0-a_mt_2}{t_2}[t-(t-t_2)] +\dfrac{1}{2t_2}a_m[t^2-(t-t_2)^2] \\ &=v_0-a_mt_2+a_mt-\dfrac{1}{2}a_mt_2 \\ &=a_mt+v_0-\dfrac{3}{2}a_mt_2. \end{aligned}
t1+t2tt1+2t2t_1+t_2\leqslant t\leqslant t_1+2t_2
V(t)=tt2t1+t2[v0+am(xt2)]1t2dx+t1+t2tvm1t2dx=v0amt2t2(t1+2t2t)+am2t2[(t1+t2)2(tt2)2]+vmt2(tt1t2)=v0amt2t2(t1+2t2t)+am2t2(t12+2t1t2t2+2t2t)+vmt2(tt1t2)=am2t2t2+am(t1+2t2)t2t+v0am(t12+2t1t2+4t22)2t2. \begin{aligned} V(t)&=\int^{t_1+t_2}_{t-t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx +\int^t_{t_1+t_2}v_m\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0-a_mt_2}{t_2}(t_1+2t_2-t) +\dfrac{a_m}{2t_2}[(t_1+t_2)^2-(t-t_2)^2] +\dfrac{v_m}{t_2}(t-t_1-t_2) \\ &=\dfrac{v_0-a_mt_2}{t_2}(t_1+2t_2-t) +\dfrac{a_m}{2t_2}(t_1^2+2t_1t_2-t^2+2t_2t) +\dfrac{v_m}{t_2}(t-t_1-t_2) \\ &=-\dfrac{a_m}{2t_2}t^2 +\dfrac{a_m(t_1+2t_2)}{t_2}t +v_0 -\dfrac{a_m(t_1^2+2t_1t_2+4t_2^2)}{2t_2}. \end{aligned}
t1+2t2tt1+3t2t_1+2t_2\leqslant t\leqslant t_1+3t_2
V(t)=tt2t1+2t2vm1t2dx=vmt2(t1+3t2t). \begin{aligned} V(t)=\int^{t_1+2t_2}_{t-t_2}v_m\cdot\dfrac{1}{t_2}dx =\dfrac{v_m}{t_2}(t_1+3t_2-t). \end{aligned}
t>t1+3t2t>t_1+3t_2
V(t)0. \begin{aligned} V(t)\equiv0. \end{aligned}

t1>t2t_1>t_2

V(t)V(t)的被積函數的非零定義域如下圖所示

在這裏插入圖片描述
t<0t<0
V(t)0. \begin{aligned} V(t)\equiv0. \end{aligned}
0tt20\leqslant t\leqslant t_2
V(t)=0tv01t2dx=v0tt2. \begin{aligned} V(t)=\int^t_0v_0\cdot\dfrac{1}{t_2}dx=\dfrac{v_0t}{t_2}. \end{aligned}
t2tt1+t2t_2\leqslant t\leqslant t_1+t_2
V(t)=tt2t2v01t2dx+t2t[v0+am(xt2)]1t2dx=v0t2(2t2t)+v0amt2t2(tt2)+am2t2(t2t22)=am2t2t2amt+v0+12amt2. \begin{aligned} V(t)&=\int^{t_2}_{t-t_2}v_0\cdot\dfrac{1}{t_2}dx +\int^t_{t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0}{t_2}(2t_2-t) +\dfrac{v_0-a_mt_2}{t_2}(t-t_2) +\dfrac{a_m}{2t_2}(t^2-t_2^2) \\ &=\dfrac{a_m}{2t_2}t^2-a_mt+v_0+\dfrac{1}{2}a_mt_2. \end{aligned}
t1+t2t2t2t_1+t_2\leqslant t\leqslant 2t_2
V(t)=tt2t2v01t2dx+t2t1+t2[v0+am(xt2)]1t2dx+t1+t2tvm1t2dx=v0t2(2t2t)+v0amt2t2t1+am2t2[(t1+t2)2t22]+vmt2(tt1t2)=amt1t2t+v0amt12+2amt1t22t2=amt1t2t+v0amt1(t1+2t2)2t2. \begin{aligned} V(t)&=\int^{t_2}_{t-t_2}v_0\cdot\dfrac{1}{t_2}dx +\int^{t_1+t_2}_{t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx +\int^t_{t_1+t_2}v_m\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0}{t_2}(2t_2-t) +\dfrac{v_0-a_mt_2}{t_2}t_1 +\dfrac{a_m}{2t_2}[(t_1+t_2)^2-t_2^2] +\dfrac{v_m}{t_2}(t-t_1-t_2) \\ &=\dfrac{a_mt_1}{t_2}t +v_0 -\dfrac{a_mt_1^2+2a_mt_1t_2}{2t_2} \\ &=\dfrac{a_mt_1}{t_2}t +v_0 -\dfrac{a_mt_1(t_1+2t_2)}{2t_2}. \end{aligned}
2t2tt1+2t22t_2\leqslant t\leqslant t_1+2t_2
V(t)=tt2t1+t2[v0+am(xt2)]1t2dx+t1+t2tvm1t2dx=v0amt2t2(t1+2t2t)+am2t2[(t1+t2)2(tt2)2]+vmt2(tt1t2)=v0amt2t2(t1+2t2t)+am2t2(t12+2t1t2t2+2t2t)+vmt2(tt1t2)=am2t2t2+am(t1+2t2)t2t+v0am(t12+2t1t2+4t22)2t2. \begin{aligned} V(t)&=\int^{t_1+t_2}_{t-t_2}[v_0+a_m(x-t_2)]\cdot\dfrac{1}{t_2}dx +\int^t_{t_1+t_2}v_m\cdot\dfrac{1}{t_2}dx \\ &=\dfrac{v_0-a_mt_2}{t_2}(t_1+2t_2-t) +\dfrac{a_m}{2t_2}[(t_1+t_2)^2-(t-t_2)^2] +\dfrac{v_m}{t_2}(t-t_1-t_2) \\ &=\dfrac{v_0-a_mt_2}{t_2}(t_1+2t_2-t) +\dfrac{a_m}{2t_2}(t_1^2+2t_1t_2-t^2+2t_2t) +\dfrac{v_m}{t_2}(t-t_1-t_2) \\ &=-\dfrac{a_m}{2t_2}t^2 +\dfrac{a_m(t_1+2t_2)}{t_2}t +v_0 -\dfrac{a_m(t_1^2+2t_1t_2+4t_2^2)}{2t_2}. \end{aligned}
t1+2t2tt1+3t2t_1+2t_2\leqslant t\leqslant t_1+3t_2
V(t)=tt2t1+2t2vm1t2dx=vmt2(t1+3t2t). \begin{aligned} V(t)=\int^{t_1+2t_2}_{t-t_2}v_m\cdot\dfrac{1}{t_2}dx =\dfrac{v_m}{t_2}(t_1+3t_2-t). \end{aligned}
t>t1+3t2t>t_1+3t_2
V(t)0. \begin{aligned} V(t)\equiv0. \end{aligned}

濾波速度公式

t2tt1+2t2t_2\leqslant t\leqslant t_1+2t_2時的濾波速度函數作爲濾波速度公式,則有

t1t2t_1\geqslant t_2
V(t)={am2t2t2amt+v0+12amt2, t2t2t2amt+v032amt2, 2t2tt1+t2am2t2t2+am(t1+2t2)t2t+v0am(t12+2t1t2+4t22)2t2, t1+t2tt1+2t2 \begin{aligned} V(t)=\begin{cases} \dfrac{a_m}{2t_2}t^2-a_mt+v_0+\dfrac{1}{2}a_mt_2, &若\ t_2\leqslant t\leqslant 2t_2 \\ a_mt+v_0-\dfrac{3}{2}a_mt_2, &若\ 2t_2\leqslant t\leqslant t_1+t_2 \\ -\dfrac{a_m}{2t_2}t^2+\dfrac{a_m(t_1+2t_2)}{t_2}t+v_0-\dfrac{a_m(t_1^2+2t_1t_2+4t_2^2)}{2t_2}, &若\ t_1+t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}
t1<t2t_1<t_2
V(t)={am2t2t2amt+v0+12amt2, t2tt1+t2amt1t2t+v0amt1(t1+2t2)2t2, t1+t2t2t2am2t2t2+am(t1+2t2)t2t+v0am(t12+2t1t2+4t22)2t2, 2t2tt1+2t2 \begin{aligned} V(t)=\begin{cases} \dfrac{a_m}{2t_2}t^2-a_mt+v_0+\dfrac{1}{2}a_mt_2, &若\ t_2\leqslant t\leqslant t_1+t_2 \\ \dfrac{a_mt_1}{t_2}t+v_0-\dfrac{a_mt_1(t_1+2t_2)}{2t_2}, &若\ t_1+t_2\leqslant t\leqslant 2t_2 \\ -\dfrac{a_m}{2t_2}t^2+\dfrac{a_m(t_1+2t_2)}{t_2}t+v_0-\dfrac{a_m(t_1^2+2t_1t_2+4t_2^2)}{2t_2}, &若\ 2t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}

濾波速度公式的導數及積分

加速度公式

濾波速度公式的一階導數,如下

t1t2t_1\geqslant t_2
V(t)={amt2tam, t2t2t2am, 2t2tt1+t2amt2t+am(t1+2t2)t2, t1+t2tt1+2t2 \begin{aligned} V'(t)=\begin{cases} \dfrac{a_m}{t_2}t-a_m, &若\ t_2\leqslant t\leqslant 2t_2 \\ a_m, &若\ 2t_2\leqslant t\leqslant t_1+t_2 \\ -\dfrac{a_m}{t_2}t+\dfrac{a_m(t_1+2t_2)}{t_2}, &若\ t_1+t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}
t1<t2t_1<t_2
V(t)={amt2tam, t2tt1+t2amt1t2, t1+t2t2t2amt2t+am(t1+2t2)t2, 2t2tt1+2t2 \begin{aligned} V'(t)=\begin{cases} \dfrac{a_m}{t_2}t-a_m, &若\ t_2\leqslant t\leqslant t_1+t_2 \\ \dfrac{a_mt_1}{t_2}, &若\ t_1+t_2\leqslant t\leqslant 2t_2 \\ -\dfrac{a_m}{t_2}t+\dfrac{a_m(t_1+2t_2)}{t_2}, &若\ 2t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}

加加速度公式

濾波速度公式的二階導數,如下

t1t2t_1\geqslant t_2
V(t)={amt2, t2t2t20, 2t2<t<t1+t2amt2, t1+t2tt1+2t2 \begin{aligned} V''(t)=\begin{cases} \dfrac{a_m}{t_2}, &若\ t_2\leqslant t\leqslant 2t_2 \\ 0, &若\ 2t_2< t< t_1+t_2 \\ -\dfrac{a_m}{t_2}, &若\ t_1+t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}
t1<t2t_1<t_2
V(t)={amt2, t2tt1+t20, t1+t2<t<2t2amt2, 2t2tt1+2t2 \begin{aligned} V''(t)=\begin{cases} \dfrac{a_m}{t_2}, &若\ t_2\leqslant t\leqslant t_1+t_2 \\ 0, &若\ t_1+t_2< t< 2t_2 \\ -\dfrac{a_m}{t_2}, &若\ 2t_2\leqslant t\leqslant t_1+2t_2 \end{cases} \end{aligned}
此即爲加速度梯形算法的加加速度公式,若已知系統最大加加速度爲JmJ_m,則可以令amt2=Jm\dfrac{a_m}{t_2}=J_m,於是有t2=amJmt_2=\dfrac{a_m}{J_m}

距離公式

根據加速度公式的對稱性,按照幾何意義積分,可以得到運動距離的公式爲
s=12(v0+vm)(t1+t2) s=\dfrac{1}{2}(v_0+v_m)(t_1+t_2)
其中vm=v0+amt1  t1=vmv0amv_m=v_0+a_mt_1\ \Leftrightarrow\ t_1=\dfrac{v_m-v_0}{a_m}t2=amJmt_2=\dfrac{a_m}{J_m}

以上就是濾波方式下加速度梯形算法的連續表達式形式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章