区分陀螺仪与加速度计
为了区分“陀螺仪”和“加速度计”,先只记一句最核心的话:
加速度计:看“直线方向上的加速”
陀螺仪:看“绕某个轴转得多快”
注意:陀螺仪主要测的不是角度,而是角速度。
用平衡车来区分最直观
假设车这样竖着:
│
│
[IMU]
O────O
情况一:车不移动,但慢慢向前倒
/
/
[IMU]
O────O
这时候车体发生了旋转。
陀螺仪会说:
“我检测到你正在绕某个轴旋转,比如 \(20^\circ/s\)。”
也就是:
这就是我们直立 PD 里的 D 最喜欢的信息。
情况二:车完全竖直,但猛地向前加速
│
│
[IMU] →→→
O────O
车体没有旋转:
所以陀螺仪基本会说:
“没怎么转。”
但是加速度计会说:
“我检测到水平方向有很大的加速度。”
所以:
直着向前冲:加速度计有反应,陀螺仪基本没反应
情况三:车斜着放在那里,一动不动
/
/
[IMU]
现在它没有旋转:
所以陀螺仪:
“没动。”
但是加速度计仍然能感受到重力在三个轴上的分量。
因此它可以根据重力方向判断:
“虽然你没在动,但你现在是斜着的。”
这也是最容易让人混淆的地方:
为什么叫“加速度计”,却还能测倾角?
因为它不是直接测“倾角”。
它是看到:
在不同轴上的投影,然后我们根据重力方向反推出倾角。
所以:
加速度计不是直接测角度
而是:
测XYZ方向的加速度/重力分量,推算倾角
这样记
| 传感器 | 最核心的问题 |
|---|---|
| 加速度计 Accelerometer | “我现在受到哪个方向的加速度?” |
| 陀螺仪 Gyroscope | “我现在绕哪个轴转得多快?” |
MPU6050里面各有三轴:
加速度计:
陀螺仪:
所以比如:
意思不是:
当前倾角30°。
而是:
当前正在绕Y轴以每秒30°的速度旋转。
这一点非常关键。
三个画面,建立肌肉记忆
汽车直线猛踩油门:
→→→
有线加速度,没有明显旋转:
加速度计 ✅
陀螺仪 ❌
手机放桌面上原地旋转:
↻
有旋转:
陀螺仪 ✅
手机斜着静止不动:
/
陀螺仪:
但加速度计可以根据重力方向推算它是倾斜的。
所以不要背“谁短期准、谁长期准”。
先把更底层的区别钉死:
Accelerometer → 直线加速度/重力方向
Gyroscope → 旋转角速度
因此以后看到这三个问题,可以直接这样想:
现在在平移加速吗?-> 加速度计
现在在旋转吗?-> 陀螺仪
现在倾斜了多少?-> 本身都不直接给,需要推算/融合
最后这一句尤其重要。
陀螺仪并不直接告诉你倾角。
它给:
通过积分才能得到:
而加速度计也不直接告诉你倾角,它给:
我们利用重力方向反推出:
所以两个传感器最终都可以帮助我们获得“倾角”,但走的路完全不同:
陀螺仪:
角速度
↓ 积分
角度
↓
短期好,但会漂
加速度计:
XYZ加速度
↓ 利用重力方向
角度
↓
长期有参考,但运动时受干扰

浙公网安备 33010602011771号