一、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°