邱燕,林海波,董樹亮,儀垂杰
(青島理工大學 計算機工程學院,青島 266033)
邱燕(碩士研究生),主要研究方向為小麥精播機器人。
相對定位又包括慣性定位和測距定位,是通過測量機器人相對于初始位置的距離和方向來確定機器人的當前位置,通常也稱作航跡推算法(dead reckoning)。常用的傳感器包括光電編碼器、里程計及慣導系統(tǒng)(速度舵螺、加速度計等)[2]。相對定位的優(yōu)點是機器人的位姿是自我推算出來的,不需要對外界環(huán)境的感知信息;缺點是漂移誤差會隨時間積累,不適于精確定位[3]。
絕對定位主要有導航信標定位、主動或被動標識定位、地圖匹配定位和GPS衛(wèi)星導航定位。絕對定位的優(yōu)點在于定位誤差是有界的,定位精度較高。這幾種方法中,信標或標示牌的建設和維護成本較高;地圖匹配技術處理速度慢,或者是不精確;GPS只能用于室外[4]。
考慮到小麥精播機器人的作業(yè)環(huán)境是在一定區(qū)域的農田中,要求具有較高的定位精度,而且是在室外工作,所以采用差分GPS衛(wèi)星導航定位。它的定位原理如下:采用兩臺GPS接收機,一臺是基準站,另一臺是移動站。已知一個點的坐標,并且在已知坐標的固定點上架設一臺GPS接收機(稱基準站),通過GPS的定位數(shù)據(jù)和已知坐標點的數(shù)據(jù)解算出差分數(shù)據(jù)(RTCM),再通過數(shù)據(jù)鏈將誤差修正參數(shù)實時播送出去?;鶞收就ㄟ^數(shù)據(jù)鏈接收修正參數(shù)并傳給移動端,移動端修正參數(shù)后和自己的定位數(shù)據(jù)進行修正計算,即可將定位精度提高到cm級。
基于差分GPS小麥精播機器人定位系統(tǒng)的主要設計思想是:首先設定好機器人的理想行走路徑并顯示出此路徑;然后由GPS測得移動機器人的經緯度信息并且在地圖中顯示,調用路徑規(guī)劃算法使機器人沿理想路徑行走??傮w程序流程如圖1所示。
圖1 小麥精播機器人定位系統(tǒng)總體程序流程
GPS全球定位系統(tǒng)是由24顆衛(wèi)星均勻分布在6個軌道平面內來保證任何時間、任何地點都能定位,其定位誤差與時間無關。因此,GPS衛(wèi)星定位技術為移動機器人實現(xiàn)自主性提供了強有力的保障[5]。
為了利用GPS的數(shù)據(jù)來測量小麥精播機器人的位姿,首先就是要實現(xiàn)GPS接收機與小麥精播機器人上位機的順利通信,然后再提取機器人的位姿信息。GPS接收機與小麥精播機器人上位機的通信采用串行方式。因為GPS接收機接到的是TTL電平,而上位機接口為RS-232電平,所以要進行電平轉換[6]。
GPS數(shù)據(jù)的接收和提取程序是在NI公司的圖形化編程語言Labview環(huán)境中設計完成的。利用Labview中VISA串口配置函數(shù)和VISA串口讀取函數(shù)使GPS與上位機通信,讀取GPS數(shù)據(jù)信息。
GPS接收到的數(shù)據(jù)信息有多種,例如GGA、GSA、GSV、GST、ZDA等。這些信息的作用分別是:$GPGGA輸出GPS的定位信息;$GPGSA輸出當前衛(wèi)星信息;$GPGSV輸出可見衛(wèi)星信息;$GPGST輸出定位標準差信息;$GPZDA輸出UTC時間信息。本定位系統(tǒng)主要利用定位語句$GPGGA中的部分數(shù)據(jù)信息(即小麥精播機器人所在位置的經度、緯度和是否有效信息),通過Labview中字符串截取函數(shù)來提取這3種信息。
GPS數(shù)據(jù)接收和提取的程序流程如圖2所示。最終運行結果如圖3所示。
從南通已經內化的風俗習慣意識理念,可以總結這里的人克己寬人,灑脫飄逸,無論順境逆境都能坦然面對的心態(tài),借助于特定形式加以弘揚。
由于GPS接收機采集到的定位數(shù)據(jù)是WGS84坐標系統(tǒng)下的經緯度數(shù)據(jù),在實際的應用中需要的大多是國家坐標系或是獨立坐標系,因此需要把它轉換成某一平面坐標系中的坐標,以便能夠在地圖中顯示定位結果和小麥精播機器人的規(guī)劃路徑[7]。我國地圖的坐標系統(tǒng)主要有1980西安坐標系和1954北京坐標系兩種,兩者坐標系都是屬于投影坐標系,即把球面坐標轉換成平面坐標后的坐標系。其中,1980西安坐標系采用的是1975國際橢球體,1954北京坐標系采用的是克拉索夫斯基橢球。
結合地理位置因素,為了使小麥精播機器人的定位更加精確,這里把大地坐標系轉換成1954北京坐標系。轉換步驟分為兩步:首先將 WGS84大地坐標(B,L)轉換為對應于WGS84橢球的高斯平面坐標(X,Y);然后再經過平面轉換將高斯平面坐標轉換為1954北京坐標(x,y)。
1.2.1 高斯投影
將大地坐標(B,L)轉換為高斯平面坐標(X,Y)的公式稱為正算公式,反之稱為反算公式,這里為了編程方便只采用正算公式。將經緯度轉換成平面X、Y坐標,即(B,L)→ (X,Y),具體轉換公式略——編者注。
1.2.2 平面轉換公式
平面坐標轉換的目的就是將高斯平面坐標(X,Y)轉換為當?shù)貒易鴺讼祷颡毩⒆鴺讼迪碌母咚蛊矫孀鴺耍▁,y)。在通常情況下,常用的平面坐標系間的轉換有:相似變換、仿射變換、雙線性變換以及二次或高次多項式變換等。相似變換完全是兩平面坐標體系間的轉換,未考慮系統(tǒng)誤差,它需要4個參數(shù),即2個已知點在2個平面坐標系下的相應坐標;仿射變換需要6個參數(shù),在相似變換的基礎上考慮了縱橫坐標尺度因子的差異,它需要3個已知點在2個平面坐標系下的相應坐標;二次或高次多項式變換建立映射關系可以削弱兩坐標系統(tǒng)之間的平移、縮放、旋轉和地球橢球參數(shù)不同引起的誤差,以滿足更高精度的要求。若采用二次或高次多項式變換,可削弱兩坐標系統(tǒng)之間的旋轉、平移和地球橢球參數(shù)不同引起的誤差,使得轉換后的坐標精度更高[8]。這里采用二次多項式變換,將高斯平面坐標系下的(X,Y)坐標轉換為1954北京坐標系下的(x,y)坐標,具體公式略——編者注。
圖2 GPS數(shù)據(jù)接收和提取程序流程
圖3 數(shù)據(jù)接收和提取運行結果
本課題中要求機器人從給定的初始狀態(tài)出發(fā),跟隨一條理想的幾何路徑進行播種,機器人的初始點可以在這條路徑上,也可以不在路徑上。在Labview中picture控件是最基本的圖像顯示控件,通過對像素的處理可以靈活地顯示任何復雜的圖形,所以選用picture控件來實現(xiàn)道路規(guī)劃和實際行走軌跡的繪制。
1.3.1 路徑規(guī)劃
用plot XY.vi函數(shù)來進行道路的規(guī)劃,用一維數(shù)組來存儲路徑關鍵點的坐標(命名為數(shù)據(jù)),該一維數(shù)組中的每個元素是由X和Y像素坐標組成的簇。路徑規(guī)劃程序運行結果如圖4所示。
圖4 路徑規(guī)劃程序運行結果
1.3.2 軌跡跟蹤
軌跡跟蹤對于調整機器人的行走路徑,使之沿著理想路徑行走具有重要的意義[9]。Labview的波形顯示控件能夠很好地顯示各種波形和圖形,但是不夠靈活,這里同樣選用picture控件來實現(xiàn)觀測衛(wèi)星運行軌跡圖的繪制。用String Subset控件分解提取信息的同時,把每次獲取的有效的衛(wèi)星信息轉換為平面坐標下的坐標,并按順序保存在一個數(shù)組里。與路徑規(guī)劃一樣,也是使用plot XY.vi函數(shù)來顯示機器人的軌跡圖。軌跡跟蹤的程序框圖如圖5所示。
圖5 軌跡跟蹤程序框圖
采用差分GPS對小麥精播機器人定位,由移動站和基準站組成,通過在固定測站和流動測站上進行同步觀測,利用在基準站上所測得的衛(wèi)星定位誤差數(shù)據(jù)改正移動站上定位結果的衛(wèi)星定位。這種差分GPS的優(yōu)點是定位精度較高。實驗表明,小麥精播機器人的實際行走路徑和規(guī)劃路徑是基本重合的,但是由于許多人為的因素使差分GPS移動站接收到的GPS數(shù)據(jù)存在一定的誤差,還需要進一步改正。
編者注:本文為期刊縮略版,全文見本刊網站www.mesnet.com.cn。
[1]郭戈,胡征峰,董江輝.移動機器人導航與定位技術[J].微計算機信息,2003,19(8):10-11,72.
[2]張毅,羅元,鄭太雄,等.移動機器人技術及其應用[M].北京:電子工業(yè)出版社,2007:140-165.
[3]Thrun S.Finding Landmarks for Mobile Robot Navigation[C]//Proc of IEEE Inter Conf Robotics and Auto,1998.
[4]王衛(wèi)華.移動機器人定位技術研究[D].武漢:華中科技大學,2005.
[5]賀鑫元,馬樹根,李斌,等.基于GPS的蛇形機器人導航方法[J].高技術通信,2004,14(9):67-70.
[6]孟祥荔.基于GPS定位的移動機器人導航系統(tǒng)的研究[D].天津:天津理工大學,2007.
[7]韋艷,陳華根.GPS定位顯示中的坐標轉換[J].海洋測繪,2010,30(3):16-19.
[8]羅德安,廖麗瓊.一種車載GPS系統(tǒng)坐標轉換公式及其應用[J].西南交通大學學報,2001,36(4):365-368.
[9]Lin Haibo,Li Qing,Xiu Yufeng.Research and Development on the Key Technology of Wheat Single Seed Robot[C]//World Automation Congress(WAC),2010:339-343.