:py:mod:`rofunc.planning_control.lqr.lqr`
=========================================

.. py:module:: rofunc.planning_control.lqr.lqr

.. autodoc2-docstring:: rofunc.planning_control.lqr.lqr
   :allowtitles:

Module Contents
---------------

Classes
~~~~~~~

.. list-table::
   :class: autosummary longtable
   :align: left

   * - :py:obj:`LQR <rofunc.planning_control.lqr.lqr.LQR>`
     - .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR
          :summary:
   * - :py:obj:`GMMLQR <rofunc.planning_control.lqr.lqr.GMMLQR>`
     - .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.GMMLQR
          :summary:
   * - :py:obj:`PoGLQR <rofunc.planning_control.lqr.lqr.PoGLQR>`
     - .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR
          :summary:
   * - :py:obj:`PoGLQRBi <rofunc.planning_control.lqr.lqr.PoGLQRBi>`
     - .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi
          :summary:

API
~~~

.. py:class:: LQR(A=None, B=None, nb_dim=2, dt=0.01, horizon=50)
   :canonical: rofunc.planning_control.lqr.lqr.LQR

   Bases: :py:obj:`object`

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.__init__

   .. py:property:: seq_xi
      :canonical: rofunc.planning_control.lqr.lqr.LQR.seq_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.seq_xi

   .. py:property:: K
      :canonical: rofunc.planning_control.lqr.lqr.LQR.K

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.K

   .. py:property:: Q
      :canonical: rofunc.planning_control.lqr.lqr.LQR.Q

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.Q

   .. py:property:: z
      :canonical: rofunc.planning_control.lqr.lqr.LQR.z

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.z

   .. py:property:: Qc
      :canonical: rofunc.planning_control.lqr.lqr.LQR.Qc

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.Qc

   .. py:property:: cs
      :canonical: rofunc.planning_control.lqr.lqr.LQR.cs

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.cs

   .. py:property:: ds
      :canonical: rofunc.planning_control.lqr.lqr.LQR.ds

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.ds

   .. py:property:: horizon
      :canonical: rofunc.planning_control.lqr.lqr.LQR.horizon

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.horizon

   .. py:property:: u_dim
      :canonical: rofunc.planning_control.lqr.lqr.LQR.u_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.u_dim

   .. py:property:: xi_dim
      :canonical: rofunc.planning_control.lqr.lqr.LQR.xi_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.xi_dim

   .. py:property:: gmm_xi
      :canonical: rofunc.planning_control.lqr.lqr.LQR.gmm_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.gmm_xi

   .. py:property:: gmm_u
      :canonical: rofunc.planning_control.lqr.lqr.LQR.gmm_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.gmm_u

   .. py:property:: x0
      :canonical: rofunc.planning_control.lqr.lqr.LQR.x0

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.x0

   .. py:method:: get_Q_z(t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_Q_z

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_Q_z

   .. py:method:: get_R(t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_R

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_R

   .. py:method:: get_A(t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_A

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_A

   .. py:method:: get_B(t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_B

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_B

   .. py:method:: ricatti()
      :canonical: rofunc.planning_control.lqr.lqr.LQR.ricatti

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.ricatti

   .. py:method:: get_target()
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_target

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_target

   .. py:method:: get_feedforward()
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_feedforward

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_feedforward

   .. py:method:: get_command(xi, i)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_command

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_command

   .. py:method:: policy(xi, t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.policy

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.policy

   .. py:method:: get_sample(xi, i, sample_size=1)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_sample

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_sample

   .. py:method:: trajectory_distribution(xi, u, t)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.trajectory_distribution

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.trajectory_distribution

   .. py:method:: get_seq(xi0, return_target=False)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.get_seq

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.get_seq

   .. py:method:: make_rollout_samples(x0)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.make_rollout_samples

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.make_rollout_samples

   .. py:method:: make_rollout(x0)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.make_rollout

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.make_rollout

   .. py:method:: rollout_policy(dist_policy, x0)
      :canonical: rofunc.planning_control.lqr.lqr.LQR.rollout_policy

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.LQR.rollout_policy

.. py:class:: GMMLQR(*args, **kwargs)
   :canonical: rofunc.planning_control.lqr.lqr.GMMLQR

   Bases: :py:obj:`rofunc.planning_control.lqr.lqr.LQR`

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.GMMLQR

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.GMMLQR.__init__

   .. py:property:: full_gmm_xi
      :canonical: rofunc.planning_control.lqr.lqr.GMMLQR.full_gmm_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.GMMLQR.full_gmm_xi

   .. py:method:: ricatti(x0, n_best=None)
      :canonical: rofunc.planning_control.lqr.lqr.GMMLQR.ricatti

.. py:class:: PoGLQR(A=None, B=None, nb_dim=2, dt=0.01, horizon=50)
   :canonical: rofunc.planning_control.lqr.lqr.PoGLQR

   Bases: :py:obj:`rofunc.planning_control.lqr.lqr.LQR`

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.__init__

   .. py:property:: A
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.A

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.A

   .. py:property:: B
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.B

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.B

   .. py:property:: mvn_u_dim
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_u_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_u_dim

   .. py:property:: mvn_xi_dim
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_xi_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_xi_dim

   .. py:property:: mvn_sol_u
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_sol_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_sol_u

   .. py:property:: seq_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.seq_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.seq_xi

   .. py:property:: seq_u
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.seq_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.seq_u

   .. py:property:: mvn_sol_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_sol_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_sol_xi

   .. py:property:: mvn_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_xi

   .. py:property:: mvn_u
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.mvn_u

   .. py:property:: xis
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.xis

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.xis

   .. py:property:: k
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.k

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.k

   .. py:property:: s_u
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.s_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.s_u

   .. py:property:: s_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.s_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.s_xi

   .. py:method:: reset_params()
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.reset_params

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.reset_params

   .. py:property:: horizon
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQR.horizon

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQR.horizon

.. py:class:: PoGLQRBi(A=None, B=None, nb_dim=2, dt=0.01, horizon=50)
   :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi

   Bases: :py:obj:`rofunc.planning_control.lqr.lqr.LQR`

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi

   .. rubric:: Initialization

   .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.__init__

   .. py:property:: A
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.A

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.A

   .. py:property:: B
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.B

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.B

   .. py:property:: C
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.C

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.C

   .. py:property:: C_l
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.C_l

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.C_l

   .. py:property:: C_r
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.C_r

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.C_r

   .. py:property:: horizon
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.horizon

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.horizon

   .. py:property:: x0_l
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_l

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_l

   .. py:property:: x0_r
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_r

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_r

   .. py:property:: x0_c
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_c

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.x0_c

   .. py:property:: mvn_U_dim
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_U_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_U_dim

   .. py:property:: mvn_xi_dim
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_dim

   .. py:property:: mvn_sol_U
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_sol_U

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_sol_U

   .. py:method:: get_sigma_mu(prod)
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.get_sigma_mu

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.get_sigma_mu

   .. py:property:: mvn_sol_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_sol_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_sol_xi

   .. py:property:: seq_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.seq_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.seq_xi

   .. py:property:: seq_U
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.seq_U

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.seq_U

   .. py:property:: mvn_xi_l
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_l

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_l

   .. py:property:: mvn_xi_r
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_r

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_r

   .. py:property:: mvn_xi_c
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_c

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_xi_c

   .. py:property:: mvn_u
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_u

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.mvn_u

   .. py:property:: xis
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.xis

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.xis

   .. py:property:: k
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.k

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.k

   .. py:property:: s_U
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.s_U

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.s_U

   .. py:property:: s_xi
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.s_xi

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.s_xi

   .. py:property:: U_dim
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.U_dim

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.U_dim

   .. py:method:: reset_params()
      :canonical: rofunc.planning_control.lqr.lqr.PoGLQRBi.reset_params

      .. autodoc2-docstring:: rofunc.planning_control.lqr.lqr.PoGLQRBi.reset_params
