鄭增輝,劉 聰,劉 艷
(浙江大學城市學院,信息與電氣工程學院,杭州 310015)
為普及機器人科學技術,培育學生創新實踐能力,促進機器人技術的發展,國內外相繼出現了一系列的機器人競賽活動。機器人競賽是一種高技術對抗活動[1],它涉及人工智能,智能控制、通信、傳感器、博弈論等多個領域前沿研究和技術,集技術性、娛樂性和競技性于一體,引起了社會的廣泛關注和極大興趣。
國際機器人賽事有始于1994年的國際機器人滅火比賽;始于1998年的國際機器人奧林匹克競賽、FLL機器人世錦賽等。國內機器人競賽有始于1997年的中國RoboCup比賽,始于2000年的廣茂達杯中國智能機器人大賽;始于2004年的“江蘇大學生機器人大賽”;2016年開始的“浙江省大學生機器人競賽”。
機器人競賽催生了競賽用機器人的研究與生產,國內外機器人企業很多,如國內未來伙伴設計[2]的ASMF2010足球機器人,采用Cortex系列芯片,主頻可達72MHz,價格為1萬人民幣。上海英集斯自動化技術有限公司[3]生產的Buddy Robot機器人,以STM32系列單片機為控制器,價格有9千多人民幣。美國生產的Sruveyor[4]公司生產的SRV-1履帶式移動機器人。該機器人的價格2萬多人民幣。
國內許多高校也開展了競賽用機器人的研究,電子科技大學萬永倫[5]介紹了一種競賽用全自動機器人,用于參加首屆全國大學生機器人電視大賽“搶灘珠峰”比賽項目。蘭州理工大學王少峰[6]介紹了用于“飛思卡爾”杯智能車競賽的機器人。電子科技大學喻洪平[7]以ARM嵌入式處理器為核心,設計了參加亞太大學生機器人大賽國內選拔賽的機器人。合肥工業大學趙汝海[8]設計了基于凌陽16位單片機的機器人,參加CCTV機器人但是大賽“修建雙子塔”的比賽項目。賀龍豹[9]設計了一種用于“中國機器人大賽”的搬運機器人,該競賽用機器人選用STC12C5A60S2 單片機作為微控制器,采用直流減速電機作為運動機構,采取舵機帶動機械手運動的方法來實現物料的夾取。
還有一些設計針對運輸的,如光電傳感的移動搬運機器人的設計與實現[9]。
機器人競賽的目的是提高大學生多學科專業知識交叉、知行合一、創新創業創造和團隊協作能力,已有的這些機器人都是針對某一賽事而設計的,具有局限性;生產廠家設計的機器人都是已經設計好的,對學生的動手能力起不到鍛煉作用,不能達到機器人競賽自主創新的主旨,而且價格也都偏高;已有的機器人側重于搬運功能的實現,沒有體現出比賽中對抗的實現;隨著性能高價格低廉的器件的產生,針對以上問題,本文給出了適用于浙江省大學生機器人競賽創新組運輸對抗賽機器人的設計與實現硬件和軟件方案。該設計能在成本較低的情況下能實現機器人運輸對抗的功能。
運輸對抗機器人的硬件系統由Arduino微控制器模塊、電源及降壓模塊、巡線模塊、L298N電機驅動模塊、撥碼開關等。根據比賽要求車體正投影不能超過出發區的30cm×30cm的方框。系統硬件結構如圖1所示。

圖1 系統硬件結構框圖
處理器采用Arduino Mega2560 R3開發板。Arduino Mega是一塊以ATmega2560為核心的微控制器開發板,本身具有54組數字I/O口input/output端(其中14組可做PWM輸出),16組模擬比輸入端,4組UART(hardware serial ports),使用16MHz crystal oscillator。Arduino Mega的供電系統有兩種選擇,USB直接供電或外部供電,電源供電將會自動切換。此開發板的極限電壓范圍為6V~12V,但倘若提供的電壓小于6V,I/O口可能無法提供到5V電壓,因此會不穩定;倘若提供的電壓大于12V,穩壓裝置則會有可能發生過熱保護更有可能損壞Arduino Mega。
采用15V鋰電池進行供電。根據電機驅動、Arduino開發板、舵機、QTI傳感器的供電需求,需要提供12V、7V和5V三個檔位的電壓,12V電壓、7V電壓和5V電壓分別通過3個降壓模塊進行降壓輸出獲得的。
小車車體的驅動采用伺服電機完成。利用脈沖寬度調節波(Pulse Width Modulation,PWM)來控制輸入信號的極性,實現電機正反轉,同時可以控制輸出電壓的有效值大小,實現電機轉動角度以及快慢的問題。
采用歐鵬科技專為機器人優化的L298專用芯片實現上述控制要求,該芯片設計穩定,并且能同時驅動兩個電機,硬件實現也相對簡單。把Arduino開發板的數字I/O口3和4分別連接L298N的IN1和IN2的引腳,可以控制一路電機(右電機)的正反轉,當3口為高電平,右電機反轉,當4口為高電平,右電機正轉;數字I/O口5和6分別連接L298N的IN3、IN4的引腳,控制另一路電機(左電機)正反轉,當5口為高電平,左電機正轉,當6口為高電平,左電機反轉;數字I/O口2和7分別連接電機的使能端ENA、ENB,控制電機的停轉。L298N電機驅動芯片可以同時驅動兩個電機,其內部集成了4通道邏輯驅動電路。L298N輸出電流峰值可達2.5A。
1塊傳感器模塊可連接4路傳感器,每路有正極端、共地端、信號輸出端和TTL指示LED。1路連接Arduino開發板上的數字I/O口8;2路連接數字I/O口9;3路連接數字I/O口10;4路連接數字I/O口11。再用1塊傳感器模塊單獨連接第5個傳感器,并與Arduino開發板上的數字I/O口12相連。每路都有調節傳感器靈敏度的電位器。
QTI巡線傳感器是一種紅外發射器/接收器,能夠區分低紅外反射的黑暗表面和高紅外反射率的光亮表面。內嵌日光過濾器,防止日光干擾。采用5個QTI傳感器,分別連接至傳感器模塊的GVS引腳,通過檢測信號來不斷調整小車的巡線運動。
撥碼開關模塊采用直插式撥碼開關,采用0/1的二進制編碼原理。該模塊主要用于控制對抗賽過程中對抗方案的選擇。手抓模塊用于放置雙倍磚(出發時帶在車體上),在比賽過程中,通過設計合適的路徑將雙倍磚放置到場地的圓盤上相應的區域。鉤子模塊用于獲取圓盤中間一個方磚。釋放模塊用于將固定在車上的障礙紙片放置到場地中的某個位置以實現阻礙對方運輸的模塊。
整個系統的軟件設計包括:主程序、巡線程序以及各種對抗策略程序設計。主程序流程如圖2所示。運輸對抗機器人開機后,根據撥碼開關狀態決定要執行哪一套運輸對抗的方案。

圖2 主程序流程圖
運輸對抗機器人巡線程序流程如圖3所示。

圖3 一氧化碳濃度報警檢測任務處理程序流程圖
排名賽單獨路線,拿到三綠三黃加雙倍共7個物塊,運行時間21s,得分為23×2=46,比賽路線示意圖如圖4所示。

圖4 排名賽策略示意圖
設計兩套基本路線,在基本路線一基礎上設計了兩套對抗策略,在基本路線二基礎上設計了一套對抗策略;分別針對對方領先和子母機情況設計了兩套對抗策略。
基本路線一為搶到圓盤綠塊,三綠加一黃加雙倍,路線如圖5(a)所示;第一套策略以基本路線一為前提,出發沿路線拿到兩黃,總計為三綠三黃(完勝),得分為23×2=46,路線如圖5(b)所示;若在基本路線一上沒有搶到圓盤綠色,采取第二套策略,出發并沿路線到對方HOME區,偷取里面的物塊并運回本方HOME區,分數以實際情況為準,路線如圖5(c)所示。

圖5 基本路線一及以其為基礎的對抗賽策略示意圖
若考慮到對方車速度快,采取基本路線二,直接運行至對方HOME區前的十字路口,放置障礙紙片,當對方車移動到紙片上,擾亂其巡線。之后到圓盤左側放置雙倍塊,若途經的物塊和圓盤中間綠塊還存在便得到其分數,運回HOME區,路線如圖6(a)所示。以基本路線二為前提的第三套對抗策略如圖6(b)所示,出發沿路線拿到一綠兩黃。
若車遇到障礙或巡線錯誤,馬上申請重啟,考慮到對方拿到較多分數,而己方落后的情況下,這時候采取第四套策略,從出發區出發并沿路線到對方HOME區,偷取里面的物塊并運回本方HOME區,分數以實際情況為準,路線如圖7所示。

圖7 第四套策略
若對方為子母機,采用第五套策略,以最快速度搶到圓盤綠塊并直接回HOME區,然后去對方HOME區偷出物塊并停在第一個十字路口,阻礙其子機的搬運,路線如圖8所示。

圖8 第五套方案示意圖
設計完成的運輸對抗機器人實物如圖9所示,機器人規格為:28×28,符合比賽規格要求。應用此機器人參加浙江省大學生機器人競賽并獲得了運輸對抗賽的三等獎。

圖9 運輸對抗機器人實物示意圖
針對“浙江省大學生機器人競賽”的創新機器人中運輸對抗機器人項目設計了一款滿足比賽要求的機器人,提出了運輸對抗機器人的總體設計,圍繞運輸對抗比賽要求,確定了以Arduino開發板為核心的運輸對抗機器人的總體設計方案,給出了運輸對抗機器人得到硬件設計方案及多種對抗策略。該機器人成本低、易于推廣普及、可以與單片機課程教學相結合,有助于學生學習嵌入式系統設計與開發。
比賽過程中出現的問題分析如下:一是場地適應性。由于學校所采用的場地是噴繪地圖,而真正比賽場地是用啞光漆刷涂的場地,這需要長時間的適應場地的調試;二是臨場應對策略。要根據比賽中對手的運輸對抗策略及時調整,這需要隊員對機器人硬件和軟件的設
【】【】計了如指掌;三是速度有待提高。換用更大的電機和硬度更高的車輪;四是針對比賽過程中機器人碰撞問題,可以考慮計避障模塊以解決此問題。
[1]陳巍.基于機器人競賽的大學生創新能力的培養模型[J].實驗室研究與探索,2012,31(7):309-312.
[2]未來伙伴[EB/OL].[2017-05-6]. http://www.partnerx.cn/.
[3]上海英集斯自動化技術有限公司[EB/OL].[2017-05-6].https://ingenious.cn.china.cn/.
[4]Surveyor.[EB/OL].[2017-05-6].http://thinknext.net/.
[5]萬永倫.一種競賽機器人的研究與實現[D].電子科技大學,2003.
[6]王少峰.競賽用智能汽車的研究與實現[D].蘭州:蘭州理工大學,2008.
[7]喻洪平.基于ARM的嵌入式系統在競賽機器人中的應用研究[D].成都:電子科技大學,2007.
[8]趙汝海.基于16位單片機的比賽機器人控制技術的研究[D].合肥:合肥工業大學,2007.
[9]賀龍豹.競賽用搬運機器人設計與實現[D].南京財經大學,2013.
[10]王斌,李憂,陶成健,王赫妍,高慶忠.基于ARM的遙控搬運機器人系統的研究與設計[J].沈陽工程學院學報(自然科學版),2016,12(2):143-147.
[11]蘇品剛,尚麗,胡志峰.基于單片機的智能分揀搬運機器人的設計與實現[J].蘇州市職業大學學報,2016,27(3):16-20.
[12]陶重犇,劉狀宇,孫云飛.基于嵌入式系統的搬運機器人設計與路徑規劃研究[J].計算機測量與控制,2016,24(8):215-217.