def reset_model()

in robosumo/envs/sumo.py [0:0]


    def reset_model(self):
        self._num_steps = 0
        # Randomize agent positions
        r, z = 1.15, 1.25
        delta = (2. * np.pi) / self._n_agents
        phi = self.np_random.uniform(0., 2. * np.pi)
        for i, agent in enumerate(self.agents):
            angle = phi + i * delta
            x, y = r * np.cos(angle), r * np.sin(angle)
            agent.set_xyz((x, y, z))
        # Add noise to all qpos and qvel elements
        pos_noise = self.np_random.uniform(
            size=self.model.nq,
            low=-self._init_pos_noise,
            high=self._init_pos_noise)
        vel_noise = self._init_vel_noise * \
                    self.np_random.randn(self.model.nv)
        qpos = self.data.qpos.ravel() + pos_noise
        qvel = self.data.qvel.ravel() + vel_noise
        self.init_qpos, self.init_qvel = qpos, qvel
        self.set_state(qpos, qvel)
        return self._get_obs()