我想要一个控制器,它以某种方式运行 3 个进程来运行机器人的代码。
我正在尝试在 webots 中模拟人形足球机器人。为了运行我们机器人的代码,我们运行了 3 个进程。一个用于伺服电机的电源管理,另一个用于图像处理和通信,最后一个用于运动控制。
现在我想要一个控制器,让我能够以某种方式模拟这样或至少类似于它的东西。有谁知道我该怎么做?
好消息:Webots API 是线程安全的 :-)
一般来说,我不建议使用多线程,因为编程线程是一个很大的问题来源。因此,如果您有任何可能将您的线程合并到一个单线程应用程序中,那么这就是您要走的路!
如果您想朝这个方向发展,最好的解决方案当然是创建一个运行您的 3 个线程的单个控制器,并将它们与主线程(线程 0)同步。
棘手的部分是正确处理时间管理和模拟步骤。一种解决方案可能是将字段设置为 FALSE 并使用主线程每次(实时)Robot.synchronization
调用该wb_robot_step(duration)
函数。duration