跳到內容
中文(繁體)

規則摘要

你的機器人會被獨自放進一座未知的迷宮。在 8 分鐘內,在沒有你的協助下,它必須:

  1. 探索迷宮,不能卡住,也不能掉進坑洞。
  2. 找到牆上的標記(wall tokens),也就是牆上的受害者和認知目標,並回報每一個是什麼。
  3. 為迷宮建立地圖,並在最後傳送地圖。
  4. 返回出發的地方。

以下所有內容都是在詳細說明這四項工作。你現在不需要全部記住:在為每個部分撰寫程式時再回來查看即可。

有四個區域的 Erebus 場地俯視圖

機器人必須自主探索一個未知的環境,同時避免陷入麻煩。主要有三項任務:

  • 在複雜的迷宮中導航而不卡住
  • 準確地為環境建立地圖
  • 找到並辨識牆上的標記:字母受害者(letter victims)和認知目標(cognitive targets)

場地可能分成四個區域(areas),區域之間的每條通道寬度都是一個標準地塊。地塊(tile)是用來產生場地的概念,並不是實體結構。

  • 一個地塊是 12 cm × 12 cm。在區域 2 和 3 中,每個地塊再細分成四個 6 cm × 6 cm 的四分之一地塊(quarter tiles)。
  • 牆壁厚 1 cm、高 6 cm。
  • 通路的寬度至少和機器人一樣寬,也可能通往更寬的大廳。

區域 1、2 和 3 的牆壁配置範例

區域 牆壁 備註
區域 1 可以放在每個地塊的邊緣上 起始地塊位於這個區域
區域 2 可以放在每個四分之一地塊的邊緣上
區域 3 可以放在每個四分之一地塊的邊緣上 90° 的轉角可以變成四分之一圓的弧形
區域 4(選擇性) 不以地塊為基礎;牆壁和障礙物可以任意放置 可能有箱子之類的物體,也可能需要斜向移動

通道是兩側有牆的單一地塊,因此有明確的入口和出口。通道的地板顏色會告訴你它連接哪兩個區域:

各對區域之間通道顏色的表格

通道中不會放置字母受害者。

持續沿著最左側或最右側的牆走,可以通往起始地塊的地塊稱為線性地塊(linear tiles)。其他所有地塊都是浮動地塊(floating tiles)。浮動地塊上的標記分數更高。這裡不考慮四分之一地塊,而黑色坑洞則視為虛擬的牆壁。

以灰色顯示線性地塊、粉紅色顯示浮動地塊的場地

銀色的地塊是檢查點(checkpoints),可以位於場地上的任何位置。區域 4 的通道之後會緊接著設置檢查點。發生缺乏進展後,機器人會從最後造訪的檢查點重新開始。

有沼澤、坑洞和障礙物的場地

  • 沼澤(swamps,棕色地塊)會在機器人位於其上時,讓比賽時間流逝得更快。機器人第一次進入沼澤時,時間流逝速度是 5 倍。每次重新進入同一個沼澤,倍數就再加 1,最高 x10。
  • 障礙物(obstacles)可能固定在地板上,可以是任何形狀和顏色,並會影響通路的寬度。在區域 1 到 3 中,障礙物的中心一定位於地塊上,絕不會在地塊之間的邊緣上,而且每個地塊最多只有一個障礙物。
  • 坑洞(holes)有黑色的邊緣。如果機器人掉進坑洞,就會發生缺乏進展。

一個地塊不會同時屬於以下多種情況:沼澤、坑洞、檢查點、起始地塊、有障礙物的地塊,或區域通道。

牆上的標記有兩種:字母受害者和認知目標。兩者都可能出現在任何牆上,包括弧形的表面。字母受害者還可能被旋轉成任何角度。

場地牆上的認知目標和字母受害者

字母受害者(letter victims)是 2 cm × 2 cm 的圖片。符號代表受害者的健康狀態,而代碼就是你要回報並寫在地圖上的字母。

狀態 符號 代碼
受傷(Harmed) Φ H
穩定(Stable) Ψ S
未受傷(Unharmed) Ω U

符號 phi、psi 和 omega

有些牆上的標記顯示相同的符號,但字母是立體的。它們是假受害者(fake victims):你不可以把它們回報給監督程式,也不可以把它們畫進地圖。規則指出,這個深度可以用 Robot Customizer 中提供的其中一種感測器偵測到。

牆上帶有立體符號的假受害者

認知目標(cognitive targets)代表危險物品(hazmat)。它們是直徑 5 cm 的圓形,由五個同心的部分組成,直徑分別是 1、2、3、4 和 5 cm。每種顏色都有一個數值:

黑 紅 黃 綠 藍
-2 -1 0 1 2

把五個部分的數值全部加起來,就能得到類型。如果總和不在下表中,這個目標就是假的,不可以回報,也不可以畫進地圖。

總和 危險物品 代碼
0 易燃氣體(Flammable Gas) F
1 毒性物質(Poison) P
2 腐蝕性物質(Corrosive) C
3 有機過氧化物(Organic Peroxide) O

相鄰且顏色相同的圓環不會合併:即使顏色重複,也一定要計算全部五個部分。

兩個認知目標範例,一個有效,一個是假的

左邊的目標從中心往外依序是黃、藍、紅、黑、綠:0 + 2 - 1 - 2 + 1 = 0,所以是易燃氣體(F)。右邊的目標是藍、黃、黑、黑、黑:2 + 0 - 2 - 2 - 2 = -4,所以是假目標。

牆上的標記教學說明了如何用攝影機讀取目標。

  • 各隊使用主辦單位提供的機器人模型,並可以在 3000 的預算內用 Robot Customizer 自訂。請參閱取得機器人。
  • 機器人可以使用 GPS、顏色感測器、距離感測器、RGB 攝影機、光達(LiDAR)、陀螺儀和加速度計。
  • 模擬的感測器具有接近真實的雜訊。你的程式必須能夠應付雜訊,而主辦單位不會在比賽時改變雜訊程度。
  • 機器人必須是自主的。每隊在場地上有一台機器人。
  • 禁止預先建圖:這包括場地和牆上標記的位置,也包括根據已知位置預先設定的移動。違反者會立即被取消該輪的資格。
  • 一場比賽持續 8 分鐘的模擬時間。另一個計時器以實際時間計算,上限是 10 分鐘。任一個計時器到期時,比賽就會結束。
  • 當機器人的中心位於地塊內時,該地塊就算已造訪。Erebus 會自動做出這個判斷。
  • 當機器人傳送離場指令,或隊長宣告結束比賽時(依比賽的執行方式而定),比賽也會結束。
  • 比賽用的世界會在比賽開始前才公布,而每一輪的截止時間過後,程式就不能再更改。

在以下情況會發生缺乏進展(lack of progress,LoP):

  • 機器人掉進坑洞。
  • 機器人停在固定位置 20 秒以上(自動宣告)。
  • 裁判判定機器人雖然沒有靜止,但卡在重複的動作中。
  • 機器人自主宣告。
  • 在其他情況下,隊長可以提出要求,由裁判做出最終決定。依比賽的執行方式,這一點可能不適用。

接著,機器人會被放回最後造訪的檢查點;如果它從未到達任何檢查點,則放回起始地塊。機器人的方向無法選擇。Erebus 也會傳送字母 L 給機器人,讓你的程式可以做出反應。

計分由 Erebus 自動進行。獎勵不會重複計算:例如,每個檢查點只有第一次造訪時會得分。

要辨識牆上的標記,機器人必須停止至少 1 秒,然後把類型和位置傳送給比賽管理程式。機器人的中心必須距離標記最多半個地塊。

項目 分數
區域 1 到 3 中線性地塊上的牆上標記辨識(TI) 字母受害者:5,認知目標:10
區域 1 到 3 中浮動地塊上的牆上標記辨識(TI),以及區域 4 中的所有標記 字母受害者:15,認知目標:30
類型正確(TT),額外加在 TI 之上 字母受害者:10,認知目標:20
通過檢查點(CN) 10
牆上標記誤判(TMI) -5
缺乏進展(LoP) -5

總分不會低於零。誤判是指回報的位置距離標記超過半個地塊、在沒有標記的地方回報標記,或把字母受害者回報成認知目標(反之亦然)。回報假標記屬於第二種情況。

區域倍數(area multipliers,AM):在區域 1、2、3 和 4 中,TI、TT 和 CN 分別乘以 1、1.25、1.5 和 2。TMI 和 LoP 不乘倍數。

出口加成(exit bonus,EB):如果機器人已辨識出至少一個牆上的標記,並返回起始地塊且傳送離場指令,分數會增加 10%。

地圖加成(mapping bonus,MB):機器人可以提交迷宮的地圖。倍數是正確率 × 1.2 + 1,所以完美的地圖會讓分數乘以 2.2。請參閱地圖規則。

一場比賽的場地分數計算方式如下:

場地分數等於四個區域各自的 (TI + TT + CN) × AM 總和,減去 TMI 和 LoP,再全部乘以 EB 和 MB

例如,有以下結果的一場比賽可得 2680.15 分:

分數計算的範例

如何準備、必須繳交的文件、比賽架構和最終分數,請參閱賽前準備。

現在你知道你的機器人要做什麼了,接下來取得你的機器人。