【问题标题】:Step through simulation逐步模拟
【发布时间】:2020-01-18 20:50:15
【问题描述】:

是否可以通过(主管)API 控制模拟/世界/物理步骤? (在继续模拟之前,外部 ML 评估和行动干预需要这样做)

这与Controlling Webots simulation step 有点相关,但是 Fabien 的回答只描述了如何控制模拟机器人,而不是逐步控制整个模拟。在 API 指南中,worldInfo 节点似乎没有步进函数。

【问题讨论】:

    标签: webots


    【解决方案1】:

    我仔细看了看,发现机器人节点有一个同步字段,它保证世界步骤被暂停,直到机器人步骤被执行。 (法比恩在原问题的第二个回答中也提到了这一点)

    如果同步为 TRUE(默认),模拟器将等待控制器的 wb_robot_step 函数调用,以保持模拟和控制器同步。例如,如果模拟步骤(WorldInfo.basicTimeStep)为 16 毫秒,控制步骤为 64 毫秒,那么 Webots 将始终在一个控制步骤中精确执行 4 个模拟步骤。在第 4 个模拟步骤之后,Webots 将等待控制器的下一个控制步骤(调用 wb_robot_step(64))。

    https://cyberbotics.com/doc/reference/robot#synchronous-versus-asynchronous-controllers

    我假设对于(时间密集型)ML 方法或云执行,最好激活同步以避免物理/世界模拟步骤失控。如果您想训练机器人的不同反应速度,可能会在运行时对机器人的步数进行随机调制(毫秒到几秒)以模拟异步设置。但如果有更好的方法,请纠正我。

    【讨论】:

    • 你是完全正确的,并不是说同步默认设置为 TRUE。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2018-07-29
    • 2016-03-25
    • 1970-01-01
    相关资源
    最近更新 更多