余紫娟 白志晨 王佳慧 苏波
摘 要:基于目标点在球坐标系中的三个数据,即目标点到坐标原点连线的直线距离及其与另两条设定坐标轴的两个夹角,可以得到目标在空间中的位置信息。文章通过使用相位式激光测距模块获取目标点到坐标原点的距离,使用舵机云台控制激光在水平和竖直两个方向旋转,并将旋转角度值作为基础数据返回,从而得到物体的位置信息。
关键词:空间定位;相位式激光测距;舵机控制
中图分类号:P226.2 文献标志码:A 文章编号:2095-2945(2020)32-0075-03
Abstract: Based on the three data of the target point in the spherical coordinate system, including the straight line distance from the target point to the coordinate origin, and its two angles with the other two set coordinate axes, the position information of the target in space can be calculated. This paper describes how to use the phase laser ranging module to calculate the distance from the target point to the coordinate origin, use the servo head to control the laser to rotate in both horizontal and vertical directions, and return the rotation angle value as the basic data to calculate the position information of the object.
Keywords: space positioning; phase laser ranging; steering gear control
1 概述
三維立体空间中,物体有其特定的位置信息,获取物体的位置信息后,便可以对物体与物体之间的位置关系进行进一步剖析。任何会随着距离改变的物理量,如声的传播、光的强度和场的效应等,均可逆向的应用于距离的测量中,通过初始量的变化规律,从而得出自变量的值。本文通过研究调制光相位随时间的变化来测出距离,获取球坐标下两个角度值,最终得到物体的在空间中的位置。
2 实验原理
2.1 坐标系的建立
在空间内给定坐标原点,并在原点所在水平面内给定x轴正方向。以竖直向上方向为z轴正半轴,y轴垂直于xOz平面,形成右手坐标系,如图1所示。
通过测量由坐标原点到目标点的空间直线距离r,以及原点到目标点连线OP与xOz平面的夹角?琢、OP与xOy平面的夹角?茁,求出P在以O为原点的球坐标系下的坐标(?琢,?茁,r)。在假设空气折射率为1的情况下,根据几何关系及定律可推导出公式(1):
2.2 数据处理
控制旋转方向的舵机云台,其两条旋转轴通常不在一个平面上,即水平转轴与竖直转轴在空间上不相交,导致组装条件受到限制,激光测距模块无法安装在原点处。因此,在计算目标空间位置时进行了三角转换,如图2所示:
坐标系的原点位于测量装置的竖直旋转轴上,z轴与装置的竖直旋转轴重合。水平转轴位于xOy平面上,平行于y轴,与x轴的交点到原点的距离为a,R为水平转轴到目标点的距离。激光测距模块位于该连线上,激光源到目标的距离(即测距结果)为d,芯片端头的激光发射点到水平转轴中心点的距离为L,?兹为水平旋转轴旋转过的角度, ?茁为坐标原点到目标点的连线与xOy平面所夹成的角度,r为坐标原点到目标点的距离,a为水平转轴与x轴的交点到坐标原点的偏移量。
3 实验过程
3.1 实验仪器及系统构建
实验所用仪器装置:Arduino MEGA 2560单片机、舵机云台、摩天L1激光测距模块、HC-05蓝牙模块、6V直流电源、USB 5V供电电源、USB数据线、杜邦线若干、安卓手机、三脚架、水平仪、3D打印技术制得的转接板[1]。
实验装置数据测量部分由舵机云台和激光测距模块组合而成,运算模块采用Arduino MEGA 2560单片机,通过HC-05蓝牙模块连接至安卓手机进行姿态的控制和数据的读取。
3.2 系统运行方式
测量操作流程图如图4所示,将仪器通过转接板固定在三脚架上,将装置调整到水平位置,使用水平仪进行二次校准。由安卓手机通过蓝牙向Arduino单片机发送指令,控制舵机运转,使激光测距模块绕水平、竖直两个旋转轴转动,直至瞄准目标。瞄准后,通过手机控制激光测距模块,测出激光源到目标的距离和角度。数据全部测量完成后,单片机可按照上文中设定的算法,计算出目标点在直角坐标系中的坐标值,其单位为毫米。
实验装置使用的激光测距模块为相位式光电测距模块,它将发射光调制成正弦波的形式,通过测量正弦光波在待测距离上往返传播的相位移来计算时间。原理示意图如图5所示。
实验装置使用的数字舵机,芯片通过杜邦线传递脉冲控制舵机旋转的角度,即脉冲调制,通过改变脉冲的长短可以控制舵机转过的角度。脉冲宽度与对应的舵机转过的角度关系如图6所示,通过手机程序可随时更改舵机的脉冲,以达到转动舵机的目的。本装置使用的舵机,接收到1.52毫秒的脉冲会转动到中间位置(90°)。单片机控制系统发出特定指令,可使舵机移动到某一指定位置,并保持在该位置上[6-8]。
4 数据测量与分析
4.1 实验步骤
依3.1中所述,将装置固定在三角架上,利用水平仪调整装置水平[9-10],打开手机蓝牙模块APP,与装置的蓝牙进行配对,设置微调键停止键测量键等功能键。确认所要测量的目标点,通过手机蓝牙模块APP操控舵机,直至激光点打在被测物体上,此时通过手机进行数据读取。
4.2 测量结果
实验中,以舵机本身为原点建立坐标系,选取两个象限的目标进行数据测量,每个象限选取三个位置不同的目标,记录如表1和表2所示。
4.3 结果分析
实验所用激光测距模块精度为1mm,角度的测量精度为1°。测量结果的相对误差在0.10%-7.43%左右。
误差主要由以下因素引起:两舵机转轴在空间中不垂直(舵机配置问题);放置舵机的水平面(或三角架)不水平(或者有晃动);测光测距模块的装配时与舵机不在一条直线上;由于舵机控制精度的问题(控制度数小于一度时灵敏度不够),当目标距离比较远时,水平和竖直方向改变1°激光点移动距离较大,所测点是分立的,定位面积较小的目标点略有困难;测距选择的激光其传播受到空气介质的影响,且激光无法测量反射面所在平面,且打出的光斑有一定半径。
5 结论
本实验通过使用Arduino单片机控制舵机、激光测距模块的运转,并利用三角关系消除实验装置组装因素限制造成的影响,即旋转轴在空间上不重合、激光器与坐标原点不重合。通过测量待测目标位于球坐标系内的空间坐标,然后经数学运算将其转换为直角坐标系内的空间坐标。该装置可以简便地实现对目标的空间定位,具有体积小、运行速度快、精度较高的特点。通过将装置置于三脚架上,可使其适应不平整地形,实现全地形测量。在创新方面,该装置利用激光可实现非接触式测量以规避危险环境;易于使用,便于推广;装置较小,便于携带;操作简单,易于上手;适用范围广,可适应复杂地形。
参考文献:
[1]刘晓晓.教学演示3D打印机的研制[J].智库时代,2019(42):164-174.
[2]刘邈,杨学友,刘常杰.正交混頻相位式激光测距方法与系统实现[J].中国激光,2012,039(002):153-158.
[3]李小萍.差频相位法光速测量系统误差及精度分析[J].淮海工学院学报(自然科学版),2011,20(003):19-22.
[4]屈八一,周渭,李珊珊,等.高精度的测距系统中的测相技术研究[J].电路与系统学报,2012,17(004):31-35.
[5]肖彬.激光测距方法探讨[J].地理空间信息,2010,08(04):162-164.
[6]肖前进,贾宏光,章家保,等.电动舵机伺服系统非线性辨识及补偿[J].光学精密工程,2013,21(08):2038-2047.
[7]周英路,王志亮,朱松青,等.基于PCA9685的多路舵机控制器设计[J].南京工程学院学报(自然科学版),2017,15(004):26-31.
[8]刘少军,王瑜瑜.基于Android手机蓝牙控制的智能小车设计与实现[J].电子测量技术,2016,39(9):114-117.
[9]余文卿.水平仪零位的调整[J].计量技术,1986(05):37-38.
[10]吴春林.水平仪垫板及水平仪的改进[J].航空工艺技术,1978(11):35-36.