已知线段长度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,0⩽t⩽t1,0⩽t⩽α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+amt−21αJmt2,0⩽t⩽t1,0⩽t⩽α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+21amt2−61αJmt3,0⩽t⩽t1,0⩽t⩽α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α2t12−61Jmα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,0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽α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+amt−21αJmt2,0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽α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αt1−21Jmα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+21amt2−61αJmt3,0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽α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α2t12−61Jmα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 SL⩽S
若L⩽SL\leqslant SL⩽S,则整个加速过程只包含加加速运动和减加速运动,其加速度变化示意图如下

计算运动的加速度
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,0⩽t⩽t1,0⩽t⩽α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+Jmt1t−21αJmt2,0⩽t⩽t1,0⩽t⩽α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αt1−21Jmα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+21Jmt1t2−61αJmt3,0⩽t⩽t1,0⩽t⩽α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α2t12−61Jmα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+α)t1−L=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_0vmax⩾v0,则能达到的最小终点速度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,0⩽t⩽βt1,0⩽t⩽t1.
其中,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=⎩⎪⎨⎪⎧v0−21βJmt2,v1−amt+21Jmt2,0⩽t⩽βt1,0⩽t⩽t1.
其中
{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=v0−21Jmβt12=v0−21amβt1,=v1−amt1+21Jmt12=v0−21amβt1−21amt1=v0−21amt1(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=⎩⎪⎨⎪⎧v0t−61βJmt3,s1+v1t−21amt2+61Jmt3,0⩽t⩽βt1,0⩽t⩽t1.
其中
{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βt1−61Jmβ2t13=v0βt1−61amβ2t12,=s1+v1t1−21amt12+61Jmt13=v0βt1−61amβ2t12+(v0−21amβt1)t1−31amt12=v0t1(1+β)−61amt12(β2+3β+2).
减速到最大加速度时运动的速度VVV和SSS为
{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=v0−21amt1(1+β),S=sm=v0t1(1+β)−61amt12(β2+3β+2).
V⩽0V\leqslant0V⩽0或者线段的长度L⩽SL\leqslant SL⩽S
若V⩽0V\leqslant0V⩽0或者L⩽SL\leqslant SL⩽S,则整个减速过程只包含加减速运动和减减速运动,其加速度变化示意图如下

计算运动的加速度
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,0⩽t⩽βt1,0⩽t⩽t1.
计算运动的速度
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=⎩⎪⎨⎪⎧v0−21βJmt2,v1−Jmt1t+21Jmt2,0⩽t⩽βt1,0⩽t⩽t1.
其中
{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=v0−21Jmβt12,=v1−Jmt1t1+21Jmt12=v0−21Jmβt12−21Jmt12=v0−21Jmt12(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=⎩⎪⎨⎪⎧v0t−61βJmt3,s1+v1t−21Jmt1t2+61Jmt3,0⩽t⩽βt1,0⩽t⩽t1.
其中
{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βt1−61Jmβ2t13,=s1+v1t1−21Jmt1t12+61Jmt13=v0βt1−61Jmβ2t13+(v0−21Jmβt12)t1−31Jmt13=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)t13−v0(1+β)t1+L=0,vm=v0−21Jmt12(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,0⩽t⩽βt10⩽t⩽t2,0⩽t⩽t1.
其中,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=⎩⎪⎪⎪⎨⎪⎪⎪⎧v0−21βJmt2,v1−amt,v2−amt+21Jmt2,0⩽t⩽βt10⩽t⩽t2,0⩽t⩽t1.
其中
{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=v0−21Jmβt12=v0−21amβt1,=v1−amt2=v0−21amβt1−amt2,=v2−amt1+21Jmt12=v0−21amβt1−amt2−21amt1=v0−21amt1(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=⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧v0t−61βJmt3,s1+v1t−21amt2,s2+v2t−21amt2+61Jmt3,0⩽t⩽βt10⩽t⩽t2,0⩽t⩽t1.
其中
{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βt1−61Jmβ2t13=v0βt1−61amβ2t12,=s1+v1t2−21amt22=v0βt1−61amβ2t12+(v0−21amβt1)t2−21amt22=v0(βt1+t2)−61amβ2t12−21amβt1t2−21amt22,=s2+v2t1−21amt12+61Jmt13=v0(βt1+t2)−61amβ2t12−21amβt1t2−21amt22+(v0−21amβt1−amt2)t1−31amt12=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=v0−21amt1(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(vm−v0)>ΔV
若(vm−v0)>ΔV(v_m-v_0)>\Delta V(vm−v0)>Δ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,vm−v0=21amt1(1+α)+amt2⟹t2=amvm−v0−21t1(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(vm−v0)⩽ΔV
若(vm−v0)⩽ΔV(v_m-v_0)\leqslant\Delta V(vm−v0)⩽Δ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}
vm−v0=21Jmt12(1+α)⟹t1=Jm(1+α)2(vm−v0),Δ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}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽αt1,0⩽t⩽t3,0⩽t⩽βt4,0⩽t⩽t5,0⩽t⩽t4,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}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽αt1,0⩽t⩽t3,0⩽t⩽βt4,0⩽t⩽t5,0⩽t⩽t4,v=v0+21Jmt2,v=v1+Jmt1t,v=v2+Jmt1t−21αJmt2,v=v3,v=v4−21βJnt2,v=v5−Jnt4t,v=v6−Jnt4t+21Jnt2.⟸⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧v1v2v3v4v5v6ve=v0+21Jmt12,=v1+Jmt1t2,=v2+Jmt1αt1−21Jmαt12=v2+21Jmαt12,=v3,=v4−21Jnβt42,=v5−Jnt4t5,=v6−Jnt42+21Jnt42=v6−21Jnt42.
运动各阶段距离为
{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}
⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧0⩽t⩽t1,0⩽t⩽t2,0⩽t⩽αt1,0⩽t⩽t3,0⩽t⩽βt4,0⩽t⩽t5,0⩽t⩽t4,s=v0t+61Jmt3,s=s1+v1t+21Jmt1t2,s=s2+v2t+21Jmt1t2−61αJmt3,s=s3+v3t,s=s4+v4t−61βJnt3,s=s5+v5t−21Jnt4t2,s=s6+v6t−21Jnt4t2+61Jnt3.⟸⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧s1s2s3s4s5s6se=v0t1+61Jmt13,=s1+v1t2+21Jmt1t22,=s2+v2αt1+21Jmt1α2t12−61Jmα2t13=s2+v2αt1+31Jmα2t13,=s3+v3t3,=s4+v4βt4−61Jnβ2t43,=s5+v5t5−21Jnt4t52,=s6+v6t4−21Jnt43+61Jnt43=s6+v6t4−31Jnt43.

1302





