超声波与红外传感器——近距离避障的低成本方案
上篇讲了GPS/RTK定位原理从距离交会到载波相位模糊度解算再到NMEA协议解析和ROS2集成。今天讲两种最便宜的近距离传感器——超声波和红外它们虽然精度不高但在机器人避障、悬崖检测、液位测量等场景中不可替代。面试时候被问超声波和红外传感器有什么区别很多人会说一个用声波一个用光。但面试官想听的是更工程化的内容超声波的盲区怎么解决红外的距离-电压曲线怎么标定两种传感器怎么互补在ROS2中怎么集成多传感器之间的串扰怎么处理超声波传感器原理超声波传感器通过压电换能器发射和接收超声波脉冲。发射时压电陶瓷片在电信号激励下振动产生频率通常在40kHz左右的超声波。超声波遇到障碍物后反射回来接收器检测到回波通过测量发射到接收的时间差计算距离距离 声速 × 时间 / 2。声速和温度有关v 331.4 0.6 × TT为摄氏温度。如果不做温度补偿夏天35°C和冬天0°C的声速差了21m/s距离误差会达到6%左右。所以工业级超声波传感器都会内置温度传感器做补偿。import numpy as np class UltrasonicSensor: 超声波传感器模型 def __init__(self, min_range0.02, max_range4.0, beam_angle15.0, temperature25.0): self.min_range min_range # 最小测量距离m self.max_range max_range # 最大测量距离m self.beam_angle beam_angle # 波束角度 // ... (代码省略) return None # 表面太倾斜无法检测 return max(valid) - min(valid) # 距离差异越大表面越倾斜超声波传感器有几个显著的特点。优点不受光照条件影响黑暗中也能工作能检测透明物体玻璃、薄膜价格极低几块钱一个。缺点波束角大15-30度空间分辨率低对吸声材料泡沫、布料检测困难存在盲区通常2-5cm多传感器之间容易串扰。盲区是超声波传感器最大的限制之一。超声波传感器在发射脉冲后需要一段时间才能切换到接收模式余振时间这段时间内无法接收回波形成了盲区。普通超声波传感器的盲区在2-5cm特殊设计的窄盲区传感器可以做到1cm以内。实际安装超声波传感器有几个注意事项。第一传感器前方不能有遮挡物——安装支架、线缆、机器人外壳任何在波束锥角内的物体都会产生虚假回波。波束锥角通常是标称波束角的1.5-2倍标称15度的传感器实际有效波束可能到30度。安装前一定要看传感器的数据手册确认波束图的形状。第二多超声波传感器的串扰问题。如果两个超声波传感器同时工作A发射的脉冲可能被B的接收器检测到经过物体反射后导致B的读数异常。解决方法是分时复用——让传感器轮流发射每次只有一个传感器在工作。比如4个超声波传感器每个发射周期10ms总周期就是40ms25Hz。class UltrasonicMultiplexer: 超声波传感器分时复用控制器 def __init__(self, num_sensors, cycle_time_ms10): self.num_sensors num_sensors self.cycle_time cycle_time_ms / 1000.0 self.current_sensor 0 self.last_switch_time 0.0 def get_active_sensor(self, current_time): // ... (代码省略) self.last_switch_time current_time return self.current_sensor第三超声波传感器对表面材质很敏感。光滑坚硬的表面金属、玻璃、塑料反射效果好。柔软多孔的表面泡沫、布料、地毯会吸收超声波导致检测距离大幅缩短甚至检测不到。在设计避障系统时不能假设所有障碍物都能被超声波检测到——这就是为什么还需要红外或者激光雷达作为补充。超声波和红外的融合策略实际避障系统中超声波和红外传感器通常配合使用取长补短。超声波擅长检测中距离0.1-3m的障碍物不受物体颜色影响但波束角大、空间分辨率低。红外擅长检测近距离0.02-0.8m的障碍物空间分辨率高但受物体颜色和光照影响。两者融合时可以构建一个分层的距离检测模型红外负责近距离精确测距超声波负责中距离预警激光雷达负责远距离建图。数据融合的方法可以很简单取两种传感器读数的最小值作为障碍物距离估计。也可以更复杂用贝叶斯估计融合两种传感器的概率分布。对于避障这种安全相关的功能保守策略更合适——宁可误报虚警也不要漏报。面试中怎么聊面试官问超声波和红外传感器按这个顺序回答先说超声波原理压电换能器ToF和特点盲区、波束角、温度补偿再说红外原理三角测距/反射强度和特点受颜色影响、环境光干扰然后说两者的互补关系和融合策略最后说ROS2集成和串扰处理。如果面试官追问为什么不用激光雷达代替超声波你可以说成本。一个激光雷达几百到几千块一个超声波传感器几块钱。在只需要检测前方有没有障碍物的简单场景中超声波完全够用。另外超声波能检测透明物体玻璃门激光雷达对透明物体的检测不稳定激光可能穿透或者被折射。但如果是需要精确建图的场景激光雷达的优势就体现出来了。如果面试官追问悬崖检测用什么传感器你可以说红外对射传感器发射器和接收器分开安装。朝地面发射红外光如果地面存在反射光被接收器检测到。如果接收不到反射光说明前方是悬崖。这种方案简单可靠扫地机器人都在用。超声波不适合做悬崖检测因为超声波的波束角太大朝地面发射时反射信号太分散。如果面试官追问扫地机器人的传感器方案你可以展开说扫地机器人是近距离传感器应用的经典案例。它通常包含底部3-4个悬崖检测红外传感器防止跌落楼梯前端6-8个超声波或红外传感器检测墙壁和家具顶部一个激光雷达SLAM建图和导航侧面一两个接触式 bumper 传感器最后的物理保护。这些传感器形成一个完整的感知层次bumper是最后一道防线距离0红外/超声波负责近距离避障0.02-1m激光雷达负责中远距离建图和定位0.1-10m。这种分层设计在面试中说出来会让面试官觉得你对系统架构有整体理解。如果面试官追问红外传感器怎么标定你可以说三角测距型红外传感器的标定很简单。在已知距离比如20cm、40cm、60cm处测量传感器的输出电压然后用最小二乘法拟合距离-电压曲线通常是V a/d b的形式。标定完成后在几个验证距离上测试误差应该在标称精度以内。需要注意的是标定要在典型工作环境下进行——如果机器人会在不同光照条件下工作标定数据应该在室内和室外分别采集取最坏情况的参数。补充一个超声波传感器在实际项目中的踩坑经验。当时我们在仓库里部署AGV用了8个超声波传感器做近距离避障。测试时发现一个奇怪的现象有时候明明前方没有障碍物传感器却报告有物体在0.3米处。排查后发现是超声波的串扰——对面另一台AGV的超声波传感器在同一时间发射两台AGV的超声波信号互相干扰。解决办法是错开各传感器的发射时间给每个传感器分配不同的时隙比如8个传感器分成4组每组间隔5毫秒轮流发射。改完之后误报就消失了。这个经验说明多超声波系统的时序设计很重要不能简单地同时触发所有传感器。下一篇讲多传感器时间同步——硬件触发/PTP/软件时间戳的工程实践。前面讲了这么多传感器它们的数据怎么在时间上对齐是多传感器融合的关键前提。如果这篇文章对你有帮助欢迎点赞、在看、转发三连。 你的支持是我持续更新的最大动力。「机器人软件开发面试·从入门到精通」连载系列上一篇第162篇 GPS/RTK定位原理——室外机器人的定位方案 下一篇预告第164篇 多传感器时间同步——硬件触发/PTP/软件时间戳的工程实践有任何问题欢迎评论区留言我会尽量回复。

相关新闻

Mac上配置Git SSH密钥:从原理到实战的完整指南

Mac上配置Git SSH密钥:从原理到实战的完整指南

1. 项目概述:为什么Mac上的Git SSH密钥配置是开发者的“第一课” 如果你刚拿到一台新的Mac,准备开始写代码,或者准备从GitHub、GitLab上拉取公司的项目,那么配置SSH密钥几乎是你绕不开的第一步。很多新手教程会直接扔给你一串命令…

2026/8/16 21:44:08 阅读更多 →
Golang-unsafe 包与底层编程

Golang-unsafe 包与底层编程

unsafe 包与底层编程 一、为什么需要 unsafe Go 以内存安全著称——类型系统阻止非法转换,垃圾回收器防止内存泄漏,数组边界检查杜绝溢出。但有些场景确实需要绕过这些保护: 与 C 语言交互(cgo 调用需要传递原始指针)极…

2026/8/16 21:43:08 阅读更多 →
腾讯云Lighthouse部署OpenClaw:低成本AI智能体云端部署实战指南

腾讯云Lighthouse部署OpenClaw:低成本AI智能体云端部署实战指南

1. 项目概述:为什么OpenClaw的云端部署值得关注? 最近在折腾AI智能体部署的朋友,应该都绕不开OpenClaw这个名字。它不是一个新概念,但最近的热度确实又上来了,尤其是在寻求低成本、高效率的云端部署方案时。我最近刚把…

2026/8/16 21:43:08 阅读更多 →

最新新闻

客户都在用 AI 找品牌,你的企业还在死守传统流量?

客户都在用 AI 找品牌,你的企业还在死守传统流量?

最近和不少做市场、品牌的朋友聊天,大家都有同一个明显感受:客户获取信息的方式,已经彻底变了。放在一年前,大家有采购、挑选品牌需求时,习惯打开搜索引擎,输入关键词,一页一页浏览网页对比信息…

2026/8/16 23:43:01 阅读更多 →
从业务域到跨域自治,SAP Autonomous Suite 正在重写企业软件的运行方式

从业务域到跨域自治,SAP Autonomous Suite 正在重写企业软件的运行方式

2026 年 5 月的 SAP Sapphire 上,一个很有分量的变化浮出水面。SAP 谈论企业软件时,关注点已经不再只是某个应用增加多少 AI 功能,也不只是 Joule 能回答多少业务问题,而是开始重新定义企业系统究竟应该怎样运行。SAP 将这一方向称为 Autonomous Enterprise,并把 SAP Auto…

2026/8/16 23:43:01 阅读更多 →
Mac终端美化实战:用oh-my-posh打造高效命令行工作环境

Mac终端美化实战:用oh-my-posh打造高效命令行工作环境

1. 从“黑窗口”到“生产力画布”:为什么我们需要美化终端? 如果你和我一样,每天有超过一半的工作时间是在Mac的终端(Terminal)里度过的,那你一定对那个默认的黑底白字(或白底黑字)…

2026/8/16 23:43:01 阅读更多 →
鸿蒙平板应用真机调试全攻略:从证书配置到性能优化实战

鸿蒙平板应用真机调试全攻略:从证书配置到性能优化实战

1. 从模拟器到真机:为什么平板调试是鸿蒙应用开发的必修课 如果你刚开始接触HarmonyOS应用开发,大概率会和我最初一样,习惯性地在DevEco Studio里启动那个小巧的模拟器,看着应用在虚拟屏幕上跑起来,就觉得万事大吉了。…

2026/8/16 23:43:01 阅读更多 →
SAP UI5 里有没有 RxJS 的 mergeAll,从高阶 Observable 到 UI5 事件、OData 与并发模型的完整对照

SAP UI5 里有没有 RxJS 的 mergeAll,从高阶 Observable 到 UI5 事件、OData 与并发模型的完整对照

在一个稍微复杂一点的 SAP Fiori 页面里,经常会碰到这样的数据流。页面刚进入时需要加载销售订单头信息,随后每个订单又可能触发库存、信用额度、交货计划、定价条件等异步请求。这些请求并不会严格按照创建顺序返回,有的几十毫秒结束,有的可能几百毫秒甚至更久。如果熟悉 …

2026/8/16 23:43:01 阅读更多 →
小白怎么装 Skill、要不要钱?我用 WorkBuddy 试了一遍

小白怎么装 Skill、要不要钱?我用 WorkBuddy 试了一遍

小白怎么装 Skill、要不要钱?我用 WorkBuddy 试了一遍今天后台有人私信问我:Skill 怎么安装?这个东西要花钱吗?之前也有人问过。很多人听说过 Skill,但一看到英文、环境和安装步骤就有点头大。如果是第一次装 Skill&am…

2026/8/16 23:42:01 阅读更多 →

日新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →