传感器选型实战——不同场景下的传感器方案对比与决策
上篇聊了信号处理基础——傅里叶变换、滤波设计和采样定理。理论搞明白了,回到工程现实:你的机器人到底该用什么传感器?
传感器选型是机器人项目里最容易被低估的环节。很多团队一开始随便买个便宜的传感器凑合用,等到系统联调的时候发现数据质量不行,换传感器又得重新改结构、改电路、改算法,时间和成本都搭进去了。
说白了,传感器选型不是"买最贵的"或者"买参数最好的",而是在精度、成本、功耗、体积、可靠性之间找到最优解。
今天从几个典型的机器人场景出发,拆解传感器选型的决策过程。
移动机器人定位:激光雷达vs视觉vs多传感器融合
做移动机器人(AGV、AMR)的定位,最核心的传感器选择就是:激光雷达还是视觉?还是两个都用?
纯激光雷达方案——用2D或3D激光雷达做SLAM,精度高、稳定性好,不受光照影响。但激光雷达价格高(3D的尤其贵),而且对动态环境(人来人往)比较敏感,容易出现定位漂移。
纯视觉方案——用摄像头做视觉SLAM或者视觉里程计,成本低、信息丰富(能识别物体、读文字)。但对光照变化非常敏感——逆光、暗光、反光地面都会让视觉算法失效。
多传感器融合——激光雷达+视觉+IMU+轮式里程计,各取所长。激光雷达提供稳定的距离信息,视觉提供丰富的语义信息,IMU提供短期的姿态估计,轮式里程计提供速度约束。融合之后鲁棒性最好,但系统复杂度和开发成本也最高。
之前做AMR的团队就踩过这个坑。一开始为了省成本,只用了单目摄像头做定位。在仓库里光线均匀的时候效果还行,一到下午阳光从窗户照进来,定位就飘了。后来加了激光雷达做融合,定位稳定性提升了不止一个档次。但激光雷达的成本是摄像头的十几倍,所以最终方案是:关键区域用激光雷达+视觉融合,非关键区域只用视觉。
选型决策的关键是搞清楚你的场景需求。室内结构化环境(仓库、工厂),2D激光雷达基本够用,成本低、数据处理好做。室外非结构化环境(园区、农田),必须上3D激光雷达或者视觉+IMU的组合。对成本敏感的项目,先评估能不能用2D激光雷达解决,不行再考虑3D。
2D和3D激光雷达的价格差距非常大。2D的思岚RPLIDAR A1一千多块钱就能买到,3D的Velodyne VLP-16要上万,更高端的64线雷达要好几万。所以如果场景允许,优先用2D的方案。很多仓储AGV就是前后各装一个2D激光雷达,一个做建图定位,一个做避障,总成本不到一万块,效果完全够用。
机械臂感知:力传感器vs视觉vs触觉
机械臂的感知需求跟移动机器人完全不同。移动机器人关心"我在哪",机械臂关心"我抓的东西怎么样"。
力/力矩传感器——装在机械臂末端或者关节处,直接测量接触力。做精密装配(比如插销、拧螺丝)必须有力传感器,不然零件对不上孔就会硬怼,把零件或者机械臂搞坏。六维力传感器能同时测三个方向的力和三个方向的力矩,信息最全,但价格也最贵(好的要十几万)。
视觉方案——用摄像头识别目标物体的位置和姿态,引导机械臂去抓。适合抓取场景(比如从传送带上抓零件),精度要求不高(毫米级就够)的时候性价比很好。
触觉传感器——装在夹爪内侧,检测夹爪跟物体之间的接触状态。做灵巧手或者精细抓取(比如抓鸡蛋、抓玻璃杯)的时候很有用,能判断物体有没有滑动、受力均不均匀。
选型的时候有个原则:能用视觉解决的就不用加力传感器,因为视觉成本低得多。但如果任务涉及接触操作(装配、打磨、插拔),力传感器是必须的。
讲个实际案例。之前帮一个团队做电路板插装的项目,一开始只用视觉定位,结果因为PCB板的孔位有加工误差,机械臂硬插把针脚弄弯了好几根。后来加了六维力传感器,设定了插入力的上限,一旦力超过阈值就停下来调整位姿。加了力传感器之后,插装成功率从70%提升到98%。
无人机感知:高度、避障和导航
无人机的传感器选型要考虑重量和功耗的约束——每多一克重量,续航就少一点。
测高——超声波传感器测低空高度(几厘米到几米),精度高、响应快。气压计测高空高度,但受温度、气压变化影响,精度不如超声波。激光测距传感器(ToF)是中高空的最佳选择,精度高、重量轻。大多数无人机方案是超声波+气压计+ToF组合使用。
避障——双目视觉、单目深度估计、ToF深度相机、毫米波雷达都有人用。双目视觉精度高但计算量大,ToF相机(比如Intel RealSense)即插即用但室外强光下效果差,毫米波雷达不受光照影响但分辨率低。小型无人机一般用ToF相机就够了,大型无人机或者需要远距离避障的场景用毫米波雷达。
导航——GPS提供全局位置,但在室内或者城市峡谷(高楼之间)信号不好。IMU提供短期姿态估计,但有漂移。光流传感器(optical flow)可以估计水平速度,在GPS失效的时候提供速度约束。
选型决策的核心是明确你的飞行场景。室内飞行不需要GPS,但需要光流或者视觉里程计。室外飞行GPS是标配,但得考虑GPS失效的备份方案。城市环境飞行还得考虑电磁干扰对指南针的影响。
无人机传感器选型有个硬约束:重量。每个传感器加上去都是克级别的重量增加,直接吃续航。之前做一个巡检无人机的项目,为了加一个毫米波雷达做避障,续航从25分钟掉到18分钟。最后换成了轻量化的ToF传感器阵列,重量只有毫米波雷达的三分之一,避障效果也够用,续航回到了22分钟。这种取舍在无人机项目里太常见了。
面试中怎么聊
面试官问传感器选型,不要上来就报参数。先问清楚场景需求(精度要求多少?成本预算多少?工作环境怎么样?),然后对比不同方案的优劣,最后给出你的选择和理由。
如果面试官追问"激光雷达和摄像头的数据怎么融合",你可以说:最常见的是松耦合和紧耦合两种方案。松耦合是各自独立跑算法(激光雷达跑激光SLAM,摄像头跑视觉里程计),然后把两个位姿估计结果用卡尔曼滤波器融合。紧耦合是把激光点云和图像特征放在一起做优化,精度更高但实现更复杂。实际项目中松耦合用得更多,因为开发调试方便,出了问题也容易定位。
如果面试官追问"怎么评估一个传感器适不适合你的场景",你可以说:先列清楚需求指标(精度、更新频率、测量范围、工作环境),然后找传感器的datasheet对参数。但光看参数不够,一定要实测。很多传感器在实验室里表现很好,到了实际环境(高温、振动、电磁干扰)就不行了。建议先借或者租一个做现场测试,确认没问题再批量采购。
如果面试官追问"传感器故障怎么处理",你可以说:关键系统一定要有冗余设计。比如无人机的飞控,至少要有两套IMU互为备份,一套挂了另一套能无缝接管。激光雷达也是,自动驾驶场景通常前面一个长距雷达加四个角雷达,任何一个坏了其他还能兜底。软件层面要做传感器健康检测——定期检查数据是否合理(数值有没有跳变、有没有长时间不变),发现异常就报警并切换到备份方案。
分享一个我做传感器选型的整体思路。拿到一个项目需求,我第一步是画一张"感知需求表"——列出机器人需要感知的所有信息(位置、姿态、速度、距离、力、温度等),每个信息标注精度要求和更新频率。第二步是针对每个需求列出候选传感器方案,对比参数和价格。第三步是做减法——有些需求可以用一个传感器同时满足(比如IMU同时提供加速度和角速度),有些需求可以降级(比如精度要求不高的场景用便宜的传感器)。最后剩下的就是最终方案。
传感器选型这个事,没有标准答案,只有最适合的方案。面试时候能展现出你的决策过程和权衡思路,比背一堆传感器参数有用得多。还有一点容易被忽略:环境因素。工业现场的粉尘、油雾对光学传感器影响很大,这时候可能得选机械式的接触传感器而不是激光或者视觉方案。高温环境(比如冶金车间)对传感器的温度范围也有要求,普通消费级传感器扛不住。
下一篇讲机器人通信协议——CAN总线、EtherCAT和RS485的对比与实战。传感器选好了,数据要传输给控制器,通信协议的选择同样关键。
如果这篇文章对你有帮助,欢迎点赞、在看、转发三连。 你的支持是我持续更新的最大动力。
「机器人软件开发面试·从入门到精通」连载系列 上一篇:第174篇 信号处理基础——傅里叶变换、滤波和采样定理 下一篇预告:第176篇 机器人通信协议——CAN/EtherCAT/RS485对比与实战
有任何问题欢迎评论区留言,我会尽量回复。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)