1

在這個論壇的第一篇文章,希望我這樣做是正確的。我知道過去有兩個關於加速度雙重集成的主題,我知道加速度計不是200k +軍用級傳感器的固有誤差。幸運的是我的目的我只需要它近似正確(+/- 3英寸)不超過10秒。使用9軸IMU加速到位的雙重整合

我已經差不多了。我正在使用bno055 IMU的線性加速度。我以50赫茲(每20毫秒)的速率進行採樣。每次我抽樣時,我使用基本的trapezoidal integration從acc移動到速度和速度到位置。我有一個「辨別窗口」來拋出靜止錯誤,並且有一個「移動終止檢測」代碼,用於在加速度爲0之後將速度重新設置爲0以執行給定數量的計數。

這是一種時尚,我只是需要它的工作更好一點。我看到一些非常奇怪的回彈,我移動加速度計,位置移動得相當正確,直到停止,然後位置「回退」幾英寸 - 有時幾乎回到我開始的位置。帶給朋友比我更聰明,他建議我更聰明地集成,使用4或5個數據點,而不是我在梯形集成中使用的最後兩個數據點。

所以我的問題:如何使用最後的四個或五個數據點比基本的梯形積分更精確地進行積分?我試過看歐拉和RK4,但是我已經做了很長一段時間,因爲我已經完成了更高水平的數學,我不知道從哪裏開始。如果有人能夠簡單地解釋,那會很棒。謝謝。對於後臺,這些代碼都運行在微機上,所以我不能通過matlab運行數據。

PS。我還被推薦使用高通濾波器,但是當我嘗試開始閱讀數字高通濾波器時,我無法理解它。我認爲我會從更智能的整合開始,看看它做了什麼。

+0

非常有趣的問題。你真的需要精確度還是隻是爲了視覺目的而平滑?我問,因爲有一次我不得不使用定位設備(用於白板)並且設備有很多抖動,所以我使用了幾種不同的簡單平均算法來平滑指針路徑。不過,我並不十分關心完美的準確性。我能夠消除足夠的抖動,我可以寫得很好,但對於慣性導航,我不確定它會工作。 – Acapulco

+0

我確實需要更多的準確性。這些數據不是可視化的,我只需要能夠從(0,0)到少數幾個路標。即使在我的目標座標周圍有一個很大的公差帶,數據也有點太多,無法一直實現。這就是爲什麼我希望更智能的集成或高通濾波器將使我的集成​​更加準確和可靠。 – Zero

+0

我發現了一些基於最小二乘法的Excel曲線擬合教程。這可以工作嗎?我想你需要先確定你的數據是否是線性的。但總的來說,我發現一些曲線擬合算法似乎並不需要更高水平的數學。我知道你正在使用microcomp,但是有沒有辦法在它之外做一些測試?也許可以測試幾個模型來找出哪一個最適合數據,然後移植到microcomp語言中? – Acapulco

回答

0

儘管OP在發佈後的兩年內無疑解決了這個問題,但我的迴應是因爲在閱讀此問題後遇到同樣的問題並發現瞭解決方案。

對於OP的目的,梯形積分甚至積分的中點估計都可以正常工作。代表這種簡單運動的曲線不需要更復雜或更精確的積分,並且不會對這個特定問題有所幫助。

所描述的問題是位置被正確跟蹤了一段時間,但是當設備停止移動時位置向後跳。出現這種情況是因爲速度阻尼使用不當。

當設備移動然後停止時,會出現瞬間加速度,然後出現一段恆速運動(零加速度),然後是一段減速時間(降低速度),直至設備再次靜止。

使用

的OP報告的「運動結束檢測」代碼 加速度後設置速度回到0是0計數給定量。

的OP的問題是很可能是在等速運動的期間,加速度爲零,因此速度在這種嘗試在降低噪聲的(衰減)算法人工復位到零。隨後的減速然後在一段時間內產生負速度,將計算出的位置幾乎一直返回到起點。

如果跟蹤小離散運動,這個特殊問題的一個解決方案是檢測和跟蹤加速度 - >慣性運動 - >減速的週期,並且只有在週期的減速部分完成後才應用減振算法。

+0

OP在這裏。感謝您的迴應,這是一個很好的觀點。我應該想出一些愚蠢的版本,「當x加速度爲0時,然後對y的計數爲負,那麼將速度設置爲0」,以便減小速度。看起來我太快抑制了速度。 很久以前,這是一個研究生院項目 - 讓我告訴你,這是一個歷史書 - 但如果我再次訪問可穿戴式手套控制8英尺高的動態雕塑的姿態,我一定會牢記這一點。 – Zero