def __init__(self, settings): # add specific "private" settings settings.update(input_order=0) settings.update(output_dim=1) settings.update(input_type="system_state") Controller.__init__(self, settings)
def __init__(self, settings): settings.update(input_order=0) settings.update(output_order=1) settings.update(input_type="system_state") Controller.__init__(self, settings) self.w = st.m1*st.l1/(st.m2*st.l2)
def __init__(self, settings): settings.update(input_order=0) settings.update(output_order=1) settings.update(input_type="system_state") Controller.__init__(self, settings) self.w = st.m1 * st.l1 / (st.m2 * st.l2)
def __init__(self, settings): # add specific "private" settings settings.update(input_order=4) settings.update(output_dim=4) settings.update(input_type="system_state") Controller.__init__(self, settings) # run pole placement self.K = to.get_coefficients(self._settings["poles"])
def __init__(self, settings): # add specific "private" settings settings.update(input_order=4) settings.update(output_dim=4) settings.update(input_type="system_state") Controller.__init__(self, settings) # run pole placement self.k = get_coefficients(self._settings["poles"])[0]
def __init__(self, settings): settings.update(input_order=0) settings.update(output_order=1) settings.update(input_type="system_state") self.module_settings = {"modules": settings["modules"]} Controller.__init__(self, settings) # add dict with module information, because it was deleted in the base class settings.update(self.module_settings) settings["type"] = "LjapunovController" self.ljapunov = LjapunovController(settings) settings.update({"equilibrium": calc_equilibrium(settings)}) settings.update(self.module_settings) settings["type"] = "LinearStateFeedback" self.linear_state_feedback = LinearStateFeedback(settings) self.switch = False
def __init__(self, settings): # add specific private settings settings.update(input_order=0) settings.update(ouput_dim=1) settings.update(input_type='system_state') Controller.__init__(self, settings) eq_state = calc_equilibrium(settings) # pole placement parameter = [st.m0, st.m1, st.m2, st.l1, st.l2, st.g, st.d0, st.d1, st.d2] self.A = symcalc.A_func_par_lin(list(eq_state), parameter) self.B = symcalc.B_func_par_lin(list(eq_state), parameter) self.C = symcalc.C_par_lin self.K = to.ackerSISO(self.A, self.B, self._settings['poles']) self.V = to.calc_prefilter(self.A, self.B, self.C, self.K) # eig = np.linalg.eig(self.A - np.dot(self.B, self.K)) self._logger.info("Equilibrium: {}".format(eq_state.tolist())) self._logger.info("Poles: {}".format(self._settings["poles"].tolist())) self._logger.info("K: {}".format(self.K.tolist()[0])) self._logger.info("V: {}".format(self.V[0]))
def __init__(self, settings): # add specific private settings settings.update(input_order=0) settings.update(ouput_dim=1) settings.update(input_type='system_state') Controller.__init__(self, settings) eq_state = calc_equilibrium(settings) # pole placement parameter = [ st.m0, st.m1, st.m2, st.l1, st.l2, st.g, st.d0, st.d1, st.d2 ] self.A = symcalc.A_func_par_lin(list(eq_state), parameter) self.B = symcalc.B_func_par_lin(list(eq_state), parameter) self.C = symcalc.C_par_lin self.K = to.ackerSISO(self.A, self.B, self._settings['poles']) self.V = to.calc_prefilter(self.A, self.B, self.C, self.K) # eig = np.linalg.eig(self.A - np.dot(self.B, self.K)) self._logger.info("Equilibrium: {}".format(eq_state.tolist())) self._logger.info("Poles: {}".format(self._settings["poles"].tolist())) self._logger.info("K: {}".format(self.K.tolist()[0])) self._logger.info("V: {}".format(self.V[0]))