2023-08-15 23:56:40 来源 : 哔哩哔哩
所有计算均使用公制单位
官网链接/a/63z52m/AutoPilot-v1-0-testTwin-Prop
由lever输入基本值(-1~1之间 或0~1之间),名称后面加上了2用于区分
(资料图)
ALT2
HAD2
SPD2
MR2
MP2
VY2
这个自动驾驶用到的有:
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,)
MP:(MP2+1)*
A:deltaangle(Heading,HAD) ——输出需要的转弯角度
R:clamp(RollAngle+clamp(A,-30,30)*MR,-60,60)/60 ——输出加入到副翼上
Y:-RollAngle*.015 ——输出加入到方向舵上
T:clamp01(SPD>IAS*)*clamp01(Activate6) ——输出加入到发动机上
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) ——自动配平(根据在不同速度下的Trim取样绘制的近似函数图像,精度不高主要是便于自动驾驶保持稳定)
对应舵面input中加上clamp01(Activate?)*以上Variable 名称
副翼Roll+R*clamp01(Activate3)
平尾P+Pitch+Trim*clamp01(Activate5)+APT*(1-clamp01(Activate5))
垂尾Yaw+clamp01(Activate3)*Y
发动机clamp(clamp01(Activate6)*T+Throttle*(1-clamp01(Activate6)), , 1)
减速板(IAS>SPD/)*clamp01(Activate6)
需要调节invert
如果Vy控制解决了我就出一期视频详细说说[doge]
标签: