**:
先介紹一下互補濾波的基本概念,這是阿莫論壇上乙個會員的總結:對mpu6050來說,加速度計對四軸或小車的加速度比較敏感,取瞬時值計算傾角誤差比較大;而陀螺儀積分得到的角度不受小車加速度的影響,但是隨著時間的增加積分漂移和溫度漂移帶來的誤差比較大。所以這兩個感測器正好可以彌補相互的缺點。不過要怎麼彌補呢?經過上面的介紹是否感覺到可以用濾波器做文章呢?這裡講的互補濾波就是在短時間內採用陀螺儀得到的角度做為最優,定時對加速度取樣來的角度進行取平均值來校正陀螺儀的得到的角度。就是,短時間內用陀螺儀比較準確,以它為主;長時間用加速度計比較準確,這時候加大它的比重,這就是互補了,不過濾波在**?加速度計要濾掉高頻訊號,陀螺儀要濾掉低頻訊號,互補濾波器就是根據感測器特性不同,通過不同的濾波器(高通或低通,互補的),然後再相加得到整個頻帶的訊號,例如,加速度計測傾角,其動態響應較慢,在高頻時訊號不可用,所以可通過低通抑制高頻;陀螺響應快,積分後可測傾角,不過由於零漂等,在低頻段訊號不好。通過高通濾波可抑制低頻雜訊。將兩者結合,就將陀螺和加表的優點融合起來,得到在高頻和低頻都較好的訊號,互補濾波需要選擇切換的頻率點,即高通和低通的頻率。
鑑於加速度計低頻特性比較好,因為加速度的角度可以直接算出來,沒有累積誤差,所以長時間後也比較準。而陀螺儀長時間後由於積分誤差的累加,會造成輸出誤差比較大,甚至無法使用。所以用互補濾波法根據他們的特性取長補短進行姿態解算,每過一段時間就讓加速度計去校準一下陀螺儀。互補濾波就是在短時間內採用陀螺儀得到的角度做為最優值,定時對加速度取樣來的加速度值進行取平均值來校正陀螺儀的得到的角度。短時間內用陀螺儀比較準確,以它為主;長時間用加速度計比較準確,這時候加大它的比重,這就是互補了,不過加速度計要濾掉高頻訊號,陀螺儀要濾掉低頻訊號,互補濾波器就是根據感測器特性不同,通過不同的濾波器(高通或低通,互補的),然後再相加得到整個頻帶的訊號。互補是給他們不同的權重加權求和。
互補濾波是這樣的:陀螺積分角度+=角速度dt;融合角度=陀螺權值陀螺積分角度+(1-陀螺權值)加速度角度;還有一種叫最大梯度法的,就是你發的這段**
// integral error scaled integral gain
exint = exint + exki;
eyint = eyint + eyki;
ezint = ezint + ezki;
// adjusted gyroscope measurements
gx = gx + kp*ex + exint;
gy = gy + kp*ey + eyint;
gz = gz + kp*ez + ezint;
大概是這樣的: 陀螺積分角度+=角速度dt;角度偏差=加速度角度-陀螺積分角度;融合角度=陀螺角度+衰減係數角度偏差;用來矯正陀螺本身的靜態漂移:角度偏差積分+=角度偏差;角速度=角速度+衰減係數*角度偏差積分;這個就可以一定程度上矯正陀螺的零漂。
下面這幅圖才是準確的闡述了互補濾波的過程。正常情況下用陀螺儀的資料就可以進行姿態的更新,但是由於陀螺儀的積分誤差,這裡用acc和mag去校正,求出他們的誤差用pi去彌補。注意看看pid的公式和作用,pid是作用於誤差(實際個期望之間的差值),最終反覆調節,讓實際值=期望值。
互補濾波係數 3 互補濾波器
首先,我們澄清一點很多人都在討論的問題 卡爾曼濾波器是不是真的優於互補濾波器?答案是肯定的,但有一些前提 感測器的雜訊是隨機的,服從正態分佈的,我們大概知道雜訊的協方差矩陣 並且 優於 是在最小均方誤差 least mean squared error 的意義上。參考文獻 1 p.284 中對於互補...
一階互補濾波
六軸採集原始資料用的都是16位的adc,所以顯示的數字是從 32768 32768,要看自己選擇的量程進行換算,量程選擇在配置裡面找,比如選擇 250 250量程,那麼 32768 32768就對應 250 250 進行換算就可以了。對mpu6050來說,加速度計對四軸或小車的加速度比較敏感,取瞬時...
一階互補濾波
我們已經知道,mpu6050可以獲得加速度和角速度,但是由於感測器的雜訊訊號比較大,無法直接通過兩個資料來獲得該軸上的角度。因此,需要進行互補濾波來近似得到乙個比較準確的角度。加速度資料,不是很準確,但是趨勢是對的,通過受力分能夠顯示角度變化趨勢,在長期變化來看是可以利用的。角速度資料,加速度積分得...