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