看板 Electronics 關於我們 聯絡資訊
※ 引述《adaj (ada)》之銘言: : 標題: [問題] 六軸IMU使用 : 時間: Wed Apr 20 17:36:39 2016 : : 大家好 : 最近小弟想使用一顆六軸的慣性感測器 : 他可得到三軸加速度及角速度(100Hz) : 想要積分兩次得到位移的軌跡 : 但是怎麼計算都不太對 : 想問各位大大有沒有使用過的經驗能夠指導一下小弟QQ 我做機器人大概10幾年 IMU跟KF玩了大概10年,略懂一點。(叔叔有練過小朋友不要學) 一顆六軸IMU可以經由sensor fusion估測出兩軸角度 (X,Y軸) Z | 重力(g) ^ | | | | V | /--------->X / / Y 原理是利用重力夾角的關係,因為Z軸怎麼轉跟重力夾角都固定,有一軸(Z軸)算不出來 要算那一軸一般用三軸電磁感測器(electrical compass)去得到地磁數據,算出來的。 這就是為啥有些IMU會到9軸的原因(加速度*3,角速度*3,磁力*3)。 OK,回到你的問題。 那......... 用IMU算位移哩?? 用積分不行嗎??? 當然不行 很不準 因為加速度計有漂移 有誤差 你一直積 累積誤差會很大 新手1: 很大?! 請問誤差有多大? ANS: 我8年前的經驗,用日本的IMU大概1美元,用DSP 100HZ兩次積分誤差會一直變大 變大的速度大概20~50cm/sec,因為這誤差還會隨時間增加... 好一點的Sensor誤差小一點,但這積出來的數據不能用。 你用尺量都比較準! 新手2: 那誤差跟實際值不會剛好一正一負加加減減抵銷嗎? 積分後不就沒有誤差了! ANS: 這機率比買樂透十次都中還低。 OK. 所以到底要怎麼用IMU量到比較精確的位移呢? 答案是 sensor fusion, 你需要另外一個sensor幫助IMU才能算位移 例如你現在手邊有個不太準的sonar, IR or Laser 可以量直線距離 你可以用Kalman filter 把加速規 跟 sonar 的數據作融合得到更精確的數據。 (當然前提是假設你的sensor 量距離不太準, 準的話用這個量就好了,IMU直接丟掉) : : -- : ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.136.252.126 : ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1461145001.A.015.html : → Schottky: 這會準才有鬼 04/20 17:45 Sch大講話真實在.... : → adaj: 短時間內也不行嗎? 04/20 20:01 : → MasterChang: 用ADIS16448試試,會好一點點。 04/20 20:32 : → adaj: 想請問有計算的流程能參考一下嗎 04/20 21:31 你的問題不在於積分計算 你的問題在於不懂sensor特性(感測的物理量跟更新頻率etc.) 聽好了,接下來講的從Wii搖桿用到火星機器人,再到擴增實境(AR) 你現在可能聽不懂,但多年後你會挖出這篇廢文,一拍天靈蓋說:阿!~賭喜阿內! 以下教一個解這問題的正途,未來也可以延伸到更複雜應用。 Kalman filter在台灣一般修"估測理論"的課,也幾乎不教或提點皮毛, 所以找個應用,蒐集一些相關PAPER,tutorial,自己練習是一個可行的方案。 當然最好有一些機率,隨機程序的基礎 參考一下以下這篇論文: https://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf 計算流程: (Equation 1.9~1.13) 因為你問題是1D而已,寫出來大概5行CODE。 假設你有兩個sensors, sonar 量到是zk, IMU量到的加速度是uk (k是time step) 已知sensor 起始位置離牆壁 L cm, 求IMU的即時位移X=? L 冏牆<---------Sonar (量到距離 zk) IMU (量到加速度 uk) KF 有兩個步驟,"Prediction" 跟 "Correction" Prediction: 根據國中學的v=v0+at & x=v0t+0.5*at^2 你可以推算出EQ1.9內的 A跟 B 矩陣 Correction: 根據國小學的 L-zk=X 你可以推算出 EQ1.12~1.13的 H矩陣 寫出 Equation 1.9~1.13, Q,R 參數調好 單晶片就能自動估測出IMU的位移了。 這個會了以後,你就可以開始挑戰2D,3D的sensor fusion了, 現實中9成9的應用Model會有非線性, 所以要用 Extended Kalman filter (EKF) 用泰勒展開式(Taylor series,就是你高中學過但不知道有啥用的東西)線性逼近 EQ1.9~1.13 變成 EQ2.14~2.18 還是一樣5行CODE (當然要CALL一些線代library) 這個好好學以後一定有飯碗,現在越來越多手機,AR應用需要即時估測 人或環境的狀態,這些只有上帝才知道的真實數據, 我們人類能做的就是用sensor fusion猜一猜! Good Luck! -- 他高傲,但是宅心仁厚;他謙虛,但是受萬人敬仰: 他可以把神仙賜給人的機械運用的出神入化... 可以做出堪稱神之藝術的超級機械! 他究竟是神仙的化身?還是地獄的使者?沒人知道! 但是可以肯定,每個人都給他一個稱號............................機械小天才!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 160.94.47.18 ※ 文章網址: https://www.ptt.cc/bbs/Electronics/M.1461388077.A.3C1.html ※ 編輯: Seabook (160.94.47.18), 04/23/2016 13:15:28
tonybin: 只能推了 04/23 13:57
adaj: 感謝大大提點,小弟會去試試 04/23 14:38
bizer: 最近在研究六軸,推一個 04/23 17:57
qscgy4: https://youtu.be/6ijArKE8vKU 04/23 22:21