問題:為什麼不用尤拉角來表示旋轉而要引入四元數呢?
前面介紹了什麼是尤拉角,而且尤拉角微分方程解算姿態關係簡單明瞭,
概念直觀容易理解,那麼我們為什麼不用尤拉角來表示旋轉而要引入四元數呢?
一方面是因為尤拉角微分方程中包含了大量的三角運算,這給實時解算帶
來了一定的困難。而且當俯仰角為90度時方程式會出現神奇的「gimballock」。
所以尤拉角方法只適用於水平姿態變化不大的情況,而不適用於全姿態飛行器的姿態確定。
四元數法只求解四個未知量的線性微分方程組,計算量小,易於操作,是比較實用的工程方法。
四元數是一種超複數。如把四元數的集合考慮成多維實數空間的話,四元數就代表
k i j 著乙個四維空間,相對於複數為二維空間。
簡而言之,四元數包含了剛體旋轉的所有資訊,而在四旋翼飛行器的姿態解算中,
往往使用的是四元數微分方程對四元數進行更新
//四元數更新姿態:
... .html
//四元數:四元數可以理解為乙個實數和乙個向量的組合,也可以理解為四維的向量。
void ano_imu::quaternion_cf(vector3f gyro,vector3f acc, float deltat)
四元數姿態解算c語言例程 交換位置的四元數
四元數和尤拉角 旋轉矩陣都是描述姿態的一種方式。個人不怎麼使用四元數,一般會將四元數修改為旋轉矩陣和齊次變換矩陣的旋轉部分然後進行操作。但是,在開發和科研中發現,如果能夠對四元數表示的姿態有乙個大概的認識,則在 編寫中可以直觀的防止相關轉換錯誤 如果能夠知道常用的四元陣列表達的位置,以及通過交換四元...
關於MPU6050姿態解算的理解與認識
謹以此紀念兩天以來的對電子羅盤的認識與學習 mpu6050常用作提供飛控執行時的姿態測量和計算,在在姿態結算中有幾個重要的概念,尤拉角 四元數等。尤拉角 用來表徵三維空間中運動物體繞著座標軸旋轉的情況。即物體的每時每秒的姿態可以由尤拉角表出。四元數 超複數,q q0,q1,q2,q3 q0位實數,q...
四軸飛行器姿態解算預備知識
其實我覺得要說四軸的姿態,我們必須說幾樣東西。1 座標系 2 方向余弦矩陣 3 尤拉角 4 四元數 對上面這四樣東西有了初步的理解,就可以開始看imu的飛控解算程式了。其實我剛剛接觸四軸的時候我沒明白為什麼四軸裡面一會來個地理座標系,一會來個機體座標系。搞這麼多座標系幹什麼用的。後來在秦永元的書裡面...