Robotics Aerial Robotics課程專題 第二講 四旋翼動力學和系統設計
寫在前面:筆者水平有限,希望文中的錯誤之處能有大神指出。
另外,如果讀者在飛控領域內有哪一塊不了解可以在文章下面留言,合適的時候,筆者會講述相關知識點(已經不知道寫什麼了)。
專欄的宗旨是專註于飛行控制技術上,本來專業人士就畢竟少,寫的好的話,請不要吝嗇你的贊,請不要默默的收藏,畢竟筆者也是花了大量的時間在這上面,希望得到良好的反饋,謝謝!
轉載請註明文章出處、專欄鏈接和作者信息,謝謝!
這一節主要描述四旋翼飛行器是如何工作的,討論四旋翼的基本力學以及如何設計四旋翼飛行器,其次,介紹簡單的控制方法,包括設計時需要考慮哪些要素。另外,設計時如何滿足四旋翼飛行器的機動性和敏捷性。最後,討論四旋翼飛行器的尺寸大小對飛行性能的影響。
動力學簡介
四旋翼飛行器是通過調整四個電機的轉速來保證其飛行的。每個電機旋轉,產生推力向上。
而推力與電機轉速成二次方關係。電機旋轉也會產生一個轉矩,其與電機轉速也成二次方關係,如下圖藍色和橙色的曲線顯示。
如果是四旋翼,則每個電機負擔四分之一重量來保持懸停,根據下圖,為了滿足推力抵消四分之一的重量,就能確定電機的轉速值,如圖中的w0,即懸停轉速值。這個轉速同時也會產生一個電機轉矩,每個電機需要克服這個轉矩,選取合適的電機就是根據這個來定的,電機產生的力矩要能抵消這個轉矩。
懸停時,電機的轉速產生的推力能夠補償機身的重力。通過這個重量,就能確定每個電機的懸停轉速值,也能夠得到每個電機所需的力矩。
如果知道KF和KM係數值,很容易得到合力F,如圖所示。
同樣的,如果能夠知道飛行器的重心位置,飛行器的總力矩M也可以計算出來,包括每個電機產生的推力得到的力矩和順時針或逆時針旋轉產生的力矩(與yaw運動有關)。
懸停狀態下,合力F和總力矩M都為零。
但是如果合力F或力矩M不為0時,就會產生加速度。
以高度方向為例,
增大電機轉速,就會產生向上的加速度,反之同理。
控制率設計
以垂直方向的高度控制為例,控制飛行器上升、下降、懸停。
圖中,x表示高度方向的位移,加速度即x的二階導數,根據F=ma,能推出u即F/m的表達式。得到一個簡單的二階微分方程。
控制目標就是確定u,來控制x,即期望的飛行器的高度。
如圖所示,控制問題描述成如何確定隨時間t變化的u的函數,使得x達到期望的x。
方法:定義一個誤差error,表示期望x與實際軌跡x的誤差,這樣將問題轉換成使得這個誤差趨於零。
最終:我們需要找到u,使得誤差函數滿足圖中的等式。
得到u的表達式,分成三項,前饋項、微分項和比例項,即PD控制器,前饋項為期望軌跡的變化,期望x的二階導數。
這個u就是我們所設計的控制率。
P的控制作用,增大控制力度,過大會造成震蕩;
D的控制作用,加大阻尼,能夠防止系統過沖,過大的話,跟蹤反應變得很慢,實際應用時,該項參數過大會放大數據雜訊的影響,也能造成震蕩;
I的控制作用,抵消比如系統的數學模型誤差,或是外界干擾(風)的影響;
PD都參與的時候,系統穩定;只有P控制時,系統臨界穩定,不會漂移,在期望高度等幅震蕩;PD參數為負數時,系統不穩定。直觀理解就是,比如高度方向,向上移動了1m,期望懸停高度在0m,產生一個誤差-1m,假設Kp為-1,則產生的控制量u為1,則飛行器繼續向上加速,不能跟蹤到期望高度0m。
下面介紹幾個模擬實驗,給予對控制器的直觀理解。
實驗如圖所示,保持飛行器高度懸停,當受到外界干擾時,能自動控制到原來的飛行高度。
當kp過大時
實驗如圖
飛行器不能馬上穩定在期望高度,總會震蕩幾下。
Kp過小時,kd參數很大時,
飛行器到達期望高度較慢,時間較長。
以上是基於一個理想模型所設計的簡單控制器,那簡單的理想模型存在哪些問題?
主要問題就是,我們假設了飛行器的動力充足,能夠滿足控制器所需的推力,但實際應用時,所設計的推力是有限的,所以就要求設計的控制器生成的控制量在一定範圍內。
如圖所示,只考慮垂直方向,即電機產生的推力只需與機身重力抗衡,超過重力的推力會產生一個向上的加速度。但是電機的推力,受到最大力矩的限制,假設這個最大力矩已知,那就能得到最大的推力,也就能推測出最大的向上加速度。
如圖所示,控制量u的範圍是由最大推力和機身重力共同決定的,兩者方向相反。
所以,知道了最大推力Tmax,就能知道最大控制量umax。
所以,實際設計的控制率還要考慮這個umax,簡單來說,就是高度控制器生成的電機推力(轉速PWM)有限幅的。
這個模擬解釋了,兩個問題:
1、 如果機身不變,選用的電機不一樣,控制效果會有什麼不同!(不考慮控制器變化)
2、 如果選用的電機一樣,機身重量發生了變化,(比如植保飛行器作業時,藥劑噴洒造成的負載變化)控制效果如何!
功率
圖中顯示了其實驗室六種不同的飛行器,不同的負載不同的機身設計。
因為推力負載比不一樣,所以消耗的功率必然也不一樣。
圖中可以簡單看出,每1kg,消耗功率約為200w
圖中藍色表示每公斤消耗電力200w,而電池能提供的都超過了200w。這個對選擇合適的電池具有幫助。
所以,設計四旋翼飛行器時,要選擇電池;要選擇合適的電池,就要考慮功率。
這幅圖主要描述了功率和能量之間的關係,圖中所闡述的意思就是飛行器的效率比人要低很多的,所以需要很多動力,但目前電動常規使用的鋰電池不具備這麼多的能量,所以辦法就是減重,設計更小更輕的四旋翼。(本課程的宗旨就是設計的飛行器能夠具有較強的機動性和敏捷性,要能滿足在複雜環境下自主飛行)
圖示,基本上電池占重約33%,電機占重25%。如果飛行器上增加感測器部件,一樣也增加了重量。
比如激光感測器,每移動30m消耗10w,但因為重270g,所以飛行器移動時需要額外消耗50~60W。
總結:當考慮功率消耗時(續航時間),除了負載的重量,同樣要考慮負載帶來的功耗,以及推力負載比。
敏捷性
飛行器飛行時,迅速以最大速度飛行,當接近目標位置時,能夠產生反向加速度,即出現一個反向的角度,使得飛行器減速到目標位置,這個過程中,由於推力要被分解到水平方向一部分,所以垂直方向抵消重力的推力不夠,造成飛行器高度下降。同時,如何減小剎車距離?
另外一個問題就是,如何讓飛行器最大速度飛行時,能夠儘快轉彎,轉彎半徑盡量小?
以上就是敏捷性能所需考慮的兩個問題:如何在最大飛行速度的情況下,迅速剎車以及轉彎?
以上圖為例,只考慮滾轉方向,飛行器的輸入包含推力u1和滾轉力矩u2,在yz平面上,得到y和z方向的線加速度和滾轉角加速度,寫成狀態方程。
想要快速剎車或快速轉彎,就要得到最大的線性加速度和角加速度。
如何計算剎車距離
這裡,課程中並沒有講述,筆者以開源飛控為例
根據允許的最大速度和最大加速度計算出飛行器剎車距離,這個距離會被用來更新目標位置點。
原理:
機動性越差,加速度越小,所需的剎車距離越長。
總結:機動性與飛行器的質量、轉動慣性有很大關係。質量越大或轉動慣性越大,剎車距離越長;速度越快,所需的剎車距離越大。
器件選擇
上圖框架中,高性能板載計算機處理計算量大的任務,比如視覺導航等,然後通過串口給飛控發飛行指令即可。
總結:
? 儘可能提升推力負載比;
? 能量消耗除了包含設備本身的消耗外,還要考慮搭載這些設備後的消耗,比如搭載激光感測器後,大約功率50~60瓦;
? 考慮取捨,比如高級的感測器能夠測量的範圍很長,所以比如剎車時允許有更長的時間反應,但是設備本身較重,又減小了推力負載比。
尺寸
首先考慮飛行器的質量,慣性因素,即最大的推力以及最大的力矩。如圖所示,質量是軸距一半l的立方,轉動慣性約質量乘以l的平方,所以就是l的五次方。
其次是推力,w和r的乘積為電機的轉速,而F與電機轉速的平方成正比,所以F約等於r2*v2。
最後看下力矩,約等於推力F乘以l。
假設螺旋槳尺寸與L大致相等,得到圖中右邊最後的表達式。
圖中的實驗結果表明,電機轉速是l的平方根。這個適用於小型飛行器。
有兩種縮放關係,具體學術名稱不知道,區別在於認為槳葉葉尖速度(這裡認為是電機轉速)是l的平方根還是為1,。以上,能夠推測出大致的推力F要麼是l的三次方,要麼是平方關係。相同的是,如果飛行器的尺寸越小,最大的角速度就會越大,飛行器越敏捷。得到的最大加速度和最大角加速度的關係就是敏捷性能的體現。
綜上所述,幾個要點:
? 運動學就是處理各種運動,動力學是處理各種使物體運動的力,動力是因,運動是果。四旋翼飛行器的基本力學,主要考慮推力和力矩與電機轉速的關係;
? 控制率設計採用常見的PID控制方法,確定好輸入量,狀態量;
? 設計四旋翼平台時,要考慮好推力負載比,功耗,互相之間進行取捨;
? 飛行器的機動性能主要體現在最大線性加速度和最大角加速度;
? 飛行器的尺寸越小,最大的角加速度就越大,機動性越突出;
推薦閱讀: