You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求解释:三轴加速度计倾斜角计算公式的推导原理

三轴加速度计倾斜角计算公式推导

前提说明

静止状态下,三轴加速度计仅测量重力加速度,传感器输出的ax、ay、az分别为重力在X、Y、Z轴上的分量(单位:m/s²)。默认坐标系定义:传感器水平放置时,X、Y轴与地面平行,Z轴与重力方向同向,此时ax=0、ay=0、az=g(g为重力加速度)。


1. X轴相对地面的夹角(ρ,对应Roll角)

当传感器绕X轴转动(Roll动作),Y轴偏离水平方向,重力在Y轴的分量为ay;重力在X-Z平面的投影长度为√(ax² + az²)(X轴始终与地面平行,该投影为重力在X、Z轴分量的合成)。

根据三角函数定义,夹角ρ的正切值为Y轴分量与X-Z平面投影的比值:

tanρ = ay / √(ax² + az²)

因此计算公式为:

ρ = arctan( ay / √(ax² + az²) )

2. Y轴相对地面的夹角(Φ,对应Pitch角)

当传感器绕Y轴转动(Pitch动作),X轴偏离水平方向,重力在X轴的分量为ax;重力在Y-Z平面的投影长度为√(ay² + az²)(Y轴始终与地面平行,该投影为重力在Y、Z轴分量的合成)。

同理,夹角Φ的正切值为X轴分量与Y-Z平面投影的比值:

tanΦ = ax / √(ay² + az²)

因此计算公式为:

Φ = arctan( ax / √(ay² + az²) )

3. Z轴相对重力的夹角(θ)

Z轴与重力方向的夹角,重力在Z轴的分量为az;重力在X-Y平面的投影长度为√(ax² + ay²)(该投影为重力在X、Y轴分量的合成)。

夹角θ的正切值为X-Y平面投影与Z轴分量的比值:

tanθ = √(ax² + ay²) / az

因此计算公式为:

θ = arctan( √(ax² + ay²) / az )

对应代码实现

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);

内容的提问来源于stack exchange,提问作者Matheus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 07:18:20