跳转到内容
中文(简体)

首次运行

在本页中,你将在机器人上运行一个完整的程序,并学会使用 Erebus 控制窗口。你需要先安装好 Erebus,并准备好你的机器人。

下面是你下载的发布包中的主要文件夹:

文件夹 内容
game/worlds 各个世界(.wbt 文件)。打开其中一个就可以开始。
game/logs 每场比赛结束时写入的比赛日志
player_controllers 示例控制器
  1. 在 Webots 中打开 game/worlds/world1.wbt。
  2. Webots 会在你的网页浏览器中打开 Erebus 控制窗口(Main Supervisor 的机器人窗口)。你在这里加载程序并运行比赛。

Erebus 控制窗口

部分 用途
左侧 LOAD(笔记本电脑图标) 加载机器人的控制器程序
右侧 LOAD(机器人图标) 加载你的机器人(.json 文件)
TOGGLE REMOTE 让在 Webots 外部运行的程序控制机器人。请参阅 Remote Controller。
Docker path 包含 Dockerfile 的文件夹,可以用播放按钮旁边的 Docker 按钮在容器中运行你的控制器。请参阅 erebus-dockerfiles 仓库。这是可选的。
Settings 链接和选项,见下文
Worlds 切换到另一个世界
Reset 重置已加载的程序和比赛
Give up! 结束比赛
计时器 比赛时间,下方括号中是真实时间。任意一个到达 0 时比赛结束。
计算器 当前得分

下载 maze.py,这是一个让机器人在迷宫中四处行驶的完整程序。你将在迷宫导航中亲手编写这个程序。

  1. 打开 game/worlds/world1.wbt。
  2. 如果还没有加载机器人,请用右侧 LOAD 按钮加载它。世界会连同机器人一起重新加载。
  3. 用左侧 LOAD 按钮加载 maze.py。程序加载后,这个按钮会变成橙色的 REMOVE 按钮。
  4. 按下开始按钮。机器人会出现在世界中并开始移动。 开始按钮
  5. 要暂时让机器人停下,请按暂停按钮。 暂停按钮
  6. 如果机器人被卡住了,请按重新开始按钮来触发缺乏进展(Lack of progress)。它会把机器人移回它最后到达的检查点,并扣 5 分。 缺乏进展按钮
  7. 按 Reset 按钮可以重置已加载的程序和正在进行的比赛。如果比赛结束后想再运行一次,请重新加载世界。

这个程序需要 OpenCV,你已经和其他 Python 库一起安装了它。程序输出的消息和错误会显示在 Webots 控制台中。

比赛进行时,得分历史记录会显示在窗口底部。它会准确地告诉你为什么得分或扣分,所以它是检查程序的最佳工具。

比赛期间的控制窗口,显示了得分历史记录

比赛结束时,同样的信息会保存在 game/logs 文件夹中。

按 Worlds 切换到另一个世界。每个世界都有一张缩略图,你也可以添加用 World Editor 制作的自己的世界。

控制窗口的 Worlds 标签页

Erebus v26.1 自带的世界有:

世界 用途
world1.wbt、world2.wbt 示例世界。world2.wbt 包含区域 4。
world3.wbt、world4.wbt 更大的示例世界,还包含假受害者
mapping_example_1.wbt 至 mapping_example_3.wbt 用来测试建图的世界。请参阅地图规则。
NewPassages.wbt 区域之间通道的示例

控制窗口的 Settings 标签页

设置 用途
Keep controller/robot files 重新加载世界时,保持程序和机器人处于加载状态
Disable automatic LoP 停用 20 秒后自动触发的缺乏进展。仅用于调试。
Automatic camera 让视角跟随机器人
Recording 把比赛录制成视频
Keep remote controller on 重新加载世界时,保持 TOGGLE REMOTE 开启
Enable debugging 在 Webots 控制台中打印额外的信息,例如某次墙面标识的报告为什么被拒绝

顶部的链接通向更新日志,以及制作世界和机器人的工具。要制作符合 2026 年规则的世界,请使用 World Editor。

手动把机器人移到你想要的位置

Section titled “手动把机器人移到你想要的位置”

在仿真窗口中点击机器人时,会出现红、绿、蓝三色箭头。用鼠标拖动这些箭头,就可以把机器人移到任意位置。注意,程序启动之后机器人才会显示出来。 在 Webots 中选中的机器人,带有用于移动它的箭头

你已经看到机器人自己进行探索了。现在来学习如何亲手为它编程:从第一个程序开始。