五次多项式轨迹生成

前言


三次多项式轨迹虽然在速度上连续,但加速度却不连续,为了使电机在加速度上也获得连续,因此除了首尾位置和速度的约束,还需要对首尾的加速度进行约束。因此共有六个约束条件:起始位置 s 0 s_0 s0 、结束位置 s f s_f sf 、起始速度 s ˙ 0 \dot{s}_0 s˙0 、结束速度 s ˙ f \dot{s}_f s˙f 、起始加速度 s ¨ 0 \ddot{s}_0 s¨0 、结束加速度 s ¨ f \ddot{s}_f s¨f

则可以用五次多项式来表示轨迹:
s ( t ) = a 0 + a 1   t + a 2   t 2 + a 3   t 3 + a 4   t 4 + a 5   t 5 (1) s(t)=a_{0}+a_{1} \, t+a_{2} \, t^{2}+a_{3} \, t^{3} + a_{4} \, t^{4} + a_{5} \, t^{5} \tag{1} s(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5(1)

求解轨迹方程未知参数


带入约束条件,其中 t 0 = 0 t_0 = 0 t0=0
s 0 =   a 0 s f =   a 0 + a 1   t f + a 2   t f 2 + a 3   t f 3 + a 4   t f 4 + a 5   t f 5 s ˙ 0 =   a 1 s ˙ f =   a 1 + 2 a 2   t f + 3 a 3   t f 2 + 4 a 4   t f 3 + 5 a 5   t f 4 s ¨ 0 =   2 a 2 s ¨ f =   2 a 2 + 6 a 3   t + 12 a 4   t f 2 + 20 a 5   t f 3 (2) \begin{align} s_{0}=\,& a_{0}\\ s_{f}=\,& a_{0}+a_{1} \, t_{f}+a_{2} \, t_{f}^{2}+a_{3} \, t_{f}^{3}+ a_{4} \, t_{f}^{4} + a_{5} \, t_{f}^{5} \\ \dot{s}_{0}=\,& a_{1}\\ \dot{s}_{f}=\,& a_{1}+2 a_{2} \, t_{f}+3 a_{3} \, t_{f}^{2}+ 4a_{4} \, t_{f}^{3} + 5a_{5} \, t_{f}^{4} \\ \ddot{s}_{0}=\,& 2a_{2}\\ \ddot{s}_{f}=\,& 2a_{2}+6a_{3} \, t + 12a_{4} \, t_{f}^{2} + 20a_{5} \, t_{f}^{3} \end{align} \tag{2} s0=sf=s˙0=s˙f=s¨0=s¨f=a0a0+a1tf+a2tf2+a3tf3+a4tf4+a5tf5a1a1+2a2tf+3a3tf2+4a4tf3+5a5tf42a22a2+6a3t+12a4tf2+20a5tf3(2)
式(2)可转化为矩阵形式
[ s 0 s f s ˙ 0 s ˙ f s ¨ 0 s ¨ f ] = [ 1 0 0 0 0 0 1 t f t f 2 t f 3 t f 4 t f 5 0 1 0 0 0 0 0 1 2 t f 3 t f 2 4 t f 3 5 t f 4 0 0 2 0 0 0 0 0 2 6 t f 12 t f 2 20 t f 3 ] [ a 0 a 1 a 2 a 3 a 4 a 5 ] (3) \left[\begin{array}{c}s_{0} \\ s_{f} \\ \dot{s}_{0} \\ \dot{s}_{f} \\ \ddot{s}_{0} \\ \ddot{s}_{f}\end{array}\right] =\left[\begin{array}{cccc} 1 & 0 & 0 & 0 & 0 & 0\\ 1 & t_f & t_{f}^{2} & t_{f}^{3} & t_{f}^{4} & t_{f}^{5}\\ 0 & 1 & 0 & 0 & 0 & 0\\ 0 & 1 & 2 t_f & 3 t_{f}^{2} & 4 t_{f}^{3} & 5 t_{f}^{4}\\ 0 & 0 & 2 & 0 & 0 & 0\\ 0 & 0 & 2 & 6 t_f & 12 t_{f}^{2} & 20 t_{f}^{3}\end{array}\right] \left[\begin{array}{l} a_{0} \\ a_{1} \\ a_{2} \\ a_{3} \\ a_{4} \\ a_{5}\end{array}\right] \tag{3} s0sfs˙0s˙fs¨0s¨f = 1100000tf11000tf202tf220tf303tf206tf0tf404tf3012tf20tf505tf4020tf3 a0a1a2a3a4a5 (3)
求解矩阵方程组(当 Δ t ≠ 0 \Delta t \neq 0 Δt=0 时, d e t ( T 6 × 6 ) ≠ 0 det(T_{6 \times 6}) \neq 0 det(T6×6)=0
[ a 0 a 1 a 2 a 3 a 4 a 5 ] = [ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 2 0 − 10 t f 3 10 t f 3 − 6 t f 2 − 4 t f 2 − 3 2 t f 1 2 t f 15 t f 4 − 15 t f 4 8 t f 3 7 t f 3 3 2 t f 2 − 1 t f 2 − 6 t f 5 6 t f 5 − 3 t f 4 − 3 t f 4 1 2 t f 3 1 2 t f 3 ] [ s 0 s f s ˙ 0 s ˙ f s ¨ 0 s ¨ f ] (4) \left[ \begin{array}{l} a_0\\ a_1\\ a_2\\ a_3\\ a_4\\ a_5\\ \end{array} \right] =\left[ \begin{matrix} 1& 0& 0& 0& 0& 0\\ 0& 0& 1& 0& 0& 0\\ 0& 0& 0& 0& \frac{1}{2}& 0\\ -\frac{10}{t_{f}^{3}}& \frac{10}{t_{f}^{3}}& -\frac{6}{t_{f}^{2}}& -\frac{4}{t_{f}^{2}}& -\frac{3}{2t_f}& \frac{1}{2t_f}\\ \frac{15}{t_{f}^{4}}& -\frac{15}{t_{f}^{4}}& \frac{8}{t_{f}^{3}}& \frac{7}{t_{f}^{3}}& \frac{3}{2t_{f}^{2}}& -\frac{1}{t_{f}^{2}}\\ -\frac{6}{t_{f}^{5}}& \frac{6}{t_{f}^{5}}& -\frac{3}{t_{f}^{4}}& -\frac{3}{t_{f}^{4}}& \frac{1}{2t_{f}^{3}}& \frac{1}{2t_{f}^{3}}\\ \end{matrix} \right] \left[ \begin{array}{c} s_0\\ s_f\\ \dot{s}_0\\ \dot{s}_f\\ \ddot{s}_0\\ \ddot{s}_f\\ \end{array} \right] \tag{4} a0a1a2a3a4a5 = 100tf310tf415tf56000tf310tf415tf56010tf26tf38tf43000tf24tf37tf4300212tf32tf232tf310002tf1tf212tf31 s0sfs˙0s˙fs¨0s¨f (4)
式(4)也可转化为代数形式
{ a 0 = s 0 a 1 = s ˙ 0 a 2 = s ¨ 0 2 a 3 = 20 s f − 20 s 0 − ( 8 s ˙ f + 12 s ˙ 0 ) t f − ( 3 s ¨ 0 − s ¨ f ) t f 2 2 t f 3 a 4 = 30 s 0 − 30 s f + ( 14 s ˙ f + 16 s ˙ 0 ) t f + ( 3 s ¨ 0 − 2 s ¨ f ) t f 2 2 t f 4 a 5 = 12 s f − 12 s 0 − ( 6 s ˙ f + 6 s ˙ 0 ) t f − ( s ¨ 0 − s ¨ f ) t f 2 2 t f 5 (5) \left\{ \begin{array}{l} a_0=s_0\\ a_1=\dot{s}_0\\ a_2=\frac{\ddot{s}_0}{2}\\ a_3=\frac{20s_f-20s_0-\left( 8\dot{s}_f+12\dot{s}_0 \right) t_f-\left( 3\ddot{s}_0-\ddot{s}_f \right) t_{f}^{2}}{2t_{f}^{3}}\\ a_4=\frac{30s_0-30s_f+\left( 14\dot{s}_f+16\dot{s}_0 \right) t_f+\left( 3\ddot{s}_0-2\ddot{s}_f \right) t_{f}^{2}}{2t_{f}^{4}}\\ a_5=\frac{12s_f-12s_0-\left( 6\dot{s}_f+6\dot{s}_0 \right) t_f-\left( \ddot{s}_0-\ddot{s}_f \right) t_{f}^{2}}{2t_{f}^{5}}\\ \end{array} \right. \tag{5} a0=s0a1=s˙0a2=2s¨0a3=2tf320sf20s0(8s˙f+12s˙0)tf(3s¨0s¨f)tf2a4=2tf430s030sf+(14s˙f+16s˙0)tf+(3s¨02s¨f)tf2a5=2tf512sf12s0(6s˙f+6s˙0)tf(s¨0s¨f)tf2(5)

输出轨迹方程


{ s ( t ) =   a 0 + a 1   t + a 2   t 2 + a 3   t 3 + a 4   t 4 + a 5   t 5 s ˙ ( t ) =   a 1 + 2 a 2   t + 3 a 3   t 2 + 4 a 4   t 3 + 5 a 5   t 4 s ¨ ( t ) =   2 a 2 + 6 a 3   t + 12 a 4   t 2 + 20 a 5   t 3 (6) \left\{ \begin{array}{l} s\left( t \right) =\,a_0+a_1\,t+a_2\,t^2+a_3\,t^3+a_4\,t^4+a_5\,t^5\\ \dot{s}\left( t \right) =\,a_1+2a_2\,t+3a_3\,t^2+4a_4\,t^3+5a_5\,t^4\\ \ddot{s}\left( t \right) =\,2a_2+6a_3\,t+12a_4\,t^2+20a_5\,t^3\\ \end{array} \right. \tag{6} s(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5s˙(t)=a1+2a2t+3a3t2+4a4t3+5a5t4s¨(t)=2a2+6a3t+12a4t2+20a5t3(6)

总结


多项式轨迹曲线都没办法控制匀速,且次数越高,加速时间越长,平均速度低

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值