加速度梯形算法:滤波方式下的公式推导

6 篇文章 3 订阅
5 篇文章 3 订阅

原始速度函数

设初始速度为 v 0 v_0 v0,最大加速度为 a m a_m am,加速时间为 t 1 t_1 t1,滤波时间为 t 2 t_2 t2,于是有
v ( t ) = v 0 + a m t , t ∈ [ 0 ,   t 1 ] f ( t ) = 1 t 2 , t ∈ [ 0 ,   t 2 ] \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} v(t)=v0+amt,f(t)=t21,t[0, t1]t[0, t2]

构造滤波速度函数

v m = v 0 + a m t 1 v_m=v_0+a_mt_1 vm=v0+amt1
v ( t ) = { v 0 , t ∈ [ 0 ,   t 2 ] v 0 + a m ( t − t 2 ) , t ∈ [ t 2 ,   t 1 + t 2 ] v m , t ∈ [ t 1 + t 2 ,   t 1 + 2 t 2 ] f ( t ) = 1 t 2 ,   t ∈ [ 0 ,   t 2 ] \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)=v0,v0+am(tt2),vm,t[0, t2]t[t2, t1+t2]t[t1+t2, t1+2t2]f(t)=t21, t[0, t2]
V ( t ) = v ( x ) ∗ f ( x ) = ∫ − ∞ ∞ v ( x ) ⋅ f ( t − x ) d x V(t)=v(x)\ast f(x)=\int^{\infty}_{-\infty}v(x)\cdot f(t-x)dx V(t)=v(x)f(x)=v(x)f(tx)dx,则被积函数的非零定义域为
{ 0 < x < t 1 + 2 t 2 0 < t − x < t 2 ⟹ { 0 < x < t 1 + 2 t 2 t − t 2 < 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} {0<x<t1+2t20<tx<t2{0<x<t1+2t2tt2<x<t

推导滤波速度公式

t 1 ⩾ t 2 t_1\geqslant t_2 t1t2

V ( t ) V(t) V(t)的被积函数的非零定义域如下图所示

在这里插入图片描述
t < 0 t<0 t<0
V ( t ) ≡ 0. \begin{aligned} V(t)\equiv0. \end{aligned} V(t)0.
0 ⩽ t ⩽ t 2 0\leqslant t\leqslant t_2 0tt2
V ( t ) = ∫ 0 t v 0 ⋅ 1 t 2 d x = v 0 t t 2 . \begin{aligned} V(t)=\int^t_0v_0\cdot\dfrac{1}{t_2}dx=\dfrac{v_0t}{t_2}. \end{aligned} V(t)=0tv0t21dx=t2v0t.
t 2 ⩽ t ⩽ 2 t 2 t_2\leqslant t\leqslant 2t_2 t2t2t2
V ( t ) = ∫ t − t 2 t 2 v 0 ⋅ 1 t 2 d x + ∫ t 2 t [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x = v 0 t 2 ( 2 t 2 − t ) + v 0 − a m t 2 t 2 ( t − t 2 ) + a m 2 t 2 ( t 2 − t 2 2 ) = a m 2 t 2 t 2 − a m t + v 0 + 1 2 a m t 2 . \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} V(t)=tt2t2v0t21dx+t2t[v0+am(xt2)]t21dx=t2v0(2t2t)+t2v0amt2(tt2)+2t2am(t2t22)=2t2amt2amt+v0+21amt2.
2 t 2 ⩽ t ⩽ t 1 + t 2 2t_2\leqslant t\leqslant t_1+t_2 2t2tt1+t2
V ( t ) = ∫ t − t 2 t [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x = v 0 − a m t 2 t 2 [ t − ( t − t 2 ) ] + 1 2 t 2 a m [ t 2 − ( t − t 2 ) 2 ] = v 0 − a m t 2 + a m t − 1 2 a m t 2 = a m t + v 0 − 3 2 a m t 2 . \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} V(t)=tt2t[v0+am(xt2)]t21dx=t2v0amt2[t(tt2)]+2t21am[t2(tt2)2]=v0amt2+amt21amt2=amt+v023amt2.
t 1 + t 2 ⩽ t ⩽ t 1 + 2 t 2 t_1+t_2\leqslant t\leqslant t_1+2t_2 t1+t2tt1+2t2
V ( t ) = ∫ t − t 2 t 1 + t 2 [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x + ∫ t 1 + t 2 t v m ⋅ 1 t 2 d x = v 0 − a m t 2 t 2 ( t 1 + 2 t 2 − t ) + a m 2 t 2 [ ( t 1 + t 2 ) 2 − ( t − t 2 ) 2 ] + v m t 2 ( t − t 1 − t 2 ) = v 0 − a m t 2 t 2 ( t 1 + 2 t 2 − t ) + a m 2 t 2 ( t 1 2 + 2 t 1 t 2 − t 2 + 2 t 2 t ) + v m t 2 ( t − t 1 − t 2 ) = − a m 2 t 2 t 2 + a m ( t 1 + 2 t 2 ) t 2 t + v 0 − a m ( t 1 2 + 2 t 1 t 2 + 4 t 2 2 ) 2 t 2 . \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} V(t)=tt2t1+t2[v0+am(xt2)]t21dx+t1+t2tvmt21dx=t2v0amt2(t1+2t2t)+2t2am[(t1+t2)2(tt2)2]+t2vm(tt1t2)=t2v0amt2(t1+2t2t)+2t2am(t12+2t1t2t2+2t2t)+t2vm(tt1t2)=2t2amt2+t2am(t1+2t2)t+v02t2am(t12+2t1t2+4t22).
t 1 + 2 t 2 ⩽ t ⩽ t 1 + 3 t 2 t_1+2t_2\leqslant t\leqslant t_1+3t_2 t1+2t2tt1+3t2
V ( t ) = ∫ t − t 2 t 1 + 2 t 2 v m ⋅ 1 t 2 d x = v m t 2 ( t 1 + 3 t 2 − t ) . \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} V(t)=tt2t1+2t2vmt21dx=t2vm(t1+3t2t).
t > t 1 + 3 t 2 t>t_1+3t_2 t>t1+3t2
V ( t ) ≡ 0. \begin{aligned} V(t)\equiv0. \end{aligned} V(t)0.

t 1 > t 2 t_1>t_2 t1>t2

V ( t ) V(t) V(t)的被积函数的非零定义域如下图所示

在这里插入图片描述
t < 0 t<0 t<0
V ( t ) ≡ 0. \begin{aligned} V(t)\equiv0. \end{aligned} V(t)0.
0 ⩽ t ⩽ t 2 0\leqslant t\leqslant t_2 0tt2
V ( t ) = ∫ 0 t v 0 ⋅ 1 t 2 d x = v 0 t t 2 . \begin{aligned} V(t)=\int^t_0v_0\cdot\dfrac{1}{t_2}dx=\dfrac{v_0t}{t_2}. \end{aligned} V(t)=0tv0t21dx=t2v0t.
t 2 ⩽ t ⩽ t 1 + t 2 t_2\leqslant t\leqslant t_1+t_2 t2tt1+t2
V ( t ) = ∫ t − t 2 t 2 v 0 ⋅ 1 t 2 d x + ∫ t 2 t [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x = v 0 t 2 ( 2 t 2 − t ) + v 0 − a m t 2 t 2 ( t − t 2 ) + a m 2 t 2 ( t 2 − t 2 2 ) = a m 2 t 2 t 2 − a m t + v 0 + 1 2 a m t 2 . \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} V(t)=tt2t2v0t21dx+t2t[v0+am(xt2)]t21dx=t2v0(2t2t)+t2v0amt2(tt2)+2t2am(t2t22)=2t2amt2amt+v0+21amt2.
t 1 + t 2 ⩽ t ⩽ 2 t 2 t_1+t_2\leqslant t\leqslant 2t_2 t1+t2t2t2
V ( t ) = ∫ t − t 2 t 2 v 0 ⋅ 1 t 2 d x + ∫ t 2 t 1 + t 2 [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x + ∫ t 1 + t 2 t v m ⋅ 1 t 2 d x = v 0 t 2 ( 2 t 2 − t ) + v 0 − a m t 2 t 2 t 1 + a m 2 t 2 [ ( t 1 + t 2 ) 2 − t 2 2 ] + v m t 2 ( t − t 1 − t 2 ) = a m t 1 t 2 t + v 0 − a m t 1 2 + 2 a m t 1 t 2 2 t 2 = a m t 1 t 2 t + v 0 − a m t 1 ( t 1 + 2 t 2 ) 2 t 2 . \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} V(t)=tt2t2v0t21dx+t2t1+t2[v0+am(xt2)]t21dx+t1+t2tvmt21dx=t2v0(2t2t)+t2v0amt2t1+2t2am[(t1+t2)2t22]+t2vm(tt1t2)=t2amt1t+v02t2amt12+2amt1t2=t2amt1t+v02t2amt1(t1+2t2).
2 t 2 ⩽ t ⩽ t 1 + 2 t 2 2t_2\leqslant t\leqslant t_1+2t_2 2t2tt1+2t2
V ( t ) = ∫ t − t 2 t 1 + t 2 [ v 0 + a m ( x − t 2 ) ] ⋅ 1 t 2 d x + ∫ t 1 + t 2 t v m ⋅ 1 t 2 d x = v 0 − a m t 2 t 2 ( t 1 + 2 t 2 − t ) + a m 2 t 2 [ ( t 1 + t 2 ) 2 − ( t − t 2 ) 2 ] + v m t 2 ( t − t 1 − t 2 ) = v 0 − a m t 2 t 2 ( t 1 + 2 t 2 − t ) + a m 2 t 2 ( t 1 2 + 2 t 1 t 2 − t 2 + 2 t 2 t ) + v m t 2 ( t − t 1 − t 2 ) = − a m 2 t 2 t 2 + a m ( t 1 + 2 t 2 ) t 2 t + v 0 − a m ( t 1 2 + 2 t 1 t 2 + 4 t 2 2 ) 2 t 2 . \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} V(t)=tt2t1+t2[v0+am(xt2)]t21dx+t1+t2tvmt21dx=t2v0amt2(t1+2t2t)+2t2am[(t1+t2)2(tt2)2]+t2vm(tt1t2)=t2v0amt2(t1+2t2t)+2t2am(t12+2t1t2t2+2t2t)+t2vm(tt1t2)=2t2amt2+t2am(t1+2t2)t+v02t2am(t12+2t1t2+4t22).
t 1 + 2 t 2 ⩽ t ⩽ t 1 + 3 t 2 t_1+2t_2\leqslant t\leqslant t_1+3t_2 t1+2t2tt1+3t2
V ( t ) = ∫ t − t 2 t 1 + 2 t 2 v m ⋅ 1 t 2 d x = v m t 2 ( t 1 + 3 t 2 − t ) . \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} V(t)=tt2t1+2t2vmt21dx=t2vm(t1+3t2t).
t > t 1 + 3 t 2 t>t_1+3t_2 t>t1+3t2
V ( t ) ≡ 0. \begin{aligned} V(t)\equiv0. \end{aligned} V(t)0.

滤波速度公式

t 2 ⩽ t ⩽ t 1 + 2 t 2 t_2\leqslant t\leqslant t_1+2t_2 t2tt1+2t2时的滤波速度函数作为滤波速度公式,则有

t 1 ⩾ t 2 t_1\geqslant t_2 t1t2
V ( t ) = { a m 2 t 2 t 2 − a m t + v 0 + 1 2 a m t 2 , 若   t 2 ⩽ t ⩽ 2 t 2 a m t + v 0 − 3 2 a m t 2 , 若   2 t 2 ⩽ t ⩽ t 1 + t 2 − a m 2 t 2 t 2 + a m ( t 1 + 2 t 2 ) t 2 t + v 0 − a m ( t 1 2 + 2 t 1 t 2 + 4 t 2 2 ) 2 t 2 , 若   t 1 + t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=2t2amt2amt+v0+21amt2,amt+v023amt2,2t2amt2+t2am(t1+2t2)t+v02t2am(t12+2t1t2+4t22), t2t2t2 2t2tt1+t2 t1+t2tt1+2t2
t 1 < t 2 t_1<t_2 t1<t2
V ( t ) = { a m 2 t 2 t 2 − a m t + v 0 + 1 2 a m t 2 , 若   t 2 ⩽ t ⩽ t 1 + t 2 a m t 1 t 2 t + v 0 − a m t 1 ( t 1 + 2 t 2 ) 2 t 2 , 若   t 1 + t 2 ⩽ t ⩽ 2 t 2 − a m 2 t 2 t 2 + a m ( t 1 + 2 t 2 ) t 2 t + v 0 − a m ( t 1 2 + 2 t 1 t 2 + 4 t 2 2 ) 2 t 2 , 若   2 t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=2t2amt2amt+v0+21amt2,t2amt1t+v02t2amt1(t1+2t2),2t2amt2+t2am(t1+2t2)t+v02t2am(t12+2t1t2+4t22), t2tt1+t2 t1+t2t2t2 2t2tt1+2t2

滤波速度公式的导数及积分

加速度公式

滤波速度公式的一阶导数,如下

t 1 ⩾ t 2 t_1\geqslant t_2 t1t2
V ′ ( t ) = { a m t 2 t − a m , 若   t 2 ⩽ t ⩽ 2 t 2 a m , 若   2 t 2 ⩽ t ⩽ t 1 + t 2 − a m t 2 t + a m ( t 1 + 2 t 2 ) t 2 , 若   t 1 + t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=t2amtam,am,t2amt+t2am(t1+2t2), t2t2t2 2t2tt1+t2 t1+t2tt1+2t2
t 1 < t 2 t_1<t_2 t1<t2
V ′ ( t ) = { a m t 2 t − a m , 若   t 2 ⩽ t ⩽ t 1 + t 2 a m t 1 t 2 , 若   t 1 + t 2 ⩽ t ⩽ 2 t 2 − a m t 2 t + a m ( t 1 + 2 t 2 ) t 2 , 若   2 t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=t2amtam,t2amt1,t2amt+t2am(t1+2t2), t2tt1+t2 t1+t2t2t2 2t2tt1+2t2

加加速度公式

滤波速度公式的二阶导数,如下

t 1 ⩾ t 2 t_1\geqslant t_2 t1t2
V ′ ′ ( t ) = { a m t 2 , 若   t 2 ⩽ t ⩽ 2 t 2 0 , 若   2 t 2 < t < t 1 + t 2 − a m t 2 , 若   t 1 + t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=t2am,0,t2am, t2t2t2 2t2<t<t1+t2 t1+t2tt1+2t2
t 1 < t 2 t_1<t_2 t1<t2
V ′ ′ ( t ) = { a m t 2 , 若   t 2 ⩽ t ⩽ t 1 + t 2 0 , 若   t 1 + t 2 < t < 2 t 2 − a m t 2 , 若   2 t 2 ⩽ t ⩽ t 1 + 2 t 2 \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} V(t)=t2am,0,t2am, t2tt1+t2 t1+t2<t<2t2 2t2tt1+2t2
此即为加速度梯形算法的加加速度公式,若已知系统最大加加速度为 J m J_m Jm,则可以令 a m t 2 = J m \dfrac{a_m}{t_2}=J_m t2am=Jm,于是有 t 2 = a m J m t_2=\dfrac{a_m}{J_m} t2=Jmam

距离公式

根据加速度公式的对称性,按照几何意义积分,可以得到运动距离的公式为
s = 1 2 ( v 0 + v m ) ( t 1 + t 2 ) s=\dfrac{1}{2}(v_0+v_m)(t_1+t_2) s=21(v0+vm)(t1+t2)
其中 v m = v 0 + a m t 1   ⇔   t 1 = v m − v 0 a m v_m=v_0+a_mt_1\ \Leftrightarrow\ t_1=\dfrac{v_m-v_0}{a_m} vm=v0+amt1  t1=amvmv0 t 2 = a m J m t_2=\dfrac{a_m}{J_m} t2=Jmam

以上就是滤波方式下加速度梯形算法的连续表达式形式。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: stm32是一种嵌入式处理器,可以通过连接加速度传感器来测量物体的加速度。在使用这些数据时,我们通常需要对其进行积分以获得物体的速度和位移信息。 在stm32中,可以通过使用计数器来实现加速度数据的积分。计数器是一个内部资源,用于记录时间的流逝。通过使用计数器,我们可以轻松地测量不同加速度值之间的时间间隔,并将其带入积分方程中。 积分方程通常采用离散形式,因为计数器只能在离散时间步长上进行操作。离散积分方程通常采用欧拉法,将加速度值乘以时间步长并将其与之前的速度值相加以获得新的速度值。同样,我们可以使用欧拉法将速度值乘以时间步长并将其与之前的位移值相加以获得新的位移值。 在实现这些积分方程时,我们需要注意数据存储的精度和范围。由于stm32只能处理有限的数字精度和范围,因此在进行积分运算时,我们需要确保数据不会超过这些限制。同时,我们需要注意数值积分的误差累积,这可能会导致积分结果的偏差。 总之,通过使用计数器和积分方程,可以将stm32中的加速度数据积分为速度和位移信息。但是,我们需要注意数据存储的精度和范围以及误差累积等问题,以确保积分结果的准确性。 ### 回答2: STM32是一款单片机芯片,具有广泛的应用,其中就包括运用于加速度传感器。加速度传感器可以将物体的加速度信号转换为数字信号,STM32单片机可以通过读取传感器输出的数据来进行数据的处理和控制。在实际应用中,我们常常需要对加速度信号进行积分来得到速度和位移信息,从而对物体的运动状态进行分析和研究。 STM32可以通过编程实现对加速度数据的积分。首先,需要设置STM32的ADC采样频率,保证数据采样的稳定性和准确性。其次,可以通过数值积分算法,对获得的加速度数据进行处理得到速度和位移信息。常用的数值积分算法包括梯形法、Simpson法、龙格库塔法等,根据实际应用需求选择相应的算法进行编程实现。 需要注意的是,在进行加速度数据的积分时,由于存在传感器噪声、采样误差等因素,积分结果可能存在较大误差。因此,需要进行有效的数据处理和滤波,减少误差的影响。常用的数据处理方法包括卡尔曼滤波、中值滤波等。 在实际应用中,STM32加速度数据的积分具有广泛的应用前景。在机器人控制、姿态控制、运动状态监测等领域中,STM32可以通过对加速度数据的积分,实现精准的位置、速度和姿态信息获取和控制,为实际生产和研究提供关键技术支持。 ### 回答3: STM32是一款高性能、低功耗的嵌入式微控制器,常用于控制系统和嵌入式设备中。加速度传感器是一种常用的传感器,可以用于测量物体的加速度。 在使用STM32测量加速度数据时,需要对数据进行积分,以得到速度和位移等相关信息。为了避免积分过程中的误差,可以采用卡尔曼滤波算法加速度数据进行处理,再进行积分。 积分的方法一般有三种:矩形积分、梯形积分和辛普森积分。在实际应用中,常采用梯形积分的方法。其原理是将每个时间段的加速度平均值乘以时间间隔,得到每个时间段的速度值,再将速度值累加得到位移值。 需要注意的是,在进行积分计算时需要先对加速度数据进行滤波和平滑处理,避免噪音对数据的影响,同时还需要处理积分过程中的漂移问题,以保证测量结果的准确性。 总之,STM32测量加速度数据并进行积分需要进行一系列的处理,包括数据采集、滤波、平滑、积分等步骤,才能得到准确的测量结果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值