同步模式
在倒立摆demo中,打开 synchronous_enable = True
后,会发现仿真变慢了,接下来将对同步模式进行介绍。
# simxSynchronous()函数的第一个参数是连接的ID,第二个参数是是否开启同步模式
vrep_sim.simxSynchronous(client_ID, synchronous_enable)
如果开启同步模式,每一时步结束时,需要加下面的代码,才会将前面获得的关节等数据一次性发送到仿真端。
if synchronous_enable == True:
# 如果开启同步模式,则需要vrep_sim.simxSynchronousTrigger(client_ID)才能使仿真走一步 vrep_sim.simxSynchronousTrigger(client_ID)
# 检索将命令发送到服务器,执行和发回所需的时间。 那个时间取决于各种因素,如客户端设置,网络负载,仿真是否正在运行,仿真是否是实时,模拟时间步骤等。功能是阻塞。 _, ping_time = vrep_sim.simxGetPingTime(client_ID)
_, ping_time = vrep_sim.simxGetPingTime(client_ID)
的存在,是为了防止在 执行完simxSynchronousTrigger
发送数据时,还未将所有数据发送出去,就进入了下一循环。