macOS
在同一台電腦上執行比賽伺服器和控制器程式
Section titled “在同一台電腦上執行比賽伺服器和控制器程式”首先,試著在同一台電腦上執行比賽伺服器和你的控制器程式。這和比賽時的架構不同,但對於在本機除錯很有用。
開啟遠端模式
Section titled “開啟遠端模式”開啟世界,然後按下控制視窗中的「TOGGLE REMOTE」。按鈕會變成橘色,表示遠端模式已開啟。

如果沒有顯示控制視窗,請在 Scene Tree(場景樹)中的「DEF MAINSUPERVISOR Robot」上按右鍵,然後選擇「Show Robot Window」。
執行你的程式
Section titled “執行你的程式”開啟終端機並執行以下指令,把 <Your controller path> 換成你的控制器程式的路徑。
export WEBOTS_HOME=/Applications/Webots.app"$WEBOTS_HOME/Contents/MacOS/webots-controller" "<Your controller path>"如果 Webots 安裝在其他位置或使用其他名稱,請相應地更改 WEBOTS_HOME,例如 "/Applications/Webots R2023b.app"。
控制器會連接到 Webots,並等待比賽開始。
按下控制視窗中的開始按鈕。機器人會出現,你的程式也會開始執行。
要停止比賽,請在終端機中按下 Ctrl+C。
模擬結束時,Erebus 的比賽管理程式也會一起停止。要再次執行比賽,請重新載入世界。
在另一台電腦上執行比賽伺服器
Section titled “在另一台電腦上執行比賽伺服器”這是正式比賽使用的架構。執行你的控制器的電腦(用戶端)和執行比賽的電腦(伺服器)必須連接到同一個網路。
-
(伺服器)在伺服器上啟動 Webots,開啟世界,並在控制視窗中開啟遠端模式。
-
(伺服器)在「系統設定」>「網路」中查出伺服器的 IP 位址。
-
(用戶端)執行以下指令,把
<Your controller path>換成你的控制器程式的路徑,並把<Server IP address>換成上一步查到的 IP 位址。終端機視窗 export WEBOTS_HOME=/Applications/Webots.app"$WEBOTS_HOME/Contents/MacOS/webots-controller" --protocol=tcp --ip-address=<Server IP address> "<Your controller path>" -
(伺服器)按下開始按鈕開始比賽。
- 控制器無法連線: 請確認兩台電腦可以互相連通(例如用
ping)、伺服器的防火牆允許 TCP 連接埠 1234,以及 Webots 偏好設定(Preferences)的 Network 分頁中允許的 IP 清單是空的或包含用戶端。 - 顯示
No robot name provided: 控制器在等待期間出現這則訊息是正常的。如果它一直沒有消失,表示遠端模式沒有開啟:請檢查 TOGGLE REMOTE 按鈕。 - 控制器找不到 Python 函式庫: 程式是用用戶端上安裝的 Python 執行的,所以請在用戶端安裝該函式庫。
官方說明文件
Section titled “官方說明文件”如需這個架構的更多詳細資訊,請參閱 Webots 指南。
