def _push_robots(self, env_ids, cfg):
        """ Random pushes the robots. Emulates an impulse by setting a randomized base velocity.
        """
        env_ids = env_ids[self.episode_length_buf[env_ids] % int(cfg.domain_rand.push_robot_interval) == 0]
        # print(env_ids)
        # print(self.episode_length_buf)
        # print(self.episode_length_buf[0])
        # print(env_ids.dtype)
        # print(self.episode_length_buf[env_ids])
        # print(int(cfg.domain_rand.push_robot_interval))
        min_push_vel, max_push_vel = cfg.domain_rand.robot_push_vel_range
        push_vel_mag = torch.rand(len(env_ids), dtype=torch.float, device=self.device, requires_grad=False) * (max_push_vel - min_push_vel) + min_push_vel
        push_vel_vec = torch_rand_float(-1, 1, (len(env_ids), 2), device=self.device)
        push_vel_vec = push_vel_vec / torch.norm(push_vel_vec, dim=1).unsqueeze(1)
        # print(push_vel_mag.unsqueeze(1) * push_vel_vec)
        self.root_states[self.robot_actor_idxs[env_ids], 7:9] += push_vel_mag.unsqueeze(1) * push_vel_vec  # lin vel x/y
        self.gym.set_actor_root_state_tensor(self.sim, gymtorch.unwrap_tensor(self.root_states))
 Random pushes the robots. Emulates an impulse by setting a randomized base velocity.
        
globe_walking/go1_gym/envs/base/legged_robot.py