code: def _on_first_interaction(self):
          
  
          self.has_interaction = True
  
          # create a directory with a timestamp
          t1, t2 = str(time.time()).split(".")
          self.ep_directory = os.path.join(self.directory, "ep_{}_{}".format(t1, t2))
          assert not os.path.exists(self.ep_directory)
          print("DataCollectionWrapper: making folder at {}".format(self.ep_directory))
          os.makedirs(self.ep_directory)
  
          # save the model xml
          xml_path = os.path.join(self.ep_directory, "model.xml")
          self.env.model.save_model(xml_path)
docs: Bookkeeping for first timestep of episode.
          This function is necessary to make sure that logging only happens after the first
          step call to the simulation, instead of on the reset (people tend to call
          reset more than is necessary in code).