?

基于坐標轉換的空間定位系統

2020-11-09 03:14余紫娟白志晨王佳慧蘇波
科技創新與應用 2020年32期

余紫娟 白志晨 王佳慧 蘇波

摘 ?要:基于目標點在球坐標系中的三個數據,即目標點到坐標原點連線的直線距離及其與另兩條設定坐標軸的兩個夾角,可以得到目標在空間中的位置信息。文章通過使用相位式激光測距模塊獲取目標點到坐標原點的距離,使用舵機云臺控制激光在水平和豎直兩個方向旋轉,并將旋轉角度值作為基礎數據返回,從而得到物體的位置信息。

關鍵詞:空間定位;相位式激光測距;舵機控制

中圖分類號: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.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合