From c13c7d04e774bd5aaa5f2847a131945a4c2f17ca Mon Sep 17 00:00:00 2001
From: Tue Herlau <tuhe@dtu.dk>
Date: Thu, 13 Mar 2025 15:24:53 +0100
Subject: [PATCH] Exercises

---
 irlc/ex06/__init__.py                         |   2 +
 irlc/ex06/boeing_lqr.py                       |  85 ++++++
 irlc/ex06/dlqr.py                             | 207 +++++++++++++
 irlc/ex06/dlqr_check.py                       |  40 +++
 irlc/ex06/lqr_agent.py                        |  54 ++++
 irlc/ex06/lqr_pid.py                          |  79 +++++
 irlc/ex06/model_boeing.py                     |  62 ++++
 irlc/ex06/model_rendevouz.py                  |  99 +++++++
 irlc/ex07/__init__.py                         |   2 +
 irlc/ex07/ilqr.py                             | 275 ++++++++++++++++++
 irlc/ex07/ilqr_agent.py                       |  56 ++++
 irlc/ex07/ilqr_cartpole.py                    |  83 ++++++
 irlc/ex07/ilqr_cartpole_agent.py              |  43 +++
 irlc/ex07/ilqr_pendulum.py                    |  68 +++++
 irlc/ex07/ilqr_pendulum_agent.py              |  63 ++++
 irlc/ex07/ilqr_rendevoyz.py                   |   5 +
 irlc/ex07/ilqr_rendovouz_basic.py             |  99 +++++++
 irlc/ex07/linearization_agent.py              |  67 +++++
 irlc/lectures/lec05/__init__.py               |   1 +
 .../lec05/lecture_05_carpole_random.py        |   9 +
 .../lec05/lecture_05_cartpole_kelly.py        |  10 +
 .../lec05/lecture_05_cartpole_time.py         |  11 +
 irlc/lectures/lec06/__init__.py               |   1 +
 .../lectures/lec06/lecture6_lqr_locomotive.py |  37 +++
 .../lec06/lecture_06_cartpole_ilqr.py         |  47 +++
 irlc/lectures/lec06/lecture_06_linearize.py   |   6 +
 irlc/lectures/lec06/lecture_06_linearize_b.py |  18 ++
 .../lec06/lecture_06_pendulum_bilqr_L.py      |   7 +
 .../lec06/lecture_06_pendulum_bilqr_ubar.py   |  66 +++++
 .../lec06/lecture_06_pendulum_ilqr_L.py       |   5 +
 .../lec06/lecture_06_pendulum_ilqr_ubar.py    |   5 +
 irlc/lectures/lec07/__init__.py               |   1 +
 irlc/lectures/lec07/lecture_07_boing_lqr.py   |  19 ++
 .../lec07/lecture_07_boing_lqr_mpc.py         |  14 +
 .../lec07/lecture_07_boing_lqr_mpc_local.py   |   9 +
 .../lec07/lecture_07_boing_lqr_mpc_optim.py   |   8 +
 irlc/lectures/lec07/lecture_07_lmpc.py        |   5 +
 .../lec07/lecture_07_pendulum_mpc_lqr.py      |   4 +
 .../lec07/lecture_07_pendulum_mpc_optm.py     |   4 +
 .../lec07/lecture_07_pendulum_simple.py       |  41 +++
 .../2021-03-19_08-21-20.207/log.txt           |  17 ++
 .../2021-03-19_08-21-20.207/trajectories.pkl  | Bin 0 -> 75688 bytes
 .../2022-03-17_14-16-10.758/log.txt           |  17 ++
 .../2022-03-17_14-16-10.758/trajectories.pkl  | Bin 0 -> 74800 bytes
 .../2023-03-17_08-13-45.172/log.txt           |  17 ++
 .../2023-03-17_08-13-45.172/trajectories.pkl  | Bin 0 -> 75880 bytes
 irlc/tests/tests_week05.py                    | 114 ++++++++
 irlc/tests/tests_week06.py                    | 147 ++++++++++
 irlc/tests/tests_week07.py                    |  62 ++++
 .../BrachistochroneConstrainedQuestion.pkl    | Bin 7242 -> 7242 bytes
 .../BrachistochroneQuestion.pkl               | Bin 7242 -> 7242 bytes
 .../unitgrade_data/CartpoleCostQuestion.pkl   | Bin 7242 -> 7242 bytes
 .../unitgrade_data/CartpoleTimeQuestion.pkl   | Bin 7242 -> 7242 bytes
 .../unitgrade_data/DirectAgentPendulum.pkl    | Bin 231 -> 231 bytes
 irlc/tests/unitgrade_data/DirectMethods.pkl   | Bin 1459 -> 1459 bytes
 .../unitgrade_data/DirectSolverQuestion.pkl   | Bin 7242 -> 7242 bytes
 .../Exam5InventoryEvaluation.pkl              | Bin 217 -> 217 bytes
 irlc/tests/unitgrade_data/Exam6Toy2d.pkl      | Bin 283 -> 283 bytes
 .../ExamQuestion7FlowersStore.pkl             | Bin 182 -> 182 bytes
 .../unitgrade_data/ILQRAgentQuestion.pkl      | Bin 0 -> 326 bytes
 .../unitgrade_data/ILQRPendulumQuestion.pkl   | Bin 0 -> 298 bytes
 .../tests/unitgrade_data/PendulumQuestion.pkl | Bin 7242 -> 7242 bytes
 .../unitgrade_data/Problem1BobsFriend.pkl     | Bin 170 -> 170 bytes
 .../Problem1DiscreteKuromoto.pkl              | Bin 570 -> 570 bytes
 .../tests/unitgrade_data/Problem1Kuramoto.pkl | Bin 3014 -> 3014 bytes
 .../unitgrade_data/Problem2BobsPolicy.pkl     | Bin 368 -> 368 bytes
 .../Problem2DeterministicDP.pkl               | Bin 161 -> 161 bytes
 .../Problem2DeterministicInventory.pkl        | Bin 128 -> 128 bytes
 .../Problem3InventoryInventoryEnvironment.pkl | Bin 323 -> 323 bytes
 irlc/tests/unitgrade_data/Problem3LQR.pkl     | Bin 0 -> 2025 bytes
 irlc/tests/unitgrade_data/Problem3PID.pkl     | Bin 334 -> 334 bytes
 .../unitgrade_data/Problem3StochasticDP.pkl   | Bin 345 -> 345 bytes
 irlc/tests/unitgrade_data/Problem4DPAgent.pkl | Bin 121 -> 121 bytes
 .../unitgrade_data/Problem4InventoryTrain.pkl | Bin 242 -> 242 bytes
 .../tests/unitgrade_data/Problem4LQRAgent.pkl | Bin 0 -> 443 bytes
 .../tests/unitgrade_data/Problem4PIDAgent.pkl | Bin 4673 -> 4673 bytes
 .../Problem5PacmanHardcoded.pkl               | Bin 125 -> 125 bytes
 .../unitgrade_data/Problem5_6_Boeing.pkl      | Bin 0 -> 4219 bytes
 .../Problem6ChessTournament.pkl               | Bin 197 -> 197 bytes
 irlc/tests/unitgrade_data/Problem7PIDCar.pkl  | Bin 419 -> 419 bytes
 .../unitgrade_data/Problem7_8_PidLQR.pkl      | Bin 0 -> 415 bytes
 irlc/tests/unitgrade_data/RendevouzItem.pkl   | Bin 0 -> 603 bytes
 82 files changed, 2091 insertions(+)
 create mode 100644 irlc/ex06/__init__.py
 create mode 100644 irlc/ex06/boeing_lqr.py
 create mode 100644 irlc/ex06/dlqr.py
 create mode 100644 irlc/ex06/dlqr_check.py
 create mode 100644 irlc/ex06/lqr_agent.py
 create mode 100644 irlc/ex06/lqr_pid.py
 create mode 100644 irlc/ex06/model_boeing.py
 create mode 100644 irlc/ex06/model_rendevouz.py
 create mode 100644 irlc/ex07/__init__.py
 create mode 100644 irlc/ex07/ilqr.py
 create mode 100644 irlc/ex07/ilqr_agent.py
 create mode 100644 irlc/ex07/ilqr_cartpole.py
 create mode 100644 irlc/ex07/ilqr_cartpole_agent.py
 create mode 100644 irlc/ex07/ilqr_pendulum.py
 create mode 100644 irlc/ex07/ilqr_pendulum_agent.py
 create mode 100644 irlc/ex07/ilqr_rendevoyz.py
 create mode 100644 irlc/ex07/ilqr_rendovouz_basic.py
 create mode 100644 irlc/ex07/linearization_agent.py
 create mode 100644 irlc/lectures/lec05/__init__.py
 create mode 100644 irlc/lectures/lec05/lecture_05_carpole_random.py
 create mode 100644 irlc/lectures/lec05/lecture_05_cartpole_kelly.py
 create mode 100644 irlc/lectures/lec05/lecture_05_cartpole_time.py
 create mode 100644 irlc/lectures/lec06/__init__.py
 create mode 100644 irlc/lectures/lec06/lecture6_lqr_locomotive.py
 create mode 100644 irlc/lectures/lec06/lecture_06_cartpole_ilqr.py
 create mode 100644 irlc/lectures/lec06/lecture_06_linearize.py
 create mode 100644 irlc/lectures/lec06/lecture_06_linearize_b.py
 create mode 100644 irlc/lectures/lec06/lecture_06_pendulum_bilqr_L.py
 create mode 100644 irlc/lectures/lec06/lecture_06_pendulum_bilqr_ubar.py
 create mode 100644 irlc/lectures/lec06/lecture_06_pendulum_ilqr_L.py
 create mode 100644 irlc/lectures/lec06/lecture_06_pendulum_ilqr_ubar.py
 create mode 100644 irlc/lectures/lec07/__init__.py
 create mode 100644 irlc/lectures/lec07/lecture_07_boing_lqr.py
 create mode 100644 irlc/lectures/lec07/lecture_07_boing_lqr_mpc.py
 create mode 100644 irlc/lectures/lec07/lecture_07_boing_lqr_mpc_local.py
 create mode 100644 irlc/lectures/lec07/lecture_07_boing_lqr_mpc_optim.py
 create mode 100644 irlc/lectures/lec07/lecture_07_lmpc.py
 create mode 100644 irlc/lectures/lec07/lecture_07_pendulum_mpc_lqr.py
 create mode 100644 irlc/lectures/lec07/lecture_07_pendulum_mpc_optm.py
 create mode 100644 irlc/lectures/lec07/lecture_07_pendulum_simple.py
 create mode 100644 irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/log.txt
 create mode 100644 irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/trajectories.pkl
 create mode 100644 irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/log.txt
 create mode 100644 irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/trajectories.pkl
 create mode 100644 irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/log.txt
 create mode 100644 irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/trajectories.pkl
 create mode 100644 irlc/tests/tests_week05.py
 create mode 100644 irlc/tests/tests_week06.py
 create mode 100644 irlc/tests/tests_week07.py
 create mode 100644 irlc/tests/unitgrade_data/ILQRAgentQuestion.pkl
 create mode 100644 irlc/tests/unitgrade_data/ILQRPendulumQuestion.pkl
 create mode 100644 irlc/tests/unitgrade_data/Problem3LQR.pkl
 create mode 100644 irlc/tests/unitgrade_data/Problem4LQRAgent.pkl
 create mode 100644 irlc/tests/unitgrade_data/Problem5_6_Boeing.pkl
 create mode 100644 irlc/tests/unitgrade_data/Problem7_8_PidLQR.pkl
 create mode 100644 irlc/tests/unitgrade_data/RendevouzItem.pkl

diff --git a/irlc/ex06/__init__.py b/irlc/ex06/__init__.py
new file mode 100644
index 0000000..6e26755
--- /dev/null
+++ b/irlc/ex06/__init__.py
@@ -0,0 +1,2 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""This directory contains the exercises for week 6."""
diff --git a/irlc/ex06/boeing_lqr.py b/irlc/ex06/boeing_lqr.py
new file mode 100644
index 0000000..e26f5e6
--- /dev/null
+++ b/irlc/ex06/boeing_lqr.py
@@ -0,0 +1,85 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""
+
+References:
+  [Her25] Tue Herlau. Sequential decision making. (Freely available online), 2025.
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+from irlc import savepdf
+from irlc import train
+from irlc.ex06.model_boeing import BoeingEnvironment
+from irlc.ex06.lqr_agent import LQRAgent
+from irlc.ex03.control_model import ControlModel
+import scipy
+
+
+def boeing_simulation():
+    env = BoeingEnvironment(Tmax=10)
+    model = env.discrete_model.continuous_model # get the model from the Boeing environment
+    dt = env.dt # Get the discretization time.
+    A, B, d = compute_A_B_d(model, dt)
+    # Use compute_Q_R_q to get the Q, R, and q matrices in the discretized system
+    # TODO: 1 lines missing.
+    raise NotImplementedError("Compute Q, R and q here")
+    ## TODO: Half of each line of code in the following 1 lines have been replaced by garbage. Make it work and remove the error.
+    #----------------------------------------------------------------------------------------------------------------------------
+    # agent = LQRAgent(env, A=A??????????????????????????
+    raise NotImplementedError("Use your LQRAgent to plan using the system matrices.")
+    stats, trajectories = train(env, agent, return_trajectory=True)
+    return stats, trajectories, env
+
+def compute_Q_R_q(model : ControlModel, dt : float):
+    cost = model.get_cost() # Get the continuous-time cost-function
+    # use print(cost) to see what it contains.
+    # Then get the discretized matrices using the techniques described in (Her25, Subsection 13.1.6).
+    # TODO: 3 lines missing.
+    raise NotImplementedError("Insert your solution and remove this error.")
+    return Q, R, q
+
+def compute_A_B_d(model : ControlModel, dt : float):
+    if model.d is None:
+        d = np.zeros((model.state_size,))  # Ensure d is set to a zero vector if it is not defined.
+    else:
+        d = model.d
+
+    A_discrete = scipy.linalg.expm(model.A * dt)  # This is the discrete A-matrix computed using the matrix exponential
+    # Now it is your job to define B_discrete and d_discrete.
+    # TODO: 2 lines missing.
+    raise NotImplementedError("Insert your solution and remove this error.")
+    return A_discrete, B_discrete, d_discrete.flatten()
+
+def boeing_experiment():
+    _, trajectories, env = boeing_simulation()
+    model = env.discrete_model.continuous_model
+
+    dt = env.dt 
+    Q, R, q = compute_Q_R_q(model, dt)
+    print("Discretization time is", dt)
+    print("Original q-vector was:", model.get_cost().q)
+    print("Discretized version is:", q) 
+
+    t = trajectories[-1]
+    out = t.state @ model.P.T
+
+    plt.plot(t.time, out[:, 0], '-', label=env.observation_labels[0])
+    plt.plot(t.time, out[:, 1], '-', label=env.observation_labels[1])
+    plt.grid()
+    plt.legend()
+    plt.xlabel("Time/seconds")
+    plt.ylabel("Output")
+    savepdf("boing_lqr_output")
+    plt.show(block=False)
+    plt.close()
+
+    plt.plot(t.time[:-1], t.action[:, 0], '-', label=env.action_labels[0])
+    plt.plot(t.time[:-1], t.action[:, 1], '-', label=env.action_labels[1])
+    plt.xlabel("Time/seconds")
+    plt.ylabel("Control action")
+    plt.grid()
+    plt.legend()
+    savepdf("boing_lqr_action")
+    plt.show()
+
+if __name__ == "__main__":
+    boeing_experiment()
diff --git a/irlc/ex06/dlqr.py b/irlc/ex06/dlqr.py
new file mode 100644
index 0000000..d8b7903
--- /dev/null
+++ b/irlc/ex06/dlqr.py
@@ -0,0 +1,207 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""
+
+References:
+  [Her25] Tue Herlau. Sequential decision making. (Freely available online), 2025.
+"""
+import numpy as np
+import matplotlib.pyplot as plt
+from irlc import bmatrix
+from irlc import savepdf
+
+
+
+def LQR(A : list,  # Dynamic
+        B : list,  # Dynamics
+        d : list =None,  # Dynamics (optional)
+        Q : list=None,
+        R: list=None,
+        H : list=None,
+        q : list=None,
+        r : list=None,
+        qc : list=None,
+        QN : np.ndarray =None, # Terminal cost term
+        qN : np.ndarray=None,  # Terminal cost term
+        qcN : np.ndarray =None,  # Terminal cost term.
+        mu : float =0 # regularization parameter which will only be relevant next week.
+        ):
+    r"""
+    Implement the LQR as defined in (Her25, Algorithm 22). I recommend viewing this documentation online (documentation for week 6).
+
+    When you solve this exercise, look at the algorithm in the book. Since the LQR problem is on the form:
+
+    .. math::
+
+        x_{k+1} = A_k x_k + B_k u_k + d_k
+
+    For :math:`k=0,\dots,N-1` this means there are :math:`N` matrices :math:`A_k`. This is implemented by assuming that
+    :python:`A` (i.e., the input argument) is a :python:`list` of length :math:`N` so that :python:`A[k]` corresponds
+    to :math:`A_k`.
+
+    Similar conventions are used for the cost term (please see the lecture notes or the online documentation for their meaning). Recall it has the form:
+
+    .. math::
+
+        c(x_k, u_k) = \frac{1}{2} \mathbf x_k^\top Q_k \mathbf x_k + \frac{1}{2} \mathbf q_k^\top \mathbf x_k + q_k + \cdots
+
+    When the function is called, the vector :math:`\textbf{q}_k` corresponds to :python:`q` and the constant :math:`q_k` correspond to :python:`qc` (q-constant).
+
+    .. note::
+
+        Only the terms :python:`A` and :python:`B` are required. The rest of the terms will default to 0-matrices.
+
+    The LQR algorithm will ultimately compute a control law of the form:
+
+    .. math::
+
+        \mathbf u_k = L_k \mathbf x_k + \mathbf l_k
+
+    And a cost-to-go function as:
+
+    .. math::
+
+        J_k(x_k) = \frac{1}{2} \mathbf x_k^\top V_k \mathbf x_k + v_k^\top \mathbf x_k + v_k
+
+    Again there are :math:`N-1` terms. The function then return :python:`return (L, l), (V, v, vc)` so that :python:`L[k]` corresponds to :math:`L_k`.
+
+    :param A: A list of :python:`np.ndarray` containing all terms :math:`A_k`
+    :param B: A list of :python:`np.ndarray` containing all terms :math:`B_k`
+    :param d: A list of :python:`np.ndarray` containing all terms  :math:`\mathbf d_k` (optional)
+    :param Q: A list of :python:`np.ndarray` containing all terms  :math:`Q_k` (optional)
+    :param R: A list of :python:`np.ndarray` containing all terms  :math:`R_k` (optional)
+    :param H: A list of :python:`np.ndarray` containing all terms  :math:`H_k` (optional)
+    :param q: A list of :python:`np.ndarray` containing all terms  :math:`\mathbf q_k` (optional)
+    :param r: A list of :python:`np.ndarray` containing all terms  :math:`\mathbf r_k` (optional)
+    :param qc: A list of :python:`float` containing all terms  :math:`q_k` (i.e., constant terms) (optional)
+    :param QN: A :python:`np.ndarray` containing the terminal cost term :math:`Q_N` (optional)
+    :param qN: A :python:`np.ndarray` containing the terminal cost term :math:`\mathbf q_N` (optional)
+    :param qcN: A :python:`np.ndarray` containing the terminal cost term :math:`q_N`
+    :param mu: A regularization term which is useful for iterative-LQR (next week). Default to 0.
+    :return: A tuple of the form :python:`(L, l), (V, v, vc)` corresponding to the control and cost-matrices.
+    """
+    N = len(A)
+    n,m = B[0].shape
+    # Initialize empty lists for control matrices and cost terms
+    L, l = [None]*N, [None]*N
+    V, v, vc = [None]*(N+1), [None]*(N+1), [None]*(N+1)
+    # Initialize constant cost-function terms to zero if not specified.
+    # They will be initialized to zero, meaning they have no effect on the update rules.
+    QN = np.zeros((n,n)) if QN is None else QN
+    qN = np.zeros((n,)) if qN is None else qN
+    qcN = 0 if qcN is None else qcN
+    H, q, qc, r = init_mat(H,m,n,N=N), init_mat(q,n,N=N), init_mat(qc,1,N=N), init_mat(r,m,N=N)
+    d = init_mat(d,n, N=N)
+    """ In the next line, you should initialize the last cost-term. This is similar to how we in DP had the initialization step
+    > J_N(x_N) = g_N(x_N)
+    Except that since x_N is no longer discrete, we store it as matrices/vectors representing a second-order polynomial, i.e.    
+    > J_N(X_N) = 1/2 * x_N' V[N] x_N + v[N]' x_N + vc[N]
+    """
+    # TODO: 1 lines missing.
+    raise NotImplementedError("Initialize V[N], v[N], vc[N] here")
+
+    In = np.eye(n)
+    for k in range(N-1,-1,-1):
+        # When you update S_uu and S_ux remember to add regularization as the terms ... (V[k+1] + mu * In) ...
+        # Note that that to find x such that
+        # >>> x = A^{-1} y this
+        # in a numerically stable manner this should be done as
+        # >>> x = np.linalg.solve(A, y)
+        # The terms you need to update will be, in turn:
+        # Suu = ...
+        # Sux = ...
+        # Su = ...
+        # L[k] = ...
+        # l[k] = ...
+        # V[k] = ...
+        # V[k] = ...
+        # v[k] = ...
+        # vc[k] = ...
+        ## TODO: Half of each line of code in the following 4 lines have been replaced by garbage. Make it work and remove the error.
+        #----------------------------------------------------------------------------------------------------------------------------
+        # Suu = R[k] + B[k].T @ (????????????????????????
+        # Sux = H[k] + B[k].T @ (????????????????????????
+        # Su = r[k] + B[k].T @ v[k + 1?????????????????????????????
+        # L[k] = -np.linal?????????????????
+        raise NotImplementedError("Insert your solution and remove this error.")
+        l[k] = -np.linalg.solve(Suu, Su) # You get this for free. Notice how we use np.lingalg.solve(A,x) to compute A^{-1} x
+        V[k] = Q[k] + A[k].T @ V[k+1] @ A[k] - L[k].T @ Suu @ L[k]
+        V[k] = 0.5 * (V[k] + V[k].T)  # I recommend putting this here to keep V positive semidefinite
+        # You get these for free: Compare to the code in the algorithm.
+        v[k] = q[k] + A[k].T @ (v[k+1]  + V[k+1] @ d[k]) + Sux.T @ l[k]
+        vc[k] = vc[k+1] + qc[k] + d[k].T @ v[k+1] + 1/2*( d[k].T @ V[k+1] @ d[k] ) + 1/2*l[k].T @ Su
+
+    return (L,l), (V,v,vc)
+
+
+def init_mat(X, a, b=None, N=None):
+    """
+    Helper function. Check if X is None, and if so return a list
+      [A, A,....]
+    which is N long and where each A is a (a x b) zero-matrix, else returns X repeated N times:
+     [X, X, ...]
+    """
+    M0 = np.zeros((a,) if b is None else (a, b))
+    if X is not None:
+        return [m if m is not None else M0 for m in X]
+    else:
+        return [M0] * N
+
+def lqr_rollout(x0,A,B,d,L,l):
+    """
+    Compute a rollout (states and actions) given solution from LQR controller function.
+
+    x0 is a vector (starting state), and A, B, d and L, l are lists of system/control matrices.
+    """
+    x, states,actions = x0, [x0], []
+    n,m = B[0].shape
+    N = len(L)
+    d = init_mat(d,n,1,N)  # Initialize as a list of zero matrices [ np.zeros((n,1)), np.zeros((n,1)), ...]
+    l = init_mat(l,m,1,N)  # Initialize as a list of zero matrices [ np.zeros((m,1)), np.zeros((m,1)), ...]
+
+    for k in range(N):
+        u = L[k] @ x + l[k]
+        x = A[k] @ x + B[k] @ u + d[k]
+        actions.append(u)
+        states.append(x)
+    return states, actions
+
+if __name__ ==  "__main__":
+    """
+    Solve this problem (see also lecture notes for the same example)
+    http://cse.lab.imtlucca.it/~bemporad/teaching/ac/pdf/AC2-04-LQR-Kalman.pdf
+    """
+    N = 20
+    A = np.ones((2,2))
+    A[1,0] = 0
+    B = np.asarray([[0], [1]])
+    Q = np.zeros((2,2))
+    R = np.ones((1,1))
+
+    print("System matrices A, B, Q, R")
+    print(bmatrix(A))  
+    print(bmatrix(B))  
+    print(bmatrix(Q))  
+    print(bmatrix(R))  
+
+    for rho in [0.1, 10, 100]:
+        Q[0,0] = 1/rho
+        (L,l), (V,v,vc) = LQR(A=[A]*N, B=[B]*N, d=None, Q=[Q]*N, R=[R]*N, QN=Q)
+
+        x0 = np.asarray( [[1],[0]])
+        trajectory, actions = lqr_rollout(x0,A=[A]*N, B=[B]*N, d=None,L=L,l=l)
+
+        xs = np.concatenate(trajectory, axis=1)[0,:]
+
+        plt.plot(xs, 'o-', label=f'rho={rho}')
+
+        k = 10
+        print(f"Control matrix in u_k = L_k x_k + l_k at k={k}:", L[k])
+    for k in [N-1,N-2,0]:
+        print(f"L[{k}] is:", L[k].round(4))
+    plt.title("Double integrator")
+    plt.xlabel('Steps $k$')
+    plt.ylabel('$x_1 = $ x[0]')
+    plt.legend()
+    plt.grid()
+    savepdf("dlqr_double_integrator")
+    plt.show()
diff --git a/irlc/ex06/dlqr_check.py b/irlc/ex06/dlqr_check.py
new file mode 100644
index 0000000..3d86db3
--- /dev/null
+++ b/irlc/ex06/dlqr_check.py
@@ -0,0 +1,40 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex06.dlqr import LQR
+
+def urnd(sz):
+    return np.random.uniform(-1, 1, sz)
+
+def check_LQR():
+    np.random.seed(42)
+    n,m,N = 3,2,4
+    """
+    Create a randomized, nonsense control problem and solve it. Since seed is fixed we can expect same solution.
+    """
+    # system tersm
+    A = [urnd((n, n)) for _ in range(N)]
+    B = [urnd((n, m)) for _ in range(N)]
+    d = [urnd((n,)) for _ in range(N)]
+    # cost terms
+    Q = [urnd((n, n)) for _ in range(N)]
+    R = [urnd((m, m)) for _ in range(N)]
+    H = [urnd((m, n)) for _ in range(N)]
+    q = [urnd((n,)) for _ in range(N)]
+    qc = [urnd(()) for _ in range(N)]
+    r = [urnd((m,)) for _ in range(N)]
+    # terminal costs
+    QN = urnd((n, n))
+    qN = urnd((n,))
+    qcN = urnd(())
+    return LQR(A=A, B=B, d=d, Q=Q, R=R, H=H, q=q, r=r, qc=qc, QN=QN, qN=qN, qcN=qcN, mu=0)
+
+
+if __name__ == "__main__":
+    (L, l), (V, v, vc) = check_LQR()
+    N = len(V)-1
+    print(", ".join([f"l[{k}]={l[k].round(4)}" for k in [N - 1, N - 2, 0]]))  
+    print("\n".join([f"L[{k}]={L[k].round(4)}" for k in [N - 1, N - 2, 0]]))
+
+    print("\n".join([f"V[{k}]={V[k].round(4)}" for k in [0]]))
+    print(", ".join([f"v[{k}]={v[k].round(4)}" for k in [N, N - 1, 0]]))
+    print(", ".join([f"vc[{k}]={vc[k].round(4)}" for k in [N, N - 1, 0]]))  
diff --git a/irlc/ex06/lqr_agent.py b/irlc/ex06/lqr_agent.py
new file mode 100644
index 0000000..f62ec55
--- /dev/null
+++ b/irlc/ex06/lqr_agent.py
@@ -0,0 +1,54 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.locomotive import LocomotiveEnvironment
+from irlc import train, plot_trajectory, savepdf, Agent
+from irlc.ex06.dlqr import LQR
+from irlc.ex04.control_environment import ControlEnvironment
+import numpy as np
+import matplotlib.pyplot as plt
+
+class LQRAgent(Agent):
+    def __init__(self, env : ControlEnvironment, A, B, Q, R, d=None, q=None):
+        N = int((env.Tmax / env.dt)) # Obtain the planning horizon
+        """ Define A, B as the list of A/B matrices here. I.e. x[t+1] = A x[t] + B x[t] + d.
+        You should use the function model.f to do this, which has build-in functionality to compute Jacobians which will be equal to A, B """
+        """ Define self.L, self.l here as the (lists of) control matrices. """
+        ## TODO: Half of each line of code in the following 1 lines have been replaced by garbage. Make it work and remove the error.
+        #----------------------------------------------------------------------------------------------------------------------------
+        # (self.L, self.l), _ = LQR(A=[A]*N, B=[B]*N, d=[d]*N if d is not No???????????????????????????????????????????????????????????????????
+        raise NotImplementedError("Insert your solution and remove this error.")
+        self.dt = env.dt
+        super().__init__(env)
+
+    def pi(self,x, k, info=None):
+        """
+        Compute the action here using u = L_k x + l_k.
+        You should use self.L, self.l to get the control matrices (i.e. L_k = self.L[k] ),
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("Compute current action here")
+        return u
+
+
+if __name__ == "__main__":
+    # Make a guess at the system matrices for planning. We will return on how to compute these exactly in a later exercise.
+    A = np.ones((2, 2))
+    A[1, 0] = 0
+    B = np.asarray([[0], [1]])
+    Q = np.eye(2)*3
+    R = np.ones((1, 1))*2
+    q = np.asarray([-1.1, 0 ])
+
+    # Create and test our LQRAgent.
+    env = LocomotiveEnvironment(render_mode='human', Tmax=10, slope=1)
+    agent = LQRAgent(env, A=A, B=B, Q=Q, R=R, q=q)
+    stats, traj = train(env, agent, num_episodes=1)
+
+    env.reset()
+    savepdf("locomotive_snapshot.pdf", env=env) # Make a plot for the exercise file.
+    env.state_labels = ["x(t)", "v(t)"]
+    env.action_labels = ["u(t)"]
+    plot_trajectory(traj[0], env)
+    plt.show(block=True)
+    savepdf("lqr_agent")
+    plt.show()
+    env.close()
diff --git a/irlc/ex06/lqr_pid.py b/irlc/ex06/lqr_pid.py
new file mode 100644
index 0000000..136cae2
--- /dev/null
+++ b/irlc/ex06/lqr_pid.py
@@ -0,0 +1,79 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import matplotlib.pyplot as plt
+import numpy as np
+from irlc import savepdf, train
+from irlc.ex04.pid_locomotive_agent import PIDLocomotiveAgent
+from irlc.ex06.lqr_agent import LQRAgent
+from irlc.ex04.model_harmonic import HarmonicOscilatorEnvironment
+from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+
+class ConstantLQRAgent(LQRAgent):
+    # TODO: 3 lines missing.
+    raise NotImplementedError("Complete this agent here. You need to update the policy-function: def pi(self, ..).")
+
+def get_Kp_Kd(L0):
+    # TODO: 1 lines missing.
+    raise NotImplementedError("Use lqr_agent.L to define Kp and Kd.")
+    return Kp, Kd
+
+
+if __name__ == "__main__":
+    Delta = 0.06  # Time discretization constant
+    # Define a harmonic osscilator environment. Use .., render_mode='human' to see a visualization.
+    env = HarmonicOscilatorEnvironment(Tmax=8, dt=Delta, m=0.5, R=np.eye(1) * 8, render_mode=None)  # set render_mode='human' to see the oscillator.
+    model = env.discrete_model.continuous_model # Get the ControlModel corresponding to this environment.
+
+
+    # Compute the discretized A, B and d matrices using the helper functions we defined in the Boeing problem.
+    # Note that these are for the discrete environment: x_{k+1} = A x_k + B u_k + d
+    A, B, d = compute_A_B_d(model, Delta)
+    Q, R, q = compute_Q_R_q(model, Delta)
+
+    # Run the LQR agent
+    lqr_agent = LQRAgent(env, A=A, B=B, d=d, Q=Q, R=R, q=q)
+    _, traj1 = train(env, lqr_agent, return_trajectory=True)
+
+    # Part 1. Build an agent that always takes actions u_k = L_0 x_k + l_0
+    constant_agent = ConstantLQRAgent(env, A=A, B=B, d=d, Q=Q, R=R, q=q)
+    # Check that its policy is independent of $k$:
+    x0, _ = env.reset() 
+    print(f"Initial state is {x0=}")
+    print(f"Action at time step k=0 {constant_agent.pi(x0, k=0)=}")
+    print(f"Action at time step k=5 (should be the same) {constant_agent.pi(x0, k=0)=}") 
+
+    _, traj2 = train(env, constant_agent, return_trajectory=True)
+
+    # Part 2. Use the L and l matrices (see lqr_agent.L and lqr_agent.l)
+    # to select Kp and Kd in a PID agent. Then let's use the Locomotive agent to see the effect of the controller.
+    # Use render_mode='human' to see its effect.
+    # We only need to use L.
+    # Hint: compare the form of the LQR and PID controller and use that to select Kp and Kd.
+    Kp, Kd = get_Kp_Kd(lqr_agent.L[0]) # Use lqr_agent.L to define Kp and Kd.
+
+    # Define and run the PID agent.
+    pid_agent = PIDLocomotiveAgent(env, env.dt, Kp=Kp, Kd=Kd)
+    _, traj3 = train(env, pid_agent, return_trajectory=True)
+
+    # Plot all actions and state sequences.
+    plt.figure(figsize=(10,5))
+    plt.grid()
+    plt.plot(traj1[0].time[:-1], traj1[0].action, label="Optimal LQR action sequence")
+    plt.plot(traj2[0].time[:-1], traj2[0].action, '.-', label="Constant LQR action sequence")
+    plt.plot(traj3[0].time[:-1], traj3[0].action, label="PID agent action sequence")
+    plt.xlabel("Time / Seconds")
+    plt.ylabel("Action / Newtons")
+    plt.ylim([-.2, .2])
+    plt.legend()
+    savepdf("pid_lqr_actions")
+    plt.show(block=True)
+
+    plt.figure(figsize=(10, 5))
+    plt.grid()
+    plt.plot(traj1[0].time, traj1[0].state[:, 0], label="Optimal LQR states x(t)")
+    plt.plot(traj2[0].time, traj2[0].state[:, 0], label="Constant LQR states x(t)")
+    plt.plot(traj3[0].time, traj3[0].state[:, 0], label="PID agent states x(t)")
+    plt.xlabel("Time / Seconds")
+    plt.ylabel("Position x(t) / Meters")
+    plt.ylim([-1, 1])
+    plt.legend()
+    savepdf("pid_lqr_states")
diff --git a/irlc/ex06/model_boeing.py b/irlc/ex06/model_boeing.py
new file mode 100644
index 0000000..57e0a0c
--- /dev/null
+++ b/irlc/ex06/model_boeing.py
@@ -0,0 +1,62 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex04.discrete_control_model import DiscreteControlModel
+from irlc.ex04.control_environment import ControlEnvironment
+from irlc.ex04.model_linear_quadratic import LinearQuadraticModel
+
+class BoeingModel(LinearQuadraticModel):
+    """
+    Boeing 747 level flight example.
+
+    See: https://books.google.dk/books?id=tXZDAAAAQBAJ&pg=PA147&lpg=PA147&dq=boeing+747+flight+0.322+model+longitudinal+flight&source=bl&ots=L2RpjCAWiZ&sig=ACfU3U2m0JsiHmUorwyq5REcOj2nlxZkuA&hl=en&sa=X&ved=2ahUKEwir7L3i6o3qAhWpl4sKHQV6CdcQ6AEwAHoECAoQAQ#v=onepage&q=boeing%20747%20flight%200.322%20model%20longitudinal%20flight&f=false
+    Also: https://web.stanford.edu/~boyd/vmls/vmls-slides.pdf
+    """
+    state_labels = ["Longitudinal velocity (x) ft/sec", "Velocity in y-axis ft/sec", "Angular velocity",
+                    "angle wrt. horizontal"]
+    action_labels = ['Elevator', "Throttle"]
+    observation_labels = ["Airspeed", "Climb rate"]
+
+    def __init__(self, output=None):
+        if output is None:
+            output = [10, 0]
+        # output = [10, 0]
+        A = [[-0.003, 0.039, 0, -0.322],
+             [-0.065, -.319, 7.74, 0],
+             [.02, -.101, -0.429, 0],
+             [0, 0, 1, 0]]
+        B = [[.01, 1],
+             [-.18, -.04],
+             [-1.16, .598],
+             [0, 0]]
+
+        A, B = np.asarray(A), np.asarray(B)
+        self.u0 = 7.74  # speed in hundred feet/seconds
+        self.P = np.asarray([[1, 0, 0, 0], [0, -1, 0, 7.74]])  # Projection of state into airspeed
+
+        dt = 0.1 # Scale the cost by this factor.
+
+        # Set up the cost:
+        self.Q_obs = np.eye(2)
+        Q = self.P.T @ self.Q_obs @ self.P / dt
+        R = np.eye(2) / dt
+        q = -np.asarray(output) @ self.Q_obs @ self.P / dt
+        super().__init__(A=A, B=B, Q=Q, R=R, q=q)
+
+    def state2outputs(self, x):
+        return self.P @ x
+
+class DiscreteBoeingModel(DiscreteControlModel):
+    def __init__(self, output=None):
+        model = BoeingModel(output=output)
+        dt = 0.1
+        super().__init__(model=model, dt=dt)
+
+
+class BoeingEnvironment(ControlEnvironment):
+    @property
+    def observation_labels(self):
+        return self.discrete_model.continuous_model.observation_labels
+
+    def __init__(self, Tmax=10):
+        model = DiscreteBoeingModel()
+        super().__init__(discrete_model=model, Tmax=Tmax)
diff --git a/irlc/ex06/model_rendevouz.py b/irlc/ex06/model_rendevouz.py
new file mode 100644
index 0000000..ffdb923
--- /dev/null
+++ b/irlc/ex06/model_rendevouz.py
@@ -0,0 +1,99 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.utils.graphics_util_pygame import UpgradedGraphicsUtil
+from irlc.ex04.discrete_control_model import DiscreteControlModel
+from irlc.ex04.control_environment import ControlEnvironment
+from irlc.ex04.model_linear_quadratic import LinearQuadraticModel
+from gymnasium.spaces import Box
+
+"""
+SEE: https://github.com/anassinator/ilqr/blob/master/examples/rendezvous.ipynb
+"""
+class ContiniousRendevouzModel(LinearQuadraticModel): 
+    state_labels= ["x0", "y0", "x1", "y1", 'Vx0', "Vy0", "Vx1", "Vy1"]
+    action_labels = ['Fx0', 'Fy0', "Fx1", "Fy1"]
+    x0 = np.array([0, 0, 10, 10, 0, -5, 5, 0])  # Initial state.
+
+    def __init__(self, m=10.0, alpha=0.1, simple_bounds=None, cost=None): 
+        m00 = np.zeros((4,4))
+        mI = np.eye(4)
+        A = np.block( [ [m00, mI], [m00, -alpha/m*mI] ] )
+        B = np.block( [ [m00], [mI/m]] )
+        state_size = len(self.x0)
+        action_size = 4
+        self.m = m
+        self.alpha = alpha
+        Q = np.eye(state_size)
+        Q[0, 2] = Q[2, 0] = -1
+        Q[1, 3] = Q[3, 1] = -1
+        R = 0.1 * np.eye(action_size)
+        self.viewer = None
+        super().__init__(A=A, B=B, Q=Q*20, R=R*20)
+
+    def x0_bound(self) -> Box:
+        return Box(self.x0, self.x0) # self.bounds['x0_low'] = self.bounds['x0_high'] = list(self.x0)
+
+    def render(self, x, render_mode="human"):
+        """ Render the environment. You don't have to understand this code.  """
+        if self.viewer is None:
+            self.viewer = HarmonicViewer(xstar=0, x0=self.x0) # target: x=0.
+        self.viewer.update(x)
+        import time
+        time.sleep(0.05)
+        return self.viewer.blit(render_mode=render_mode)
+
+    def close(self):
+        pass
+
+
+class DiscreteRendevouzModel(DiscreteControlModel): 
+    def __init__(self, dt=0.1, cost=None, transform_actions=True, **kwargs):
+        model = ContiniousRendevouzModel(**kwargs)
+        super().__init__(model=model, dt=dt, cost=cost) 
+
+class RendevouzEnvironment(ControlEnvironment): 
+    def __init__(self, Tmax=20, render_mode=None, **kwargs):
+        discrete_model = DiscreteRendevouzModel(**kwargs)
+        super().__init__(discrete_model, Tmax=Tmax, render_mode=render_mode) 
+
+class HarmonicViewer(UpgradedGraphicsUtil):
+    def __init__(self, xstar = 0, x0=None):
+        self.xstar = xstar
+        width = 800
+        self.x0 = x0
+        sz = 20
+        self.scale = width/(2*sz)
+        self.p1h = []
+        self.p2h = []
+        super().__init__(screen_width=width, xmin=-sz, xmax=sz, ymin=-sz, ymax=sz, title='Rendevouz environment')
+
+    def render(self):
+        self.draw_background(background_color=(255, 255, 255))
+        # dw = self.dw
+        p1 = self.x[:2]
+        p2 = self.x[2:4]
+        self.p1h.append(p1)
+        self.p2h.append(p2)
+        self.circle("asdf", pos=p1, r=.5 * self.scale, fillColor=(200, 0, 0))
+        self.circle("asdf", pos=p2, r=.5 * self.scale, fillColor=(0, 0, 200) )
+        if len(self.p1h) > 2:
+            self.polyline('...', np.stack(self.p1h)[:,0], np.stack(self.p1h)[:,1], width=1, color=(200, 0, 0))
+            self.polyline('...', np.stack(self.p2h)[:,0], np.stack(self.p2h)[:,1], width=1, color=(0, 0, 200))
+
+        if tuple(self.x) == tuple(self.x0):
+            self.p1h = []
+            self.p2h = []
+
+
+    def update(self, x):
+        self.x = x
+
+
+if __name__ == "__main__":
+    from irlc import Agent, train
+    env = RendevouzEnvironment(render_mode='human')
+    from irlc.ex06.lqr_agent import LQRAgent
+    a2 = LQRAgent(env=env)
+
+    stats, traj = train(env, Agent(env), num_episodes=1)
+    pass
diff --git a/irlc/ex07/__init__.py b/irlc/ex07/__init__.py
new file mode 100644
index 0000000..1e8044b
--- /dev/null
+++ b/irlc/ex07/__init__.py
@@ -0,0 +1,2 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""This directory contains the exercises for week 7."""
diff --git a/irlc/ex07/ilqr.py b/irlc/ex07/ilqr.py
new file mode 100644
index 0000000..d259999
--- /dev/null
+++ b/irlc/ex07/ilqr.py
@@ -0,0 +1,275 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""
+
+References:
+  [Her25] Tue Herlau. Sequential decision making. (Freely available online), 2025.
+  [TET12] Yuval Tassa, Tom Erez, and Emanuel Todorov. Synthesis and stabilization of complex behaviors through online trajectory optimization. In 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems, 4906–4913. IEEE, 2012. (See tassa2012.pdf).
+  [Har20] James Harrison. Optimal and learning-based control combined course notes. (See AA203combined.pdf), 2020.
+"""
+r"""
+This implements two methods: The basic ILQR method, described in (Her25, Algorithm 24), and the linesearch-based method
+described in (Her25, Algorithm 25).
+
+If you are interested, you can consult (TET12) (which contains generalization to DDP) and (Har20, Alg 1).
+"""
+import warnings
+import numpy as np
+from irlc.ex06.dlqr import LQR
+from irlc.ex04.discrete_control_model import DiscreteControlModel
+
+def ilqr_basic(model : DiscreteControlModel, N, x0, us_init : list = None, n_iterations=500, verbose=True):
+    r"""
+    Implements the basic ilqr algorithm, i.e. (Her25, Algorithm 24). Our notation (x_bar, etc.) will be consistent with the lecture slides
+    """
+    mu, alpha = 1, 1 # Hyperparameters. For now, just let them have defaults and don't change them
+    # Create a random initial state-sequence
+    n, m = model.state_size, model.action_size
+    u_bar = [np.random.uniform(-1, 1,(model.action_size,)) for _ in range(N)] if us_init is None else us_init
+    x_bar = [x0] + [np.zeros(n, )] * N
+    """
+    Initialize nominal trajectory xs, us using us and x0 (i.e. simulate system from x0 using action sequence us). 
+    The simplest way to do this is to call forward_pass with all-zero sequence of control vector/matrix l, L.
+    """
+    # TODO: 2 lines missing.
+    raise NotImplementedError("Initialize x_bar, u_bar here")
+    J_hist = []
+    for i in range(n_iterations):
+        """
+        Compute derivatives around trajectory and cost estimate J of trajectory. To do so, use the get_derivatives
+        function. Remember the functions will return lists of derivatives.
+        """
+        # TODO: 2 lines missing.
+        raise NotImplementedError("Compute J and derivatives A_k = f_x, B_k = f_u, ....")
+        """  Backward pass: Obtain feedback law matrices l, L using the backward_pass function.
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("Compute L, l = .... here")
+        """ Forward pass: Given L, l matrices computed above, simulate new (optimal) action sequence. 
+        In the lecture slides, this is similar to how we compute u^*_k and x_k
+        Once they are computed, iterate the iLQR algorithm by setting x_bar, u_bar equal to these values
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("Compute x_bar, u_bar = ...")
+        if verbose:
+            print(f"{i}> J={J:4g}, change in cost since last iteration {0 if i == 0 else J-J_hist[-1]:4g}")
+        J_hist.append(J)
+    return x_bar, u_bar, J_hist, L, l
+
+def ilqr_linesearch(model : DiscreteControlModel, N, x0, n_iterations, us_init=None, tol=1e-6, verbose=True):
+    r"""
+    For linesearch implement method described in (Her25, Algorithm 25) (we will use regular iLQR, not DDP!)
+    """
+    # The range of alpha-values to try out in the linesearch
+    # plus parameters relevant for regularization scheduling.
+    alphas = 1.1 ** (-np.arange(10) ** 2)  # alphas = [1, 1.1^{-2}, ...]
+    mu_min = 1e-6
+    mu_max = 1e10
+    Delta_0 = 2
+    mu = 1.0
+    Delta = Delta_0
+
+    n, m = model.state_size, model.action_size
+    u_bar = [np.random.uniform(-1, 1, (model.action_size,)) for _ in range(N)] if us_init is None else us_init
+    x_bar = [x0] + [np.zeros(n, )] * (N)
+    # Initialize nominal trajectory xs, us (same as in basic linesearch)
+    # TODO: 2 lines missing.
+    raise NotImplementedError("Copy-paste code from previous solution")
+    J_hist = []
+
+    converged = False
+    for i in range(n_iterations):
+        alpha_was_accepted = False
+        """ Step 1: Compute derivatives around trajectory and cost estimate of trajectory.
+        (copy-paste from basic implementation). In our implementation, J_bar = J_{u^star}(x_0) """
+        # TODO: 2 lines missing.
+        raise NotImplementedError("Obtain derivatives f_x, f_u, ... as well as cost of trajectory J_bar = ...")
+        try:
+            """
+            Step 2: Backward pass to obtain control law (l, L). Same as before so more copy-paste
+            """
+            # TODO: 1 lines missing.
+            raise NotImplementedError("Obtain l, L = ... in backward pass")
+            """
+            Step 3: Forward pass and alpha scheduling.
+            Decrease alpha and check condition |J^new < J'|. Apply the regularization scheduling as needed. """
+            for alpha in alphas:
+                x_hat, u_hat = forward_pass(model, x_bar, u_bar, L=L, l=l, alpha=alpha) # Simulate trajectory using this alpha
+                # TODO: 1 lines missing.
+                raise NotImplementedError("Compute J_new = ... as the cost of trajectory x_hat, u_hat")
+
+                if J_new < J_prime:
+                    """ Linesearch proposed trajectory accepted! Set current trajectory equal to x_hat, u_hat. """
+                    if np.abs((J_prime - J_new) / J_prime) < tol:
+                        converged = True  # Method does not seem to decrease J; converged. Break and return.
+
+                    J_prime = J_new
+                    x_bar, u_bar = x_hat, u_hat
+                    '''
+                    The update was accepted and you should change the regularization term mu, 
+                     and the related scheduling term Delta.                   
+                    '''
+                    # TODO: 1 lines missing.
+                    raise NotImplementedError("Delta, mu = ...")
+                    alpha_was_accepted = True # accept this alpha
+                    break
+        except np.linalg.LinAlgError as e:
+            # Matrix in dlqr was not positive-definite and this diverged
+            warnings.warn(str(e))
+
+        if not alpha_was_accepted:
+            ''' No alphas were accepted, which is not too hot. Regularization should change
+            '''
+            # TODO: 1 lines missing.
+            raise NotImplementedError("Delta, mu = ...")
+
+            if mu_max and mu >= mu_max:
+                raise Exception("Exceeded max regularization term; we are stuffed.")
+
+        dJ = 0 if i == 0 else J_prime-J_hist[-1]
+        info = "converged" if converged else ("accepted" if alpha_was_accepted else "failed")
+        if verbose:
+            print(f"{i}> J={J_prime:4g}, decrease in cost {dJ:4g} ({info}).\nx[N]={x_bar[-1].round(2)}")
+        J_hist.append(J_prime)
+        if converged:
+            break
+    return x_bar, u_bar, J_hist, L, l
+
+def backward_pass(A : list, B : list, c_x : list, c_u : list, c_xx : list, c_ux : list, c_uu : list, mu=1):
+    r"""Given all derivatives, apply the LQR algorithm to get the control law.
+
+    The input arguments are described in the online documentation and the lecture notes. You should use them to call your
+    implementation of the :func:`~irlc.ex06.dlqr.LQR` method. Note that you should give a value of all inputs except for the ``d``-term.
+
+    :param A: linearization of the dynamics matrices :math:`A_k`.
+    :param B:  linearization of the dynamics matrices :math:`B_k`.
+    :param c_x: Cost terms corresponding to :math:`\mathbf{q}_k`
+    :param c_u: Cost terms corresponding to :math:`\mathbf{r}_k`
+    :param c_xx: Cost terms corresponding to :math:`Q_k`
+    :param c_ux: Cost terms corresponding to :math:`H_k`
+    :param c_uu: Cost terms corresponding to :math:`R_k`
+    :param mu: Regularization parameter for the LQR method
+    :return: The control law :math:`L_k, \mathbf{l}_k` as two lists.
+    """
+    Q, QN = c_xx[:-1], c_xx[-1] # An example.
+    # TODO: 4 lines missing.
+    raise NotImplementedError("Insert your solution and remove this error.")
+    # Define the inputs using the linearization inputs.
+    (L, l), (V, v, vc) = LQR(A=A, B=B, R=R, Q=Q, QN=QN, H=H, q=q, qN=qN, r=r, mu=mu)
+    return L, l
+
+def cost_of_trajectory(model : DiscreteControlModel, xs : list, us : list) -> float:
+    r"""Helper function which computes the cost of the trajectory.
+
+    The cost is defined as:
+
+    .. math::
+
+        c_N( \bar {\mathbf x}_N, \bar {\mathbf u}_) + \sum_{k=0}^{N-1} c_k(\bar {\mathbf x}_k, \bar {\mathbf u}_k)
+
+    and to compute it, you should use the two helper methods ``model.cost.c`` and ``model.cost.cN``
+    (see :func:`~irlc.ex04.discrete_control_cost.DiscreteQRCost.c` and :func:`~irlc.ex04.discrete_control_cost.DiscreteQRCost.cN`).
+
+    :param model: The control model used to compute the cost.
+    :param xs: A list of length :math:`N+1` of the form :math:`\begin{bmatrix}\bar {\mathbf x}_0 & \dots & \bar {\mathbf x}_N \end{bmatrix}`
+    :param us: A list of length :math:`N` of the form :math:`\begin{bmatrix}\bar {\mathbf x}_0 & \dots & \bar {\mathbf x}_{N-1} \end{bmatrix}`
+    :return: The cost as a number.
+    """
+    N = len(us)
+    JN = model.cost.cN(xs[-1])
+    return sum(map(lambda args:  model.cost.c(*args), zip(xs[:-1], us, range(N)))) + JN
+
+def get_derivatives(model : DiscreteControlModel, x_bar : list, u_bar : list):
+    """Compute all the derivatives used in the model.
+
+    The return type should match the meaning in (Her25, Subequation 17.8) and in the online documentation.
+
+    - ``c`` should be a list of length :math:`N+1`
+    - ``c_x`` should be a list of length :math:`N+1`
+    - ``c_xx`` should be a list of length :math:`N+1`
+    - ``c_u`` should be a list of length :math:`N`
+    - ``c_uu`` should be a list of length :math:`N`
+    - ``c_ux`` should be a list of length :math:`N`
+    - ``A`` should be a list of length :math:`N`
+    - ``B`` should be a list of length :math:`N`
+
+    Use the model to compute these terms. For instance, this will compute the first terms ``A[0]`` and ``B[0]``::
+
+        A0, B0 = model.f_jacobian(x_bar[0], u_bar[0], 0)
+
+    Meanwhile, to compute the first terms of the cost-functions you should use::
+
+        c[0], c_x[0], c_u[0], c_xx[0], c_ux[0], c_uu[0] = model.cost.c(x_bar[0], u_bar[0], k=0, compute_gradients=True)
+
+    :param model: The model to use when computing the derivatives of the cost
+    :param x_bar: The nominal state-trajectory
+    :param u_bar: The nominal action-trajectory
+    :return: Lists of all derivatives computed around the nominal trajectory (see the lecture notes).
+    """
+    N = len(u_bar)
+    """ Compute A_k, B_k (lists of matrices of length N) as the jacobians of the dynamics. To do so, 
+    recall from the online documentation that: 
+        x, f_x, f_u = model.f(x, u, k, compute_jacobian=True)
+    """
+    A = [None]*N
+    B = [None]*N
+    c = [None] * (N+1)
+    c_x = [None] * (N + 1)
+    c_xx = [None] * (N + 1)
+
+    c_u = [None] * (N+1)
+    c_ux = [None] * (N + 1)
+    c_uu = [None] * (N + 1)
+    # Now update each entry correctly (i.e., ensure there are no None elements left).
+    # TODO: 4 lines missing.
+    raise NotImplementedError("Insert your solution and remove this error.")
+    """ Compute derivatives of the cost function. For terms not including u these should be of length N+1 
+    (because of gN!), for the other lists of length N
+    recall model.cost.c has output:
+        c[i], c_x[i], c_u[i], c_xx[i], c_ux[i], c_uu[i] = model.cost.c(x, u, i, compute_gradients=True)
+    """
+    # TODO: 2 lines missing.
+    raise NotImplementedError("Insert your solution and remove this error.")
+    # Concatenate the derivatives associated with the last time point N.
+    cN, c_xN, c_xxN = model.cost.cN(x_bar[N], compute_gradients=True)
+    # TODO: 3 lines missing.
+    raise NotImplementedError("Update c, c_x and c_xx with the terminal terms.")
+    return A, B, c, c_x, c_u, c_xx, c_ux, c_uu
+
+def forward_pass(model : DiscreteControlModel, x_bar : list, u_bar : list, L : list, l : list, alpha=1.0):
+    r"""Simulates the effect of the controller on the model
+
+    We assume the system starts in :math:`\mathbf{x}_0 = \bar {\mathbf x}_0`, and then simulate the effect of
+    generating actions using the closed-loop policy
+
+    .. math::
+
+        \mathbf{u}_k = \bar {\mathbf u}_k + \alpha \mathbf{l}_k + L_k (\mathbf{x}_k - \bar { \mathbf x}_k)
+
+    (see  (Her25, eq. (17.16))).
+
+    :param model: The model used to compute the dynamics.
+    :param x_bar: A nominal list of states
+    :param u_bar: A nominal list of actions (not used by the method)
+    :param L: A list of control matrices :math:`L_k`
+    :param l: A list of control vectors :math:`\mathbf{l}_k`
+    :param alpha: The linesearch parameter.
+    :return: A list of length :math:`N+1` of simulated states and a list of length :math:`N` of simulated actions.
+    """
+    N = len(u_bar)
+    x = [None] * (N+1)
+    u_star = [None] * N
+    x[0] = x_bar[0].copy()
+
+    for i in range(N):
+        r""" Compute using (Her25, eq. (17.16))
+        u_{i} = ...
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("u_star[i] = ....")
+        """ Remember to compute 
+        x_{i+1} = f_k(x_i, u_i^*)        
+        here:
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("x[i+1] = ...")
+    return x, u_star
diff --git a/irlc/ex07/ilqr_agent.py b/irlc/ex07/ilqr_agent.py
new file mode 100644
index 0000000..eb8c146
--- /dev/null
+++ b/irlc/ex07/ilqr_agent.py
@@ -0,0 +1,56 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""
+
+References:
+  [Her25] Tue Herlau. Sequential decision making. (Freely available online), 2025.
+"""
+from irlc.ex06.model_rendevouz import RendevouzEnvironment
+from irlc.ex07.ilqr_rendovouz_basic import ilqr
+from irlc import train
+from irlc import Agent
+import numpy as np
+
+class ILQRAgent(Agent):
+    def __init__(self, env, discrete_model, N=250, ilqr_iterations=10, use_ubar=False, use_linesearch=True):
+        super().__init__(env)
+        self.dt = discrete_model.dt
+        # x0 = discrete_model.reset()
+        x0,_ = env.reset()
+        x0 = np.asarray(x0) # Get the initial state. We will take this from the environment.
+        xs, us, self.J_hist, L, l = ilqr(discrete_model, N, x0, n_iter=ilqr_iterations, use_linesearch=use_linesearch)
+        self.ubar = us
+        self.xbar = xs
+        self.L = L
+        self.l = l
+        self.use_ubar = use_ubar # Should policy use open-loop u-bar (suboptimal) or closed-loop L_k, l_k?
+
+    def pi(self, x, k, info=None):
+        if self.use_ubar:
+            u = self.ubar[k]
+        else:
+            if k >= len(self.ubar):
+                print(k, len(self.ubar))
+                k = len(self.ubar)-1
+            # See (Her25, eq. (17.16))
+            # TODO: 1 lines missing.
+            raise NotImplementedError("Generate action using the control matrices.")
+        return u
+
+def solve_rendevouz():
+    env = RendevouzEnvironment()
+    N = int(env.Tmax / env.dt)
+    agent = ILQRAgent(env, env.discrete_model, N=N)
+    stats, trajectories = train(env, agent, num_episodes=1, return_trajectory=True)
+    env.close()
+    return stats, trajectories, agent
+
+if __name__ == "__main__":
+    from irlc.ex07.ilqr_rendovouz_basic import plot_vehicles
+    import matplotlib.pyplot as plt
+    stats, trajectories, agent = solve_rendevouz()
+    t =trajectories[0].state
+    xb = agent.xbar
+    plot_vehicles(t[:,0], t[:,1], t[:,2], t[:,3], linespec=':', legend=("RK4 policy simulation", "RK4 policy simulation"))
+    plot_vehicles(xb[:,0], xb[:,1], xb[:,2], xb[:,3], linespec='-')
+    plt.legend()
+    plt.show()
diff --git a/irlc/ex07/ilqr_cartpole.py b/irlc/ex07/ilqr_cartpole.py
new file mode 100644
index 0000000..d2463a5
--- /dev/null
+++ b/irlc/ex07/ilqr_cartpole.py
@@ -0,0 +1,83 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import matplotlib.pyplot as plt
+import numpy as np
+from irlc.ex05.model_cartpole import GymSinCosCartpoleEnvironment
+import time
+from irlc.ex07.ilqr_rendovouz_basic import ilqr
+from irlc import savepdf
+
+# Number of steps.
+N = 100
+def cartpole(use_linesearch):
+    env = GymSinCosCartpoleEnvironment(render_mode='human')
+    x0, info = env.reset()
+    xs, us, J_hist, L, l = ilqr(env.discrete_model, N, x0, n_iter=300, use_linesearch=use_linesearch)
+    plot_cartpole(env, xs, us, use_linesearch=use_linesearch)
+
+def plot_cartpole(env, xs, us, J_hist=None, use_linesearch=True):
+    animate(xs, env)
+    env.close()
+    # Transform actions/states using build-in functions.
+    def gapply(f, xm):
+        usplit = np.split(xm, len(xm))
+        u2 = [f(u.flat) for u in usplit]
+        us = np.stack(u2)
+        return us
+
+    us = gapply(env.discrete_model.phi_u_inv, us)
+    xs = gapply(env.discrete_model.phi_x_inv, xs)
+
+    t = np.arange(N + 1) * env.dt
+    x = xs[:, 0]
+    theta = np.unwrap(xs[:, 2])  # Makes for smoother plots.
+    theta_dot = xs[:, 3]
+    pdf_ex = '_linesearch' if use_linesearch else ''
+    ev = 'cartpole_'
+
+    plt.plot(theta, theta_dot)
+    plt.xlabel("theta (rad)")
+    plt.ylabel("theta_dot (rad/s)")
+    plt.title("Orientation Phase Plot")
+    plt.grid()
+    savepdf(f"{ev}theta{pdf_ex}")
+    plt.show()
+
+    _ = plt.plot(t[:-1], us)
+    _ = plt.xlabel("time (s)")
+    _ = plt.ylabel("Force (N)")
+    _ = plt.title("Action path")
+    plt.grid()
+    savepdf(f"{ev}action{pdf_ex}")
+    plt.show()
+
+    _ = plt.plot(t, x)
+    _ = plt.xlabel("time (s)")
+    _ = plt.ylabel("Position (m)")
+    _ = plt.title("Cart position")
+    plt.grid()
+    savepdf(f"{ev}position{pdf_ex}")
+    plt.show()
+    if J_hist is not None:
+        _ = plt.plot(J_hist)
+        _ = plt.xlabel("Iteration")
+        _ = plt.ylabel("Total cost")
+        _ = plt.title("Total cost-to-go")
+        plt.grid()
+        savepdf(f"{ev}J{pdf_ex}")
+        plt.show()
+
+def animate(xs0, env):
+    render = True
+    if render:
+        for i in range(2):
+            render_(xs0, env.discrete_model)
+            time.sleep(1)
+        # env.viewer.close()
+
+def render_(xs, env):
+    for i in range(xs.shape[0]):
+        x = xs[i]
+        env.render(x=x)
+
+if __name__ == "__main__":
+    cartpole(use_linesearch=True)
diff --git a/irlc/ex07/ilqr_cartpole_agent.py b/irlc/ex07/ilqr_cartpole_agent.py
new file mode 100644
index 0000000..cd82bd2
--- /dev/null
+++ b/irlc/ex07/ilqr_cartpole_agent.py
@@ -0,0 +1,43 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex07.ilqr_agent import ILQRAgent
+from irlc import train
+from irlc import savepdf
+import matplotlib.pyplot as plt
+from irlc.ex05.model_cartpole import GymSinCosCartpoleEnvironment
+
+def cartpole_experiment(N=12, use_linesearch=True, figex="", animate=True):
+    np.random.seed(2)
+    Tmax = .9
+    dt = Tmax/N
+    env = GymSinCosCartpoleEnvironment(dt=dt, Tmax=Tmax, supersample_trajectory=True, render_mode='human' if animate else None)
+    agent = ILQRAgent(env, env.discrete_model, N=N, ilqr_iterations=200, use_linesearch=use_linesearch)
+    stats, trajectories = train(env, agent, num_episodes=1, return_trajectory=True)
+
+    agent.use_ubar = True
+    stats2, trajectories2 = train(env, agent, num_episodes=1, return_trajectory=True)
+    env.close()
+
+    xb = agent.xbar
+    tb = np.arange(N+1)*dt
+    plt.figure(figsize=(8,6))
+    F = 3
+    plt.plot(trajectories[0].time, trajectories[0].state[:,F], 'k-', label='Closed-loop $\\pi$')
+    plt.plot(trajectories2[0].time, trajectories2[0].state[:,F], '-', label='Open-loop $\\bar{u}_k$')
+
+    plt.plot(tb, xb[:,F], '.-', label="iLQR rediction $\\bar{x}_k$")
+    plt.xlabel("Time/seconds")
+    plt.ylabel("$\cos(\\theta)$")
+    plt.title(f"Cartpole environment $T={N}$")
+
+    plt.grid()
+    plt.legend()
+    ev = "pendulum"
+    savepdf(f"irlc_cartpole_theta_N{N}_{use_linesearch}{figex}")
+    plt.show()
+
+def plt_cartpole():
+    cartpole_experiment(N=50, use_linesearch=True, animate=True)
+
+if __name__ == '__main__':
+    plt_cartpole()
diff --git a/irlc/ex07/ilqr_pendulum.py b/irlc/ex07/ilqr_pendulum.py
new file mode 100644
index 0000000..5bcc82e
--- /dev/null
+++ b/irlc/ex07/ilqr_pendulum.py
@@ -0,0 +1,68 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex04.model_pendulum import DiscreteSinCosPendulumModel
+import matplotlib.pyplot as plt
+import time
+from irlc.ex07.ilqr_rendovouz_basic import ilqr
+from irlc import savepdf
+
+def pendulum(use_linesearch):
+    print("> Using iLQR to solve Pendulum swingup task. Using linesearch?", use_linesearch)
+    dt = 0.02
+    model = DiscreteSinCosPendulumModel(dt, cost=None)
+    N = 250
+    # This rather clunky line gets us the initial state; we transform the bound by the variable transformation.
+    x0 = np.asarray(model.phi_x(model.continuous_model.x0_bound().low))
+
+    n_iter = 200 # Use 200 iLQR iterations.
+    # xs, us, J_hist, L, l = ilqr(model, ...) Write a function call like this, but with the correct parametesr
+    # TODO: 1 lines missing.
+    raise NotImplementedError("Call iLQR here (see hint above).")
+
+    render = True
+    if render:
+        for i in range(2):
+            render_(xs, model)
+            time.sleep(2) # Sleep for two seconds between simulations.
+    model.close()
+    xs = np.asarray([model.phi_x_inv(x) for x, u in zip(xs, us)]) # Convert to Radians. We use the build-in functions to change coordinates.
+    xs, us = np.asarray(xs), np.asarray(us)
+
+    t = np.arange(N) * dt
+    theta = np.unwrap(xs[:, 0])  # Makes for smoother plots.
+    theta_dot = xs[:, 1]
+
+    pdf_ex = '_linesearch' if use_linesearch else ''
+    stitle = "(using linesearch)" if use_linesearch else "(not using linesearch) "
+    ev = 'pendulum_'
+    _ = plt.plot(theta, theta_dot)
+    _ = plt.xlabel("$\\theta$ (rad)")
+    _ = plt.ylabel("$d\\theta/dt$ (rad/s)")
+    _ = plt.title(f"Phase Plot {stitle}")
+    plt.grid()
+    savepdf(f"{ev}theta{pdf_ex}")
+    plt.show()
+
+    _ = plt.plot(t, us)
+    _ = plt.xlabel("time (s)")
+    _ = plt.ylabel("Force (N)")
+    _ = plt.title(f"Action path {stitle}")
+    plt.grid()
+    savepdf(f"{ev}action{pdf_ex}")
+    plt.show()
+
+    _ = plt.plot(J_hist)
+    _ = plt.xlabel("Iteration")
+    _ = plt.ylabel("Total cost")
+    _ = plt.title(f"Total cost-to-go {stitle}")
+    plt.grid()
+    savepdf(f"{ev}J{pdf_ex}")
+    plt.show()
+
+def render_(xs, env):
+    for i in range(xs.shape[0]):
+        env.render(xs[i])
+
+if __name__ == "__main__":
+    pendulum(use_linesearch=False)
+    pendulum(use_linesearch=True)
diff --git a/irlc/ex07/ilqr_pendulum_agent.py b/irlc/ex07/ilqr_pendulum_agent.py
new file mode 100644
index 0000000..6daf971
--- /dev/null
+++ b/irlc/ex07/ilqr_pendulum_agent.py
@@ -0,0 +1,63 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex04.model_pendulum import GymSinCosPendulumEnvironment
+from irlc.ex07.ilqr_agent import ILQRAgent
+from irlc import train
+from irlc import savepdf
+import matplotlib.pyplot as plt
+
+Tmax = 3
+def pen_experiment(N=12, use_linesearch=True,figex="", animate=True):
+    dt = Tmax / N
+    env = GymSinCosPendulumEnvironment(dt, Tmax=Tmax, supersample_trajectory=True, render_mode="human" if animate else None)
+    agent = ILQRAgent(env, env.discrete_model, N=N, ilqr_iterations=200, use_linesearch=use_linesearch)
+
+    stats, trajectories = train(env, agent, num_episodes=1, return_trajectory=True)
+
+    agent.use_ubar = True
+    stats2, trajectories2 = train(env, agent, num_episodes=1, return_trajectory=True)
+    env.close()
+
+    plot_pendulum_trajectory(env, trajectories[0], label='Closed-loop $\\pi$')
+    xb = agent.xbar
+    tb = np.arange(N+1)*dt
+    plt.figure(figsize=(12, 6))
+    plt.plot(trajectories[0].time, trajectories[0].state[:,1], '-', label='Closed-loop $\\pi(x_k)$')
+
+    plt.plot(trajectories2[0].time, trajectories2[0].state[:,1], '-', label='Open-loop $\\bar{u}_k$')
+    plt.plot(tb, xb[:,1], 'o-', label="iLQR prediction $\\bar{x}_k$")
+    plt.grid()
+    plt.legend()
+    ev = "pendulum"
+    savepdf(f"irlc_pendulum_theta_N{N}_{use_linesearch}{figex}")
+    plt.show()
+
+    ## Plot J
+    plt.figure(figsize=(6, 6))
+    plt.semilogy(agent.J_hist, 'k.-')
+    plt.xlabel("iLQR Iterations")
+    plt.ylabel("Cost function estimate $J$")
+    # plt.title("Last value: {")
+    plt.grid()
+    savepdf(f"irlc_pendulum_J_N{N}_{use_linesearch}{figex}")
+    plt.show()
+
+def plot_pendulum_trajectory(env, traj, style='k.-', label=None, action=False, **kwargs):
+    if action:
+        y = traj.action[:, 0]
+        y = np.clip(y, env.action_space.low[0], env.action_space.high[0])
+    else:
+        y = traj.state[:, 1]
+
+    plt.plot(traj.time[:-1] if action else traj.time, y, style, label=label, **kwargs)
+    plt.xlabel("Time/seconds")
+    if action:
+        plt.ylabel("Torque $u$")
+    else:
+        plt.ylabel(r"$\cos(\theta)$")
+    plt.grid()
+    pass
+
+N = 50
+if __name__ == "__main__":
+    pen_experiment(N=N, use_linesearch=True)
diff --git a/irlc/ex07/ilqr_rendevoyz.py b/irlc/ex07/ilqr_rendevoyz.py
new file mode 100644
index 0000000..8cd6cdc
--- /dev/null
+++ b/irlc/ex07/ilqr_rendevoyz.py
@@ -0,0 +1,5 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex07.ilqr_rendovouz_basic import plot_rendevouz
+
+if __name__ == "__main__":
+    plot_rendevouz(use_linesearch=True)
diff --git a/irlc/ex07/ilqr_rendovouz_basic.py b/irlc/ex07/ilqr_rendovouz_basic.py
new file mode 100644
index 0000000..fcd245e
--- /dev/null
+++ b/irlc/ex07/ilqr_rendovouz_basic.py
@@ -0,0 +1,99 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+import matplotlib.pyplot as plt
+from irlc import savepdf
+from irlc.ex07.ilqr import ilqr_basic, ilqr_linesearch
+from irlc.ex06.model_rendevouz import DiscreteRendevouzModel
+from irlc.ex04.control_environment import ControlEnvironment
+from irlc.ex04.discrete_control_model import DiscreteControlModel
+# plt.ion()
+
+
+def ilqr(model : DiscreteControlModel, N, x0, n_iter, use_linesearch, verbose=True):
+    if not use_linesearch:
+        xs, us, J_hist, L, l = ilqr_basic(model, N, x0, n_iterations=n_iter,verbose=verbose) 
+    else:
+        xs, us, J_hist, L, l = ilqr_linesearch(model, N, x0, n_iterations=n_iter, tol=1e-6,verbose=verbose)
+    xs, us = np.stack(xs), np.stack(us)
+    return xs, us, J_hist, L, l
+
+def plot_vehicles(x_0, y_0, x_1, y_1, linespec='-', legend=("Vehicle 1", "Vehicle 2")):
+    _ = plt.title("Trajectory of the two omnidirectional vehicles")
+    _ = plt.plot(x_0, y_0, "r"+linespec, label=legend[0])
+    _ = plt.plot(x_1, y_1, "b"+linespec, label=legend[1])
+
+Tmax = 20
+def solve_rendovouz(use_linesearch=False):
+    model = DiscreteRendevouzModel()
+    x0 = np.asarray(model.continuous_model.x0_bound().low) # Starting position
+    N = int(Tmax/model.dt)
+    return ilqr(model, N, x0, n_iter=10, use_linesearch=use_linesearch), model
+
+def plot_rendevouz(use_linesearch=False):
+    (xs, us, J_hist, _, _), env = solve_rendovouz(use_linesearch=use_linesearch)
+    N = int(Tmax / env.dt)
+    dt = env.dt
+    x_0 = xs[:, 0]
+    y_0 = xs[:, 1]
+    x_1 = xs[:, 2]
+    y_1 = xs[:, 3]
+    x_0_dot = xs[:, 4]
+    y_0_dot = xs[:, 5]
+    x_1_dot = xs[:, 6]
+    y_1_dot = xs[:, 7]
+
+    pdf_ex = '_linesearch' if use_linesearch else ''
+    ev = 'rendevouz_'
+    plot_vehicles(x_0, y_0, x_1, y_1, linespec='-', legend=("Vehicle 1", "Vehicle 2"))
+    plt.legend()
+    savepdf(f'{ev}trajectory{pdf_ex}')
+    plt.show()
+
+    t = np.arange(N + 1) * dt
+    _ = plt.plot(t, x_0, "r")
+    _ = plt.plot(t, x_1, "b")
+    _ = plt.xlabel("Time (s)")
+    _ = plt.ylabel("x (m)")
+    _ = plt.title("X positional paths")
+    _ = plt.legend(["Vehicle 1", "Vehicle 2"])
+    savepdf(f'{ev}vehicles_x_pos{pdf_ex}')
+    plt.show()
+
+    _ = plt.plot(t, y_0, "r")
+    _ = plt.plot(t, y_1, "b")
+    _ = plt.xlabel("Time (s)")
+    _ = plt.ylabel("y (m)")
+    _ = plt.title("Y positional paths")
+    _ = plt.legend(["Vehicle 1", "Vehicle 2"])
+    savepdf(f'{ev}vehicles_y_pos{pdf_ex}')
+    plt.show()
+
+    _ = plt.plot(t, x_0_dot, "r")
+    _ = plt.plot(t, x_1_dot, "b")
+    _ = plt.xlabel("Time (s)")
+    _ = plt.ylabel("x_dot (m)")
+    _ = plt.title("X velocity paths")
+    _ = plt.legend(["Vehicle 1", "Vehicle 2"])
+    savepdf(f'{ev}vehicles_vx{pdf_ex}')
+    plt.show()
+
+    _ = plt.plot(t, y_0_dot, "r")
+    _ = plt.plot(t, y_1_dot, "b")
+    _ = plt.xlabel("Time (s)")
+    _ = plt.ylabel("y_dot (m)")
+    _ = plt.title("Y velocity paths")
+    _ = plt.legend(["Vehicle 1", "Vehicle 2"])
+    savepdf(f'{ev}vehicles_vy{pdf_ex}')
+    plt.show()
+
+    _ = plt.plot(J_hist)
+    _ = plt.xlabel("Iteration")
+    _ = plt.ylabel("Total cost")
+    _ = plt.title("Total cost-to-go")
+    savepdf(f'{ev}cost_to_go{pdf_ex}')
+    plt.show()
+    pass
+
+
+if __name__ == "__main__":
+    plot_rendevouz(use_linesearch=False)
diff --git a/irlc/ex07/linearization_agent.py b/irlc/ex07/linearization_agent.py
new file mode 100644
index 0000000..bffbe89
--- /dev/null
+++ b/irlc/ex07/linearization_agent.py
@@ -0,0 +1,67 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+"""
+
+References:
+  [Her25] Tue Herlau. Sequential decision making. (Freely available online), 2025.
+"""
+from irlc.ex06.dlqr import LQR
+from irlc import Agent
+from irlc.ex05.model_cartpole import GymSinCosCartpoleEnvironment
+from irlc import train, savepdf
+import matplotlib.pyplot as plt
+import numpy as np
+from irlc.ex04.control_environment import ControlEnvironment
+from irlc.ex04.discrete_control_model import DiscreteControlModel
+
+class LinearizationAgent(Agent):
+    """ Implement the simple linearization procedure described in (Her25, Algorithm 23) which expands around a single fixed point. """
+    def __init__(self, env: ControlEnvironment, model : DiscreteControlModel, xbar=None, ubar=None):
+        self.model = model
+        N = 50  # Plan on this horizon. The control matrices will converge fairly quickly.
+        """ Define A, B, d as the list of A/B matrices here. I.e. x[t+1] = A x[t] + B u[t] + d.
+        You should use the function model.f to do this, which has build-in functionality to compute Jacobians which will be equal to A, B.
+        It is important that you linearize around xbar, ubar. See (Her25, Section 17.1) for further details. """
+        # TODO: 4 lines missing.
+        raise NotImplementedError("Insert your solution and remove this error.")
+        Q, q, R = self.model.cost.Q, self.model.cost.q, self.model.cost.R
+        """ Define self.L, self.l here as the (lists of) control matrices. """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("Compute control matrices L, l here using LQR(...)")
+        super().__init__(env)
+
+    def pi(self, x, k, info=None):
+        """
+        Compute the action here using u_k = L_0 x_k + l_0. The control matrix/vector L_0 can be found as the output from LQR, i.e.
+        L_0 = L[0] and l_0 = l[0].
+
+        The reason we use L_0, l_0 (and not L_k, l_k) is because the LQR problem itself is an approximation of the true dynamics
+        and this controller will be able to balance the pendulum for an infinite amount of time.
+        """
+        # TODO: 1 lines missing.
+        raise NotImplementedError("Compute current action here")
+        return u
+
+
+def get_offbalance_cart(waiting_steps=30, sleep_time=0.1):
+    env = GymSinCosCartpoleEnvironment(Tmax=3, render_mode='human')
+    env.reset()
+    import time
+    time.sleep(sleep_time)
+    env.state = env.discrete_model.x_upright
+    env.state[-1] = 0.01 # a bit of angular speed.
+    for _ in range(waiting_steps):  # Simulate the environment for 30 steps to get things out of balance.
+        env.step(1)
+        time.sleep(sleep_time)
+    return env
+
+
+if __name__ == "__main__":
+    np.random.seed(42) # I don't think these results are seed-dependent but let's make sure.
+    from irlc import plot_trajectory
+    env = get_offbalance_cart(4) # Simulate for 4 seconds to get the cart off-balance. Same idea as PID control.
+    agent = LinearizationAgent(env, model=env.discrete_model, xbar=env.discrete_model.x_upright, ubar=env.action_space.sample()*0)
+    _, trajectories = train(env, agent, num_episodes=1, return_trajectory=True, reset=False)  # Note reset=False to maintain initial conditions.
+    plot_trajectory(trajectories[0], env, xkeys=[0,2, 3], ukeys=[0])
+    env.close()
+    savepdf("linearization_cartpole")
+    plt.show()
diff --git a/irlc/lectures/lec05/__init__.py b/irlc/lectures/lec05/__init__.py
new file mode 100644
index 0000000..a56057c
--- /dev/null
+++ b/irlc/lectures/lec05/__init__.py
@@ -0,0 +1 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
diff --git a/irlc/lectures/lec05/lecture_05_carpole_random.py b/irlc/lectures/lec05/lecture_05_carpole_random.py
new file mode 100644
index 0000000..e82a89b
--- /dev/null
+++ b/irlc/lectures/lec05/lecture_05_carpole_random.py
@@ -0,0 +1,9 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc import Agent, train
+from irlc.ex05.model_cartpole import GymSinCosCartpoleEnvironment
+
+if __name__ == "__main__":
+
+    env = GymSinCosCartpoleEnvironment(Tmax=20, render_mode='human')
+    train(env, Agent(env), num_episodes=1)
+    env.close()
diff --git a/irlc/lectures/lec05/lecture_05_cartpole_kelly.py b/irlc/lectures/lec05/lecture_05_cartpole_kelly.py
new file mode 100644
index 0000000..1bc3bcc
--- /dev/null
+++ b/irlc/lectures/lec05/lecture_05_cartpole_kelly.py
@@ -0,0 +1,10 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex05.direct_cartpole_kelly import compute_solutions
+from irlc.ex05.direct_plot import plot_solutions
+import matplotlib.pyplot as plt
+
+if __name__ == "__main__":
+    env, solutions = compute_solutions()
+    print("Did we succeed?", solutions[-1]['solver']['success'])
+    plot_solutions(env, solutions, animate=True, pdf=None, animate_all=True, animate_repeats=3)
+    env.close()
diff --git a/irlc/lectures/lec05/lecture_05_cartpole_time.py b/irlc/lectures/lec05/lecture_05_cartpole_time.py
new file mode 100644
index 0000000..ebd6e87
--- /dev/null
+++ b/irlc/lectures/lec05/lecture_05_cartpole_time.py
@@ -0,0 +1,11 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex05.direct_cartpole_time import compute_solutions
+from irlc.ex05.direct_plot import plot_solutions
+import matplotlib.pyplot as plt
+
+if __name__ == "__main__":
+    env, solutions = compute_solutions()
+    print("Did we succeed?", solutions[-1]['solver']['success'])
+    plot_solutions(env, solutions, animate=True, pdf=None, animate_all=True, animate_repeats=3)
+    env.close()
+    pass
diff --git a/irlc/lectures/lec06/__init__.py b/irlc/lectures/lec06/__init__.py
new file mode 100644
index 0000000..a56057c
--- /dev/null
+++ b/irlc/lectures/lec06/__init__.py
@@ -0,0 +1 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
diff --git a/irlc/lectures/lec06/lecture6_lqr_locomotive.py b/irlc/lectures/lec06/lecture6_lqr_locomotive.py
new file mode 100644
index 0000000..2c9ddf3
--- /dev/null
+++ b/irlc/lectures/lec06/lecture6_lqr_locomotive.py
@@ -0,0 +1,37 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import matplotlib.pyplot as plt
+import numpy as np
+from irlc import savepdf, train
+from irlc.ex04.pid_locomotive_agent import PIDLocomotiveAgent
+from irlc.ex06.lqr_agent import LQRAgent
+from irlc.ex04.model_harmonic import HarmonicOscilatorEnvironment
+from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+from irlc.ex07.linearization_agent import LinearizationAgent
+from irlc.ex06.lqr_pid import ConstantLQRAgent
+from irlc.ex04.locomotive import LocomotiveEnvironment
+from irlc.ex04.pid_locomotive_agent import PIDLocomotiveAgent
+from irlc.ex01.agent import train
+from irlc.ex03.control_cost import SymbolicQRCost
+import matplotlib
+#matplotlib.use('qtagg')
+dt = .04
+m = 70
+Tmax=10
+slope = 0
+
+env = LocomotiveEnvironment(m=m, slope=slope, dt=dt, Tmax=Tmax, render_mode='human')
+
+model = env.discrete_model
+model.cost = SymbolicQRCost(Q=np.eye(2)*100, R=np.eye(1)).discretize(dt=dt)
+agent = LinearizationAgent(env, model=model, xbar=env.observation_space.sample(), ubar=env.action_space.sample())
+_, traj = train(env, agent, num_episodes=1)
+env.close()
+if False:
+    from irlc import plot_trajectory, savepdf
+    import matplotlib.pyplot as plt
+    plt.figure()
+    plot_trajectory(trajectory=traj[0], env=env, xkeys=[0, 1], ukeys=[])
+    savepdf('lqr_pid_locomotive_state.pdf')
+    plot_trajectory(trajectory=traj[0], env=env, ukeys=[0], xkeys=[])
+    savepdf('lqr_pid_locomotive_action.pdf')
+    env.close()
diff --git a/irlc/lectures/lec06/lecture_06_cartpole_ilqr.py b/irlc/lectures/lec06/lecture_06_cartpole_ilqr.py
new file mode 100644
index 0000000..dc56335
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_cartpole_ilqr.py
@@ -0,0 +1,47 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex07.ilqr_agent import ILQRAgent
+from irlc import train
+from irlc.ex05.model_cartpole import GymSinCosCartpoleEnvironment
+# from irlc import VideoMonitor
+
+def cartpole_experiment(N=12, use_linesearch=True, figex="", animate=True):
+    np.random.seed(2)
+    Tmax = .9
+    dt = Tmax/N
+
+    env = GymSinCosCartpoleEnvironment(dt=dt, Tmax=Tmax, supersample_trajectory=True, render_mode='human')
+    agent = ILQRAgent(env, env.discrete_model, N=N, ilqr_iterations=200, use_linesearch=use_linesearch)
+    # if animate:
+    #     env =VideoMonitor(env)
+    stats, trajectories = train(env, agent, num_episodes=3, return_trajectory=True)
+
+    # agent.use_ubar = True
+    # stats2, trajectories2 = train(env, agent, num_episodes=1, return_trajectory=True)
+    # env.close()
+    env.close()
+
+def plt_cartpole():
+    cartpole_experiment(N=50, use_linesearch=True, animate=True)
+
+if __name__ == '__main__':
+    np.random.seed(42)
+    plt_cartpole()
+
+    # xb = agent.xbar
+    # tb = np.arange(N+1)*dt
+    # plt.figure(figsize=(8,6))
+    # F = 3
+    # # plt.plot(trajectories[0].time, trajectories[0].state[:,F], 'k-', label='Closed-loop $\\pi$')
+    # # plt.plot(trajectories2[0].time, trajectories2[0].state[:,F], '-', label='Open-loop $\\bar{u}_k$')
+    #
+    # plt.plot(tb, xb[:,F], '.-', label="iLQR rediction $\\bar{x}_k$")
+    # plt.xlabel("Time/seconds")
+    # plt.ylabel("$\cos(\\theta)$")
+    # plt.title(f"Pendulum environment $T={N}$")
+    #
+    # plt.grid()
+    # plt.legend()
+    # ev = "pendulum"
+    # savepdf(f"irlc_cartpole_theta_N{N}_{use_linesearch}{figex}")
+    # plt.show()
diff --git a/irlc/lectures/lec06/lecture_06_linearize.py b/irlc/lectures/lec06/lecture_06_linearize.py
new file mode 100644
index 0000000..311dd27
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_linearize.py
@@ -0,0 +1,6 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex07.linearization_agent import get_offbalance_cart
+
+if __name__ == "__main__":
+    env = get_offbalance_cart(waiting_steps=20, sleep_time=0.1)
+    env.close()
diff --git a/irlc/lectures/lec06/lecture_06_linearize_b.py b/irlc/lectures/lec06/lecture_06_linearize_b.py
new file mode 100644
index 0000000..b582957
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_linearize_b.py
@@ -0,0 +1,18 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc import plot_trajectory, train
+from irlc.ex07.linearization_agent import get_offbalance_cart, LinearizationAgent
+import numpy as np
+import matplotlib
+matplotlib.use("tkagg")
+import matplotlib.pyplot as plt
+
+
+if __name__ == "__main__":
+    np.random.seed(42) # I don't think these results are seed-dependent but let's make sure.
+    env = get_offbalance_cart(4, sleep_time=0.08) # Simulate for a little time to get an off-balance cart. Increase 4-->10 to get failure.
+    agent = LinearizationAgent(env, model=env.discrete_model, xbar=env.discrete_model.x_upright, ubar=env.action_space.sample()*0)
+    _, trajectories = train(env, agent, num_episodes=1, return_trajectory=True, reset=False)  # Note reset=False to maintain initial conditions.
+    plt.figure()
+    plot_trajectory(trajectories[0], env, xkeys=[0, 2, 3], ukeys=[0])
+    plt.show()
+    env.close()
diff --git a/irlc/lectures/lec06/lecture_06_pendulum_bilqr_L.py b/irlc/lectures/lec06/lecture_06_pendulum_bilqr_L.py
new file mode 100644
index 0000000..e0cb2ca
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_pendulum_bilqr_L.py
@@ -0,0 +1,7 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.lectures.lec06.lecture_06_pendulum_bilqr_ubar import pen_experiment
+
+if __name__ == "__main__":
+    np.random.seed(2) # (!)
+    pen_experiment(N=50, use_linesearch=False, use_ubar=False)
diff --git a/irlc/lectures/lec06/lecture_06_pendulum_bilqr_ubar.py b/irlc/lectures/lec06/lecture_06_pendulum_bilqr_ubar.py
new file mode 100644
index 0000000..d61a8dd
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_pendulum_bilqr_ubar.py
@@ -0,0 +1,66 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+import numpy as np
+from irlc.ex04.model_pendulum import GymSinCosPendulumEnvironment
+from irlc.ex07.ilqr_agent import ILQRAgent
+from irlc import train
+from irlc import savepdf
+import matplotlib.pyplot as plt
+
+Tmax = 3
+def pen_experiment(N=12, use_linesearch=True,figex="", animate=True, use_ubar=False):
+    dt = Tmax / N
+    env = GymSinCosPendulumEnvironment(dt, Tmax=Tmax, supersample_trajectory=True, render_mode='human' if animate else None)
+    agent = ILQRAgent(env, env.discrete_model, N=N, ilqr_iterations=200, use_linesearch=use_linesearch)
+    # if animate:
+    #     env = VideoMonitor(env)
+
+    if use_ubar:
+        agent.use_ubar = True
+    stats2, trajectories = train(env, agent, num_episodes=1, return_trajectory=True)
+    env.close()
+
+    plot_pendulum_trajectory(trajectories[0], label=f'Use linesearch? {use_linesearch}. Use u-bar? {use_ubar}')
+    plt.legend()
+    plt.show()
+
+    plt.figure(figsize=(6, 6))
+    plt.semilogy(agent.J_hist, 'k.-')
+    plt.xlabel("iLQR Iterations")
+    plt.ylabel("Cost function estimate $J$")
+    # plt.title("Last value: {")
+    plt.grid()
+    # savepdf(f"irlc_pendulum_J_N{N}_{use_linesearch}{figex}")
+    plt.show()
+    #
+    # plt.show()
+    # xb = agent.xbar
+    # tb = np.arange(N+1)*dt
+    # plt.figure(figsize=(12, 6))
+    # plt.plot(trajectories2[0].time, trajectories2[0].state[:,1], '-', label='Open-loop $\\bar{u}_k$')
+    # plt.plot(tb, xb[:,1], 'o-', label="iLQR prediction $\\bar{x}_k$")
+    # plt.grid()
+    # plt.legend()
+    # ev = "pendulum"
+    # savepdf(f"irlc_pendulum_theta_N{N}_{use_linesearch}{figex}")
+    # plt.show()
+
+    ## Plot J
+
+#
+def plot_pendulum_trajectory(traj, style='k-', label=None, action=False, **kwargs):
+    y = traj.state[:, 1] if not action else traj.action[:,0]
+    plt.plot(traj.time[:-1] if action else traj.time, y, style, label=label, **kwargs)
+
+    plt.xlabel("Time/seconds")
+    if action:
+        plt.ylabel("Torque $u$")
+    else:
+        plt.ylabel("$\cos(\\theta)$")
+    plt.grid()
+    pass
+
+N = 50
+
+if __name__ == "__main__":
+    np.random.seed(2) # (!)
+    pen_experiment(N=N, use_linesearch=False, use_ubar=True)
diff --git a/irlc/lectures/lec06/lecture_06_pendulum_ilqr_L.py b/irlc/lectures/lec06/lecture_06_pendulum_ilqr_L.py
new file mode 100644
index 0000000..6e475bf
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_pendulum_ilqr_L.py
@@ -0,0 +1,5 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+if __name__ == "__main__":
+    from irlc.lectures.lec06.lecture_06_pendulum_bilqr_ubar import pen_experiment
+    N = 50
+    pen_experiment(N=N, use_linesearch=True, use_ubar=False)
diff --git a/irlc/lectures/lec06/lecture_06_pendulum_ilqr_ubar.py b/irlc/lectures/lec06/lecture_06_pendulum_ilqr_ubar.py
new file mode 100644
index 0000000..b44a35c
--- /dev/null
+++ b/irlc/lectures/lec06/lecture_06_pendulum_ilqr_ubar.py
@@ -0,0 +1,5 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+if __name__ == "__main__":
+    from irlc.lectures.lec06.lecture_06_pendulum_bilqr_ubar import pen_experiment
+    N = 50
+    pen_experiment(N=N, use_linesearch=True, use_ubar=True)
diff --git a/irlc/lectures/lec07/__init__.py b/irlc/lectures/lec07/__init__.py
new file mode 100644
index 0000000..a56057c
--- /dev/null
+++ b/irlc/lectures/lec07/__init__.py
@@ -0,0 +1 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
diff --git a/irlc/lectures/lec07/lecture_07_boing_lqr.py b/irlc/lectures/lec07/lecture_07_boing_lqr.py
new file mode 100644
index 0000000..7a14075
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_boing_lqr.py
@@ -0,0 +1,19 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.model_boeing import BoeingEnvironment
+from irlc.ex07.lqr_learning_agents import learning_lqr, learning_lqr_mpc, learning_lqr_mpc_local
+from irlc.ex07.learning_agent_mpc_optimize import learning_optimization_mpc_local
+
+if __name__ == "__main__":
+    env = BoeingEnvironment(output=[10, 0])
+
+    # Part A: LQR and global regression
+    learning_lqr(env)
+
+    # Part B: LQR+MPC
+    # learning_lqr_mpc(env)
+    #
+    # # Part C: LQR+MPC and local regression
+    # learning_lqr_mpc_local(env)
+    #
+    # # Part D: Optimization+MPC and local regression
+    # learning_optimization_mpc_local(env)
diff --git a/irlc/lectures/lec07/lecture_07_boing_lqr_mpc.py b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc.py
new file mode 100644
index 0000000..2c4a722
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc.py
@@ -0,0 +1,14 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.model_boeing import BoeingEnvironment
+from irlc.ex07.lqr_learning_agents import learning_lqr, learning_lqr_mpc, learning_lqr_mpc_local
+from irlc.ex07.learning_agent_mpc_optimize import learning_optimization_mpc_local
+
+if __name__ == "__main__":
+    env = BoeingEnvironment(output=[10, 0])
+    learning_lqr_mpc(env)
+
+    # # Part C: LQR+MPC and local regression
+    # learning_lqr_mpc_local(env)
+    #
+    # # Part D: Optimization+MPC and local regression
+    # learning_optimization_mpc_local(env)
diff --git a/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_local.py b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_local.py
new file mode 100644
index 0000000..22376d1
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_local.py
@@ -0,0 +1,9 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.model_boeing import BoeingEnvironment
+from irlc.ex07.lqr_learning_agents import learning_lqr, learning_lqr_mpc, learning_lqr_mpc_local
+from irlc.ex07.learning_agent_mpc_optimize import learning_optimization_mpc_local
+
+if __name__ == "__main__":
+    env = BoeingEnvironment(output=[10, 0])
+    learning_lqr_mpc_local(env)
+    # learning_optimization_mpc_local(env)
diff --git a/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_optim.py b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_optim.py
new file mode 100644
index 0000000..4ed3f3e
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_boing_lqr_mpc_optim.py
@@ -0,0 +1,8 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.model_boeing import BoeingEnvironment
+from irlc.ex07.lqr_learning_agents import learning_lqr, learning_lqr_mpc, learning_lqr_mpc_local
+from irlc.ex07.learning_agent_mpc_optimize import learning_optimization_mpc_local
+
+if __name__ == "__main__":
+    env = BoeingEnvironment(output=[10, 0])
+    learning_optimization_mpc_local(env)
diff --git a/irlc/lectures/lec07/lecture_07_lmpc.py b/irlc/lectures/lec07/lecture_07_lmpc.py
new file mode 100644
index 0000000..5fff87c
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_lmpc.py
@@ -0,0 +1,5 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex07.lmpc_run import main
+
+if __name__ == "__main__":
+    main(show_episode=True)
diff --git a/irlc/lectures/lec07/lecture_07_pendulum_mpc_lqr.py b/irlc/lectures/lec07/lecture_07_pendulum_mpc_lqr.py
new file mode 100644
index 0000000..8867c0a
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_pendulum_mpc_lqr.py
@@ -0,0 +1,4 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+if __name__ == "__main__":
+    from irlc.ex07.mpc_pendulum_experiment_lqr import main_pendulum_lqr
+    main_pendulum_lqr()
diff --git a/irlc/lectures/lec07/lecture_07_pendulum_mpc_optm.py b/irlc/lectures/lec07/lecture_07_pendulum_mpc_optm.py
new file mode 100644
index 0000000..9eff242
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_pendulum_mpc_optm.py
@@ -0,0 +1,4 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+if __name__ == "__main__":
+    from irlc.ex07.mpc_pendulum_experiment_optim import main_pendulum
+    main_pendulum()
diff --git a/irlc/lectures/lec07/lecture_07_pendulum_simple.py b/irlc/lectures/lec07/lecture_07_pendulum_simple.py
new file mode 100644
index 0000000..337b165
--- /dev/null
+++ b/irlc/lectures/lec07/lecture_07_pendulum_simple.py
@@ -0,0 +1,41 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex04.model_pendulum import GymSinCosPendulumEnvironment
+from irlc.utils.video_monitor import VideoMonitor
+from irlc.ex04.discrete_control_cost import goal_seeking_qr_cost, DiscreteQRCost
+from irlc.ex01.agent import train
+from irlc.ex07.lqr_learning_agents import MPCLocalLearningLQRAgent, MPCLearningAgent
+from irlc import plot_trajectory, main_plot
+import matplotlib.pyplot as plt
+import numpy as np
+from irlc.ex07.mpc_pendulum_experiment_lqr import mk_mpc_pendulum_env
+
+L = 12
+def main_pendulum_lqr_simple(Tmax=10):
+
+    """ Run Local LQR/MPC agent using the parameters
+    L = 12  
+    neighboorhood_size = 50
+    min_buffer_size = 50 
+    """
+    env_pendulum = mk_mpc_pendulum_env()
+
+    # agent = .... (instantiate agent here)
+    # TODO: 1 lines missing.
+    raise NotImplementedError("Instantiate your agent here")
+    env_pendulum = VideoMonitor(env_pendulum)
+
+    experiment_name = f"pendulum{L}_lqr"
+    stats, trajectories = train(env_pendulum, agent, experiment_name=experiment_name, num_episodes=16,return_trajectory=True)
+    plt.show()
+    for k in range(len(trajectories)):
+        plot_trajectory(trajectories[k], env_pendulum)
+        plt.title(f"Trajectory {k}")
+        plt.show()
+
+    env_pendulum.close()
+    main_plot(experiment_name)
+    plt.show()
+
+if __name__ == "__main__":
+    np.random.seed(1)
+    main_pendulum_lqr_simple()
diff --git a/irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/log.txt b/irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/log.txt
new file mode 100644
index 0000000..dc592cf
--- /dev/null
+++ b/irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/log.txt
@@ -0,0 +1,17 @@
+Episode	Accumulated Reward	Average Reward	Length	Steps
+0	-4895.647575826604	-39.165180606612836	125	125
+1	-4401.3119492497035	-35.21049559399765	125	250
+2	-2909.118791375824	-23.272950331006577	125	375
+3	-1355.8374521458716	-10.846699617166973	125	500
+4	-1392.1376132555315	-11.13710090604426	125	625
+5	-2377.229711438541	-19.017837691508326	125	750
+6	-1605.205601135333	-12.841644809082668	125	875
+7	-1142.6024308594363	-9.140819446875495	125	1000
+8	-1110.17238007953	-8.881379040636237	125	1125
+9	-1415.0153227915457	-11.320122582332363	125	1250
+10	-1084.806186007314	-8.678449488058519	125	1375
+11	-1204.58673322474	-9.636693865797913	125	1500
+12	-1582.8902992149344	-12.66312239371947	125	1625
+13	-1234.3968104401945	-9.875174483521556	125	1750
+14	-2290.3685781570866	-18.322948625256696	125	1875
+15	-1317.928485283048	-10.543427882264387	125	2000
diff --git a/irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/trajectories.pkl b/irlc/lectures/lec07/pendulum12/2021-03-19_08-21-20.207/trajectories.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..34930a77fba816ca18036b42921823ab18cefc24
GIT binary patch
literal 75688
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
G1X)__>DPMz

literal 0
HcmV?d00001

diff --git a/irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/log.txt b/irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/log.txt
new file mode 100644
index 0000000..3005052
--- /dev/null
+++ b/irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/log.txt
@@ -0,0 +1,17 @@
+Episode	Accumulated Reward	Average Reward	Length	Steps
+0	-5062.646915554269	-40.50117532443415	125	125
+1	-4545.443228168109	-36.36354582534487	125	250
+2	-3992.451522701582	-31.939612181612656	125	375
+3	-2660.945115772302	-21.287560926178415	125	500
+4	-1089.641113544413	-8.71712890835529	125	625
+5	-1794.3862709577143	-14.35509016766171	125	750
+6	-1599.3332228782826	-12.79466578302626	125	875
+7	-1999.3347944176303	-15.994678355341035	125	1000
+8	-1240.1770407677993	-9.921416326142396	125	1125
+9	-1128.717151496786	-9.029737211974288	125	1250
+10	-1148.8528175884883	-9.19082254070789	125	1375
+11	-1199.5840778420286	-9.596672622736232	125	1500
+12	-1147.0703774473068	-9.176563019578447	125	1625
+13	-1245.4139074019245	-9.963311259215399	125	1750
+14	-1257.9333517907346	-10.063466814325885	125	1875
+15	-1309.9607605947551	-10.479686084758042	125	2000
diff --git a/irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/trajectories.pkl b/irlc/lectures/lec07/pendulum12/2022-03-17_14-16-10.758/trajectories.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..c2b34f7154ed75b8dfa9e69bcd3de982d0cd0eb1
GIT binary patch
literal 74800
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
CE`o6Y

literal 0
HcmV?d00001

diff --git a/irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/log.txt b/irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/log.txt
new file mode 100644
index 0000000..643cee3
--- /dev/null
+++ b/irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/log.txt
@@ -0,0 +1,17 @@
+Episode	Accumulated Reward	Length	Steps
+0	-5042.020051692956	125	0
+1	-4627.801003133058	125	1
+2	-3635.9503089227105	125	2
+3	-2459.2456085370436	125	3
+4	-1142.0454750510762	125	4
+5	-1563.5408392433658	125	5
+6	-1718.6689962603696	125	6
+7	-1215.2631997008277	125	7
+8	-1172.9345344478274	125	8
+9	-1108.3729746371948	125	9
+10	-1012.6787060036193	125	10
+11	-1715.9593847985013	125	11
+12	-1009.5943996400636	125	12
+13	-1082.3121757069966	125	13
+14	-1248.0530347172762	125	14
+15	-1496.6826680867007	125	15
diff --git a/irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/trajectories.pkl b/irlc/lectures/lec07/pendulum12_lqr/2023-03-17_08-13-45.172/trajectories.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..3e9f2d19af2a1f4bdcdbc7a8922852a440795c46
GIT binary patch
literal 75880
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

literal 0
HcmV?d00001

diff --git a/irlc/tests/tests_week05.py b/irlc/tests/tests_week05.py
new file mode 100644
index 0000000..4a7f813
--- /dev/null
+++ b/irlc/tests/tests_week05.py
@@ -0,0 +1,114 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from unitgrade import Report
+from irlc.ex05.direct_agent import train_direct_agent
+from unitgrade import UTestCase
+import irlc
+from irlc.ex05.direct import run_direct_small_problem
+
+
+class DirectMethods(UTestCase):
+    title = "Direct methods z, z0, z_lb/z_ub definitions+"
+
+    @classmethod
+    def setUpClass(cls) -> None:
+        env, solution = run_direct_small_problem()
+        cls.solution = solution[-1]
+
+    def test_z_variable_vector(self):
+        self.assertEqualC(str(DirectMethods.solution['inputs']['z']))
+
+    def test_z0_initial_state(self):
+        self.assertL2(DirectMethods.solution['inputs']['z0'], tol=1e-6)
+
+    def test_zU_upper_bound(self):
+        self.assertL2(DirectMethods.solution['inputs']['z_ub'], tol=1e-6)
+
+    def test_zL_lower_bound(self):
+        self.assertL2(DirectMethods.solution['inputs']['z_lb'], tol=1e-6)
+
+
+class DirectAgentPendulum(UTestCase):
+    """ Direct agent: Test of pendulum environment """
+    def test_pendulum(self):
+        stats,_,_ = train_direct_agent(animate=False)
+        return self.assertL2(stats[0]['Accumulated Reward'], tol=0.03)
+
+class DirectSolverQuestion(UTestCase):
+    """ Test the Direct solver on the Pendulum using run_direct_small_problem() """
+    @classmethod
+    def setUpClass(cls):
+        cls.solution = cls.compute_solution()
+
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct import run_direct_small_problem
+        env, solution = run_direct_small_problem()
+        return solution
+        # cls.solution = solution
+
+    def test_solver_success(self):
+        self.assertTrue(self.__class__.solution[-1]['solver']['success'])
+
+    def test_solver_fun(self):
+        self.assertL2(self.__class__.solution[-1]['solver']['fun'], tol=0.01)
+
+    def test_constraint_violation(self):
+        self.assertL2(self.__class__.solution[-1]['eqC_val'], tol=0.01)
+
+
+class PendulumQuestion(DirectSolverQuestion):
+    """ Direct solver on the pendulum problem """
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct_pendulum import compute_pendulum_solutions
+        return compute_pendulum_solutions()[1]
+
+
+class CartpoleTimeQuestion(DirectSolverQuestion):
+    """ Direct solver on the cartpole (minimum time) task """
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct_cartpole_time import compute_solutions
+        return compute_solutions()[1]
+
+
+class CartpoleCostQuestion(DirectSolverQuestion):
+    """ Direct solver on the cartpole (kelly) task """
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct_cartpole_kelly import compute_solutions
+        return compute_solutions()[1]
+
+class BrachistochroneQuestion(DirectSolverQuestion):
+    """ Brachistochrone (unconstrained) """
+
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct_brachistochrone import compute_constrained_solutions
+        return compute_constrained_solutions()[1]
+
+class BrachistochroneConstrainedQuestion(DirectSolverQuestion):
+    """ Brachistochrone (constrained) """
+    @classmethod
+    def compute_solution(cls):
+        from irlc.ex05.direct_brachistochrone import compute_constrained_solutions
+        return compute_constrained_solutions()[1]
+
+class Week05Tests(Report):
+    title = "Tests for week 05"
+    pack_imports = [irlc]
+    individual_imports = []
+    questions = [
+        (DirectMethods, 10),                        # ok
+        (DirectSolverQuestion, 10),                 # ok
+        (PendulumQuestion, 5),                      # ok
+        (DirectAgentPendulum, 10),                  # ok
+        (CartpoleTimeQuestion, 5),                  # ok
+        (CartpoleCostQuestion, 5),                  # ok
+        (BrachistochroneQuestion, 5),               # ok
+        (BrachistochroneConstrainedQuestion, 10),   # ok
+                 ]
+
+if __name__ == '__main__':
+    from unitgrade import evaluate_report_student
+    evaluate_report_student(Week05Tests())
diff --git a/irlc/tests/tests_week06.py b/irlc/tests/tests_week06.py
new file mode 100644
index 0000000..a724638
--- /dev/null
+++ b/irlc/tests/tests_week06.py
@@ -0,0 +1,147 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from irlc.ex06.model_boeing import BoeingEnvironment
+from unitgrade import UTestCase, Report
+import irlc
+from irlc import train
+import numpy as np
+from irlc.ex04.locomotive import LocomotiveEnvironment
+from irlc.ex04.model_harmonic import HarmonicOscilatorEnvironment
+
+matrices = ['L', 'l', 'V', 'v', 'vc']
+
+class Problem3LQR(UTestCase):
+    title = "LQR, full check of implementation"
+
+    @classmethod
+    def setUpClass(cls):
+        # def init(self):
+        from irlc.ex06.dlqr_check import check_LQR
+        (cls.L, cls.l), (cls.V, cls.v, cls.vc) = check_LQR()
+        # self.M = list(zip(matrices, [L, l, V, v, vc]))
+
+    def chk_item(self, m_list):
+        self.assertIsInstance(m_list, list)
+        self.assertEqualC(len(m_list))
+        for m in m_list:
+            self.assertIsInstance(m, np.ndarray)
+            self.assertEqualC(m.shape)
+            self.assertL2(m, tol=1e-6)
+
+    def test_L(self):
+        self.chk_item(self.__class__.L)
+
+    def test_l(self):
+        self.chk_item(self.__class__.l)
+
+    def test_V(self):
+        self.chk_item(self.__class__.V)
+
+    def test_v(self):
+        self.chk_item(self.__class__.v)
+
+    def test_vc(self):
+        vc = self.__class__.vc
+        self.assertIsInstance(vc, list)
+        for d in vc:
+            self.assertL2(d, tol=1e-6)
+
+        self.chk_item(self.__class__.l)
+
+class Problem4LQRAgent(UTestCase):
+    def _mkagent(self, val=0.):
+        A = np.ones((2, 2))* (1+val)
+        A[1, 0] = 0
+        B = np.asarray([[0], [1]])
+        Q = np.eye(2) * (3+val)
+        R = np.ones((1, 1)) * 2
+        q = np.asarray([-1.1 + val, 0])
+        from irlc.ex06.lqr_agent import LQRAgent
+        env = LocomotiveEnvironment(render_mode=None, Tmax=5, slope=1)
+        agent = LQRAgent(env, A=A, B=B, Q=Q, R=R, q=q)
+        return agent
+
+    def test_policy_lqr_a(self):
+        agent = self._mkagent(0)
+        self.assertL2(agent.pi(np.asarray([1, 0]), k=0))
+        self.assertL2(agent.pi(np.asarray([1, 0]), k=5))
+
+    def test_policy_lqr_b(self):
+        agent = self._mkagent(0.2)
+        self.assertL2(agent.pi(np.asarray([1, 0]), k=0))
+        self.assertL2(agent.pi(np.asarray([1, 0]), k=5))
+
+class Problem5_6_Boeing(UTestCase):
+
+    def test_compute_A_B_d(self):
+        from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+        model = BoeingEnvironment(Tmax=10).discrete_model.continuous_model
+        A, B, d = compute_A_B_d(model, dt=0.2)
+        self.assertL2(A)
+        self.assertL2(B)
+        self.assertL2(d)
+
+    def test_compute_Q_R_q(self):
+        from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+        model = BoeingEnvironment(Tmax=10).discrete_model.continuous_model
+        Q, R, q = compute_Q_R_q(model, dt=0.2)
+        self.assertL2(Q)
+        self.assertL2(R)
+        self.assertL2(q)
+
+    def test_boing_path(self):
+        from irlc.ex06.boeing_lqr import boeing_simulation
+        stats, trajectories, env = boeing_simulation()
+        self.assertL2(trajectories[-1].state, tol=1e-6)
+
+
+class Problem7_8_PidLQR(UTestCase):
+    def test_constant_lqr_agent(self):
+        Delta = 0.06  # Time discretization constant
+        # Define a harmonic osscilator environment. Use .., render_mode='human' to see a visualization.
+        env = HarmonicOscilatorEnvironment(Tmax=8, dt=Delta, m=0.5, R=np.eye(1) * 8,
+                                           render_mode=None)  # set render_mode='human' to see the oscillator.
+        model = env.discrete_model.continuous_model  # Get the ControlModel corresponding to this environment.
+
+        from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+        from irlc.ex06.lqr_pid import ConstantLQRAgent
+        A, B, d = compute_A_B_d(model, Delta)
+        Q, R, q = compute_Q_R_q(model, Delta)
+        x0, _ = env.reset()
+
+        # Run the LQR agent
+        lqr_agent = ConstantLQRAgent(env, A=A, B=B, d=d, Q=Q, R=R, q=q)
+        self.assertLinf(lqr_agent.pi(x0, k=0), tol=1e-3)
+        self.assertLinf(lqr_agent.pi(x0, k=10), tol=1e-3)
+
+
+    def test_KpKd(self):
+        Delta = 0.06  # Time discretization constant
+        # Define a harmonic osscilator environment. Use .., render_mode='human' to see a visualization.
+        env = HarmonicOscilatorEnvironment(Tmax=8, dt=Delta, m=0.5, R=np.eye(1) * 8,
+                                           render_mode=None)  # set render_mode='human' to see the oscillator.
+        model = env.discrete_model.continuous_model  # Get the ControlModel corresponding to this environment.
+        from irlc.ex06.boeing_lqr import compute_A_B_d, compute_Q_R_q
+        from irlc.ex06.lqr_pid import ConstantLQRAgent, get_Kp_Kd
+        A, B, d = compute_A_B_d(model, Delta)
+        Q, R, q = compute_Q_R_q(model, Delta)
+        lqr_agent = ConstantLQRAgent(env, A=A, B=B, d=d, Q=Q, R=R, q=q)
+        Kp, Kd = get_Kp_Kd(lqr_agent.L[0])
+        self.assertAlmostEqualC(Kp, places=3)
+        self.assertAlmostEqualC(Kd, places=3)
+
+
+
+
+class Week06Tests(Report):
+    title = "Tests for week 06"
+    pack_imports = [irlc]
+    individual_imports = []
+    questions = [
+        (Problem3LQR, 10),
+        (Problem4LQRAgent, 10),
+        (Problem5_6_Boeing, 10),
+        (Problem7_8_PidLQR, 10),
+                 ]
+if __name__ == '__main__':
+    from unitgrade import evaluate_report_student
+    evaluate_report_student(Week06Tests())
diff --git a/irlc/tests/tests_week07.py b/irlc/tests/tests_week07.py
new file mode 100644
index 0000000..1f46427
--- /dev/null
+++ b/irlc/tests/tests_week07.py
@@ -0,0 +1,62 @@
+# This file may not be shared/redistributed without permission. Please read copyright notice in the git repo. If this file contains other copyright notices disregard this text.
+from unitgrade import Report
+import irlc
+from unitgrade import UTestCase
+import numpy as np
+from irlc import Agent, train
+
+class RendevouzItem(UTestCase):
+    def test_rendevouz_without_linesearch(self):
+        """ Rendevouz with iLQR (no linesearch) """
+        from irlc.ex07.ilqr_rendovouz_basic import solve_rendovouz
+        (xs, us, J_hist, l, L), env = solve_rendovouz(use_linesearch=False)
+        # print(J_hist[-1])
+        self.assertL2(xs[-1], tol=1e-2)
+
+    def test_rendevouz_with_linesearch(self):
+        """ Rendevouz with iLQR (with linesearch) """
+        from irlc.ex07.ilqr_rendovouz_basic import solve_rendovouz
+        (xs, us, J_hist, l, L), env = solve_rendovouz(use_linesearch=True)
+        # print(J_hist[-1])
+        self.assertL2(xs[-1], tol=1e-2)
+        # return l, L, xs
+
+
+
+
+
+class ILQRAgentQuestion(UTestCase):
+    """ iLQR Agent on Rendevouz """
+    def test_ilqr_agent(self):
+        from irlc.ex07.ilqr_agent import solve_rendevouz
+        stats, trajectories, agent = solve_rendevouz()
+        self.assertL2(trajectories[-1].state[-1], tol=1e-2)
+
+
+class ILQRPendulumQuestion(UTestCase):
+    """ iLQR Agent on Pendulum """
+
+    def test_ilqr_agent_pendulum(self):
+        from irlc.ex07.ilqr_pendulum_agent import Tmax, N
+        from irlc.ex04.model_pendulum import GymSinCosPendulumEnvironment
+        from irlc.ex07.ilqr_agent import ILQRAgent
+        dt = Tmax / N
+        env = GymSinCosPendulumEnvironment(dt, Tmax=Tmax, supersample_trajectory=True)
+        agent = ILQRAgent(env, env.discrete_model, N=N, ilqr_iterations=200, use_linesearch=True)
+        stats, trajectories = train(env, agent, num_episodes=1, return_trajectory=True)
+        state = trajectories[-1].state[-1]
+        self.assertL2(state, tol=2e-2)
+
+class Week07Tests(Report): #240 total.
+    title = "Tests for week 07"
+    pack_imports = [irlc]
+    individual_imports = []
+    questions = [
+        (RendevouzItem, 10),  # ok
+        (ILQRAgentQuestion, 10),  # ok
+        (ILQRPendulumQuestion, 10),  # ok
+                 ]
+
+if __name__ == '__main__':
+    from unitgrade import evaluate_report_student
+    evaluate_report_student(Week07Tests())
diff --git a/irlc/tests/unitgrade_data/BrachistochroneConstrainedQuestion.pkl b/irlc/tests/unitgrade_data/BrachistochroneConstrainedQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/BrachistochroneQuestion.pkl b/irlc/tests/unitgrade_data/BrachistochroneQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/CartpoleCostQuestion.pkl b/irlc/tests/unitgrade_data/CartpoleCostQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/CartpoleTimeQuestion.pkl b/irlc/tests/unitgrade_data/CartpoleTimeQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/DirectAgentPendulum.pkl b/irlc/tests/unitgrade_data/DirectAgentPendulum.pkl
index 49ce42c0ea11e0f6f45b5cd1aadccde7c4fb4274..e9d2ed475214b22bc52f1cc0dfc8c04c71d9a2b9 100644
GIT binary patch
delta 21
dcmaFP_?&Tq9TVq*i4OBQl0FMCFff$r0RUCD2Fd^c

delta 21
dcmaFP_?&Tq9g~p5M2GntN9F}EFff$r0RU5x2EYIS

diff --git a/irlc/tests/unitgrade_data/DirectMethods.pkl b/irlc/tests/unitgrade_data/DirectMethods.pkl
index 7ccccf4713076674e8553270c2282b44501b6cc8..f81ab2560bf4752a237712f1df94fc8ae01ac0ce 100644
GIT binary patch
delta 47
zcmdnYy_tK01<Rv<;tdmRHZaKvY<zc!kxBi>=1ol1j7+8moAp_$899wUFn~a*9ssUA
B4{87a

delta 47
zcmdnYy_tK01<U10x(pL-HZVyTY<zc!kx7MP^CqThAl<Q9pQW0SQ!ao31WNS)cQp+^

diff --git a/irlc/tests/unitgrade_data/DirectSolverQuestion.pkl b/irlc/tests/unitgrade_data/DirectSolverQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/Exam5InventoryEvaluation.pkl b/irlc/tests/unitgrade_data/Exam5InventoryEvaluation.pkl
index 12902e7ce8615fda0d3a74fbd97811e28766dded..a511917ab3f43109f1d3fe37b025f2fde713339f 100644
GIT binary patch
delta 28
hcmcb~c$0C0GZW8&iLRbZJ`NKnIB+UGU;u$qJphQ#2oeAQ

delta 28
hcmcb~c$0C0GZQz%L|0EHy8{y^IB-e|Fn~a*9sqe32I>F+

diff --git a/irlc/tests/unitgrade_data/Exam6Toy2d.pkl b/irlc/tests/unitgrade_data/Exam6Toy2d.pkl
index d40a08b78e3defd5e720b05e0948e20d9ad0f3b8..f927b5ae7578002c5a8840c91705f5d4c7d806f0 100644
GIT binary patch
delta 29
jcmbQuG@EIHDU(9PMDy9qs~Z+fylTt2BCUb}2uk$;mfHz{

delta 29
kcmbQuG@EIHDU-;DiRQDJm!xz|ylTt2e3k|S5R~cx0G>_>v;Y7A

diff --git a/irlc/tests/unitgrade_data/ExamQuestion7FlowersStore.pkl b/irlc/tests/unitgrade_data/ExamQuestion7FlowersStore.pkl
index 50149f3db947fddf5f0faf61a7f098e1fc8a3167..6555641d17ccd50bdc906dab13481cdad59254cc 100644
GIT binary patch
delta 29
icmdnSxQ%gw3lnF<L^m_$M%4!s>-9L*3K&43R1W}%ng`?n

delta 29
icmdnSxQ%gw3loRKL^m_$C@F@C^?IBJISe3Bss{jcDF&AS

diff --git a/irlc/tests/unitgrade_data/ILQRAgentQuestion.pkl b/irlc/tests/unitgrade_data/ILQRAgentQuestion.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..4af21ecb688c99771e1897bc53ecbae1bc667b8f
GIT binary patch
literal 326
zcmZo*nQG0*00y;FG<pO*eFB3V(^K<G0!veiOEUBGru1+Xr<Q~kIOil57f)%M(!)}c
znVSk^xZ86pfc0fC_VAYg6~|}h6c)uNf;5BFu>sYm7J-<xQ@j~^#PUjW3o7;Elk<yG
z^>RydN-`6RiV`cQ^zg(Nr6%X+6_*s1CYMZ^Jf(*fta3^ZdtM4e$z-7Z)+x@6NmJUV
z1WnQKX7uK0osz-V!<tf3S&$0S!jxt)rLzMf%iP0gGsVx(&+9)BfC+Dgk|{}@&JHyK
z%>ExvYC6>16)yd!z<%H{|HH>tCo~<J8%&xXtFs?iaHHaWZhfQuqfLy8yVy(jceb_6
o-pEyI|BE@{c4|-K{wY9XiZd89*xIIKuz&*Kf%Rrk2$bpp0H*(hH2?qr

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/ILQRPendulumQuestion.pkl b/irlc/tests/unitgrade_data/ILQRPendulumQuestion.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..1019b5db1c0a0ad9b3e14545aaf80055652fcb66
GIT binary patch
literal 298
zcmZo*nJUl700y;FG<rlleFB35Qu9(ub4qgqOH+$WGV}AM^l%lYmV_2K=Oh*vPidRd
z!%~u&n+jyO+jA}eYt3NnkthKwj?c^~EQ(J|Pt7ZdFMyf?(!d7Pm|9c<WY$jcX6O;i
zE6pva)QeBfFG|(REzK#(Oe`u&ten!r6JL~?oS#=*QdF8;GG+3V9#*i*DLw3YDG()-
zf%;pgI5Q?qX`d1_MZ=rXo4IvL244?rN=aowDo6`cn#GjP4u~vs52MW#KR-XO|3CmH
zyctTSBy~DVbT_R0VryT%-&sV-^4|aV_Ck*Lh3db>*iQjU7iTbLu(eIeU;+8?O?*lN
I(2u2h0OJC7$N&HU

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/PendulumQuestion.pkl b/irlc/tests/unitgrade_data/PendulumQuestion.pkl
index 76f27814d4eaaa7c2990d3dab02904f443993ef0..1d1b594d8ccdde8336eb3cd174e105beaf5eaf6f 100644
GIT binary patch
delta 271
zcmX?Qamr$XJ@b)!2@{>n8Lv*Pn#H8^W3m|IPA0`0lP@wVDQH)`6JTIq$S}%aYnzh6
z(Ke-a3Y5*#HpSiU>SSRi6He6(pc0Ux$p_iwHs>*&V`ftLG1-nyO~E~?+Xy7%i=-XG
z25Y}OxrNPyNnK*|F1E)UOiCJ)=ku$v7#$9en0%67n(^l3r~D>N1`?a41(aEtOavx7
zh-xuy?U|e-D#Lhba;K;XlS;+r{i45_m=q)??~yQ3;9c0X0A$-dB-<ctux%G63rL!9
Ys#pM(fE0lpn=N^biBrJ<EL5ro0FR4S`2YX_

delta 271
zcmX?Qamr$XJ@dhxHzqonGhUupHH%64#$++ZolJ5ICSPP!QqXLkT)@D<kYSX;);1-B
zqiss<6eydeZHl|ywaLOvCY)*lKqVkWlMk}VZO&sl$IPU<W3nBanu6yuomU_kUnK1i
zHdy<`$t`RqOllmPcd<R@U{d`tc|N}yi(y!f#pILx(v0UOKjk-JQvI-5T0ohVN$135
z2T?7i&efB1L}eJyOzso~>b$Udzvyo!Cfy&C_ehv12*yPo0NFMV$u<ZZY}>iX0+J@2
XMhQSAAVpxuW=mdU;#7nPmFfWi!Gc;*

diff --git a/irlc/tests/unitgrade_data/Problem1BobsFriend.pkl b/irlc/tests/unitgrade_data/Problem1BobsFriend.pkl
index 62c9f65ce0617aa3054d6affdad0c711fc5685c7..cb3e05e507f46a771194aa47e9d478a38ea6dc4a 100644
GIT binary patch
delta 29
icmZ3*xQcOtEt6QlM0-;vCWVP*T3mJ?4={j0sU84&83%#@

delta 29
icmZ3*xQcOtEt6itM0-;viG+z|T3q%b4;Vn8R1W}q-Umbg

diff --git a/irlc/tests/unitgrade_data/Problem1DiscreteKuromoto.pkl b/irlc/tests/unitgrade_data/Problem1DiscreteKuromoto.pkl
index 9b686f94b8f574600bc3a37c18a45c4d0a299430..5884cbbaec323589db6f77d93e93aab42b835c82 100644
GIT binary patch
delta 43
ycmdnRvWsPcGn0tHMAu%Xh>D3<wljq?PVQy&WA5-vn0${hn6q?!0|OA0>Hz>oRSo<A

delta 43
ycmdnRvWsPcGZXKFiLSj&L2eVTY-jS{H@TP5kGbW^gUR<8gE`C2J1_u2sU84#TM!oj

diff --git a/irlc/tests/unitgrade_data/Problem1Kuramoto.pkl b/irlc/tests/unitgrade_data/Problem1Kuramoto.pkl
index cf285336e8f17dae0bab7e7270a857852e1ba420..ef1b528ea3cb8460738583d5cf526ff19f05dc78 100644
GIT binary patch
delta 37
tcmX>meoTCVHIqQYMB85GTsek`XSXp0Z`j<*Xu-w#(xIh+fq|h^4*>hF3~m4b

delta 37
tcmX>meoTCVHIrz;MB85Gj6)3*&u(K1__4W_(SnQfVbk6Q1_p*wJpdbP4mtn;

diff --git a/irlc/tests/unitgrade_data/Problem2BobsPolicy.pkl b/irlc/tests/unitgrade_data/Problem2BobsPolicy.pkl
index 7023764ccbc227ca96f484b63afdabaa14f9483e..25f36de2f85c245c47e3f76ccfd13411d7dbb190 100644
GIT binary patch
delta 59
zcmeys^nq!DEfaUcM0-OPyMG55Ca#v7I7y7Tr{TfG)h5havpgoNG0IJ1RAxS<x&X*@
N<UHYN#{dMSdH|B76S4pR

delta 59
zcmeys^nq!DEt7`AM0-OPd)W&N6IaVkoFvA)DCEGz)h5i_Yfem7W0af3sLXt>)&<CP
N<lIsm!T<!NdH`yN6Da@y

diff --git a/irlc/tests/unitgrade_data/Problem2DeterministicDP.pkl b/irlc/tests/unitgrade_data/Problem2DeterministicDP.pkl
index ad9b4003fc5167a0e32093f6add6c9564bb3abd6..c6a6d86c444884d85398ab5d68b4a8f2d731b17c 100644
GIT binary patch
delta 16
VcmZ3;xR7ze3{Gze1`sIK0{|r_1AG7g

delta 16
VcmZ3;xR7ze3{I~s1`sIK0{|zk1I+*c

diff --git a/irlc/tests/unitgrade_data/Problem2DeterministicInventory.pkl b/irlc/tests/unitgrade_data/Problem2DeterministicInventory.pkl
index 7316c88b930645edd82ccc62f437a80b134c2230..d7b664c9873a3f229a3ada6b5c0794429402f080 100644
GIT binary patch
delta 21
ZcmZo*Y+#(=$t1jCqPH#w0~nO*0RTCg1XTb4

delta 21
acmZo*Y+#(=$s{&mqPH%G0|N+@>Hz>cBm{T>

diff --git a/irlc/tests/unitgrade_data/Problem3InventoryInventoryEnvironment.pkl b/irlc/tests/unitgrade_data/Problem3InventoryInventoryEnvironment.pkl
index efa02d1d079347d5441874bc597c4e187d31bc71..ed6643cb8af26e6368d19072746fd41ae4c60ab0 100644
GIT binary patch
delta 55
zcmX@ibeL&E0F&T@i9zkMrx&_z`}|knz?8NrK~st|7&F+~rev_RO>wtB+LbWzn+xY@
LNj?T3DAfZ1sR<S+

delta 55
zcmX@ibeL&E025ck#GrQB%f3kh5tV`mrnF57no^v>n8DUIC4;4Hio5-V>FpE0xo{q9
KEn@(JQau1v;S}5e

diff --git a/irlc/tests/unitgrade_data/Problem3LQR.pkl b/irlc/tests/unitgrade_data/Problem3LQR.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..604d5c20678f95431aae0b2c24d839ff98a641a0
GIT binary patch
literal 2025
zcmaJ?dr(wm6ldSdQ&6;$iISucn~ez60Qpu|2jmh0YodnoSXM8?E{}a6TjDIHC~>32
zi-QD`h$9Wy_&|*a??sVtA|J>|sgQu8wxXaGD<JgkeMk&D+&}Jo=bZ0%&iQ`lobNO8
zi@HQM)R&EWVfK-lv_zFs{ZV*SG>+M6mAX&UWvT?N7SF{ozAjm<go_Zcx`INW989QF
zYISkp7PAm;Q)+Z@2|Xb;2p{1fT!fd4BV24ws$QLLki;p{G)jqDuhJzaXfz219CL`%
zC>3d`TAfC((Bb=VOhE0#F;Qv~y=5Pc*zCe(oJ4##9t|BcPSF{dAW3IPS6V>a%}emS
zJ+z&Naf0xOh={Op_)$N^Mu#Wn$$WA{>hgiehRpeSY*ll=Be{6>CO^LvGcmifswHey
zBXP!Yjj8sIlaxfm#$(3D01jaYk2wP$bwXV%nV_>K=ivrD$IIP!9dLdGF2>hON=Hou
zQW6l9|MU?sEXo<*xXnZa)O&ki{ym_#Ge6_vx?gF}0>-m&I?o*nukD4~+@vwT&v;x*
zUIR|C*CQK*|AK{YefVb3S$A^eXw7+Z(LExtl5-(wu%DoE7BQa1(|P{u_JU^Lp?-io
zIT63JaR4ACJ4%lw_JB=!M#0kbVM5(yK0Fuc2fn4ZmzUS~P&w;S4l2yWQNE=KmgAF~
zKm{w0iYHZn7p%RN93Y91HRrz#%LJEg2SIjRUg>x4&*|JD-w<VuZ3cB4J6UJ^yoYc(
zH@e|y(BLaBA<7z)461V{k@aPg8(Ho&T#ls8lCnHOlr@$Zl(*^Lq6YhSNdFe?jnm^c
z6w1QEVwQt|J(D?DJBb4UY*rpU0aIC^3>F?jBY*ff>&NpKKvnWamvvWNrQYu!v0b}m
z^p%_%dT>j7%1knYv(&5CLqxK6R{lQCYja0zE6oISOGUK8;6y~9=b3xIm}xJKDmW-O
z;rWvA#LCL&lszL@Inq3O-TCk^D0clirOl%auy$5XsV+_q^Snb>Ou$66!u~`=KmV*Z
zj;#=rmu{9I>cnAUSx#MG$*@Su%CYuM`>$0r5j^A2Z@uf=0BdJux0TYYT3#0&QN%>F
zQn`tU=I%r7Nw=;5rRlC*)@&v?r>f@{Uh5}Vc^xli$!GJ1fu?07qE2xiuy$5{yE^Kt
zxzA725p9`>cGK07)CXP(ZYl<)kNrDe%jqUm19^u8MQz~eWrL5T<1Ue<i@k9q{SQFm
zsoy*tYb7=uI<+?OnF+LfP`u%m?|njC5ac=#(@sUSblG~g%VfoqyDW2Rmsy`Q9^J>U
z&u&P~=88s%__56PZqXBPa>N*!s~QE&4F|Vbn>ZG2RLi;B8*2b5dNi-;cposA#T*Ei
z_tDJ2>RX>Y7OkmxxG-ZsPa14?I@c-WO9LwPGUI#BBr|~)w6!`inH$Q>a~fy6ka^Wz
zV}qORq*!R*rNXiq^!&oAK(w`*Fz6L+@`68qc|g?kteG#7m;gHT?LYE&A5iDEFua3h
zIHZbYSVTQ&nTr2Yj5=UKts+5{pn;DK>LwGncE70Hs(1<Drf3}DpvNuB3sFDqZSk>}
z(n>C^bR7&o$vw+wlssCQbLPb-H@Auz<<v=CV7V5=1Gi#Yn?{(H7r^IKNL`I0G#C+6
gD_e9WVn?m)(Qw3pS~;R}%fYJIgRQ<w9ZWCz59|6ax&QzG

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/Problem3PID.pkl b/irlc/tests/unitgrade_data/Problem3PID.pkl
index 8c6beb7a36898495ec6e53b18524f5710a900457..535051b828a3939a46f439310b29198a5e080a0a 100644
GIT binary patch
delta 39
scmX@dbdG6)Ipc$g7WPaU9uq5_7#$|=ab?mqn9R)R#Hl-j0R&3*0Q-juivR!s

delta 39
scmX@dbdG6)Iitfw3wtKzj)|2{j2kBIab?mGn9R)R#HlU800O0Y0PwB}^8f$<

diff --git a/irlc/tests/unitgrade_data/Problem3StochasticDP.pkl b/irlc/tests/unitgrade_data/Problem3StochasticDP.pkl
index 929b45dc8d15fa1f4ae023ee1b060091fb8247af..04713f394a37f31128be4aead3269f8c3c2e4695 100644
GIT binary patch
delta 28
icmcb~bdza<J(GgLM8_N^rG$y=7jh=>H821{sU84@90(Nv

delta 28
hcmcb~bdza<Jrk$GM8_N^#ej+H7ji}@GJrs-9sqsX2WS8Q

diff --git a/irlc/tests/unitgrade_data/Problem4DPAgent.pkl b/irlc/tests/unitgrade_data/Problem4DPAgent.pkl
index b98533150232f5c5315c7b14033536777ce90a8f..54dc9c584545f20c53ce6eab91442e358d24233e 100644
GIT binary patch
delta 19
Ycmb=doM6So=`hj8lw$$|2$bpp05k3cMF0Q*

delta 19
Ycmb=doM6So@nE8jDTf3D2$bpp060JdYybcN

diff --git a/irlc/tests/unitgrade_data/Problem4InventoryTrain.pkl b/irlc/tests/unitgrade_data/Problem4InventoryTrain.pkl
index 6228dc12a502006cdf951286048d93936bea9dfe..2e0efe223d9500337a95c76732a6fcfc3cbb2872 100644
GIT binary patch
delta 48
zcmeyw_=$0XBa_sGiOxOB857^u*qaI-n9?>SXi9MgV+LE>lnj=(Dem^GSKnX&f>J#I
D-uMz@

delta 48
zcmeyw_=$0XBa?u@MCTr59wzN}v6})1rnF57no^v>n8DUIC4;4Hio5;B<}VCDP^t$2
Dpa>AF

diff --git a/irlc/tests/unitgrade_data/Problem4LQRAgent.pkl b/irlc/tests/unitgrade_data/Problem4LQRAgent.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..b7f0a6a6d9def299660158f65d0b85af24d92699
GIT binary patch
literal 443
zcmZo*nYw|I0Ss!VX!HmK6y+!7q~@CV1O_>#r{<MR>ES9)EeS1f&PgmTp3*j@hovMl
zHx<Zmx93OzYs+Bl5iCh9E{QM5&&f=#jL#`7icbWoWCQ9*Eh+&rfhK!1^oZq^<`z`y
z#V6+%rRwFD=9FY678NB{PU+!^FG@|$&nqq|Dork#GI>f5D_G@}9`?Kxh?2=uyct@j
zI5Q?qX`d1VG>p-kv2{uYUk__aNo7GQNDEV%#gxtth%9ptqs<gQKR>VkKmaDZ8A_%k
zbvkqGV}JKka^<D{Q-EA=#thyJ0g$;FLdd2{p{Xm)V9a1^o07o-^7Eu}2au<+`8f&b
l(F_i#XK@>yeb|4#aP32aPDnvg2XcZs%n6-O!NFdt2LMkFsowwq

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/Problem4PIDAgent.pkl b/irlc/tests/unitgrade_data/Problem4PIDAgent.pkl
index b3daba6609d47b6033fa62fa6963bb89fcae2543..70a85f4bcf6fc78c263690ba8b0491e7799bf59c 100644
GIT binary patch
delta 53
zcmX@8a!_T0H512!jkY^kn2&E`nw-Naxmk!coP~MMxf7dnI5Sz83U6$_&YQ@>xp(pt
J1|TTa0{|L)69fPN

delta 53
zcmX@8a!_T0HIp#IM%$e%%m<zJP0rzz+$_Wz&cb}4m}7GeXC@1iYToASyooHFM~bZ&
IfS^<l0MdgG;Q#;t

diff --git a/irlc/tests/unitgrade_data/Problem5PacmanHardcoded.pkl b/irlc/tests/unitgrade_data/Problem5PacmanHardcoded.pkl
index 04ac143368d1c4eb5280b4166b9da0f4e3eb3701..3968cbf7284d8d716e19ed9972ad53d4d3172bf7 100644
GIT binary patch
delta 20
acmb=eo#4d8?J&{BfU|CO0|OA0>Hz>jI|XzA

delta 20
acmb=eo#4d8vtXi&0cW?x0tO%`)dK)TM+J`n

diff --git a/irlc/tests/unitgrade_data/Problem5_6_Boeing.pkl b/irlc/tests/unitgrade_data/Problem5_6_Boeing.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..4650e0a6d3fa65b094ffb89356fae69744d7793a
GIT binary patch
literal 4219
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

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/Problem6ChessTournament.pkl b/irlc/tests/unitgrade_data/Problem6ChessTournament.pkl
index ebeda311cb01e4d60077598cb655e5368f5bcdda..e7da887928def8fb94b9e7e3d034e373928ce32e 100644
GIT binary patch
delta 22
dcmX@gc$9I16B8H1M3)NA4`Tcc3=9mVdH_v$1^EB~

delta 22
ccmX@gc$9I16BD<?M3)NA_wI5GKv1d&08j4)`2YX_

diff --git a/irlc/tests/unitgrade_data/Problem7PIDCar.pkl b/irlc/tests/unitgrade_data/Problem7PIDCar.pkl
index bfe010445cb8af018fe5e956ef043b34a34dba89..e22d2e24d83e87606e137a33987ca83d3c67a210 100644
GIT binary patch
delta 45
ycmZ3?yqI}{C5y&S>5PfCag1*!eiWU!(Vppf!^BU)OphBTyE6uJK4k!dQau2hmk?3_

delta 42
vcmZ3?yqI}{C5!6U%o`JJ;~4KuoD;%yg<;~SV5Un9lieAEIWIDRL8%@9T?7s)

diff --git a/irlc/tests/unitgrade_data/Problem7_8_PidLQR.pkl b/irlc/tests/unitgrade_data/Problem7_8_PidLQR.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..d455290c459b3de4a4a31f3905f4f131de9a2b78
GIT binary patch
literal 415
zcmZ9HKTpFj5XECiOQ3*&0i;fBAcVTo0jWa={uo7VB<9FT46c-<!EuHTl`5nbDtSRY
zW|&y{2z&=d7B*&BVE{V;gt);vpWpkP-@v>EWaQO{O}X6ST`#23j$3zIo#3eLfSgOI
zI8K@&NmCesG({((s@ZE))^i_2a!t@wxPCWI1&M_lo^h9)(pYGHS@|f}ty+K$xf*9t
z(yJ*or?n^xMTc-sdLZXrPICm$d;t@XrCbSeCJqY81h6rLCi36{90fxd4S_AnQXqN>
z)t0G~I*c!i*J+7%!M5$gPgVJW4FTS`X?>jE?LWTVK7hJn#1`0+=CYN))apN7#t<uy
zfSEe^jrFRdtK_qJa-85m1!UHDNLG>M)F&a~>Qk)xyRo4}4ycvediZ|-yw!erDu$ZB
N@x#A57-)W0`vT&)qzwQ7

literal 0
HcmV?d00001

diff --git a/irlc/tests/unitgrade_data/RendevouzItem.pkl b/irlc/tests/unitgrade_data/RendevouzItem.pkl
new file mode 100644
index 0000000000000000000000000000000000000000..91c3ae562ba9fce0668664f1fa58979cd070b2a7
GIT binary patch
literal 603
zcmZo*nHs>v00y;FG<tZ0Qu9($%koRBJWEn@r}S_Yr<Q~kIOil57f)%M(!)}cnVSk^
zxZCqS0PD$M>`^R9EiQ>Kg6WGd&n(HvFD;4B$;?YFPE9OI&H(9TEy*m&0cq_~hFhTk
zQmT;Y6BwkRk(aN4(4aXbgE4~*sFn?AZ)#BqP+RR3Z-ySRywco)O1=2x{GwF7+|rzq
z%*3Li#L6i>JV5)C^Ye;Jib|79rc4G}2Ua<yhdnO^qGU2qf9n)y#-u6jQ-Y>wcr$u)
zv`)zo>S0YOsVqnZX<<sUn9|t+k!9{-w3*`P=jZhw2*89lL&=n+PG^UdYoc8V=QJJo
z_FtLw-<18pLH(^y>d$IAEQ<`+XtHEKP&DEDf=%z6?SDlCMI?$g>^~9)rtS6nz~cL-
z0F5bz_%4G56p)wS-35gtFd*fy1SD!GW^e$*L=|iJfrAn)1XbInWbi<OE<-Rw1QY-n
zV#wZ?1A6GT^mLChpoh|OA9Kc-u^*_(4&6N+=%MJ^{odDr9<r$K`_#wKV(-Vd{%wJ7
k!~O%zzI}3f4fg8iUMIi(-wgK<$TF~p4!&~&d8kwm0B|Mrw*UYD

literal 0
HcmV?d00001

-- 
GitLab