新手朋友們最頭痛的問題之一就是姿態(tài),翻開書本全是非常復(fù)雜的數(shù)學(xué)過程,完全不理解,今天我們聊點(diǎn)輕松的,可能會幫助你對姿態(tài)有一些新的認(rèn)識。
為什么需要姿態(tài)
我們先忘掉固有的姿態(tài)概念,先把在空間中擺放飛行器的狀態(tài)叫做「姿勢」。
我們高中以前學(xué)習(xí)物理知識,通常是把物體當(dāng)做質(zhì)點(diǎn)來進(jìn)行分析的,所以只需要描述物體的加速度,速度,位置就夠了,但是實(shí)際上的情況更加復(fù)雜,只有位置不夠,想象一下,如果你讓你的朋友幫你停車,你只說一個(gè)位置,他可能會停的千奇百怪,車頭朝前,車頭朝后,甚至是斜著給你停。飛機(jī)就更加復(fù)雜,在天上飛,在同一個(gè)位置可能會出現(xiàn)的無數(shù)種「姿勢」。
實(shí)際上控制器就相當(dāng)于你的朋友,你必須描述清楚你需要什么樣的「姿勢」,它才能幫你完成控制,實(shí)現(xiàn)這個(gè)「姿勢」,
如果是車,這種「姿勢」比較好描述,比如你和你的朋友都拿上指南針,然后告訴你的朋友把車頭朝著北偏東多少度,這樣他就可以完美的完成你的任務(wù)。
所以我們也需要找到一個(gè)好的方法描述這個(gè)空間中的「姿勢」。
1.如何描述姿勢
我們完全可以像停車一樣,自己找一種描述方法,來解決這個(gè)問題,但是自己找的方法可能沒有你現(xiàn)象中的那么好用。
我們先來看看前輩們是如何解決這個(gè)問題的。
現(xiàn)在我們常說的姿態(tài)其實(shí)是用剛體旋轉(zhuǎn)的形式描述在空間中的「姿勢」。
首先建立一個(gè)導(dǎo)航坐標(biāo)系(地理坐標(biāo)系){E}(北東天)然后在飛機(jī)上建立一個(gè)機(jī)體坐標(biāo)系{B}(前右上),將兩個(gè)坐標(biāo)系原點(diǎn)重合。
假設(shè)初始狀態(tài)是我們的機(jī)體坐標(biāo)系與導(dǎo)航坐標(biāo)系重合的(機(jī)頭朝北),當(dāng)前的機(jī)體坐標(biāo)系與導(dǎo)航坐標(biāo)系是不重合的,那么我們所說的姿態(tài),就是飛機(jī)從初始狀態(tài)旋轉(zhuǎn)到當(dāng)前狀態(tài)的過程。
所以姿態(tài)的本質(zhì)是個(gè)旋轉(zhuǎn)過程。
為什么通過旋轉(zhuǎn)這種方式可以解決我們的姿勢問題呢?因?yàn)橹灰闱逦拿枋隽诉@個(gè)旋轉(zhuǎn)過程,那么不論是誰來操作這個(gè)旋轉(zhuǎn),都能將飛機(jī)從初始狀態(tài),旋轉(zhuǎn)到當(dāng)前狀態(tài)。
2.姿態(tài)是個(gè)動詞
不論你用什么數(shù)學(xué)工具來描述姿態(tài)(歐拉角,四元數(shù),旋轉(zhuǎn)矩陣,軸角),它其實(shí)都是在描述一個(gè)旋轉(zhuǎn)過程,所以姿態(tài)其實(shí)是個(gè)動詞。
舉個(gè)栗子,當(dāng)前飛行器姿態(tài)為b1.
用我們新手最喜歡的歐拉角表示可以表示為(a,b,c)
將其轉(zhuǎn)換成一個(gè)旋轉(zhuǎn)矩陣
這個(gè)旋轉(zhuǎn)矩陣表示的就是當(dāng)前姿態(tài)b1.因?yàn)樗菤W拉角變換過來的。
同時(shí)他是個(gè)旋轉(zhuǎn)矩陣,如果一個(gè){E}系下的向量左乘該旋轉(zhuǎn)矩陣,就可以得到該向量在b1機(jī)體坐標(biāo)系下的表示。
想想看我們經(jīng)常說的E系下的重力轉(zhuǎn)換到機(jī)體坐標(biāo)系不就用的這個(gè)表達(dá)式嗎?
發(fā)現(xiàn)姿態(tài)的動詞屬性了嗎?而且聰明的你,應(yīng)該還發(fā)現(xiàn)了不同旋轉(zhuǎn)的描述有不同的優(yōu)勢。
歐拉角非常適合觀察,給我們很容易想到它大概的姿態(tài),但是卻很難實(shí)現(xiàn)這個(gè)動作,給人的感覺就是名詞屬性強(qiáng),動詞屬性弱。
旋轉(zhuǎn)矩陣正好相反,看見一個(gè)旋轉(zhuǎn)矩陣,完全不知道這代表什么樣的姿態(tài),但是旋轉(zhuǎn)矩陣是可以直接參與運(yùn)算的,使得坐標(biāo)變換非常容易。(動詞屬性強(qiáng),名詞屬性弱)
3.總結(jié)
一旦你能理解姿態(tài)的本質(zhì)是旋轉(zhuǎn),你再去深入學(xué)習(xí)會有不一樣的感受。
1.我們的問題核心是如何描述飛機(jī)在空間中的「姿勢」,可以自己設(shè)計(jì)一套方法,但是我們通常使用旋轉(zhuǎn)的方式來描述「姿勢」這個(gè)旋轉(zhuǎn)過程我們稱作「姿態(tài)」。
2.姿態(tài)這個(gè)旋轉(zhuǎn)過程,是從初始狀態(tài)轉(zhuǎn)換到當(dāng)前姿態(tài)的過程。
3.數(shù)學(xué)界的前輩們早就研究出了很多工具用來描述旋轉(zhuǎn)包括,四元數(shù)、歐拉角、旋轉(zhuǎn)矩陣、軸角等。
4.歐拉角最適合觀察,而其他形式可以直接參與運(yùn)算,直接參與運(yùn)算的工具使我們的坐標(biāo)轉(zhuǎn)換非常方便。
5.雖然歐拉角是三個(gè)數(shù)字,但是它描述的是旋轉(zhuǎn),有很多隱藏條件,比如旋轉(zhuǎn)順序等等,所以歐拉角直接相減沒有意義。
還記得我們之前問過一個(gè)問題嗎?為什么我們姿態(tài)更新的一定要求出歐拉角而不是角速度積分得到的三個(gè)獨(dú)立角度嗎?因?yàn)槟壳拔覀兊娘w控代碼都是建立在這套旋轉(zhuǎn)體系之上的,如果你要使用其他方式描述「姿勢」,你就得重新設(shè)計(jì)姿勢的求解過程,以計(jì)算姿勢誤差的方法。
責(zé)任編輯:gt
評論