From 88922304c587baa112694eaa896e7fc95f1d20f1 Mon Sep 17 00:00:00 2001 From: mcarfagno Date: Fri, 29 Nov 2019 14:24:08 +0000 Subject: [PATCH] Added a bit of theory --- .ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb | 75 +++++++++++++++--- MPC_cvxpy.ipynb | 75 +++++++++++++++--- img/mpc_block_diagram.png | Bin 0 -> 39437 bytes img/mpc_t.png | Bin 0 -> 32576 bytes 4 files changed, 130 insertions(+), 20 deletions(-) create mode 100644 img/mpc_block_diagram.png create mode 100644 img/mpc_t.png diff --git a/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb b/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb index ad687ea..8088e2a 100644 --- a/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb +++ b/.ipynb_checkpoints/MPC_cvxpy-checkpoint.ipynb @@ -138,11 +138,11 @@ "\n", "with:\n", "\n", - "A' = I+dtA\n", + "$ A' = I+dtA $\n", "\n", - "B' = dtB\n", + "$ B' = dtB $\n", "\n", - "C' = dt(f(\\bar{x},\\bar{u}) - A\\bar{x} - B\\bar{u})" + "$ C' = dt(f(\\bar{x},\\bar{u}) - A\\bar{x} - B\\bar{u}) $" ] }, { @@ -150,8 +150,8 @@ "metadata": {}, "source": [ "------------------\n", - "NB: psi and cte are expressed w.r.t. the reference frame.\n", - "in the reference frame of the veicle the equtions would be:\n", + "NB: psi and cte are expressed w.r.t. the track as reference frame.\n", + "In the reference frame of the veicle the equtions would be:\n", "* psi_dot = w\n", "* cte_dot = sin(psi)\n", "-----------------" @@ -745,12 +745,67 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### MPC Problem formulation\n" + "### MPC Problem formulation\n", + "\n", + "**Model Predictive Control** refers to the control approach of **numerically** solving a optimization problem at each time step. \n", + "\n", + "The controller generates a control signal over a fixed lenght T (Horizon) at each time step." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![mpc](img/mpc_block_diagram.png)\n", + "![mpc](img/mpc_t.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Linear MPC Formulation\n", + "\n", + "Linear MPC makes use of the **LTI** (Linear time invariant) discrete state space model, wich represents a motion model used for Prediction.\n", + "\n", + "$x_{t+1} = Ax_t + Bu_t$\n", + "\n", + "The LTI formulation means that **future states** are linearly related to the current state and actuator signal. Hence, the MPC seeks to find a **control policy** U over a finite lenght horizon.\n", + "\n", + "$U={u_{t|t}, u_{t+1|t}, ...,u_{t+T|t}}$\n", + "\n", + "The objective function used minimize (drive the state to 0) is:\n", + "\n", + "$J(x(t),U) = \\sum^{t+T-1}_{j=t} x^T_{j|t}Qx_{j|t} + u^T_{j|t}Ru_{j|t}$\n", + "\n", + "This accounts for quadratic error on deviation from 0 of the state and the control inputs sequences. Q and R are the **weight matrices** and are used to tune the response.\n", + "\n", + "Becouse the goal is tracking a **reference signal** such as a trajectory, the objective function is rewritten as:\n", + "\n", + "$J(x(t),U) = \\sum^{t+T-1}_{j=t} \\delta x^T_{j|t}Q\\delta x_{j|t} + u^T_{j|t}Ru_{j|t}$\n", + "\n", + "where the error w.r.t desired state is accounted for:\n", + "\n", + "$\\delta x = x_{j,t,ref} - x_{j,t}$\n", + "\n", + "#### Non-Linear MPC Formulation\n", + "\n", + "In general cases, the objective function is any non-differentiable non-linear function of states and inputs over a finite horizon T. In this case the constrains include nonlinear dynamics of motion.\n", + "\n", + "$J(x(t),U) = \\sum^{t+T}_{j=t} C(x_{j|t},{j|t})$\n", + "\n", + "s.t.\n", + "\n", + "$ x_{j+1|t} = f(x_{j|t},{j|t}) tih;i7)=m7IP$<+^ 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 literal 0 HcmV?d00001 diff --git a/img/mpc_t.png b/img/mpc_t.png new file mode 100644 index 0000000000000000000000000000000000000000..8ed78b4b311a6140b20840b54ca041494868a197 GIT binary patch literal 32576 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