楊 洋,羅亞輝,康 江,竇新江
(1.湖南農(nóng)業(yè)大學(xué)工學(xué)院,湖南長沙410128;2.湖南農(nóng)業(yè)大學(xué)東方科技學(xué)院,湖南長沙410128)
自工業(yè)革命以來機(jī)械被廣泛運(yùn)用到各個(gè)領(lǐng)域。隨著人類社會(huì)生產(chǎn)的發(fā)展,人們?cè)絹碓叫枰咧悄堋⒏呔鹊臋C(jī)器完成各類繁重的、高精度、高風(fēng)險(xiǎn)的作業(yè),于是,完成某些特定任務(wù)的機(jī)器——機(jī)器人逐步發(fā)展起來。移動(dòng)式機(jī)器人需完成某些任務(wù),其關(guān)鍵在于定位,即機(jī)器人必須知道自己現(xiàn)在的位置和將要“行走”的方位。根據(jù)機(jī)器人運(yùn)用的環(huán)境不同,定位精度也大不相同,現(xiàn)有的定位技術(shù)大致可分為航跡推算、信號(hào)燈定位、基于地圖的定位、路標(biāo)定位以及視覺定位等幾大類[1,2]。
本文闡述的是一種運(yùn)用多種傳感器的航跡推算定位技術(shù)。該種定位方式適用于已知航線的行走,能夠準(zhǔn)確的從出發(fā)地快速行進(jìn)到目的地,具有良好的嵌套性,可以成為某些大型定位系統(tǒng)的基本單元,同時(shí)具有抗干擾能力強(qiáng)、維護(hù)方便的特點(diǎn)。
系統(tǒng)采用航跡推算原理對(duì)移動(dòng)式機(jī)器人進(jìn)行定位,航跡推算即利用外部傳感器的數(shù)據(jù)實(shí)現(xiàn)機(jī)器人實(shí)時(shí)位置和運(yùn)動(dòng)方向的估計(jì),短期定位精度高[3]。航跡推算技術(shù)的關(guān)鍵是需測(cè)量出機(jī)器人單位時(shí)間運(yùn)動(dòng)的距離以及這段時(shí)間內(nèi)機(jī)器人航向的變化。在本設(shè)計(jì)中,主要采用編碼盤和陀螺儀進(jìn)行航跡推算來實(shí)現(xiàn)定位,系統(tǒng)采用模塊化設(shè)計(jì),由驅(qū)動(dòng)模塊、傳感器和反饋模塊以及控制模塊等組成,原理框圖如圖1所示。
為提高抗干擾能力,系統(tǒng)各模塊之間相互獨(dú)立使用ISP串行通訊進(jìn)行數(shù)據(jù)通信,每個(gè)模塊都與控制系統(tǒng)構(gòu)成一個(gè)閉環(huán)單元,控制系統(tǒng)通過算法整合,從而降低了各個(gè)單元之間的干擾和誤差的累積??刂葡到y(tǒng)發(fā)出路線的整體行走方案,再由各個(gè)閉環(huán)單元檢測(cè)是否按原定計(jì)劃實(shí)施,當(dāng)出現(xiàn)錯(cuò)誤和誤差時(shí),系統(tǒng)通過采集的數(shù)據(jù)即刻做出實(shí)時(shí)調(diào)整,實(shí)現(xiàn)快速、準(zhǔn)確定位。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
系統(tǒng)的數(shù)學(xué)模型可以看成是一個(gè)平面坐標(biāo)定位,在平面內(nèi)任何一個(gè)點(diǎn)的速度可以表示為線速度V和角速度Va,其坐標(biāo)為(x,y)。當(dāng)一個(gè)物體在平面內(nèi)從一點(diǎn)移動(dòng)到另一點(diǎn)時(shí),只要畫出運(yùn)動(dòng)軌跡,就可以計(jì)算出在該軌跡上任一點(diǎn)的速度和坐標(biāo),以進(jìn)行定位。假設(shè)某一運(yùn)動(dòng)軌跡方程已知,則需要按其軌跡進(jìn)行運(yùn)動(dòng)定位[4],其數(shù)學(xué)模型如圖2所示。
圖2 數(shù)學(xué)模型圖
式中,Vx(t)和Vy(t)分別表示x軸和y軸在時(shí)間t時(shí)的速度,S表示t到t+1時(shí)刻的行走路徑,φ(t)表示t時(shí)刻x軸速度與速度的夾角。
伺服器是一種電機(jī)驅(qū)動(dòng)器,與普通電機(jī)驅(qū)動(dòng)器不同,該驅(qū)動(dòng)器可以與電機(jī)連接形成閉環(huán)控制單元。伺服器通過實(shí)時(shí)檢測(cè)安裝在電機(jī)上的高分辨率光電編碼器的信號(hào)計(jì)算出電機(jī)轉(zhuǎn)速和轉(zhuǎn)角,通過與目標(biāo)轉(zhuǎn)速和轉(zhuǎn)角進(jìn)行比較來實(shí)時(shí)調(diào)整電機(jī)運(yùn)動(dòng)狀態(tài)[5]。
如圖3所示為伺服器系統(tǒng)硬件電路的信號(hào)處理單元。該電路包括了信號(hào)整合和信號(hào)運(yùn)算,其中DS26LS32CM實(shí)現(xiàn)編碼盤信號(hào)的整合,即把4路PWM信號(hào)整合成2路PWM信號(hào)。由于編碼盤信號(hào)是由A、B兩路相位差為90°的PWM組成,通過對(duì)DS26LS32CM邏輯使能口的電平控制,可實(shí)現(xiàn)輸出端在A、B信號(hào)超前或滯后90°時(shí)輸出高電平或低電平,以此判斷出電機(jī)正反轉(zhuǎn)狀態(tài)。LM629為PID信號(hào)算法芯片,通過對(duì)編碼盤信號(hào)運(yùn)算和DS26LS32CM輸出信號(hào)狀態(tài)分析,芯片可發(fā)出信號(hào)使電機(jī)一直保持在編碼盤的某一個(gè)柵格處,讓電機(jī)急停鎖死或準(zhǔn)確運(yùn)動(dòng)所需要的柵格數(shù),實(shí)現(xiàn)對(duì)機(jī)器人移動(dòng)的準(zhǔn)確控制。HCP—2602為高速光耦芯片,其目的是減少控制端與電機(jī)之間的信號(hào)干擾。
圖3 伺服器硬件電路原理圖
光電編碼器是一種通過光電轉(zhuǎn)換將輸出軸上的機(jī)械幾何位移量轉(zhuǎn)換成脈沖或數(shù)字量的傳感器,由光柵盤和光電檢測(cè)裝置組成。光柵盤是在一定直徑的圓板上等分的開通若干個(gè)長方形孔,開孔的數(shù)量決定了控制的精度。機(jī)器人運(yùn)動(dòng)時(shí),光柵盤隨電機(jī)旋轉(zhuǎn),經(jīng)發(fā)光二極管等電子元件組成的檢測(cè)裝置檢測(cè)并輸出若干脈沖信號(hào),通過采集脈沖個(gè)數(shù)后運(yùn)算即可得出機(jī)器人運(yùn)動(dòng)路徑長度。
如圖4所示為光電編碼器的外圍采樣電路,主要是通過一個(gè)與門和一個(gè)D觸發(fā)器來實(shí)現(xiàn)對(duì)脈沖信號(hào)的采集。一般的光電編碼器是由A、B、Z三路信號(hào)組成,A和B是兩個(gè)前后相位差為90°的脈沖信號(hào),根據(jù)光柵盤的旋轉(zhuǎn)方向,相位差的超前與滯后各不同,因此利用與門將A、B信號(hào)整合成一個(gè)脈沖信號(hào)再利用D觸發(fā)器判斷A、B兩者相位差關(guān)系。當(dāng)光柵盤正轉(zhuǎn)時(shí),A超前B 90°,D2發(fā)光,同時(shí)在DirB處檢測(cè)到高電平。當(dāng)光柵盤反轉(zhuǎn)時(shí),A滯后B90°,D1發(fā)光,且在DirA處檢測(cè)到低電平,再通過單片機(jī)的處理就能準(zhǔn)確判斷光柵盤所轉(zhuǎn)過的柵格數(shù),從而計(jì)算出機(jī)器人運(yùn)動(dòng)路徑的長度。
圖4 光電編碼器硬件原理圖
式中,P1表示正轉(zhuǎn)PWM脈沖個(gè)數(shù),P2表示反轉(zhuǎn)PWM脈沖個(gè)數(shù),n表示編碼盤柵格數(shù),r表示機(jī)器人動(dòng)力輪半徑。
設(shè)計(jì)中采用三軸陀螺儀對(duì)加速度進(jìn)行測(cè)量,積分后即可得到所需的角度偏移量,如圖5所示為陀螺儀硬件原理圖。其工作原理為中央處理單元發(fā)送通信數(shù)據(jù)給陀螺儀使之工作,陀螺儀在機(jī)器人發(fā)生角度偏移時(shí)測(cè)量實(shí)際偏移量和理論偏移量的差值,將該值傳送給中央處理單元,由中央處理單元計(jì)算出補(bǔ)償值后發(fā)指令給伺服器,使電機(jī)進(jìn)行誤差補(bǔ)償[6]。
圖5 陀螺儀硬件原理圖
圖5中L3G4200D是一個(gè)三軸陀螺儀,可以對(duì)x、y、z三個(gè)方向的角度進(jìn)行檢測(cè),檢測(cè)后的數(shù)據(jù)通過ISP通信傳送將端口SCL、SDA角度信號(hào)傳輸給中央處理單元。MMA8451Q是一個(gè)速度計(jì),可以實(shí)時(shí)檢測(cè)機(jī)器人的運(yùn)行速度,并用相同方式將運(yùn)行速度信號(hào)傳輸給中央處理單元。之所以在此安裝速度計(jì),是為了降低中央處理單元中CPU的計(jì)算量,讓CPU有更多的空間去處理速度與路徑的關(guān)系。TPS62112是低噪音的同步降壓DC—DC轉(zhuǎn)換器,其內(nèi)部集成了N型和P型MOSFET,可進(jìn)行同步整流,為陀螺儀芯片提供良好的電源環(huán)境。
系統(tǒng)使用MEGA128單片機(jī)作為主控芯片,該單片機(jī)具有2個(gè)8位定時(shí)器和2個(gè)16位定時(shí)器以及10路可編程PWM,擁有8個(gè)10位ADC通道,因此能夠?qū)崿F(xiàn)對(duì)多傳感器的信號(hào)采集處理[6]。
如圖6所示為中央處理單元硬件電路原理圖,包括了24 V轉(zhuǎn)5 V的直流穩(wěn)壓電源、晶振電路以及外圍拓展口電路。在電源部分使用LM117穩(wěn)壓管,能夠很好地控制電源紋波,使單片機(jī)穩(wěn)定工作。在外圍拓展口部分使用并行總線結(jié)構(gòu),能夠很方便進(jìn)行使用和開發(fā)。
如表1所示為中央處理單元中單片機(jī)使用的主要端口功能,包括通信與控制信號(hào)的發(fā)出以及對(duì)編碼盤的計(jì)數(shù)。
表1 單片機(jī)端口使用說明
為驗(yàn)證系統(tǒng)的可行性與穩(wěn)定性,使用了一個(gè)四輪全向輪結(jié)構(gòu)小車進(jìn)行測(cè)試,測(cè)試方案如下:在2 m×2 m的平面場(chǎng)地中設(shè)定A、B兩點(diǎn),小車在兩點(diǎn)間分別多次作直線運(yùn)動(dòng)與弧線運(yùn)動(dòng),每次均將實(shí)際運(yùn)行軌跡與理論軌跡進(jìn)行比較,并分析定位誤差。
(1)直線運(yùn)行小車直線運(yùn)行10次,每次運(yùn)行出發(fā)地點(diǎn)A均相同,檢測(cè)實(shí)際運(yùn)行軌跡與理論軌跡誤差在5 mm以內(nèi),且小車可以快速定位到C點(diǎn),而C點(diǎn)在B點(diǎn)誤差圓內(nèi)。
(2)弧線運(yùn)行小車弧線運(yùn)行10次,每次運(yùn)行出發(fā)地點(diǎn)A均相同,檢測(cè)實(shí)際運(yùn)行軌跡與理論軌跡最大誤差為1 cm,且小車可以快速定位到C點(diǎn),而C點(diǎn)在B點(diǎn)誤差圓內(nèi)。
試驗(yàn)證明,系統(tǒng)可以完成對(duì)任意預(yù)設(shè)路徑的快速定位,基本保證到達(dá)目的地,其誤差在允許范圍之內(nèi),且系統(tǒng)充分對(duì)CPU資源進(jìn)行了合理運(yùn)用,在外圍硬件電路設(shè)計(jì)時(shí)考慮了最大程度減小外界對(duì)系統(tǒng)的干擾,穩(wěn)定性較強(qiáng),達(dá)到了預(yù)期設(shè)計(jì)目標(biāo)。
圖6 中央處理單元硬件原理圖
[1]陶敏,陳新,孫振平.移動(dòng)機(jī)器人定位技術(shù)[J].火力與指揮控制,2010,35(7):169 -172.
[2]羅亞輝,蔣蘋,胡文武.基于多傳感器融合的水田耕作機(jī)械定位系統(tǒng)[J].農(nóng)機(jī)化研究,2010,32(4):151-154,185.
[3]秦連升,曹詩詠,李明海.智能車距離控制系統(tǒng)設(shè)計(jì)[J].儀器儀表用戶,2011,18(5):20 -22.
[4]李潔,龍也.基于雙編碼盤定位的移動(dòng)式機(jī)器人高精度坐標(biāo)矯正方法[J].電子科學(xué),2010,15(4):53 -55.
[5]余曉填,楊曦,陳安.基于移動(dòng)機(jī)器人直流電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì)與應(yīng)用[J].微電機(jī),2011,44(11):37 -38.
[6]劉健,李萍.基于MEGA128的運(yùn)動(dòng)器設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2009(2):458-459.