題:
我可以從加速度計測量速度嗎?準確度如何?
James Wierzba
2016-04-06 20:14:43 UTC
view on stackexchange narkive permalink

我已經購買了該模塊

Kootek GY-521 MPU-6050 MPU6050模塊3軸模擬陀螺儀傳感器+ 3軸加速度計模塊

我的項目將涉及將其固定到移動物體上,移動物體的速度從每秒0.1到1.0米不等。

據我了解,該模塊將允許我推斷出旋轉和加速度,我是否能夠得出速度?

我可以期待多少精度?

HTTP://嗚嗚嗚.除robotics.com/library/accel-position-velocity
試圖對加速度的速度進行積分會導致對誤差進行積分,即誤差迅速增大到計算結果不是“不准確”而是“無意義”的程度。
@ChrisStratton我正在考慮將其替換為當前的原型,該原型是連接到旋轉編碼器的可伸縮弦。您是否建議這樣做不可行?
我需要每秒至少0.05米以內的精度
我認為這不可能。如果我對加速度計的理解是正確的,則可以測量加速度。然後,您會遇到速度恆定的情況。根據牛頓定律,加速度= 0。您將必須跟踪加速度的變化,然後執行數學運算以保持狀態。正如克里斯·斯特拉頓(Chris Stratton)所建議的那樣,這將導致將錯誤整合到很可能毫無意義的情況中。編輯:但是,我以前從未使用過加速度計,因此在一定程度上是可行的。
@fabrosell這在數學上是有意義的。速度無疑是我項目中最重要的價值,因此聽起來這是可行的。您可以將您的回復發佈為答案,我會接受的
五 答案:
Usama Zafar
2016-04-07 11:15:06 UTC
view on stackexchange narkive permalink

傳感器本身無法為您提供速度。我已經在幾個項目中使用了它的加速度計,最簡單的獲取速度的方法是不斷監視加速度的變化並即時計算速度。

為此,請遵循以下說明。請注意,在實際情況下,這僅是一個軸讀數,您將必須對所有三個軸(即x,y和z)執行此操作。

我希望您了解運動方程(V = Vo + at)...傳感器將在任何給定時間為您提供加速度值。但是,在很大的時間間隔內,加速度的變化可能會很大,因此,請保持時間間隔“ t”較小。假設t = 10ms(取決於您)。因此,每隔10毫秒間隔計算一次V,這將在任何給定時間為您提供當前速度。但是Vo呢?如您所知,它被稱為初始速度,因此在開始時它將為0。第一次讀取後,當您要進行第二次讀取時,Vo會立即更改為先前計算出的V,因此將繼續。 >這意味著在任何給定的時間間隔內的Vo實際上是在前一個間隔中計算出的V。

我在使用加速度計的項目中嘗試了此方法。希望對您有幫助。

究竟。我忘記在上一篇文章中添加Vo問題。
這有多精確?您是否以某種方式進行驗證或比較?
是的,我可以正確地假設起始速度為V0 = 0m / s,但是物體有可能從0 a,d開始運動,然後以一定速度或接近該速度運動,而不會非常快地運動。這會是一個問題嗎?
只要您的時間增量(間隔)足夠短,就根本不會成為問題。由於此方程將在任何給定時間為您提供瞬時速度。如果加速度在任何給定時間為零,則意味著速度將是最初的速度。
@JamesWierzba至於準確度。這完全取決於您的加速度計。我使用了其中的幾個,但是它們給出了相當多的錯誤值,但是它們是最便宜的。如果您追求可靠的結果,那麼結果可以使我接近100%的精度。
-1
naiello
2016-04-07 10:41:22 UTC
view on stackexchange narkive permalink

我使用基於Arduino的自動駕駛儀模塊,除了GPS數據外,該模塊通常使用類似的傳感器來保持其位置/速度/加速度的合理估計。如果您要在項目中添加其他傳感器(即GPS),則值得研究擴展卡爾曼濾波器( https://github.com/simondlevy/TinyEKF),這些濾波器通常能夠可以提供相當準確的結果。

如果僅使用加速度計,則EKF可能會過大,因此您可以研究其他降噪技術。例如,使用最後兩個讀數的加權平均值:

  // alpha是介於0和1之間的值Acceleration = alpha * readAccelerationSensor()+(1- alpha)* lastSensorReading  

另一種過濾掉噪聲的策略是在每個時間步長獲取多個傳感器讀數,並使用中值積分速度。

在+ Z方向上移動的總距離不超過1-2米,因此gps不好。您是否建議在單個時間點讀取3個讀數?為什麼?硬件不可預測嗎?
通常,加速度計在某種程度上容易受到設備機械振動產生的噪聲的影響,因此對傳感器讀數求平均值將有助於減少高頻噪聲引起的誤差。這是否是一個嚴重的問題,將取決於您的應用程序(設備在正常運行期間會振動多少,以及從速度測量中需要多少精度)。
fabrosell
2016-04-07 00:50:16 UTC
view on stackexchange narkive permalink

我認為這不可能。如果我對加速度計的理解是正確的,則可以測量加速度。然後,您會遇到速度恆定的情況。根據牛頓定律,加速度= 0。

您必須跟踪加速度的變化,然後執行數學運算以保持狀態。正如@克里斯·斯特拉頓(Chris Stratton)所建議的那樣,這將導致將錯誤整合到很可能獲得無意義價值的情況中。

但是,我以前從未使用過加速度計,因此在一定程度上是可行的。

很高興聽到實際嘗試過此操作的人。

Bryon
2018-01-29 02:25:30 UTC
view on stackexchange narkive permalink

我認為,按照Usama的描述計算瞬時速度是正確的方法,只要您可以處理累積誤差即可。我還建議您定期進行校準(例如返回家中)。

但是,如果要計算速度,最好的方法是使用陀螺儀,而不是加速度計。 。

陀螺儀是(什麼?)潛艇如何在水下航行。為了用陀螺儀傳感器測量加速度,當然是速度的變化率。 V = Vo + at和d = Vo.t +(a.t ^ 2)/ 2是您最重要的兩個公式。

您選擇哪種取決於您的應用程序。我會根據我的應用程序更可能具有恆定速度還是經常加速和減速來選擇。甚至可能兩者都有。

我還沒有嘗試過數字陀螺儀傳感器,但是請注意,有幾個可用的Arduino屏蔽罩。

陀螺儀不測量加速度,它測量旋轉。
旋轉定義為加速度。向量是速度加方向。當您改變其中之一時,您就在加速。因此,陀螺儀同時測量速度和方向,並為您提供三個維度的數據。
陀螺儀測量角速度而不是線性空氣速度。沿直線加速giro時,沒有任何輸出。一個陀螺儀只會在一個方向(軸)上給您角速度。
我們將不得不同意不同意。是的,您對角速度是正確的-但它與地球的重力有關。因此,任何運動都會記錄變化。其中包括一條與地球相切或沿圓周成弧形移動的直線。 (我不確定它在直線上朝向或遠離地球質量中心移動時的工作原理。)
澄清-德州儀器(TI)提供了可在三個維度上工作的固態陀螺儀,應用筆記表明它們可以測量任何軸上的運動,因此必須可以直接沿重力線運動。
似乎您將加速度計與陀螺儀混淆了。您會混淆橫向運動和旋轉之間的根本區別。假設帶有陀螺儀的物體繞一個完整的圓周運動(即繞圓形軌跡運動)。然後,在旅行期間,陀螺儀會告訴您角速度,並通過積分告訴您從一開始就旋轉的度數。行程結束時將為360度。陀螺儀不會告訴您的是圓的直徑。
@PimV好的。我不是一個拒絕承認自己錯了的人。我將其與陀螺儀穩定化加速度計混為一談,以保持X,Y和Z方向恆定,以便您可以在三維空間中跟踪位置。關於陀螺穩定的部分讓我感到困惑。 https://zh.m.wikipedia.org/wiki/Inertial_navigation_system
公平,案例已結案!
Foez Ahmed
2018-10-23 22:17:10 UTC
view on stackexchange narkive permalink

用於羅盤+加速度計使用羅盤從讀數中消除g

請擴大您的答案


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...