超声波测距有明显的弱点,为什么要坚持使用?这不是衡量市场距离的唯一方法。为什么一定要用?既然有必要使用超声波测距,有什么好的办法克服其先天不足吗?
为了测量机器人到玻璃表面的距离,识别障碍物的边缘,需要一些测距模块。市场上有两种常用的测距模块:
一个是激光测距。该模块具有速度快、精度高、测量距离长的特点,但如果在玻璃表面测量,会导致反射激光无法测量的概率很大。
另一种是超声波测距。该模块速度慢,精度受环境影响,测量距离小于5米,但不受被测表面材质的限制。
根据上述模块的优缺点,结合实际工作环境和大量实验数据,得出玻璃表面超声波测距更为可行的结论。
01.如何控制超声波测量的精度
对于技术人员来说,超声波测距的原理应该是大家都清楚的。在这里,直接粘贴来自百度的信息:
超声波测距的原理是在超声波发射器中发出超声波,这是基于接收器接收超声波时的时间差。超声波发射器向某一方向发射超声波,发射的同时开始计时,超声波在空空气中传播,途中遇到障碍物立即返回,超声波接收器收到反射波时立即停止计时。
以“HC-SR04”超声波测距模块为例,如下图所示:
VCC电源5V,GND接地,TRIG为触发控制信号输入,ECHO为回波信号输出。
基本性能如下:
声音在大气中的传播速度既与温度有关,也与大气压力有关,因此在使用超声波模块高精度测量距离时,需要对声速基准进行校准。
02.如何保证数据读取的稳定性
超声波测距引起数据不稳定的几个原因:
1.测量面密度低,超声波穿透物体时会有多次回波;
2.测量面不平,超声波散射,也会有多次回波;
3.测量平面倾斜,超声波反射不正确;
4.测量面太小,超声波反射量不够。
因此,用超声波更难准确读取距离值和识别边缘。
超声波的工作顺序分为以下步骤:
1.使用IO触发测距,给出至少10us高电平信号;
2.模块自动发送8个40khz的方波,自动检测是否有信号返回;
3.有信号返回,通过IO输出高电平。高电平的持续时间是从超声波发射到返回的时间;
4.测试距离=(高电平时间*声速(340米/秒))/2。
具体示意图如下:
先发波,设计代码每100ms测量一次,每次测量完毕改变测量周期开始下一次测量。
为了保证测量的准确性,需要分别在上升沿和下降沿中断捕获定时器计数值,通过变换两者之间的差值就可以得到声音在空传播的时间,进而得到距离值。
为了利用超声波检测边缘,我们需要得到稳定的数据,而卡尔曼滤波可以很好地解决这个问题。
卡尔曼滤波效果由滤波频率、噪声因子和偏差因子决定。我们把卡尔曼滤波得到的距离值打印出来,放在表格中,生成波形图,如下:
分析表明,测距模块不工作时,超声波值在0.5mm范围内变化,稳定性好。减去上次的差值,并生成波形图,如下所示:
当测距模块远离或靠近障碍物表面(模拟边缘)时,数据的增减是稳定的,根据这些数据编写边缘识别算法。
经过多次调整卡尔曼滤波器和边缘识别算法的参数后,边缘识别精度在20-40毫米范围内达到95%以上,在40毫米范围内达到99%以上,保证了超声波测距中数据读取的稳定性。
1.《超声波测距 如何保证超声波测距既精确又稳定?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《超声波测距 如何保证超声波测距既精确又稳定?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1337327.html