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