一般形式的加速度梯形算法

已知线段长度LLL,起点速度v0v_0v0,利用加速度梯形算法计算能达到的最大终点速度和最小终点速度。其中,最大加速度为ama_mam

计算能达到的最大终点速度vmv_mvm

设加加速时最大加加速度为JmJ_mJm,减加速时最大加加速度为Jm′=JmαJ'_m=\dfrac{J_m}{\alpha}Jm=αJm

加速到最大加速度时运动的距离S

首先,计算按照最大加加速度,加速到最大加速度ama_mam时运动的距离SSS,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={Jmt,0⩽t⩽t1,am−Jmαt,0⩽t⩽αt1. \begin{aligned} a=\begin{cases} J_mt, &0\leqslant t\leqslant t_1, \\ a_m-\dfrac{J_m}{\alpha}t, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} a=Jmt,amαJmt,0tt1,0tαt1.
其中,t1=amJmt_1=\dfrac{a_m}{J_m}t1=Jmam

计算运动的速度
v={v0+12Jmt2,0⩽t⩽t1,v1+amt−12Jmαt2,0⩽t⩽αt1. \begin{aligned} v=\begin{cases} v_0+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1, \\ v_1+a_mt-\dfrac{1}{2}\dfrac{J_m}{\alpha}t^2, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} v=v0+21Jmt2,v1+amt21αJmt2,0tt1,0tαt1.
其中,v1=v0+12Jmt12=v0+12amt1v_1=v_0+\dfrac{1}{2}J_mt_1^2=v_0+\dfrac{1}{2}a_mt_1v1=v0+21Jmt12=v0+21amt1

计算运动的距离
s={v0t+16Jmt3,0⩽t⩽t1,s1+v1t+12amt2−16Jmαt3,0⩽t⩽αt1. \begin{aligned} s=\begin{cases} v_0t+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1, \\ s_1+v_1t+\dfrac{1}{2}a_mt^2-\dfrac{1}{6}\dfrac{J_m}{\alpha}t^3, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} s=v0t+61Jmt3,s1+v1t+21amt261αJmt3,0tt1,0tαt1.
其中,s1=v0t1+16Jmt13=v0t1+16amt12s_1=v_0t_1+\dfrac{1}{6}J_mt_1^3=v_0t_1+\dfrac{1}{6}a_mt_1^2s1=v0t1+61Jmt13=v0t1+61amt12

加速到最大加速度时运动的距离SSS
S=s1+v1αt1+12amα2t12−16Jmα2t13=v0t1+16amt12+(v0+12amt1)αt1+13amα2t12=v0t1(1+α)+16amt12(1+3α+2α2). \begin{aligned} S&=s_1+v_1\alpha t_1+\dfrac{1}{2}a_m\alpha^2t_1^2-\dfrac{1}{6}J_m\alpha^2t_1^3 \\ &=v_0t_1+\dfrac{1}{6}a_mt_1^2+(v_0+\dfrac{1}{2}a_mt_1)\alpha t_1+\dfrac{1}{3}a_m\alpha^2t_1^2 \\ &=v_0t_1(1+\alpha)+\dfrac{1}{6}a_mt_1^2(1+3\alpha+2\alpha^2). \end{aligned} S=s1+v1αt1+21amα2t1261Jmα2t13=v0t1+61amt12+(v0+21amt1)αt1+31amα2t12=v0t1(1+α)+61amt12(1+3α+2α2).

线段的长度L>SL>SL>S

L>SL>SL>S,则整个加速过程包含加加速运动、匀加速运动和减加速运动,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={Jmt,0⩽t⩽t1,am,0⩽t⩽t2,am−Jmαt,0⩽t⩽αt1. \begin{aligned} a=\begin{cases} J_mt, &0\leqslant t\leqslant t_1, \\ a_m, &0\leqslant t\leqslant t_2, \\ a_m-\dfrac{J_m}{\alpha}t, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} a=Jmt,am,amαJmt,0tt1,0tt2,0tαt1.
其中,t1=amJmt_1=\dfrac{a_m}{J_m}t1=Jmam

计算运动的速度
v={v0+12Jmt2,0⩽t⩽t1,v1+amt,0⩽t⩽t2,v2+amt−12Jmαt2,0⩽t⩽αt1. \begin{aligned} v=\begin{cases} v_0+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1, \\ v_1+a_mt, &0\leqslant t\leqslant t_2, \\ v_2+a_mt-\dfrac{1}{2}\dfrac{J_m}{\alpha}t^2, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} v=v0+21Jmt2,v1+amt,v2+amt21αJmt2,0tt1,0tt2,0tαt1.
其中
{v1=v0+12Jmt12=v0+12amt1,v2=v1+amt2=v0+12amt1+amt2,vm=v2+amαt1−12Jmαt12=v0+12amt1+amt2+12amαt1=v0+12amt1(1+α)+amt2. \begin{aligned} \begin{cases} v_1&=v_0+\dfrac{1}{2}J_mt_1^2 =v_0+\dfrac{1}{2}a_mt_1, \\ v_2&=v_1+a_mt_2 =v_0+\dfrac{1}{2}a_mt_1+a_mt_2, \\ v_m&=v_2+a_m\alpha t_1-\dfrac{1}{2}J_m\alpha t_1^2 =v_0+\dfrac{1}{2}a_mt_1+a_mt_2+\dfrac{1}{2}a_m\alpha t_1 \\ &=v_0+\dfrac{1}{2}a_mt_1(1+\alpha)+a_mt_2. \end{cases} \end{aligned} v1v2vm=v0+21Jmt12=v0+21amt1,=v1+amt2=v0+21amt1+amt2,=v2+amαt121Jmαt12=v0+21amt1+amt2+21amαt1=v0+21amt1(1+α)+amt2.
计算运动的距离
s={v0t+16Jmt3,0⩽t⩽t1,s1+v1t+12amt2,0⩽t⩽t2,s2+v2t+12amt2−16Jmαt3,0⩽t⩽αt1. \begin{aligned} s=\begin{cases} v_0t+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1, \\ s_1+v_1t+\dfrac{1}{2}a_mt^2, &0\leqslant t\leqslant t_2, \\ s_2+v_2t+\dfrac{1}{2}a_mt^2-\dfrac{1}{6}\dfrac{J_m}{\alpha}t^3, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} s=v0t+61Jmt3,s1+v1t+21amt2,s2+v2t+21amt261αJmt3,0tt1,0tt2,0tαt1.
其中
{s1=v0t1+16Jmt13=v0t1+16amt12,s2=s1+v1t2+12amt22=v0t1+16amt12+(v0+12amt1)t2+12amt22=v0(t1+t2)+16amt12+12amt1t2+12amt22,sm=s2+v2αt1+12amα2t12−16Jmα2t13=v0(t1+t2)+16amt12+12amt1t2+12amt22+(v0+12amt1+amt2)αt1+13amα2t12=v0(t1+t2+αt1)+16amt12(1+3α+2α2)+12amt1t2(1+2α)+12amt22=L. \begin{aligned} \begin{cases} s_1&=v_0t_1+\dfrac{1}{6}J_mt_1^3=v_0t_1+\dfrac{1}{6}a_mt_1^2, \\ s_2&=s_1+v_1t_2+\dfrac{1}{2}a_mt_2^2 =v_0t_1+\dfrac{1}{6}a_mt_1^2+(v_0+\dfrac{1}{2}a_mt_1)t_2+\dfrac{1}{2}a_mt_2^2 \\ &=v_0(t_1+t_2)+\dfrac{1}{6}a_mt_1^2+\dfrac{1}{2}a_mt_1t_2+\dfrac{1}{2}a_mt_2^2, \\ s_m&=s_2+v_2\alpha t_1+\dfrac{1}{2}a_m\alpha^2t_1^2-\dfrac{1}{6}J_m\alpha^2t_1^3 \\ &=v_0(t_1+t_2)+\dfrac{1}{6}a_mt_1^2+\dfrac{1}{2}a_mt_1t_2+\dfrac{1}{2}a_mt_2^2 +(v_0+\dfrac{1}{2}a_mt_1+a_mt_2)\alpha t_1+\dfrac{1}{3}a_m\alpha^2t_1^2 \\ &=v_0(t_1+t_2+\alpha t_1)+\dfrac{1}{6}a_mt_1^2(1+3\alpha+2\alpha^2) +\dfrac{1}{2}a_mt_1t_2(1+2\alpha)+\dfrac{1}{2}a_mt_2^2 \\ &=L. \end{cases} \end{aligned} s1s2sm=v0t1+61Jmt13=v0t1+61amt12,=s1+v1t2+21amt22=v0t1+61amt12+(v0+21amt1)t2+21amt22=v0(t1+t2)+61amt12+21amt1t2+21amt22,=s2+v2αt1+21amα2t1261Jmα2t13=v0(t1+t2)+61amt12+21amt1t2+21amt22+(v0+21amt1+amt2)αt1+31amα2t12=v0(t1+t2+αt1)+61amt12(1+3α+2α2)+21amt1t2(1+2α)+21amt22=L.
于是,可以得到两个一元方程
{12amt22+[12amt1(1+2α)+v0]t2+v0t1(1+α)+16amt12(1+3α+2α2)−L=0,vm=v0+12amt1(1+α)+amt2. \begin{aligned} \begin{cases} \dfrac{1}{2}a_mt_2^2+\left[\dfrac{1}{2}a_mt_1(1+2\alpha)+v_0\right]t_2 +v_0t_1(1+\alpha)+\dfrac{1}{6}a_mt_1^2(1+3\alpha+2\alpha^2)-L=0, \\ v_m=v_0+\dfrac{1}{2}a_mt_1(1+\alpha)+a_mt_2. \end{cases} \end{aligned} 21amt22+[21amt1(1+2α)+v0]t2+v0t1(1+α)+61amt12(1+3α+2α2)L=0,vm=v0+21amt1(1+α)+amt2.
求解第一个一元二次方程得到t2t_2t2,然后代入第二个方程即可得到最大终点速度vmv_mvm

线段的长度L⩽SL\leqslant SLS

L⩽SL\leqslant SLS,则整个加速过程只包含加加速运动和减加速运动,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={Jmt,0⩽t⩽t1,Jmt1−Jmαt,0⩽t⩽αt1. \begin{aligned} a=\begin{cases} J_mt, &0\leqslant t\leqslant t_1, \\ J_mt_1-\dfrac{J_m}{\alpha}t, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} a=Jmt,Jmt1αJmt,0tt1,0tαt1.
计算运动的速度
v={v0+12Jmt2,0⩽t⩽t1,v1+Jmt1t−12Jmαt2,0⩽t⩽αt1. \begin{aligned} v=\begin{cases} v_0+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1, \\ v_1+J_mt_1t-\dfrac{1}{2}\dfrac{J_m}{\alpha}t^2, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} v=v0+21Jmt2,v1+Jmt1t21αJmt2,0tt1,0tαt1.
其中
{v1=v0+12Jmt12,vm=v1+Jmt1αt1−12Jmαt12=v0+12Jmt12+12Jmαt12=v0+12Jmt12(1+α). \begin{aligned} \begin{cases} v_1&=v_0+\dfrac{1}{2}J_mt_1^2, \\ v_m&=v_1+J_mt_1\alpha t_1-\dfrac{1}{2}J_m\alpha t_1^2 =v_0+\dfrac{1}{2}J_mt_1^2+\dfrac{1}{2}J_m\alpha t_1^2 \\ &=v_0+\dfrac{1}{2}J_mt_1^2(1+\alpha). \end{cases} \end{aligned} v1vm=v0+21Jmt12,=v1+Jmt1αt121Jmαt12=v0+21Jmt12+21Jmαt12=v0+21Jmt12(1+α).
计算运动的距离
s={v0t+16Jmt3,0⩽t⩽t1,s1+v1t+12Jmt1t2−16Jmαt3,0⩽t⩽αt1. \begin{aligned} s=\begin{cases} v_0t+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1, \\ s_1+v_1t+\dfrac{1}{2}J_mt_1t^2-\dfrac{1}{6}\dfrac{J_m}{\alpha}t^3, &0\leqslant t\leqslant \alpha t_1. \end{cases} \end{aligned} s=v0t+61Jmt3,s1+v1t+21Jmt1t261αJmt3,0tt1,0tαt1.
其中
{s1=v0t1+16Jmt13,sm=s1+v1αt1+12Jmt1α2t12−16Jmα2t13=v0t1+16Jmt13+(v0+12Jmt12)αt1+13Jmα2t13=v0t1(1+α)+16Jmt13(1+3α+2α2)=L. \begin{aligned} \begin{cases} s_1&=v_0t_1+\dfrac{1}{6}J_mt_1^3, \\ s_m&=s_1+v_1\alpha t_1+\dfrac{1}{2}J_mt_1\alpha^2t_1^2-\dfrac{1}{6}J_m\alpha^2t_1^3 \\ &=v_0t_1+\dfrac{1}{6}J_mt_1^3 +(v_0+\dfrac{1}{2}J_mt_1^2)\alpha t_1 +\dfrac{1}{3}J_m\alpha^2t_1^3 \\ &=v_0t_1(1+\alpha)+\dfrac{1}{6}J_mt_1^3(1+3\alpha+2\alpha^2) \\ &=L. \end{cases} \end{aligned} s1sm=v0t1+61Jmt13,=s1+v1αt1+21Jmt1α2t1261Jmα2t13=v0t1+61Jmt13+(v0+21Jmt12)αt1+31Jmα2t13=v0t1(1+α)+61Jmt13(1+3α+2α2)=L.
于是,可以得到两个一元方程
{16Jm(1+3α+2α2)t13+v0(1+α)t1−L=0,vm=v0+12Jmt12(1+α). \begin{aligned} \begin{cases} \dfrac{1}{6}J_m(1+3\alpha+2\alpha^2)t_1^3+v_0(1+\alpha)t_1-L=0, \\ v_m=v_0+\dfrac{1}{2}J_mt_1^2(1+\alpha). \end{cases} \end{aligned} 61Jm(1+3α+2α2)t13+v0(1+α)t1L=0,vm=v0+21Jmt12(1+α).
求解第一个一元三次方程得到t1t_1t1,然后代入第二个方程即可得到最大终点速度vmv_mvm

计算能达到的最小终点速度vmv_mvm

设减减速时最大加加速度为JmJ_mJm,加减速时最大加加速度为Jm′=JmβJ'_m=\dfrac{J_m}{\beta}Jm=βJm

对于减速运动,由于速度值不小于零,因此先判断是否能够减速到零。

判断能否减速到零

按照给定的条件,从零反向加速,计算能达到的最大终点速度vmaxv_{max}vmax。如果vmax⩾v0v_{max}\geqslant v_0vmaxv0,则能达到的最小终点速度vm=0v_m=0vm=0。以下均假设vmax<v0v_{max}<v_0vmax<v0,即vm>0v_m>0vm>0成立。

减速到最大加速度时运动的速度VVV和距离SSS

计算按照最大加加速度,减速到最大加速度ama_mam时运动的速度VVV和距离SSS,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={−Jmβt,0⩽t⩽βt1,−am+Jmt,0⩽t⩽t1. \begin{aligned} a=\begin{cases} -\dfrac{J_m}{\beta}t, &0\leqslant t\leqslant\beta t_1, \\ -a_m+J_mt, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} a=βJmt,am+Jmt,0tβt1,0tt1.
其中,t1=amJmt_1=\dfrac{a_m}{J_m}t1=Jmam

计算运动的速度
v={v0−12Jmβt2,0⩽t⩽βt1,v1−amt+12Jmt2,0⩽t⩽t1. \begin{aligned} v=\begin{cases} v_0-\dfrac{1}{2}\dfrac{J_m}{\beta}t^2, &0\leqslant t\leqslant\beta t_1, \\ v_1-a_mt+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} v=v021βJmt2,v1amt+21Jmt2,0tβt1,0tt1.
其中
{v1=v0−12Jmβt12=v0−12amβt1,vm=v1−amt1+12Jmt12=v0−12amβt1−12amt1=v0−12amt1(1+β). \begin{aligned} \begin{cases} v_1&=v_0-\dfrac{1}{2}J_m\beta t_1^2=v_0-\dfrac{1}{2}a_m\beta t_1, \\ v_m&=v_1-a_mt_1+\dfrac{1}{2}J_mt_1^2=v_0-\dfrac{1}{2}a_m\beta t_1-\dfrac{1}{2}a_mt_1 \\ &=v_0-\dfrac{1}{2}a_mt_1(1+\beta). \end{cases} \end{aligned} v1vm=v021Jmβt12=v021amβt1,=v1amt1+21Jmt12=v021amβt121amt1=v021amt1(1+β).
计算运动的距离
s={v0t−16Jmβt3,0⩽t⩽βt1,s1+v1t−12amt2+16Jmt3,0⩽t⩽t1. \begin{aligned} s=\begin{cases} v_0t-\dfrac{1}{6}\dfrac{J_m}{\beta}t^3, &0\leqslant t\leqslant\beta t_1, \\ s_1+v_1t-\dfrac{1}{2}a_mt^2+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} s=v0t61βJmt3,s1+v1t21amt2+61Jmt3,0tβt1,0tt1.
其中
{s1=v0βt1−16Jmβ2t13=v0βt1−16amβ2t12,sm=s1+v1t1−12amt12+16Jmt13=v0βt1−16amβ2t12+(v0−12amβt1)t1−13amt12=v0t1(1+β)−16amt12(β2+3β+2). \begin{aligned} \begin{cases} s_1&=v_0\beta t_1-\dfrac{1}{6}J_m\beta^2t_1^3=v_0\beta t_1-\dfrac{1}{6}a_m\beta^2t_1^2, \\ s_m&=s_1+v_1t_1-\dfrac{1}{2}a_mt_1^2+\dfrac{1}{6}J_mt_1^3 =v_0\beta t_1-\dfrac{1}{6}a_m\beta^2t_1^2+(v_0-\dfrac{1}{2}a_m\beta t_1)t_1-\dfrac{1}{3}a_mt_1^2 \\ &=v_0t_1(1+\beta)-\dfrac{1}{6}a_mt_1^2(\beta^2+3\beta+2). \end{cases} \end{aligned} s1sm=v0βt161Jmβ2t13=v0βt161amβ2t12,=s1+v1t121amt12+61Jmt13=v0βt161amβ2t12+(v021amβt1)t131amt12=v0t1(1+β)61amt12(β2+3β+2).
减速到最大加速度时运动的速度VVVSSS
{V=vm=v0−12amt1(1+β),S=sm=v0t1(1+β)−16amt12(β2+3β+2). \begin{aligned} \begin{cases} V=v_m=v_0-\dfrac{1}{2}a_mt_1(1+\beta), \\ S=s_m=v_0t_1(1+\beta)-\dfrac{1}{6}a_mt_1^2(\beta^2+3\beta+2). \end{cases} \end{aligned} V=vm=v021amt1(1+β),S=sm=v0t1(1+β)61amt12(β2+3β+2).

V⩽0V\leqslant0V0或者线段的长度L⩽SL\leqslant SLS

V⩽0V\leqslant0V0或者L⩽SL\leqslant SLS,则整个减速过程只包含加减速运动和减减速运动,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={−Jmβt,0⩽t⩽βt1,−Jmt1+Jmt,0⩽t⩽t1. \begin{aligned} a=\begin{cases} -\dfrac{J_m}{\beta}t, &0\leqslant t\leqslant\beta t_1, \\ -J_mt_1+J_mt, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} a=βJmt,Jmt1+Jmt,0tβt1,0tt1.
计算运动的速度
v={v0−12Jmβt2,0⩽t⩽βt1,v1−Jmt1t+12Jmt2,0⩽t⩽t1. \begin{aligned} v=\begin{cases} v_0-\dfrac{1}{2}\dfrac{J_m}{\beta}t^2, &0\leqslant t\leqslant\beta t_1, \\ v_1-J_mt_1t+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} v=v021βJmt2,v1Jmt1t+21Jmt2,0tβt1,0tt1.
其中
{v1=v0−12Jmβt12,vm=v1−Jmt1t1+12Jmt12=v0−12Jmβt12−12Jmt12=v0−12Jmt12(1+β). \begin{aligned} \begin{cases} v_1&=v_0-\dfrac{1}{2}J_m\beta t_1^2, \\ v_m&=v_1-J_mt_1t_1+\dfrac{1}{2}J_mt_1^2=v_0-\dfrac{1}{2}J_m\beta t_1^2-\dfrac{1}{2}J_mt_1^2 \\ &=v_0-\dfrac{1}{2}J_mt_1^2(1+\beta). \end{cases} \end{aligned} v1vm=v021Jmβt12,=v1Jmt1t1+21Jmt12=v021Jmβt1221Jmt12=v021Jmt12(1+β).
计算运动的距离
s={v0t−16Jmβt3,0⩽t⩽βt1,s1+v1t−12Jmt1t2+16Jmt3,0⩽t⩽t1. \begin{aligned} s=\begin{cases} v_0t-\dfrac{1}{6}\dfrac{J_m}{\beta}t^3, &0\leqslant t\leqslant\beta t_1, \\ s_1+v_1t-\dfrac{1}{2}J_mt_1t^2+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} s=v0t61βJmt3,s1+v1t21Jmt1t2+61Jmt3,0tβt1,0tt1.
其中
{s1=v0βt1−16Jmβ2t13,sm=s1+v1t1−12Jmt1t12+16Jmt13=v0βt1−16Jmβ2t13+(v0−12Jmβt12)t1−13Jmt13=v0t1(1+β)−16Jmt13(β2+3β+2)=L. \begin{aligned} \begin{cases} s_1&=v_0\beta t_1-\dfrac{1}{6}J_m\beta^2t_1^3, \\ s_m&=s_1+v_1t_1-\dfrac{1}{2}J_mt_1t_1^2+\dfrac{1}{6}J_mt_1^3 =v_0\beta t_1-\dfrac{1}{6}J_m\beta^2t_1^3+(v_0-\dfrac{1}{2}J_m\beta t_1^2)t_1-\dfrac{1}{3}J_mt_1^3 \\ &=v_0t_1(1+\beta)-\dfrac{1}{6}J_mt_1^3(\beta^2+3\beta+2) \\ &=L. \end{cases} \end{aligned} s1sm=v0βt161Jmβ2t13,=s1+v1t121Jmt1t12+61Jmt13=v0βt161Jmβ2t13+(v021Jmβt12)t131Jmt13=v0t1(1+β)61Jmt13(β2+3β+2)=L.
于是,可以得到两个一元方程
{16Jm(β2+3β+2)t13−v0(1+β)t1+L=0,vm=v0−12Jmt12(1+β). \begin{aligned} \begin{cases} \dfrac{1}{6}J_m(\beta^2+3\beta+2)t_1^3-v_0(1+\beta)t_1+L=0, \\ v_m=v_0-\dfrac{1}{2}J_mt_1^2(1+\beta). \end{cases} \end{aligned} 61Jm(β2+3β+2)t13v0(1+β)t1+L=0,vm=v021Jmt12(1+β).
求解第一个一元三次方程得到t1t_1t1,然后代入第二个方程即可得到最小终点速度vmv_mvm

线段长度L>SL>SL>S

L>SL>SL>S,则整个减速过程包含加减速运动、匀减速运动和减减速运动,其加速度变化示意图如下
在这里插入图片描述
计算运动的加速度
a={−Jmβt,0⩽t⩽βt1−am,0⩽t⩽t2,−am+Jmt,0⩽t⩽t1. \begin{aligned} a=\begin{cases} -\dfrac{J_m}{\beta}t, &0\leqslant t\leqslant\beta t_1 \\ -a_m, &0\leqslant t\leqslant t_2, \\ -a_m+J_mt, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} a=βJmt,am,am+Jmt,0tβt10tt2,0tt1.
其中,t1=amJmt_1=\dfrac{a_m}{J_m}t1=Jmam

计算运动的速度
v={v0−12Jmβt2,0⩽t⩽βt1v1−amt,0⩽t⩽t2,v2−amt+12Jmt2,0⩽t⩽t1. \begin{aligned} v=\begin{cases} v_0-\dfrac{1}{2}\dfrac{J_m}{\beta}t^2, &0\leqslant t\leqslant\beta t_1 \\ v_1-a_mt, &0\leqslant t\leqslant t_2, \\ v_2-a_mt+\dfrac{1}{2}J_mt^2, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} v=v021βJmt2,v1amt,v2amt+21Jmt2,0tβt10tt2,0tt1.
其中
{v1=v0−12Jmβt12=v0−12amβt1,v2=v1−amt2=v0−12amβt1−amt2,vm=v2−amt1+12Jmt12=v0−12amβt1−amt2−12amt1=v0−12amt1(1+β)−amt2. \begin{aligned} \begin{cases} v_1&=v_0-\dfrac{1}{2}J_m\beta t_1^2=v_0-\dfrac{1}{2}a_m\beta t_1, \\ v_2&=v_1-a_mt_2=v_0-\dfrac{1}{2}a_m\beta t_1-a_mt_2, \\ v_m&=v_2-a_mt_1+\dfrac{1}{2}J_mt_1^2=v_0-\dfrac{1}{2}a_m\beta t_1-a_mt_2-\dfrac{1}{2}a_mt_1 \\ &=v_0-\dfrac{1}{2}a_mt_1(1+\beta)-a_mt_2. \end{cases} \end{aligned} v1v2vm=v021Jmβt12=v021amβt1,=v1amt2=v021amβt1amt2,=v2amt1+21Jmt12=v021amβt1amt221amt1=v021amt1(1+β)amt2.
计算运动的距离
s={v0t−16Jmβt3,0⩽t⩽βt1s1+v1t−12amt2,0⩽t⩽t2,s2+v2t−12amt2+16Jmt3,0⩽t⩽t1. \begin{aligned} s=\begin{cases} v_0t-\dfrac{1}{6}\dfrac{J_m}{\beta}t^3, &0\leqslant t\leqslant\beta t_1 \\ s_1+v_1t-\dfrac{1}{2}a_mt^2, &0\leqslant t\leqslant t_2, \\ s_2+v_2t-\dfrac{1}{2}a_mt^2+\dfrac{1}{6}J_mt^3, &0\leqslant t\leqslant t_1. \end{cases} \end{aligned} s=v0t61βJmt3,s1+v1t21amt2,s2+v2t21amt2+61Jmt3,0tβt10tt2,0tt1.
其中
{s1=v0βt1−16Jmβ2t13=v0βt1−16amβ2t12,s2=s1+v1t2−12amt22=v0βt1−16amβ2t12+(v0−12amβt1)t2−12amt22=v0(βt1+t2)−16amβ2t12−12amβt1t2−12amt22,sm=s2+v2t1−12amt12+16Jmt13=v0(βt1+t2)−16amβ2t12−12amβt1t2−12amt22+(v0−12amβt1−amt2)t1−13amt12=v0(βt1+t2+t1)−16amt12(β2+3β+2)−12amt1t2(β+2)−12amt22=L. \begin{aligned} \begin{cases} s_1&=v_0\beta t_1-\dfrac{1}{6}J_m\beta^2t_1^3=v_0\beta t_1-\dfrac{1}{6}a_m\beta^2t_1^2, \\ s_2&=s_1+v_1t_2-\dfrac{1}{2}a_mt_2^2=v_0\beta t_1-\dfrac{1}{6}a_m\beta^2t_1^2 +(v_0-\dfrac{1}{2}a_m\beta t_1)t_2-\dfrac{1}{2}a_mt_2^2 \\ &=v_0(\beta t_1+t_2)-\dfrac{1}{6}a_m\beta^2t_1^2-\dfrac{1}{2}a_m\beta t_1t_2-\dfrac{1}{2}a_mt_2^2, \\ s_m&=s_2+v_2t_1-\dfrac{1}{2}a_mt_1^2+\dfrac{1}{6}J_mt_1^3 \\ &=v_0(\beta t_1+t_2)-\dfrac{1}{6}a_m\beta^2t_1^2-\dfrac{1}{2}a_m\beta t_1t_2-\dfrac{1}{2}a_mt_2^2 +(v_0-\dfrac{1}{2}a_m\beta t_1-a_mt_2)t_1-\dfrac{1}{3}a_mt_1^2 \\ &=v_0(\beta t_1+t_2+t_1)-\dfrac{1}{6}a_mt_1^2(\beta^2+3\beta+2) -\dfrac{1}{2}a_mt_1t_2(\beta+2)-\dfrac{1}{2}a_mt_2^2 \\ &=L. \end{cases} \end{aligned} s1s2sm=v0βt161Jmβ2t13=v0βt161amβ2t12,=s1+v1t221amt22=v0βt161amβ2t12+(v021amβt1)t221amt22=v0(βt1+t2)61amβ2t1221amβt1t221amt22,=s2+v2t121amt12+61Jmt13=v0(βt1+t2)61amβ2t1221amβt1t221amt22+(v021amβt1amt2)t131amt12=v0(βt1+t2+t1)61amt12(β2+3β+2)21amt1t2(β+2)21amt22=L.
于是,可以得到两个一元方程
{12amt22+[12amt1(β+2)−v0]t2+16amt12(β2+3β+2)−v0t1(1+β)+L=0,vm=v0−12amt1(1+β)−amt2. \begin{aligned} \begin{cases} \dfrac{1}{2}a_mt_2^2+\left[\dfrac{1}{2}a_mt_1(\beta+2)-v_0\right]t_2 +\dfrac{1}{6}a_mt_1^2(\beta^2+3\beta+2)-v_0t_1(1+\beta)+L=0, \\ v_m=v_0-\dfrac{1}{2}a_mt_1(1+\beta)-a_mt_2. \end{cases} \end{aligned} 21amt22+[21amt1(β+2)v0]t2+61amt12(β2+3β+2)v0t1(1+β)+L=0,vm=v021amt1(1+β)amt2.
求解第一个一元二次方程得到t2t_2t2,然后代入第二个方程即可得到最小终点速度vmv_mvm

在最短时间内运动的距离ΔS\Delta SΔS

已知起点速度v0v_0v0,最大速度vm(⩾v0)v_m(\geqslant v_0)vm(v0),最大加速度为ama_mam,加加速时最大加加速度为JmJ_mJm,减加速时最大加加速度为Jm′=JmαJ'_m=\dfrac{J_m}{\alpha}Jm=αJm,按照加速度梯形算法计算在最短时间内运动的距离ΔS\Delta SΔS

加速到最大加速度时速度的变化量ΔV\Delta VΔV

首先,计算按照最大加加速度,加速到最大加速度ama_mam时速度的变化量ΔV\Delta VΔV,其加速度变化示意图如下
在这里插入图片描述
t1=amJm,ΔV=12am(t1+αt1)=12amt1(1+α). \begin{aligned} &t_1=\dfrac{a_m}{J_m}, \\ &\Delta V=\dfrac{1}{2}a_m(t_1+\alpha t_1)=\dfrac{1}{2}a_mt_1(1+\alpha). \end{aligned} t1=Jmam,ΔV=21am(t1+αt1)=21amt1(1+α).

速度变化量(vm−v0)>ΔV(v_m-v_0)>\Delta V(vmv0)>ΔV

(vm−v0)>ΔV(v_m-v_0)>\Delta V(vmv0)>ΔV,则加速阶段包含匀加速过程,其加速度变化示意图如下
在这里插入图片描述
t1=amJm,vm−v0=12amt1(1+α)+amt2⟹t2=vm−v0am−12t1(1+α),ΔS=v0(t1+t2+αt1)+16amt12(1+3α+2α2)+12amt1t2(1+2α)+12amt22. \begin{aligned} &t_1=\dfrac{a_m}{J_m}, \\ &v_m-v_0=\dfrac{1}{2}a_mt_1(1+\alpha)+a_mt_2 \Longrightarrow t_2=\dfrac{v_m-v_0}{a_m} -\dfrac{1}{2}t_1(1+\alpha), \\ &\Delta S=v_0(t_1+t_2+\alpha t_1)+\dfrac{1}{6}a_mt_1^2(1+3\alpha+2\alpha^2) +\dfrac{1}{2}a_mt_1t_2(1+2\alpha) +\dfrac{1}{2}a_mt_2^2. \end{aligned} t1=Jmam,vmv0=21amt1(1+α)+amt2t2=amvmv021t1(1+α),ΔS=v0(t1+t2+αt1)+61amt12(1+3α+2α2)+21amt1t2(1+2α)+21amt22.

速度变化量(vm−v0)⩽ΔV(v_m-v_0)\leqslant\Delta V(vmv0)ΔV

(vm−v0)⩽ΔV(v_m-v_0)\leqslant\Delta V(vmv0)ΔV,则加速阶段不包含匀加速过程,其加速度变化示意图如下
在这里插入图片描述
vm−v0=12Jmt12(1+α)⟹t1=2(vm−v0)Jm(1+α),ΔS=v0t1(1+α)+16Jmt13(1+3α+2α2). \begin{aligned} &v_m-v_0=\dfrac{1}{2}J_mt_1^2(1+\alpha) \Longrightarrow t_1=\sqrt{\dfrac{2(v_m-v_0)}{J_m(1+\alpha)}}, \\ &\Delta S=v_0t_1(1+\alpha)+\dfrac{1}{6}J_mt_1^3(1+3\alpha+2\alpha^2). \end{aligned} vmv0=21Jmt12(1+α)t1=Jm(1+α)2(vmv0),ΔS=v0t1(1+α)+61Jmt13(1+3α+2α2).

加速度梯形算法的完整运动过程

假设已知各运动阶段的时间,如下示意图
在这里插入图片描述
完整的运动过程包含7个阶段,依次为加加速阶段、匀加速阶段、减加速阶段、匀速阶段、加减速阶段、匀减速阶段、减减速阶段,设起始速度为v0v_0v0,加加速阶段最大加加速度为JmJ_mJm,减减速阶段最大加加速度为JnJ_nJn,则

运动各阶段加速度为
{0⩽t⩽t1,a=Jmt,0⩽t⩽t2,a=Jmt1,0⩽t⩽αt1,a=Jmt1−Jmαt,0⩽t⩽t3,a=0,0⩽t⩽βt4,a=−Jnβt,0⩽t⩽t5,a=−Jnt4,0⩽t⩽t4,a=−Jnt4+Jnt. \begin{aligned} \begin{cases} 0\leqslant t\leqslant t_1, &a=J_mt, \\ 0\leqslant t\leqslant t_2, &a=J_mt_1, \\ 0\leqslant t\leqslant \alpha t_1, &a=J_mt_1-\dfrac{J_m}{\alpha}t, \\ 0\leqslant t\leqslant t_3, &a=0, \\ 0\leqslant t\leqslant \beta t_4, &a=-\dfrac{J_n}{\beta}t, \\ 0\leqslant t\leqslant t_5, &a=-J_nt_4, \\ 0\leqslant t\leqslant t_4, &a=-J_nt_4+J_nt. \end{cases} \end{aligned} 0tt1,0tt2,0tαt1,0tt3,0tβt4,0tt5,0tt4,a=Jmt,a=Jmt1,a=Jmt1αJmt,a=0,a=βJnt,a=Jnt4,a=Jnt4+Jnt.
运动各阶段速度为
{0⩽t⩽t1,v=v0+12Jmt2,0⩽t⩽t2,v=v1+Jmt1t,0⩽t⩽αt1,v=v2+Jmt1t−12Jmαt2,0⩽t⩽t3,v=v3,0⩽t⩽βt4,v=v4−12Jnβt2,0⩽t⩽t5,v=v5−Jnt4t,0⩽t⩽t4,v=v6−Jnt4t+12Jnt2.⟸{v1=v0+12Jmt12,v2=v1+Jmt1t2,v3=v2+Jmt1αt1−12Jmαt12=v2+12Jmαt12,v4=v3,v5=v4−12Jnβt42,v6=v5−Jnt4t5,ve=v6−Jnt42+12Jnt42=v6−12Jnt42. \begin{aligned} \begin{cases} 0\leqslant t\leqslant t_1, &v=v_0+\dfrac{1}{2}J_mt^2, \\ 0\leqslant t\leqslant t_2, &v=v_1+J_mt_1t, \\ 0\leqslant t\leqslant \alpha t_1, &v=v_2+J_mt_1t-\dfrac{1}{2}\dfrac{J_m}{\alpha}t^2, \\ 0\leqslant t\leqslant t_3, &v=v_3, \\ 0\leqslant t\leqslant \beta t_4, &v=v_4-\dfrac{1}{2}\dfrac{J_n}{\beta}t^2, \\ 0\leqslant t\leqslant t_5, &v=v_5-J_nt_4t, \\ 0\leqslant t\leqslant t_4, &v=v_6-J_nt_4t+\dfrac{1}{2}J_nt^2. \end{cases} \Longleftarrow \begin{cases} v_1&=v_0+\dfrac{1}{2}J_mt_1^2, \\ v_2&=v_1+J_mt_1t_2, \\ v_3&=v_2+J_mt_1\alpha t_1-\dfrac{1}{2}J_m\alpha t_1^2 \\ &=v_2+\dfrac{1}{2}J_m\alpha t_1^2, \\ v_4&=v_3, \\ v_5&=v_4-\dfrac{1}{2}J_n\beta t_4^2, \\ v_6&=v_5-J_nt_4t_5, \\ v_e&=v_6-J_nt_4^2+\dfrac{1}{2}J_nt_4^2 \\ &=v_6-\dfrac{1}{2}J_nt_4^2. \end{cases} \end{aligned} 0tt1,0tt2,0tαt1,0tt3,0tβt4,0tt5,0tt4,v=v0+21Jmt2,v=v1+Jmt1t,v=v2+Jmt1t21αJmt2,v=v3,v=v421βJnt2,v=v5Jnt4t,v=v6Jnt4t+21Jnt2.v1v2v3v4v5v6ve=v0+21Jmt12,=v1+Jmt1t2,=v2+Jmt1αt121Jmαt12=v2+21Jmαt12,=v3,=v421Jnβt42,=v5Jnt4t5,=v6Jnt42+21Jnt42=v621Jnt42.
运动各阶段距离为
{0⩽t⩽t1,s=v0t+16Jmt3,0⩽t⩽t2,s=s1+v1t+12Jmt1t2,0⩽t⩽αt1,s=s2+v2t+12Jmt1t2−16Jmαt3,0⩽t⩽t3,s=s3+v3t,0⩽t⩽βt4,s=s4+v4t−16Jnβt3,0⩽t⩽t5,s=s5+v5t−12Jnt4t2,0⩽t⩽t4,s=s6+v6t−12Jnt4t2+16Jnt3.⟸{s1=v0t1+16Jmt13,s2=s1+v1t2+12Jmt1t22,s3=s2+v2αt1+12Jmt1α2t12−16Jmα2t13=s2+v2αt1+13Jmα2t13,s4=s3+v3t3,s5=s4+v4βt4−16Jnβ2t43,s6=s5+v5t5−12Jnt4t52,se=s6+v6t4−12Jnt43+16Jnt43=s6+v6t4−13Jnt43. \begin{aligned} \begin{cases} 0\leqslant t\leqslant t_1, &s=v_0t+\dfrac{1}{6}J_mt^3, \\ 0\leqslant t\leqslant t_2, &s=s_1+v_1t+\dfrac{1}{2}J_mt_1t^2, \\ 0\leqslant t\leqslant \alpha t_1, &s=s_2+v_2t+\dfrac{1}{2}J_mt_1t^2-\dfrac{1}{6}\dfrac{J_m}{\alpha}t^3, \\ 0\leqslant t\leqslant t_3, &s=s_3+v_3t, \\ 0\leqslant t\leqslant \beta t_4, &s=s_4+v_4t-\dfrac{1}{6}\dfrac{J_n}{\beta}t^3, \\ 0\leqslant t\leqslant t_5, &s=s_5+v_5t-\dfrac{1}{2}J_nt_4t^2, \\ 0\leqslant t\leqslant t_4, &s=s_6+v_6t-\dfrac{1}{2}J_nt_4t^2+\dfrac{1}{6}J_nt^3. \end{cases} \Longleftarrow \begin{cases} s_1&=v_0t_1+\dfrac{1}{6}J_mt_1^3, \\ s_2&=s_1+v_1t_2+\dfrac{1}{2}J_mt_1t_2^2, \\ s_3&=s_2+v_2\alpha t_1+\dfrac{1}{2}J_mt_1\alpha^2t_1^2-\dfrac{1}{6}J_m\alpha^2t_1^3 \\ &=s_2+v_2\alpha t_1+\dfrac{1}{3}J_m\alpha^2t_1^3, \\ s_4&=s_3+v_3t_3, \\ s_5&=s_4+v_4\beta t_4-\dfrac{1}{6}J_n\beta^2t_4^3, \\ s_6&=s_5+v_5t_5-\dfrac{1}{2}J_nt_4t_5^2, \\ s_e&=s_6+v_6t_4-\dfrac{1}{2}J_nt_4^3+\dfrac{1}{6}J_nt_4^3 \\ &=s_6+v_6t_4-\dfrac{1}{3}J_nt_4^3. \end{cases} \end{aligned} 0tt1,0tt2,0tαt1,0tt3,0tβt4,0tt5,0tt4,s=v0t+61Jmt3,s=s1+v1t+21Jmt1t2,s=s2+v2t+21Jmt1t261αJmt3,s=s3+v3t,s=s4+v4t61βJnt3,s=s5+v5t21Jnt4t2,s=s6+v6t21Jnt4t2+61Jnt3.s1s2s3s4s5s6se=v0t1+61Jmt13,=s1+v1t2+21Jmt1t22,=s2+v2αt1+21Jmt1α2t1261Jmα2t13=s2+v2αt1+31Jmα2t13,=s3+v3t3,=s4+v4βt461Jnβ2t43,=s5+v5t521Jnt4t52,=s6+v6t421Jnt43+61Jnt43=s6+v6t431Jnt43.

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值