跳转到内容
中文(简体)
这是 Erebus v26 的文档,该版本已不是最新版本。查看最新文档

Windows

在同一台电脑上运行比赛服务器和控制器程序

Section titled “在同一台电脑上运行比赛服务器和控制器程序”

首先,试着在同一台电脑上运行比赛服务器和你的控制器程序。这和比赛时的设置不同,但很适合在本地调试。

打开世界,在控制窗口中按下“TOGGLE REMOTE”。按钮变成橙色,表示远程模式已开启。
TOGGLE REMOTE 按钮

如果控制窗口没有显示,请在 Scene Tree(场景树)中右键点击“DEF MAINSUPERVISOR Robot”,然后选择“Show Robot Window”。
Show Robot Window 选项

打开 PowerShell。通常可以在应用程序列表中找到它。
应用程序列表中的 PowerShell

在 PowerShell 中运行下面的命令,把 <Your controller path> 替换为你的控制器程序的路径。

webots-controller.exe <Your controller path>

如果找不到这个命令,请使用它的完整路径,默认是 C:\Program Files\Webots\msys64\mingw64\bin\webots-controller.exe。

如果你不知道控制器程序的路径,可以把这个文件拖放到 PowerShell 窗口中,它的路径会自动填入。
把文件拖入 PowerShell 窗口

然后按 Enter 键运行命令。控制器会连接到 Webots,并等待比赛开始。

在控制窗口中按下开始按钮,开始仿真。
控制窗口的开始按钮

要停止比赛,请在 PowerShell 中按 Ctrl+C,停止你的程序。

仿真结束时,Erebus 的比赛管理器也会随之停止。要再运行一次比赛,请重新加载世界。
Webots 的重新加载按钮

在另一台电脑上运行比赛服务器

Section titled “在另一台电脑上运行比赛服务器”

这是正式比赛中使用的设置。运行你的控制器的电脑(客户端)和运行比赛的电脑(服务器)必须连接到同一个网络。

  1. (服务器)在服务器上启动 Webots,打开世界,并在控制窗口中开启远程模式。
  2. (服务器)查出服务器的 IP 地址。请参阅在 Windows 中查找 IP 地址。
  3. (客户端)在 PowerShell 中运行下面的命令,把 <Your controller path> 替换为你的控制器程序的路径,把 <Server IP address> 替换为上一步查到的 IP 地址。
    webots-controller.exe --protocol=tcp --ip-address=<Server IP address> <Your controller path>
  4. (服务器)按下开始按钮,开始比赛。

如果控制器无法连接,请检查两台电脑能否互相访问,服务器的防火墙是否允许 TCP 端口 1234,以及 Webots 首选项(Preferences)的 Network 标签页中的允许 IP 列表是否为空或包含客户端。

有关这套设置的更多细节,请参阅 Webots 指南。