无法将控制器连接到 Webots 的特定实例

Can't connect controller to specific instance of Webots

我正在尝试将 Webots 与 stable-baselines3 结合使用以达到强化学习的目的。 我尝试将 Webot 与多个实例一起使用,但无法将控制器连接到特定实例。它主要连接到最新的。我写了一个 runtime.ini 给 WEBOT_PID 手动看起来像

[environment variables]
WEBOTS_PID=1492

甚至尝试在我的 Python 代码中设置环境变量,例如

os.environ["WEBOTS_PID"] = str(1492)
self.simulation = WebotsInterface()

它没有连接到所需的实例。

WEBOTS_PID环境变量应该在启动机器人控制器之前设置,否则不会被考虑。因此,您不能在 runtime.ini 中设置它(启动外部控制器时无论如何都会忽略它),也不能在控制器本身中设置它。我建议您编写一个脚本,首先设置 WEBOTS_PID,然后将控制器程序作为外部控制器启动。