小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

標(biāo)定加速度計(jì)

 弓道自然_改名 2012-06-16

四軸——標(biāo)定加速度計(jì)

這幾天都在標(biāo)定加速度計(jì),終于完成了。

  1. 方案
    傳感器總會(huì)有缺陷,測(cè)量的值有誤差,所以要校正。要校正加速度計(jì),最簡(jiǎn)單有效的辦法就是利用重力了。以不同方向在靜止?fàn)顟B(tài)測(cè)量加速度,然后把數(shù)據(jù)擬合到當(dāng)?shù)刂亓铀俣?,就完成?duì)加速度計(jì)的標(biāo)定了,直接無(wú)視Datasheet上的精度參數(shù)。
  2. 采集數(shù)據(jù)
    采集數(shù)據(jù)就要用到上次做的“黑匣”了,測(cè)量到的部分?jǐn)?shù)據(jù)如下。
    四軸鈥斺敱甓鈾俁燃

    里面的0x55AA是幀開(kāi)始符,表示一組測(cè)量數(shù)據(jù)的開(kāi)始,緊接著就是3個(gè)double類(lèi)型的值,小端格式,表示x,y,z方向的原始測(cè)量值。
  3. 理論依據(jù)
    這次標(biāo)定加速度計(jì),最大的收獲是——把困擾多年的“最小二乘法”弄懂了。
    設(shè)x‘,y’,z‘為實(shí)際加速度分量,G0為當(dāng)?shù)刂亓铀俣戎怠@硐肭闆r下有下面的等式:
    四軸鈥斺敱甓鈾俁燃
    但測(cè)量有誤差,設(shè)測(cè)量值為[x,y,z],則測(cè)量值和實(shí)際值可以用下面的公式擬合。擬合方式為線(xiàn)性擬合,其中a',b',c'是比例因子,d',e',f'為偏移因子。通過(guò)這條公式,可以把測(cè)量值“變成”實(shí)際值(下面稱(chēng)作“估計(jì)值”),標(biāo)定加速度計(jì)的目標(biāo),就是確定[a',b',c',d',e',f']這六個(gè)參數(shù)(下面稱(chēng)作“參數(shù)”),使估計(jì)值更接近實(shí)際值。
    四軸鈥斺敱甓鈾俁燃
    代入理想情況的等式,有:
    四軸鈥斺敱甓鈾俁燃
    這分明是橢球嘛,展開(kāi)得:
    四軸鈥斺敱甓鈾俁燃
    為方便推導(dǎo)和運(yùn)算,寫(xiě)成如下形式:
    四軸鈥斺敱甓鈾俁燃
    比較以上兩式,有:(注意要加上系數(shù)k)
    四軸鈥斺敱甓鈾俁燃
    反過(guò)來(lái)有:
    四軸鈥斺敱甓鈾俁燃
    現(xiàn)在已經(jīng)在靜止?fàn)顟B(tài)測(cè)量出一些數(shù)據(jù),記作[xn,yn,zn],表示第n組測(cè)量值,對(duì)應(yīng)的實(shí)際值都是重力G0。為了衡量參數(shù)的合適程度,引入誤差函數(shù)Δn,表示第n個(gè)估計(jì)值與實(shí)際值的偏差,如果硬要說(shuō)出具體意義,就是:估計(jì)值和實(shí)際值的平方差的1/k倍。
    四軸鈥斺敱甓鈾俁燃
    Δn是第n組數(shù)據(jù)的偏差,我們的目標(biāo)是整體偏差最小,所以引入整體偏差指數(shù)I,等于全部數(shù)據(jù)的偏差的平方和(“最小二乘法”的“二乘”就是指平方)。
    四軸鈥斺敱甓鈾俁燃
    再次強(qiáng)調(diào),我們的目標(biāo)是找出一組參數(shù),使整體的估計(jì)值最接近實(shí)際值。換句話(huà)說(shuō),就是:已知[xn,yn,zn],求使I最小的[a',b',c',d',e',f']。直接求[a',b',c',d',e',f']有困難,要利用[a,b,c,d,e,f,g],不廢話(huà)嗎?這就是我們引入abc的原因啊。所以不用猶豫了,動(dòng)用高數(shù)中的偏導(dǎo)吧,用I分別對(duì)[a,b,c,d,e,f,g]求偏導(dǎo),然后通通都要是0,這是I最小的必要條件。于是得到下面7條方程,對(duì)于[a,b,c,d,e,f,g],都是線(xiàn)性方程,組合起來(lái)就是一組7*7的齊次線(xiàn)性方程組。
    四軸鈥斺敱甓鈾俁燃
    仔細(xì)觀察上面的方程,很有規(guī)律。其實(shí)可以寫(xiě)成更簡(jiǎn)潔(傳說(shuō)中的數(shù)學(xué)的優(yōu)雅?。┑男问?。引入列向量v和pn,v為變量組,pn為系數(shù)組,單個(gè)偏差可以寫(xiě)成它們的點(diǎn)積。
    四軸鈥斺敱甓鈾俁燃
    神奇的一刻到了,方程組可以用一條式表示!再經(jīng)過(guò)一些變換(向量點(diǎn)積交換,證明不出,歸納出來(lái)的。),得到終極的矩陣形式。而且矩陣A相當(dāng)利于程序?qū)崿F(xiàn),算法復(fù)雜度甚至是完美的“online”!
    四軸鈥斺敱甓鈾俁燃
    四軸鈥斺敱甓鈾俁燃
    呵呵,一不小心,把最小二乘法的一般形式推導(dǎo)出來(lái)了。
    至此,問(wèn)題歸結(jié)到線(xiàn)性方程組的求解,理論上已經(jīng)沒(méi)有任何障礙(那是當(dāng)然的,都已經(jīng)用了上百年了)。
  4. 編寫(xiě)軟件

    先梳理一下思路?,F(xiàn)在有一個(gè)原始的RCD格式的數(shù)據(jù),首先要提取出[xn,yn,zn],然后用[xn,yn,zn]算出向量pn,再用pn轉(zhuǎn)置自乘,累加成矩陣A,接著求以A為系數(shù)矩陣的齊次線(xiàn)性方程組,算出[a,b,c,d,e,f,g],這樣就可以得到最佳的[a',b',c',d',e',f']了。

    第一步需要了解RCD文件的結(jié)構(gòu),那是做黑匣的時(shí)候自己設(shè)計(jì)的,沒(méi)問(wèn)題;然后加加減減得到A,這個(gè)也不難;以前混ACM的時(shí)候,對(duì)著《線(xiàn)性代數(shù)》寫(xiě)過(guò)解線(xiàn)性方程組的庫(kù),解方程組小意思;最后再次加加減減,[a',b',c',d',e',f']就出來(lái)啦。關(guān)鍵代碼如下:

    輸入數(shù)據(jù)循環(huán)。
    四軸鈥斺敱甓鈾俁燃


    累加生成矩陣。
    四軸鈥斺敱甓鈾俁燃


    解方程,vp就是[a,b,c,d,e,f,g]啦。
    四軸鈥斺敱甓鈾俁燃


    [a,b,c,d,e,f,g]轉(zhuǎn)[a',b',c',d',e',f']。
    四軸鈥斺敱甓鈾俁燃


  5. 校驗(yàn)結(jié)果
    一共14339組數(shù)據(jù),左邊是原始采樣值,中間是標(biāo)定后的加速度,右邊是估計(jì)值與實(shí)際值的誤差。
    重力加速度取廣州的9.7883m/s2,大多數(shù)誤差在0.5%以下,結(jié)果還算滿(mǎn)意。
    四軸鈥斺敱甓鈾俁燃

    后來(lái)試過(guò)周期性忽略某些采樣點(diǎn),得出不同的參數(shù),發(fā)現(xiàn)參數(shù)只有3~4位有效數(shù)字

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多