文章目录
Sensor就是传感器,提供高精度的原始数据,比如操作系统,手势,倾斜等动作就是利用重力传感器的数据来判断;磁力传感器和加速度传感器可以计算出方位。
本篇文章侧重于学习基本的知识,包括sensor的功能,使用场景,工作原理,输出数据含义。
Sensor分类
- Motion Sensors:测量三轴的加速度和旋转
- accelerometers
- gravity(g-sensor)
- gyroscopes(陀螺仪)
- ratational vector
- Environment Sensors:测量环境参数
- temperature
- pressure
- light
- humidity(湿度)
- Position Sensors:测量物理位置
- proximity(距离)
- orientation(方向)
- magnetometers(磁力)
Sensor axes
Mobile device axes
Automative axes
Motion Sensor
Motion Sensor是判断物体姿态和物体移动的传感器,其应用也很广泛:
- 车辆姿态
- 无人机
- 穿戴设备
- 手机重力感应
accelerometers/gravity
如下图是Android对传感器数值的定义,其单位是m/s2。这里要注意accelerometer的值是包含了gravity的值,比如手机水平向上放置,其z轴的数值就是gravity的值(约等于9.81m/s2)
线性加速度可以表示除掉gravity影响的accelerometer。
For example:
public void onSensorChanged(SensorEvent event){
// In this example, alpha is calculated as t / (t + dT),
// where t is the low-pass filter's time-constant and
// dT is the event delivery rate.
final float alpha = 0.8;
// Isolate the force of gravity with the low-pass filter.
gravity