2008年的國際機器人足球比賽,美國某大學這樣要求重賽_風聞
困了12-2021-08-01 17:52
【本文原標題為“説個封塵已久的小故事”,風聞社區有修改】
2008年是個驚異的一年,發生了太多讓人難以忘懷的大事件,一些發生在自己身邊的小事,現在再想起來還能觸動到自己。今天閒下心來説個發生在當年的小故事,自己不是主角,為了敍述方便,就用第一人稱了。自己文筆不咋地,就爆個流水賬,各位看個樂呵啊。
為了配合2008年的奧運會,國際機器人足球大賽(RoboCup)第一次在中國蘇州舉辦。我當時在讀博,有幸在中科大陳小平教授領導下的藍鷹四足(標準平台)機器人隊裏當了個跑龍套,參加了整個比賽。這次比賽也是在RoboCup標準平台賽中最後一次使用索尼AIBO機器狗來打比賽。

整個賽事熱鬧非凡,我們隊穩紮穩打,一步步有驚無險地走到了半決賽。也算是第一次擠進了強隊之列。當時的半決賽是和美國得克薩斯大學奧斯丁分校(UTAustin)隊對壘的。應該説UTAustin可能名氣沒麻省理工那麼響,但在理工科,工程方面在美國也絕對是第一梯隊。他們隊常年在機器人足球賽中名列前茅。所以當時估計這場比賽會打得非常艱苦,贏的機率並不高,然而實際比賽進程居然出乎意料得順利。
上半場5比0,下半場不一會兒就到了6:1了。
正當整個團隊的神經慢慢放鬆下來,準備迎接最後的勝利時,一直在場邊焦躁着來回踱步的UTAustin(學生)領隊忽然緊盯住正在場上比賽中我們隊的一隻機器狗,手直直地指着它大叫起來“foul,foul”,着實把在場所有在全神貫注看比賽的人都嚇了一大跳(説實話之前都沒注意過他一直在做什麼)。
比賽被這麼一打斷自然就瞬間暫停了。比賽裁判和雙方團隊成員都圍了過來。UTAustin領隊極其激動地指着我們的機器狗説,他們的燈亮着,他們的燈亮着,這是嚴重犯規,這場比賽無效之類的話。
AIBO當初是索尼作為娛樂開發的機器狗,身上佈滿了不同樣式的LED,平時開啓不同顏色的LED表演起來會非常好看。在用作為比賽機器人平台,我們也會利用它身上的幾個LED(尤其是耳邊的兩個)來顯示機器狗狀態從而來調試代碼。比如顯示綠色代表機器狗能看到比賽用的菊紅色小球,顯示黃色代表看不到小球。
機器人足球賽比賽守則上有條要求參賽隊在比賽中不使用LED以免造成不必要的干擾。
看來這次大家都關注着調試機器狗能在場發揮的代碼和參數,沒人想起要最後關閉LED。這真是個不大不小的紕漏。用LED顯示機器狗狀態是所有隊不成文的通用辦法,以至於所有人都熟視無睹,包括UTAustin領隊直到下半場比賽將要結束之際才看出來。
這下麻煩了,UTAustin隊堅決表示本場比賽無效,我們嚴重犯規,甚至要立刻上報比賽組委會要求取消我們隊的參賽資格。我們這邊幾個主要團隊成員(我自以為自己英語還過的去,也湊上去了),也圍着比賽裁判理論:
沒關閉LED是我們無意中的失誤,淺淺的黃色條形色塊跟比賽用的菊紅色小球 在色彩和形狀上完全不同,不應該造成機器狗視覺上的判斷錯誤,對比賽不會造成直接影響。沒關LED的情況以前也在其他隊出現過等等。就這樣拉鋸戰了十多分鐘,期間陳老師跑過來詢問發生了什麼,由於他是這次賽事組委會的主要成員,不能偏袒自己隊伍,只有讓我們自己去爭取了。
最終於三方達成一致,本場比賽被宣佈無效,當天晚上擇時重賽。
比賽主裁判宣佈重賽話音剛落,圍觀羣眾開始準備散去,Austin的領隊回頭要去收拾自家的機器狗,我這時靈機一動,冒出來説,重賽可以,但應該以兩隊機器狗當前的技術狀態來比,不能有任何改動才算公平。也就是説,把機器狗中存放所有運行程序記憶卡拿出來交由比賽裁判統一保存管理,誰也不能在重賽之前改動任何代碼和參數。
LED燈亮的問題我們可以用其它物理手段來消除。這回輪到Austin那邊小吃一驚。這下又僵持了幾分鐘,我和幾個同伴詳述了臨時起意的方案,終於在幾個裁判的協調下,Austin無奈交出了他們的記憶卡。

半決賽重賽被安排到當晚的九點舉行。經過幾天的賽事,所有類型的比賽都已接近尾聲。開頭兩天比賽準備期,整個場館晚上熱鬧的境況已經不復存在。大多數人都早已回各自酒店休息,圍觀觀眾也沒有了,只剩下我們兩隊的成員,裁判和幾個來幫忙的本地大學生志願者。
我們幾個隊員,晚飯都沒怎麼吃,早早回到場地,憋着氣地改造我們的機器狗:
為了在整個賽事當中我們不會遺忘丟失自家的行李和裝備,我們準備了好幾打白色的粘貼紙上面印着我們隊的名字和地址,這回用來粘貼覆蓋住機器狗上所有可發光的地方。
40多分鐘後,幾個要參賽的機器狗都被貼成了紙燈籠,經過在場裁判和Austin隊檢查確認後,比賽正式開始。我抬頭看了看場館上空聚光燈,把整個場地照得泛白,回想着白天發生的事,以及這幾天我們機器狗場上場下的技術表現,有了新的看法。沒了白天的喧囂,除了裁判不時的幾句口令,所有人都靜默不語, 整個賽場,只剩下機器狗快速移動的機械聲和塑料碰撞聲……20多分鐘的比賽很快就結束了。
結果……果然如此……
====================================================
昨天草草寫完事情的大致經過就發了上來,居然還有人看,小編也幫着改了話題。那就加點後續,順便回應一些質疑,把事情的來龍去脈講得更清楚點。
按照比賽規則,我們的確犯了不應該出現的失誤,重新比賽的確符合規則,大家都能接受。然而Austin隊一開始要求取消我們整個比賽資格和已有成績,這就非常過分,我們堅決反對。吵了一頓之後,他們似乎勉為其難地同意重賽,就像某位網友所説的,成了對你們的寬容和恩賜。其實他們根本的目的就是想重新比賽。因為他們知道為這場比賽調試的代碼參數中出了重大的問題,必須做出修改。這一切兩隊其實都看的非常清楚。
這裏多講點比賽技術細節,每次比賽開始前,所有機器狗都在場地邊上被橫列成一隊,由裁判通過比賽控制軟件給所有機器狗遠程無線發出比賽開始的命令(也就是説一旦機器狗被拿上場,排列好,控制權就交給裁判了)。機器狗們自主走上比賽場地,並自主排出自己隊的比賽隊形。這需要每個機器狗能通過自己的視覺定位系統判斷自己的位置,從而能自行走到自己應該站的位子。這自主列隊是有時間限制的,時間一到,比賽就開始了。而在這次半決賽上,Austin隊上來列隊時就表現的非常拉胯,到時間了,隊列還是稀里嘩啦,不成行。這就等於告訴我們他們的軟件系統出了問題,接下來的比賽表現就不難理解了。呵呵。
所以Austin隊真正的想法是,拿回機器狗,在重賽之前暫停休息時間內修復代碼,重刷機器狗的記憶卡,這才有可能在重賽中打贏。他們原以為我們要改正我們的失誤,必須也要重設代碼重刷記憶卡,沒有理由不讓他們做同樣的事。我們最後提出的物理消除方案徹底封死了他們改錯的機會。這才是全場精彩之處!
作為一個跑龍套的,我比賽沒出什麼大力,整個賽程期間,我都在跑東跑西觀察各隊的表現情況,然後給自己隊提供技術反饋和建議。根據我幾天對自己隊的觀察,察覺我們的系統在晚上的人造光下表現更佳。那重賽是在晚上9點。。。看官們最後要看的結果就是 7比0!