Comments (7)
Hi 聖文 @shengwen1997
QFC 2.0 飛控版本最後的更新應該是這個 2014.01.23 Commit - 6b3d1668f50d4b16774aef3b2704a975c109c289
最後版本是有加入互補濾波做融合的,馬達轉動影響不大,
整體影響較大主要是初始校正的方法,磁力計處理設計如下圖。
另外不知道你說的飄移現象是指甚麼?誤差逐漸變大嗎?
基本上電子羅盤做好校正,剩下的誤差來源大部分都來自於環境因素,
不太可能會像陀螺儀積分一樣,累積誤差。
MPU9250 的電子羅盤部分目前僅讀出 Device ID 而已,還沒有實際拿來做應用。
// QCopterFC_ahrs.c
...
static float AngZ_Temp = 0.0f;
...
Quaternion_ToAngE(&NumQ, &AngE);
tempX = ( Mag.X*arm_cos_f32(Mag.EllipseSita)+Mag.Y*arm_sin_f32(Mag.EllipseSita))/Mag.EllipseB;
tempY = (-Mag.X*arm_sin_f32(Mag.EllipseSita)+Mag.Y*arm_cos_f32(Mag.EllipseSita))/Mag.EllipseA;
AngE.Pitch = toDeg(AngE.Pitch);
AngE.Roll = toDeg(AngE.Roll);
AngE.Yaw = toDeg(AngE.Yaw)+180.0f;
/* 互補濾波 Complementary Filter */
#define CF_A 0.9f
#define CF_B 0.1f
AngZ_Temp = AngZ_Temp + GyrZ*SampleRate;
AngZ_Temp = CF_A*AngZ_Temp + CF_B*AngE.Yaw;
...
from smartimu.
使用時間進行調整到最後會極偏於使用加速規,那幾乎等於不使用陀螺儀了,
對於四軸來說似乎不是個好方法?
from smartimu.
我有推算過,
若tau取0.49的話,
大約30秒至1分鐘左右陀螺儀比重會下降到百分之一以下
from smartimu.
@shengwen1997
不是很懂你的敘述,"使用時間進行調整"和"大約30秒至1分鐘左右"的意思?
from smartimu.
@shengwen1997
或許可以把你推算的過程貼上來。
from smartimu.
上面的那張圖片跟此篇文章解釋的東西似乎是一致的
http://feichashao.com/balance_filter/#i-9
聖文
from smartimu.
@shengwen1997
互補濾波部分是參考該篇文章,所以上面自己畫的圖與文章講的本質上是相同的,
差別只在於用電子羅盤實現和配合我所撰寫的程式而已,
有興趣看原文可以自行 google Shane Colton 撰寫的 "The Balance Filter"
from smartimu.
Related Issues (7)
- SmartIMU board HOT 1
- TestMagnetometer
- 一阶龙格库塔与构建增量四元数相乘有什么区别吗 HOT 7
- 板子是怎么画出这种效果的 HOT 3
- Slave0及Slave4的差別 HOT 3
- MSP430透過SPI讀取MPU9250 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from smartimu.