bridge_data_v2 icon indicating copy to clipboard operation
bridge_data_v2 copied to clipboard

Replicating `adaptive_wait` with the server-client setup

Open HomerW opened this issue 2 years ago • 0 comments

Blocking control with the new server-client setup should exactly match blocking control in the old setup. However, for non-blocking control we still need to replicate the functionality of adaptive_wait from the old setup. The adaptive_wait function waits to trigger the call to get the observation such that the observation is returned approximately after the full step duration has passed. Thus, it calls curent_obs() at current_time + step_duration - time_to_get_obs where time_to_get_obs is measured empirically as the time it takes to get the image from the camera (0.08 seconds). In eval.py, we're calling curent_obs() at current_time + step_duration which will return an image from later than in the old setup. If we want to fix this, we should probably add a function in the eval script that waits for the right amount of time before calling widowx_client.get_observation().

Low-priority since all our provided checkpoints are intended to be evaluated with blocking control.

HomerW avatar Oct 23 '23 21:10 HomerW