def _prepare_reward_function(self):
        """ Prepares a list of reward functions, whcih will be called to compute the total reward.
            Looks for self._reward_<REWARD_NAME>, where <REWARD_NAME> are names of all non zero reward scales in the cfg.
        """
        # reward containers
        from globe_walking.go1_gym.rewards.eureka_reward import EurekaReward
        reward_containers = {"EurekaReward": EurekaReward}
        self.reward_container = reward_containers[self.cfg.rewards.reward_container_name](self)

        if "compute_reward" in dir(self.reward_container):
            exit()
            _, reward_components = self.reward_container.compute_reward()
            self.reward_names = list(reward_components.keys())
            self.reward_functions = None
        else:
            # prepare list of functions
            self.reward_functions = []
            self.reward_names = []
            for name in dir(self.reward_container):
                if not name.startswith("_reward_"):
                    continue
                name = name.replace("_reward_", "")
                self.reward_names.append(name)
                self.reward_functions.append(getattr(self.reward_container, '_reward_' + name))

        # reward episode sums
        self.episode_sums = {
            name: torch.zeros(self.num_envs, dtype=torch.float, device=self.device, requires_grad=False)
            for name in self.reward_names}
        self.episode_sums["total"] = torch.zeros(self.num_envs, dtype=torch.float, device=self.device,
                                                 requires_grad=False)
        self.episode_sums["success"] = torch.zeros(self.num_envs, dtype=torch.float, device=self.device,
                                                 requires_grad=False)
        self.command_sums = {
            name: torch.zeros(self.num_envs, dtype=torch.float, device=self.device, requires_grad=False)
            for name in
            list(self.reward_names) + ["lin_vel_raw", "ang_vel_raw", "lin_vel_residual", "ang_vel_residual",
                                               "ep_timesteps"]}
 Prepares a list of reward functions, whcih will be called to compute the total reward.
            Looks for self._reward_<REWARD_NAME>, where <REWARD_NAME> are names of all non zero reward scales in the cfg.
        
globe_walking/go1_gym/envs/base/legged_robot.py