学习四旋翼(一):动力学模型和空间姿态表示
暑假期間,對于四旋翼有一點興趣,沒有親手做,但是看了一些資料。這個系列文章只是對自己看的東西的記錄,對于想要學習了解相關知識的同學沒有任何參考價值!
本篇是系列第一篇,分為兩部分。第一部分定性描述了四旋翼飛行的動力學原理,第二部分從旋轉矩陣,歐拉角,四元數三個方面介紹了三維空間剛體運動的表示方法。
一.動力學模型
可以把四旋翼的運動模型分為動力學模型和運動學模型兩個部分。由于四旋翼的動力學模型比較簡單,這里只對四旋翼的運動控制定性說明。
1.升降運動
四旋翼的四個漿葉分X形或十字形,相鄰的兩個旋翼轉動方向相反,它們產生的反向扭矩剛好相互抵消,使得四軸在偏航方向能夠保持平衡。當轉速增加,飛行器克服升力,高度升高。反之轉速減小,高度也就隨之下降。
2.俯仰運動
如圖所示,當電機1轉速增大,電機3轉速減小,飛行器產生一個向上的力矩,隨之電機1上升,電機3下降。同時飛行器會向電機3的方向前進。
3.橫滾運動
如圖所示,當電機1,2中的一個提高轉速另一個減小,就會產生橫滾運動。同時飛行器也會左右移動。
4.偏航運動
偏航運動是機體圍繞Z軸旋轉的過程。單個旋翼,旋轉時會產生反扭距,使得機身朝反方向旋轉,這也是直升機需要尾槳的原因。圖中逆時針旋轉的兩個槳加速,順時針旋轉的兩個槳減速,這樣機體就能順時針旋轉。
2.三維空間剛體運動姿態表示
1.歐拉角
首先介紹歐拉發明的歐拉角說起。歐拉角應該是最容易理解的旋轉表示方法。
如圖所示,一般使用ZYX的順序旋轉物體,下圖是一架飛機按照ZYX組合進行旋轉產生歐拉角的過程,其中,ψ為偏航角,θ為俯仰角,φ為滾轉角。這樣使用三個參數就能唯一表示一種旋轉方式。
歐拉角最大的問題是存在萬向鎖,數學上叫做奇異性??梢允褂檬种械氖謾C感受一下。先將手機屏幕面于地面平行,繞Z軸旋轉任意角度,然后將手機向上仰90度,使得屏幕面和地面垂直,這樣不論如何,第三次旋轉和第一次旋轉將使用同一個Z軸,使得物體相當于損失了一個自由度。
2.旋轉矩陣
在線性代數中學過,
[a1a2a3]=R?[a1,a2,a3,]\begin{bmatrix} a_1\\a_2\\a_3 \end{bmatrix} \quad=R*\begin{bmatrix} a_1^,\\a_2^,\\a_3^, \end{bmatrix} \quad ???a1?a2?a3?????=R????a1,?a2,?a3,?????
將單位正交基a’轉換為另一個正交基,這個轉換矩陣R就是旋轉矩陣。
在二維坐標系之下,旋轉X軸一個角度θ,得到旋轉矩陣
[cosθsinθ?sinθcosθ]\begin{bmatrix} cosθ&sinθ\\-sinθ&cosθ\\ \end{bmatrix} [cosθ?sinθ?sinθcosθ?]
同理,按照ψ為偏航角,θ為俯仰角,φ為滾轉角的順序旋轉之后,可以得到以下三個旋轉矩陣。
旋轉矩陣R=RψRθRφ旋轉矩陣R=R_ψR_θR_φ 旋轉矩陣R=Rψ?Rθ?Rφ?
當俯仰角θ達到90度時,
R=[00?1sin(φ?ψ)cos(φ?ψ)0cos(φ?ψ)?sin(φ?ψ)0]R=\begin{bmatrix} 0&0&-1\\sin(φ-ψ)&cos(φ-ψ)&0\\cos(φ-ψ)&-sin(φ-ψ)&0 \end{bmatrix} R=???0sin(φ?ψ)cos(φ?ψ)?0cos(φ?ψ)?sin(φ?ψ)??100????
可見這個這個旋轉矩陣的第一行和第三列固定不變,相當于損失了一個自由度,這也是萬向鎖的數學解釋。
注意:不同的資料可能旋轉矩陣表示不一樣。本文中都是被動旋轉求出的旋轉矩陣。
3.四元數
先說明四元數的結構
q=q0+q1i+q2j+q3kq=q_0+q_1i+q_2j+q_3k q=q0?+q1?i+q2?j+q3?k
它擁有一個實部和三個虛部,它的設計不是隨意的,而是專門為了表示旋轉而發明。設一個點的坐標是【x,y,z】記為p,將它繞n軸旋轉角度θ,得到點p’。
p=[0,x,y,z]=[0,v]q=[cosθ2,nsinθ2]p,=qpq?1(q?1是四元數q的逆)p=[0,x,y,z]=[0,v]\\q=[cos\frac{θ}{2},nsin\frac{θ}{2}]\\p^,=qpq^{-1} (q^{-1}是四元數q的逆) p=[0,x,y,z]=[0,v]q=[cos2θ?,nsin2θ?]p,=qpq?1(q?1是四元數q的逆)
那么,四元數不存在萬向鎖的問題,但是不直觀,所以在實際應用需要把它歸一化后使用如下的代碼轉換成歐拉角。
總結
以上是生活随笔為你收集整理的学习四旋翼(一):动力学模型和空间姿态表示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎样编写一个go语言软件
- 下一篇: Linux下RabbitMq的安装以及后