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