zoukankan      html  css  js  c++  java
  • [开源飞控参数学习

    一、PID调节

     一、姿态环,

    二、速率环,

    三、位置环

    四、高度环,

    一、姿态换(外环):

    ATC_ANG_PIT_P  俯仰轴角度控制器P增益

    ATC_ANG_RLL_P  滚动轴角度控制器P增益

    ATC_ANG_YAW_P  航向轴角度控制器P增益

    二、速率环(内环):

    ATC_RAT_PIT_P 俯仰轴速率控制P增益

    ATC_RAT_RLL_P 横滚轴速率控制P增益

    ATC_RAT_YAW_P 航向轴速率控制P增益

    ATC_RAT_PIT_I 俯仰轴速率控制I增益

    ATC_RAT_RLL_I 横滚轴速率控制I增益

    ATC_RAT_YAW_I 航向轴速率控制I增益

    ATC_RAT_PIT_D 俯仰轴速率控制D增益

    ATC_RAT_RLL_D 横滚轴速率控制D增益

    ATC_RAT_YAW_D 航向轴速率控制D增益

    三、位置环控制

    速度控制

     PSC_VELXY_P  2

    PSC_VELXY_I  1

    PSC_VELXY_D  0.5

    位置控制

    PSC_POSXY_P   1  水平位置P控制(水平位置控不住,具体表现为左右或者前后来回平移,如果平移到一个位置后定住了,可能是GPS数据问题)

    PSC_POSZ_P  1  垂直位置P控制 

    PSC_VELZ_P

    四、高度环控制(三环控制)

     PSC_ACCZ_P  0.5

     PSC_ACCZ_I   1

     PSC_ACCZ_D  0

    (D也需要调,调不好可能会炸鸡,请谨慎,I也需要调,调不好就会很抖)

    PSC_VELZ_P

     先调P值再调D最后调I值

    P值:飞机感应外部干扰的敏感度。

    (往大的调,不能大于0.28)

    P值过低:在某个轴上缓慢的晃动,显得无力,航向:打偏航之后,航向无法锁定(松杆之后航向有往回动一下)

    P值过高:在某个轴高频的抖动。航向:打偏航松杆后,飞机往上串一下。

    D值:可以理解为刹车(D就是P的微调)

    (往小的调,在0.01左右)

    操作:在某个轴上打舵后再回中,观看飞机的反应,理想的状态是刚好回到中间的位置且不抖动。

    D值过低:恢复的力度很慢。

    D值过高:飞机的状态是在中立位置反复抖动震荡。

    I值:反应的速度,遇见外界的干扰,恢复的速度。

    I值过低:飞机恢复比较慢。

    I值过高:恢复比较快,可能过冲。

    经验所得:I值与P值尽量接近。

    先把内环的角速度PID调好,再调节外环PID。

    先调节P:直到看到四轴能稳在一个地方,再人为给一个外力,有一个速度,看四轴能不能回稳。

    若给一个外力,四轴开始自激振荡失稳,就说明P给太大,改小后,不会自激振荡失稳但是回稳时依然会有小震荡,说明P还是太大了,继续改小。若发现外力回稳太慢或者不能回到开始稳定的状态,则P太小,给的力不够。当调到给一个外力能够迅速恢复到稳定状态且不会震荡则P差不多可以了。

    P调到差不多就行了,在认为最好的状态再对D进行调节。当D太大时,出现剧烈抖动,当D太小时,无人机回来慢。(其实D就是P的微调)

    要是抖就是P、D大了。P、D调好了基本上就稳了,再加入I,进行稳态误差调节。

    I调大了动方向时候会抖,只有在动方向时会抖。


     判断yaw是否超调的办法,飞到一定的高度,满油门下来,看航向是否会转向,如果转向则把ATC_RAT_YAW_P改小一点

     案例一:飞机控制偏航或者俯仰时,出现高度掉高然后又上来的现象。(犹如波浪式飞行)

    解决:造成原因是整机结构和动力不佳,明显是积分上不去,需要加大I值。此时I要比P大很多,打破了以往I要接近P的经验值。

    案例二:控制航向时,偏航杆停止时,飞机航向还会继续回来一点。持续减小外环yaw值,此现象仍然没改善。

    解决:加大I值然后改善明显。经验:先调内环再调外环,内环I值小的时候,外环的I值变化对整机的航向现象没有变化。

     经验:新开模的整机,如果刚性不够,PID参数需要调比较大。

     案例三:自动起飞时,飞机没有直线上升,往边倾斜后再升起来。

    解决:减弱位置环,此现象是位置控得太强了

    案例四:航向锁不住,打偏航停止后,航向会往回一点

    解决:调小外环P,加大内环P,加大内环I

    二、

    调节加速度

    ATC_ACCEL_P_MAX 俯仰的最大加速度

    ATC_ACCEL_R_MAX 横滚的最大加速度

    ATC_ACCEL_Y_MAX 偏航的最大加速度

    三、

    1、设置自动航线下的机头转向动作

    WP_YAW_BEHAVIOR

    ● 0:永不转头,飞机航向保持进入自动航线是的航线;

    ● 朝向下一个航点;

    ● 除了RTL,朝向下一个航点;

    ● 朝向GPS的航迹方向;

    2、AHRS_ORIENTATION:姿态旋转

    我们设置为0

    3、自动锁定时间长短

    DISARM_DELAY:锁定延时,自动锁定前的时间

    单位:秒。

    4秒)

    4、设置解锁后电机怠速旋转的速度

    MOT_SPIN_ARM:

    0 :很低

    0.15 :中等

    0.3 :很高

    0.1

    5、减小刹车距离,定点模式下摇杆回中让飞机更快的停下来

    LOIT_ACC_MAX:最大加速度,较大的值会让飞机更快的加减速;(500

    LOIT_BRK_ACCEL:最大刹车加速度(遥控器摇杆回中时),较大的值会让飞机刹车更猛;(250

    LOIT_BRK_DELAY:遥控器摇杆回中后,延时这个值确定的秒数后,飞机开始刹车,为了更快刹车,调小这个值;(1

    LOIT_BRK_JERK:刹车时最大“加加速度”(也就是加速度的加速度),增大这个值,刹车更猛。(500

    6、Loiter模式下转头速度

    ACRO_YAW_P默认值为4.5,从代码中可以看出,这个值是用来将遥控器航向摇杆的量,线性地转换为目标航向角速度,通过将此值减小,相同杆量的情况下,目标角度就变小了。(1

    7、锁定下记录日志

    LOG_DISARMED参数设置为1

    8、GPS所在的位置

    GPS_POS1_X

    GPS_POS1_y

    GPS_POS1_z

    9、摇杆通道死区

    RC1_DZ   30

    RC2_DZ  30

    RC3_DZ  30

    RC4_DZ  40

     10、FS_EKF_ACTION       EKF失效保护措施

    Althold

    11、CHUTE_ENABLED     启用或禁用降落伞释放

    Disabled,禁用

     

    10、

    横滚:顺时针转一圈 +0°到+180°,逆时针转一圈-0°到-180°

    俯仰:向下转一圈 -0°到-90°,-90°到-0°,向上转一圈+0°到+90°,+90°到+0°

    航向:正北是0°,顺时针转一圈,0°到360°

  • 相关阅读:
    应用上架前如何知道自己应用的下载地址?
    Multi-line NSAttributedString with truncated text
    Adding AirDrop File Sharing Feature to Your iOS Apps
    Add sharing to your app via UIActivityViewController
    [原]iOS自带社会化分享框架——Social.framework
    xcode 制作静态库.a文件 详解
    Fiddler怎么对IPhone手机的数据进行抓包分析
    Mac上的抓包工具Charles
    30、准确计算CoreText高度的方法
    keil MDK中如何生成*.bin格式的文件
  • 原文地址:https://www.cnblogs.com/kinson/p/11369070.html
Copyright © 2011-2022 走看看