(天津師范大學(xué) 軟件學(xué)院,天津 300000)
四輪智能機器人是一個集環(huán)境感知、行為控制與規(guī)劃于一體的綜合系統(tǒng),隨著計算機技術(shù)迅速發(fā)展,四輪智能機器人正朝著智能化方向發(fā)展[1]。四輪智能機器人具有智能感知作業(yè)能力和任務(wù)規(guī)劃能力,從硬件層次上分析,四輪智能機器人具有多個傳感器以及靈活精確驅(qū)動系統(tǒng)。四輪智能機器人是科學(xué)和技術(shù)發(fā)展演變必然結(jié)果,將機器人應(yīng)用到焊接、噴漆以及搬運工作之中,能夠成為工業(yè)領(lǐng)域重要的幫手[2]。將其應(yīng)用到醫(yī)療保健和外太空之中,使其成為人類防御極限中不可替代的重要作用。正因為如此,很多國家機器人技術(shù)快速發(fā)展,具有速度快、效率高、質(zhì)量穩(wěn)定的優(yōu)勢,因此被廣泛應(yīng)用于娛樂、醫(yī)療和軍事等領(lǐng)域之中。
以Mindstorms四輪智能機器人為研究內(nèi)容,利用攝像頭對四輪智能機器人實時控制系統(tǒng)進行設(shè)計,所設(shè)計的機器人包括視覺車道保持和緊急制動。利用手機攝像頭采集道路圖像,通過PC主機圖像處理程序處理車道線,進而保證四輪智能機器人能夠直接獲取車道線,控制偏差信號并發(fā)送給機器人,以此完成換道避障功能。針對當(dāng)前機器人運行狀態(tài),將無線網(wǎng)絡(luò)通信與機器人相互結(jié)合,提出了基于Mindstorms的四輪智能機器人實時控制系統(tǒng)設(shè)計,使控制端與操作端雙向移動。
四輪智能機器人在Mindstorms現(xiàn)有材料基礎(chǔ)上,充分利用不同材料屬性,設(shè)計出擁有前驅(qū)轉(zhuǎn)向和獨立懸架的系統(tǒng)結(jié)構(gòu),如圖1所示。

圖1 四輪智能機器人結(jié)構(gòu)
轉(zhuǎn)向系統(tǒng)負(fù)責(zé)控制轉(zhuǎn)向電機,以此證實轉(zhuǎn)向系統(tǒng)可靠性和可行性;驅(qū)動系統(tǒng)通過齒輪和萬向軸傳遞,將電機電力提供給驅(qū)動輪,通過不斷調(diào)整,使機器人齒輪轉(zhuǎn)動,為機器人穩(wěn)定運行提供保障。為了充分檢測出機器人正常行駛中前方道路信息,需將手機放置在機器人正前方,保證攝像頭視線良好[3]。
針對四輪智能機器人結(jié)構(gòu)搭建,主要是由主控模塊、傳感器模塊、無線通信模塊、運動模塊以及電源模塊組成的。其中主控模塊負(fù)責(zé)對四輪智能機器人大腦控制,及時處理傳感器所采集的全部數(shù)據(jù),并發(fā)送到遠(yuǎn)程平臺之中,通過接收遠(yuǎn)程端全部指令,促使運動控制模塊開始運動;傳感器模塊負(fù)責(zé)采集氣體、溫度、圖像數(shù)據(jù);無線通信模塊負(fù)責(zé)接收來自主控模塊所傳輸?shù)娜繑?shù)據(jù),并將傳輸結(jié)果發(fā)送給主控模塊之中;運動模塊是機器人運動執(zhí)行部分,負(fù)責(zé)接收主控模塊發(fā)送的各種指令,通過直流電機驅(qū)動實現(xiàn)機器人前進、后退與轉(zhuǎn)彎;電源模塊是機器人能量來源,負(fù)責(zé)提供運動控制模塊所需的各種能量[4]。
將運動單元、控制單元以及網(wǎng)絡(luò)通訊單元都集中在四輪智能機器人上,保證攝像頭能夠監(jiān)控多個動態(tài)場景,系統(tǒng)硬件設(shè)計如圖2所示。

圖2 系統(tǒng)硬件設(shè)計
該硬件是利用隨車攜帶的主機采集周圍環(huán)境圖像信息,并在運動過程中,保證機器人能夠隨時與周圍環(huán)境WiFi無線網(wǎng)絡(luò)連接;遠(yuǎn)程操作者是根據(jù)機器人反饋的信息操控機器人的,一旦發(fā)生緊急狀況,那么機器人就可直接通過無線網(wǎng)絡(luò)向集控中心報警。隨車攜帶電腦是系統(tǒng)重要核心設(shè)備,也是動力來源,利用智能手機進行雙向通信,并通過USB接口將控制指令發(fā)送給控制板。伺服電機接收到控制指令后,四輪智能機器人實現(xiàn)雙輪差動運動,進而保證硬件具有獨立性[5]。
運動控制模塊電機驅(qū)動選用TMC236芯片,如圖3所示。


圖3 運動控制模塊電機驅(qū)動芯片
TMC236驅(qū)動是一體機驅(qū)動,可以與主處理器、電機和編碼器形成一個運動控制結(jié)構(gòu),用來驅(qū)動電機感性負(fù)載。該芯片采用標(biāo)準(zhǔn)TTL邏輯電平信號,控制兩個端口,在不受到外界因素影響下,具備一個邏輯電源輸入端,保證內(nèi)部邏輯電路在低壓工作條件下,能夠?qū)⒆兓繉崟r反饋給控制電路之中[6]。
電機驅(qū)動芯片內(nèi)部集成了多個dmos管,能夠組成一個H型驅(qū)動橋。通過電路為橋臂上開關(guān)管提供控制電壓,保持其工作頻率為350 kHz左右。根據(jù)充電泵電路,使外接電容變大,電壓上升時間變短[7]。通過電阻輸出過流情況,保護電路設(shè)置的過電流閾值為15A,如果電流持續(xù)時間過長,那么過熱保護將關(guān)閉整個輸出裝置,一旦結(jié)溫達到150度時,引腳輸出全部信號。
圖像采集模塊是通過USB攝像頭進行圖像采集的,經(jīng)過USB接口實現(xiàn)圖像數(shù)據(jù)傳輸。該模塊包含單片機控制ISP-PLD器件的圖片采集處理系統(tǒng),通過PC主端與單片機串聯(lián),實現(xiàn)圖像數(shù)據(jù)的高效傳輸;該模塊用的組件包括圖像采集卡、處理卡、智能相機以及嵌入式板卡和設(shè)備,其中采集卡是系統(tǒng)重要組成部分,負(fù)責(zé)控制攝像機拍照,能夠?qū)崟r采集數(shù)據(jù),并為PC主機提供高速接口;處理卡為系統(tǒng)增加圖像分析與處理功能,在提高圖像信號實時處理能力基礎(chǔ)上,大大降低系統(tǒng)對圖像處理過程中對資源要求;智能相機是嵌入式系統(tǒng)集成化的設(shè)備,能夠提高系統(tǒng)集成度,通過刪減接口電路,能夠提高系統(tǒng)穩(wěn)定性;嵌入式板卡和設(shè)備為圖像采集提供基礎(chǔ)設(shè)備支持,保證采集結(jié)果能夠達到最佳化[8]。
無線通信模塊具有GPRS、短消息雙通道傳輸數(shù)據(jù)功能,支持遠(yuǎn)程參數(shù)設(shè)置與程序升級,相對而言,使用無線通信模塊建立專用無線數(shù)據(jù)傳輸方式。采用由Nordic公司生產(chǎn)的nRF2401收發(fā)芯片,內(nèi)部集成了大量模塊,數(shù)據(jù)傳輸速率相對較快,耗電較慢[9]。無線通信模塊可分為發(fā)送與接收兩個部分,都是通過主控模塊將數(shù)據(jù)代碼傳送到芯片之中,并由此代發(fā),除此之外,該芯片能夠接收數(shù)據(jù)代碼,反之也是如此。
設(shè)置轉(zhuǎn)向電機為中型電機,負(fù)責(zé)機器人橫向運動;設(shè)置驅(qū)動電機為兩個大型電機,負(fù)責(zé)機器人縱向運動。對于底層控制模塊應(yīng)與應(yīng)用層接口一致,共同為機器人提供運行方向與速率。其中機器人運行速度應(yīng)由驅(qū)動電機提供,并由車輪半徑推算出來,機器人前輪轉(zhuǎn)角控制都是采用PID控制器進行控制的,機器人前輪轉(zhuǎn)角控制器為電機期望轉(zhuǎn)角與實際轉(zhuǎn)角之間的差值,而輸出內(nèi)容為電機所占空比;機器人速度控制器輸入值為驅(qū)動電機期望與實際轉(zhuǎn)角差值,而輸出為電機占空比。
四輪智能機器人硬件電路設(shè)計主要包括驅(qū)動控制、運動控制以及夜視照明這三個電路模塊。
1)驅(qū)動控制:在嵌入式系統(tǒng)中,采用Arduino微處理器作為驅(qū)動電機核心控制器,以8位atm單片機作為核心處理器,具有大量傳感器,并與USB直接通信燒寫程序。四輪智能機器人運動機構(gòu)主要包括兩個驅(qū)動輪和一個攝像頭,充分考慮驅(qū)動輪承載扭矩,可利用TMC236驅(qū)動芯片對兩個驅(qū)動輪進行擴展。
驅(qū)動控制電路如圖4所示。

圖4 驅(qū)動控制電路
W1和W2分別是低端和高端電源,具有相同電壓;E1和E2為反置圖騰柱,能夠?qū)崿F(xiàn)隔離,并與Q3和Q4不會同時導(dǎo)通;R2和R3為電源提供電壓基準(zhǔn),通過改變基準(zhǔn)能夠使電路工作信號波形呈現(xiàn)遞增趨勢;R5和R6為反饋電阻,通過對電壓及時采樣能夠?qū)⒒鶚O所產(chǎn)生的負(fù)反饋形成一個有限數(shù)值,該數(shù)值能夠通過R5和R6調(diào)節(jié)。
2)運動控制:四輪智能機器人電力驅(qū)動保證機器人在不受到外接電源影響下,可長時間持續(xù)工作,該機器人以PC主機為智能控制平臺,不僅能夠享受到主機上所有資源,還能為機器人提供5V電壓。運動控制采用差動驅(qū)動,在機器人接到上層指令后,通過嵌入式系統(tǒng)控制能夠?qū)﹄姍C進行前后以及轉(zhuǎn)向角的控制。
3)夜視照明:照明系統(tǒng)能夠保障機器人在缺少外界光源照耀下,對周圍環(huán)境進行控制,并及時識別周圍目標(biāo)。采用電腦子帶的攝像頭采集視覺信息,利用Mindstorms控制電機轉(zhuǎn)向,以此改變攝像頭轉(zhuǎn)向角度。將USB供電的小燈泡安裝在平臺上,保證機器人能夠在黑暗中正常工作。
夜視照明線路如圖5所示。

圖5 夜視照明線路
兩個BG晶體管組成開關(guān)延遲線路,當(dāng)BG晶體管處于截止?fàn)顟B(tài),小電珠將不會發(fā)光。當(dāng)需要照明時,值需按一下俺就,就可通過AN迅速將電荷充滿。電容C1就會經(jīng)過電阻向BG1發(fā)射結(jié)放電,因此,兩個晶體管導(dǎo)通處于飽和狀態(tài),小電珠發(fā)光。待幾秒鐘后,電容C1電荷全部放完,兩個晶體管將恢復(fù)到截止?fàn)顟B(tài),小電珠不再發(fā)光。
利用Mindstorms作為四輪智能機器人平臺基本優(yōu)勢,能夠完成對該硬件驅(qū)動的初步設(shè)計。
為實現(xiàn)控制系統(tǒng)穩(wěn)定性,需要在主控芯片中嵌入操作系統(tǒng)軟件,選用嵌入式Linux系統(tǒng),具有一種源碼開放操作系統(tǒng),能夠被不同用戶使用,保證不同用戶對特有資源設(shè)定權(quán)限。四輪智能機器人傳感器主要由手機攝像頭和超聲波傳感器組成,監(jiān)測到的機器人與前方道路障礙物之間距離。
車道保持功能主要是基于機器視覺控制實現(xiàn)的:
1)圖像處理:將傳感器獲取的全部圖像由GGB轉(zhuǎn)變?yōu)榛疑珗D像,設(shè)定特殊閾值,將二值化圖像通過邊緣檢測得到車道線信息;
2)預(yù)估距離控制:根據(jù)模糊規(guī)則,模糊化處理輸入機器人運行速度,經(jīng)過模糊推理后,能夠得到預(yù)估距離控制精確值;
3)轉(zhuǎn)角模糊控制:模糊化處理輸入機器人偏離中心線距離變化率,經(jīng)過模糊推理后能夠得到輸出量預(yù)估瞄準(zhǔn)距離精準(zhǔn)值。
在實際場景中,根據(jù)換道動機,可分為強制性換道和選擇性換道兩種,強制性換道指的是車輛在指定區(qū)域內(nèi)進行換道處理,而選擇性換道指的是駕駛員為了追求更寬闊形式空間進行換道行為。為了實現(xiàn)傳感器數(shù)據(jù)采集與傳輸,需要上位機控制軟件和下位機控制軟件同時對兩種換道方式進行控制。
上位機控制軟件和下位機控制軟件如圖6所示。

圖6 控制軟件
上位機負(fù)責(zé)收集下位機采集到的全部信息,在用戶發(fā)出相關(guān)指令后,需將編譯后的信息傳遞給下位機,進而實現(xiàn)機器人強制性換道;下位機主要實現(xiàn)傳感器采集數(shù)據(jù),并將全部數(shù)據(jù)傳送到上位機之中,通過接收上位機發(fā)送的指令,能夠?qū)崿F(xiàn)機器人選擇性換道,由此完成四輪智能機器人實時控制。
為驗證基于Mindstorms的四輪智能機器人實時控制系統(tǒng)的實際控制效果,利用PC主機上攝像頭和麥克風(fēng),在局域網(wǎng)上測試控制效果。
充分考慮機器人與系統(tǒng)之間的電源系統(tǒng),利用Windows自帶的電池對電源感知,一旦感知到電能不足時,需通過已經(jīng)生成的環(huán)境地圖分析機器人自身電量,并利用柵格運動規(guī)劃方法計算機器人當(dāng)前位置和電源之間路徑。在運動過程中,機器人傳感器不斷為其提供前方障礙情況,以此及時修正規(guī)劃路徑。
當(dāng)充電電源與機器人之間距離僅為45 cm時,需通過充電渡口硬件實現(xiàn)機器人充電。當(dāng)機器人在限定范圍內(nèi)存在特殊圖表時,機器人會利用視覺方法匹配默認(rèn)圖表,并根據(jù)未知及時調(diào)整機器人自身姿勢,引導(dǎo)機器人與充電接口連接,實現(xiàn)自主充電,為功能測試提供帶有充足動力的機器人。
測試環(huán)境是在Wi-Fi環(huán)境下進行的,測試相關(guān)參數(shù)如表1所示。
依據(jù)該參數(shù),行控制與監(jiān)測機器人不同時間段運行狀態(tài),以此測試分析機器人功能。
以 Mindstorms 為平臺設(shè)計四輪智能機器人實時控制系統(tǒng),內(nèi)部轉(zhuǎn)向電機和驅(qū)動電機控制器輸入的轉(zhuǎn)角值為期望轉(zhuǎn)角和實際轉(zhuǎn)角差值,輸出結(jié)果為電機所占的空比。圖7所示兩種電機轉(zhuǎn)角情況。

圖7 兩種電機轉(zhuǎn)角
由圖7可知,當(dāng)時間為0.4 s時,轉(zhuǎn)向電機轉(zhuǎn)角為3.8°,驅(qū)動電機轉(zhuǎn)角為4°;當(dāng)時間超過0.5 s時,兩種電機轉(zhuǎn)角基本保持不變。兩種電機響應(yīng)上升時間控制在0.1~0.2 s內(nèi),基本不超調(diào),電機轉(zhuǎn)角隨著時間增加,電機轉(zhuǎn)角基本保持不變,能夠保證上層控制執(zhí)行效果。
在兩種電機支持下,分析機器人自動換道過程中,前輪轉(zhuǎn)角情況,當(dāng)其向左邊換道時,機器人前輪轉(zhuǎn)角變化如圖8所示。

圖8 機器人期望與實際前輪轉(zhuǎn)角對比
由圖8可知,機器人實際轉(zhuǎn)角值與期望轉(zhuǎn)角值相差較小,正是因為兩種電機轉(zhuǎn)角大致相同,所以實際轉(zhuǎn)角與期望轉(zhuǎn)角誤差較小。當(dāng)時間在1~1.5 s范圍內(nèi)時,機器人轉(zhuǎn)角期望值由0°變?yōu)?0°;當(dāng)時間在2~2.5 s范圍內(nèi)時,機器人轉(zhuǎn)角期望值由30°變?yōu)?°;當(dāng)時間在3.5~4 s范圍內(nèi)時,機器人轉(zhuǎn)角期望值由0°變?yōu)?30°;當(dāng)時間在4.5~5 s范圍內(nèi)時,機器人轉(zhuǎn)角期望值由-30°又變?yōu)?°。機器人在換道后基本處于道路中心線上,并且航角是保持不變的,因此,良好前輪轉(zhuǎn)角與穩(wěn)定車速能夠保證機器人換道效果。即使后來出現(xiàn)機器人位置或航向角存在偏差,也能由機器人保持良好功能,并予以修正。
為了驗證基于Mindstorms的四輪智能機器人實時控制系統(tǒng)的對轉(zhuǎn)向?qū)嶋H控制效果,需將傳統(tǒng)控制系統(tǒng)與該系統(tǒng)的轉(zhuǎn)向控制效果進行對比分析,結(jié)果如表2所示。

表2 兩種系統(tǒng)轉(zhuǎn)向控制效果對比分析
由表2可知,當(dāng)時間依次為1、2、3、4、5、6 s時,基于Mindstorms控制系統(tǒng)比傳統(tǒng)控制系統(tǒng)控制效果依次高33%、30%、40%、40%、40%、39%。由此可知,基于Mindstorms控制系統(tǒng)轉(zhuǎn)向控制效果較好。
以 Mindstorms 為平臺設(shè)計四輪智能機器人實時控制系統(tǒng),為結(jié)構(gòu)設(shè)計更接近實際情況提供差速轉(zhuǎn)向機構(gòu),通過手機攝像頭和超聲波傳感器開發(fā)智能機器人輔助系統(tǒng)控制功能,進而實現(xiàn)機器人車道換道。以Mindstorms為操作平臺,能夠改變原有機器人笨重行動特點,順應(yīng)未來機器人靈活特點,使得機器人控制系統(tǒng)得到改變。
該系統(tǒng)的設(shè)計增強了系統(tǒng)穩(wěn)定性,極大提高了系統(tǒng)實時性,但同時系統(tǒng)可靠性還無從驗證。運行測試環(huán)境是在理論研究基礎(chǔ)下進行的,因此研究結(jié)果還局限于理論方面。為了提高測試結(jié)果可靠性,需對實驗數(shù)據(jù)進行重新采集,并設(shè)置優(yōu)秀實驗平臺。待系統(tǒng)成熟后可廣泛應(yīng)用于實地勘測、小區(qū)巡邏和門禁系統(tǒng)等領(lǐng)域之中,具有較大經(jīng)濟效益。