{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Control theory. Course introduction.\n", "\n", "## TP1. System modeling. State-space representation of dynamical systems.\n", "\n", "## Study load\n", "\n", "Course grade breakdown:\n", "\n", " Labs - 50%\n", " \n", " Final project presentation 50%\n", " \n", "File name for lab submission: yourname_labnumber.ipynb (example: elenavanneaux_TP1.ipynb) \n", "\n", "The completed notebooks should be sent to elena.vanneaux@ensta-paris.fr before the beginning of the next session. Please add [AUT202] to the topic of e-mail.\n", "\n", "## Prerequisites for practice\n", "### Math\n", "During the course we will cover the following areas of mathematics:\n", " \n", " 1. Linear Algebra\n", "\n", " 2. Calculus\n", "\n", " 3. Differential equations\n", "\n", " 4. Dynamics (Mechanics and Physics)\n", "\n", "### Python programming\n", "In the labs and practice sessions we will use a Python programming language and following libraries:\n", "\n", " 1. NumPy https://numpy.org/doc/stable/\n", "\n", " 2. SciPy https://docs.scipy.org/doc/scipy/\n", "\n", " 3. Matplotlib https://matplotlib.org/stable/tutorials/index\n", "\n", "### Jupyter Notebook Markdown Cells Documentation\n", "\n", "Please check on Markdown cells documentation, to provide a fancy look for your notebooks!\n", "\n", "https://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Working%20With%20Markdown%20Cells.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex.1: Open-loop vs Closed-loop system\n", "\n", "### TODO\n", "\n", "Provide one example of open-loop control system and one example of closed-loop control system. What is the difference between them?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "attachments": { "TP1_SDSystem.png": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe4AAAFMCAYAAAANw1+zAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD+mlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSfvu78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLyc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpBdHRyaWI9J2h0dHA6Ly9ucy5hdHRyaWJ1dGlvbi5jb20vYWRzLzEuMC8nPgogIDxBdHRyaWI6QWRzPgogICA8cmRmOlNlcT4KICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0nUmVzb3VyY2UnPgogICAgIDxBdHRyaWI6Q3JlYXRlZD4yMDI0LTAxLTIzPC9BdHRyaWI6Q3JlYXRlZD4KICAgICA8QXR0cmliOkV4dElkPmE5ZmE0MWJlLTYyZmItNDhlMC05MWY0LTE2OWQ0OGU3YzQ2MTwvQXR0cmliOkV4dElkPgogICAgIDxBdHRyaWI6RmJJZD41MjUyNjU5MTQxNzk1ODA8L0F0dHJpYjpGYklkPgogICAgIDxBdHRyaWI6VG91Y2hUeXBlPjI8L0F0dHJpYjpUb3VjaFR5cGU+CiAgICA8L3JkZjpsaT4KICAgPC9yZGY6U2VxPgogIDwvQXR0cmliOkFkcz4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PScnCiAgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJz4KICA8ZGM6dGl0bGU+CiAgIDxyZGY6QWx0PgogICAgPHJkZjpsaSB4bWw6bGFuZz0neC1kZWZhdWx0Jz5JbnRyb2R1Y3Rpb24gdG8gQ29udHJvbCBUaGVvcnkgLSAxPC9yZGY6bGk+CiAgIDwvcmRmOkFsdD4KICA8L2RjOnRpdGxlPgogPC9yZGY6RGVzY3JpcHRpb24+Cgog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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "## Ex.2: Mass-spring-damper system\n", "\n", "Let us consider mass-spring damer system\n", "\n", "![TP1_SDSystem.png](attachment:TP1_SDSystem.png)\n", "\n", "with the following system parameters:\n", "\n", " (m) mass 1.0 kg\n", "\n", " (k) spring constant 5.0 N/m\n", "\n", " $(rho)$ damping constant 2 Ns/m\n", "\n", "Let us suppose that measured output of the system is a position of the mass and its velocity. Then the state space model of the system is the following:\n", "\n", "$$\\dot x = Ax + Bu$$\n", "$$ y = Cx$$\n", "\n", "where\n", "state vector $x = (position, velocity)$, and state and control matrices are the following:\n", "$$ A = \\begin{pmatrix} 0&1\\\\ -\\frac{k}{m}&-\\frac{\\rho}{m}\\end{pmatrix},\\ B = \\begin{pmatrix} 0\\\\ \\frac{1}{m} \n", "\\end{pmatrix}$$\n", "\n", "Let us suppose that we only interested in controlling postion of the mass, i.e. $C = \\begin{pmatrix} 1&0\n", "\\end{pmatrix}$\n", "\n", "## TODO\n", "\n", "Run the following piece of code to simulate the ouptut of the system corresponding to the input force F = 1.0 N and initial position $x_0 = (5,0)$. " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.integrate import odeint\n", "from matplotlib.pyplot import *\n", "\n", "def StateSpace(x, t, A, B, u):\n", " return np.dot(A,x) + np.dot(B,u)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "m = 1\n", "k = 5\n", "rho = 2\n", "g = 9.8\n", "\n", "F = 1.0\n", "\n", "n = 2\n", "A = np.array([[0, 1],\n", " [-k/m, -rho/m]])\n", "\n", "B = np.array([0,\n", " 1/m])\n", "\n", "C = np.array([1,0])\n", "\n", "x0 = np.array([5,\n", " 0]) # initial state\n", "\n", "t0 = 0 # Initial time \n", "tf = 10 # Final time\n", "t = np.linspace(t0, tf, 1000) \n", "\n", "solution = odeint(StateSpace, x0, t, args=(A,B,F))\n", "\n", "y = (C * solution)[:,0]\n", "\n", "plot(t, y, linewidth=2.0, color = 'red')\n", "grid(color='black', linestyle='--', linewidth=1.0, alpha = 0.7)\n", "grid(True)\n", "xlim([t0, tf])\n", "ylabel(r'Position ')" ] }, { "attachments": { "motor%20%282%29.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "## Ex.3: DC Motor Speed: System Modeling\n", "\n", "A common actuator in control systems is the DC motor. It directly provides rotary motion and, coupled with wheels or drums and cables, can provide translational motion. The electric equivalent circuit of the armature and the free-body diagram of the rotor are shown in the following figure.\n", "\n", "![motor%20%282%29.png](attachment:motor%20%282%29.png)\n", "\n", "For this example, we will assume that the input of the system is the voltage source ($V$) applied to the motor's armature, while the output is the rotational speed of the shaft $\\dot{\\theta}$. The rotor and shaft are assumed to be rigid. We further assume a viscous friction model, that is, the friction torque is proportional to shaft angular velocity. We will assume that the magnetic field is constant and, therefore, that the motor torque is proportional (with constant $K_t$) to only the armature current. Let us remark that in SI units the motor torque and back emf constants are equal, that is, $K_t = K_e$;\n", "\n", "The physical parameters for our example are:\n", "\n", " (J) moment of inertia of the rotor 0.01 kg.m^2\n", "\n", " (b) motor viscous friction constant 0.1 N.m.s\n", "\n", " (Ke) electromotive force constant 0.01 V/rad/sec\n", "\n", " (Kt) motor torque constant 0.01 N.m/Amp\n", "\n", " (R) electric resistance 1 Ohm\n", "\n", " (L) electric inductance 0.5 H\n", "\n", "## TODO\n", "1. Find the state equations of the system. Is system linear?\n", "2. Rewrite the system equations in canonical first order ODE system form.\n", "3. Simulate the output of the system corresponding to uncontrolled system (i.e V = 0) and a random initial position.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Put your code here" ] }, { "attachments": { "2024-01-23_13-32-20.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": {}, "source": [ "## Ex 4. Dynamic modeling of an inverted pendulum on the cart\n", "\n", "The system in this example consists of an inverted pendulum mounted to a motorized cart. The inverted pendulum system is an example commonly found in control system textbooks and research literature. Its popularity derives in part from the fact that it is unstable without control, that is, the pendulum will simply fall over if the cart isn't moved to balance it. Additionally, the dynamics of the system are nonlinear. The objective of the control system is to balance the inverted pendulum by applying a force to the cart that the pendulum is attached to. A real-world example that relates directly to this inverted pendulum system is the attitude control of a booster rocket at takeoff.\n", "\n", "![2024-01-23_13-32-20.png](attachment:2024-01-23_13-32-20.png)\n", "\n", "Let us consider the system with the following system parameters\n", " \n", " (M) mass of the cart 0.5 kg\n", " \n", " (m) mass of the pendulum 0.2 kg\n", " \n", " (l) length to pendulum center of mass 0.3 m\n", " \n", " (b) coefficient of friction for cart 0.1 N/m/sec\n", " \n", " (I) mass moment of inertia of the pendulum 0.006 kg.m^2\n", " \n", " (F) force applied to the cart\n", " \n", " (y) cart position coordinate\n", " \n", " (theta) angle between the pendulum and the vertical axis\n", "\n", "## TODO\n", "1) Show that inverted pendulum on the cart can be modeled as follows\n", "\n", "$$(M+m)\\ddot{y} + b\\dot{y} + ml\\ddot{\\theta}\\cos\\theta -ml\\dot\\theta^2\\sin(\\theta) = F$$\n", "$$ml\\cos(\\theta)\\ddot{y} + (I+ml^2)\\ddot{\\theta} +mgl\\sin\\theta = 0$$\n", "\n", "If you find it difficult to derive the equations yourself, please, watch the following video: \n", "https://www.youtube.com/watch?v=kXLjs5aW2uE\n", "\n", "or, alternatively, check the following tutorial https://ctms.engin.umich.edu/CTMS/index.php?example=InvertedPendulum§ion=SystemModeling\n", "\n", "2) Rewrite the system equation in a canonical form $\\dot x = f(x,u),$ where state vector $x = (y,\\theta,\\dot y,\\dot\\theta)$.\n", "\n", "3) Find an equlibrium point. Linearise the system equations by finding the Jacobian matrix.\n", "\n", "4) Simulate trajectories of uncontrolled nonlinear system and its linear approximation for different initial vectores. What can you say about system dynamics?\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Put your code here" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.5" } }, "nbformat": 4, "nbformat_minor": 4 }