{ "metadata": { "language": "Julia", "name": "", "signature": "sha256:491904be80770150704b45cbb7c969075da62af7bc8951e4653ed2b0f88ca23b" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Control" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A simple control problem on a system usually involves a variable $x(t)$\n", "that denotes the state of the system over time, and a variable $u(t)$ that\n", "denotes the input into the system over time. Linear constraints are used to\n", "capture the evolution of the system over time:\n", "\n", "$$x(t) = Ax(t - 1) + Bu(t), \\ \\mbox{for} \\ t = 1,\\ldots, T,$$\n", "\n", "where the numerical matrices $A$ and $B$ are called the dynamics and input matrices,\n", "respectively.\n", "\n", "The goal of the control problem is to find a sequence of inputs\n", "$u(t)$ that will allow the state $x(t)$ to achieve specified values\n", "at certain times. For example, we can specify initial and final states of the system:\n", "\n", "$$\n", " \\begin{align*}\n", " x(0) &= x_i \\\\\n", " x(T) &= x_f\n", " \\end{align*}\n", "$$\n", "\n", "Additional states between the initial and final states can also be specified. These\n", "are known as waypoint constraints. Often, the input and state of the system will\n", "have physical meaning, so we often want to find a sequence inputs that also\n", "minimizes a least squares objective like the following:\n", "\n", "$$\n", " \\sum_{t = 0}^T \\|Fx(t)\\|^2_2 + \\sum_{t = 1}^T\\|Gu(t)\\|^2_2,\n", "$$\n", "\n", "where $F$ and $G$ are numerical matrices.\n", "\n", "We'll now apply the basic format of the control problem to an example of controlling\n", "the motion of an object in a fluid over $T$ intervals, each of $h$ seconds.\n", "The state of the system at time interval $t$ will be given by the position and the velocity of the\n", "object, denoted $p(t)$ and $v(t)$, while the input will be forces\n", "applied to the object, denoted by $f(t)$.\n", "By the basic laws of physics, the relationship between force, velocity, and position\n", "must satisfy:\n", "\n", "$$\n", " \\begin{align*}\n", " p(t+1) &= p(t) + h v(t) \\\\\n", " v(t+1) &= v(t) + h a(t)\n", " \\end{align*}.\n", "$$\n", "\n", "Here, $a(t)$ denotes the acceleration at time $t$, for which we we use\n", "$a(t) = f(t) / m + g - d v(t)$,\n", "where $m$, $d$, $g$ are constants for the mass of the object, the drag\n", "coefficient of the fluid, and the acceleration from gravity, respectively.\n", "\n", "Additionally, we have our initial/final position/velocity conditions:\n", "\n", "$$\n", " \\begin{align*}\n", " p(1) &= p_i\\\\\n", " v(1) &= v_i\\\\\n", " p(T+1) &= p_f\\\\\n", " v(T+1) &= 0\n", " \\end{align*}\n", "$$\n", "\n", "One reasonable objective to minimize would be\n", "\n", "$$\n", " \\mbox{objective} = \\mu \\sum_{t = 1}^{T+1} (v(t))^2 + \\sum_{t = 1}^T (f(t))^2\n", "$$\n", "\n", "We would like to keep both the forces small to perhaps save fuel, and keep\n", "the velocities small for safety concerns.\n", "Here $\\mu$ serves as a parameter to control which part of the objective we\n", "deem more important, keeping the velocity small or keeping the force small.\n", "\n", "The following code builds and solves our control example:\n" ] }, { "cell_type": "code", "collapsed": false, "input": [ "using Convex, SCS, Gadfly\n", "\n", "# Some constraints on our motion\n", "# The object should start from the origin, and end at rest\n", "initial_velocity = [-20; 100]\n", "final_position = [100; 100]\n", "\n", "T = 100 # The number of timesteps\n", "h = 0.1 # The time between time intervals\n", "mass = 1 # Mass of object\n", "drag = 0.1 # Drag on object\n", "g = [0, -9.8] # Gravity on object\n", "\n", "# Declare the variables we need\n", "position = Variable(2, T)\n", "velocity = Variable(2, T)\n", "force = Variable(2, T - 1)\n", "\n", "# Create a problem instance\n", "mu = 1\n", "constraints = []\n", "\n", "# Add constraints on our variables\n", "for i in 1 : T - 1\n", " constraints += position[:, i + 1] == position[:, i] + h * velocity[:, i]\n", "end\n", "\n", "for i in 1 : T - 1\n", " acceleration = force[:, i]/mass + g - drag * velocity[:, i]\n", " constraints += velocity[:, i + 1] == velocity[:, i] + h * acceleration\n", "end\n", "\n", "# Add position constraints\n", "constraints += position[:, 1] == 0\n", "constraints += position[:, T] == final_position\n", "\n", "# Add velocity constraints\n", "constraints += velocity[:, 1] == initial_velocity\n", "constraints += velocity[:, T] == 0\n", "\n", "# Solve the problem\n", "problem = minimize(sumsquares(force), constraints)\n", "solve!(problem, SCSSolver(verbose=0))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can plot the trajectory taken by the object. The blue point denotes the initial position, and the green point denotes the final position." ] }, { "cell_type": "code", "collapsed": false, "input": [ "pos = evaluate(position)\n", "p = plot(\n", " layer(x=[pos[1, 1]], y=[pos[2, 1]], Geom.point, Theme(default_color=color(\"blue\"))),\n", " layer(x=[pos[1, T]], y=[pos[2, T]], Geom.point, Theme(default_color=color(\"green\"))),\n", " layer(x=pos[1, :], y=pos[2, :], Geom.line(preserve_order=true)),\n", " Theme(panel_fill=color(\"white\"))\n", ")" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "\n", " \n", " x\n", " \n", " \n", " -300\n", " -250\n", " -200\n", " -150\n", " -100\n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " 250\n", " 300\n", " 350\n", " 400\n", " -250\n", " -240\n", " -230\n", " -220\n", " -210\n", " -200\n", " -190\n", " -180\n", " -170\n", " -160\n", " -150\n", " -140\n", " -130\n", " -120\n", " -110\n", " -100\n", " -90\n", " -80\n", " -70\n", " -60\n", " -50\n", " -40\n", " -30\n", " -20\n", " -10\n", " 0\n", " 10\n", " 20\n", " 30\n", " 40\n", " 50\n", " 60\n", " 70\n", " 80\n", " 90\n", " 100\n", " 110\n", " 120\n", " 130\n", " 140\n", " 150\n", " 160\n", " 170\n", " 180\n", " 190\n", " 200\n", " 210\n", " 220\n", " 230\n", " 240\n", " 250\n", " 260\n", " 270\n", " 280\n", " 290\n", " 300\n", " 310\n", " 320\n", " 330\n", " 340\n", " 350\n", " -400\n", " -200\n", " 0\n", " 200\n", " 400\n", " -250\n", " -200\n", " -150\n", " -100\n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " 250\n", " 300\n", " 350\n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -250\n", " -200\n", " -150\n", " -100\n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " 250\n", " 300\n", " 350\n", " 400\n", " 450\n", " -200\n", " -190\n", " -180\n", " -170\n", " -160\n", " -150\n", " -140\n", " -130\n", " -120\n", " -110\n", " -100\n", " -90\n", " -80\n", " -70\n", " -60\n", " -50\n", " -40\n", " -30\n", " -20\n", " -10\n", " 0\n", " 10\n", " 20\n", " 30\n", " 40\n", " 50\n", " 60\n", " 70\n", " 80\n", " 90\n", " 100\n", " 110\n", " 120\n", " 130\n", " 140\n", " 150\n", " 160\n", " 170\n", " 180\n", " 190\n", " 200\n", " 210\n", " 220\n", " 230\n", " 240\n", " 250\n", " 260\n", " 270\n", " 280\n", " 290\n", " 300\n", " 310\n", " 320\n", " 330\n", " 340\n", " 350\n", " 360\n", " 370\n", " 380\n", " 390\n", " 400\n", " -200\n", " 0\n", " 200\n", " 400\n", " -200\n", " -180\n", " -160\n", " -140\n", " -120\n", " -100\n", " -80\n", " -60\n", " -40\n", " -20\n", " 0\n", " 20\n", " 40\n", " 60\n", " 80\n", " 100\n", " 120\n", " 140\n", " 160\n", " 180\n", " 200\n", " 220\n", " 240\n", " 260\n", " 280\n", " 300\n", " 320\n", " 340\n", " 360\n", " 380\n", " 400\n", " \n", "\n", "\n", "\n", " \n", "\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "png": "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", "prompt_number": 10, "svg": [ "\n", "\n", "\n", " \n", " x\n", " \n", " \n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " \n", "\n", "\n", "\n", " \n", "\n", "\n" ], "text": [ "Plot(...)" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also see how the magnitude of the force changes over time." ] }, { "cell_type": "code", "collapsed": false, "input": [ "p = plot(x=1:T, y=sum(evaluate(force).^2, 1), Geom.line, Theme(panel_fill=color(\"white\")))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n", "\n", " \n", " x\n", " \n", " \n", " -150\n", " -100\n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " 250\n", " -100\n", " -95\n", " -90\n", " -85\n", " -80\n", " -75\n", " -70\n", " -65\n", " -60\n", " -55\n", " -50\n", " -45\n", " -40\n", " -35\n", " -30\n", " -25\n", " -20\n", " -15\n", " -10\n", " -5\n", " 0\n", " 5\n", " 10\n", " 15\n", " 20\n", " 25\n", " 30\n", " 35\n", " 40\n", " 45\n", " 50\n", " 55\n", " 60\n", " 65\n", " 70\n", " 75\n", " 80\n", " 85\n", " 90\n", " 95\n", " 100\n", " 105\n", " 110\n", " 115\n", " 120\n", " 125\n", " 130\n", " 135\n", " 140\n", " 145\n", " 150\n", " 155\n", " 160\n", " 165\n", " 170\n", " 175\n", " 180\n", " 185\n", " 190\n", " 195\n", " 200\n", " -100\n", " 0\n", " 100\n", " 200\n", " -100\n", " -90\n", " -80\n", " -70\n", " -60\n", " -50\n", " -40\n", " -30\n", " -20\n", " -10\n", " 0\n", " 10\n", " 20\n", " 30\n", " 40\n", " 50\n", " 60\n", " 70\n", " 80\n", " 90\n", " 100\n", " 110\n", " 120\n", " 130\n", " 140\n", " 150\n", " 160\n", " 170\n", " 180\n", " 190\n", " 200\n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " -2000\n", " -1500\n", " -1000\n", " -500\n", " 0\n", " 500\n", " 1000\n", " 1500\n", " 2000\n", " 2500\n", " 3000\n", " 3500\n", " -1500\n", " -1450\n", " -1400\n", " -1350\n", " -1300\n", " -1250\n", " -1200\n", " -1150\n", " -1100\n", " -1050\n", " -1000\n", " -950\n", " -900\n", " -850\n", " -800\n", " -750\n", " -700\n", " -650\n", " -600\n", " -550\n", " -500\n", " -450\n", " -400\n", " -350\n", " -300\n", " -250\n", " -200\n", " -150\n", " -100\n", " -50\n", " 0\n", " 50\n", " 100\n", " 150\n", " 200\n", " 250\n", " 300\n", " 350\n", " 400\n", " 450\n", " 500\n", " 550\n", " 600\n", " 650\n", " 700\n", " 750\n", " 800\n", " 850\n", " 900\n", " 950\n", " 1000\n", " 1050\n", " 1100\n", " 1150\n", " 1200\n", " 1250\n", " 1300\n", " 1350\n", " 1400\n", " 1450\n", " 1500\n", " 1550\n", " 1600\n", " 1650\n", " 1700\n", " 1750\n", " 1800\n", " 1850\n", " 1900\n", " 1950\n", " 2000\n", " 2050\n", " 2100\n", " 2150\n", " 2200\n", " 2250\n", " 2300\n", " 2350\n", " 2400\n", " 2450\n", " 2500\n", " 2550\n", " 2600\n", " 2650\n", " 2700\n", " 2750\n", " 2800\n", " 2850\n", " 2900\n", " 2950\n", " 3000\n", " -2000\n", " 0\n", " 2000\n", " 4000\n", " -1500\n", " -1400\n", " -1300\n", " -1200\n", " -1100\n", " -1000\n", " -900\n", " -800\n", " -700\n", " -600\n", " -500\n", " -400\n", " -300\n", " -200\n", " -100\n", " 0\n", " 100\n", " 200\n", " 300\n", " 400\n", " 500\n", " 600\n", " 700\n", " 800\n", " 900\n", " 1000\n", " 1100\n", " 1200\n", " 1300\n", " 1400\n", " 1500\n", " 1600\n", " 1700\n", " 1800\n", " 1900\n", " 2000\n", " 2100\n", " 2200\n", " 2300\n", " 2400\n", " 2500\n", " 2600\n", " 2700\n", " 2800\n", " 2900\n", " 3000\n", " \n", "\n", "\n", "\n", " \n", "\n", "\n", "\n", "\n" ], "metadata": {}, "output_type": "pyout", "png": "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REREREREREREREREREREREREREREREREREREREREREREREREJU/xOwAiIgB4/zvefx2EfYWmhTc/+PiD/QBw9RXrvwwB/eEnt/6T3/ERUfG4KyoRlQQjYvwUUN5oW+Y3AODqd1z1AQF8ClCf9Ds2Ipod9lwQUcm4+oqrrhRQHodQPgJFfEURuIO9FkTlR/M7ACKigj2v/Onls085azkUfAHAnt5s33UHDx60/Y6LiGaHwyJEVFKEInoAAAr6nn76adPncIhoDthzQUQl4wNXvO9iAfVuKOL/g1CuP2v12cf27Nuzw++4iGh22HNBRCVh3bp1MRvq/QAe/cF//vDzgPJVqOLf1q9bv8rv2IhodphcEFFJiNnVXwGw0LSsmwAgKZL/BwJHYOG+L3zhC7xWEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQXO/w8i5P1KFnKMfwAAAABJRU5ErkJggg==", "prompt_number": 11, "svg": [ "\n", "\n", "\n", " \n", " x\n", " \n", " \n", " 0\n", " 50\n", " 100\n", " \n", " \n", " y\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " 0\n", " 500\n", " 1000\n", " 1500\n", " \n", "\n", "\n", "\n", " \n", "\n", "\n" ], "text": [ "Plot(...)" ] } ], "prompt_number": 11 } ], "metadata": {} } ] }