[簡單飛機]自動駕駛v1.0(TwinProp)

所有計算均使用公制單位
官網(wǎng)鏈接https://www.simpleplanes.com/a/63z52m/AutoPilot-v1-0-testTwin-Prop
輸入部分
由lever輸入基本值(-1~1之間 或0~1之間),名稱后面加上了2用于區(qū)分
ALT2
HAD2
SPD2
MR2
MP2
VY2
飛行數(shù)據(jù)
這個自動駕駛用到的有:
Altitude——高度(m)
IAS——指示空速(m/s)
Heading——方向
TVY(非自帶):rate(Altitude)*60——實際Vy (m/min)
輸入處理部分
將輸入部分的值進行運算得到目標值,在lable中顯示此值
ALT:ALT2*2500+2500????????? ————目標高度(m) ????????????值在0~5000之間
SPD:(SPD2*60+200)*(1-Brake)?? ————目標速度(m/s)? ?????????值在140~260之間
HAD:(HAD2+1)*180?????????? ————目標方向 ???????????????值在0~360之間
VY:VY2*600????????????????? ————目標Vy爬升率(m/min) 值在-600~600之間
MR:clamp((MR2+1)*.8,.4,1.7)
MP:(MP2+1)*1.125
計算部分
A:deltaangle(Heading,HAD)????????????????????????????????????????????????? ——輸出需要的轉彎角度
R:clamp(RollAngle+clamp(A,-30,30)*MR,-60,60)/60????????????????????????????? ——輸出加入到副翼上
Y:-RollAngle*.015????????????????????????????????????????????????????????? ——輸出加入到方向舵上
T:clamp01(SPD>IAS*3.6)*clamp01(Activate6)????????????????????????????????? ——輸出加入到發(fā)動機上
P1:-((clamp(ALT-Altitude,-150,200)/(15/MP)-PitchAngle)/30*1-(Activate4+1)/2????? ——輸出高度控制模式的Pitch值
P2:clamp01(Activate4)*clamp(TVY-VY,-300,300)/400(這部分目前還不好用)?????? ——輸出Vy控制模式的Pitch值
P:clamp01(Activate7)*(P1+P2)??????????????????????????????????????????????? ——打開自動俯仰后上兩項之和
APT:(-27000/pow(IAS,3)-.08)*clamp01(AltitudeAgl>7)??????????????????????? ——自動配平(根據(jù)在不同速度下的Trim取樣繪制的近似函數(shù)圖像,精度不高主要是便于自動駕駛保持穩(wěn)定)

各控制面input
對應舵面input中加上clamp01(Activate?)*以上Variable 名稱
副翼Roll+R*clamp01(Activate3)
平尾P+Pitch+Trim*clamp01(Activate5)+APT*(1-clamp01(Activate5))
垂尾Yaw+clamp01(Activate3)*Y
發(fā)動機clamp(clamp01(Activate6)*T+Throttle*(1-clamp01(Activate6)), 0.02, 1)
減速板(IAS>SPD/3.6)*clamp01(Activate6)
需要調節(jié)invert
如果Vy控制解決了我就出一期視頻詳細說說[doge]