0


智能车方向环pd控制理解

智能车方向环pd控制理解

位置式pd公式:

    p
   
   
    ∗
   
   
    E
   
   
    R
   
   
    +
   
   
    d
   
   
    ∗
   
   
    (
   
   
    E
   
   
    R
   
   
    −
   
   
    E
   
   
    R
   
   
    L
   
   
    )
   
  
  
   p*ER+d*(ER-ERL)
  
 
p∗ER+d∗(ER−ERL)

p为比例项 d为微分项

ER为当前车辆与赛道中线的偏差

ERL为当前车辆与赛道中线的上次偏差

方向环d的作用

在智能车转向控制中,车辆的转弯主要取决于d项控制,当车辆由直道入弯时,ER-ERL会变化很大,而ER的变化其实很小,此时主要起作用的是d项,所以入弯主要靠d项,也就是给人一种d项有预测作用的感觉

方向环p的作用

当车辆在弯道中时,此时ER基本不会发生改变,所以ER-ERL基本为0,此时d项不会起作用,此时主要依靠p项调节,来维持在弯道中的循迹。

d项与p项的相互影响

当由直道入弯时,ER变大,此时若p项过大,很可能会超调,继而引起震荡,此时d项有抑制超调的作用,但是如果d项过大,反而会加剧抖动,具体原因看卓大大公众号中的一篇推文

对于舵机pd参数的意义

d项主要决定了舵机的响应速度
p项主要决定了舵机的打角大小

如何整定参数

对于简单的舵机位置式pd控制,应该先整定p项,得到p项的一个大致范围,直到使车抖动,此时再调整d项,减小抖动
遵循原则:
(1)如果直道入弯过于延迟,则需要加大d项
(2)如果车辆在弯道中,轨迹过于外切,则需要加大p项
(3)d项应该是p项的10-20倍
(4)如果参数整定的足够好,那么在弯道中,

    d
   
   
    ∗
   
   
    (
   
   
    E
   
   
    R
   
   
    −
   
   
    E
   
   
    R
   
   
    L
   
   
    )
   
  
  
   d*(ER-ERL)
  
 
d∗(ER−ERL)应该很小

舵机的pd控制研究

智能车的舵机控制,不要求较高的精度,所以是没有i项的,只是单纯的pd控制,目前常用的方向pd控制算法有:
普通PID(最常用,效果也不错)
动态PID
模糊PID(要调整模糊表,对于模糊表的整定是一个大难点)
下面简单说一下之前对于动态pd的一些想法:
(1)对于舵机来说,理论上它的打角幅度是和

    E
   
   
    R
   
  
  
   ER
  
 
ER**成二次函数关系**;

(2)当车辆在拐弯时,此时需要更大的P项,但是常用pd是固定P项
所以尝试提出动态p项的方案:

方案1:

    P
   
   
    =
   
   
    
     P
    
    
     
      b
     
     
      a
     
     
      s
     
     
      i
     
     
      c
     
    
   
   
    +
   
   
    E
   
   
    R
   
   
    ∗
   
   
    E
   
   
    R
   
   
    ∗
   
   
    K
   
  
  
   P=P_{basic}+ER*ER*K
  
 
P=Pbasic​+ER∗ER∗K:


 
  
   
    
     P
    
    
     
      b
     
     
      a
     
     
      s
     
     
      i
     
     
      c
     
    
   
  
  
   P_{basic}
  
 
Pbasic​为一个基础P项,在基础P项基础上引入一点动态变化

 
  
   
    E
   
   
    R
   
   
    ∗
   
   
    E
   
   
    R
   
   
    ∗
   
   
    K
   
  
  
   ER*ER*K
  
 
ER∗ER∗K,K项要根据实际调整,同时要对该P项的**动态变化部分做一个限幅**,防止过大。

方案2:

    P
   
   
    =
   
   
    
     P
    
    
     
      b
     
     
      a
     
     
      s
     
     
      i
     
     
      c
     
    
   
   
    +
   
   
    A
   
   
    B
   
   
    S
   
   
    (
   
   
    E
   
   
    R
   
   
    )
   
   
    ∗
   
   
    K
   
  
  
   P=P_{basic}+ABS(ER)*K
  
 
P=Pbasic​+ABS(ER)∗K:


 
  
   
    
     P
    
    
     
      b
     
     
      a
     
     
      s
     
     
      i
     
     
      c
     
    
   
  
  
   P_{basic}
  
 
Pbasic​为一个基础P项,在基础P项基础上引入一点动态变化

 
  
   
    A
   
   
    B
   
   
    S
   
   
    (
   
   
    E
   
   
    R
   
   
    )
   
   
    ∗
   
   
    K
   
  
  
   ABS(ER)*K
  
 
ABS(ER)∗K,K项要根据实际调整,同时要对该P项的**动态变化部分做一个限幅**,防止过大。

方案3:

    P
   
   
    =
   
   
    E
   
   
    R
   
   
    ∗
   
   
    E
   
   
    R
   
   
    ∗
   
   
    K
   
  
  
   P=ER*ER*K
  
 
P=ER∗ER∗K:

去掉基础P项,但是实际效果并不好,该公式会让车辆获得较好的拐弯性能,但是弯道进入直道过程,会使车辆更加振荡,难以稳定,造成直道摆头现象。

方案优化建议:

目前的K项是我们根据实际情况进行人为调整的,但是实际上该K项可以与当前车辆的真实速度相关联,根据不同速度给定不同K值。

说明:方案1和方案2仍然是以普通PD控制为主,动态项的主要作用是使弯道拐弯更加圆滑、内切,特别是面对U型弯道时,原来的基础P项可能会使车辆丢线,但是此时加一点点动态项就可以完美过弯,所以不应该把动态项作为主要输出。
未完待续


本文转载自: https://blog.csdn.net/qq_49487109/article/details/117963017
版权归原作者 香橙哒哒 所有, 如有侵权,请联系我们删除。

“智能车方向环pd控制理解”的评论:

还没有评论