Source code for autompc.control.zero

# Created by William Edwards (wre2@illinois.edu)

from pdb import set_trace

import numpy as np

from ConfigSpace import ConfigurationSpace
from ConfigSpace.hyperparameters import (UniformIntegerHyperparameter, 
        CategoricalHyperparameter)
import ConfigSpace.conditions as CSC

from .controller import Controller, ControllerFactory

[docs]class ZeroControllerFactory(ControllerFactory): """ The Zero Controller outputs all zero controls and is useful for debugging. Hyperparameters: *None* """ def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.Controller = ZeroController self.name = "ZeroController" def get_configuration_space(self): cs = CS.ConfigurationSpace() return cs
class ZeroController(Controller): def __init__(self, system, task, model): super().__init__(system, task, model) @property def state_dim(self): return 0 @staticmethod def is_compatible(system, task, model): return True def traj_to_state(self, traj): return np.zeros(0) def run(self, state, new_obs): return np.zeros(self.system.ctrl_dim), state