{ "cells": [ { "cell_type": "markdown", "source": [ "# Cyber Physical Systems Example" ], "metadata": {} }, { "cell_type": "markdown", "source": [ "Authors: Georgios Bakirtzis [https://bakirtzis.net/](https://bakirtzis.net) and Raul Gonzalez Garcia (raulg@iastate.edu)\n", "\n", "The following example is a mechanization from\n", "1. Compositional Cyber-Physical Systems Modeling - [http://dx.doi.org/10.4204/EPTCS.333.9](http://dx.doi.org/10.4204/EPTCS.333.9)\n", "2. Categorical Semantics of Cyber-Physical Systems Theory - [https://doi.org/10.1145/3461669](https://doi.org/10.1145/3461669)" ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "using AlgebraicDynamics\n", "using Catlab\n", "\n", "using LabelledArrays\n", "using DifferentialEquations\n", "using Plots" ], "metadata": {}, "execution_count": 1 }, { "cell_type": "markdown", "source": [ "We use functorial semantics to model a cyper-physical system, namely an unmanned aerial vehicle (UAV).\n", "We define a diagram of systems (the composition syntax) that is the architecture of the composition.\n", "Then, we apply behaviors of the individual parts of the system to the architecture. This composition produces\n", "a complete UAV model." ], "metadata": {} }, { "cell_type": "markdown", "source": [ "We first have to define our boxes and specify what the inports and outports are.\n", "For example, the sensor box has two inports `:e` and `:s` and one outport `s_prime`." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "s = Box(:sensor, [:s, :e], [:sโ€ฒ])\n", "c = Box(:controller, [:d, :sโ€ฒ], [:c])\n", "d = Box(:dynamics, [:c], [:s]);" ], "metadata": {}, "execution_count": 2 }, { "cell_type": "markdown", "source": [ "A wiring diagram has outer inports and outports which define the interface of target system.\n", "Then we add the boxes and wires to the diagram and visualize the result." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "UAV = WiringDiagram([:e,:d], [:s])\n", "\n", "sensor = add_box!(UAV, s)\n", "controller = add_box!(UAV, c)\n", "dynamics = add_box!(UAV, d)\n", "\n", "add_wires!(UAV, [\n", " # net inputs\n", " (input_id(UAV), 1) => (sensor, 2),\n", " (input_id(UAV), 2) => (controller, 2),\n", "\n", " # connections\n", " (sensor, 1) => (controller, 1),\n", " (controller, 1) => (dynamics, 1),\n", " (dynamics, 1) => (sensor, 1),\n", "\n", " # net output\n", " (dynamics, 1) => (output_id(UAV), 1)\n", "]);" ], "metadata": {}, "execution_count": 3 }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "Catlab.Graphics.Graphviz.Graph(\"G\", true, \"dot\", Catlab.Graphics.Graphviz.Statement[Catlab.Graphics.Graphviz.Subgraph(\"\", Catlab.Graphics.Graphviz.Statement[Catlab.Graphics.Graphviz.Node(\"n0in1\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:id => \"in1\")), Catlab.Graphics.Graphviz.Node(\"n0in2\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:id => \"in2\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n0in1\", \"\", \"\"), Catlab.Graphics.Graphviz.NodeID(\"n0in2\", \"\", \"\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}())], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:rank => \"source\", :rankdir => \"LR\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:style => \"invis\", :shape => \"none\", :label => \"\", :width => \"0.333\", :height => \"0\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:style => \"invis\")), Catlab.Graphics.Graphviz.Subgraph(\"\", Catlab.Graphics.Graphviz.Statement[Catlab.Graphics.Graphviz.Node(\"n0out1\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:id => \"out1\"))], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:rank => \"sink\", :rankdir => \"LR\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:style => \"invis\", :shape => \"none\", :label => \"\", :width => \"0.333\", :height => \"0\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:style => \"invis\")), Catlab.Graphics.Graphviz.Node(\"n1\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:color => \"black\", :comment => \"sensor\", :fillcolor => \"white\", :id => \"n1\", :label => Catlab.Graphics.Graphviz.Html(\"\\n\\n\\n\\n
sensor
\"), :style => \"solid\")), Catlab.Graphics.Graphviz.Node(\"n2\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:color => \"black\", :comment => \"controller\", :fillcolor => \"white\", :id => \"n2\", :label => Catlab.Graphics.Graphviz.Html(\"\\n\\n\\n\\n
controller
\"), :style => \"solid\")), Catlab.Graphics.Graphviz.Node(\"n3\", OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:color => \"black\", :comment => \"dynamics\", :fillcolor => \"white\", :id => \"n3\", :label => Catlab.Graphics.Graphviz.Html(\"\\n\\n\\n\\n
dynamics
\"), :style => \"solid\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n0in1\", \"s\", \"\"), Catlab.Graphics.Graphviz.NodeID(\"n1\", \"in2\", \"n\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"e\", :id => \"e1\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n0in2\", \"s\", \"\"), Catlab.Graphics.Graphviz.NodeID(\"n2\", \"in2\", \"n\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"d\", :id => \"e2\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n1\", \"out1\", \"s\"), Catlab.Graphics.Graphviz.NodeID(\"n2\", \"in1\", \"n\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"sโ€ฒ\", :id => \"e3\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n2\", \"out1\", \"s\"), Catlab.Graphics.Graphviz.NodeID(\"n3\", \"in1\", \"n\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"c\", :id => \"e4\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n3\", \"out1\", \"s\"), Catlab.Graphics.Graphviz.NodeID(\"n1\", \"in1\", \"n\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"s\", :id => \"e5\")), Catlab.Graphics.Graphviz.Edge(Catlab.Graphics.Graphviz.NodeID[Catlab.Graphics.Graphviz.NodeID(\"n3\", \"out1\", \"s\"), Catlab.Graphics.Graphviz.NodeID(\"n0out1\", \"n\", \"\")], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:comment => \"s\", :id => \"e6\"))], OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:fontname => \"Serif\", :rankdir => \"TB\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:fontname => \"Serif\", :shape => \"none\", :width => \"0\", :height => \"0\", :margin => \"0\"), OrderedCollections.OrderedDict{Symbol, Union{String, Catlab.Graphics.Graphviz.Html}}(:arrowsize => \"0.5\", :fontname => \"Serif\"))", "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "G\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "n1\n", "\n", "sensor\n", "\n", "\n", "\n", "\n", "n0in1:s->n1:n\n", "\n", "\n", "\n", "\n", "\n", "\n", "n2\n", "\n", "controller\n", "\n", "\n", "\n", "\n", "n0in2:s->n2:n\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "n1:s->n2:n\n", "\n", "\n", "\n", "\n", "\n", "\n", "n3\n", "\n", "dynamics\n", "\n", "\n", "\n", "\n", "n2:s->n3:n\n", "\n", "\n", "\n", "\n", "\n", "\n", "n3:s->n0out1:n\n", "\n", "\n", "\n", "\n", "\n", "\n", "n3:s->n1:n\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 4 } ], "cell_type": "code", "source": [ "to_graphviz(UAV)" ], "metadata": {}, "execution_count": 4 }, { "cell_type": "markdown", "source": [ "Then we assign behaviors to inhabit the boxes." ], "metadata": {} }, { "outputs": [ { "output_type": "execute_result", "data": { "text/plain": "" }, "metadata": {}, "execution_count": 5 } ], "cell_type": "code", "source": [ "function ๐—Ÿ(๐–)\n", " ๐ฟ(u, x, p, t) = [ -p.๐“l * (u[1] - x[1] - x[2]) ] # sc\n", " ๐ถ(u, x, p, t) = [ -p.๐“c * (u[1] + p.๐“‘c*x[1] - x[2]) ] # sl\n", " ๐ท(u, x, p, t) = LVector(ฮฑ = -0.313*u[1] + 56.7*u[2] + 0.232*x[1],\n", " q = -0.013*u[1] - 0.426*u[2] + 0.0203*x[1],\n", " ฮธ = 56.7*u[2] )\n", "\n", " u_๐ฟ(u,p,t) = [ u[1] ] # outputs sl\n", " u_๐ถ(u,p,t) = [ u[1] ] # outputs sc\n", " u_๐ท(u,p,t) = [ u[3] ] # outputs ฮธ\n", "\n", " return oapply(๐–,\n", " Dict(:sensor => ContinuousMachine{Float64}(2, 1, 1, ๐ฟ, u_๐ฟ),\n", " :controller => ContinuousMachine{Float64}(2, 1, 1, ๐ถ, u_๐ถ),\n", " :dynamics => ContinuousMachine{Float64}(1, 3, 1, ๐ท, u_๐ท)))\n", "end\n", "\n", "๐‘ขแตคโ‚แตฅ = ๐—Ÿ(UAV)" ], "metadata": {}, "execution_count": 5 }, { "cell_type": "markdown", "source": [ "Lastly, we compute and plot the solution." ], "metadata": {} }, { "outputs": [], "cell_type": "code", "source": [ "# initial values\n", "xโ‚’ = LVector( e = 0.01, # [e, d] -> [ฮธ offset, ๐›ฟ control input]\n", " d = 0.05);\n", "\n", "uโ‚’ = [0.0, 0, 0, 0, 0]\n", "tspan = (0, 20.0)\n", "\n", "params = (๐“l = 100, # decay constant of sensor\n", " ๐“c = 100, # decay constant of controller\n", " ๐“‘c = 0) # ratio of velocity to reference velocity\n", "\n", "prob = ODEProblem(๐‘ขแตคโ‚แตฅ, uโ‚’, xโ‚’, tspan, params)\n", "sol = solve(prob, alg_hints=[:stiff]);" ], "metadata": {}, "execution_count": 6 }, { "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "โ”Œ Warning: To maintain consistency with solution indexing, keyword argument vars will be removed in a future version. Please use keyword argument idxs instead.\n", "โ”‚ caller = ip:0x0\n", "โ”” @ Core :-1\n" ] }, { "output_type": "execute_result", "data": { "text/plain": "Plot{Plots.GRBackend() n=5}", "image/png": "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z2dmZv722299+vQBgFmzZsn3USoRWlhYaGtrr1q16vLly3fu3Llz586zX1LUXWAiRJ0kNDQUAOT3Lnv37gWAlStXKu7ztETI3qko7nns2DEACA4OFgqFT7simwiHDx9OCGkzvMWLFwPAL7/8It/y559/AsBbb72luNu8efMA4NatW22ekGEYtgl04sSJihs3bdoEANOnT5dvaTlqlM/nW1lZNTtbTU2Nvr4+l8t9+PDh067IJkI9PT3Fca0RERHsN4ZnR8smQldXV8XUfvXqVTaXyF/DSZMmsTedisfevXuXoqiXX35ZvoVNhOPGjVN88deuXQsAW7dufUYYNTU11tbWurq68jD++usvABg6dKjibomJifDkFp/VLBHm5ORwOBwej5ebmyvfp6KiwsDAQPEbmFKJEAD+97//PSN41E3hqFHUGcrKyi5fvmxubj5q1Ch2y4wZM7S0tI4fP97Y2Njm4YGBgfIDWSdOnACAjRs3amlpPfvY9957j6KoNi/xxhtvAACbMzoW++kvt3z5cj6ff+HCBalUqtR5Ll68WFtbGxoa+tJLLz17z7fffluxx6tv376GhobZ2dntucrKlSs1NTXlD8eMGePr65uWlpaQkAAAdXV1v/76q6mpaVhYmOJRQ4YM8fX1vXfvXl1dneL2devWKb747Jv47EgMDAyGDRtWX1+fnJzMbunXr5+fn194eHhmZqZ8N/ab0Jw5c552nl9//VUmk82cOdPe3l6+0cTEhP3Gc+bMmWfE8DTsffBzHIi6OBwsgzrDDz/8IJFIZs6cKR9XYmBgMH78+NOnT1+4cGHq1KnPPpy9t1PEjkMJDAxs89LycTeKkpKStmzZ8ujRo/z8fMXPbnYsTMfy9/dXfGhoaOjk5JScnJydne3m5tb+88TGxgJAs865VimOrGFZWFikpqZKJJKnjet5WrTsFRMSEhITE/38/OLi4qRSqba29vr165vtJhKJZDJZfn6+4pvl4eHRLAwAKCkpkW9hGObnn38+cuRIWlpacXFxU1OT/FeK78Xbb7/9n//854cffvjoo48AgBBy4sQJTU3NGTNmPO2JJCUlQWt/IWzTK3tDqSxbW9unjQlC3RomQtQZjh49CgACgWDLli3NfvXdd9+1mQhbzrJgs5eVlVWbl2557MOHD0eMGNHU1PTKK6+89tprRkZGFEXl5OTs27ev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", "text/html": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "image/svg+xml": [ "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ] }, "metadata": {}, "execution_count": 7 } ], "cell_type": "code", "source": [ "plot(sol, vars = [1,2, ((t,y) -> (t, y*1e2), 0, 4), 3, 5],\n", " label = [\"sl\" \"sc\" \"ฮฑ\" \"q\" \"ฮธ\"],\n", " lw = 2, title = \"Aircraft pitch behaviour\",\n", " xlabel = \"time\", ylabel = \"response\"\n", ")" ], "metadata": {}, "execution_count": 7 } ], "nbformat_minor": 3, "metadata": { "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.9.3" }, "kernelspec": { "name": "julia-1.9", "display_name": "Julia 1.9.3", "language": "julia" } }, "nbformat": 4 }