настройка начального состояния с помощью панели инструментов do_mpc

Я использую набор инструментов do_mpc в Python. Я хочу установить собственное начальное условие для оценщика (MHE), но в документации не очень ясно, как я могу это сделать. кто-нибудь уже сделал это? здесь ссылка на набор инструментов и конкретный класс https://www.do-mpc.com/en/latest/api/do_mpc.estimator.MHE.opt_x_num.html#do_mpc.estimator.MHE.opt_x_num

Большое спасибо за ответ

1 ответ

Вы, наверное, уже нашли ответ, но set_initial_guess Функция оценщика предполагает, что вы можете напрямую присваивать значения переменной:

      def set_initial_guess(self):
    """..."""
    assert self.flags['setup'] == True, 'mhe was not setup yet. Please call mhe.setup().'

    self.opt_x_num['_x'] = self._x0.cat/self._x_scaling
    self.opt_x_num['_u'] = self._u0.cat/self._u_scaling
    self.opt_x_num['_z'] = self._z0.cat/self._z_scaling
    self.opt_x_num['_p_est'] = self._p_est0.cat/self._p_est_scaling

    self.flags['set_initial_guess'] = True

В частности, приведенные выше примеры кода устанавливают каждый opt_x_num компонент к экземпляру DM (из casadi). Значения вычисляются с использованием переменных, и т. Д. Как подсказывают строки документации:

Использует атрибуты текущего класса: py:obj :,: py:obj: z0 и: py:obj :,: py:obj: p_est0 для создания первоначального предположения для MHE.

вы можете установить исходное предположение, установив x0, u0и др. переменные. Например, вы можете назвать что-то вроде:

      self._controller.x0 = np.array([100, 200, 0, 0])
self._controller.set_initial_guess()

Наконец, вы можете попросить дополнительную помощь, открыв обсуждение GitHub - https://github.com/do-mpc/do-mpc/discussions

Другие вопросы по тегам