久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 基于9軸慣性運動傳感器的三階卡爾曼濾波器算法

基于9軸慣性運動傳感器的三階卡爾曼濾波器算法

關鍵字:卡爾曼算法 濾波器 作者: 來源: 發布時間:2019-07-31  瀏覽:138

最近在玩九軸的慣性傳感器,很是有挑戰性.九軸說的是三軸的加速度計、三軸的陀螺儀以及三軸的磁場傳感器。但是只是單純的測出九個軸的數據沒什么用,關鍵是要能夠融合這九軸數據得出我們想要的結果。這里就運用三階卡爾曼濾波算法來融合這九軸運動數據為三軸的角度。運用這三個角度可以用來做自平衡車或者四軸飛行器.

一、卡爾曼算法理解

其實如果不去考慮kalman算法是怎么來的,我們只需要知道有下面幾個式子就可以了,具體意思可以看上面的wikipedia鏈接

kalman_embbnux_blog

二 卡爾曼濾波算法的實現

這里我的算法是運行在avr單片機上的,所以采用的是c語言寫的。下面的代碼是要放到avr的定時器中斷測試刷新的。用示波器測試了一下,這個算法在16M晶振下的運行時間需要0.35ms,而數據采集需要3ms左右,所以選定定時器時間為8ms.之前也寫過一階的kalman算法,運用在自平衡車上,這邊是三階的,主要是矩陣運算.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 //kalman.cfloatdtTimer   = 0.008;floatxk[9] = {0,0,0,0,0,0,0,0,0};floatpk[9] = {1,0,0,0,1,0,0,0,0};floatI[9]  = {1,0,0,0,1,0,0,0,1};floatR[9]  = {0.5,0,0,0,0.5,0,0,0,0.01};floatQ[9] = {0.005,0,0,0,0.005,0,0,0,0.001};   voidmatrix_add(float* mata,float* matb,float* matc){    uint8_t i,j;    for(i=0; i<3; i++){       for(j=0; j<3; j++){          matc[i*3+j] = mata[i*3+j] + matb[i*3+j];       }    }}   voidmatrix_sub(float* mata,float* matb,float* matc){    uint8_t i,j;    for(i=0; i<3; i++){       for(j=0; j<3; j++){          matc[i*3+j] = mata[i*3+j] - matb[i*3+j];       }    }}   voidmatrix_multi(float* mata,float* matb,float* matc){  uint8_t i,j,m;  for(i=0; i<3; i++)  {    for(j=0; j<3; j++)   {      matc[i*3+j]=0.0;      for(m=0; m<3; m++)     {        matc[i*3+j] += mata[i*3+m] * matb[m*3+j];      }    } }}   voidKalmanFilter(float* am_angle_mat,float* gyro_angle_mat){uint8_t i,j;floatyk[9];floatpk_new[9];floatK[9];floatKxYk[9];floatI_K[9];floatS[9];floatS_invert[9];floatsdet;   //xk = xk + ukmatrix_add(xk,gyro_angle_mat,xk);//pk = pk + Qmatrix_add(pk,Q,pk);//yk =  xnew - xkmatrix_sub(am_angle_mat,xk,yk);//S=Pk + Rmatrix_add(pk,R,S);//S求逆invertsdet = S[0] * S[4] * S[8]          + S[1] * S[5] * S[6]          + S[2] * S[3] * S[7]          - S[2] * S[4] * S[6]          - S[5] * S[7] * S[0]          - S[8] * S[1] * S[3];   S_invert[0] = (S[4] * S[8] - S[5] * S[7])/sdet;S_invert[1] = (S[2] * S[7] - S[1] * S[8])/sdet;S_invert[2] = (S[1] * S[7] - S[4] * S[6])/sdet;   S_invert[3] = (S[5] * S[6] - S[3] * S[8])/sdet;S_invert[4] = (S[0] * S[8] - S[2] * S[6])/sdet;S_invert[5] = (S[2] * S[3] - S[0] * S[5])/sdet;   S_invert[6] = (S[3] * S[7] - S[4] * S[6])/sdet;S_invert[7] = (S[1] * S[6] - S[0] * S[7])/sdet;S_invert[8] = (S[0] * S[4] - S[1] * S[3])/sdet;//K = Pk * S_invertmatrix_multi(pk,S_invert,K);//KxYk = K * Ykmatrix_multi(K,yk,KxYk);//xk = xk + K * ykmatrix_add(xk,KxYk,xk);//pk = (I - K)*(pk)matrix_sub(I,K,I_K);matrix_multi(I_K,pk,pk_new);//update pk//pk = pk_new;for(i=0; i<3; i++){    for(j=0; j<3; j++){        pk[i*3+j] = pk_new[i*3+j];    }  }}

三 運用卡爾曼濾波器

這里的kalman濾波器是離散數字濾波器,需要迭代運算。這里把算法放到avr的定時器中斷里面執行,進行遞歸運算.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 //isr.c#include "kalman.h"floatmpu_9dof_values[9]={0};floatam_angle[3];floatgyro_angle[3];floatam_angle_mat[9]={0,0,0,0,0,0,0,0,0};floatgyro_angle_mat[9]={0,0,0,0,0,0,0,0,0};   //8MSISR(TIMER0_OVF_vect){//設置計數開始的初始值TCNT0 = 130 ;  //8mssei();//采集九軸數據//mpu_9dof_values 單位為g與度/s//加速度計和陀螺儀mpu_getValue6(&mpu_9dof_values[0],&mpu_9dof_values[1],&mpu_9dof_values[2],&mpu_9dof_values[3],&mpu_hmc_values[4],&mpu_hmc_values[5]);//磁場傳感器compass_mgetValues(&mpu_9dof_values[6],&mpu_9dof_values[7],&mpu_9dof_values[8]);   accel_compass2angle(&mpu_9dof_values[0],&mpu_9dof_values[6],am_angle);gyro2angle(&mpu_9dof_values[3],gyro_angle);   am_angle_mat[0] = am_angle[0];am_angle_mat[4] = am_angle[1];am_angle_mat[8] = am_angle[2];   gyro_angle_mat[0] = gyro_angle[1];gyro_angle_mat[4] = - gyro_angle[0];gyro_angle_mat[8] = - gyro_angle[2];   //卡爾曼KalmanFilter(am_angle_mat,gyro_angle_mat);   //輸出三軸角度//xk[0] xk[4] xk[8]}

實測可以準確的輸出三軸的角度,為了獲得更好的響應速度和跟蹤精度還需調整參數.

編輯:admin  最后修改時間:2019-07-31

聯系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市南山區桃源街道平山社區平山一路2號南山云谷創業園二期11棟410-411

Copyright © 2014-2026 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网
视频一区二区视频| 在线观看日本一区二区| 黄色手机在线视频| 国产精品久久久久9999小说| 免费人成在线观看视频播放| 色呦色呦色精品| 日韩 欧美 自拍| 欧美狂野激情性xxxx在线观| 真实国产乱子伦对白视频| 欧美aaa在线观看| 免费的一级黄色片| 91黄色小网站| xx欧美撒尿嘘撒尿xx| 麻豆一区二区三区在线观看| 女人帮男人橹视频播放| 日韩免费毛片视频| 国产精品嫩草影院8vv8| 国产美女永久无遮挡| 黄色片在线免费| 一级日本黄色片| www.99在线| 免费毛片网站在线观看| 国产精品区在线| 97公开免费视频| 波多野结衣乳巨码无在线| 思思久久精品视频| 日本www.色| 国产亚洲欧美在线视频| 青青草视频在线视频| 欧美性视频在线播放| 午夜福利123| www.色就是色| 91制片厂毛片| 蜜臀久久99精品久久久酒店新书| 久久综合在线观看| 国产精欧美一区二区三区白种人| 日本精品免费在线观看| 国产肥臀一区二区福利视频| 男人的天堂avav| 99er在线视频| 黄色一级视频片| 噜噜噜久久亚洲精品国产品麻豆 | 制服丝袜中文字幕第一页| 成人免费观看视频在线观看| 日本少妇高潮喷水视频| 日本一本二本在线观看| 亚洲人视频在线| 成人区一区二区| 精品少妇无遮挡毛片| 日韩在线一区视频| 久久成人福利视频| 久久精品午夜福利| 午夜探花在线观看| 在线观看免费视频高清游戏推荐| 日韩在线一区视频| 亚洲xxxx2d动漫1| 国产一级不卡毛片| 免费在线看黄色片| 午夜啪啪福利视频| 99精品免费在线观看| 成年在线观看视频| 九热视频在线观看| 久久久免费视频网站| 久久在线中文字幕| 手机福利在线视频| 日韩中文字幕免费在线| 男女猛烈激情xx00免费视频| 看一级黄色录像| www成人免费| 免费黄色日本网站| 国产午夜福利在线播放| 成人免费在线小视频| 免费毛片小视频| 在线观看高清免费视频| 污污的网站18| 国产制服91一区二区三区制服| 国产高清av片| 国产美女主播在线播放| 免费看又黄又无码的网站| 青青青在线视频免费观看| 日本在线一二三区| 97中文字幕在线| 一本久道中文无码字幕av| 久久精品国产露脸对白| 久久这里只有精品8| 欧美三级午夜理伦三级| 超碰中文字幕在线观看| 久久久免费视频网站| 国产在线视频三区| 欧美三级午夜理伦三级富婆| 久久99久久99精品| 五月天婷婷影视| 真人抽搐一进一出视频| 国内精品在线观看视频| 日韩精品xxxx| 一二三四视频社区在线| 99久re热视频精品98| 在线视频一二区| 中文字幕第38页| 亚洲精品国产久| 在线视频观看一区二区| 在线观看国产福利| www.偷拍.com| av动漫在线免费观看| 欧美大片免费播放| 日本xxx免费| 黄页免费在线观看视频| 草草视频在线免费观看| 成人毛片一区二区| 999精品视频在线| 天天爱天天做天天操| 国产激情片在线观看| 日本久久久精品视频| 免费一级特黄录像| a级黄色片网站| 日韩av三级在线| 亚洲第一页在线视频| 日韩视频在线视频| 五月婷婷之婷婷| 成人在线免费在线观看| 国产高清精品软男同| 99热手机在线| 丝袜老师办公室里做好紧好爽 | 亚洲在线观看网站| www.爱色av.com| 国精产品一区一区三区视频| 手机在线免费毛片| 国产性生活一级片| 亚洲免费成人在线视频| 韩国无码av片在线观看网站| 路边理发店露脸熟妇泻火| 伊人影院综合在线| 日韩高清第一页| 91手机视频在线| 在线一区二区不卡| 好色先生视频污| 影音先锋成人资源网站| www.xxx麻豆| 伊人再见免费在线观看高清版 | 精品久久久久久久无码| 国产精品50p| 国产永久免费网站| 夜夜爽久久精品91| 特大黑人娇小亚洲女mp4| 精品久久久久久无码中文野结衣| 无码专区aaaaaa免费视频| 免费在线观看亚洲视频| 激情婷婷综合网| 大伊香蕉精品视频在线| 欧美精品性生活| 成人中文字幕在线播放| 在线观看日本一区二区| 青青视频免费在线观看| 欧美 激情 在线| 男同互操gay射视频在线看| 精品国产成人av在线免| 亚洲精品天堂成人片av在线播放| av高清在线免费观看| 中文字幕12页| 成 人 黄 色 小说网站 s色| 中文字幕一区二区三区四区五区人| 精品久久久无码人妻字幂| 午夜两性免费视频| 日本va中文字幕| 99热亚洲精品| 日本中文字幕网址| 久久99中文字幕| 日本成人在线免费视频| 色噜噜狠狠永久免费| 91av俱乐部| 欧美精品aaaa| 国产成人在线综合| 老司机av福利| 欧美成人高潮一二区在线看| 国产真人做爰毛片视频直播 | 日本特级黄色大片| 美国av在线播放| 男女曰b免费视频| 日韩成人av免费| 搞av.com| 国产美女视频免费看| av在线观看地址| 色噜噜狠狠一区二区三区狼国成人| 深爱五月综合网| 韩国日本在线视频| 亚洲在线观看网站| 国产精品免费观看久久| 亚洲自拍偷拍一区二区三区| 国产午夜福利在线播放| 欧美爱爱视频网站| 国产探花在线看| 国产三级国产精品国产专区50| 东北少妇不带套对白| 日韩av一卡二卡三卡| 国产日韩一区二区在线| 欧美在线一区视频| 欧美高清中文字幕| 黄色一级视频在线播放| 日本丰满大乳奶| 欧美成人三级在线视频|