鄭增輝,劉 聰,劉 艷
(浙江大學城市學院,信息與電氣工程學院,杭州 310015)
為普及機器人科學技術(shù),培育學生創(chuàng)新實踐能力,促進機器人技術(shù)的發(fā)展,國內(nèi)外相繼出現(xiàn)了一系列的機器人競賽活動。機器人競賽是一種高技術(shù)對抗活動[1],它涉及人工智能,智能控制、通信、傳感器、博弈論等多個領(lǐng)域前沿研究和技術(shù),集技術(shù)性、娛樂性和競技性于一體,引起了社會的廣泛關(guān)注和極大興趣。
國際機器人賽事有始于1994年的國際機器人滅火比賽;始于1998年的國際機器人奧林匹克競賽、FLL機器人世錦賽等。國內(nèi)機器人競賽有始于1997年的中國RoboCup比賽,始于2000年的廣茂達杯中國智能機器人大賽;始于2004年的“江蘇大學生機器人大賽”;2016年開始的“浙江省大學生機器人競賽”。
機器人競賽催生了競賽用機器人的研究與生產(chǎn),國內(nèi)外機器人企業(yè)很多,如國內(nèi)未來伙伴設(shè)計[2]的ASMF2010足球機器人,采用Cortex系列芯片,主頻可達72MHz,價格為1萬人民幣。上海英集斯自動化技術(shù)有限公司[3]生產(chǎn)的Buddy Robot機器人,以STM32系列單片機為控制器,價格有9千多人民幣。美國生產(chǎn)的Sruveyor[4]公司生產(chǎn)的SRV-1履帶式移動機器人。該機器人的價格2萬多人民幣。
國內(nèi)許多高校也開展了競賽用機器人的研究,電子科技大學萬永倫[5]介紹了一種競賽用全自動機器人,用于參加首屆全國大學生機器人電視大賽“搶灘珠峰”比賽項目。蘭州理工大學王少峰[6]介紹了用于“飛思卡爾”杯智能車競賽的機器人。電子科技大學喻洪平[7]以ARM嵌入式處理器為核心,設(shè)計了參加亞太大學生機器人大賽國內(nèi)選拔賽的機器人。合肥工業(yè)大學趙汝海[8]設(shè)計了基于凌陽16位單片機的機器人,參加CCTV機器人但是大賽“修建雙子塔”的比賽項目。賀龍豹[9]設(shè)計了一種用于“中國機器人大賽”的搬運機器人,該競賽用機器人選用STC12C5A60S2 單片機作為微控制器,采用直流減速電機作為運動機構(gòu),采取舵機帶動機械手運動的方法來實現(xiàn)物料的夾取。
還有一些設(shè)計針對運輸?shù)?,如光電傳感的移動搬運機器人的設(shè)計與實現(xiàn)[9]。
機器人競賽的目的是提高大學生多學科專業(yè)知識交叉、知行合一、創(chuàng)新創(chuàng)業(yè)創(chuàng)造和團隊協(xié)作能力,已有的這些機器人都是針對某一賽事而設(shè)計的,具有局限性;生產(chǎn)廠家設(shè)計的機器人都是已經(jīng)設(shè)計好的,對學生的動手能力起不到鍛煉作用,不能達到機器人競賽自主創(chuàng)新的主旨,而且價格也都偏高;已有的機器人側(cè)重于搬運功能的實現(xiàn),沒有體現(xiàn)出比賽中對抗的實現(xiàn);隨著性能高價格低廉的器件的產(chǎn)生,針對以上問題,本文給出了適用于浙江省大學生機器人競賽創(chuàng)新組運輸對抗賽機器人的設(shè)計與實現(xiàn)硬件和軟件方案。該設(shè)計能在成本較低的情況下能實現(xiàn)機器人運輸對抗的功能。
運輸對抗機器人的硬件系統(tǒng)由Arduino微控制器模塊、電源及降壓模塊、巡線模塊、L298N電機驅(qū)動模塊、撥碼開關(guān)等。根據(jù)比賽要求車體正投影不能超過出發(fā)區(qū)的30cm×30cm的方框。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)框圖
處理器采用Arduino Mega2560 R3開發(fā)板。Arduino Mega是一塊以ATmega2560為核心的微控制器開發(fā)板,本身具有54組數(shù)字I/O口input/output端(其中14組可做PWM輸出),16組模擬比輸入端,4組UART(hardware serial ports),使用16MHz crystal oscillator。Arduino Mega的供電系統(tǒng)有兩種選擇,USB直接供電或外部供電,電源供電將會自動切換。此開發(fā)板的極限電壓范圍為6V~12V,但倘若提供的電壓小于6V,I/O口可能無法提供到5V電壓,因此會不穩(wěn)定;倘若提供的電壓大于12V,穩(wěn)壓裝置則會有可能發(fā)生過熱保護更有可能損壞Arduino Mega。
采用15V鋰電池進行供電。根據(jù)電機驅(qū)動、Arduino開發(fā)板、舵機、QTI傳感器的供電需求,需要提供12V、7V和5V三個檔位的電壓,12V電壓、7V電壓和5V電壓分別通過3個降壓模塊進行降壓輸出獲得的。
小車車體的驅(qū)動采用伺服電機完成。利用脈沖寬度調(diào)節(jié)波(Pulse Width Modulation,PWM)來控制輸入信號的極性,實現(xiàn)電機正反轉(zhuǎn),同時可以控制輸出電壓的有效值大小,實現(xiàn)電機轉(zhuǎn)動角度以及快慢的問題。
采用歐鵬科技專為機器人優(yōu)化的L298專用芯片實現(xiàn)上述控制要求,該芯片設(shè)計穩(wěn)定,并且能同時驅(qū)動兩個電機,硬件實現(xiàn)也相對簡單。把Arduino開發(fā)板的數(shù)字I/O口3和4分別連接L298N的IN1和IN2的引腳,可以控制一路電機(右電機)的正反轉(zhuǎn),當3口為高電平,右電機反轉(zhuǎn),當4口為高電平,右電機正轉(zhuǎn);數(shù)字I/O口5和6分別連接L298N的IN3、IN4的引腳,控制另一路電機(左電機)正反轉(zhuǎn),當5口為高電平,左電機正轉(zhuǎn),當6口為高電平,左電機反轉(zhuǎn);數(shù)字I/O口2和7分別連接電機的使能端ENA、ENB,控制電機的停轉(zhuǎn)。L298N電機驅(qū)動芯片可以同時驅(qū)動兩個電機,其內(nèi)部集成了4通道邏輯驅(qū)動電路。L298N輸出電流峰值可達2.5A。
1塊傳感器模塊可連接4路傳感器,每路有正極端、共地端、信號輸出端和TTL指示LED。1路連接Arduino開發(fā)板上的數(shù)字I/O口8;2路連接數(shù)字I/O口9;3路連接數(shù)字I/O口10;4路連接數(shù)字I/O口11。再用1塊傳感器模塊單獨連接第5個傳感器,并與Arduino開發(fā)板上的數(shù)字I/O口12相連。每路都有調(diào)節(jié)傳感器靈敏度的電位器。
QTI巡線傳感器是一種紅外發(fā)射器/接收器,能夠區(qū)分低紅外反射的黑暗表面和高紅外反射率的光亮表面。內(nèi)嵌日光過濾器,防止日光干擾。采用5個QTI傳感器,分別連接至傳感器模塊的GVS引腳,通過檢測信號來不斷調(diào)整小車的巡線運動。
撥碼開關(guān)模塊采用直插式撥碼開關(guān),采用0/1的二進制編碼原理。該模塊主要用于控制對抗賽過程中對抗方案的選擇。手抓模塊用于放置雙倍磚(出發(fā)時帶在車體上),在比賽過程中,通過設(shè)計合適的路徑將雙倍磚放置到場地的圓盤上相應(yīng)的區(qū)域。鉤子模塊用于獲取圓盤中間一個方磚。釋放模塊用于將固定在車上的障礙紙片放置到場地中的某個位置以實現(xiàn)阻礙對方運輸?shù)哪K。
整個系統(tǒng)的軟件設(shè)計包括:主程序、巡線程序以及各種對抗策略程序設(shè)計。主程序流程如圖2所示。運輸對抗機器人開機后,根據(jù)撥碼開關(guān)狀態(tài)決定要執(zhí)行哪一套運輸對抗的方案。
圖2 主程序流程圖
運輸對抗機器人巡線程序流程如圖3所示。
圖3 一氧化碳濃度報警檢測任務(wù)處理程序流程圖
排名賽單獨路線,拿到三綠三黃加雙倍共7個物塊,運行時間21s,得分為23×2=46,比賽路線示意圖如圖4所示。
圖4 排名賽策略示意圖
設(shè)計兩套基本路線,在基本路線一基礎(chǔ)上設(shè)計了兩套對抗策略,在基本路線二基礎(chǔ)上設(shè)計了一套對抗策略;分別針對對方領(lǐng)先和子母機情況設(shè)計了兩套對抗策略。
基本路線一為搶到圓盤綠塊,三綠加一黃加雙倍,路線如圖5(a)所示;第一套策略以基本路線一為前提,出發(fā)沿路線拿到兩黃,總計為三綠三黃(完勝),得分為23×2=46,路線如圖5(b)所示;若在基本路線一上沒有搶到圓盤綠色,采取第二套策略,出發(fā)并沿路線到對方HOME區(qū),偷取里面的物塊并運回本方HOME區(qū),分數(shù)以實際情況為準,路線如圖5(c)所示。
圖5 基本路線一及以其為基礎(chǔ)的對抗賽策略示意圖
若考慮到對方車速度快,采取基本路線二,直接運行至對方HOME區(qū)前的十字路口,放置障礙紙片,當對方車移動到紙片上,擾亂其巡線。之后到圓盤左側(cè)放置雙倍塊,若途經(jīng)的物塊和圓盤中間綠塊還存在便得到其分數(shù),運回HOME區(qū),路線如圖6(a)所示。以基本路線二為前提的第三套對抗策略如圖6(b)所示,出發(fā)沿路線拿到一綠兩黃。
若車遇到障礙或巡線錯誤,馬上申請重啟,考慮到對方拿到較多分數(shù),而己方落后的情況下,這時候采取第四套策略,從出發(fā)區(qū)出發(fā)并沿路線到對方HOME區(qū),偷取里面的物塊并運回本方HOME區(qū),分數(shù)以實際情況為準,路線如圖7所示。
圖7 第四套策略
若對方為子母機,采用第五套策略,以最快速度搶到圓盤綠塊并直接回HOME區(qū),然后去對方HOME區(qū)偷出物塊并停在第一個十字路口,阻礙其子機的搬運,路線如圖8所示。
圖8 第五套方案示意圖
設(shè)計完成的運輸對抗機器人實物如圖9所示,機器人規(guī)格為:28×28,符合比賽規(guī)格要求。應(yīng)用此機器人參加浙江省大學生機器人競賽并獲得了運輸對抗賽的三等獎。
圖9 運輸對抗機器人實物示意圖
針對“浙江省大學生機器人競賽”的創(chuàng)新機器人中運輸對抗機器人項目設(shè)計了一款滿足比賽要求的機器人,提出了運輸對抗機器人的總體設(shè)計,圍繞運輸對抗比賽要求,確定了以Arduino開發(fā)板為核心的運輸對抗機器人的總體設(shè)計方案,給出了運輸對抗機器人得到硬件設(shè)計方案及多種對抗策略。該機器人成本低、易于推廣普及、可以與單片機課程教學相結(jié)合,有助于學生學習嵌入式系統(tǒng)設(shè)計與開發(fā)。
比賽過程中出現(xiàn)的問題分析如下:一是場地適應(yīng)性。由于學校所采用的場地是噴繪地圖,而真正比賽場地是用啞光漆刷涂的場地,這需要長時間的適應(yīng)場地的調(diào)試;二是臨場應(yīng)對策略。要根據(jù)比賽中對手的運輸對抗策略及時調(diào)整,這需要隊員對機器人硬件和軟件的設(shè)
【】【】計了如指掌;三是速度有待提高。換用更大的電機和硬度更高的車輪;四是針對比賽過程中機器人碰撞問題,可以考慮計避障模塊以解決此問題。
[1]陳巍.基于機器人競賽的大學生創(chuàng)新能力的培養(yǎng)模型[J].實驗室研究與探索,2012,31(7):309-312.
[2]未來伙伴[EB/OL].[2017-05-6]. http://www.partnerx.cn/.
[3]上海英集斯自動化技術(shù)有限公司[EB/OL].[2017-05-6].https://ingenious.cn.china.cn/.
[4]Surveyor.[EB/OL].[2017-05-6].http://thinknext.net/.
[5]萬永倫.一種競賽機器人的研究與實現(xiàn)[D].電子科技大學,2003.
[6]王少峰.競賽用智能汽車的研究與實現(xiàn)[D].蘭州:蘭州理工大學,2008.
[7]喻洪平.基于ARM的嵌入式系統(tǒng)在競賽機器人中的應(yīng)用研究[D].成都:電子科技大學,2007.
[8]趙汝海.基于16位單片機的比賽機器人控制技術(shù)的研究[D].合肥:合肥工業(yè)大學,2007.
[9]賀龍豹.競賽用搬運機器人設(shè)計與實現(xiàn)[D].南京財經(jīng)大學,2013.
[10]王斌,李憂,陶成健,王赫妍,高慶忠.基于ARM的遙控搬運機器人系統(tǒng)的研究與設(shè)計[J].沈陽工程學院學報(自然科學版),2016,12(2):143-147.
[11]蘇品剛,尚麗,胡志峰.基于單片機的智能分揀搬運機器人的設(shè)計與實現(xiàn)[J].蘇州市職業(yè)大學學報,2016,27(3):16-20.
[12]陶重犇,劉狀宇,孫云飛.基于嵌入式系統(tǒng)的搬運機器人設(shè)計與路徑規(guī)劃研究[J].計算機測量與控制,2016,24(8):215-217.