我正在尝试通过keras-rl在Webots中使用强化学习,但是使用主管bot重置世界会杀死整个python过程。有没有一种方法可以重设模拟而不会终止进程?
我正在运行Ubuntu,并使用IntelliJ Idea运行该机器人。
robot.simulationReset() # this resets the simulation
# here the whole process dies
修改。 我现在拥有的基本结构就像this
还尝试使用subprocess.Popen启动并杀死整个模拟器,但由于控制器未重新连接至模拟器而无法正常工作。由于某些内部逻辑阻止多次初始化,因此也无法再次初始化。
答案 0 :(得分:1)
一旦控制器与Webots相连,当确定退出/重新加载/还原时,它们将被杀死。在Webots中,这是一个很强的规则。
您应该以不同的方式考虑设计。 为什么不拥有一个包含增强学习内容的“超级脚本”,并将Webots及其控制器作为从属程序运行(设置Webots模拟,将数据发送到Webots控制器,获取结果,创建Webots实例或与现有实例通信等)? / p>