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