文章目录
  1. 1. PX4使用说明
    1. 1.1. PID调节
      1. 1.1.1. 参数介绍
      2. 1.1.2. 第一步:准备
      3. 1.1.3. 第二步:稳定横滚和俯仰率
      4. 1.1.4. 第三步:稳定横滚和俯仰角度
      5. 1.1.5. 第四步:稳定航向速率
      6. 1.1.6. 第五步:稳定航向角

PX4使用说明

  1. 要解锁需要在Manual模式下解锁

PID调节

参数介绍

PX4 multirotor_att_control应用程序执行一个外循环的方向控制器,相关参数为:

  • 翻滚角(MC_ROLL_P)
  • 俯仰角(MC_PITCH_P)
  • 航向角(MC_YAW_P)

和一个内部循环,有三个独立的控制角度变化率PID控制器:

  • 翻滚角率(MC_ROLLRATE_P, MC_ROLLRATE_I, MC_ROLLRATE_D)
  • 俯仰角率(MC_PITCHRATE_P, MC_PITCHRATE_I, MC_PITCHRATE_D)
  • 航向角率(MC_YAWRATE_P, MC_YAWRATE_I, MC_YAWRATE_D)

外部循环的输出是机体的目标速率(eg. 如果四轴目标角度为0,而目前左右倾斜30度,那么控制输出将可以是这样的:翻滚速率为60度每秒)。内部速率控制回路改变电机输出,这样四轴能按所需的角速度旋转。
这些参数的大小实际上有一个直观的意义,eg. 如果MC_ROLL_P的值为6.0,四轴将补偿的角度偏差值为0.5弧度(30度),那么目标角速率将为3 弧度/秒。然后如果内环MC_ROLLRATE_P的值为0.1,最后输出给翻滚角的油门控制量将为3*0.1 =0.3。这意味着它将降低电机一边30%的速度,增加另一边30%速度来诱导角动量回到水平。
这里还有一个MC_YAW_FF参数,它控制用户输入反馈给航向速率控制器的灵敏度。0代表非常慢的控制,只有航向位置错误的时候控制器才会响应,1代表灵敏的控制,但是可能有些过调,由于控制器移动航向迅速,导致很难保持航向为0。

第一步:准备

首先,把所有的参数设为初始值:

  1. 设置MC_XXX_P为0(ROLL, PITCH, YAW)
  2. 设置所有的MC_XXXRATE_P, MC_XXXRATE_I, MC_XXXRATE_D为0,除了MC_ROLLRATE_PMC_PITCHRATE_P
  3. 设置MC_ROLLRATE_PMC_PITCHRATE_P为一个比较小的值,比如. 0.02
  4. 设置MC_YAW_FF为0.5

所有的参数应该慢慢的增大,每次增大20%到30%,甚至最后10%,注意:参数过大会导致非常危险的震荡,即使只有理想参数的1.5到2倍。

第二步:稳定横滚和俯仰率

P调优
参数:MC_ROLLRATE_P, MC_PITCHRATE_P
如果四轴是对称的,那么ROLL和PITCH的值应该相等,否则应该独立的调整。
把四轴拿到手上,然后增大油门到大约50%,这样四轴重量可以视为0。使它在翻滚角或者俯仰角方向倾斜,观察起反应。它应该温和的转动,但是它不会回到水平。如果出现震荡,把RATE_P调小。一旦控制响应缓慢但正确,增加RATE_P直到它开始振荡。然后减小RATE_P直到它只有轻微摆动或不再摆动(大约减少10%),稍微有点过调。典型的值大约是0.1。

D调优
参数:MC_ROLLRATE_D, MC_PITCHRATE_D
假设P参数是一个使电机震荡的状态,RATE_P略小。慢慢的增大RATE_D,从0.01开始,直到震荡停止之前。如果电机出现颠簸,RATE_D太大了,减小它。通过RATE_PRATE_D可以调优四轴的响应。典型值为0.01到0.02。
在QGC中,可以绘出roll和pitch的变化速率图(ATTITUDE.rollspeed/pitchspeed)。它不能震荡,可以有10%到20%的过调。

I调优
如果横滚速率和俯仰速率没有达到设定值,但有一个偏移量,加上MC_ROLLRATE_IMC_PITCHRATE_I参数。从MC_ROLLRATE_P值的5-10%开始调。

第三步:稳定横滚和俯仰角度

P调优
参数:MC_ROLL_P, MC_PITCH_P

  1. 设置 MC_ROLL_PMC_PITCH_P到一个比较小的值,比如. 3
    把四轴拿到手上,然后增大油门到大约50%,这样四轴重量可以视为0。使它在翻滚角或者俯仰角方向倾斜,观察起反应。它应该缓慢回到水平。如果出现震荡,调整P。只要控制响应缓慢但正确,继续增大P直到出现震荡。最优的响应是10-20%的过调。得到稳定的响应后重新调整RATE_P, RATE_D参数。
    在QGC上位机里,你能绘出roll和pitch的图像(ATTITUDE.roll/pitch)control(ctrl0,ctrl1)。姿态角如果过调不能超过10-20%。

第四步:稳定航向速率

P调优
参数:MC_YAWRATE_P

  1. 设置MC_YAWRATE_P为一个比较小的值,比如. 0.1
    把四轴拿到手上,然后增大油门到大约50%,这样四轴重量可以视为0。然后绕Z轴旋转,观察其响应。电机的声音听起来改变了,系统有阻止旋转的趋势。响应将大大低于横滚和俯仰,这是可以的。如果出现震荡或者颠簸,调小RATE_P。如果很小的移动出现很大的响应(大油门和小油门时),减小RATE_P。典型值为0.2到0.3。
    航向速率控制如果非常强烈甚至震荡,会恶化横滚和俯仰的响应。扭转横滚、俯仰和偏航检查总反应。

第五步:稳定航向角

P调优
参数:MC_YAW_P

  1. 设置MC_YAW_P为一个比较小的值,比如1。

把四轴拿到手上,然后增大油门到大约50%,这样四轴重量可以视为0。然后绕Z轴旋转,观察其响应。它应该慢慢回到起始方向。如果出现震荡,调小P。只要控制响应缓慢但正确,继续增大P,直到响应稳定,但是不震荡。典型值是2到3。
可以在QGC里查看ATTITUDE.yaw。航向角过调不能超过2-5%(比姿态角要小)。
反馈调优
参数:MC_YAW_FF
这个参数不是关键,可以在飞行时调整,在最差情况下是偏航角响应迟缓或太快。调整FF参数得到一个合适的响应。有效范围为0到1。典型值为0.8到0.9。(如果用于航拍,建议将值调小以得到更加圆滑的反应)
可以在QGC里查看ATTITUDE.yaw。航向角过调不能超过2-5%(比姿态角要小)。