加速度S形算法:濾波方式下的速度規劃

已知線段長度ss,起點速度v0v_0,利用加速度S形算法(濾波方式)計算能達到的最大終點速度和最小終點速度。其中,系統最大速度爲vmv_m,系統最大加速度爲ama_m,系統最大加加速度爲JmJ_m,插補週期爲TT

計算能達到的最大終點速度vmv'_m

(1)假設實際最大加速度爲ama'_m,則
n=vmv0amT,L=πam2JmT. \begin{aligned} &n=\dfrac{v'_m-v_0}{a'_mT}, \\ &L=\dfrac{\pi a'_m}{2J_mT}. \\ \end{aligned}
其中,nn爲直線加速度加速的整週期數,LL爲速度濾波器的長度。

實際運動的距離sss=12(v0+vm)(n+L)T=12(v0+vm)(vmv0am+πam2Jm)s=\dfrac{1}{2}(v_0+v'_m)(n+L)T=\dfrac{1}{2}(v_0+v_m')\left(\dfrac{v'_m-v_0}{a_m'}+\dfrac{\pi a_m'}{2J_m}\right)

若使運動時間最短,令vmv0am=πam2Jm\dfrac{v_m'-v_0}{a_m'}=\dfrac{\pi a_m'}{2J_m}am=2Jm(vmv0)πa_m'=\sqrt{\dfrac{2J_m(v_m'-v_0)}{\pi}}

於是有
s=12(v0+vm)2vmv0am=(vm+v0)(vmv0)am,(vm+v0)(vmv0)=ams=2Jm(vmv0)πs,(vm+v0)vmv0=2Jmπs,(vm+v0)2(vmv0)=2Jmπs2,vm3+v0vm2v02vmv032Jms2π=0. \begin{aligned} &s=\dfrac{1}{2}(v_0+v_m')\cdot 2\cdot\dfrac{v_m'-v_0}{a_m'}=\dfrac{(v_m'+v_0)(v_m'-v_0)}{a_m'}, \\ &(v_m'+v_0)(v_m'-v_0)=a_m's=\sqrt{\dfrac{2J_m(v_m'-v_0)}{\pi}}\cdot s, \\ &(v_m'+v_0)\cdot\sqrt{v_m'-v_0}=\sqrt{\dfrac{2J_m}{\pi}}\cdot s, \\ &(v_m'+v_0)^2(v_m'-v_0)=\dfrac{2J_m}{\pi}s^2, \\ &v_m'^3+v_0v_m'^2-v_0^2v_m'-v_0^3-\dfrac{2J_ms^2}{\pi} = 0. \\ \end{aligned}
(2)求解一元三次方程:vm3+v0vm2v02vmv032Jms2π=0v_m'^3+v_0v_m'^2-v_0^2v_m'-v_0^3-\dfrac{2J_ms^2}{\pi}=0

得到實際的最大終點速度vm(vm>v0)v_m'(v_m'>v_0)

(3)檢驗am=vm2v02sa_m'=\dfrac{v_m'^2-v_0^2}{s}是否滿足系統最大加速度的要求。

ama_m'不大於系統最大加速度,則min(vm, vm)min(v_m',\ v_m)即爲能達到的最大終點速度。

(4)若ama_m'大於系統最大加速度,則取ama_m爲實際加工的最大加速度,重新計算能達到的最大終點速度。
L=πam2JmT,n=vmv0amT,s=12(v0+vm)(L+n)T=12(v0+vm)(πam2Jm+vmv0am),2Jmvm2+πam2vm+πam2v02Jmv024amJms=0. \begin{aligned} &L=\dfrac{\pi a_m}{2J_mT},\quad n=\dfrac{v_m'-v_0}{a_mT}, \\ &s=\dfrac{1}{2}(v_0+v_m')(L+n)T=\dfrac{1}{2}(v_0+v_m')\left(\dfrac{\pi a_m}{2J_m}+\dfrac{v_m'-v_0}{a_m}\right), \\ &2J_mv_m'^2+\pi a_m^2v_m'+\pi a_m^2v_0-2J_mv_0^2-4a_mJ_ms=0. \end{aligned}
由此求得最大終點速度vmv_m',並且要求vm>v0v_m'>v_0。若不滿足要求,則令vm=v0v_m'=v_0

計算能達到的最小終點速度vmv_m'

(1)首先判斷能否減速到零,如果能減速到零,則vm=0v_m'=0

(2)如果不能減速到零,則假設實際最大加速度爲ama_m',於是有
n=v0vmamT,L=πam2JmT. \begin{aligned} &n=\dfrac{v_0-v_m'}{a_m'T}, \\ &L=\dfrac{\pi a_m'}{2J_mT}. \\ \end{aligned}
其中,nn爲直線加速度減速的整週期數,LL爲速度濾波器的長度。

實際運動的距離sss=12(v0+vm)(n+L)T=12(v0+vm)(v0vmam+πam2Jm)s=\dfrac{1}{2}(v_0+v_m')(n+L)T=\dfrac{1}{2}(v_0+v_m')\left(\dfrac{v_0-v_m'}{a_m'}+\dfrac{\pi a_m'}{2J_m}\right)

若使運動時間最短,令v0vmam=πam2Jm\dfrac{v_0-v_m'}{a_m'}=\dfrac{\pi a_m'}{2J_m}am=2Jm(v0vm)πa_m'=\sqrt{\dfrac{2J_m(v_0-v_m')}{\pi}}

於是有
s=12(v0+vm)2v0vmam=(v0+vm)(v0vm)am,(v0+vm)(v0vm)=ams=2Jm(v0vm)πs,(v0+vm)v0vm=2Jmπs,(v0+vm)2(v0vm)=2Jms2π,vm3+v0vm2v02vmv03+2Jms2π=0. \begin{aligned} &s=\dfrac{1}{2}(v_0+v_m')\cdot 2\cdot\dfrac{v_0-v_m'}{a_m'}=\dfrac{(v_0+v_m')(v_0-v_m')}{a_m'}, \\ &(v_0+v_m')(v_0-v_m')=a_m's=\sqrt{\dfrac{2J_m(v_0-v_m')}{\pi}}\cdot s, \\ &(v_0+v_m')\cdot\sqrt{v_0-v_m'}=\sqrt{\dfrac{2J_m}{\pi}}\cdot s, \\ &(v_0+v_m')^2(v_0-v_m')=\dfrac{2J_ms^2}{\pi}, \\ &v_m'^3+v_0v_m'^2-v_0^2v_m'-v_0^3+\dfrac{2J_ms^2}{\pi}=0. \\ \end{aligned}
(3)求解一元三次方程:vm3+v0vm2v02vmv03+2Jms2π=0v_m'^3+v_0v_m'^2-v_0^2v_m'-v_0^3+\dfrac{2J_ms^2}{\pi}=0

得到實際的最小終點速度vmv_m'vm>0v_m'>0並且vm<v0v_m'<v_0)。

(4)檢驗am=v02vm2sa_m'=\dfrac{v_0^2-v_m'^2}{s}是否滿足系統最大加速度的要求。

ama_m'不大於系統最大加速度,則vmv_m'即爲能達到的最小終點速度。

(5)若ama_m'大於系統最大加速度,則取ama_m爲實際加工的最大加速度,重新計算能達到的最小終點速度。
L=πam2JmT,n=v0vmamT,s=12(v0+vm)(L+n)T=12(v0+vm)(πam2Jm+v0vmam),2Jmvm2πam2vmπam2v02Jmv02+4amJms=0. \begin{aligned} &L=\dfrac{\pi a_m}{2J_mT},\quad n=\dfrac{v_0-v_m'}{a_mT}, \\ &s=\dfrac{1}{2}(v_0+v_m')(L+n)T=\dfrac{1}{2}(v_0+v_m')\left(\dfrac{\pi a_m}{2J_m}+\dfrac{v_0-v_m'}{a_m}\right), \\ &2J_mv_m'^2-\pi a_m^2v_m'-\pi a_m^2v_0-2J_mv_0^2+4a_mJ_ms=0. \\ \end{aligned}
由此求得最小終點速度vmv_m',並且要求vm>0v_m'>0並且vm<v0v_m'<v_0。若不滿足要求,則令vm=v0v_m'=v_0

插補

已知起始速度vsv_s,終止速度vev_e,系統最大速度爲vmv_m,系統最大加速度爲ama_m,系統最大加加速度爲JmJ_m

粗插補計算能加速到的最大速度vm(vmvm)v_m'(v_m'\leqslant v_m),正向最大加速度ama_m',反向最大加速度ama_m''
am=2Jm(vmvs)π,am=2Jm(vmve)π,am=min(am, am),am=min(am, am). \begin{aligned} &a_m'=\sqrt{\dfrac{2J_m(v_m'-v_s)}{\pi}},\quad a_m''=\sqrt{\dfrac{2J_m(v_m'-v_e)}{\pi}}, \\ &a_m'=min(a_m',\ a_m),\quad a_m''=min(a_m'',\ a_m). \\ \end{aligned}
正向運動距離:s=12(vs+vm)(L+n)Ts'=\dfrac{1}{2}(v_s+v_m')(L'+n')T,其中L=πam2JmTL'=\dfrac{\pi a_m'}{2J_mT}n=vmvsamTn'=\dfrac{v_m'-v_s}{a_m'T}

反向運動距離:s=12(ve+vm)(L+n)Ts''=\dfrac{1}{2}(v_e+v_m')(L''+n'')T,其中L=πam2JmTL''=\dfrac{\pi a_m''}{2J_mT}n=vmveamTn''=\dfrac{v_m'-v_e}{a_m''T}

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