运动控制--双S型 + PID

news2024/11/25 13:00:20

运动控制--双S型 + PID

  • 1 介绍
    • 1.1 概述
    • 1.2 梯形速度曲线 VS 双S型速度曲线
  • 2 运动控制器
    • 2.1 运动控制器的构成
    • 2.2 轨迹生成器
    • 2.3 插补器
    • 2.4 控制回路
  • 3 PID
  • 4 双 S 型
    • 4.1 介绍
    • 4.2 双S模型(7段S型)
      • 规划参数
      • 算法公式
      • 轨迹分类
  • 5 多种速度规划对比 【引用 Marc Pony】
  • 6 示例
    • 基于PID控制策略的机械臂轨迹跟踪控制
    • Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots
    • Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints
  • 参考

1 介绍

1.1 概述

实现单电机的双 S 型轨迹规划,加上PID控制。
理想状态下,双S型完全可以平滑的控制速度达到自己的期望。实际运算和控制时,周期不稳定,响应不及时等,会造成偏差,这个时候就需要PID来控制,进一步保证运动平滑。

1.2 梯形速度曲线 VS 双S型速度曲线

梯形速度规划的加速度曲线是不连续的,这对于系统是有害的。从机械系统的角度来说,不连续的加速度会产生不必要的冲击力,使得机械系统产生抖动甚至破坏。双S型速度规划采用两段线性区间组合的方法解决加速度不连续的问题,线性段端点处采用抛物线过渡的方法,保证连接处的加速度曲线连续。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2 运动控制器

2.1 运动控制器的构成

运动控制器由轨迹生成器、插补器、控制回路和步序发生器四部分构成,如图 2-3 所示。其基本原理为:运动控制器根据任务的需要,首先由轨迹生成器计算出任务希望的理想轨迹,插补器根据位置或者速度反馈单元的实际状态,按照轨迹生成器的要求,计算出驱动单元下一步将要执行的命令,然后交由控制回路进行精确控制。如果是步进电机,则还有一部分就是步序发生器,步序发生器根据控制回路控制指令进一步生成控制相序和脉冲,达到控制运动对象的目的。
在这里插入图片描述

2.2 轨迹生成器

轨迹生成器的主要作用就是根据运动任务要求,为系统生成运动轨迹,作为运动系统控制器插补器的输入设定。轨迹生成器的职责是把运动控制器的输入转化为系统希望得到的理想轨迹。运动轨迹是运动系统必须要完成的运动任务。就运动控制器而言,轨迹生成器是运动控制器三个核心部件之一,轨迹生成器性能好与坏对运动控制器起着至关重要的作用。我们这里所说的轨迹是广义上的轨迹,广义上的轨迹可以是路径或者轮廓轨迹,也可以是速度轨迹,还可以是加速度轨迹。狭义上的轨迹则特指路径或者轮廓轨迹。

如下是单轴点对点运动轨迹:
在这里插入图片描述

2.3 插补器

插补器是运动控制器中的算法。所谓“插补”,就是在一条已知起点和终点的曲线上进行数据点的密化。通常,可以采用的形式有简单的一次插补、二次插补或者更为复杂一些的三次样条函数插补。插补结果将送入控制回路。
在这里插入图片描述
按照数学模型,可分为一次(直线插补)、二次(圆弧插补、抛物线插补、椭圆、双曲线、二次样条曲线)和高次(样条线插补)。

目前,应用最多的插补分为两类:基准脉冲插补和数据采样插补。

2.4 控制回路

在运动控制器中固化有控制算法,由算法依据期望的位置或速度与实际的位置或速度的差值信号进行计算。运动控制器通常使用增强型 PID(比例、积分、微分)算法,使得控制功能更加强大。PID 的增益设定值决定控制回路的控制能力。

3 PID

在这里插入图片描述
在这里插入图片描述
e ( t ) = K p e ( t ) + K i ∫ 0 t e ( t ) d t + K d d e ( t ) d t t ≈ k τ ( k = 0 , 1 , 2 , . . . ) u ( t ) ≈ u ( k ) e ( t ) ≈ e ( k ) ∫ 0 t e ( τ ) d τ ≈ τ ∑ j = 0 k e ( j τ ) = τ ∑ j = 0 k e j d e ( t ) d t ≈ e ( k τ ) − e ( ( k − 1 ) τ ) τ = e k − e k − 1 τ u ( k ) = K p e ( k ) + K i τ ∑ j = 0 k e ( j ) + K d e ( k ) − e ( k − 1 ) τ u ( k − 1 ) = K p e ( k − 1 ) + K i τ ∑ j = 0 k − 1 e ( j ) + K d e ( k − 1 ) − e ( k − 2 ) τ K i = K p T i K d = K p T d K I = K p ∗ τ T i = K i τ K D = K p T d τ = K D τ Δ u k = u ( k ) − u ( k − 1 ) = K p ( e ( k ) − e ( k − 1 ) + τ T i e ( k ) + T d e ( k ) − 2 e ( k − 1 ) + e ( k − 2 ) τ ) = K p ( 1 + τ T i + T d τ ) e ( k ) − K p ( 1 + 2 T d τ ) e ( k − 1 ) + K p T d τ e ( k − 2 ) = A e ( k ) + B e ( k − 1 ) + C e ( k − 2 ) \begin{align} e(t) & = K_pe(t) + K_i\int_{0}^{t}e(t)dt + K_d\frac{de(t)}{dt} \tag{1-1} \\ \notag \\ t & ≈ k \tau (k=0,1,2,...) \notag\\ u(t) & ≈ u(k) \notag \\ e(t) & ≈ e(k) \notag \\ \int_{0}^{t}e(τ)dτ & ≈ \tau \sum_{j=0}^k e(j \tau) = \tau \sum_{j=0}^k e_j \tag{1-2} \\ \dfrac{de(t)}{dt} & ≈ \dfrac{e(k\tau)-e((k-1)\tau)}{\tau} = \dfrac{e_k-e_{k-1}}{\tau} \notag \\ \notag \\ u(k) & =K_pe(k)+K_i \tau \sum_{j=0}^{k}e(j) + K_d \dfrac{e(k)-e(k-1)}{\tau} \tag{1-3} \\ u(k-1) & = K_pe(k-1)+K_i \tau \sum_{j=0}^{k-1}e(j) + K_d \dfrac{e(k-1)-e(k-2)}{\tau} \tag{1-4} \\ \notag \\ K_i & = \dfrac{K_p}{T_i} \notag\\ K_d & = K_pT_d \notag\\ K_I & = \dfrac{K_p*\tau}{T_i} = K_i \tau \tag{1-5} \\ K_D & = K_p\dfrac{T_d}{\tau} = \dfrac{K_D}{\tau} \notag\\ \notag \\ \Delta u_k = u(k) - u(k-1) & = K_p \Bigl(e(k)-e(k-1)+ \dfrac{\tau}{T_i} e(k) + T_d \dfrac{e(k)-2e(k-1)+e(k-2)}{\tau} \Bigl) \notag \\ & = K_p(1+\dfrac{\tau}{T_i}+\dfrac{T_d}{\tau})e(k) - K_p(1+\dfrac{2T_d}{\tau})e(k-1)+K_p\dfrac{T_d}{\tau}e(k-2) \tag{1-6} \\ & = Ae(k) + Be(k-1) + Ce(k-2) \notag \end{align} e(t)tu(t)e(t)0te(τ)dτdtde(t)u(k)u(k1)KiKdKIKDΔuk=u(k)u(k1)=Kpe(t)+Ki0te(t)dt+Kddtde(t)kτ(k=0,1,2,...)u(k)e(k)τj=0ke(jτ)=τj=0kejτe(kτ)e((k1)τ)=τekek1=Kpe(k)+Kiτj=0ke(j)+Kdτe(k)e(k1)=Kpe(k1)+Kiτj=0k1e(j)+Kdτe(k1)e(k2)=TiKp=KpTd=TiKpτ=Kiτ=KpτTd=τKD=Kp(e(k)e(k1)+Tiτe(k)+Tdτe(k)2e(k1)+e(k2))=Kp(1+Tiτ+τTd)e(k)Kp(1+τ2Td)e(k1)+KpτTde(k2)=Ae(k)+Be(k1)+Ce(k2)(1-1)(1-2)(1-3)(1-4)(1-5)(1-6)

4 双 S 型

4.1 介绍

双S型速度规划采用两段线性区间组合的方法解决加速度不连续的问题,线性段端点处采用抛物线过渡的方法,保证连接处的加速度曲线连续。从而减少机械系统的抖动。

双S型规划也叫铃型规划(Bell)、七段S型速度规划。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.2 双S模型(7段S型)

如下参考:

  • 《ADAPTIVE MOTION PLANNING FOR A MOBILE ROBOT》CLARA GIFRE OLIVERAS. Master’s Thesis Degree Programme in Computer Science and Engineering June 2013
  • 一文教你快速搞懂速度曲线规划之S形曲线(超详细+图文+推导+附件代码)
  • 【自动驾驶】运动规划丨速度规划丨T型/S型速度曲线

在这里插入图片描述
观察上述速度曲线图,可以将整个运动可分为A M D三个过程,分别是:

  • 加速阶段(Acceleration Phase, AP)
  • 最大速度阶段(Maximum Phase, MP)
  • 减速阶段(Deceleration Phase, DP)

在这里插入图片描述

规划参数

J:Jerk,加加速度;
A m a x A_{max} Amax:最大加速度;
D m a x D_{max} Dmax:最大减速度;
V s V_s Vs:系统初速度;
V e V_e Ve:系统末速度;
T i ( i = 1 , 2 , . . , 7 ) T_i(i=1,2,..,7) Ti(i=1,2,..,7):表示各个阶段的运行时间;
v i ( i = 1 , 2 , . . , 7 ) v_i(i=1,2,..,7) vi(i=1,2,..,7):表示各个运行结束时的速度值;
τ i = t − t i − 1 , ( i = 1 , 2 , . . , 7 ) \tau_i = t - t_{i - 1}, (i=1,2,..,7) τi=tti1,(i=1,2,..,7) τ i ∈ ( t i − 1 , t i ) \tau_i \in (t_{i - 1}, t_i) τi(ti1,ti)
F:系统可以达到的最大进给速度;

算法公式

j ( t ) = { J 0 ≤ t < t 1 0 t 1 ≤ t < t 2 − J t 2 ≤ t < t 3 0 t 3 ≤ t < t 4 − J t 4 ≤ t < t 5 0 t 5 ≤ t < t 6 J t 6 ≤ t < t 7 a ( t ) = { a 0 + J τ 1 0 ≤ t < t 1 A m a x t 1 ≤ t < t 2 A m a x − J τ 3 t 2 ≤ t < t 3 0 t 3 ≤ t < t 4 − J τ 5 t 4 ≤ t < t 5 − D m a x t 5 ≤ t < t 6 − D m a x + J τ 7 t 6 ≤ t < t 7 v ( t ) = { v 0 + a 0 τ 1 + 1 2 J τ 1 2 0 ≤ t < t 1 v 1 = v 0 + a 0 T 1 + 1 2 J T 1 2 v 1 + A m a x τ 2 t 1 ≤ t < t 2 v 2 = v 1 + A m a x T 2 v 2 + A m a x τ 3 − 1 2 J τ 3 2 t 2 ≤ t < t 3 v 3 = v 2 + A m a x T 3 − 1 2 J T 3 2 v 3 t 3 ≤ t < t 4 v 4 = v 3 v 4 − 1 2 J τ 5 2 t 4 ≤ t < t 5 v 5 = v 4 − 1 2 J T 5 2 v 5 − D m a x τ 6 t 5 ≤ t < t 6 v 6 = v 5 − D m a x T 6 v 6 − D m a x τ 7 + 1 2 J τ 7 2 t 6 ≤ t < t 7 v 7 = v 6 − D m a x T 7 + 1 2 J T 7 2 s ( t ) = { s 0 + v 0 τ 1 + 1 2 a 0 τ 1 2 + 1 6 J τ 1 3 0 ≤ t < t 1 s 1 = s 0 + v 0 T 1 + 1 2 a 0 T 1 2 + 1 6 J T 1 3 s 1 + v 1 τ 2 + 1 2 A m a x τ 2 2 t 1 ≤ t < t 2 s 2 = s 1 + v 1 T 2 + 1 2 A m a x T 2 2 s 2 + v 2 τ 3 + 1 2 A m a x τ 3 2 − 1 6 J τ 3 3 t 2 ≤ t < t 3 s 3 = s 2 + v 2 T 3 + 1 2 A m a x T 3 2 − 1 6 J T 3 3 s 3 + v 3 τ 4 t 3 ≤ t < t 4 v 4 = s 3 + v 3 T 4 s 4 + v 4 τ 5 − 1 6 J τ 5 3 t 4 ≤ t < t 5 s 5 = s 4 + v 4 T 5 − 1 6 J T 5 3 s 5 + v 5 τ 6 − 1 2 D m a x τ 6 2 t 5 ≤ t < t 6 s 6 = s 5 + v 5 T 6 − 1 2 D m a x T 6 2 s 6 + v 6 τ 7 − 1 2 D m a x τ 7 2 + 1 6 J τ 7 3 t 6 ≤ t < t 7 s 7 = s 6 + v 6 T 7 − 1 2 D m a x T 7 2 + 1 6 J T 7 3 \begin{align} j(t) & = \tag{2-1} \begin{cases} J &\qquad \qquad 0 \leq t < t_1 \\ 0 &\qquad \qquad t_1 \leq t < t_2 \\ -J &\qquad \qquad t_2 \leq t < t_3 \\ 0 &\qquad \qquad t_3 \leq t < t_4 \\ -J &\qquad \qquad t_4 \leq t < t_5 \\ 0 &\qquad \qquad t_5 \leq t < t_6 \\ J &\qquad \qquad t_6 \leq t < t_7 \\ \end{cases} \\ a(t) & = \tag{2-2} \begin{cases} a_0 + J \tau_1 &\qquad 0 \leq t < t_1 \\ A_{max} &\qquad t_1 \leq t < t_2 \\ A_{max} - J \tau_3 &\qquad t_2 \leq t < t_3 \\ 0 &\qquad t_3 \leq t < t_4 \\ -J \tau_5 &\qquad t_4 \leq t < t_5 \\ -D_{max} &\qquad t_5 \leq t < t_6 \\ -D_{max} + J \tau_7 &\qquad t_6 \leq t < t_7 \\ \end{cases} \\ v(t) & = \tag{2-3} \begin{cases} v_0 + a_0 \tau_1 + \frac{1}{2}J \tau^2_1 & 0 \leq t < t_1 \qquad v_1 = v_0 + a_0 T_1 + \frac{1}{2}J T^2_1 \\ v_1 + A_{max} \tau_2 & t_1 \leq t < t_2 \qquad v_2 = v_1 + A_{max}T_2 \\ v_2 + A_{max} \tau_3 - \frac{1}{2}J \tau^2_3 & t_2 \leq t < t_3 \qquad v_3 = v_2 + A_{max}T_3 - \frac{1}{2}J T^2_3 \\ v_3 & t_3 \leq t < t_4 \qquad v_4 = v_3 \\ v_4 - \frac{1}{2}J \tau^2_5 & t_4 \leq t < t_5 \qquad v_5 = v_4 - \frac{1}{2}J T^2_5\\ v_5 - D_{max}\tau_6 & t_5 \leq t < t_6 \qquad v_6 = v_5 - D_{max} T_6 \\ v_6 -D_{max}\tau_7 + \frac{1}{2}J \tau^2_7 & t_6 \leq t < t_7 \qquad v_7 = v_6 - D_{max}T_7 + \frac{1}{2}J T^2_7\\ \end{cases} \\ s(t) & = \tag{2-4} \begin{cases} s_0 + v_0 \tau_1 + \frac{1}{2}a_0 \tau^2_1 + \frac{1}{6}J \tau^3_1 & 0 \leq t < t_1 \qquad s_1 = s_0 + v_0 T_1 + \frac{1}{2}a_0 T^2_1 + \frac{1}{6}J T^3_1 \\ s_1 + v_1 \tau_2 + \frac{1}{2}A_{max} \tau^2_2 & t_1 \leq t < t_2 \qquad s_2 =s_1 + v_1 T_2 + \frac{1}{2} A_{max}T^2_2 \\ s_2 + v_2 \tau_3 + \frac{1}{2}A_{max} \tau^2_3 - \frac{1}{6}J \tau^3_3 & t_2 \leq t < t_3 \qquad s_3 = s_2 + v_2 T_3 + \frac{1}{2} A_{max}T^2_3 - \frac{1}{6}J T^3_3 \\ s_3 + v_3 \tau_4 & t_3 \leq t < t_4 \qquad v_4 = s_3 + v_3T_4 \\ s_4 + v_4 \tau_5 - \frac{1}{6}J \tau^3_5 & t_4 \leq t < t_5 \qquad s_5 = s_4 + v_4 T_5 - \frac{1}{6}J T^3_5\\ s_5 + v_5 \tau_6 - \frac{1}{2}D_{max}\tau^2_6 & t_5 \leq t < t_6 \qquad s_6 = s_5 + v_5 T_6 - \frac{1}{2}D_{max} T^2_6 \\ s_6 + v_6 \tau_7 -\frac{1}{2} D_{max}\tau^2_7 + \frac{1}{6}J \tau^3_7 & t_6 \leq t < t_7 \qquad s_7 = s_6 + v_6T_7 - \frac{1}{2}D_{max}T^2_7 + \frac{1}{6}J T^3_7\\ \end{cases} \\ \end{align} j(t)a(t)v(t)s(t)= J0J0J0J0t<t1t1t<t2t2t<t3t3t<t4t4t<t5t5t<t6t6t<t7= a0+Jτ1AmaxAmaxJτ30Jτ5DmaxDmax+Jτ70t<t1t1t<t2t2t<t3t3t<t4t4t<t5t5t<t6t6t<t7= v0+a0τ1+21Jτ12v1+Amaxτ2v2+Amaxτ321Jτ32v3v421Jτ52v5Dmaxτ6v6Dmaxτ7+21Jτ720t<t1v1=v0+a0T1+21JT12t1t<t2v2=v1+AmaxT2t2t<t3v3=v2+AmaxT321JT32t3t<t4v4=v3t4t<t5v5=v421JT52t5t<t6v6=v5DmaxT6t6t<t7v7=v6DmaxT7+21JT72= s0+v0τ1+21a0τ12+61Jτ13s1+v1τ2+21Amaxτ22s2+v2τ3+21Amaxτ3261Jτ33s3+v3τ4s4+v4τ561Jτ53s5+v5τ621Dmaxτ62s6+v6τ721Dmaxτ72+61Jτ730t<t1s1=s0+v0T1+21a0T12+61JT13t1t<t2s2=s1+v1T2+21AmaxT22t2t<t3s3=s2+v2T3+21AmaxT3261JT33t3t<t4v4=s3+v3T4t4t<t5s5=s4+v4T561JT53t5t<t6s6=s5+v5T621DmaxT62t6t<t7s7=s6+v6T721DmaxT72+61JT73(2-1)(2-2)(2-3)(2-4)

T 1 = { A m a x J F ≥ v s + A m a x 2 J F − v s J F < v s + A m a x 2 J T 2 = { F − v s A m a x − A m a x J F ≥ v s + A m a x 2 J 0 F < v s + A m a x 2 J T 5 = { D m a x J F ≥ v e + D m a x 2 J F − v e J F < v e + D m a x 2 J T 6 = { F − v e D m a x − D m a x J F ≥ v s + D m a x 2 J 0 F < v e + D m a x 2 J \begin{align} T_1 & = \tag{2-1} \begin{cases} \frac{A_{max}}{J} &\qquad F \geq v_s + \frac{A^2_{max}}{J} \\ \sqrt{\frac{F - v_s}{J}} &\qquad F < v_s + \frac{A^2_{max}}{J} \end{cases} \\ T_2 & = \tag{2-2} \begin{cases} \frac{F - v_s}{A_{max}}- \frac{A_{max}}{J} & F \geq v_s + \frac{A^2_{max}}{J} \\ 0 & F < v_s + \frac{A^2_{max}}{J} \end{cases} \\ T_5 & = \tag{2-3} \begin{cases} \frac{D_{max}}{J} &\qquad F \geq v_e + \frac{D^2_{max}}{J} \\ \sqrt{\frac{F - v_e}{J}} &\qquad F < v_e + \frac{D^2_{max}}{J} \end{cases} \\ T_6 & = \tag{2-4} \begin{cases} \frac{F - v_e}{D_{max}} - \frac{D_{max}}{J} & F \geq v_s + \frac{D^2_{max}}{J} \\ 0 & F < v_e + \frac{D^2_{max}}{J} \end{cases} \\ \end{align} T1T2T5T6= JAmaxJFvs Fvs+JAmax2F<vs+JAmax2={AmaxFvsJAmax0Fvs+JAmax2F<vs+JAmax2= JDmaxJFve Fve+JDmax2F<ve+JDmax2={DmaxFveJDmax0Fvs+JDmax2F<ve+JDmax2(2-1)(2-2)(2-3)(2-4)

v 1 = v s + 1 2 J T 1 2 v 2 = v 1 + J T 1 T 2 v 3 = v s + J T 1 2 + J T 1 T 2 v 4 = v 3 v 5 = v 4 − 1 2 J T 5 2 v 6 = v 5 − J T 5 T 6 \begin{align} v_1 & = v_s + \frac{1}{2}JT^2_1 \notag \\ v_2 &= v_1 + J T_1 T_2 \notag \\ v_3 &= v_s + J T^2_1 + J T_1 T_2 \notag \\ v_4 &= v_3 \tag{2-5} \\ v_5 &= v_4 - \frac{1}{2}J T^2_5 \notag \\ v_6 &= v_5 - J T_5 T_6 \notag \\ \end{align} v1v2v3v4v5v6=vs+21JT12=v1+JT1T2=vs+JT12+JT1T2=v3=v421JT52=v5JT5T6(2-5)

轨迹分类

5 多种速度规划对比 【引用 Marc Pony】

From 速度规划(梯形、余弦、多项式、7段S型、7段修正S型、15段S型、31段S型)

连续性与平滑性:31段S型 > >> 多项式 ≈ 15段S型 > >> 7段修正S型 > >> 余弦 > >> 7段S型 > >> 梯形;
可控性:31段S型> >> 15段S型 > >> 7段修正S型 = 7段S型 = 多项式 > >> 余弦 = == 梯形;
规划总时间:多项式 > >> 余弦 > >> 31段S型 > >> 15段S型 > >> 7段修正S型 > >> 7段S型 > >> 梯形;
算法计算量:31段S型 > >> 15段S型 > >> 7段修正S型 > >> 7段S型 > >> 多项式 ≈ 余弦 > >> 梯形。

根据对比,7种速度规划算法大致可分为低中高端三档。
低档:梯形、余弦
中档:多项式、7段S型、7段修正S型
高档:15段S型、31段S型

规划模型描述速度
加速度
高阶导数
规划时间算法难度
计算量
图示
梯形位置平滑
速度连续但不平滑
加速度跳变
二次加速度出现无穷大跳变
速度、加速度可控
更高阶不可控
所有速度规划算法中
规划时间最短
算法最简单
计算量最小
在这里插入图片描述
余弦位置平滑
速度平滑
加速度连续但不够平滑
二次加速度跳变
速度、加速度可控
更高阶不可控
规划时间较长算法较简单
计算量较小
在这里插入图片描述
多项式位置平滑
速度平滑
加速度平滑
二次加速度连续但不够平滑
三次加速度跳变
速度、加速度可控
二次加速度可控
更高阶不可控
规划时间长算法较简单
计算量较小
在这里插入图片描述
7段S型位置平滑
速度平滑
加速度连续但不平滑
二次加速度跳变
速度、加速度可控
二次加速度可控
更高阶不可控
规划时间较短算法稍复杂
计算量稍大
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
7段修正S型位置平滑,速度平滑
加速度连续但不够平滑
二次加速度跳变
速度、加速度可控
二次加速度可控
更高阶不可控
规划时间较短算法稍复杂
计算量稍大
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
15段S型位置平滑,速度平滑,加速度平滑
二次加速度连续但不平滑
三次加速度跳变
速度、加速度可控
二次加速度可控
三次加速度可控
四次加速度不可控
规划时间稍长算法较复杂
计算量较大
在这里插入图片描述
31段S型位置平滑,速度平滑
加速度平滑
二次加速度平滑
三次加速度连续但不平滑
四次加速度跳变
位置的各阶导皆可控规划时间稍长算法较复杂
计算量较大
在这里插入图片描述

6 示例

基于PID控制策略的机械臂轨迹跟踪控制

基于PID控制策略的机械臂轨迹跟踪控制

在这里插入图片描述

Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots

Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots

在这里插入图片描述

Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints

Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints

在这里插入图片描述

参考

1、运动控制介绍
2、PID 算法详细介绍
3、《ADAPTIVE MOTION PLANNING FOR A MOBILE ROBOT》CLARA GIFRE OLIVERAS. Master’s Thesis
Degree Programme in Computer Science and Engineering June 2013
4、速度规划(梯形、余弦、多项式、7段S型、7段修正S型、15段S型、31段S型)
5、田军锋, 林浒, 姚壮, et al. 数控系统S型曲线加减速快速规划研究[J]. 小型微型计算机系统, 2013(01):168-172.
6、一文教你快速搞懂速度曲线规划之S形曲线(超详细+图文+推导+附件代码)
7、On Algorithms for Planning S-Curve Motion Profiles
Kim Doang Nguyen, Teck-Chew Ng, and I-Ming Chen.On Algorithms for Planning S-Curve Motion Profiles[J]. January 1, 2008.
8、机器人运动学轨迹规划
机器人运动学轨迹规划(一)
机器人运动学轨迹规划(二)----T型曲线规划算法
机器人运动学轨迹规划(三)----S型曲线规划算法
9、Tuning of fractional PID controllers with Ziegler–Nichols-type rules
10、基于PID控制策略的机械臂轨迹跟踪控制
11、无人机目标跟踪与运动控制④——PID轨迹跟踪控制(MATLAB)
12、New S-Curve feature
13、Velocity planning method for position–velocity–time control based on a modified S-shaped acceleration/deceleration algorithm
14、轨迹规划
15、SPMSM控制:根轨迹法设计位置电流双闭环
16、无人车系统(四):轨迹跟踪PID控制
17、APOLLO UDACITY自动驾驶课程笔记——规划、控制
18、多轴插补为什么普遍使用梯形速度曲线? - 韩峰涛(珞石CTO)
19、平滑轨迹插值方法之多项式插值(附代码)
20、【轨迹规划】Trajectory planning for automatic machines and robots
21、倪洪杰, 王宏霞, 俞立. 轮式移动机器人快速轨迹跟踪
22、Kinematically Constrained Jerk–Continuous S-Curve Trajectory Planning in Joint Space for Industrial Robots
23、Time-Optimal Asymmetric S-Curve Trajectory Planning of Redundant Manipulators under Kinematic Constraints
24、【自动驾驶】运动规划丨速度规划丨T型/S型速度曲线
25、七段S形速度曲线轨迹规划
26、双S型速度规划
(一)双S型速度规划 原理
(二)双S型速度规划 曲线形状的讨论
(三)双S型速度规划 C++实现
27、张立先, 李洪波, 高小山, 孙瑞勇. 高速 CNC 加工 S 型加减速方式连续小直线段插补算法
28、两万字简述自动驾驶路径规划的常用算法
29、王斌锐, 王涛, 李正刚, 陈立, 陈迪剑. 多路径段平滑过渡的自适应前瞻位姿插补算法
30、李振娜 , 王涛 , 王斌锐 , 郭振武 , 陈迪剑. 基于带约束S型速度曲线的机械手笛卡尔空间轨迹规划
31、普亚松, 史耀耀, 蔺小军, 张文斌, 陈振. 基于混合多项式插值的工业机器人关节运动规划
32、顾万里, 胡云峰, 宫 洵, 蔡 硕, 陈 虹. 给定速度需求的移动机器人路径跟踪控制与实验
33、Zhijie Li, Ligang Cai, Zhifeng LiuEf. ficient Planning and Solving Algorithm of s-Shape Acceleration and Deceleration
34、朱其新, 陈健亨, 张国平, 刘红俐, 史杰. 一种新型高精度S型加减速控制算法的研究
35、冯剑, 张文安, 倪洪杰, 丰其云. 轮式移动机器人轨迹跟踪的PID控制方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/743201.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机网络基础第一章

一、计算机网络的概念及功能 1.1 计算机网络的概念 三网&#xff1a;有线电视网络、电信网络、计算机网络。 三网融合&#xff1a;通过计算机网络可以将有线电视、电信网络通过0/1编码等方式展现进行融合&#xff0c;从而实现计算机网络实现视频、电话等其他网络功能。 四网&a…

git推送出现问题error: remote origin already exists.(解决)

阿丹&#xff1a; 推送git的时候出现问题&#xff0c; 报错remote orign already exists这个错误 错误原因 可能是因为clone下来一个别人的仓库&#xff0c;在此基础上完成你的代码&#xff0c;推送到自己的仓库可能遇到如下问题&#xff1a; error: remote origin already e…

Ubuntu 放弃了战斗向微软投降

导读这几天看到 Ubuntu 放弃 Unity 和 Mir 开发&#xff0c;转向 Gnome 作为默认桌面环境的新闻&#xff0c;作为一个Linux十几年的老兵和Linux桌面的开发者&#xff0c;内心颇感良多。Ubuntu 做为全世界Linux界的桌面先驱者和创新者&#xff0c;突然宣布放弃自己多年开发的Uni…

SSM+Shiro安全框架整合(完成安全认证--登录+权限授权)+ssm整合shiro前后端分离

目录 1.搭建SSM框架 1.1.引入相关的依赖 1.2. spring配置文件 1.3. web.xml配置文件 1.4.配置Tomcat并启动 2.ssm整合shiro---认证功能 (1).引入依赖 (2).修改spring配置文件 (3).修改web.xml文件 (4).新建login.jsp(登录页面) (5).新建success.jsp(登录成功后跳转到此…

POLARDB IMCI 白皮书 云原生HTAP 数据库系统 一 列式数据是如何存储与处理的

开头还是介绍一下群&#xff0c;如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题&#xff0c;有需求都可以加群群内有各大数据库行业大咖&#xff0c;CTO&#xff0c;可以解决你的问题。加群请联系 liuaustin3 &#xff0c;在新加的朋友会分到2群&#xff08;共…

VMware ESXi 7.0 U3n macOS Unlocker OEM BIOS (标准版和厂商定制版)

VMware ESXi 7.0 U3n macOS Unlocker & OEM BIOS (标准版和厂商定制版) ESXi 7.0 标准版和 Dell (戴尔)、HPE (慧与)、Lenovo (联想)、Inspur (浪潮)、Cisco (思科) 定制版镜像 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-esxi-7-u3-oem/&#xff0c;查看…

第一代Spring Cloud核心组件

第一代Spring Cloud核心组件&#xff08;Spring Cloud Netflix&#xff09; Eureka服务注册中心(服务注册中心:Eureka,Nacos,Zookeeper,Consul) Ribbon负载均衡 Hystrix熔断器 Feign远程调用组件(Feign RestTemplate Ribbon Hystrix) GateWay网关组件 Config分布式配置中心 …

刘铁猛C#教程笔记——详解类型,变量,和对象第1节

强/弱类型语言 强类型语言&#xff1a;所谓强类型语言就是变量的值十分依赖变量的类型&#xff0c;也就是说假如一个变量其类型是整型&#xff0c;那么你在为该整型变量进行赋值的时候就不可以为其赋值一个字符串类型的常量&#xff0c;C#语言就是典型的强类型语言弱类型语言&…

C# 颠倒二进制位

190 颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位。 提示&#xff1a; 请注意&#xff0c;在某些语言&#xff08;如 Java&#xff09;中&#xff0c;没有无符号整数类型。在这种情况下&#xff0c;输入和输出都将被指定为有符号整数类型&#xff0c;并且不应影响您的…

微软MFC技术中的消息循环

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天来聊聊微软MFC技术中的消息循环。 在很多windows程序中&#xff0c;都有如下代码&#xff1a; //Win32应用程序入口函数WinMain() int WINAPI WinMain(HINSTANCE hInstance, //指向当前实例的句柄…

全链路Python环境迁移

全链路Python环境迁移 在当前的Python环境中&#xff0c;安装一些库以后&#xff0c;如果换了一套Python环境&#xff0c;难道再来一次不停的pip install&#xff1f;当然不是。 第一步&#xff0c;使用pip freeze&#xff08;冻结&#xff09;备份当前Python库的环境 pip f…

《微服务架构设计模式》第六章 使用事件溯源开发业务逻辑

内容总结自《微服务架构设计模式》 使用事件溯源开发业务逻辑 一、传统持久化技术的问题二、什么是事件溯源三、好处和弊端四、实现事件存储库五、与Saga结合六、总结 一、传统持久化技术的问题 1、对象与关系的"阻抗失调" 所谓的对象与关系的“阻抗失调”是一个古…

ThreadLocal与InheritableThreadLocal及线程池的影响

在web开发中使用了ThreadLocal本地线程存储拦截器解析的用户信息&#xff0c;方便在下文代码中调用&#xff0c;但是在springboot中使用Async开启异步操作时&#xff0c;就会造成&#xff0c;子线程无法拿到父本地线程数据。拿到一些脏数据。 1.InheritableThreadLocal 在这个…

常用技巧总结

本文总结了本人在日常工作学习中遇到的问题及其解决方法&#xff0c;没有固定的涉及领域 目的就是为了在下一次遇到类似问题的时候方便查找&#xff0c;从而快速解决问题 本文不定时更新~ 目录 Windows使用 如何实现桌面图标随意排列 文件资源管理器相关 显示隐藏文件 修改…

深度学习06-深度卷积生成对抗网络(DCGAN)

文章目录 概述原理简介专业术语零填充转置卷积 生成动漫图像算力选择数据集目录规划源代码数据源加载定义配置类定义模型 训练可视化绘制损失绘制生成器图像变化 其他项目CycleGANstargan 概述 GAN&#xff08;Generative Adversarial Network&#xff09;是一种生成模型&…

flutter开发实战-日志logger写入文件及print

flutter开发实战-日志logger写入文件及print 在开发中&#xff0c;需要日志logger写入文件&#xff0c;方便日后查看出现的问题。这里记录之前的实现方案。 使用的日志插件是logger 一、引入日志插件 在工程中pubspec.yaml引入logger logger: ^1.4.0二、代码实现 使用比较…

听GPT 讲K8s源代码--pkg(一)

在 Kubernetes 代码仓库中&#xff0c;pkg/api和pkg/apis目录都包含用于定义 Kubernetes API 对象的代码&#xff0c;但它们的作用略有不同。 pkg/api目录包含 Kubernetes 的旧版本 API 对象定义&#xff0c;这些定义在 Kubernetes 1.7 版本之前使用。这些对象定义已经过时&…

第四课:Figma 图标设计

图形绘制小技巧 绘制正圆 O shift 正方体 R shift&#xff0c;右侧属性面板可调整描边显示方向&#xff0c;描边类型&#xff1b; 直线 L shift 带角度的箭头 shift L &#xff0c;按住 shift 键调整以 45 度角调整箭头方向&#xff0c;右侧属性面板可调节箭头方向和线条…

文献里的分子对接方法2

珍珠贝肉水解物中的新型抗氧化肽以及它们的抗氧化活性机制。 关于摘要&#xff1a; 自由基和衰老以及很多疾病都有关联。 抗氧化肽具有良好的抗氧化活性和吸收性&#xff0c;是抗氧化剂研究的热点之一。 这篇文献的研究中&#xff0c;纯化珍珠贝肉水解液、经过蛋白质组学鉴定…

大模型与端到端会成为城市自动驾驶新范式吗?

摘要&#xff1a; 最近可以明显看到或者感受到第一梯队的城市自动驾驶量产已经进入快车道&#xff0c;他们背后所依靠的正是当下最热的大模型和端到端的技术。 近期&#xff0c;城市自动驾驶量产在产品和技术上都出现了新的变化。 在产品层面&#xff0c;出现了记性行车或者称…