通过模拟
Step through simulation
是否可以通过(主管)API控制模拟/世界/物理步骤?
(在继续模拟之前,需要进行外部 ML 评估和行动干预)
这和Controlling Webots simulation step有点关系,但是Fabien的回答只是描述了如何控制模拟机器人,并没有描述整个模拟的step。 worldInfo 节点在 API 指南中似乎没有阶跃函数。
我仔细看了看,原来机器人节点有一个同步域,它保证世界步暂停,直到机器人步执行。 (Fabien在原问题的第二个回答中也提到了这一点)
If synchronization is TRUE (the default), the simulator will wait for the controller's wb_robot_step function call whenever necessary to keep the simulation and the controller synchronized. So for example if the simulation step (WorldInfo.basicTimeStep) is 16 ms and the control step is 64 ms, then Webots will always execute precisely 4 simulation steps during one control step. After the 4th simulation step, Webots will wait for the controller's next control step (call to wb_robot_step(64)).
https://cyberbotics.com/doc/reference/robot#synchronous-versus-asynchronous-controllers
我假设(时间密集型)ML 方法或云执行,最好激活同步以避免 运行-away physic/world 模拟步骤。如果您想训练机器人的不同反应速度,可能会在 运行 时间内对机器人的步数进行随机调制(毫秒到几秒)以模拟异步设置。但如果有更好的方法,请纠正我。
是否可以通过(主管)API控制模拟/世界/物理步骤? (在继续模拟之前,需要进行外部 ML 评估和行动干预)
这和Controlling Webots simulation step有点关系,但是Fabien的回答只是描述了如何控制模拟机器人,并没有描述整个模拟的step。 worldInfo 节点在 API 指南中似乎没有阶跃函数。
我仔细看了看,原来机器人节点有一个同步域,它保证世界步暂停,直到机器人步执行。 (Fabien在原问题的第二个回答中也提到了这一点)
If synchronization is TRUE (the default), the simulator will wait for the controller's wb_robot_step function call whenever necessary to keep the simulation and the controller synchronized. So for example if the simulation step (WorldInfo.basicTimeStep) is 16 ms and the control step is 64 ms, then Webots will always execute precisely 4 simulation steps during one control step. After the 4th simulation step, Webots will wait for the controller's next control step (call to wb_robot_step(64)).
https://cyberbotics.com/doc/reference/robot#synchronous-versus-asynchronous-controllers
我假设(时间密集型)ML 方法或云执行,最好激活同步以避免 运行-away physic/world 模拟步骤。如果您想训练机器人的不同反应速度,可能会在 运行 时间内对机器人的步数进行随机调制(毫秒到几秒)以模拟异步设置。但如果有更好的方法,请纠正我。