BP神经网络在测距误差补偿中的应用
0 引言
根据超声测距原理,超声测距一般采用渡越时间法(TOF),即L=, 其中,L为超声传感器与被测障碍物的距离,m;v为超声波在介质中的传播速度,m/s;t为超声波发射到超声波返回的间隔时间,s,即“渡越时间”。从公 式来看,测量值与超声波的声速和渡越时间有关,而超声波的声速与环境温度、湿度有关。在一些测量精度要求较低的情况下,声速可以直接取不变值 (340m/s),或者采用拟合公式对速度进行温度补偿。但有些测距系统只考虑温度对声速的影响是不够的,如焊接机器人、矿井机器人、野外勘探型测距仪 [3]等。据实验测得同一温度、不同湿度下,声速相差很大,因此在温度、湿度变化大、精度要求高的作业环境下,应同时考虑2个因素对声速的影响。因此,本 文提出了一种采用BP神经网络补偿超声波测距受温度、湿度变化而引起误差的方法,提高了测量精度。
1 BP神经网络数据融合方法
1.1 获取样本数据
利用自然环境及组装的简易温湿度控制系统,测到不同温度、湿度下的声速,如表1所示。表1中,T表示测试环境温度,v表示用温度补偿公式得出的超声波声速,vs表示不同湿度下的实际超声波声速。
由表1可知,非常温、常湿时的声速与补偿公式得到的值有很大差异。而且,当湿度不同时,同一温度下的声速也有很大变化。若将温度补偿得到的声速代入TOF测距公式中,距离越远,引起的测量误差将越大。
1.2 融合的具体实现
先构造一个BP神经网络[4~5]:
其隐含层的传递函数为S型传递函数“tansig”,输出层传递函数为线性函数“purelin”。网络采用快速BP算法训练,以便产生相应于 矢量p的输出矢量t。w1、b1为tansig层的权值和阈值,w2、b2为线性输出层的权值和阈值,p为输入矢量。s1、s2分别表示隐含层和输出层的 神经元个数。BP网络通常有1个或多个隐含层,隐含层中的神经元均采用sigmoid型变换函数,输出层的神经元采用纯线性变换函数。图1描述了一个具有 1个隐含层的BP网络。
在网络设计中,以标定的温度值和湿度值作为神经网络的输入,以标定的超声波的声速值作为网络的输出,即网络有2个输入、1个输出。通过试训,确 定网络结构为2-10-1,因此初始化网络为[w1, b1, w2, b2]=initff(p,10,.tansig.,1,.pure-lin.)。将0°C时的样本作为网络检测用,其余作为训练样本。利用 [w1,b1,w2,b2,epochs,tr]=train-bp(w1,b1,.f1.,w2,b2,.f2.,p,t,tp)训练网络,训练最多步 数为500,平方和误差指标为0.01,初始自适应学习率取0.001。神经网络的训练过程如图2所示。通过训练,满足了平方和误差指标的要求。
相关文章
- 2024-06-07电流变液减振器在抑制深孔切削颤振上的研究
- 2024-08-02基于干涉原理的高精度直线度误差测量
- 2024-04-10极紫外望远镜各通道夹角的测量
- 2024-03-20寄生虚反射对外差干涉椭偏测量的影响
- 2022-05-24基于现场总线监测系统的PLC控制制造系统



请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。