Akima算法及最小二乘法在动态称重系统中的应用
    Akima 算法及最小二乘法在动态称重系统中的应用 郭方营 电子电气工程学院 摘要:
  本文设计的装载机动态称重装置是依据对现有装载机数学模型的分析及装载机油压和重量在特定区间具有线性对应关系的特点来完成的。
  硬件电路选用 ARM 处理器,AD7730 高精度的 A\D 转换芯片;软件上使用 Akima 插值算法及最小二乘曲线拟合方法实现了对实测数据的滤波、插值计算、数据平移补偿等功能,通过实验验证该装置满足装载机动态称重系统的控制要求。
    关键词:
  动态称重;最小二乘法;Akima 算法;插值计算 一、引言    在装载机上安装称重装置,就可以在工作现场直接进行实时的称重,从而避免了货物在运输到指定地点称重时路途中货物的损耗和时间上的消耗,有效的提高了工作效率。
  目前常用的两种称重方式是静态称重和动态称重,实践证明静态称重无法满足装载机的称重要求,因此大多数对于装载机称重系统的研究都是基于动态称重展开的。
  刘传榕基于川崎公司的装载机进行了数学模型的研究[1] ,该数学模型反映了装载机在使用过程中装载系统的动力学关系,给出了压力、力臂、速度等因素与载重的关系式;北京航空航天大学王伟等又对此模型进行了进一步修改完善,建立起了动臂液压缸与单变量动臂液压缸形成之间的函数关系式[2] ;中南大学肖珊等提出了2 sincosm psLg L=[3] 装载机数学模型,并且分析了装载机动态称重数据误差来源,阐述了变速度和匀速度时油压关系、不同重载下相同提升速度时的油压关系曲线,最终利用速度补偿等算法进行了数据处理。
  随着动态称重技术研究的深入,多传感器数据融合技术在动态称重系统中也将得到应用[4]
        总结多篇关于动态称重的论文不难看出,研究关于装载机动态称重时必须要到不同速度、不同重物作用下油压和重量的对应关系,然后再将实测数据和标定数据进行比较,从而得出实际的重量。
  不同的研究成果引用的数学模型基本相似,但是在数据的软件处理上使用不同的方法效果有所差别,而且动态称重受干扰信号影响很大,单纯使用一种数据算法无法达到理想的效果,必须将不同的数据处理方法进行综合应用,到一种针对动态数据处理的算法策略,从
而减少称重过程中由车速、载重量、路况等干扰信  号对称重结果的影响。
  综合以上因素本文基于油压和重量在某段区间具有线性关系的研究成果,软件上采用动态数据处理算法策略对控制器采集到的数据进行处理,算法处理策略将数据滤波、最小二乘曲线拟合方法以及 Akima 插值算法进行有机结合并给出了具体的插值运算方法,克服了单纯一种算法数据处理的局限性;硬件部分由主控制器、油压传感器、接近开关、键盘输入模块、显示器、打印机等组成,通过现场校正调试,基本上达到了用户提出的控制要求。
    动态清零是什么意思二、硬件原理框图  1 称重装置硬件原理框图  如图 1 所示为称重装置硬件原理框图,该装置安装在装载机的驾驶室内,位置传感器安装在装载机的机械臂的两个固定位置上,用来定位数据采集的开始和停止的区间,压力传感器安装在机械臂的油缸位置上,用来检测油压的大小,传感器的数量都是两个。
  装置运行时压力传感器将采集到的数据值经过具有 24 位精度的 AD7730 模数转换芯片后,送到 LPC2290 主控制器上,然后进行数据滤波、插值运算、线性平移等处理后计算出实际的重量,显示屏可以实时的显示数据,也可以通过串口连接到热敏打印机,打印实时数据。
  直流供电电源由装载机的车载蓄电池提供,键盘输入模块主要完成去皮、称重、清零等设置操作。
    三、软件数据处理 装载机在实际称重时,油压传感器采集的数据受到车速、货物的重量、路面不平等外界因素的影响,采集到的数据往往会产生波动和出现异常数据,所以在对数据拟合之前,还要进行滤波处理,本设计中采用设置阈值的方法消除异常数据,设定阈值的上下两个区间,如果采集到的数值超过了阈值区间,将异常数据清除,同时根据异常数据的前后两个数据的进行估算,用估算出的值取代异常数据,从而保证数据的连续性,以  便于下一步的数据处理。
      根据大量的实验数据验证,装载机油压大小和重量在不同工作情况下,具有线性对应关系,因此数据经过滤波处理后,在计算实际重量时,根据载重量的大小不同分别进行标定物的空载、轻载、重载实验,利用最小二乘法拟合出三种情况下压力和重量对应 的函数关系曲线1 1 ( ) P f m = 然后再根据装载机运行速度的快慢,分为快速、中速、慢速三种情况得出2 2 ( ) P f m =曲线,将得出的曲线存储在单片机内。
  利用最小二乘法拟合曲线实际上就是根据实测数据(xi,yii=1,2,3,n,得到拟合函数20 1 2y
a a x a x = + +,利用解矩阵的方法[5] ,求解出待定系数 a0,a1,a2 的数值,就可以在单片机内对实验数据进行拟合,拟合的次数与数据的准确度也有关系,本文是利用二次拟合的方法实现的数据处理,不同的拟合次数数据比对如图 2 所示。
                        2 最小二乘法不同次数拟合效果 四、基于 Akima 光滑插值算法的数据处理 利用滤波和最小二乘法拟合得到实测数据后,还必须进行数据平移才能得到实际的重量值[3] ,数据平移补偿的原则就是根据标定的数据值与实测值进行比较,由于速度的快慢和载重物的重量不同,在相同采样间隔内,采样数据的个数不同,速度快时,实际采样时间就长,从而获得的数据比标定值的多,因此,在进行数据平移补偿前首先要对实测的数据进行插值计算,从而保证实测值与标定值具有相同的采样间隔。
      (一)插值算法理论依据  Akima 光滑插值理论就是利用区间上的1[ , ]k kx x+两个端点及其满足的 4 个条件来确定的一个唯一的三次多项式[6] ,如公式(1)所示 2 3( ) ( ) ( ) ( )k k ky x A B x x C x x D x x = +  +  +                          1 其中  1 1 1 121 1 1 1[3( )/( ) 2 ]/( )[ 2( )/( )]/( )kkk k k k k k k kk k k k k k k kA yB dC y y x x d d x xD d d y y x x x x+ + + ++ + + +=   =  =      = +  + d k ,d k+1 x k ,x k+1 处的斜率 1 1 1 2 1 1 2( )/( )k i i i i i i i i i id m m m
m m m m m m m+    +  =  +  +        2 同理也可以写出 d k+1 的值,m i 为相邻点的斜率,如果式(2)的分母为零时,1( )/ 2k i id m m= +                                            3 由于装载机的速度快慢不同,采集到的数据和标定的数据有可能不一致,所以Akima 插值算法可以实现实测数据和标定数据一致的目的,以上算法可以通过 C 语言编程方法实现。