趙新月 李志鵬 侯誠超 曹建濤 杜澤坤
(石家莊鐵道大學,河北 石家莊 050043)
隨著電子產(chǎn)品的飛速發(fā)展,手機的智能化速度亦是超乎了我們的想象,從先前極少數(shù)人擁有一部手機,到現(xiàn)在智能手機在不同人群中隨處可見,僅經(jīng)歷了短短幾年。說起智能手機之所以如此受歡迎,這與手機的智能化給人們帶來的便利是密不可分的,當然與智能手機的賣價能夠讓買家接受也有很大關(guān)系。對于我們測繪生而言,很多時候,當我們想知道某建筑物體的尺寸,如長、寬、高等值時,還要帶著重重的儀器去測量,不僅浪費了人力,還浪費了時間。對于其他人來說,也難免會遇到類似的情況,想要知道距離卻難耐現(xiàn)實的阻礙。由此,將智能手機與測距相結(jié)合,通過隨身攜帶的手機即可解決測量問題,不僅減少了工作量,更是十分便捷了測量操作。
在開發(fā)前,首先要明白手機中的坐標系(如圖1所示)和慣性坐標系(如圖2所示)是不同的,手機中,x軸是朝向右的,y軸是豎直向上的,z軸是垂直于手機屏幕正面指向外的,也就是說手機的背面是z的負半軸。具體區(qū)別如下。
手機測距要通過手機中的傳感器,相信很多人對傳感器一詞還是很陌生的,也不禁會發(fā)出疑問,小小的手機還裝著傳感器嗎,我怎么沒有體會到。首先,傳感器是一種檢測裝置,它的體積很小,一部小小的手機中就存在好多傳感器;數(shù)字化,智能化的程度高,功能種類也非常豐富,比如溫度傳感器,加速度傳感器,磁傳感器等等,這些傳感器就像人的感覺器官一樣,能夠感知外界環(huán)境的變化,并作出相應(yīng)的反應(yīng)。相信很多手機用戶都發(fā)現(xiàn)一個現(xiàn)象,當我們撥打或接聽電話時,將手機靠近臉部,耳旁進行說話時,我們的手機屏幕會變黑,而當我們通話結(jié)束,將手機遠離時,屏幕又會自動的亮起來,這就是手機中的光敏傳感器在搞怪,這樣就可以大大節(jié)省電量,延長手機待機時間。接下來,讓我們了解一下可用于測量的傳感器。
陀螺儀傳感器,也叫角加速度傳感器,通過調(diào)用這個傳感器,我們可以測量手機轉(zhuǎn)動,或者偏轉(zhuǎn)時的轉(zhuǎn)動角速度,但還要將手機坐標系下測得的數(shù)值轉(zhuǎn)換成慣性坐標系的數(shù)值。當角速度、旋轉(zhuǎn)軸已知,用四元數(shù)算法構(gòu)造旋轉(zhuǎn)矩陣,隨后通過轉(zhuǎn)換,求得慣性系下的各軸加速度,相應(yīng)的角度值也就解決了。
高度測量原理圖見圖3。
具體算法:
在三角形ABE中,依據(jù)正弦定理得:
(1)
e=c-a
(2)
由式(1),式(2)解得:
(3)
在三角形AEF中,依據(jù)正弦定理得:
(4)
將式(3)代入式(4)解得:
BC=BE·cos(c-90°) (即可得到測量者距測量物的距離)。
水平距離測量原理圖見圖4。
具體算法:
在三角形ABE中,依據(jù)正弦定理得:
(5)
e=c-a
(6)
由式(5),式(6)解得:
(7)
在三角形AEF中,依據(jù)正弦定理得:
(8)
將式(7)代入式(8)解得:
BC=BE·cos(c-90°) (即可得到測量者距測量物的距離)。
安卓手機調(diào)用陀螺儀測角度相應(yīng)代碼見圖5。
手機陀螺儀傳感器具有的功能十分強大,不單單是測量,除此之外,手機的定位也與此傳感器有關(guān),因此,加強對此傳感器的理解與應(yīng)用會有很多益處,未來基于傳感器的APP開發(fā)將會有很多。希望讀者看了這篇文章能夠?qū)Υ藗鞲衅髟跍y量上的應(yīng)用有更深一步的了解;此數(shù)學算法依據(jù)正余弦定理,相對來說簡單易懂,希望給那些想要研發(fā)測量APP的朋友提供最直接的實現(xiàn)原理;文章所附的代碼需要有需求的人親自測試,僅提供一個參考的作用;最后希望這篇文章能幫助到需要這方面知識的人。