簡體   English   中英

三角法從加速度計數據計算傾斜角

[英]Trigonometry calculate tilt angle from accelerometer data

我有下圖和方程式:

三軸測量傾斜

測量傾斜的方程

圖中的主體是一個三軸加速度計傳感器,以米/秒² 為單位測量加速度。

目標是使用加速度值計算以下角度的傾斜度:

  • ρ:X軸相對於地面的角度(橙色線);
  • Φ:Y軸相對於地面的角度(橙線);
  • θ:Z 軸相對於重力的角度(綠線)。

有人能解釋一下如何從上圖中找到方程 1,2 和 3 嗎?

方程和圖的來源: https ://www.thierry-lequeu.fr/data/AN3461.pdf

還有另一個使用相同方程式的類似且更詳細的來源,但我也無法理解如何找到它們: https ://www.analog.com/en/app-notes/an-1057.html

我已經實現了它們並且它正在工作,我只是想幫助理解如何獲得方程。 這是代碼:

let pitch = Math.atan(ax / Math.sqrt((Math.pow(ay,2) + Math.pow(az,2))) );
let roll = Math.atan(ay / Math.sqrt((Math.pow(ax,2) + Math.pow(az,2))) );
let theta = Math.atan(Math.sqrt((Math.pow(ax,2) + Math.pow(ay,2))) /az);

提前致謝。

這是勾股定理,找到 0,0 和給定兩個數字表示的點之間的 2D 距離。 如果我們將其分配給一個新函數,它可能會更清楚:

distance(a, b) { return sqrt((pow(a,2) + pow(b,2))) }

然后通過使用與表示三角形一側的該函數的距離的反正切函數來計算角度。 例如,您問題中的音高將 x 加速度除以 0,0 與 YZ 平面中的加速度之間的距離。

pitch = atan(x / distance(y, z))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM