万仕帅,汪石农
(安徽工程大学 电气工程学院,安徽 芜湖 241000)
随着测控技术的高速发展,社会对测量工具的要求逐步提高,其功能不再局限于基础的测量功能,还拓展到更宽广的领域。与此同时,对测量精度的要求也逐步提高,以应用于更多精密的工作场合。距离测量作为测量领域不可或缺的一部分,使用合适的测量仪器不仅可以节省大量人力、物力和时间,还可大大提高测量精准度。由于激光测距技术是当前测距技术中普及率较高的测距手段,相较于超声波测距[1-2]、雷达测距[3-4]等技术,激光测距优势更为明显,应用也更加广泛。激光测距仪作为目前测距仪器的主要组成部分,融合了激光、半导体、集成电路、仪表仪器等技术,在军事、航空、建造业等诸多领域中都有很好的表现[5]。
目前,国内激光测距仪的研究相比于美国的麦哲伦公司、加拿大的纽康公司、德国的博世公司和喜利得公司以及瑞士的徕卡公司等国际领先者,关键性技术已达到同等水平,但在小型化、商品化以及成熟化方面还有差距[6]。考虑到目前的激光测距技术已经可以满足测量工作的量程和精度,因此近些年对激光测距方面的研究逐渐从测量量程和测量精度转变至测量效率和实时功耗。
根据调研,市场上现有的测距仪大多分为单目和双目两种。蒋宇帆[7]、许浩浩等人[8]提出的单目激光测距仪可以快速精准地测量出仪器所在位置到待测点的距离,测量量程远,相对误差小。而徐俊星[9]提出的双目视觉测距系统在单目激光测距仪的功能基础上更高效地完成距离测量,但其成本和功耗都远高于单目激光测距仪。以上两种测距仪均有一定缺陷,如测距活动被局限在平面上,无法拓展至更大的空间,在面对测量3个待测点相互之间距离时仍需要多次测量。黄凡彧等人[10]提出的三头激光测高测距仪解决了测树仪笨重、效率低的问题,但在测量范围和测量功能上仍有扩展空间。与此同时,大部分激光测距产品在高精准和低功耗上难以兼得,本系统通过减少测量次数的方式,在保证高精准度的同时提高了测量效率,从而降低功耗。
市场上需要一种高效率、高精准、低功耗和多功能的激光测距仪。为此,一种基于STM32的三目激光测距系统被研究设计出来,不仅具备快速测量空间内任意三点相互之间距离的功能,还融入了垂直度测量和阴阳角测量功能,实现了一机多用的目标。系统采用模块化设计,以STM32F103RCT6为核心处理器,配合使用激光传感器、磁编码器和陀螺仪等功能模块,以薄膜按键为输入,液晶显示屏为输出,最后通过蓝牙模块将测量所得数据实时传输至移动端,更加便捷地读取、记录和保存测量数据。
通过第一旋臂、第二旋臂和第三旋臂互相巧妙结合,三目激光测距系统将对三维空间内任意两点之间的距离测量上升至对空间内任意三点相互之间的距离测量。在保证数据稳定性的同时,有效地提高了测距仪的使用效率。三目激光测距系统具体立体结构原理如图1所示。
由图1可知,在系统中,第一旋臂Cl1、第二旋臂Cl2和第三旋臂Cl3转动相连,3个旋臂的外端分别安装有激光传感器LS1、LS2和LS3。第一旋臂Cl1和第二旋臂Cl2在同一平面内,两个旋臂的转动连接处安装有用于检测两个旋臂之间角度的角度传感器AS1;第三旋臂Cl3的转动处安装有用于检测该旋臂转动角度的角度传感器AS3。第一旋臂Cl1的后端设置有铰接座,座内转动连接有竖直转轴,第二旋臂Cl2的后端设置有铰接支耳,竖直转轴的一端伸出铰接座后与铰接支耳固定连接。第一旋臂Cl1和第二旋臂Cl2均设置为U形壳体,两个旋臂在后端以转动卡接的方式相连,形成放置第三旋臂Cl3的容纳空间。第一旋臂Cl1和第二旋臂Cl2的转动连接处的上端设置有铰接座,第三旋臂Cl3的一端设置有相互平行的两个铰接臂,铰接座通过水平转轴与两个铰接臂的一端固定相连,水平转轴位于铰接座的部分安装角度传感器AS2和AS3,分别用于测量第三旋臂Cl3位于水平轴和竖直轴的旋转角度。
系统通过上述结构设计,在第一旋臂Cl1和第二旋臂Cl2协同工作的基础上,利用第三旋臂Cl3绕单独轴旋转,实现了对第三点的距离数据测量。并且通过巧妙设计,将第三旋臂Cl3所绕轴的中心设立为测量模型的核心,将三个旋臂的结构紧密联合。
三个旋臂前端放置的激光传感器LS1、LS2和LS3分别用于测量各旋臂与各待测点之间的距离,第三旋臂Cl3中放置的角度传感器AS2和AS3测量第三旋臂自身抬起的角度,第一旋臂Cl1与第二旋臂Cl2的连接轴中心处放置的角度传感器AS1用于测量两悬臂互相之间的夹角。如此,再通过计算公式对各激光传感器和角度传感器所测得的数据进行处理。在单臂测量模式下,相应的激光传感器所测距离即为输出的测量数据。
1.2.1双臂模式测量原理
在三目激光测距系统的双臂测量模式下,仅选用第一旋臂和第二旋臂进行测量工作,双臂测量模式计算原理如图2所示。
图2 双臂测量模式下待测距离计算原理
图2中l0为第一旋臂臂宽的一半,l1为第一旋臂激光传感器测量距离,l2为第一旋臂的臂长,l3为激光反方向延长线,O1和O2分别为第一旋臂和第二旋臂对准的待测点,F为第一旋臂与第二旋臂的铰接处中心点,M为第一旋臂与第二旋臂的激光反方向延长线的交点,L1为双臂模式下待测点O1到M之间的距离,L2为双臂模式下待测点O2到M之间的距离,L3为O1和O2互相之间的距离,α为第一旋臂与第二旋臂的夹角。
当测量模式为双臂测量模式时,激光反方向延长线l3、两个待测点到激光反向延长线交点之间的距离L1和L2、两个待测点互相之间的距离L3可分别通过以下公式(1)、(2)和(3)进行计算:
(1)
L1=L2=l1+l2+l3,
(2)
(3)
1.2.2 三臂测量模式原理
在三目激光测距系统的三臂测量模式下,将第一旋臂和第二旋臂对准待测点后,旋转并调整第三旋臂的位置,待第三旋臂对准待测点后开始测量。
图3 三臂测量模式下待测距离计算原理一
图3为三臂测量模式下测量各待测点互相之间的距离的总原理图。图3中M为第一旋臂与第二旋臂激光反方向延长线交点;O1、O2和O3分别为第一旋臂、第二旋臂和第三旋臂对准的待测点;N为第三旋臂水平转轴中心点、F为第一旋臂与第二旋臂的铰接处中心点;P为第三旋臂激光反方向延长线和第一旋臂与第二旋臂所在平面的交点。图3中L3为待测点O1和待测点O2互相之间的距离,L4为待测点O2和待测点O3互相之间的距离,L5为待测点O1和待测点O3互相之间的距离;L6为三臂测量模式下待测点O3到M之间的距离;l6为第三旋臂水平轴中心的高度;α为第一旋臂与第二旋臂之间的夹角;β、θ分别为第三旋臂与水平轴和竖直轴之间的夹角。
三臂测量模式下的L3按双臂测量模式下的计算公式(3)进行计算。当第三旋臂抬起的角度为β时,则第三旋臂的激光反方向延长线在第一旋臂与第二旋臂所在平面的映射为
(4)
图4为三臂测量模式下测量l4的计算原理图,即在第一旋臂与第二旋臂的平面计算l4。图4中M为第一旋臂与第二旋臂激光反方向延长线交点;O1为第一旋臂对准的待测点;F为第一旋臂与第二旋臂的铰接处中心点;N为第三旋臂激光反方向延长线和第一旋臂与第二旋臂所在平面的交点;l7为第一旋臂宽度与第三旋臂水平转轴轴长之和的一半。图4中α为第一旋臂与第二旋臂之间的夹角;θ为第三旋臂与竖直轴之间的夹角;l11为第一激光传感器测得距离长度与第一旋臂臂长之和。
l4的计算方法如式(5)和式(6)所示:
(5)
(6)
图5为三臂测量模式下测量l5的计算原理图,即在第一旋臂与第二旋臂的平面进行计算l5。图5中M为第一旋臂与第二旋臂激光反方向延长线交点;O2为第二旋臂对准的待测点;F为第一旋臂与第二旋臂的铰接处中心点;N为第三旋臂激光反方向延长线和第一旋臂与第二旋臂所在平面的交点;l7为第一旋臂宽度与第三旋臂水平转轴轴长之和的一半。图5中α为第一旋臂与第二旋臂之间的夹角;θ为第三旋臂与竖直轴之间的夹角;l21为第二激光传感器测得距离长度与第二旋臂臂长之和。
图4 三臂测量模式下待测距离计算原理二 图5 三臂测量模式下待测距离计算原理三
l5的计算方法如式(7)和式(8)所示:
(7)
(8)
通过计算得出l4和l5后,继而通过余弦定理计算得到L4和L5,计算公式为
(9)
(10)
其中:L6为第三旋臂测得数值、第三旋臂臂长与第三旋臂激光反方向延长线长度之和。
通过不同测量模式的选择,三目激光测距系统可以适用于多种测量场景,且其测量精度不受空间大小等因素的影响。利用单臂测量模式可以实现点对点之间距离的测量,利用双臂测量模式可以对空间内任意两点之间的距离进行测量,而利用三臂测量模式则可迅速测量出空间内三点相互之间的距离,大大提升了测量效率和精准度。
三目激光测距系统的主体结构由第一旋臂、第二旋臂和第三旋臂组成,系统选择了STM32F103RCT6作为微控制器。在第一旋臂Cl1、第二旋臂Cl2和第三旋臂Cl3的前端分别放置三个高精度激光测距传感器(误差为±1 mm)(见图1),用于测量各旋臂与各目标点之间的距离。同时在第一旋臂与第二旋臂铰接的轴心处、第三旋臂与轴连接处以及第三旋臂铰接座处各放置一个英飞凌的15位磁编码器TLE5012B,分别用于测量第一旋臂与第二旋臂之间、第三旋臂与竖直轴之间和第三旋臂与水平轴之间的夹角。并使用一个MPU6050陀螺仪测量机身分别位于X、Y轴的垂直度。一块四键的薄膜按键作为输入,四个薄膜按键分别为:左臂、右臂、中臂、双臂或三臂测量模式切换键,单次或连续测量模式切换键,测量切换键以及角度复位键。一块分辨率为240×320的2.8寸TFT液晶显示屏作为输出。三目激光测距系统的硬件结构如图6所示。
图6 三目激光测距系统的硬件结构
激光测距电路选用高精度的激光传感模块,系统中三个旋臂前端各放置一个激光传感器,用于发射并接受激光,用来测量各旋臂前端与待测点之间的距离。将激光传感器对准待测点后,由激光发射二极管发射激光脉冲,当散射光返回时,激光传感器中的接收器检测到光信号,并精准地计算出待测距离,而后将数据转化为数据信号传输至主控制器。三目激光测距系统采用的激光传感器是波长为635 nm的低功率激光器,其测量范围为0.03~80 m,测量标准差是1.0 mm。
角度测量选用型号为TLE5012B的磁编码器,三目激光测距系统中有3处需要进行角度测量,分别是第一旋臂Cl1与第二旋臂Cl2铰接的轴心处、第三旋臂Cl3与轴连接处以及第三旋臂Cl3铰接座处(见图1)。虽然光电编码器拥有较高的精准度,但磁编码器不仅拥有几乎无限长的寿命,还更加贴合激光测距仪的应用场景,对安装精度和洁净度都没有很高的要求,不易受测量环境的粉尘或油污影响而产生误差。同时光电编码器的成本也更高,安装与更换也更复杂,所以系统选择磁编码器来测量角度。固定强磁的安装位置后,在旋臂发生转动时,磁编码器芯片也随之发生角度偏移,将输出的正弦波信号通过方位角运算转换为360°旋转角度值,继而转换为数据信号传输至主控制器上。系统的TLE5012B模块原理如图7所示。
图7 三目激光测距系统的TLE5012B模块
三目激光测距系统的垂直度测量选用MPU6050模块,其内部整合了三轴MEMS陀螺仪、三轴MEMS加速度计以及一个可扩展的数字运动处理器。在第一旋臂内放置MPU6050模块,用于测量主机身分别位于X轴和Y轴的垂直度,有利于在测量过程中保持机身平稳,提高测量数据的精准度。当机身位置发生左右或上下的变动时,模块中的陀螺仪和加速度传感器所测量的角速度和角加速度数据在通过算法计算后可以得到三轴角,对应机身在各轴上的垂直度,然后将数据信号传输至主控制器。系统的MPU6050模块原理如图8所示。
图8 三目激光测距系统的MPU6050模块
三目激光测距系统的无线传输模块电路选用型号为HC-05的蓝牙模块,将主控制器计算所得数据实时传输至上位机显示,主要显示三点相互之间距离、阴阳角和垂直度。以便实时获取并记录测量数据,更有利于测量后续工作的开展和进行。系统的蓝牙模块原理如图9所示。
图9 三目激光测距系统的HC-05蓝牙模块
三目激光测距系统采用按键输入来切换相应功能模式:单臂测量,双臂测量,三臂测量,单次测量和连续测量。其中单臂测量可以调整为第一旋臂测量、第二旋臂测量或第三旋臂测量;双臂测量模式下使用第一旋臂和第二旋臂进行测量;三臂测量模式下,第一旋臂、第二旋臂和第三旋臂一同工作。在单次测量方式下,激光传感器自动发出一次激光后主控制器会进行数据计算,并输出测量数据;在连续测量方式下,激光传感器第一次发出激光进行测量后,在延时5 s后激光传感器继续发出激光进行测量,并在每一次测量后输出测量数据。角度复位键用于清空当前测量数据,或者在系统出现卡机时复原系统。
系统选用TFT液晶显示屏来实时显示系统所测得数据,如3点相互之间距离,阴阳角,各轴垂直度,电池电量情况以及蓝牙连接情况。
三目激光测距系统的软件设计在Keil uVision5平台进行,主要由主程序、激光距离测量程序、角度测量程序、垂直度测量程序、无线传输程序、按键输入程序和显示程序等程序模块组成。系统的主程序流程图如图10所示。
初始化程序主要完成IO端口初始化、倾角传感器初始化、按键初始化、电池电压检测、无线通信模块初始化、终端设置、定时器设置和显示屏初始化等。其中显示屏初始化主要完成电源电压显示、各边距离显示、各角度显示、各垂直度显示、测量模式和测量方式的配置。
首先通过按键模块输入测量模式和测量方式,收到指令的激光测距传感器便进行距离测量,随后将距离数据传输至处理器上。其次利用角度传感器测量夹角,将角度数据传输至处理器上。主控制器在收到距离数据和角度数据后,通过算法公式得出待测边的距离数据,再通过显示模块显示计算数据,最后通过蓝牙模块传输至上位机显示。
三目激光测距系统的测量范围为0.05~50 m,测量精度为±2 mm,垂直度的测量范围为0°~4×90°,阴阳角的测量范围为0°~180°,工作温度范围为-10 ℃~45 ℃。为了验证本文设计的三目激光测距仪的有效性和可行性,在搭建的测试环境中,在仪器的量程以内进行不同测量距离下的测试对比。L3、L4和L5分别为各待测点互相之间的距离,其测量结果如表1所示。再利用不同测量系统对同样的测量点进行测量,对比三目激光测距系统所耗用测量总时间T1和双目激光测距系统所耗用测量总时间T2的情况如表2所示。
表1 三目激光测距系统的实际测量结果
表2 三目激光测距系统的测量耗用时间对比结果
如表1的测量结果所示,三目激光测距系统在量程以内进行测距的结果可以保证相对误差在0.02%以内,可以满足测距工作的精度要求。如表2的对比结果所示,三目激光测距系统测量耗用时间更短,测量效率更高,面对更多的待测点时,会节约更多测量时间,大大提高测量效率。
针对目前市场上的激光测距仪普遍不能对空间内任意3点相互之间的距离进行测量的缺陷,三目激光测距系统利用巧妙的结构设计,实现了对空间内任意3点相互之间的距离进行测量,将测量从二维平面上升至三维空间,突破了距离测量仪器的局限性。与此同时,本系统附属的阴阳角和垂直度测量也为测距仪器提供了更宽广的应用场景。