


















摘" 要: 面向本科機器人方向實踐教學,設計一款輪式格斗機器人。該機器人可以實現自主登臺、自動巡航、自主視覺尋敵攻擊、落臺后重新登臺等功能。首先,進行機器人的機械結構設計。通過合理的機械結構設計以及合理的傳感器安裝布置,可以有效改善機器人的結構強度、靈活性、穩定性和機動性。其次,進行機器人控制系統設計,其中,包括機器人控制系統元器件選型設計、機器人的控制策略及控制算法設計、路徑規劃算法設計、目標識別與視覺跟蹤算法設計。最后,采用現場測試的方法對機器人的性能進行優化提升。在不同環境下,通過機器人現場表現進行測試和分析,評估機器人的性能和穩定性,并針對性地進行改進和優化。通過輪式格斗機器人的設計與實現訓練,有助于提升機器人工程專業本科生在機器人領域的設計實踐和問題分析能力。
關鍵詞: 格斗機器人; 機械結構設計; 控制系統設計; 控制策略; 路徑規劃; 目標識別; 視覺跟蹤
中圖分類號: TN876?34; TP273" " " " " " " " " "文獻標識碼: A" " " " " " " " " " " 文章編號: 1004?373X(2025)02?0124?07
Design and implementation of wheeled fighting robot
LI Hui, CAO Yuehua
(School of Information Engineering, Hangzhou Dianzi University, Hangzhou 310000, China)
Abstract: A wheeled fighting robot is designed for the practical teaching in undergraduate robotics direction. This robot can achieve functions such as autonomous staging, automatic cruising, autonomous visual enemy search and attack, and re?staging after landing. The design of mechanical structure of robot is conducted. The reasonable mechanical structure design and reasonable sensor installation arrangement can effectively improve the structural strength, flexibility, stability and mobility of the robot. The design of robot control system is conducted, which includes the lectotype design of components for robot control systems, the design of control strategies and algorithms for robots, the design of path planning algorithms, and the design of target recognition and visual tracking algorithm. The field testing method is used to optimize and improve the robot performance. In different environments, the robot field performance is tested and analyzed to evaluate the performance and stability of the robot, and the targeted improvement and optimization are carried out. The design and realization training of wheeled fighting robot is helpful to improve the design practice and problem analysis ability of robot engineering undergraduates in the field of robot.
Keywords: wheeled fighting robot; mechanical structure design; control system design; control strategy; path planning; target recognition; visual tracking
0" 引" 言
習近平總書記于2018年9月10日在全國教育大會上的講話提到“要在增強綜合素質上下功夫,教育引導學生培養綜合能力,培養創新思維。”在本科生的機器人專業課程中,實驗是研究性教學環節的重要組成部分,因此,研究一個適當的實驗設計對人才培養有很大的幫助。
隨著科學技術的不斷發展,國內的輪式格斗機器人得到了迅猛的發展。輪式格斗機器人競賽是機器人競技運動中的一項重要比賽,其比賽形式以機器人之間的對戰為主,目的是在保證機器人安全的前提下,通過技術、策略、配合等多種因素的競爭,讓機器人之間進行搏斗,以檢驗其機械結構的穩定性和智能控制的水平。國內輪式格斗機器人競賽已經經歷了多年的發展,其中不乏一些知名的比賽,例如,中國機器人大賽暨RoboCup世界杯中國賽、Robomaster、中國高校智能機器人創意競賽等。本文的研究重點在于如何設計出一套高效的控制系統,從而使輪式格斗機器人能夠穩定運動并實現對抗任務的目標,進而提高學生的學習熱情、動手能力,提升學生的科研素質,實現立德樹人的目標。
1" 輪式格斗機器人設計要求
本文設計一款輪式格斗機器人,可以對不同情況完成不同的功能性任務,大致分為以下幾種。
1) 擂臺臺上臺下自主識別。機器人需要辨識出自身所處的環境,因為擂臺臺上與臺下的運動邏輯完全不同,擂臺臺上臺下的識別作為基礎功能尤為重要。
2) 擂臺下運動。機器人需要自主識別擂臺下場景,辨識出機器人處于擂臺下過道區還是在擂臺邊角區,自主完成擂臺下路徑規劃和自主登臺。
3) 擂臺上運動。機器人的擂臺上運動要保證不掉臺,并制定機器人的運動路線邏輯,確保運動效率最高化。
4) 能量塊與敵人識別。場地擂臺上放有敵方能量塊、我方能量塊、中立塊,其中我方能量塊不能被推下擂臺,若被推下就會失去積分,而推下敵方能量塊、中立能量塊會獲得積分。機器人需要對檢測到的物體或者在推動的物體進行識別,以確保推動的運動可以獲得最多的積分。除了能量塊,還需識別出是不是敵方機器人,完成對敵方的攻擊和防御運動。
實驗所用比賽擂臺圖如圖1所示。擂臺包括擂臺臺上部分和擂臺臺下部分,其中臺上擂臺部分高于臺下擂臺部分,是一個的正方形高低臺組合體。臺上部分的底色從外側四角到中心分別為純黑到純白漸變的灰度顏色。而臺下擂臺位于臺上擂臺之下,也呈正方形形狀,主要為純黑色的灰度顏色,臺下出發區的顏色不同于擂臺臺下純黑灰度顏色。擂臺臺面上放有不同AprilTag二維碼的能量塊,機器人推動不同能量塊會獲得不同的加分。對抗簡要來說為:雙方機器人要從出發區啟動,并從兩個出發區自主完成登臺,機器人要在擂臺上實現對能量塊或是敵方機器人的推動。
2" 輪式格斗機器人硬件設計方案
輪式格斗機器人主要包含硬件和軟件兩個部分。其中硬件部分包括機器人的傳感器、控制器、執行器和電子電路等,用于環境感知、控制機器人的狀態和動作。
2.1" 機械結構設計
輪式格斗機器人結構框架的設計是至關重要的,良好的結構框架可以為機器人提供必要的支撐和保護,使其具有良好的穩定性和抗擊打性。考慮機器人的穩定性、重心、布線和傳感器等問題時,需要仔細設計適合機器人的結構框架。同時,合理的結構框架還能夠使機器人的重量和尺寸達到最優化,在對抗過程中獲得更好的表現。
機器人前部安裝鏟子結構,可以實現推動敵方機器人和保護己方機器人。機器人后方安裝倒三角結構,可以提高機器人上臺效率。機器人倒三角結構及實物圖如圖2~圖4所示。考慮機器人可能會受到撞擊的沖擊以及機器人主體的質量的限制要求,采用高強度、輕質、耐磨損和抗腐蝕的碳纖維材料作為支撐底板,并使用CNC精密加工技術進行切割和打孔。
2.2" 電路硬件設計
電路硬件主要包括主控制電器即Multiflie?AI控制器(包含樹莓派4B和拓展板)、USB攝像頭、CDS5516舵機、BDMC1203電機驅動板及其配套電機、傳感器、電源等多個元件,這些模塊共同完成機器人的硬件設計。各個模塊之間連接示意圖如圖5所示。
2.3" 控制系統設計
機器人控制系統流程為:攝像頭和傳感器讀取擂臺的環境數據和圖像,將傳感器數據和圖像數據傳輸到控制器進行算法分析,判斷出所處的環境以及圖像識別信息,控制器將發送控制指令至執行器舵機和電機驅動板來控制機器人的整體運動以及鏟子和攝像頭的角度運動。控制系統流程如圖6所示。
3" 輪式格斗機器人軟件程序設計
輪式格斗機器人對抗實現主要包括擂臺位置的判斷、目標尋找、視覺檢測、機器人運動控制等程序。機器人會在等待接收揮手信號后啟動默認的登臺動作。機器人登臺后,開始在擂臺上進行敵人檢測,如果機器人檢測到了敵人,會對目標識別并讀取其AprilTag二維碼數值。接下來,機器人會執行攻擊或者規避動作,具體取決于識別結果。在執行攻擊動作時,機器人需要確保攻擊的準確性和效果。在執行規避動作時,機器人需要避免碰撞和受到攻擊,同時保持機器人的穩定性和平衡性。輪式格斗機器人軟件設計流程如圖7所示。
傳感器安裝及功能表如表1所示。傳感器安裝位置圖如圖8所示。傳感器安裝實物圖如圖9所示。灰度傳感器安裝在機器人的底板上,調用self.controller.adc_data[8]函數來讀取灰度傳感器在AD8串口反饋的電壓值。通過灰度傳感器的測量值和設定的適當閾值,可以將電壓值與臺上和臺下的灰度情況進行比較。如果電壓值超過了設定的閾值,可以判斷機器人處于臺上;反之,如果電壓值低于閾值,則可以判斷機器人處于臺下。經過實測獲得的灰度數據如表2所示。通過對比發現在擂臺的臺上角落區域和臺下區域的灰度值最相似,需要設置合理的閾值加以區分。因此,設置385為判斷閾值,即可滿足臺上臺下檢測程序的功能實現。
3.1" 輪式格斗機器人臺下位置檢測
通過紅外光電傳感器和紅外測距傳感器來判斷擂臺位置。傳感器安裝位置可分為上下兩層,利用擂臺高度低于圍欄高度的特點,底部傳感器與頂部傳感器分別安裝在不同高度,共同作用于檢測自身狀態和四周環境信息,從而實現臺下位置的檢測。
以左側面檢測為例,實際測試數據表如表3所示。如果左面底部傳感器和頂部傳感器都未檢測到物體,則機器人認為此面沒有物體,可能為臺下過道;如果底面傳感器探測到物體,同時頂部傳感器未探測到物體,則機器人認為此面物體較低,為擂臺;如果左面底部傳感器和頂部傳感器同時檢測到物體,則機器人認為左面物體較高,為圍欄;如果遇到僅頂部傳感器檢測到物體,但底部未檢測到,該條件可能由于環境因素導致傳感器未能成功檢測到物體,頂部傳感器有識別結果,識別結果左面為圍欄。圍欄與擂臺識別邏輯圖如圖10所示。
如圖10所示,對機器人臺下情況進行記錄并判斷,準確地找到輪式格斗機器人所在的臺下位置。臺下的環境情況大體可以分為過道、拐角等。判斷完所在的擂臺臺下的場景環境后,將判斷出的環境進行編號并反饋至機器人擂臺臺下運動程序,最后實現登臺動作。通過這種方式能夠準確地判斷機器人當前所處的位置,并根據不同的位置做出相應的行動。這使得機器人能夠在格斗過程中,根據實際情況進行自主的決策和動作,從而提高其競爭力和適應性。
3.2" 輪式格斗機器人臺上位置檢測
擂臺臺上邊緣檢測程序主要依靠機器人四周的紅外光電傳感器,傳感器面對有物體遮擋的情況,輸出低電壓,而無物體遮擋的時候輸出高電壓。控制器通過對io口信號的電壓高低進行測試,從而判斷出該方向面是否懸空。例如:當4個方向的紅外光電傳感器都可以檢測到臺面時,紅外光電傳感器都會向io口輸入低電平,機器人就可以判斷出為無邊緣的狀態并執行巡航動作;若是有單個方向傳感器沒有探測到擂臺臺面,則會在io口輸入高電平,機器人可以判斷出哪一個方向出現懸空狀態,即檢測到邊緣,并執行倒車拐彎動作達到脫離邊緣的動作。邊緣檢測實際測試數據表如表4所示。
3.3" 輪式格斗機器人尋找敵方目標
輪式格斗機器人位于臺上時需要推動敵方能量塊、躲避敵方攻擊和推動敵方機器人。為了完成以上功能,設計目標尋找和目標識別兩大模塊。
1) 目標尋找通過傳感器尋找。利用扇形結構,紅外測距傳感器對機器人周邊環境探測并反饋ad電壓讀數,判斷出機器人四周是否存在障礙物遮擋,通過比較各個接口的檢測結果,判斷出敵人所在的位置。敵人檢測實際測試數據表如表5所示。當多個傳感器探測到敵方時,各個位置傳感器的判斷權重優先級為前優先,即在安裝前部的傳感器探測的反饋優先判斷。程序enemy_detect()中主要的判斷結果有:前有敵人、左側有敵人、右側有敵人、后有敵人等。
2) 目標識別主要使用攝像頭對圖像進行識別。當傳感器探測到四周存在遮擋時,機器人會使用舵機控制語句將攝像頭轉向遮擋區域,并使用OpenCV對傳輸的圖像進行分析,調用AprilTag檢測庫,用于檢測和識別圖像中的二維碼。通過反饋二維碼識別結果來控制機器人的運動方向。為了避免多個二維碼對機器人的運動控制產生干擾,在傳感器檢測到障礙物的情況下,圖像中存在多個二維碼,機器人讀取并記錄每個二維碼的4個角點坐標,再計算其面積,將這些數據保存到相應的數組中。然后通過限制面積閾值來防止遠處二維碼誤識別,并將面積最大的二維碼作為判斷結果,進而執行機器人的動作。
4" 輪式格斗機器人的優化
4.1" 機器人運動模式的優化
在調試過程中會出現機器人的前進速度過快,邊緣檢測識別來不及反饋,導致機器人沖下擂臺。改進方案為:利用比賽場地底色從四周到中心分別為純黑到純白的漸變環境,灰度值會在擂臺不同區域反饋不同值,可以設定一個灰度安全區范圍,在此范圍內,機器人可以以正常速度運動;當灰度值低于安全范圍區時,將機器人的移動速度提前降低,從而解決機器人過快沖下臺的問題。
當位于擂臺臺下時,由于傳感器無法完整檢測機器人后方情況,可能會出現只有傳感器探測位置恰好為擂臺,而部分沒有擂臺的情況,機器人的識別結果可能滿足登臺的情況,導致登臺失敗。改進的方案是利用安裝于機器人后部的擂臺邊緣檢測的傳感器,在登臺動作前會對擂臺完整性進行檢測,以確保滿足登臺條件。若兩個傳感器同時檢測到障礙物,則確保登臺的位置為完整的擂臺;若是有一邊沒有檢測到障礙物,則登臺位置為不完整的擂臺,需要進行位置糾正。
4.2" 機器人臺上臺下檢測的優化
出發區的地板為正藍色和正黃色,顏色不同于臺下純黑色區域,因此僅使用灰度值讀取判斷擂臺,機器人可能會被誤判為處于臺上狀態。為了解決這個問題,需要使用程序上的邏輯輔助判斷。機器人如果處于臺上,必然使用了“登上擂臺”語句;反之,如果機器人處于臺下,必然使用了“檢測到邊緣”語句。因此,在讀取這兩個特殊灰度值時,需要讀取機器人的歷史程序,判斷是否使用了“登上擂臺”語句或“檢測到邊緣”語句。如果機器人未使用“登上擂臺”語句,并且灰度傳感器讀取的灰度值為正藍色或正黃色,可以判斷出機器人處于出發區;如果機器人使用了邊緣檢測程序并判斷出機器人掉下了擂臺,同時灰度傳感器讀取的灰度值為正藍色或正黃色,也可以判斷出機器人掉下了擂臺并處于出發區。
4.3" 視覺算法的優化
在調試過程中會出現長時間無敵人巡航模式,但在該巡航過程中機器人可以在視覺部分看到能量塊,利用此巡航模式時間可以提高工作效率。在巡航模式下加入視覺部分算法,輔助機器人運動,當出現可以推動的能量塊,視覺算法會提取AprilTag二維碼4個角點的橫軸坐標,并計算AprilTag二維碼中心點的橫軸坐標。如果可推動能量塊的二維碼橫軸坐標不在機器人畫面的中心區域,機器人的視覺算法將反饋移動指令對機器人運動進行優化,以提高效率。
視覺輔助情況及視覺輔助運行結果圖如圖11、圖12所示。機器人在四周傳感器沒有檢測到障礙物的情況下,機器人認為處于四周無敵人的狀態,開始進行視覺的輔助運動。當前狀態左邊為敵方能量塊,右邊為己方能量塊,機器人通過視覺檢測,識別出多個二維碼并判斷出右邊為己方能量塊左邊為敵方能量塊,開啟視覺輔助運動語句,輔助機器人向左移動,從而實現推動敵方能量塊并避免誤推己方能量塊的目的。
5" 結" 果
經過不斷的優化,筆者帶著這款輪式格斗機器人參加了浙江省智能機器人大賽,輪式格斗機器人對抗、識別目標能量塊的場景如圖13、圖14所示。最終經過激烈的角逐,筆者取得浙江省第一名的好成績。最終結果也驗證了這款輪式格斗機器人具有良好的性能,可以實現前面設計要求的所有功能,即機器人自主登臺、自動巡航、尋敵攻擊、掉落后重新登臺等。
6" 結" 語
1)" 整個輪式格斗機器人的設計過程不僅包括硬件電路的設計制作,還包括軟件設計、機器人優化等,整個過程適合機器人專業的實踐課程。整個實踐過程以學生為中心,使學生的學習興趣和研究興趣更濃、 自主能動性更強,有利于學生的實際動手能力、知識應用能力和創新能力的提高。
2) 整個輪式格斗機器人制作過程中,學生不僅能夠進行深入的理論知識學習,還可以提升動手能力和學術研究能力。通過一些競技性比賽不斷地完善輪式格斗機器人的設計,可以提高學生的熱情,使學生們獲得更多榮譽和成就,提升自信心,最終實現立德樹人的根本任務。
參考文獻
[1] 殷孝雎,周莉,孫志強,等.基于視覺識別的隨動機械臂實驗裝置設計[J].實驗技術與管理,2023,40(11):168?174.
[2] 林昀軒,劉超,包建榮,等.通信實驗數據的分布式智能無線傳輸及共享方案[J].實驗室研究與探索,2021,40(7):116?120.
[3] 張禮廉,屈豪,毛軍,等.視覺/慣性組合導航技術發展綜述[J].導航定位與授時,2020,7(4):50?63.
[4] 馬學條.改進AOD?Net的端到端圖像去霧實驗研究[J].實驗室研究與探索,2023,42(7):38?43.
[5] 馬晨,蘇易衡,張紫鈺,等.全向移動式智能安防機器人[J].實驗室研究與探索,2023,42(7):94?98.
[6] 陳海明,石海龍,李勐,等.物聯網服務中間件:挑戰與研究進展[J].計算機學報,2017,40(8):1725?1749.
[7] 蔡澤利,譚振江.物聯網智能無線節點自動監控數據采集系統設計[J].現代電子技術,2018,41(4):183?186.
[8] 曾毅,劉成林,譚鐵牛.類腦智能研究的回顧與展望[J].計算機學報,2016,39(1):212?222.
[9] 李磊,葉濤,譚民,等.移動機器人技術研究現狀與未來[J].機器人,2002(5):475?480.
[10] LIU P H, CHEN H C, DU Y Z. Design of multifunctional intelligent security robot based on single chip microcomputer [J]. Journal of physics: conference series, 2019(3): 1187.
[11] 楊志勇,黃文鋒,劉燦.基于樹莓派的遠程控制智能拍照小車[J].現代電子技術,2019,42(8):168?170.
[12] 張國營,劉鳳林,李進香,等.以STM32F103為核心的智能滅火機器人[J].單片機與嵌入式系統應用,2014,14(3):73?75.
[13] 張偉,鄒自明.RoboCup擂臺賽機器人控制系統設計[J].山東理工大學學報(自然科學版),2011,25(5):19?22.
[14] 傅思勇.基于CDS5516的智能機器人的設計[J].無線互聯科技,2013(4):112.
[15] 韓宇,張磊,吳澤民,等.基于嵌入式樹莓派和OpenCV的運動檢測與跟蹤系統[J].電視技術,2017,41(2):6?10.