class_docstr: Context manager to synchronize output from different sensors. Synchronous
  mode is enabled as long as we are inside this context
  
      with CARLASyncContext(world, sensors) as sync_mode:
          while True:
              data = sync_mode.tick(timeout=1.0)
  
  This code is based on https://github.com/carla-simulator/carla/blob/master/PythonAPI/examples/synchronous_mode.py
class_docstr_tok: ["Context","manager","to","synchronize","output","from","different","sensors",".","Synchronous","mode","is","enabled","as","long","as","we","are","inside","this","context","with","CARLASyncContext","(","world",",","sensors",")","as","sync_mode",":","while","True",":","data","=","sync_mode.tick","(","timeout=1.0",")","This","code","is","based","on","https",":","\/\/github.com\/carla-simulator\/carla\/blob\/master\/PythonAPI\/examples\/synchronous_mode.py"]
code: def tick(self, timeout):
      self.frame = self.world.tick()
  
      data = dict()
      for name, q in self._queues.items():
          if name != "world" and self.sensors[name].is_detector:
              # Detectors retrieve data only when triggered so have to not wait
              data[name] = self._get_detector_data(q)
          else:
              # Cameras + other are sensors that retrieve data at every simulation step
              data[name] = self._get_sensor_data(q, timeout)
  
      return data
  
file_path: tensorforce/tensorforce/environments/carla/synchronous_mode.py
imports: import carla
  import queue
label_desc: Use image node_id 4 for calling the CARLASyncContext obj's underlying member method code with example usage: obj.tick(timeout) and returns: data