高 遠(yuǎn)
(河南大學(xué)歐亞國際學(xué)院,河南 開封 475000)
根據(jù)中國機(jī)器人及人工智能大賽“全地形小車設(shè)計(jì)制作”賽項(xiàng)之規(guī)定,本全地形機(jī)器人需要自主完成窄橋,臺(tái)階及隧道三種越障任務(wù)以及氣球爆破。
按照行走方式分類,本小車屬于輪式結(jié)構(gòu);按照越障方式分類,本小車屬于被動(dòng)適應(yīng)式底盤,車身整體上可被分為兩段。相較于剛性底盤,其能夠更好地適應(yīng)地形,在窄橋及階梯障礙中均有良好的越障表現(xiàn);相較于主動(dòng)適應(yīng)底盤,其對(duì)懸掛機(jī)構(gòu)要求較低,不需要外加更多的探測(cè)模塊,在低速越障過程中的表現(xiàn)更為穩(wěn)定。
車輪設(shè)計(jì)上,前兩輪與后兩輪采用履帶覆蓋來增加摩擦力與輪徑,與中間兩輪形成輪徑差。其中前四輪與一可活動(dòng)的半六邊形結(jié)構(gòu)相連構(gòu)成懸掛機(jī)構(gòu),可在越障時(shí)抬起車頭與后兩輪形成一定夾角達(dá)到被動(dòng)適應(yīng)地形的效果。
圖1 懸掛機(jī)構(gòu)示意圖
圖2 項(xiàng)目組設(shè)計(jì)的全地形車底盤3D建模
經(jīng)計(jì)算,當(dāng)懸掛機(jī)構(gòu)抬起與地面形成角度 時(shí)整個(gè)機(jī)構(gòu)的重力全部施加到前輪輪心處,此時(shí)機(jī)構(gòu)可能會(huì)整體倒向后輪。然而在整個(gè)越障過程中,不會(huì)出現(xiàn)重心失衡的情況。本設(shè)計(jì)在保有輪式結(jié)構(gòu)速度快,效率高的同時(shí)也能兼具履帶越障能力強(qiáng),穩(wěn)定性高的優(yōu)越性。
應(yīng)組委會(huì)要求,控制系統(tǒng)的硬件部分全部選用“探索者”套件中的電子產(chǎn)品??刂葡到y(tǒng)各模塊引腳布局及整體接線策略如下:
圖3 控制系統(tǒng)各模塊引腳布局與接線策略
3.2.1 核心控制模塊
核心控制板部分選用了Basra控制板+Bigfish拓展板的組合。雖然Arduino2560控制板雖然又更多的I/O口可供使用,而Basra+Bigfish的組合相較Arduino2560控制板,整合了3A6V穩(wěn)壓模塊,專屬舵機(jī)接口,F(xiàn)AN8100MTC直流電機(jī)驅(qū)動(dòng)芯片、可直接驅(qū)動(dòng)舵機(jī)、直流電機(jī)、無需外圍電路。同時(shí),前者板載的USB驅(qū)動(dòng)芯片及自動(dòng)復(fù)位電路,燒錄程序時(shí)無需手動(dòng)復(fù)位,在后期的需要大量調(diào)參的情形下更有利于調(diào)試參數(shù)。
綜上,Basra控制板+Bigfish拓展板的組合更適合全地形移動(dòng)機(jī)器人的制作設(shè)計(jì)。
3.2.2 循跡模塊
循跡模塊選用廠家提供的灰度傳感器作為全地形車的循跡模塊。工作電壓4.7V-5.5V,工作電流1.2mA。
此灰度傳感器在由一組安裝在同一平面的發(fā)光二極管和光敏二極管組成。在全地形移動(dòng)機(jī)器人行進(jìn)過程中,發(fā)光二極管發(fā)出白光照射在檢測(cè)面上,檢測(cè)面反射的光由光敏二極管被取樣后將返回一模擬量作為當(dāng)前檢測(cè)面的灰度值,通過與程序設(shè)定的灰度值進(jìn)行比較從而判定小車所處的運(yùn)行狀態(tài)安裝上采取“前二后二”的安裝策略,即車頭車尾各部署一對(duì)灰度傳感器。其中車頭安裝的兩個(gè)灰度傳感器間隔5cm,經(jīng)測(cè)量恰好可以卡住場(chǎng)地上的黑線,能夠令機(jī)器人完成循跡;車尾安裝的兩個(gè)灰度傳感器間隔8cm, 如果在行進(jìn)過程中出現(xiàn)偏移黑線的情形,后面的一對(duì)傳感器可以監(jiān)測(cè)它的偏移程度并及時(shí)糾正機(jī)器人的行進(jìn)路徑。
由于本次賽事的器材限制,我們選用PID開環(huán)算法作為電控算法。由于缺少反饋輸入,其輸出常常受到系統(tǒng)元件工作狀態(tài)及校準(zhǔn)精度的影響,存在調(diào)參繁瑣,穩(wěn)定性差等問題。我們從分段化的思想出發(fā),給出了一種優(yōu)化方案。
根據(jù)整個(gè)比賽場(chǎng)地的障礙分布,將控制算法分為六個(gè)階段編寫。
圖4 比賽場(chǎng)地及分區(qū)
表1 任務(wù)分區(qū)表
3.3.1 窄橋越障
本文注重論述移動(dòng)機(jī)器人的全地形越障能力,因此只給出前三個(gè)任務(wù)的程序設(shè)計(jì)方案。
窄橋越障需要保證三點(diǎn):一是機(jī)器人越障時(shí)兩側(cè)輪子轉(zhuǎn)速相近,保證其不偏斜嚴(yán)重;二是機(jī)器人越障前處于相對(duì)較平直狀態(tài);三是機(jī)器人動(dòng)力足夠,保證電壓夠大。
圖5 窄橋越障邏輯框圖
3.3.2 隧道越障
管道越障算法設(shè)計(jì)采用兩段循環(huán),分別為直線循跡和管道循跡。
上述代碼段出現(xiàn)的三個(gè)函數(shù):
(1)NCar_Track():直線循跡函數(shù),通過設(shè)置迭代次數(shù)控制機(jī)器人直行距離,從而保證其順利進(jìn)入管道;
(2)Snake_Track():管道中循跡函數(shù),二者區(qū)別是參數(shù)不同,循跡情況判斷不同。
圖6 階梯越障邏輯框圖
(3)Position_Adjust:位置糾正函數(shù),保證黑線位于機(jī)器人前兩傳感器中間。
3.3.3 階梯越障
階梯越障需要保證兩側(cè)輪子速度大致相同且需要控制速度區(qū)間,速度過大可能會(huì)導(dǎo)致卡在階梯上,速度過小可能會(huì)導(dǎo)致爬不上階梯。
受限于PID開環(huán)算法的局限性,控制程序的編寫需要經(jīng)過大量調(diào)試來確定參數(shù)取值。而我們基于分段化的思想,對(duì)每一段動(dòng)作編寫對(duì)應(yīng)的函數(shù),可以實(shí)現(xiàn)對(duì)機(jī)器人動(dòng)作的精確控制,一定程度上優(yōu)化了開環(huán)算法的局限性。
這樣的控制方案低速,路徑固定且執(zhí)行任務(wù)精度要求較高的場(chǎng)合特別實(shí)用。