From 2c252977af6a735137ef89b1871646ecb85eda58 Mon Sep 17 00:00:00 2001 From: Alexander Date: Wed, 4 Sep 2019 16:50:35 -0400 Subject: [PATCH] AlexanderJChapa HW#1 --- Untitled.ipynb | 32 ++ cpp/cmake_template/CMakeLists.txt | 19 + cpp/cmake_template/Hello_world.cpp | 8 + cpp/cmake_template/my_gazebo_plugin.cpp | 38 ++ cpp/cmake_template/my_test.cpp | 11 + lectures/AlexanderJChapa-F16.ipynb | 471 ++++++++++++++++++++++++ 6 files changed, 579 insertions(+) create mode 100644 Untitled.ipynb create mode 100644 cpp/cmake_template/CMakeLists.txt create mode 100644 cpp/cmake_template/Hello_world.cpp create mode 100644 cpp/cmake_template/my_gazebo_plugin.cpp create mode 100644 cpp/cmake_template/my_test.cpp create mode 100644 lectures/AlexanderJChapa-F16.ipynb diff --git a/Untitled.ipynb b/Untitled.ipynb new file mode 100644 index 00000000..30349492 --- /dev/null +++ b/Untitled.ipynb @@ -0,0 +1,32 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/cpp/cmake_template/CMakeLists.txt b/cpp/cmake_template/CMakeLists.txt new file mode 100644 index 00000000..0f2239a6 --- /dev/null +++ b/cpp/cmake_template/CMakeLists.txt @@ -0,0 +1,19 @@ + +project(cmake_template) +cmake_minimum_required(VERSION 3.10) + +enable_testing() + +find_package(gazebo) + + +# add_executable(hello_world hello_world.cpp) + +# add_executable(my_test my_test.cpp) + +# my gazebo plugin +add_library(my_gazebo_plugin SHARED my_gazebo_plugin.cpp) +target_include_directories(my_gazebo_plugin PUBLIC ${GAZEBO_INCLUDE_DIRS}) +target_link_libraries(my_gazebo_plugin ${GAZEBO_LIBRARIES}) + +add_test(my_test my_test) diff --git a/cpp/cmake_template/Hello_world.cpp b/cpp/cmake_template/Hello_world.cpp new file mode 100644 index 00000000..1ffaf8ef --- /dev/null +++ b/cpp/cmake_template/Hello_world.cpp @@ -0,0 +1,8 @@ +#include + +int main(int argc, char const *argv[]) +{ + std::out<<"Hello world" << std::endl; + /*code*/ + return 0; +} \ No newline at end of file diff --git a/cpp/cmake_template/my_gazebo_plugin.cpp b/cpp/cmake_template/my_gazebo_plugin.cpp new file mode 100644 index 00000000..056404c1 --- /dev/null +++ b/cpp/cmake_template/my_gazebo_plugin.cpp @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include + +namespace gazebo +{ + class ModelPush : public ModelPlugin + { + public: void Load(physics::ModelPtr _parent, sdf::ElementPtr /*_sdf*/) + { + // Store the pointer to the model + this->model = _parent; + + // Listen to the update event. This event is broadcast every + // simulation iteration. + this->updateConnection = event::Events::ConnectWorldUpdateBegin( + std::bind(&ModelPush::OnUpdate, this)); + } + + // Called by the world update start event + public: void OnUpdate() + { + // Apply a small linear velocity to the model. + this->model->SetLinearVel(ignition::math::Vector3d(.3, 0, 0)); + } + + // Pointer to the model + private: physics::ModelPtr model; + + // Pointer to the update event connection + private: event::ConnectionPtr updateConnection; + }; + + // Register this plugin with the simulator + GZ_REGISTER_MODEL_PLUGIN(ModelPush) +} \ No newline at end of file diff --git a/cpp/cmake_template/my_test.cpp b/cpp/cmake_template/my_test.cpp new file mode 100644 index 00000000..6fed0b60 --- /dev/null +++ b/cpp/cmake_template/my_test.cpp @@ -0,0 +1,11 @@ +int main(int argc, char const *argv[]) +{ + std::out<<"Hello world" << std::endl; + /*code*/ + int a = 1; + assert (a == 1) + + + + return 0; +} \ No newline at end of file diff --git a/lectures/AlexanderJChapa-F16.ipynb b/lectures/AlexanderJChapa-F16.ipynb new file mode 100644 index 00000000..69571b0c --- /dev/null +++ b/lectures/AlexanderJChapa-F16.ipynb @@ -0,0 +1,471 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "%matplotlib inline\n", + "\n", + "import sys\n", + "sys.path.insert(0, '../python/casadi_f16')\n", + "import f16\n", + "import control\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import scipy.linalg\n", + "\n", + "from analysis import loop_analysis, rlocus, bode\n", + "\n", + "plt.rcParams['figure.figsize'] = (10, 10)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Pitch-Rate CAS Design\n", + "\n", + "* Example 4.5-1\n", + "* pg. 310" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "p = f16.Parameters()\n", + "x0, u0 = f16.trim(x=f16.State(VT=502), p=p, phi_dot=0, theta_dot=0, psi_dot=0.0, gam=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Control(thtl=DM(0.138556), ail_cmd_deg=DM(0), elv_cmd_deg=DM(-0.75878), rdr_cmd_deg=DM(0))" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def f_control(t, x):\n", + " Kalpha = 0.2\n", + " return f16.Control(\n", + " thtl=u0.thtl,\n", + " ail_cmd_deg=u0.ail_cmd_deg,\n", + " elv_cmd_deg=u0.elv_cmd_deg + 1*np.sin(2*np.pi*2*t),\n", + " rdr_cmd_deg=u0.rdr_cmd_deg)\n", + "\n", + "f_control(0, x0)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'angle of attack')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEWCAYAAABi5jCmAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9d5xcZ3no/31nZqfslO1V3WpuYBvJFZc1EDC5lFQCyYWEFF/4kXtzk1DuTfK7IYGEBAIJhAtcU28CgYRQY4MpstZyRZZsyVbvbXudsjszO+W9f5wy58wZyVp5dzWSnu/nsx/tznvKM7Pa9zlPV1prBEEQBMHCd7EFEARBEOoLUQyCIAiCC1EMgiAIggtRDIIgCIILUQyCIAiCC1EMgiAIggtRDMIVj1JqtVJKK6UCi3DtdyulRpRSGaVU20Jf/0JZzPcsXPqIYhCERUIp1QB8Anit1jqmtZ6Y5/lfUUp9uOq1E0qp1yyknIJQjSgGQVg8uoAwsPdiCyII80EUg3DJoJT6H0qpo0qptFJqn1LqFx1rv6WUelwp9XdKqSml1HGl1Osd62uUUtvMc3+qlPrfSqmvnuU+TUqpLyqlhpRSA0qpDyul/Gc5NqSU+gel1KD59Q/maxuAg+Zh00qpR85y/jeVUsNKqaQp33Xm6/cDvwG833RD/YdS6p+BlcB/mK+9/1zXMNciSqmPK6VOmuuPK6UiNeT4ZdMauf7cvwXhSkAUg3ApcRS4C2gC/gL4qlKqx7F+K8Zm3A58FPiiUkqZa/8CbAfagA8Cbz/Hff4vUATWATcBrwV+9yzH/ilwG3AjcANwC/BnWutDgLVBN2utX3WW838IrAc6gWeBrwForR8wv/+o6YZ6o9b67cAp4I3max891zVM/g7YBNwBtALvB8pOAZRS7wT+FniN1nrPOT4X4UpBay1f8nVJfgG7gDeb3/8WcMSx1ghooBvjKbsINDrWvwp81fx+tXlsAMP9kwcijmPfBmw9iwxHgZ93/Pw64ET1dc/z/TSbxzeZP38F+HDVMScwNvAXvQbGg18WuKHGcZZs7wX2Acsv9u9TvurnSzIShEsGpdQ7gD/C2NQAYhjWgcWw9Y3WetY0FqxjJrXWs45jTwMratxmFdAADFWMDXzm8bXoBU46fj5pvvaimO6pvwJ+Feig8iTfDiQX4BohjBjH0XNc4n3AX2qtz5zP/YQrA3ElCZcESqlVwOeB3wfatNbNwB5AnfNEgyGgVSnV6HitllIAQwHkgXatdbP5ldBaX3eW4wcxlInFSvO18+HXgTcDr8F4wl9tvm69p1qtj6tfO9c1xoEcsPYcMrwW+DOl1C+fp8zCFYAoBuFSIYqxKY6B7Rc/r0Cp1voksAP4oFIqqJS6HXjjWY4dAn4MfFwplVBK+ZRSa5VS95zl8l/H2Fg7lFLtwP/CcFOdD3EMJTSB4fr666r1EeCqF3ntrNfQWpeBLwGfUEr1KqX8SqnblVIhx/l7gfuA/62UetN5yi1c5ohiEC4JtNb7gI8DT2Fsji8DnpjHJX4DuB1jA/0w8K8YG2ot3gEEMXzvU8C/Az1nOfbDGErneeAFjODvh89ybDX/hOF6GjDv9XTV+heBa5VS00qp75qvfQRDEU0rpd57Htd4rynXM8AkRpDZ9Xevtd4NvAH4vDOTS7hyUVrLoB7hykMp9a/AAa31n19sWQSh3hCLQbgiUErdbLqEfEqp+zD88t99sfME4UpEspKEK4Vu4NsYdQxngHdrrZ+7uCIJQn0iriRBEATBhbiSBEEQBBeXvCupvb1dr169+oLOnZmZIRqNLqxAC0C9ygX1K5vINT9ErvlxOcq1c+fOca11R83Fi116/VK/Nm3apC+UrVu3XvC5i0m9yqV1/comcs0PkWt+XI5yATv0WfZVcSUJgiAILkQxCIIgCC5EMQiCIAguRDEIgiAILkQxCIIgCC5EMQiCIAguRDEIgiAILq5YxZDJF/nRiQJHRtMXWxRBEIS64opVDI8fHufrB+Z4zSe2kcoVLrY4giAIdcOSKQal1Aql1Fal1H6l1F6l1B/UOOZqpdRTSqm8OYRk0bjv+m7+5NYwAD/ZO7KYtxIEQbikWEqLoQj8sdb6GuA24D1KqWurjpkE/hvwd0sh0LpmH82NDTxzYnIpbicIgnBJsGSKQWs9pLV+1vw+DewHllUdM6q1fgZYEt+OTymu7o5zaETiDIIgCBYXZR6DUmo1sA24XmudqrH+QSCjta5pOSil7gfuB+jq6tr0jW9844LkyGQyfOdUA08MFPnsaxpRSl3QdRaaTCZDLBa72GLUpF5lE7nmh8g1Py5Hue69996dWuvNNRfP1l1vsb6AGLAT+KVzHPNB4L3nc72X2l31C48d06s+8KCemslf8HUWmnrt5Kh1/comcs0PkWt+XI5yUS/dVZVSDcC3gK9prb+9lPc+Gz1NRgB6cDp3kSURBEGoD5YyK0kBXwT2a60/sVT3fTEsxTCcyl5kSQRBEOqDpZzg9krg7cALSqld5mt/AqwE0Fp/TinVDewAEkBZKfXfgWt1jTjEQtHTFAHEYhAEQbBYMsWgtX4cOGd0V2s9DCxfGokM2mNBACYyc0t5W0EQhLrliq18tgj4fSTCAaZmRTEIgiCAKAYAWqNBJmdEMQiCIIAoBgBaokGxGARBEExEMQCtjWIxCIIgWIhiAJobg0zPSodVQRAEEMUAQGu0QSwGQRAEE1EMGDGGbKFEdq50sUURBEG46IhiAJoiDQAysEcQBAFRDADEw4ZiSItiEARBEMUAEA8bBeDJbPEiSyIIgnDxEcUAJMRiEARBsBHFACRMiyGdE4tBEARBFAOVGIMEnwVBEEQxAJCIiMUgCIJgIYoBiDT48fuUxBgEQRAQxQCAUop4OEBKspIEQRCWdLTnCqXUVqXUfqXUXqXUH9Q4RimlPqWUOqKUel4p9Yqlki8RbhCLQRAEgaUd7VkE/lhr/axSKg7sVEr9RGu9z3HM64H15tetwGfNfxedeDggMQZBEASW0GLQWg9prZ81v08D+4FlVYe9GfgnbfA00KyU6lkK+eLhgGQlCYIgAEprvfQ3VWo1sA24Xmudcrz+IPA35nxolFJbgA9orXdUnX8/cD9AV1fXpm984xsXJEcmkyEWiwHwqWdzjM6W+fCdjRd0rYXEKVe9Ua+yiVzzQ+SaH5ejXPfee+9OrfXmmota6yX9AmLATuCXaqw9BNzp+HkLsOlc19u0aZO+ULZu3Wp//0f/ukvf8ZEtF3ythcQpV71Rr7KJXPND5Jofl6NcwA59ln11SbOSlFINwLeAr2mtv13jkDPACsfPy4HBpZDNyEoSV5IgCMJSZiUp4IvAfq31J85y2PeBd5jZSbcBSa310FLIl4g0kM4XKZWX3rUmCIJQTyxlVtIrgbcDLyildpmv/QmwEkBr/TngB8DPA0eAWeCdSyWc1S8pky/a8xkEQRCuRJZMMWgjoKxe5BgNvGdpJHKTiFQ6rIpiEAThSkYqn00si0GqnxeXyZm5s45QzRVK/PvOM+dcT85KHEgQFhtRDCYJ6bC6IEzOzPHY4bGaa6lcgVd/vJ/f/PL2muuf2XqE935zN1964rhnTWvNb35pO6/6eH9NxaG15rHDY0zNzL20NyAIgigGC8uVJJlJL433fXM3b//idrYfn/SsPXpwjKnZAtuPTzKczHnWtx0eB6D/4KhnbWA6y8+OTzJxFsWzZ7zE27+4nT/+5u6acmmtxdoQhPNEFINJZYqbuJLOxdhsmTs+soWvbz/lWSuWymw5YGzqW/aPeNb3Ddm1jOwfTrnWSmXNAfO1g8Npq47FZu+g49yhtOfaz48bVsS2Q2M1M8v+5uEDbPrwT9g3mPKsCYLgRhSDiTX3WVxJ5+aJwSKDyRyffuSIZ+34+Iz9/YFh7+Z9YChFT1MYgENV66cmZ8kVyly/LEEqV2QklXet7x9KoRS0x0IcGvVe+1SqDECxrBmYyrrWtNb805MnKZY1D71Quyzm0UNjvHAmWXNNEK40RDGYxCX4bPO+b+7m1z//NOUaT94nksYGPDCdJZN3f1aWMri6O87BGorhzFSWG5Y30x4LcmxsxrU2lDQ28zvXdQCGoqg+tzMe4uXLmzznApzJlLm6Ow7AoRH3vUfTebIFw6KoZW0MTGf5zS9t5xc/84TUsQgCohhsAn4f0aD/ircYRlI5vrnzDE8enWDnqSnP+ul0mcagH/BuwIPTxuZ+94YOhlM58kV3kHg4laMrEaKnKcJQyh1jGDF/vnFFM1BRFM717kSY3uYww1Vr2bkSMwXjvgAnJtyKw3JhdSVCHBnNeN7Tz45NAIa1UcvVVCprth4YJVeonS0lCJcbohgcxK+QmQzFUplnT015/PgAewYq7pTnqhRDvlhiIqe57/puAI5WbbIjqTzRoJ91nUZTL2eAeXauSDpXpDMRpqfJu7lbrqObVlqKwas4jHMjTM0WXJu0pVTWd8aINPg9gW1LYb3q6k5OT816FNaegYoyOFzDTfWFx47xzq88w+cePepZE4TLEVEMDhKRK2OK2xceP84vfeZJvrnjjGfNcgdFg34ODrs3/rG0tXm3ADU273SOrkSYZc0RAAanK+vWxm889UcYmnafO5zMEQ366UqEiYcCns19JJWnOxGmOxG2j7fPNRVDd5OhdDzWSDKHT8ENy5vRGkar4heHR9Nc05Mg4FM1LYpHDxlZUP0Ha6fhCsLlhigGB4lwwxXhSnp4zzAAD77gbUN1bGyG7kSY63qbOD3l9vNbm/uKlgjtsZD9JG4xmsrRmQjZAWanO8h6qu9KhOluCpPOF13W2Wg6R5d5XndT2HVurlAimS3YG79x7Zzn2t3mtauVynAqR0c8xLKWiOdcMJTMytYIK1sbOTnhfs9aazsj6shopqaV9Xc/OshvfXk7hVLZsyYIlyKiGBwkIpe/YiiXtR0bcLqNLEbTObqbwqxobeRU1SY56tjce5vDDNbYgLtNdw/U3ry7XIrD8dSfzNnWQE9zxLMG0BkP0X0updN0NsWQpysRrqmwrPNtpVJlbYym8ySzBTZ0xcjki571TL7Ip7ceof/gGD875q3dEIRLEVEMDi6X8Z65Qok3/ONjfOjBfZ61M1NZZudKrO2IMjkz5yn6GjEDxCtbGxlO5Vy+/GGHYuhpCjPksBi01oyYG3Ak6KelseHsm7epAEZSbldTl/l6VzxUtVZxFVnHODfo4WSekB/ioQDdiTAjqZwru2gkabi4umq4obJzJVK54lmViqWgrGyp41UZUc7sq91npqlFLStDEOoZUQwOEuGGy6Ly+bHD4+wZSPHFx497gumWe+ieDZ2ANy10NJ23LQLwbt5+BS2NDUZmkWMTTWYLzBXLdFqbeyLMcDLvOjfS4Dc27yb3Bl0ua8OVlKi4ksbSeYqma2bY4SqKhgLEQwFXnGAklaMlpFBK0d0UpljWTDpaY1iWTDzcQCwUcCsVpxvKVCrONF1LxrMFxZ2KpFZ8YiJb5raPbOEftxz2rAlCvSKKwUEiEiCVK17yT3gvOFxEL1S5i6yN/pY1RgD55GTlCThXKDE9W3AFkAccVsFoKkezuQH3NIXJOOIEww5XERibe/VTf3dTGKWUrQCs9anZOQolbZ/blQhT1jBhbu5Oa8P6d6Rqc28JG417O+PuazvjE5Z8wzXcVJYrqVjWjM+4lQ5U0mirXUmWVXTD8qaaimH7cImRVJ5Pbz1yyf+/Eq4cRDE4SIQbKJU1s2aTNq01P3xhyLU5XgocGk4TCxkFe4dHvCmlAK9YZSiG05OV92ZlHXXGQ/SYisGZPTSSrmzA1kZrbZzOrCPr3+EqxdAZNzb+cIOfpkiDfY7zqR3wuHyc1oax7nU1NZtyWcplNJ1zXaPLce3RtHfjd7q4nIpjKJmjwa9Y1hwxZa5Ohc3RGPRz3bImzlQF6wHOpA2rJ18se6q5BaFeEcXgIF7VL2nb4XHe/bVnefdXd15MsWryqS2Hue2vt9ibuZOjYxluX9tGpMHvybIZSeWIhwJ0xsMkwoGacYDOswRqR1J5mkPWBmxtonnXuc4NeDyTtzN1nDEEcCsOyy3U6VAqzmsOO6wNgK542N5ktdaMpvK0hHyu+1vrIzWUTrW1Ya1Xn2ud3xkP4/MpuhNhjytpKJmlpylMTyLsqa8AmMxVMpWOjnktiscPj/Pur+5kIiNKQ6gfRDE4SESMJ9KkGWfYajaEe/5M0n6tHtBa88kthxlO5fjergHP+nAqR29TmJWtjZyadAdLx9J5Os2n6t7miCvl1NoQuxIhwg1+2qJBBqarnsxNxWApjsrmbvzbEa+4krQ27mcEpnO2lQFud5CzDsG6v3U/sILHIde5o2kjFjA5M8dcqWxbMtb9vdc2Xu+MhxhN5W23znDSUJTRUMBWDJa1Ya13n8WFBTCYzNHbHLHdXNU1EpM5zWbTOqvlavrrH+znh3uG+c5z3t+jIFwslnLm85eUUqNKqT1nWW9RSn1HKfW8Umq7Uur6pZLNorUxCGAHLvc7uoHWU1fOwWQl6+a50+5MmOxcya4wXtHa6AkuW0/AYCmGGimlcStttFJPYFUuV1w23qf65sYGwg1+cz1kv57MFsgXy7YrCaDb4Q6y/u2IGettsRB+n6o89TsC04Z8IQolzdTsnL3xWwqrwe+jPRb0WAzW+Z2JMHOlsq3oR1KV+on2WBClvBZDxT0W8mYtTRsWg+2GcigOrTWTOc0NK5oJBnyeuo9SWduV1jtOeNuPCMLFYikthq8A951j/U+AXVrrlwPvAD65FEI5sZ42xzLGE+XBkTR3rW8H4PSk1398sbA6kzZFGjxtKayn3c54iOUt3gpjY5O1LIYwg05XUTpH0O+judFwqfU0Vc63noRbzA043OCn2ZGSalUmW9iKI5nzWATWupV5NJzM0R4LEQwY/x39PkVHLGRnCI0k855zrXtaG79lMVjrlgUznDTadFhuwoo1UolvWHIH/D7aoiH7XK212d/JVCpxwz1mKeW5YpmxTJ6epkgl08qhGKZmCxTKhgLuSoQ8gWvD1WZcq5abCYw6iZn8pZ9CLVxaLJli0FpvA85VAXQtsMU89gCwWinVtRSyWdiKIZ1nJJVnerbAvRs78fuUK3tnKcgXS3y2/2jNgKa1ibz6mk5OTsy6sl2swKqVcprOF+2iPWetARgb1vRsgdk5Y+MZTRluJsuXv6w5YiuOEfvJvPJfptuRkmr1MnKugbFRWn55q/DNkq+sYTwzZ7pjKueC4bYZTuWYMF1FvY5zrfuMpCvXbqtSDCPpijXSVVOpON1UzvWQ/Rmm80Vm50q2G6orETKzpSrvWWtDwToVoYVlIfSaFsXZejit74xxcmLWTs+1yBVK9H2sn1/+7JOS0SQsKYGLLYCD3cAvAY8rpW4BVgHLAc/EF6XU/cD9AF1dXfT391/QDTOZjOtcrTV+BTv3HmZmyGiYVhg9RmsIduw/QX9o+ILucyFyffQbj/DFPXP8YMdh/nize9PccSBP0AeN2TGyhRLf+9FWmsPGhr19yNjkTx58gemMsdF87yePsSLuY6agmSuWSY2eob9/hOlB49jv/ngbvTEfB05mCWvsz2R2Yo50rsgPf7qV3aNGUDVYztrrDcUcRwZm6O/v5+TYLM0dfntNa01AwTN7DnOy0di0T+x7jvRxQ86xUePeP9j6BEcH83Q1+ly/C38+x/GpMg898jgA46eP0N9/AjBqAwC2bd/NeFbjU+AvzNrnlzJ5To+X6O/v58CpLOFA5T2NzhrnPrp9F8WBACOpHPnpEXvdX8hxdND4fzFgZhRNnjlOf/9pRkdMmR95gtVNfg5OGp/J6IlDPJs5StAHO/YdZn3ZGGL0nPkeh47uQ+UKnEiVXe/xmWFjfWU4x+FSme/+uJ/2SEXxvjBWZDyTZzyT518e2sqy2MI9x1X/368XRK75sVhy1ZNi+Bvgk0qpXcALwHNATRtaa/0A8ADA5s2bdV9f3wXdsL+/n+pzu57eQqSlnWBnDDjAW19/N1vGdgDQ13f7Bd3nQuQaSzcBgxxLwV1334PfV3ki/vbQc/S0TPOa267jq/ufYfnVN7J5dSsAxx4/Drv38YZX3cnxiRk+s/tJlq2/jr6ru4xWGFu2ccdN19F3Qy+Nxyd54PmnWL7hZdy9oYMP7exn47I4fX2bAEi1DPJvB59j7cs2c/rgKDx/gOWtUfsze3jiebYcGOWOO+8m9aMf8oqr19DXt8GWs3v7IwSbWki0NuLbd4Q3v7aPgN/Y3NoHknzy2cdZtv46Urt283PrltPXd5197iPJPXxv1yA9666Dp3by2lfezMuWNwGGC+ePH/0hzT2rSU7O0J2YIBH323I9VzjEtoHD3HnX3cw8uZWbVrfT13cDYMRg3r/tYVqXreH6Tcsp/WgLt75sA323r3a9p76+PrYdGoMntnPvbTdx61VtNJ2a4h+fe5KVG6+n7+oukrsGYPsu7rv7VtZ3xel+Ziuhpmb6+m4C4NRTJ+DZvbzhVa9kcNsxnv/ZSe655x7bIjvy2DHYtZ833H4dW07tZs21N7JpVav9GZx88gTs3AtAbPlG+m5c9tL+Yzmo9X+/HhC55sdiyVU3WUla65TW+p1a6xsxYgwdgHcq/CLTEQ8xlslzYChl5653xEM100IXE6uf0cxcyTNfYCSVoyseZnmLtwjNGSeoFKm5g7wVV5I7JXU0lbcD02C4QMBweQwlc8RCASIBt8tmPJNncDqL1pVMJQsrJXUoaQS8LaUA2JlRR8cypHNFVwzBunYyW+CEORWux+FqCgZ8tEWDjKRzDCdzds2F81ytDTfWaDpnvw+ASNBPImxYCoM1XFyd8RDjGTP2kXKvdzpiG8bnYq6b9++Mh1wZTYPTOfzm1LnupjC5QtnVvXcomSPc4GNjV8J1Xft8R/yn1nAirTWHR9I1ByoJwkuhbhSDUqpZKRU0f/xdYJvWeslTgToTxqyAA8NpNpoTwTpiS6sYSmXNsbEZbl5tpDl6mtmZKafWhuXMLBpL5emIG3GCjliIBr+yfdl2vUC8UmGslKE4Mvki6XzR5W/vdbTPdqZtWlgpqVaPoO6mqg26yag3GExmPee2R0MEfIrtx42wk6Xk7HNNOZ45MUUo4LMzxpzro6bS8SoV4/29cCZJWdeQKxFmNJW3ez05lU6nqVTGM3OV5n3m9aysKetzHEpmiYcDdjFhdfHcUDJLa1jh8yk7fuVWHFl6myOeFiGV9Ryr2hpZ2dpYMzj97WcH+Lm/38ZnZU6EsMAsZbrq14GngI1KqTNKqd9RSr1LKfUu85BrgL1KqQPA64E/WCrZnKztiHFoJMOB4TTX9RpPch3xEOl8kezcwk7w+r1/2sHbv/gzT2AxOaeZK5W5e713IplVE9AZN/oGNTc2MDBdURzOrCOfz+gdZCkGKyBrbXQNfh9dcWN92H56dmyS8RA+ZWxwQ8lcTYsA4LlT055zAZY3RxiYznJwOM1VHVHXms+nWNMetWccbOiKu9at43+6f4T1XTF8DlcaGErr6NgMpydnWdXa6FqzlIqVyttTHdg2g9OWxdBbFRQHYwMfSmZpiwbtFNxgwEdrNGhv7oPTOde5HWaNhMXQdI7WqlYdTsUxmDTOb2lsIOj32b+fyvlGKuzyloinsA7gx/uMmNeP9y5N7Eu4cliyGIPW+m0vsv4UsH6JxDkrG7pi9vdWfxzraW88k2dF1SZ0oZycmOEn+4y4+q7T0/bwG4DpnKEorulJEAsFXNXLGTNTxtr8l3lqEfKs66i8h96miMtiiIcCNAYrv/Zes1ah2s0ERvpmVyJsWwzrO9uBrONcY1N89NAYPgUrqz6ba3oSzBXLjGfmPBs/wLW9CQ6PZgj4FKvb3Irj6u44SoHWXqVhrf90v/H5beyOw3Rlc7Tk2mYO2KmWqzMe4mfHZxiczhJuqKTnWmvW5zg4nfMolc54yHb5DCWzVdZGyPz9FGkMBhhMZllxllYdYGz8GzZ0oJSiMxFyZTQZ189x65pWNPDMCW9Cn/X/4qDpTqpWnoJwodSNK6lecG7Qm81AYMUNsHDupOfPOEdouovUpvKGYug2nxbPTNWqTnYWqbkb3TmrhJ2KYzjpTt0Ewz8+OO1MKXWv9zZHODExY/jqq3z5a9qjBP0+jo/PsKotaj9ZW1gWFxhKoppNZkXwhq64XcNg0RgMsKKl0XWck6t7KsrCcvlZtEaDdMRDHBhOEwz4PEqnM2FUTp+enKW3KWIHg8FrMfRWuaE6E2HGHH2Y3PGJSvVzuWxYdq1mtpgVn7AsCrsGwvxMjVYdlf9fpbJRQ9HTHKYz4a7WthicztLgV+QKZVc8QhBeKqIYqljTHuXP33gtn3zrjTSZT5KWb3msytSfnJnjbQ88zdaDozWvlcwW+P7uQddsAItDI2n8PkUsFOBwVZHatKkYOuMhc2N3b/xQcQcta44wYCqOXMGYLdBZFScYTuUolsoMpbzuIOv61gzman99T1OYnSenKGvsWc4WwYCP9aaFtbHGU/26zhjXL0vQHgty65pWz/ovv2I5b9m8nA++6TrPGsCHfuF67ruumzfd0OtZu3NdO8GAj2XNETZ01rYowKgR8Fc9SV/VEaVQ0mw5MMraqvfkrH4emvYqQ8tiyBVKTMzMuQLbFasgbxevtUaMe8dCARqDfvvhwq6BaArb13VaE6Npo7q9pylCt1mtPeWYnZHJF0nlirxynVGAWSs4/cHv7+V1f79twV2gwuVPPaWr1g3vfOUa18/tpmKYcPT4B/jmjtM8dWyCgeks976/03Odj/xgP9945jS5Qom3bF7hWjs2NsPK1kaaGxs8/Yymc0ZuflssRG9zhB0nK+0SLD+0M7PIKmKbnjE2Dmfrid7mCKWyZjSdZ8R2B1XobQqTL5Z5YSBJi6OlhfN8i/VdMYarOje84eW97B1M8fqXdXvev1KKb9x/OwGf8lwXIBoK8NFfucHzusU9Gzq4Z0NHzbXmxiDf//1XEg0GarpQ+jZ28tjhcV51tff3ck23Yb2UytpWIBYBv4/2WIhDw2nS+aJHkXaaWWsDduDaazGMpHK2BdTqKLwzNn/LDeXNaHr8yLh9rLiRthEAACAASURBVGXl9TYb2UxgWCitUSMIbwXOb17dSv/BMU/genauyFeePAHAlgMjvOHlXuUqCGdDFMN5YP0xTmTcimGnuWGfnpollSuQCDe41i0f95b9Ix7FMGw+vXfGQzxT1SdnOq/piBv9gpa1REhmC2TyRWKhgMeVtKzZcLcMTmftVEi3xWB8f2pylrGMu20FVDamxw6Pc20Nd4/THXRVe4zqMOe77rmK+67vZnVb7diLlbGzGFzd7ZXX4h23r6I7Ea6pGNY74kgvX97sWV/bEeVhM6BbbSV1JcKUyprnzUysFS3uVFcwLIaAqazciqHShM9KEbYthkSYdK5IrlAi3OCvrDdHmMkbT/wj6RzXYrxnK3B+tjkRzrjU7tPTohiEeSGupPMgGPCRCAc8rZH3DCSJBv1ojadnUXK2YP/x7hnwZt1a8wlWtkUZTGZdg+Sn89oVQ4BK+4SRlNH/39pwrY1/YCrryLuvbP5WLcPzZ6YplbXHVWStz86VPJsgwKuv6WLTqhbe97qNnjgAGFbBmvaoy09fDzT4ffynl/cQCXotlXCDnz949XpuWd3K3RvaPetOt1h1/MLa/C1lvtKhEJvN7KJRR8ZTW7jymXUkKmnP1RaHsx0LVOZg9DRF7HuOuTKejPNXt0dpjQY9XV+HXqQGQhDOhSiG86Q9FmLc4UoqmD77ezYaro7qLqYHzQK1G1Y0M5jMki9W/Lxaa3uE5vLmiFGM5XAFTOe17ZaonqQ2ms67XEXLHIrDympxZhZZG8/248ZGVt2TyJllVStAHAsF+Na77+A9964720dzSfKHP7eBf3vX7YQCXsVxoznGU6nK52thKYJth8YImum+FkoZ9QpjKaPoL9LgJ+owIo2W36bFMJ0j4aiB6KyqcxiYzhI1i/HOVgPhU0anWWemlIVV1HjDimZ7nKsTrTX9B0c9LihBAFEM501bLOiyGIaTRvDwtqvaUApOjLv/+KzagrvWtaM1rswiaz5yRzxkWwTO9elc2RVcBuwA81jaXZ3cHgsR9PsYmDa6mEYajM3EIhYK0BRpYNthw621tsNtFTRFGrhnQwdBv49XX+N1u1yJvO66bu5Y28aHf+F6jyW0tiOGTxm/r9XtjZ74RqfZhO/U5CwrWt0ZT53xMDNzJWbyRSPjqUZ8YtSVCmucHzZ/p9U1EFY1eZeZZeVkaDpLwKe4aUUzpyeznoymo9NlfuvLz/Bf/nnHS/ikhMsViTGcJ23RkKv61HLtrGmP0hkPebqgWk9wN69pha1G9bK1KTs7oC5rcbuK8sUS6UJlJkJn3KhetiyGsXSeax1+f59P0dMcZmA6S1lr16Qzi97mCPuHUgQDPpa3eGMBD7xjkz3rWTBSZf/l926ruRZu8LOqLcrx8Rletswbn+iKhzk8mqbB7zPrJypuHGcMYnDanSHWmXCnRFcXFHaa1doWzhqKrkTINTvEOr/bHNaULZSYnJmjLVaxNPdMGBbs7jNJZvJFoosYCxIuPcRiOE/aYkFXVtKgIzhY3QoBjFhANOjnGtNH7VQc9gjNeMj+43du/FDZKKqrl0cds5MtrCK26klnFle1G3n8V3fHPambAKGAX5TCPHjzjUYg9003egO6V3VEOTExy7GxGY8Stjf/VI5B0yKwaG0M4veps1ZVW9lQFoOOVNrOeJiJmTlXWvTAtFGDYf1ex6riYxPZyrHVSkUQRDGcJ22xEFOzc3bPfDudsCniyjaxsOYAtMesJ35HjrpjxnG4wU97LFTZ+G1rwh1HGJjKMpMvMjNX8mziVpHbiYkZT5UvwBtv6AGoWQ8gzJ//+qr1PPLH99RMpd3YHadUNlqaVFdsW+6iY+MzTM8WXL8rn0/RHgsymsqTL5YYz+SrXE2VOgettdFnyc5oClEyx5xaWBZFdVDbYjJXpiliBECq42OCIIrhPGmPBdEau8hoYDpLazRIJOh3DXexGEnl6TKHyPc0VRWpWVZB3IojhCvBZbvRnbtIbXA66znPYpnZS2c8M1czs+i+63vY/iev5nfuXONZE+aP36e4qsP7OQNcv6zJ/v6mlW5Xk6XsrfYW3lYdhuVp961yJApYfZi01kzNGqNSrapru7mfqTjKZc2wOYv6bIphIqvtJo2nJ71V06cnZ/k/jx5lrlj2rAmXP6IYzpNKkZuVTpi13UCd8bAxlN7xRzSSqnT97G0OuxTDSMpoYW35dZe1RByupIqbyWK5Wb1spSg6lQYYisWiOrhs0Znwxh6EhWdtR4zXXNPJvRs7PMVzTZEGmhsb7MaBtXo4WfEHoMqVZBQipnLFymQ4y5WUcG/+VtV1r1kn41yDyizq1W1GfKxW1tKHHtzHR354gG/uPH3hH4ZwySKK4TxpM4vcxtOGue708VpPgpYfV2ttj8kEbz+jsXRlDSoxAiuNVYErUNjbHKGsK7nzy6paVLufUr19hYSl5Qu/eTNffuctHkWslGJDV5zJmTmUMmoQnHQmQoylc/ZDQm+zNzg9ls47FEPlwQQqlqhzzkTUbMXhVAxTswXmzFnUvc2RmimrVmfaJ49MXOCnIFzKiGI4T9qqLIbB6aydSlo9R3hqtsBcqWxnFi1z9CuyjnPVIrREyBXKTM7MMZrKkwgpV5DYUgRPHRvHVyO3/tqeBG+/bRX/7VXr7CptoT6xqstXtTZ6qsI7zCDy8fEMSuEKXjtrGapnaFe7i6otio6429XpVCydNYZQ5Ysl+7V9Epi+IhHFcJ60x0yLITNHKlcgnS/aT2z2H601YN78t+JKMp74R8w/Nqu4zcJZxDaaztEc8qabAjx9bJKepoinAlkpxYd+4Xr+6LUbF+4NC4vCL960jIBP8XZzlKgTq9jxyaMT9Fb9np0uocFklqDfZ1ux4QY/8XCghmIw/39WDZqyFIsVgxivylgaSRo/t8eMNOxaTSCFyxtRDOdJItxAwKeYyOTtYrNej8Vg/EFZrSm6HK4kwHYXVVsMzvWxTJ6mKsXgtBCqB94IlxY3rGjm+Q++tmYiwDqzh9Nzp6Y98YcORwGcNSfCWVzX4chaGkoahY5W1pFzDSqKo6fJUAyTs3OuliyWK+vWNa0UStpTPAdweCTNyQlptXG5spQT3L6klBpVSu05y3qTUuo/lFK7lVJ7lVLvXCrZzgefT9EaDTKRmbMVg7Vht0WDBHzKthRGU+7WFFZw2Gp0ly+WXRaDNdbyzJQxSa2lSjGEG/z20+FNK7xFVcKlhXNQkpP1jowyZ/NCgEQ4QChg9GE6MzXrcSc6XULGyNBKskG1u2gwmSWgjP+3HfEQWuNJdQW4xWyVXp21lCuUeNOnn+AXP/OkZC1dpiylxfAV4L5zrL8H2Ke1vgHoAz7umAFdF7TFQkzM5O3iNsv37/MpV7+aYdMUt1xMli94YDrrsCYqiqEp0kBj0M/hkQzjmTk6Gr3ZQ+/uW0tHPMQvb1q+SO9OuNjEww2sMQPSd6xrc61ZU95G03ljnGlb7VRXMEeGOhRHRzxEyuzcCkbiRGvEnEUd82YtWRaFNSBpqGoI0M6TU3Y1tTXvW7i8WDLFoLXeBnjnEzoOAeLKeMyJmccWl0K286U9FmTMtBiCfh/t0Yo7qNPRr2YkbfTNtxq0WbOZB6ez9h+Zs92BUoplzRGePm5kgHRGvL+W373rKrb/yatZ1SaupMuZf/i1G3n/fRvp2+DtW7WytZF9gynGM3OeEbPOOgdnKjVUspYqnVuzdjvwWnUOg+bcB8uSHa9qN++s4t8zkES4/KinBimfBr4PDAJx4Ne01jXtVKXU/cD9AF1dXfT391/QDTOZzLzOVdk8x0aLhAppWkKabdsetdf8czmOTZXp7+9n77EcUZ92XTvuL/HC0QEaMkaf/+P7dpE5UVEA4XKOw2b/mii5C35Pi818P7Ol4nKS61pg27Yzntcjc3kOjxrPSjPDJ+jvrxyTHpsjWyjx0E/6GUvnmZsese87PGac8/CjT7G+xc+xkVnWJYz/q+NZ40/ssR27UcNGTGLP0Rxxv+a5nz2BX8HOvYdZWzxp3+vJw3MowK/gyecPsaZQWXupXE6/x6VgseSqJ8XwOmAX8CpgLfATpdRjWmtPvpzW+gHgAYDNmzfrvr6+C7phf38/8zn3gDrKth8eYGguyNXLY/T13WKvPZLcw+HnBujr6+Nvdz/GhmVh+vputtc3nnyGM1NZmrt7YM8h3vzaPlfWyY+nXuCF8VP4FKzrjM5LrqVkvp/ZUnElyDUQOclPTxkhul/7uTtcsyAmE2f4t4O7ia66Ds0z3HHjNfSZw6E6BpN8YufjLF93LXdd103yxz+kKxakr6+PXKHEex99mNbe1fT1rQfgI89tY8PyRu69dzNdT28h0tJOX19l0t5DY7vpiI/R0hhENzbS17d5Qd4fXBm/x4VkseSqp6ykdwLf1gZHgOPA1RdZJhfWlLLTk1nXMHowYgapXJHsXMnV+dKitzlixhiytMeCnpRTaybytb0JQn6pUBa83L3e6M3U2xRmRWt18Nn4/7bTLIJc5XA1OQvgrFnSlivJauldHWNY5qiBqG7AN2i2DF/RGvF0FQajncavfu5Jdpw4l+dYqGfqSTGcAl4NoJTqAjYCxy6qRFU4B9lcUzVW0gomn5w0GqT1NLn/cHubI6RzRfYMpGq2vn799T2873Ub+cRbblwEyYXLgRWtjXz1d27lq797q6eq2ooHPGbOjXZaE23RSudWK7DcFnHMiXB0B06bNTpWjKKjRgHc0HSO3uaw/bBTzb9sP8UzJ6b45JbDL/UtCxeJpUxX/TrwFLBRKXVGKfU7Sql3KaXeZR7yIeAOpdQLwBbgA1rr8bNd72KwsrXRbl3dt9HdWdOqWdh1ysjSqB4ib2WJvDCQrNnoLhjw8Z5713k6cgqCkzvXt9ds4LeitZFgwMfu09MEA+7Jcs7OrVYfptawu3jOOQcC3FXTzgI4rbXd0rszHrLnVDvZO2h4f3efnvYMCBIuDc47xqCU+qMaLyeBnVrrXS92vtb6bS+yPgi89nzluRgopfjG/bcxNVugudGdSWsVJD151MgsqrYYzqfRnSBcKH6fYm1HjP1DKa7pSXgny8XDjGUqfZYsVxIYm/+zpwwXVHWfpvZYiIlMnlJZ4/cpu7Nrb3OEaMjIuhvP5F1WsNXsMZUrMpzKef4WhPpnPhbDZuBdwDLz636MeoPPK6Xev/Ci1SfNjUE719zJ8pZGgn4fD+81so7Wd7k3f6clYOWHC8JCYsWp7ljb5lnrNNNZT03O0tzYQGODcq2Npa1UV28fprJ29wgDQ3FYHYed6azWrAhrOJRzZK1w6TCfrKQ24BVa6wyAUurPgX8H7gZ2Ah9dePEuHfw+xaq2Rg6PZmiNBu0/Got4uIH3vW4jB4bTohiEReH/u3ctsVCA37vrKs9aZyLMs6emaJsMmtZtpUSoMx4mVyiTzhstvf1mwaaxVqlz6IyHPQ36rDWLVM4YJnXLmlaOjc9wZmqWm1e3euTRWksb+DpmPhbDSsBZ6VIAVmmts0C+9ilXFq8wW15XtzOweM+96/jHt91Uc7ymILxUOuNh3vu6jTQ1NnjW1nZEmZotsPv0dM3iODD7MCWzdMVDBPw+19pYVQzC6rMEuGIQluKwlEGtIUB/9dA+7v7YVlK5woW/WWFRmY/F8C/A00qp75k/vxH4ulIqCuxbcMkuQd5++yq2n5jkt2VSmlBnWAkPqVzRjHFVyoMsq8DKWnKPFK2a9TCdJRgwOrsWza6r7s6thiJY0xGlpbHB04CvUCrz+ceOA/DjvSP8irR4qUvO22LQWn8I+D1gGiPo/C6t9V9qrWe01r+xWAJeSly/rImt7+3j3o3edgaCcDG51mHF3rC8ybXmHgKUo6eqz5K1Bka7jJ4mo7NrMOCjubHBpRgGHNPnaqW6OocC7T4tfZbqlfNWDGYPo2uAJq31PwCjSqlbXuQ0QRDqgM54mFdd3cnqtkbuXN/uWrNaeg8ljelxKx3Fc7VmPThHjnpmPUxnCfgUHfEQ7bGQp8+Sc5Lh0bHMwr1BYUGZjyvpM0AZo2XFXwJp4FvAzec6SRCE+uDz79hMWWsa/O7nwUTYGP+548QkpbJmVWvVyFHnrIfpLLc5sp6qK6MHp7N0JcL4TeXw3Cm3VWB1Jr6uNyEZS3XMfILPt2qt3wPkALTWU0BdtcUWBOHs+H3KoxTAqM9Z1xljy4FRgJrB6bF0nmKpzHAq55oFUe0uGkxW1g2Loaqdhulqunl1K4PTWZkOV6fMRzEUlFJ+jPbYKKU6MCwIQRAucdZ1xLCKlKtrcKxZD6PpPGXtLt60rAmrwnlwutInrCMeYnauxEy+kho7OJ2lpbGB9V0ximVtD7eymCtp3vrAU3zx8eOL8TaF82Q+iuFTwHeATqXUXwGPA3+9KFIJgrCk3GBOBmxpbPDU4FizHuyRoI4q/o54iFyhTCZfpGRu9L0OiwHc6axDSaMSuqsq28li91iJp49N8qEH94k1cRE57xiD1vprSqmdGI3uFPALWuv9iyaZIAhLxhte3sO/7zzDO1+52rPWGQ+RLZTYP2SkuDrnUTuzlqKhEoWSptfRgA8MxWANmBqczrK8pbGyVqUYzqQrTojj4xnWdUrvsIvBvOYxaK0PAAcWSRZBEC4SbbEQ//Ff76y51m1u9E8fm0SpSidXcNc5hLJGwZrdgC9WKZyzGJzOcsuaVtothVIVg5jMVayEQyOiGC4WL6oYztI8z0Zr/YmFE0cQhHrDavr4yIFRehJhe2QtuC0Gn9niwtmZFSqupEy+SCpXpLc5QlvUyFupthgmc2XWdkQ5OjZTc9aDsDScj8VgqeyNGKmp3zd/fiOwbTGEEgShfriqw3ADZQslNnW4+3xVqqbzdgDaqnNojQbxqUocweq62tMUtusjqrOWJrKaTWsTjKbzks56EXlRxaC1/gsApdSPMZropc2fPwh8c1GlEwThotMYDNDbFGYwmeNGM0ht0RRpoMGvGEvnyRdLRIN+EhFjW/H7FG2OAjirpfcy16wHd2fWyZympynM8pbGmoohmS2wZf8Ib7qh1+7nJCw8L6WJ3hywekGlEQShLvndu66iubHB09tIKUVHzEhZHZgy+iw5u6Y6K6PtBnyOrCVnDcTUbIG5suGK6mkKe1JZAf7uRwf5o3/bzb/uOL3g71GoMB/F8M/AdqXUB82W2z8D/u/5nqyU+pJSalQptecs6+9TSu0yv/YopUpKKW+/XkEQlpzfvnMNu/7Xa1ldYxZJRyJsz3pY1eYujutMVCqjB6ez+BR0me6njqoCOGdL7/ZY0ONmAnjcHF366MGxhXljQk3m00Tvr4B3AlMYjfTeqbX+yDzu9RXgvnNc/2Na6xu11jcC/xN4VGst08QFoc5Z1drI8fEZTk3OsrKqnUZHLGRnJQ1O5+hKhF0tvV1V01VDgMYzc5QdtQy5QokTEzMA7B+udIcVFp75pqs+Czx7ITfSWm9TSq0+z8PfBnz9Qu4jCMLSsq4zxvd3DwJ4LAZrZnS5rD0tvTviIdJ5Y2Z0uMFfZTGEKJU109kCrWYG05HRDFob9zs2lqFQKtds8SG8dOalGJYCpVQjhmXx++c45n6M0aJ0dXXR399/QffKZDIXfO5iUq9yQf3KJnLNj4WUKz9WaXkxN3KU/v4T9s/J4QLFsuahn/ZzdDjLmoTPvu/EgFH38B8/eZSORh8/OzhHQGleeOZJRodLAPzwkcdZFjc2/2eGjfusDuc4ouG7P+qno3FpFMOV8Ht0obVesi+MYPWeFznm14D/ON9rbtq0SV8oW7duveBzF5N6lUvr+pVN5JofCynX1Exer/rAg3rt/3xIZ+eKrrUHdw/qVR94UO8fSur1f/oD/dcP7bPXHtk/old94EG948Sk1lrr93xtp77lLx7SWmv9xJExveoDD+onDo/Zx3/p8WN61Qce1N/fNaBXfeBB/eSR8QV7Dy/G5fh7BHbos+yrF2wxKKV6gEmt9UKP9Xwr4kYShEuG5sYg//Tbt9Dc2EC4we9as4rc9g6kmCuWXVXTtcaGtoaNjCaratpZGT2czBEM+Lh+mTFoyDnbweJrPztJoVjmt14pUxRfCi/FlfTPwFql1Le01u9dCGGUUk3APcB/XojrCYKwNNy9oaPm613mdLinj00AsLKtEpzurGqLMTid5aqo4RqqNOCrZMgPp3J0J8L2edVZS8nZAn/6HSPp8b7re+xWHsL8mc8Et03On7XWrwGuAr58nud/HXgK2KiUOqOU+h2l1LuUUu9yHPaLwI+11jPnK5cgCPXLsuYIQb+P/kNGeqmzAV9rNIhS2LMeRlI52iKGxdDcWCmcsxhKGoohGgoQafB7xoY+e3rK/n7nySmEC2c+kZvfVEr9u1LqNsdrH9da7z2fk7XWb9Na92itG7TWy7XWX9Raf05r/TnHMV/RWr91HjIJglDHBPw+Vrc3MpbO0+BXriE/Ab+PtmiQsXSeEXPWg+VKUkp5Bv2MpHJ0mVZAe9xb53B4JG1/f0DSWV8S81EMo8Bm4NtKqYNKqeNA9+KIJQjC5cLG7oT5b5xgwL3lWNXPVrygLeyomnbUOWitzVkOYfu86nnSh0cydMRDLG+JcHpSGvC9FOajGP4zsFFr3Qvci9FAb/uiSCUIwmXDz19vPD/+wo3LPGvWzGhLMbRGKluSs53G9GyBuWKZroShGNqi3rGhZ6ayrGiJsKw5YvdlEi6M+SiG08AaAK31oNb6N4H/sihSCYJw2fD6l/Xw5P94Fb9zpzdTqDMeZtzRSdVjMWTcfZa6E9YQIK8raSRlTIdb1hJhQDqzviTmoxj+APiWUuqflVJ/qJT6OCBBYkEQXpTq5noWnQmjAd+xsRnaYyHCAbdimMjk7ZGhUBka1B4LMTkzZ4//1FoznDJabvQ2RRhO5TyjQXOFEn//k0OcnJBt68WYT6+kfcArgG8AUWAYePMiySUIwhXAmvYohZLmyaPjNdtplDVMzswxXEMxWGsAqVyR2bkSPU1h+7ypWXcM4lvPnuGTWw7zoQf3LcE7u7SZb6+kPPCQ+SUIgvCSsKbDDSVz3LG2HWdnf7vILZ1nOJlDqUrtg3M6XEc8ZFsUXU1hfKbRMZ7J2/UQAE8dNWopdp6cQmtd04IRDKQDlSAIF411nTH7+5ctS7jWnJv/cDJHeyxkN82rVTUNxnQ4uzgu7bYYDpnprFOzBUZSC92w4fJCFIMgCBeNpkgDt6xuJeBTvPqaLteac/O3qp7ttZhbMYw4gtOVqunK5l8olTk+PsN1vYbyOSXprOek7rqrCoJwZfHld97MaDrPitZGjjpeb3f0SxpJ5VjeUolBtFe107BiEJ2JELm5MoCnOK5Q0tyxto29g6mafZaECmIxCIJwUYmGAqypMRkuGgoQDfoZSeWMdhhNlXhBNOgn0uBn3OFKaosGCQWMmdNBv8/VgM+KQWxa1QIgdQ4vgigGQRDqlhWtjew6PU0yW2C1owGfUspV5zBipqpaa22xoCvGYMUgVrVFaY0GayqGUlnbWU5XOqIYBEGoW9Z2xHju1LTxvSNQDe6WGcOOdhmAp8/SsCM43REL2ZaGkz/77gvc8TdbODMl8QdRDIIg1C1rOypWwrqOKsXgaJkx7GiwB9AeC3piDKGAj6ZIA22xIBNVlkGprPn69tPkCmUe3jO8GG/lkkIUgyAIdcsta9oACDf4XEN+oNJhNV8sMTkz585airstBqsBX62ureDOUto7KJ1ZJStJEIS65fa1bfz+vevYtLrFU5DWEQszNVuw+yJ1e1xJc5TLGp9PuWIQ7TVcSQeHjRqHpkgDR8cyi/mWLgnEYhAEoW7x+xTvfd1G7t3Y6Vmz6hz2mE/41RZDqayZzhYAXC2722JBZuZKZOdK9vHHx43+SXdv6JBUVkQxCIJwiWK1x3jWnNbW2+xWDGAUwJXLmtFU3o5BdNQogBtJ5YiHAmzsijGemSNXqCiNK5ElUwxKqS8ppUaVUnvOcUyfUmqXUmqvUurRpZJNEIRLj9Vm7cNP94/g9ylWOMaGtjsqoydn55grlelJVKa/AVUxiCzdTWF6zQlzV3qdw1JaDF8B7jvbolKqGfgM8Cat9XXAry6RXIIgXIKsbG3E71OcmcqysrWRUMBvr1X3WQJ3Z1aACccEuOFUnu6msO2OGq3RS2n78ckrZjLckikGrfU2YPIch/w68G2t9Snz+NElEUwQhEuSYMBnV0yvr1HjAIbFYHdeTbgVw5irziFLVyJst9qozloaz5Z5y/95it/+yjOL8E7qj3rKStoANCil+oE48Emt9T/VOlApdT9wP0BXVxf9/f0XdMNMJnPB5y4m9SoX1K9sItf8uFzkWhvJcwToVVOu87TWBHzw7P4jnD5hZDOd2PccyWM+CuYAn2deOEDP7DFKZgwiPz3Cgd3Gs+vTu/YSnzpkX2/HmVlAcXg0w3cefoSWcH2EZxfr91hPiiEAbAJeDUSAp5RST2utD1UfqLV+AHgAYPPmzbqvr++Cbtjf38+FnruY1KtcUL+yiVzz43KR69Y7Smw/Mcmd69rx+9zprF0/e4RIcytNLRF8+4/wxp/rI2C27U5s+xHx9l76+q5nOJlD/3gLt75sI2+4ZSX/fesPaOleSV/fRvta/7zvR0ARgOY119NXI0vqYrBYv8f6UHsGZ4CHtdYzWutxYBtww0WWSRCEOiYS9HPPhg6PUoDKzOihZI7OeNhWCs41MALPYLTL8PkUrdEQEzNuV9JApsxKM7h9cvzyHw1aT4rhe8BdSqmAUqoRuBXYf5FlEgThEqUzHmI4mbMzjpwYRW5G8NkbgwgyVjXkZ2xW84qVzYQCPgbNYPblzJK5kpRSXwf6gHal1Bngz4EGAK3157TW+5VSDwPPA2XgC1rrs6a2CoIgnIs17VH6D40xnS1w1/p211pHPGS3vnBOfwNDaTgthnJZM53X9DRHgQSRDwAAFDVJREFUWNYcsSutL2eWTDFord92Hsd8DPjYEogjCMJlzpr2KHPFMmPpvD1b2sLZFmM4lSPo99EaDZprQU6eqriLxmfylLShOHqbI5y5Amoc6smVJAiCsGCs76oogw1dcddaRzxEOl8kVygxnMzR1RSyezG1OdxMACNJQ4F0JcJ0Jmq37C6VNXsGkmitF+OtLDmiGARBuCx5+fJmIg1G0dttV7W61pwzo4eT7nnS7bEQ2UKJmbyRheQMTludWasVwJefOM4b/vFxvrdrcNHez1IiikEQhMuSBr+P7/3+K/nue15JPNzgWrPaYljzpLsS3j5L447pcGA06WuLBskXy8zMuXsp/dCc4fCDF4YW580sMaIYBEG4bNnQFefGFc2e1529lIY809/cvZSGkjn8ynAxVdppVNxJWmsOmW279w9fHrMcRDEIgnDFYVkFR0Yz5Itll8VQURpGnGE4laMppPD7jFnS4G6ZMZjMkc4XaY+FOD2ZJV+89DuzimIQBOGKozMeJhjw8ejBMQBWtVVGiNp9lhyupJaQEZhut1t2V4LTJyeMDCYrJXb4MqhzEMUgCMIVh9+nWN3WyPYTRm8k52zp1mgQpbCzj4aSOVrCbsXg6sxqKoJNq1qAy6NltygGQRCuSK5qN9JZG/zuWQ4Nfh8tjUE7+2jYoRisWgdnjGHYDE6/YqWpGC6DAjhRDIIgXJFsXm1s5Nf2JGjwu7dCoy1GnnS+yOxciVazm2ow4KMp0uCKMQwncyTCAa4yrY7RGnUOlxr11F1VEARhyfiFm5ax48QUb799lWfNqlcYMd1EVowBjJnR41WupO6mMOEGP9Ggn8mZOc/1vvDYMYaSOf7/N1y7CO9k4RHFIAjCFUl7LMTn3r7prGu7Tk/bfZQsV5K1NlY1L7q7yRgJ2hYLudxMAKlcgQ8/ZPQDfevNK1hfVYVdj4grSRAEoYqOuGExWPEDp2LoMK0Ji6Fkzp4n3RYLMlFlMewdqNQ2PHtqajHFXjBEMQiCIFTRGQ8xO1eyC9eaQ06LwYg/ABRKZcYyebrMArm2aMjlZgI4NJK2vz8wnOZSQBSDIAhCFavNWdKPHBhlWXOEoN/tSkrnjAZ8Y+k8WmP3WmqPBT2upMOjaeLhABu6YpdMxpIoBkEQhCquMhXDsfEZ1nZWtew2C+AmZuZsV5PVUqM1GmRyZs7VZG9oOsfylkZ6myMMJkUxCIIgXJKsbKvUNayvVgxW9bPZmRUq09/aYiGKZU0qW7SPH07l6E6EDMUwfWlURS+ZYlBKfUkpNaqUqjmVTSnVp5RKKqV2mV//a6lkEwRBcBIK+O3me3dWTX9zNtkb9kx/M9dm3HUO3U0RepvCTM7MkSvUfy+lpbQYvgLc9yLHPKa1vtH8+sslkEkQBKEmn3rrTXzsV17OPes7XK9X+iUZWUvBgI/mRqOtd1vU3TIjXywxMTNHT1PY0867nlkyxaC13gZMLtX9BEEQXgor2xr51c0r8PmU6/XKBj9nD/mpTH9zd18dTRn/GrMcjPOqC+BG0zn+06ce43u7BhbvzcyTeitwu10ptRsYBN6rtd5b6yCl1P3A/QBdXV309/df0M0ymcwFn7uY1KtcUL+yiVzzQ+SaH9VyRQKw68BRTqXKRMBeS+aNoPNTz+2hceIgBycNt9HoyYOkA4by2PrUDiY7KlvvD47PsXewwEe+v5um6cMvSa6Fop4Uw7PAKq11Rin188B3gfW1DtRaPwA8ALB582bd19d3QTfs7+/nQs9dTOpVLqhf2USu+SFyzY9quXp29uOPxZlNJ7lpRQt9fTcBxuznP+z/AS3dK+nr20hq9yBsf47X3XUroYCfDz29ld41G+nbvMK+1jcHnwWGGMvBba+8i7A5jvRC5Foo6iYrSWud0lpnzO9/ADQopdpf5DRBEIQlZ3VblEOjaQamsnbNAxjtvFujQcbMGMOwmZ7a1RS23UzVrqSDZtFbqaw5NjazFOK/KHWjGJRS3cp01CmlbsGQbeLiSiUIguBlTXuUY2MzlLV7lgNUGvCB0S6jMegnHgrQGPQTbvC5WmaUypoT4zP2kJ96meWwZK4kpdTXgT6gXSl1BvhzoAFAa/054FeAdyulikAWeKt2VokIgiDUCVc5lMG6qjqHjnjIbplhNNhzBKej7j5L45k8xbJm06oWHjs8zuCVphi01m97kfVPA59eInEEQRAumNuvarO/v7o74Vprj4U4Pm64hKysJYu2WNDlSrK6t17X20Qw4Kubyuh6Cj4LgiBcElzVEeOjv/JyVrQ04q9KZ7Wa7GmtGUnluXVNq73WFvXOcgCjQK6nKcxQnVRGi2IQBEG4AN7iyCxy0h4LkS+WSeWKtivJojUasoPNUAlOdzeFaY+FmJipj+K3ugk+C4IgXA5YBXAHh9MUy9qlGNpjQcYdTfaGUjmCfh+tjUFao0G7YtrJ82em+duHD1AolZfmDSCKQRAEYUGxWmY8f2YaqDTYs9bmimXSeaPJ3kgyR2cihM+naIt6h/wAvP/fn+ez/Uf5yb6RJZDeQBSDIAjCArK8xRjz+eRRI9t+WXPEXmuPmy0z0pV0VqsBnxWYLpcryZj5Yske7vP0saXL3hfFIAiCsICsaDUC0o8cGAVgbUclnbXSgM+wDEZSOduiaI2GKJU1qVzBPt5Z8HZwCae/iWIQBEFYQBr8PlaYVsOy5giRYKXFhbMzq9baZTFU2nlX3EmHRzMAXL8swenJ2SWRH0QxCIIgLDgvW27Mcnj58ibX607FkMwWyBfLDovB2zLDKni7eXUrI+k8pfLS1PyKYhAEQVhg3rJ5Oe2xEL92szultTUaxKfM6W/mWFAra6kyy8E95CceDrCuM0aprBlNL02dg9QxCIIgLDB3re/gmT99td0Kw8LZZG+oavqb1WRvwlUZnaU7EabXDGAPTmfpaYqw2IjFIAiCsAhUKwULq8neSNW86JZGUzE4K6NTebqbwnSatRFWD6bFRhSDIAjCEmI12bNcSZ1xQzEEAz4S4YCr+nnYtBhsN1ONOofFQBSDIAjCEtIRMxVDMkd7LEQwUNmG2+Mh22IolsqMpfP0NIVpiRozpSdrVEYvBqIYBEEQlpAVrY0MJrMcHs3YxXAW7bEQY2bweSyTp6yNIT+hwP9r7+5jrKjOOI5/fyzsKizIy+pKUUHRVCuNFFCstQTUWKSNirWtxqQ2mhBbbdWmiVZT9Y++oWn/sNEaWw22UTHWlxqK1dZibZpqBIqK8Q0tKhVBEcS1ioBP/5i5cO/lzu7ddWfuhf19kpudnXPuzrNnZufZOXPnnGROB18xmJntgQ7uGEYELHt1465zOVRN8gOVN6edGMzM9kDlU4FWJ4aO9tYdw2VU35wePayVdwoafbWwxCDpVknrJa3sod7RkrZLOrOo2MzMinLE2OE7lqccNKqirKO9jc0fbmPLtu1lVwxJd9PoYW01R1/NQ5FXDAuA2d1VkNQCzAceKiIgM7OitQ1u4Yo5h3PGlHFMHV+ZGMa0lx5y+4h1mz+kdfAgRg1Nbjxnjb6ahyKn9nxM0oQeqn0XuAc4OveAzMwaZN6MiTXX7xwvKfk4a+eItp3zRbe3sjGdyyHrGYn+otKEEUVIE8OiiJhUo2wccAdwAnBLWu8PGT9nHjAPoLOzc+rChQv7FE9XVxft7e09VyxYs8YFzRub4+odx9U7RcW1atN2fvz4h1w6tY3Fr2wlgCumJ11JD63eyp3Pf8QNJw5l2BB94rhmzZq1LCKm1SyMiMJewARgZUbZ3cCx6fIC4Mx6fubUqVOjr5YsWdLn9+apWeOKaN7YHFfvOK7eKSqu1za8H+MvWxR3PflazLj2b3HRHct3lN27/PUYf9miWLX+vX6JC1gaGefVZvpU0jRgoaTVwJnAjZJOb2xIZmbFKY2+WnoAbv8RbTvKdg6yl/99hqYZRC8iDi4tS1pA0pV0f+MiMjMr1t6tLXS0t7H81Y1s2fbxjsHzYGfSKB99NS+FJQZJdwIzgQ5Ja4CrgSEAEXFTUXGYmTWzCWOG8kg6+1v5cw47pgXdkxJDRJzdi7rfyjEUM7OmNX7MMJa+uhGonBZ09NBWJHirgK6kZrrHYGY24JVmfRukncNhAAxuGcSooa2FdCU5MZiZNZGTj+xkv+FtfO/Ew3Z5XqGjvXXP6koyM7Oejd1nb564YtfZ36A0yU/SlTT9p3/luP0+ZubM/o/BVwxmZk0m68nmMe1tbOjaQteWbazbvIUhOZ3BnRjMzHYTSVfSR6zd9AEAo/fK5xTuxGBmtpvoaG+ja8s2Xnn7fQBG753PmElODGZmu4nS3Az/fm0TAKPanBjMzAa08WOGAvDoC+tpbRnE6L2cGMzMBrRSYnj+zfeY0DGUlkFODGZmA9q+7W0Mb0ueMqieFrQ/OTGYme0mJDH5oJEATD94TG7bcWIwM9uNXDHnCM6ZfhBnTBmX2zb85LOZ2W7kiLEj+Mncz+a6DV8xmJlZBScGMzOr4MRgZmYVnBjMzKxCYYlB0q2S1ktamVF+mqSnJa2QtFTS8UXFZmZmOxV5xbAAmN1N+SPAURExGTgP+G0RQZmZWaXCEkNEPAa80015V0RE+u0wILLqmplZfrTzXFzAxqQJwKKImJRRPhf4GbAf8OWI+FdGvXnAPIDOzs6pCxcu7FM8XV1dtLfn91h5XzVrXNC8sTmu3nFcvbMnxjVr1qxlETGtVllTJYayejOAqyLipDp+5lvAq30MqQN4u4/vzVOzxgXNG5vj6h3H1Tt7YlzjI2LfWgVN+eRzRDwmaaKkjojo9pfO+sXqIWlpVsZspGaNC5o3NsfVO46rdwZaXE3zcVVJhyqd6FTSFKAV2NDYqMzMBp7Crhgk3QnMBDokrQGuBoYARMRNwFeBb0raCnwAfCOK7OcyMzOgwMQQEWf3UD4fmF9QOCU3F7y9ejVrXNC8sTmu3nFcvTOg4ir05rOZmTW/prnHYGZmzcGJwczMKgyIxCBptqQXJK2SdHmNckm6Pi1/Ov1UVN4xHShpiaTnJD0r6eIadWZKejcdP2qFpKvyjivd7mpJz5TGrapR3oj2+nRZO6yQtFnSJVV1CmuvWmN/SRot6S+SXkq/jsp4b7fHYw5xXSfp+XRf3SdpZMZ7u93vOcR1jaT/lu2vORnvLbq97iqLabWkFRnvzaW9ss4NhR5fEbFHv4AW4GXgEJKPwD4FfKaqzhzgQUDAscATBcQ1FpiSLg8HXqwR10ySBwKLbrPVQEc35YW3V419+ibJAzoNaS9gBjAFWFm27lrg8nT5cmB+X47HHOI6GRicLs+vFVc9+z2HuK4BflDHvi60varKf0HysG1h7ZV1bijy+BoIVwzHAKsi4pWI+AhYCJxWVec04HeReBwYKWlsnkFFxNqIWJ4uvwc8B+Q3iWv/Kry9qpwIvBwRfX3i/ROL2mN/nQbcli7fBpxe4631HI/9GldEPBwR29JvHwcO6K/tfZK46lR4e5Wkz1V9Hbizv7ZXZ0xZ54bCjq+BkBjGAa+Xfb+GXU/A9dTJjZKhQj4HPFGj+POSnpL0oKQjCwopgIclLVMyLlW1hrYXcBbZf6yNaK+SzohYC8kfN8mYX9Ua3XbnkVzt1dLTfs/DRWkX160ZXSONbK8vAusi4qWM8tzbq+rcUNjxNRASg2qsq/6Mbj11ciGpHbgHuCQiNlcVLyfpLjkK+BVwfxExAV+IiCnAKcCFSsauKtfI9moFTgXurlHcqPbqjUa23ZXANuD2jCo97ff+9mtgIjAZWEvSbVOtYe0FnE33Vwu5tlcP54bMt9VY1+v2GgiJYQ1wYNn3BwBv9KFOv5M0hGTH3x4R91aXR8TmiOhKlxcDQyR15B1XRLyRfl0P3EdyeVquIe2VOgVYHhHrqgsa1V5l1pW61NKv62vUadSxdi7wFeCcSDujq9Wx3/tVRKyLiO0R8THwm4ztNaq9BgNnAHdl1cmzvTLODYUdXwMhMTwJHCbp4PS/zbOAB6rqPEAyHIckHQu8W7pky0vaf3kL8FxE/DKjzv5pPSQdQ7K/ch0/StIwScNLyyQ3Lqtn3Su8vcpk/hfXiPaq8gBwbrp8LvDHGnXqOR77laTZwGXAqRHxv4w69ez3/o6r/L7U3IztFd5eqZOA5yNiTa3CPNurm3NDccdXf99Rb8YXyadoXiS5W39luu4C4IJ0WcANafkzwLQCYjqe5BLvaWBF+ppTFddFwLMknyx4HDiugLgOSbf3VLrtpmivdLtDSU70+5Sta0h7kSSntcBWkv/SzgfGkMxE+FL6dXRa91PA4u6Ox5zjWkXS71w6zm6qjitrv+cc1+/T4+dpkpPX2GZor3T9gtJxVVa3kPbq5txQ2PHlITHMzKzCQOhKMjOzXnBiMDOzCk4MZmZWwYnBzMwqODGYmVkFJwazOkgaKek7jY7DrAhODGb1GQk4MdiA4MRgVp+fAxPTsfevy6okqUXSAkkr07H6L03XT5T053TAtX9IOjxd36lkjoSn0tdxBf0+ZpkGNzoAs93E5cCkiJjcQ73JwLiImARJF1S6/maSJ2lfkjQduBE4Abge+HtEzJXUArTnE75Z/fzks1kd0uGPF5VO+N3UGwUsBRYDfwIeJhnK4y3ghbKqbRFxhKS3gAMiYksecZv1ha8YzPpRRGyUdBTwJeBCkoleLgE21XG1YdYUfI/BrD7vkUyzWJOkRySNS4f5HhQR9wA/IpmicTPwH0lfS+sqTR6QDIb27XR9i6QRuf4WZnVwYjCrQ0RsAP6Z3lSuuPksaRBwKMkUkeOAR5VMIL8A+GFa7RzgfEml0ThL0y1eDMyS9AywDCh61jmzXfgeg9knJGkScF5EfL/RsZj1BycGMzOr4K4kMzOr4MRgZmYVnBjMzKyCE4OZmVVwYjAzswpODGZmVuH/iZ7oFRyZOVYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "res = f16.simulate(x0, f_control, p, 0, 20, 0.01)\n", + "plt.plot(res['t'], np.rad2deg(res['x'][:, f16.State().name_to_index('alpha')]))\n", + "plt.xlabel('t ,sec')\n", + "plt.ylabel(r'$\\alpha$, deg')\n", + "plt.grid()\n", + "plt.title('angle of attack')" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'trajectory')" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "res = f16.simulate(x0, f_control, p, 0, 20, 0.01)\n", + "\n", + "plt.plot(res['x'][:, f16.State().name_to_index('p_E')], res['x'][:, f16.State().name_to_index('p_N')])\n", + "plt.axis('equal');\n", + "plt.xlabel('East, ft')\n", + "plt.ylabel('North, ft')\n", + "plt.grid()\n", + "plt.title('trajectory')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def f_control(t, x):\n", + " print(x)\n", + " return f16.Control(\n", + " thtl=u0.thtl,\n", + " ail_cmd_deg=u0.ail_cmd_deg,\n", + " elv_cmd_deg=u0.elv_cmd_deg + 1*np.sin(2*np.pi*2*t),\n", + " rdr_cmd_deg=u0.rdr_cmd_deg)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def select(n, i):\n", + " D = np.zeros((1, n))\n", + " D[0, i] = 1\n", + " return control.ss([], [], [], D)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "A = [[-1.01891025e+00 9.05061276e-01 -2.14991949e-03 0.00000000e+00]\n", + " [ 8.22098092e-01 -1.07720402e+00 -1.75517913e-01 0.00000000e+00]\n", + " [ 0.00000000e+00 0.00000000e+00 -2.02020000e+01 2.31497868e+03]\n", + " [ 1.00000000e+00 0.00000000e+00 0.00000000e+00 -1.00000000e+01]]\n", + "\n", + "B = [[ 0. ]\n", + " [ 0. ]\n", + " [-1157.48933772]\n", + " [ 0. ]]\n", + "\n", + "C = [[1. 0. 0. 0.]\n", + " [0. 1. 0. 0.]]\n", + "\n", + "D = [[0.]\n", + " [0.]]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ss = f16.linearize(x0, u0, p)\n", + "s = control.tf([1, 0], [0, 1])\n", + "G = -(180/np.pi)*ss.sub_system(x=['alpha', 'Q', 'elv_deg'],\n", + " u=['elv_cmd_deg'], y=['alpha', 'Q']).to_control()\n", + "sys3 = control.feedback(G, 0.2*10/(s+10)*select(2, 0))\n", + "sys3" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3 states have been removed from the model\n" + ] + }, + { + "data": { + "text/plain": [ + "[-21, 0, -8, 8]" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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9OrVi549e/Lwww/X+HxKSgo///nP6devH8OHD+fAgQPntDlx4kSmTJnC1VdfTefOnfnwww8BKCoqYtKkSfTq1Yu+ffuSnZ19zrz+/rZIsgJhjHHN+vXreeKJJ1i4cCFr1qzh+eefP2eau+66i8cee4ycnBx69erFo48+CsCTTz7JqlWryMnJYdq0aQA88cQTXHPNNSxbtozs7GweeughTpw4wYsvvkjDhg3JycnhkUceYcWKFdXm2rNnDw8//DALFy5k9erVLFu2jA8++MDv8+CswPv168fKlSsZOnTo6ZxV5ebmsnjxYj766COmTJlCUVERU71Xoa9du5YZM2YwYcIEirx30q3g72+LJCsQxhjXLFy4kO9///s0b94cgKZNm541/tixYxw9epSrrroKgAkTJrBkyRIAMjIyuOOOO3jrrbdISHBOyFywYAFPPvkkffr0YdiwYRQVFbFz506WLFnC+PHjT8+XkZFRba5ly5YxbNgwWrRoQUJCAnfccQdLlizx+zxAXFwct99+OwDjx4/n888/99n2bbfdRlxcHJdddhkdO3Zk06ZNfP7556e3nrp27Uq7du3OuUmhv78tkuw0V2OMa1QVqe2ptF4fffQRS5YsYd68efz+979n/fr1qCpz5syhS5cu50xfm378fZFabb5gzV9/VZ8XkYDare5vixTbgoiWfevg+B63UxgTU4YPH867777LoUOHADh8+PBZ4ytu6/3ll18CZ27r7fF42LVrF1lZWTz11FMcPXqUwsJCrrvuOv785z+fXuGuWrUKgCFDhvD2228DsG7dOnJycqrNNWDAABYvXszBgwcpLy9nxowZDB061O/zAB6Ph/e838n9zjvvnN7qqWr27Nl4PB62bdvG9u3b6dKly1n5tmzZws6dO88pBP7+tkiyLYhoKDoGr14Hl14Lt013O40xMaNHjx488sgjDB06lPj4ePr27cvrr79+1jTTp0/nRz/6EQ899NDp23qXl5czfvx4jh07hqry4IMP0rhxY/7zP/+Tn/3sZ2RkZKCqtG/fng8//JAf//jHTJo0iYyMDPr06cMVV1xRba7WrVvzhz/8gaysLFSVG2+8kdGjRwP4fL6goIDk5GTWr19PZmYmaWlpzJo1y2fbXbp0YejQoeTn5zNt2jSSkpK49957mTJlCr169SIhIYHXX3+d+vXrnzWfv78t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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from analysis import rlocus\n", + "H = (10/(s+10))*select(2, 0)\n", + "plt.figure()\n", + "kalpha = 0.1\n", + "rlocus('alpha', control.minreal(H*G), kvect=np.linspace(0, 10, 1000), k=kalpha);\n", + "plt.plot([0, -2], [0, 2], '--')\n", + "plt.axis([-21, 0, -8, 8])" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "sys3 = control.feedback(G, kalpha*(10/(s+10))*select(2, 0))\n", + "rlocus('p', (s+3)/s*sys3[1, 0], kvect=np.linspace(0, 1, 1000), k=.6)\n", + "plt.plot([0, -10], [0, 10*np.cos(0.707)], '--')\n", + "#plt.axis([-20, 0, -5, 5])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$$\\frac{s + 3}{s}$$" + ], + "text/plain": [ + "\n", + "s + 3\n", + "-----\n", + " s" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "H_PI = 1 + 3*(1/s) + 0*s\n", + "H_PI" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/latex": [ + "$$\\frac{203.2 s^3 + 2850 s^2 + 8812 s + 6271}{s^5 + 32.3 s^4 + 265.7 s^3 + 436.6 s^2 + 258 s}$$" + ], + "text/plain": [ + "\n", + " 203.2 s^3 + 2850 s^2 + 8812 s + 6271\n", + "----------------------------------------------\n", + "s^5 + 32.3 s^4 + 265.7 s^3 + 436.6 s^2 + 258 s" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "Go = H_PI*sys3[1,0]\n", + "Go" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "Gc = control.feedback(Go,1)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "t,y=control.step_response(Gc, T=np.linspace(0, 10, 1000))\n", + "plt.plot(t,y)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "bode('test', (s+3)/s*sys3[1, 0], omega=np.logspace(-2, 4), margins=True, Hz=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "control.nyquist(Go);\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}