雷道仲
(湖南信息職業(yè)技術(shù)學(xué)院,湖南 長沙 410200)
擂臺對抗機器人是一種常見的競賽機器人。這類機器人在競賽過程中,通常是甲、乙兩方機器人在一個規(guī)定的區(qū)域內(nèi),在限定的時間內(nèi)誰先將對方機器人推出比賽規(guī)定的區(qū)域,誰就獲得該場次比賽的“冠軍”。本文所介紹的這款機器人就是中國教育機器人大賽的擂臺對抗機器人項目中的一款機器人。在這個擂臺對抗競賽項目中,雙方都要設(shè)計紅外傳感器、紅外遙控、超聲波三個機器人。本文主要介紹這個擂臺對抗競賽項目中的紅外傳感器機器人的設(shè)計過程。
根據(jù)擂臺對抗機器人競賽規(guī)則分析,紅外傳感器擂臺對抗機器人設(shè)計最關(guān)鍵的是能夠及時捕捉到對方機器人的位置,并能夠準(zhǔn)確地識別比賽區(qū)域。因此,選取能夠快速感應(yīng)對方機器人位置的傳感器,能夠識別黑、白區(qū)域的傳感器以及整個系統(tǒng)的控制芯片十分重要。能夠感知對方位置的傳感器有很多種,比如超聲波傳感器、紅外傳感器等;識別黑、白區(qū)域的傳感器有灰度傳感器、顏色傳感器等;作為整個系統(tǒng)的控制芯片的有51單片機、ARM處理芯片等[1]。
方案一:以ARM720T為本系統(tǒng)的控制核心,選取紅外光電傳感器作為位置捕捉傳感器,使用顏色傳感器來識別擂臺對抗機器人比賽的黑色區(qū)域。ARM處理芯片負(fù)責(zé)根據(jù)紅外光電傳感器收集的對方機器人的位置信號以及顏色傳感器判別的本機機器人的位置信號輸出相應(yīng)的控制信號,控制機器人前進(jìn)、后退或者左轉(zhuǎn)彎、右轉(zhuǎn)彎等。該方案系統(tǒng)控制框圖如圖1所示。該方案結(jié)構(gòu)簡單、控制方便,軟件設(shè)計容易實現(xiàn),但顏色傳感器在識別黑、白競賽區(qū)域的過程中,耗時相對較長,不利于本機機器人及時調(diào)整位置。
圖1 方案一系統(tǒng)框圖
方案二:系統(tǒng)采用“單片機+紅外傳感器+執(zhí)行機構(gòu)”的總體設(shè)計方案,系統(tǒng)總體框圖如圖2所示。其中,紅外發(fā)射傳感器在機器人行走的過程中對外發(fā)射出紅外信號,當(dāng)紅外信號遇到對方機器人后,會被反射回來,紅外接收傳感器接收到反射回的紅外信號后,再由MCU根據(jù)紅外傳感器接收到的紅外發(fā)射信號來判斷對方機器人的位置,并調(diào)用相應(yīng)的決策攻擊函數(shù)去攻擊對方的機器人,最終將對方機器人推出比賽的擂臺范圍,從而獲得本局比賽的勝利。QTI傳感器負(fù)責(zé)紅外傳感器擂臺對抗機器人的導(dǎo)航功能。
圖2 紅外傳感器擂臺對抗機器人系統(tǒng)框圖
紅外傳感器擂臺對抗機器人的電路原理圖如圖3所示。紅外傳感器由圖中的紅外發(fā)射開關(guān)、紅外發(fā)射二極管以及紅外接收器組成。紅外發(fā)射開關(guān)負(fù)責(zé)控制紅外發(fā)射二極管對外發(fā)射的紅外線的頻率,當(dāng)發(fā)射出的紅外線碰到對方機器人后會被反射回來,被自己的紅外接收器接收,紅外傳感器擂臺對抗機器人收到反射回來的紅外信號后,會向?qū)Ψ綑C器人發(fā)出相應(yīng)攻擊,直至將對方機器人推出擂臺范圍,則比賽獲勝。如果自己被推出擂臺,則比賽失敗。圖中的左右QTI傳感器用于支持擂臺對抗機器人的巡線功能,該QTI裝在機器人控制電路板底部,負(fù)責(zé)識別黑色比賽區(qū)域。左、右輪驅(qū)動電機為機器人的運動系統(tǒng),在單片機發(fā)出的電機控制信號作用下完成擂臺對抗機器人的前進(jìn)、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎等動作。
圖3 紅外傳感器擂臺對抗機器人原理圖
本設(shè)計中的紅外傳感器由紅外線收、發(fā)對管以及紅外發(fā)射控制開關(guān)構(gòu)成。紅外線發(fā)射器則是將紅外線發(fā)射管封裝在了LED發(fā)光二極管中。通常是根據(jù)應(yīng)用場合的不同來封裝不同波長的紅外線發(fā)射管,比如用于紅外遙控器、紅外光電開關(guān)、紅外線發(fā)射設(shè)備的波長則要封裝940 nm;用于醫(yī)療設(shè)備則封裝875 nm;用于紅外線監(jiān)控設(shè)備的則需要封裝850 nm波長。本設(shè)計中選取采用封裝940 nm波長的紅外發(fā)射管。
本設(shè)計中,運用紅外線收、發(fā)對管完成擂臺對抗機器人的位置識別。具體過程如下:擂臺對抗機器人在黑色比賽區(qū)域運動時,51單片機P1.4引腳發(fā)出一定頻率的高、低電平從而控制N2的導(dǎo)通與截止來控制向外發(fā)射紅外線光波的頻率,紅外線光波在空中傳播的過程中,遇到對方擂臺對抗機器人時會被反射回來,進(jìn)而被安裝在51單片機P1.5引腳的紅外線接收器所接收。
擂臺對抗機器人通電后,在51單片機P1.2和P1.3引腳控制的左、右巡線QTI傳感器的引導(dǎo)下,在比賽的黑色區(qū)域運動。QTI在機器人運動過程中,當(dāng)掃描到底部的黑色區(qū)域時,返回給51單片機P1.2和P1.3引腳的信號為高電平,則控制機器人(電機)繼續(xù)運動;如果機器人運動到比賽區(qū)域的邊緣,掃到白色時,返回給51單片機P1.2和P1.3引腳的則是低電平,這時51單片機的P1.0和P1.1引腳會輸出控制信號使機器人趕緊后退到比賽的黑色區(qū)域。
擂臺對抗機器人在運動的過程中,51單片機P1.4引腳輪流輸出高、低不同的電平控制NPN型三極管N2的導(dǎo)通與截止,從而控制紅外線發(fā)光管向外發(fā)射紅外線光波的頻率。當(dāng)向外發(fā)射的紅外線光波遇到對方擂臺對抗機器人時,部分光波被反射回來,被安裝在本機機器人上的51單片機P1.5引腳的紅外線接收器所接收。51單片機接收此信號后,根據(jù)實際在51單片機的P1.0和P1.1引腳輸出電機控制信號,控制電機使機器人完成前進(jìn)(攻擊對方)、后退、左轉(zhuǎn)彎或右轉(zhuǎn)彎等動作[2]。
擂臺對抗機器人主要完成以下幾個任務(wù):(1)擂臺對抗機器人的運動控制,包括機器人前進(jìn)、后退、左轉(zhuǎn)彎及右轉(zhuǎn)彎等;(2)不斷檢測比賽擂臺的邊緣線;(3)不斷檢測對方機器人的位置,并根據(jù)位置做出本機機器人位置的調(diào)整或是相應(yīng)攻擊等。以下是擂臺機器人運動控制函數(shù)。
根據(jù)上述程序設(shè)計思路,繪制出如圖4所示的主程序流程圖。系統(tǒng)通電后,擂臺對抗機器人向前直走,在直走過程中,巡線QTI傳感器不斷檢測是否到擂臺邊緣,如果是,繼續(xù)判斷機器人是否正對著邊緣;如果是,機器人直接后退;如果機器人處于邊緣偏左,則機器人先右轉(zhuǎn)調(diào)整角度,再后退;如果機器人處于邊緣靠右,則先左轉(zhuǎn)調(diào)整角度,再后退。
圖4 紅外傳感器主程序流程圖
按圖3所示的電路原理圖連接控制電路,在Keil C中編輯、編譯控制程序直到仿真通過,再通過51單片機程序下載器將產(chǎn)生的可執(zhí)行文件燒寫到紅外傳感器擂臺對抗機器人控制板中的單片機程序存儲器中。開機運行后,機器人會不斷檢測擂臺比賽范圍邊緣線,當(dāng)沒有發(fā)現(xiàn)對方機器人時,會一直在比賽范圍內(nèi)轉(zhuǎn)圈,在發(fā)現(xiàn)對方機器人后,會主動發(fā)起攻擊,直至將對方推出比賽范圍,獲得本局比賽勝利,如果自己被推出比賽范圍,則本局比賽失敗。
該紅外傳感器擂臺對抗機器人參加2015年中國教育機器人大賽的擂臺對抗機器人項目競賽獲得了高職組“冠軍”。在比賽過程中,該機器人檢測紅外信號靈敏,捕捉對方擂臺對抗機器人能力強,具有較強的攻擊策略,攻擊能力強,且性能穩(wěn)定,能夠為同類擂臺對抗機器人的設(shè)計提供可靠參考和借鑒。