AaronSpark 发表于 2005-12-21 14:27

基于最小二乘法的超声波传感器拟合与测距实现研究

本帖最后由 wdhd 于 2016-9-1 13:55 编辑

  魏绍亮 陈一民

  摘要:本文主要针对超声波传感器测距的电路设计和超声波传感器使用前的拟合做了深入的描述。利用大量的实验测试数据,作者通过最小二乘法对超声波传感器进行了拟合,建立了超声波传感器的测距方程,为超声波传感器的使用提供了较好的数学模型。

  关键词:超声波传感器;电路设计;曲线拟合;最小二乘法

  中图分类号:TP212.12 文献标识码:A

  一、引言

  超声波测距具有信息处理简单、快速和价格低,易于实时控制等许多优势,它被广泛的应用在各种距离测试的设备中。

  但超声波传感器在实际应用中也有一定的局限性,主要表现为探测波束角过大,方向性差,使用前需要标定等问题。我们选用最小发射灵敏度在50kHz、300VAC pk-pk,150VDC bias的超声波传感器,设计了一种实用的测距电路,同时对传感器的标定做了深入的研究,采用最小二乘法对其进行拟合,得到了该传感器的测距数学模型。

  


  二、测距原理及测距电路设计

  超声波测距的原理比较简单,一般采用渡越时间法,即:

  



  (1)

  式中,D—距离;

  c—声波在介质中传输速率;

  t—声波传输的所用的时间。

  声波在空气中传输速率为:

  



  (2)

  式中,T—绝对温度;

  c0=331.4m/s。

  在测距精度不是很高的情况下,一般认为c为常数340m/s。

  渡越时间法主要是测量超声发射到超声返回的时间间隔t,即“渡越时间”,然后根据(1)式计算距离值。我们以微处理器89c2051为核心来控制超声波的发射,进而对“渡越时间”进行计量。89c2051有体积小、价格低、功耗低等优点,它内部含2k字节可重编程闪速存储器,可方便地进行编程。

  50kHz的超声波信号由SN28784和TL851及外围元件产生,然后通过三极管和变压器输送至超声波传感器—该超声波传感器集收发于一体,返回信号也是通过SN28784和TL851等处理后传送给89c2051。

  超声波测距电路的“渡越时间”测量时序图如图1所示。超声波测距的电路原理图如图2所示。

  



  微处理器89c2051在t1时刻把P1.4(CLR P1.4)置零,启动超声波传感器发送超声信号,同时启动(SET TR0),内部定时器(T0)开始计时。当超声信号碰到障碍物时信号立刻返回,微处理器不停的扫描P3.7引脚,如果P3.7引脚信号由低电平变为高电平(t3),表明信号已返回,微处理器关闭定时器,则定时器(T0)中的数据即为“渡越时间”t,应用(1)式计算距离D值。89c2051的串行口与上位PC机连接,将测量到的时间数据传送给PC机,由PC机对数据进行处理或多传感器数据融合。如果要提高测距的精度,消除温度变化对超声波信号传输的影响,可以在微处理器的其他引脚上连接温度传感器,测定环境温度,利用(2)式计算超声波传送速率。

  三、实验结果分析—拟合标定

  由于超声波传感器在实验过程中,发送超声波、接收并处理回波存在着时间延迟及其它不稳定因素,所以测得数据与真实值之间存在一定的误差。为了减小测距误差,传感器在使用之前需要进行准确标定,我们通过试验,获得了大量的实验数据(1800多个数据),对数据进行了分析研究,并通过最小二乘法对测距传感器进行拟合,得到了该传感器较为精确的测距数学模型。

  1、数值的测量

  固定传感器位置,在同一行程上的0.4m~3.01m距离之间每次移动障碍物1cm,沿远离

  


  传感器的方向(简称上行)和由远及近的方向(简称下行)上我们各测得三组数据,分别绘制离散数值曲线图3和图4。

  比较图3和图4中的曲线可知,同一行程上不同时间测得的数据有一定的差别,上行测得的数据与下行测得的数据也不相同。产生这种差别的原因主要有:一是每次测量时测量人员造成的测量误差,如三次移动障碍物距离的差别给每次读数带来的读数误差;二是三次测量中的时间差别和环境温度变化带来的三次测量数据变化。

  2、数学模型的建立

  根据上面的分析可知,超声波传感器在不同时间和不同的行程上测得的数据是不同的,而我们在传感器的使用中不可能对测距环境的变化做出快速反应,建立不同的测距模型然后进行测距。因此,我们总是力求为传感器建立一个相对比较固定的数学模型,用这一个数学模型对距离进行测试计算,使测距误差在工程允许范围内,满足工程需要。

  一般数学模型的建立方法有两种:一是测量大量的数据,建立数据表格,在实际应用中采用查表的方式;二是分不同的环境和行程建立不同的数学模型,根据具体测量环境选择不同的数学模型进行测量。这两种方式在实时测距中都有不可避免的缺点,第一种方式,建立的数据表格中的数据是有限的,而我们测量的距离值是随机的,可能表格中没有对应的数值,如果采用一定的数据处理措施(如四舍五入),必然带来较大的测量误差,若要减小这种测量误差,则必须采集大量的数据,建立庞大的数据库,这给测量人员带来巨大的工作量,甚至导致数据的不可靠;第二种方式缺乏实时操作性,测量环境或测量行程可能是随机变化的,很难实时智能改变数学模型。为此我们基于工程实时控制理念建立了超声波传感器数学模型,即将往返3次测得的数据求平均值,把六个数据融合为一个数据,作出一个离散曲线,见图5,再根据某种规则建立数学模型。这种方式的优点是:数学模型的建立是根据大量的测量数据建立起来的,因此较为精确;其次,该数学模型是综合了多次往返行程、不同时间测量的数据建立起来的模型,所以具有通用性,能够实时测距,误差在工程允许范围内。

  根据科学实验测得的实验数据建立数学模型的方法很多,比较常用的有两种方法:插值法和曲线拟合的最小二乘法。插值法是对所给的一组数据(xi,yi)(i=1,2,…,n)构造一个插值函数P(x),使之逼近已知的函数f(x),并要求P(xi)= f(xi) (i=1,2,…,n),而一般试验及统计分析的研究工作中,所得的数据很多,且本身往往带有观测误差,如果要求所得的曲线准确地通过所有点(xi,yi)就会使曲线保留着原有的观测误差。最小二乘法是对给定的一组数据(xi,yi)(i=1,2,…,n),在函数类中寻求一个“最好”的函数j(x),使j(x)≈f(x),并满足偏差di的平方和为最小的条件。这样,j(x)能从整体上反映出数据的基本变化趋势。我们将采用曲线拟合的最小二乘法建立超声波传感器测距的模型。由图5可知,该离散曲线上的各点近似在一条直线上,故选用一次函数(直线)进行拟合,取j(x)=a0+a1x,利用MATLAB工具箱中的多项式拟合函数a=polyfit(xdata,ydata,n)拟和,其中,a为待求系数矩阵,xdata是测量实际值构成的矩阵,ydata是超声波传感器测得的距离值构成的矩阵,n是拟合曲线方程的阶次。把图5中的数据代入多项式拟合函数中,利用MATLAB工具计算,得:

  a0=-2.0607,a1=1.0117

  则,j(x)=1.0117 x-2.0607 (3)

  根据函数值做出拟合曲线,见图6。

  又有:

  



  (4)

  通过其计算一次函数j(x)=1.0117x-2.0607拟合的偏差(部分数据见表1),262个数据的均方误差为2.1272,这个值较小,表明拟合函数j(x)=1.0117x-2.0607的拟合性能较好。

  


  3、回归分析

  由于在获得数据的过程中一般存在着测量误差,导致变量(因变量或自变量)是随机变量。从数理统计的角度看,根据一个样本计算出的那些系数,只是它们的一个点估计,应该对它们作区间估计或假设检验;此外,如果置信区间太大或包含零点,那么由计算得到系数的估计值无意义,因此我们应该对得到的超声波传感器拟合数学模型作进一步的统计分析。统计分析主要有两种分析方法:相关系数检验法和F检验法。我们采用F检验法,通过调用MATLAB统计工具箱中的命令regress( )来实现多元线性回归,其调用格式为:

  b=regress(Y,X,0.05)

  或:=regress(Y,X,alpha)其中,因变量数据向量Y和自变量数据矩阵X按以下排列方式输入:

  



  代入下行测试中的数据,求得R2≈1,F=8.345,由此看出,R2和F都明显偏大,表明回归直线对样本数据点的拟合程度很高。F对应的概率P=0,显然P

  四、结论

  利用超声波传感器进行测距,无论是测距电路的设计,还是超声波传感器数学模型的建立方法都很多,但我们在电路设计上一定要满足电路工作的可靠性、实用性,在数学模型的建立上要满足工程的实际应用,并对建立的数学模型进行科学的回归分析,检验数学模型的准确性。只有这样,我们所设计的超声波测距电路和建立的测距数学模型才真正有意义。

  参考文献:

   潘宗预,潘登. 超声波测距精度的探讨. 湖南大学学报, 2002(s2)

   严宏,宋进,陈敏贤. 超声波测距在智能机器人中的开发与应用. 机电一体化, 2001(1)

   翟国富,刘茂恺. 一种实时高精度的机器人用超声波测距处理方法. 应用声学, 1990(1):17-24

   Figneroa JF, Lam ancusa JS. A method for accurate detection of time of arrival: analysis and design of an ultrasonic ranging system. J. Acoust. Soc. Am, 1992, 91(1): 486-494

   刘则毅等. 科学计算技术与Matlab. 科学出版社, 2001.

   王沫然. Matlab 6.0与科学计算. 电子工业出版社, 2001.

  Reality of Distance Measurement and Ultrasonic Sensor Curve-fitting Based on the Least Square Method

  Abstract:In this paper, some further researching works for designing distance measurement circuit of ultrasonic sensor and curve-fitting of ultrasonic sensor are introduced. distance measurement of ultrasonic sensor is fitted with the least square method accordance to lots of measuring data, and equations of distance measurement are built. Mathematic model for using ultrasonic sensor is also given.

  Keywords:ultrasonic sensor; designing circuit; cure-fitting; the least square method

  作者简介:

  魏绍亮,在读博士,长期从事测试与计量技术的教学和科研工作,已发表论文十几篇。

  通讯地址:上海大学机自学院 邮编:200072

  联系电话:021-56336924 E-mail:wsl_ify@163.com

  陈一民,博士生导师,长期从事自动化和计算机多媒体的教学和科研工作,已有多项发明专利和五十多篇论文。

  联系电话:02156336924

zyx168 发表于 2006-6-9 19:26

本帖最后由 wdhd 于 2016-9-1 13:55 编辑

  非常感谢!!
页: [1]
查看完整版本: 基于最小二乘法的超声波传感器拟合与测距实现研究