2023年3月30日 星期四

Ardupilot Auto Mission

 關於Ardupilot的自動飛行模式一定要坐下筆記,免得下次又忘了。

1. VTOL起飛一定要使用VTOL_TAKEOFF才會垂直起飛,不然的話,一ARM之後,如果使用TAKEOFF則會瞬間全速從地面衝出去,沒掛掉算運氣好。

2. 啟動方式很容易手忙腳亂,簡單說,ARM之後切到AUTO模式就開始執行。問題是ARM完成之後去按電腦切AUTO之後要記得回頭把遙控器油門開到中間。不然模式變成其他的時候容易出問題。

3. VTOL_TAKEOFF有幾個特色,就是TAKEOFF之後並不是停住!!!!非常重要,而是頭朝哪就從哪個方向衝出去,所以如果起飛有風或者YAW鎖定的不好要特別注意,如果不小心往背後衝就要撞樹了,如果沒有下一個導航點就不知道飛到哪? 如果導航點在反方向會自動轉彎掉頭。

以下是飛行模式

QRTL的話就會回來並且進入降落

https://ardupilot.org/plane/docs/qrtl-mode.html

QLAND是使用Q模式直接降落 無論當時高度

LOITER to QLand 則是先LOITER降低高度到Q_RTL_ALT然後切到Q模式

相關參數

Q_RTL_ALT

WP_LOITER_RAD

以下只有mission可用指令

VTOL_LAND則是這個點立刻下降

RETURN_TO_LAUNCH效果跟RTL一樣是回到上空盤旋不執行降落,只有QRTL才會執行降落


2023年3月18日 星期六

Tailsitter 2號機

 









自從上次一號機失敗之後好一陣子,決定開始二號機改進。
(一號機測試的文章在這 https://infinityhobby.blogspot.com/2023/01/tailsitter-planes-setting.html)

二號機這次直接參考大陸一台叫做Swan-K1




這台網路上看到是使用PIX4,原理跟我的一號機相同。但主要差異在於馬達偏角很顯眼,我猜這應該就是YAW保持穩定的關鍵。

在逆向的過程中,特別簡化了機體,把很多部分改成使用碳纖棒,這樣可以減少列印時間也減少重量。



重心部分我特別做了一個縮小版(70%)來手丟,初步計算是使用https://rcplanes.online/cg_wing.htm

我記得還有找到另外一個網頁,算出來結果完全不同,手丟測試是覺得重心前面一點高速穩定,但是失速點會高一點,但是重心後面的話可以漂遠一點,低速也可以飛,但是飛行就很不穩定。

重心位置大致在螺旋槳面中心。我猜應該是K1的重心吧。

翼型使用EPPLER 326,原因是看起來厚度很夠,尾巴翹的也很誇張。飛機射機接近翼端我有做外洗角。主翼攻角看圖片K1好像沒有,所以我也沒做。


23/3/8今天基本上中心部分完成,發現的問題是原始設計艙蓋因為重心配置的問題,導致飛控要往後移動,會碰到中間補強桿所以得墊高。但是這樣就會超過原本設計的機體厚度,所以艙蓋得單獨重新畫過。

圖已經畫好,目前正在印。

停懸測試真的比第一版穩定很多,但是機身強度不足,所以會共振。希望改良的艙蓋裝上去可以增加強度,不然就得用細的碳纖棒在馬達中間拉補強了。

所需要碳纖棒:

  •     5x150mm x4
  •     5x114.8mm x 4
  •     3x632mm x 1
  • 3x303mm x 2 

其他所需要零件:

  • GPS Modul
  • TELEMETRY 
  • OMNIBUS F4 
  • Genfan 5" prop
  • 45A 4in1 BLHeli_S
  • SA2306 KV2345 x 4 


23/3/19






基本上已經全部完成,等待最後飛行測試。

3/22 老外給了一份重要資料

https://github.com/ArduPilot/ardupilot/blob/master/libraries/AP_HAL_ChibiOS/hwdef/Swan-K1/defaults.parm

這個是Swan-K1的參數

重要的參數如下

Tailsitter設定

Q_ENABLE 1

Q_FRAME_CLASS = 1 

Q_TAILSIT_ENABLE  2 *restart

Q_TAILSIT_MOTMX = 15

Q_FRAME_TYPE = 1

Q_OPTIONS 128

ARMING_RUDDER 2 (用搖桿ARM跟DISARM)

# the HWing can become unstable at high speeds. Limit pitch angle

# to prevent overspeed

LIM_PITCH_MAX  4500

LIM_PITCH_MIN  -1500

# no rudder mixing

KFF_RDDRMIX 0

# reasonable attitude limits

LIM_PITCH_MAX 4000

# slow down for landing approach

TECS_LAND_ARSPD 8

其他看狀況

Q_TAILSIT_ANGLE 過渡角度 預設45

Q_TAILSIT_RAT_FW 過渡所需時間

3/24 測試成功

最後還是在馬達間拉了兩根2mm碳纖棒,不然還是會晃動。



因為數傳不穩定的問題無解,所以只能透過USB線簡單地把P值從25降到20稍微減低停懸時的共振,然後就就很猛的測FWA模式。

從停懸模式稍微拉高一點之後切FWA,飛機瞬間加速向上爬升,嚇了一跳,不過還來不及反應就開始自動往前傾斜45度進入轉換中介狀態。

因為動力真的很充足,所以一下就完全轉換到到平飛模式。轉換過程很順。但是飛行速度相當快, 我回頭看了一下飛行紀錄,平飛50%油門而且用設定的最小安全半徑繞圈都一直維持在100kmh左右。

由於飛行時間沒有計算,所以繞了幾圈之後怕電量不足就切回停懸模式準備降落。不過慘了,只是稍微遠了一點但是已經沒辦法視覺辨識姿態。好家在飛機本身很穩,但是卻越僑飄的越遠。才幾十秒時間嚇得全身冒冷汗,因為沒有設定Failsafe的對應動作,所以如果真的沒電就是直接墜毀了。不過這時突然心生一計,立刻回到電腦前面用地面站軟體狂送RTL訊號,希望數傳這時候能夠給力。

運氣真的很不錯,看到飛行模式已經切到QRTL,這時候心放下一大半。才過幾秒飛機就已經飛回頭頂準備降落,這時切回手動模式稍微橋了一下位置順利降落。

呼....

另外就是QRTL模式如果超過一定距離會先自動切到飛機模式後往家裡飛,然後快到目標前才又切回停懸模式。雖然當場因為飛機太小看不清楚,不過看log檔模擬的時候,發現它真的超聰明的,發現機頭方向不對還回先180度轉彎之後才切到飛機模式。

23/5/16 

好久沒更新,後來飛的越來越順手。這台飛機蠻多奇怪的特性。

轉彎的時候越慢轉彎的弧度會越小,雖然好像是常識,但實際飛的時候卻感覺好像是因為飛控介入的關係。所以快慢轉彎的弧度差很大。

油門真的要開得很小,平飛模式絕對都是低於50%以下,50%以上非超快。

起降的時候也是一樣,50%以下的速度才不會突然衝出去太快。特別是起飛的時候,首先他會先往前壓頭45度,然後突然加速。如果這時候油門大於50%的話,飛機一下子就飛超遠的。

另外比較努力測試過,停懸需要25A電流,平飛的話,如果拉升舵飛,油門25%-30%大約可以降到10A左右。


2023-5-30 墜毀


還好有找到

墜毀原因是飛太遠,切QRTL結果直接撞地球。所以如果在飛機模式,好像不能直接切QRTL,要先切回Q模式才能用QRTL。

2023年3月17日 星期五

VTOL 3號機

 


製作過程就不贅述了,跟2號機差不多。只不過這次選擇馬達座採用橫式,這樣可以維持機翼不用修改,也不需要另外走線,這樣就可以方便拆裝。

只是橫置的話,很難把兩根管子埋到剛好平行,結果是盡量保持平衡插進去之後再用補土作為細部角度調整。

當然,最後測試的時候發現僅用機體來支撐管子強度也不夠,所以3D列印了四個補強底座。

另外馬達的角度也傷腦筋,稍微有點差異就會造成扭矩不平均,使得其中一個對角的馬達為了要抵抗扭矩而不正常抬高轉速,導致過熱。

所以3D列印的馬達座就不適用了,後來改用淘寶的馬達座方便調整。

至於這次停懸PID有用心調整,滾轉跟俯仰因為質量分布不同要分開調整。

前腳架也在試飛的時候扯斷,因為很難確保下降的時候不往前進,所以我打算就完全不使用腳架。

3/17 第n次試飛。這次戶外測試一次解決馬達角度調整跟PID調整。基本上很順利完成。馬達角度最後是覺得只要調到不過熱即可,因為有時候因為側風緣故,也會導致其中兩顆馬達過熱。

這次發現從Quad過渡到FWA的速度是個大問題。如同一拿到飛機時就發現這台飛機主翼攻角非常大,猜想可能會有問題。結果真的是這樣



第一次從Q模式轉到FWA,一直抬頭到直接在天上翻了一圈,後來趕快切回Q模式才救回來,另外一次則是幾乎失速。

回來看了一下紀錄,基本上飛行速度最高超過50kph就很容易抬頭,大概40-45就很好飛。

所以關鍵是從Q過渡到A模式的速度要降低。

另外重心問題也要調整,目前前推動力太大,我打算把前推馬達換小一點,也順便降第尾巴重量。

過渡相關參數

https://ardupilot.org/plane/docs/quadplane-transitions.html#quadplane-transitions

如果您轉換到任何其他固定翼模式,則 VTOL 電機將繼續提供升力和穩定性,直到您達到 ARSPD_FBW_MIN 空速(如果沒有空速傳感器,則為空速估計值)。這個階段稱為“過渡空速等待”。

(目前ARSPD_FBW_MIN =9, ARSPD_FBW_MAX = 22) 前者約32kph 應該可以,我把後者改成15 (約50kph)

一旦達到ARSPD_FBW_MIN ,僅 VTOL 電機的貢獻將在Q_TRANSITION_MS毫秒(默認值為 5000,即 5 秒)內緩慢下降,然後將關閉。傾轉旋翼將緩慢旋轉至全前推力配置。一旦轉換完成,無論車輛現在處於何種固定翼模式,油門和姿態的正常控制都會恢復。

下面這段根T1-Ranger遇到問題有關

如果設置了Q_OPTIONS的第 19 位且Q_TRANS_FAIL不為零,並且空速大於ARSPD_FBW_MIN的 1/2 ,則將立即完成向固定翼的過渡。如果沒有使用空速傳感器,並且過渡到逆風,這可能會阻止在轉彎之前獲得準確的空速估計,這很有用。如果不使用Q_TRANS_FAIL超時和此 Q_OPTION,轉換可能會無限長,因為由於低地速,空速可能會報告為低於ARSPD_FBW_MIN 。


3/23

我在21號的時候更換了小一號的前推電機且稍微加了墊片把推力線朝下。加上飛行的時候把重心從主梁改到說明書的主梁前緣。起飛抬頭情況大受改善

測得的速度數據如下

失速點: 35kmh (9.7m/s) 

最高速(不抬頭情況): 約25-28 m/s (90-100kmh)

最高約25-28 m/s28 (90-100kmh)

巡航速度(50%油門)  17m/s = 61kmh


飛行速度參數設置

ARSPD_FBW_MAX:(28) 這是載具的最快正常飛行速度。通常,2 倍標稱巡航速度是一個很好的目標。

ARSPD_FBW_MIN:(13) 這是載具的最低飛行速度。它應設置為至少比車輛失速速度高 25%。

一旦達到ARSPD_FBW_MIN ,僅 VTOL 電機的貢獻將在Q_TRANSITION_MS毫秒(默認值為 5000,即 5 秒)內緩慢下降,然後將關閉。傾轉旋翼將緩慢旋轉至全前推力配置。一旦轉換完成,無論車輛現在處於何種固定翼模式,油門和姿態的正常控制都會恢復。

 校正空速傳感器 https://ardupilot.org/plane/docs/calibrating-an-airspeed-sensor.html

選擇自動校正比較快....

設定 Q_ASSIST_SPEED (10)

這是四電機將在固定翼模式下提供穩定性和升力輔助的速度。零意味著除了過渡期間沒有任何幫助。請注意,如果將其設置為零,則其他 Q_ASSIST 功能也將被禁用。較高的值會導致更多的誤報,從而浪費電池。較低的值會導致較少的誤報,但會導致需要更長的時間來觸發援助。如果不確定,則將其設置為比您飛行的最小空速低 3 m/s。如果您沒有空速傳感器,則使用比您飛行的最小空速低 5 m/s 的速度。如果你想禁用裝備檢查 Q_ASSIST_SPEED 然後設置為 -1。


諸元性能

  • 空機: 1.75kg 
  • 電池: 0.85kg  4s 3000mAh/4p or 4200mAh/3p
  • 60%油門有風約16m/s(57kmh) 15A
  • 起飛約40A


2023年2月8日 星期三

Omnibus F4 Por 安裝Ardupilot

 


這兩張圖超級重要
固件我選擇這個版本 https://firmware.ardupilot.org/Plane/latest/omnibusf4pro/
看起來,手邊這款應該是Por版本
Ardupilot的說明頁其實就講得蠻清楚的
https://ardupilot.org/blimp/docs/common-omnibusf4pro.html

安裝沒甚麼問題,安裝GPS、Compass、Telemetry最重要的是Compass的I2C要有拉升電路。參看https://www.flightcoach.org/omnibus-f4-v3/

手邊的兩個M8N看起來都沒有這個電路,而老曹的獨立compas居然有,所以最後採用老曹的GPS+Compass

安裝好之後如下


最後是compass安裝方向跟設定
請看這裡 https://ardupilot.org/copter/docs/common-external-magnetometer-for-improved-performance.html

最後...接上servo就把MPU6000搞掛了....2023/2/8 搞了一天 最後收工
官方文件有註記如何使用外部電源供應伺服器


23/2/12
默认时,Omnibus F4 Pro烧写APM飞控后,电池检测器没有设置的。想要屏幕上显示电池电压和电流信息,就需要设置一下。

设置信息如下:
BATT_MONITOR=4
然后重启:
重启后,继续设置:
BATT_VOLT_PIN 12
BATT_CURR_PIN 11

以上两步很重要,设置引脚。

BATT_VOLT_MULT 11.0

然后,到mission planner主界面,就可以看到电池电压电流信息了。不过可能电池电压此时的信息不一定对,剩下的就是校准电压。

用万用表量下实际电池电压,然后填在下图“测量电池电压”这。
————————————————
版权声明:本文为CSDN博主「浅浅的小草」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xjhappyarrow/article/details/118634994

23/6/21
關於5v接腳為何只量到4.7v以及為什麼5v的pin沒有辦法有足夠電流供應舵機使用
看這個影片
https://youtu.be/O1D0BKL8bDA
雖然板載BEC有足夠電流,但是連到5v接腳的時候經過了一個基鈉二極體,使得整個供電被壓降而且最大電流也被限制。

這也解釋為什麼Ardupilot官網建議使用外部電源來供應舵機使用。

2023年1月28日 星期六

VTOL PID調整

英文原版

建议参考官方文档或者雷迅中文版http://doc.cuav.net/tutorial/copter/

一起食用,风味更佳~~!


为治疗大佬的急躁症,开出一剂特效药方~~直接下载最下方的计算器,填入详细信息直接生成·保守·保守·保守·的参数,飞行不满意在来看详解慢慢调整




MOT_BAT_VOLT_MAX    电芯最高电圧,一般电芯设置4.2,高压电芯一般设置4.35(4.3-4.4根据实际设置)*电芯数量(3S*3;4S*4)


MOT_BAT_VOLT_MIN   电芯的最低电压,一般设置3.3,高压电芯设置3.5,也可以高一点;使用18650或者21700电芯的可以设置到3*电芯数量(3S*3;4S*4)

(本人小白,理解可能不够透彻,此二参数可能涉及到电压变化时的PID补偿,请指正)


MOT_THST_EXPO     推力曲线

   如下图,根据螺旋桨尺寸设置,穿越机5寸桨设置0.55;

                                    常见的大疆2212/2312电机9045/1038桨设置0.65;

                                    6系电机20寸桨如大疆E2000动力可以设置0.75

                                    其他尺寸根据下图以此类推

                                      

../_images/tuning-process-instructions-1.hires.png


电机部分

MOT_SPIN_ARM   电机解锁时的怠速转速,指的是解锁起飞前的转速,如果怠速太高降低该值,如果解锁后电机不转或由于转速太低卡顿的情况增大该值,小比例调节,一次不要加的太多以免发生危险


MOT_SPIN_MIN   可以理解为飞行时的最低转速,注意区分上一条参数,这里指的是飞机在飞行时的转速,建议比解锁时转速大三分之一以上;有的同学动力过剩,拉低油门还往上飞,应调小该值


INS_ACCEL_FILTER  加计滤波,10-20,大桨调小小桨调大,一般默认


INS_GYRO_FILTER  陀螺滤波, 5寸80Hz ,10寸 40Hz , 20寸20Hz 

官方解释:https://ardupilot.org/copter/docs/parameters.html#ins-gyro-filter 





ATC_ACCEL_P_MAX

ATC_ACCEL_R_MAX

10寸110000,20寸 50000 , 30寸20000 


ATC_ACCEL_Y_MAX     10寸27000, 20寸18000 ,30寸 9000  


必改,疗效显著,但我使用的是偏方,大家还是按官方的来·······

P/R/Y具体参数参考下图






本疗程结束,开始试飞,基本常识不在复述、、、比如飞控校准,电机顺序、转向,螺旋桨正反,遥控通道正反等...自查自纠


自稳模式解锁,慢慢给油,飞机线性拉起不要飞太高不要有大动作,观察飞机姿态是晃还是抖,是大动作还是小动作

如果离地前就感觉要翻,立即收油上锁,参照上一条检查,一般是电调插错了火者螺旋桨装错

http://47.110.9.138/zb_users/upload/2021/01/202101061609922091692054.xls


T-1 Ranger VTOL Ardupilot設定流程

 參考至這個影片,摘錄重點


一開始校正跟遙控器設定就跳過去了

新增第二個副翼舵機,兩傾轉舵機以及三個馬達

https://youtu.be/NJMIgvoN6aU?t=133

這段自己看影片,沒甚麼特別的。

接下來是參數設定

Q_ENABLE = 1,重開機,重新連接(或者右邊有Reflash Params的按鈕) 等待新的參數顯示。

Q_FRAME_CLASS = 7 

Q_TILT_ENABLE = 1,重新開機,重新連線等待新參數顯示

Q_TILT_TYPE = 2 (Vectored)

Q_TILT_MASK = 3 (啟用tilt servos)

設定三個飛行模式 QSTABLE,FWA,MANUAL

首先在FWA模式檢查所有伺服器動作是否正常,在Servo Outputed頁面反向

QSTABLE模式檢查馬達是否達到超過垂直一定角度(12-15度),在Servo Output頁面調出最大角度,直到螺旋槳不會擊中飛機。

https://youtu.be/NJMIgvoN6aU?t=582

FWA模式是否水平,否則在Servo Output頁面調整

接下來再QSTALBE調整,Q_TILT_YAW_ANGLE,讓馬達垂直

https://youtu.be/NJMIgvoN6aU?t=630

到這邊應該大致上可以了,剩下來就是PID。

其他建議調整參數

Q_ASSIST_SPEED = -1,即使在最低速度時也不啟動馬達來協助飛行,其實是有道理的,因為傾轉馬達如果要協助浮力的話,會瞬間減速,因為馬達要抬起來。

Q_M_BAT_VOLT_MAX,Q_M_BAT_VOLT_MIN 設定電池最高最低電壓,如果沒有電池感應器就不用設定

Q_M_PWM_MAX,Q_M_PWM_MIN 這個是ESC的PWM訊號

Q_M_PWM_TYPE ESC通訊協定 

Q_OPTIONS 選Level Transition, (在轉換期間限制角度...難怪不太轉的動) ThrLandControl, (啟用油門控制著陸速率...不懂)  EnableLandReposition (enable pilot controlled repositioning in AUTO land.Descent will pause while repositioning 不懂)

https://youtu.be/NJMIgvoN6aU?t=818

Q_RTL_ALT = 15,回家的高度

Q_RTL_MODE = 1

Q_TRANSITION_MS = 3000 原本是5000 ....轉換時間(不太懂)

Q_WVANG_HGT_MIN

Q_YAW_RATE_MAX = 240 應該是YAW的最大旋轉速度吧

剩下來應該就是PID了


2023年1月5日 星期四

Tailsitter Planes Setting

 這次要設定的目標是長這樣


沒有控制面是特色

設定參考頁面https://ardupilot.org/plane/docs/guide-tailsitter.html

1. Q_TAILSIT_ENABLE設置為2(對於 Copter Motor Only Tailsitters 的特殊情況(沒有升降舵或副翼/升降舵的控制面))來啟用

ArduPilot 將 tailsitters 細分為兩大類:

  • 矢量尾翼

  • 非矢量尾翼, 在 Non-vectored 中有兩個子類別,Single/Dual Motor 和 CopterMotor:我們要採用的是CopterMotor 使用三個、四個或更多電機,並以更像直升機的方式運行。這些可能有也可能沒有可用於固定翼飛行的控制面以進行控制。** 沒有它們的 CopterMotor 尾翼(即只有一個沒有控制面的升力翼)在固定翼飛行模式下必須始終使用它們的電機來提供控制。設置Q_TAILSIT_ENABLE = 2 會自動執行此操作。**

Q_TAILSIT_MOTMX = 15 (啟動motor 1- 4)
Q_FRAME_CLASS = 1 (quad)
Q_FRAME_TYPE = 17 (X) ***
Q_A_ANGLE_BOOST = 0 未能禁用此功能將導致油門隨著機頭下沉而減小,使機頭進一步下沉並導致撞車。

有兩種直升機尾翼特定配置可供使用,它們為直升機式電機提供無偏航扭矩 (NYT) 控制:Q_FRAME_TYPE = 15 (Plus) 和 =16 (X)。

(從上方俯視鼻子)

NYT QUAD PLUS 電機尾翼

電機由 M1-M4 輸出控制:

../_images/plus-copter-quadplane.jpg

NYT QUAD X 電動尾翼

電機由 M1-M4 輸出控制:

../_images/x-copter-quadplane.jpg
飛控的安裝方向依照飛機形式朝機頭方向
***搞死人,要注意馬達方向,跟常見的Quad不同

這邊有寫到啟動的方式: 簡單的說,要水平啟動,然後再立起來
  • Power up horizontally, and allow the autopilot to begin initialization in this position. After the IMUs tilt initialization is completed (usually in the first ten to fifteen seconds or so), the Tailsitter can be set vertically for the remainder of the initialization (ie after GPS lock and EKF is using the GPS) and then armed.

  • Or, if you get the Pre-Arm failure above, lay the Tailsitter down horizontally for 10-30 seconds to allow the various AHRS subsystems to synchronize. After that it can be raised and arming should proceed normally.

23/01/10

機體的部分依照進度慢慢完成當中,只有幾個小地方沒注意到。像是3mm碳纖棒開的孔3.2mm是不夠的,應該需要到3.4mm
另外就是艙蓋沒有設計固定的方式

至於飛控,PID的部分已經調整的差不多了。原來是這個P值超低,所以預設值放上去都一直震動。而YAW還是不受控制,除非YAW的問題能夠解決,不然應該會失敗。
我有找到一篇討論,跟我的問題一模一樣
https://discuss.ardupilot.org/t/quad-motor-tail-sitter-4-1-yaw-response/77025
最後一個回答是
I suggest to increase Q_A_ACCEL_Y_MAX to 110000.
明天試試看,希望有用。

23/01/11 
還是沒用,而且我把油門用手壓住只轉YAW,然後觀察飛機的反應,基本上YAW是完全沒動作的。
想了很久...我覺得應該是我自己完全會錯意了

Q_FRAME_TYPE = 15 (Plus) 和 =16 (X) 這兩種構型應該是不提供YAW控制
我原文看了幾次才慢慢了解 之前以為是為了無舵面飛機特別提供
其實原文的意思是早期的版本並沒有YAW控制功能,後來新版有了,但是為了給舊版用習慣的人可以沿用舊的控制,所以增加這兩種構型。

好吧...等等調整一下 明天測測看


23/01/13
很順利,沒錯,就是搞錯,Q_RAaME_TYPE = 1就OK了
並且做最後組裝。
幾個洞的角度跟大小沒調整得很好,但是無礙。我會把3D圖修正一下。
底蓋廢棄,因為在畫的時候沒注意到低點是主翼後緣,所以底蓋廢棄。
倒是在測試的時候,發現飛機模式時候,YAW的偏行不是很明顯。所以我會加上垂直翼以防萬一。





23/01/19
前幾天去試飛,還是一樣發生原地自旋。一直以為已經解決。回來看log也是找不到問題。主要是看磁羅盤跟震動,好像都在範圍之內,發生自旋的時候,IMU也是有正確偵測到。
後來在飛場還發顯馬達運轉不良。原本以為是內部線圈有斷掉,但回來之後怎麼檢查都找不到問題,最後整個韌體重刷過就神奇恢復。
難道是馬達的問題?不知道,反正今天換上新馬達,有空重新測試。

23/1/21
今天去後山調參,悟到了一個參數值I的重要。之前都只調整P跟D,I值要嘛很低,不然就乾脆留0。今天把飛機拿在手裡的時候發現I值的重要。
I值主要是提供緩慢的回到初始位置,所以如果把I值設成0的話,用手去轉Yaw,轉的時候會有抵抗力,可是手一鬆他會停住。如果I值有設定的話,不只抵抗增加,手放開還會回到最開始施力的位置。重要的是它會增加抵抗力。
所以原地自轉的問題算是找到答案了,就是I值沒設。
另外今天也測試了Q_HOVER跟Q_LOITER,結果高度完全不行。沒有氣壓計高度變動得太厲害。

23/1/25
考慮許久,還是試著增加氣壓計。
相關資料
無氣壓計警告
https://ardupilot.org/copter/docs/common-speedybeef4.html
改用GPS為高度測量
https://ardupilot.org/copter/docs/common-gps-for-alt.html#common-gps-for-alt
https://ardupilot.org/copter/docs/common-non-gps-to-gps.html#common-non-gps-to-gps
https://ardupilot.org/copter/docs/common-apm-navigation-extended-kalman-filter-overview.html

23/2/2
今天氣壓計到貨,晚上弄了很久都偵測不到。同一個bus上的compass沒問題。單獨把她拿到arduino上去讀資料也ok。找不出原因....
決定放棄用這塊FC來做這個計畫,還是弄回pixhawk吧,省的白做好多工。

23/2/4
改成pixhawk之後去測試,終於把高度定住了。一整個差很多....
另外還打算測試飛行模式的控制
結果發現FWA可以控制,但是stable模式則完全沒反應。另外嘗試調整了一下PID...好像沒反應,可能統一由Quad那邊的PID調整吧??





這邊在閱讀討論區,找到一些有用資訊
你好@kd0aij,@iampete,@tridge
我正在建造四翼雙翼飛機尾翼,在從 qloiter 到 fbwb 的過渡過程中遇到了一些問題。當我切換到 fbwb 時,轉換以 45 度(默認)完成。然後它繼續俯仰直到到達地平線,因為所需的俯仰幾乎為零。這種轉變非常快,我的飛機墜毀了幾次。有什麼方法可以使過渡緩慢而平穩。另外,如果我想在向前飛行時固定俯仰角(非零值),是否可以這樣做?因為目前,fbwb 控制器希望所需音高為零。我想看看我的飛機在固定高度下的俯仰角與速度圖的表現。我想以 10 度的增量從 90(零速度)到 10 度(我猜是最快的速度)改變俯仰,並研究所消耗的功率如何變化以找到最佳俯仰角。我希望你能在這方面幫助我。您的幫助將不勝感激。

  • 如果您沒有足夠快地達到飛行速度,您可以將過渡角度 Q_TAILSIT_ANGLE 增加到大約 60 度……您還可以(在 master 中)確定從垂直到 60 度所需的時間:Q_TAILSIT_RAT_FW
  • FW 中的俯仰角從自動駕駛儀的角度(即機身框架)始終為 0,但是,您可以通過僅在 Mission Planner 中將飛機保持在所需角度進行校準水平來更改迎角(地球框架中的俯仰角)攻擊(通常在機翼弦上 3-5 度,相對於地平面參考),那麼您將需要調整 Q_TRIM_PITCH 參數以補償 VTOL 模式下的垂直為 0 俯仰,或者您可以使用 TRIM_PITCH_CD 參數僅影響FW 模式下的俯仰調整,然而,這不會反映在 OSD 或 Mission Planner VHR_HUD 顯示中,並且看起來自動駕駛儀總是偏離水平,所以我更喜歡第一種方式,我自己
    另一種設置俯仰微調而不是使用 Mission Planner 中的 LEVEL Calibrate 按鈕的方法是手動設置 AHRS_TRIM_Y 值……以弧度為單位,因此您可以在飛行到 FBWA 中的不同值時設置它並查看需要什麼油門以保持恆定高度……然後您可以查看地面速度的對數值(假設您進行逆風和順風通過以及空速的平均值)與油門與您使用 AHRS_TRIM_Y 修剪的俯仰角
另外關於Q_OPTIONS bit 7 跟8

控制面

雖然通常不推薦,但可以駕駛沒有控制面的尾翼飛機。應注意首先讓車輛在懸停模式下飛行良好。

  • Q_OPTIONS位 7:強制Qassist將強制車輛在所有飛行模式下使用直升機控制器。

  • Q_OPTIONS位 8:Mtrs_Only_ Qassist允許對電機使用直升機控制器,但將任何控製表面留在平面控制下,這允許控製表面充當電機的“微調選項卡”。

有關如何通過空速、高度、姿態和/或開關自動啟用和禁用Qassist的更多詳細信息,請參閱輔助固定翼飛行。RCx_OPTION

就算看英文也不是很懂,不過好像bit7要設定成1

另外又有看到關於 QASSIST 參數:
Q_ASSIST_ALT 0.0 ****
Q_ASSIST_ANGLE 10.0
Q_ASSIST_DELAY 0.5
Q_ASSIST_SPEED 0.0 ****

打星星的兩個比較重要 不過好像預設值就長這樣

23/02/15
大失敗,Quad模式還好,轉道FWA之後大概兩三公尺,飛機就會像發瘋一樣垂直拉起來然後在天上亂飛。試了兩次最後大墜毀。
目前已知的問題是因為面積大,在Quad模式停懸稍微有點風的時候要修正Yaw光靠扭矩是不夠的,可以看到其中一個馬達都停了還無法修正。
至於轉FWA模式為什麼會垂直拉升,我有兩個猜測,第一是要修正滾轉但是扭矩不足,已經有一個馬達停掉。
另外就是可能某個參數設錯,導致飛控以為要墜毀所以強制戒數。

參考資料
  • Tailsitter 討論串  https://discuss.ardupilot.org/t/copter-tailsitters/45514?page=39
  • QuadPlane VTOL 調整» 調整過程說明 https://ardupilot.org/plane/docs/quadplane-vtol-tuning-process.html
  • QuadPlane Setup » Tailsitter Planes https://ardupilot.org/plane/docs/guide-tailsitter.html