pymloc.model.optimization.objectives.parameter_lqr

Classes

AutomaticLocalLQRObjective(global_object)

Parameter

ParameterLQRObjective(…)

Parameter dependent version of the LQR objective.

class pymloc.model.optimization.objectives.parameter_lqr.AutomaticLocalLQRObjective(global_object)

Bases: pymloc.model.optimization.objectives.lqr.LQRObjective

time: time interval of integration with \(t_0\) as starting point and \(t_f\) as end point. q: weight function r: weight function s: weight function final_weight: final weight

Parameters

global_object (pymloc.model.optimization.objectives.parameter_lqr.ParameterLQRObjective) –

class pymloc.model.optimization.objectives.parameter_lqr.ParameterLQRObjective(higher_level_variables, local_level_variables, time, q, s, r, final_weight)

Bases: pymloc.model.optimization.objectives.objective.Objective

Parameter dependent version of the LQR objective. The objective function is given by

\[\begin{split}{ x(\theta,\tf)^{\Herm}Kx(\theta,\tf) + \int_{t_0}^{\tf}{ \begin{pmatrix} x(\theta,t)\\ u(\theta,t) \end{pmatrix}^{\Herm} \begin{bmatrix} Q(\theta,t) & S(\theta,t)\\ S^{\Herm}(\theta,t)& R(\theta,t) \end{bmatrix} \begin{pmatrix} x(\theta,t)\\ u(\theta,t) \end{pmatrix}\end{split}\]

mathrm{d}t}}.

Parameters
  • time (pymloc.model.variables.time_function.Time) –

  • q (Callable[[numpy.ndarray, float], numpy.ndarray]) –

  • s (Callable[[numpy.ndarray, float], numpy.ndarray]) –

  • r (Callable[[numpy.ndarray, float], numpy.ndarray]) –

  • final_weight (Callable[[numpy.ndarray], numpy.ndarray]) –

property final_weight
integral_weights(theta, t)
Parameters
  • theta (numpy.ndarray) –

  • t (float) –

Return type

numpy.ndarray

property q
property r
property s
property time