Source code for stonesoup.models.control.base

from abc import abstractmethod

from ..base import Model


[docs] class ControlModel(Model): """Control Model base class""" @property def ndim(self) -> int: return self.ndim_ctrl @property @abstractmethod def ndim_ctrl(self) -> int: """Number of control input dimensions""" pass
[docs] @abstractmethod def function(self, control_input, prior=None, noise=False, **kwargs): r"""Control Model function :math:`b_k(u(k),x(k),w(k))` Parameters ---------- control_input : :class:`State`, optional :math:`\mathbf{u}_k` prior : :class:`~.State` The prior state, :math:`\mathbf{x}_{k-1}` noise: :class:`numpy.ndarray` or bool An externally generated random process noise sample (the default is `False`, in which case no noise will be added if 'True', the output of :meth:`~.Model.rvs` is used) Returns ------- : :class:`StateVector` or :class:`StateVectors` The StateVector(s) with the model function evaluated. """ raise NotImplementedError()