1

我正在尝试在带有 keras-rl 的 Webots 中使用强化学习,但是使用主管 bot 重置世界会杀死整个 python 进程。有没有办法在不终止进程的情况下重置模拟?

我正在运行 Ubuntu 并使用 IntelliJ Idea 来运行机器人。

robot.simulationReset() # this resets the simulation
# here the whole process dies

编辑. 我现在的基本结构是这样的

还尝试使用 subprocess.Popen 启动并终止整个模拟器,但由于控制器没有重新连接到模拟器,因此无法正常工作。由于某些内部逻辑多次阻止初始化,它也无法再次初始化。

4

1 回答 1

1

一旦控制器与 Webbot 连接,当模拟退出/重新加载/恢复时,它们肯定会被杀死。这是 Webots 中的一个强有力的规则。

你应该以不同的方式思考你的设计。为什么不拥有一个包含强化学习内容的“超级脚本”,并将 Webbot 及其控制器作为从属运行(设置 Webot 模拟、将数据发送到 Web 控制器、获取结果、创建 Web 实例或与现有实例通信等)?

于 2019-09-04T07:03:11.690 回答