1

我想要一个控制器,它以某种方式运行 3 个进程来运行机器人的代码。

我正在尝试在 webots 中模拟人形足球机器人。为了运行我们机器人的代码,我们运行了 3 个进程。一个用于伺服电机的电源管理,另一个用于图像处理和通信,最后一个用于运动控制。

现在我想要一个控制器,让我能够以某种方式模拟这样或至少类似于它的东西。有谁知道我该怎么做?

4

1 回答 1

3

好消息:Webots API 是线程安全的 :-)

一般来说,我不建议使用多线程,因为编程线程是一个很大的问题来源。因此,如果您有任何可能将您的线程合并到一个单线程应用程序中,那么这就是您要走的路!

如果您想朝这个方向发展,最好的解决方案当然是创建一个运行您的 3 个线程的单个控制器,并将它们与主线程(线程 0)同步。

棘手的部分是正确处理时间管理和模拟步骤。一种解决方案可能是将字段设置为 FALSE 并使用主线程每次(实时)Robot.synchronization调用该wb_robot_step(duration)函数。duration

于 2019-07-22T06:47:30.293 回答