让机器人通过传感器感知世界
1. 常用传感器介绍
- GPS 接收器 :GPS 基础设施组件是令人惊叹的技术杰作。不过,GPS 信号较弱,接收器需要直接对准天空,在室内效果不佳。它适用于长距离户外机器人,如自动割草机、飞行或游泳机器人。为获得良好性能,建议搭配外部 GPS 天线。此外,具有实时动态(RTK)功能的 GPS 接收器可实现约 10 厘米的定位精度,但价格昂贵。
- 惯性测量单元(IMU) :由加速度计和陀螺仪等至少两种惯性传感器组成。加速度计测量线性加速度,通常为三维;陀螺仪测量绝对旋转速率,也是三维。IMU 常用于估计机器人的三维方向,如偏航、俯仰和滚动角度。为避免偏航轴测量漂移,常与磁强计配合使用,集成磁强计的 IMU 有时称为 9DoF IMU。计算三维方向需要复杂的传感器融合,建议使用能在板上进行传感器融合的 IMU。IMU 对稳定自主飞机、四旋翼无人机以及两轮自平衡或步行机器人至关重要,加速度计和陀螺仪也可单独使用。DIY Arduino 项目中的惯性传感器通常基于微机电系统(MEMS)技术,体积小、坚固且成本低。
2. 常见传感器接口及代码示例
- GPIO - 适用于简单传感器
- 数字输入 :简单按钮或开关有两个触点,闭合时连接,断开时不连接。读取开关状态,只需将其一端连接到 Arduino 数字引脚,另一端连接到 GND。在程序的 setup() 函数中,将引脚配置为数字输入并启用内部上拉电阻。使用 digitalR