規則摘要
一分鐘看懂比賽
Section titled “一分鐘看懂比賽”你的機器人會被獨自放進一座未知的迷宮。在 8 分鐘內,在沒有你的協助下,它必須:
- 探索迷宮,不能卡住,也不能掉進坑洞。
- 找到牆上的標記(wall tokens),也就是牆上的受害者和認知目標,並回報每一個是什麼。
- 為迷宮建立地圖,並在最後傳送地圖。
- 返回出發的地方。
以下所有內容都是在詳細說明這四項工作。你現在不需要全部記住:在為每個部分撰寫程式時再回來查看即可。

機器人必須自主探索一個未知的環境,同時避免陷入麻煩。主要有三項任務:
- 在複雜的迷宮中導航而不卡住
- 準確地為環境建立地圖
- 找到並辨識牆上的標記:字母受害者(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 | 可以放在每個四分之一地塊的邊緣上 | 90° 的轉角可以變成四分之一圓的弧形 |
| 區域 4(選擇性) | 不以地塊為基礎;牆壁和障礙物可以任意放置 | 可能有箱子之類的物體,也可能需要斜向移動 |
區域之間的通道
Section titled “區域之間的通道”通道是兩側有牆的單一地塊,因此有明確的入口和出口。通道的地板顏色會告訴你它連接哪兩個區域:

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

銀色的地塊是檢查點(checkpoints),可以位於場地上的任何位置。區域 4 的通道之後會緊接著設置檢查點。發生缺乏進展後,機器人會從最後造訪的檢查點重新開始。
沼澤、障礙物和坑洞
Section titled “沼澤、障礙物和坑洞”
- 沼澤(swamps,棕色地塊)會在機器人位於其上時,讓比賽時間流逝得更快。機器人第一次進入沼澤時,時間流逝速度是 5 倍。每次重新進入同一個沼澤,倍數就再加 1,最高 x10。
- 障礙物(obstacles)可能固定在地板上,可以是任何形狀和顏色,並會影響通路的寬度。在區域 1 到 3 中,障礙物的中心一定位於地塊上,絕不會在地塊之間的邊緣上,而且每個地塊最多只有一個障礙物。
- 坑洞(holes)有黑色的邊緣。如果機器人掉進坑洞,就會發生缺乏進展。
一個地塊不會同時屬於以下多種情況:沼澤、坑洞、檢查點、起始地塊、有障礙物的地塊,或區域通道。
牆上的標記有兩種:字母受害者和認知目標。兩者都可能出現在任何牆上,包括弧形的表面。字母受害者還可能被旋轉成任何角度。

字母受害者(letter victims)是 2 cm × 2 cm 的圖片。符號代表受害者的健康狀態,而代碼就是你要回報並寫在地圖上的字母。
| 狀態 | 符號 | 代碼 |
|---|---|---|
| 受傷(Harmed) | Φ | H |
| 穩定(Stable) | Ψ | S |
| 未受傷(Unharmed) | Ω | U |

有些牆上的標記顯示相同的符號,但字母是立體的。它們是假受害者(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)、陀螺儀和加速度計。
- 模擬的感測器具有接近真實的雜訊。你的程式必須能夠應付雜訊,而主辦單位不會在比賽時改變雜訊程度。
- 機器人必須是自主的。每隊在場地上有一台機器人。
- 禁止預先建圖:這包括場地和牆上標記的位置,也包括根據已知位置預先設定的移動。違反者會立即被取消該輪的資格。
進行一場比賽
Section titled “進行一場比賽”- 一場比賽持續 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。請參閱地圖規則。
一場比賽的場地分數計算方式如下:

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

如何準備、必須繳交的文件、比賽架構和最終分數,請參閱賽前準備。
現在你知道你的機器人要做什麼了,接下來取得你的機器人。
