許建榮+張小鳳+林景生+陳玉云+鐘保森



摘 要:隨著社會的不斷發展與進步,隨著科技與智能技術的快速發展、教育理念的不斷改革與進步,作為一門綜合性較強的學科——機器人學科也在不斷發展壯大。擂臺機器人的設計與研究是關于機械學、電子學、計算機技術、人工智能的綜合體,也是大學生機器人愛好者的感興趣之所在。該文介紹了武術擂臺機器人硬件與軟件的優化,以及一些進攻與防守的策略。
關鍵詞:武術擂臺機器人 軟件 硬件 策略
中圖分類號:TP24 文獻標識碼:A 文章編號:1672-3791(2017)03(a)-0097-04
由中國自動化學會機器人競賽工作委員會、RoboCup中國委員會共同舉辦的中國機器人大賽暨RoboCup公開賽旨在激發廣大學生對機器人的熱情,培養實踐能力和科技創新的潛力,提高大家的綜合素質,同時通過機器人競賽活動推動我國機器人技術的發展與嘗新。武術擂臺賽機器人是每年一度的“中國機器人大賽暨RoboCup 公開賽”中的一個比賽項目,參賽隊伍需要在規則范圍內設計、組裝能自主運動的機器人互相搏擊,并爭取在比賽中將對方機器人打下擂臺獲勝。以中國機器人大賽武術擂臺賽為背景設計,著重介紹無差別組武術擂臺賽機器人競賽的硬軟件優化與策略研究。
針對該次大賽機器人的搭建,我們秉承科技創新的理念,以嚴謹的態度和樂于挑戰的精神,在最大程度上使得機器人在軟件策略和硬件構造上相契合,使機器人能夠很好地完成比賽設置的任務。
1 硬件的設計
1.1 整體結構
(1)重量:應盡可能接近比賽要求極限,只有重量越重,給機器人輪子提供的正壓力才能越大,根據f =uF,則知對擂臺的摩擦越大,才能有效防止己方被推下擂臺。
(2)尺寸:尺寸大小也應當盡量接近比賽限制,只有通過長寬的最大極限來降低機器人的整體重心,才可以使機器人在擂臺上更好地穩定行走,減少由于慣性引起的失誤。
(3)重心:重心是取決于比賽勝負的重要因素,也是實現策略運動的一切前提條件。重心穩定,實現各類策略誤差會大大減小。對于較重的控制器,應該放平于底板,根據實踐的結果,放于底板中間(誤差5%)的整體效果最好。避免過高的組裝結構也是重點,在機器人競爭互碰的較高速度下,不能忽略由于高速產生的阻力與反阻力對機器人的影響,會讓對手瞬間抓住機會一擊而亂。
1.2 傳感器的介紹與配合安置
1.2.1 紅外接近傳感器
紅外接近傳感器俗稱光電開關,它是根據目標對紅外光束的遮擋或反射由同步回路連通電路,從而達到檢測目標的有無,其原理如圖1所示。
光電開關根據其不同機理又可分為漫反射式光電開關、鏡反射式光電開關、對射式光電開關、槽式光電開關、光纖式光電開關等,“創意之星”套件中所使用的是漫反射式光電開關。我們安裝的時候在同等位置下根據不同的轉度,它的反射與接收點的不同會產生不同的距離差別。所以安裝調試后要扭緊傳感器,避免由于激烈碰撞后改變了原本的結果。還有必須注意的是,我們檢測邊緣紅外傳感器,調試的近遠要合適,既要避免由于碰撞翹起使機器人以為是邊緣,也要避免機器人把兩個坡度看成擂臺。
1.2.2 紅外測距傳感器
GP2D12是該系列傳感器的典型,它的輸出為:0~2.5 V模擬量(電壓值隨距離變化);量程范圍10~80 cm。這個型號的傳感器作為大多數微型移動機器人避碰和漫游測距用傳感器都是足夠的。原理圖與返回值如圖2、表1所示。
紅外發射器發出一束紅外線,紅外線遇到目標后被反射回來,反射回來的紅外光線被PSD檢測器檢測到以后,會獲得一個偏移值l,利用三角形關系,再知道了發射角度a,偏移距l ,中心矩x,以及濾鏡的焦距f以后,傳感器到物體的距離D就可以通過幾何關系計算出來了。而使用此類傳感器要注意2個基本的特點:(1)與障礙物的反射角度基本無關;(2)與反射物體的顏色基本無關。
1.2.3 灰度傳感器
通過自身的亮度白色LED照亮被檢測物體反射LED的白光。由于不同的顏色對白光的反射能力不一樣,同樣材質白色反射度最高,黑色反射度最低。灰度傳感器前有一個光敏電阻,用于檢測反射光的強弱來推斷出被檢測物體的灰度值。其電路模塊見圖3,大小關系見圖4。
灰度傳感器的使用必須確定好其位置,因為場上的時刻走動意味著灰度值的不斷改變,而如何比較準確地計算機器人所在區域是非常關鍵的。灰度的安裝可以采取正菱形裝法,見圖5。
(以a為機器人正前方)這樣的裝法可更好地求平均值與趨勢,通過求平均值來感知機器人所處的區域,然后更好地處理進攻與防守的策略。通過團隊實踐得出該運動中機器人所處灰度位置(平均值)(a-100)+b+c+(d-200)>2較為準確,而我們就可以根據不同區域來實現不同的戰術。灰度的作用還可以判斷其進攻方向是向里還是向外,實踐結果得出(a-100)>(d-200)則是向里,反之向外。向里的進攻可以兇猛一些,而向外的進攻就要收斂,避免激烈碰撞所帶來的慣性失誤。
1.2.4 傳感器的選擇使用
傳感器的合理搭配使用也是取勝的關鍵。首先,能用IO口連接的不要用AD口的傳感器。AD口傳感器要先數據接收采集,然后還要將模擬量轉化為數字量再輸出,所需要的時間太多,會影響機器人的正確判斷或者失去進攻的好機會。然而由博創公司出產的12 V控制卡為主板, 采用14.7 MHz嵌入式處理器ATMGA128單片MultiFLEX 控制器IO端口有限,所以并非所有都能使用IO接口的傳感器,但是我們要知道孰輕孰重。邊緣的檢測是保證繼續比賽的重中之中,所以檢測邊緣的傳感器使用IO接口的紅外接近傳感器是最適合的。而在識別是否為敵人或者為棋子的時候,我們可以間插使用。
2 軟件的設計
2.1 總體的程序流程
首先我們應該熟讀規則,并通過分析程序需要執行的任務、完成的功能來進行軟件的設計,主程序進行宏觀控制,子程序完善功能,按照流程圖編寫程序代碼。
下面是我們總結的程序流程圖,見圖6。
這里簡要說明一下:因為規則要求是非接觸啟動機器人,所以采用了紅外邊沿檢測的傳感器,一經信號就開始執行程序。特別說明的是邊沿檢測模塊程序應優先級最高,機器人不在擂臺上的話,其他任何事物都是空談,所以這里最好做到每執行完一個模塊就執行一次邊沿檢測的程序或者設置邊沿檢測為優先級最高中。
2.2 優化于模塊化編程
這次的主控芯片是AT mega1280芯片,當我們使用 NorthStar集成開發環境進行編程的時候,我們會發現程序的可讀性還有執行效率都非常低。所以推薦如圖7所示函數結構進行編程。
創建這些子函數,能夠提高可讀性,并且提高整個程序的執行效率。相比于NorthStar的集成開發環境,多了不少靈活性,所以鼓勵大家多從這個方面書寫程序。之后自己也可以嘗試加入算法。
2.3 策略的研究
控制策略是機器人進行比賽的靈魂,在以硬件結構為輔助的情況下,運用完美的控制策略,必定使機器人贏得比賽勝利。
首先,在擂臺上的行走策略。在經歷了比賽之后,認為機器人在擂臺上的行走策略可以分為主動的和主靜的行走策略。主動的策略主要還是提倡機器人走如圖8這種路線,但是盡量改進邊沿的處理策略,使其會通過中心“武”的位置。而所謂的主靜策略就是機器人根據擂臺紙明顯的內外、灰度變化的區分,很容易使機器人到達中心位置。然后在中心位置等待“獵物”的出現,一檢測到就馬上進行攻擊,達到出奇制勝的目的。
再進一步的策略改進就是采用灰度傳感器的數值輔助判斷機器人的位置,并采取一定的動作。而且灰度僅僅只是輔助而已,因為擂臺的灰度變化受到的影響因素太多,可能是實驗室擂臺紙裕比賽時的擂臺紙不用,或者是光強的影響等,所以只建議灰度作為輔助的數據判斷,不作為主要的判斷依據。
在這里也簡介一下如果擂臺上有隊友的機器人的策略。因為武術擂臺有一些是標準平臺的,沒有配備無線模塊或者協同通信的模塊,所以在擂臺上極有可能會出現“自相殘殺”的局面。所以建議我方的機器人往“一強一弱”去書寫策略。有一輛機器人是進攻的,而另外一輛主要是負責防御還有誘騙敵方機器人,這樣子我方的2個機器人才不會出現相爭而被敵人奪利的機會。
最后檢查整體程序的時序。比如說采樣的周期、執行的周期等。力求機器人在擂臺上無論是遇到了邊沿還是遇到了敵人都能夠迅速做出反應,這樣子才能更好地占據主動。
3 結語
通過我們參與武術擂臺的實踐過程中與比賽中所得出的經驗和方法,將我們自己的見解從該文展現出來。該文簡述了我們自己對武術擂臺硬件軟件設計與策略研究的見解。武術擂臺是一項鍛煉自身能力和全面發展的項目,是實現實踐與理論相結合的平臺,不僅激發了廣大學生對機器人的熱情,更是開闊視野與培養創新能力的源泉,促進我國機器人技術的發展。
參考文獻
[1] 徐俊輝.“創意之星” InnoSTAR實驗指導書V2.0.0第二章[Z].
[2] 李煒.機器人擂臺賽中隱形設計的可行性分析[J].西安郵電大學學報,2012(S1):19-23.
[3] 龍威林.擂臺機器人的設計與制作[J].產業與科技論壇,2014(8):91-92.
[4] 李志凌,周燦,董國剛,等.武術擂臺賽無差別組機器人目標搜尋策略[J].微處理機,2013,34(6):63-65.