{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import sympy as sm\n", "import sympy.physics.mechanics as me\n", "me.init_vprinting()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "w, L = sm.symbols('omega, L')\n", "q1, q2, q3 = me.dynamicsymbols('q1:4')\n", "t = me.dynamicsymbols._t" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "A, B, E = sm.symbols('A, B, E', cls=me.ReferenceFrame)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "B.orient(A, 'Axis', (w*t, A.y))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "E.orient(B, 'Axis', (q3, B.z))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once the orientations are defined, the angular velocity between any two frames can be calclated." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHAAAAAgCAYAAADKbvy8AAAABHNCSVQICAgIfAhkiAAABQtJREFUaIHtmX+IVUUUxz/v7aZlim0/3GhZWqo/VAr6pUZRvCKK0n5JYP0Re4vQ3Kg/KimC3KA/dN2iwC0IsnalMDaCBS0wbc2grVasVDTDzFdktpmaYrpruq8/zrndebP37n33vre9Xu9+YZg7Z86cOTNn5pyZuSnKhyuAu/S7G9hRRl0SRMQkYDcwDOSA7cAZZdUoQSSsRAz3OPC0fr9aVo3+x7hYU6lwH2KwVoO2TGl3lLCfqkCqAJ6s5k1jp0bV4V+N/1k8IyYoHkn8r3BUXPx3ECXd1FROZcqMioz/DokBxwzpciuQoDhUiwEdZPdnyqtG6eFnwFokwG4BBoFfgQ5gAnCY4o+8KWCByj8O/Aa8BVxQpNyxxgJkEbwUwveD8tVr+WygDVgH7EHm8C/gANAHLKKEp9BxwFpVYBMSYN8EjgEfKv2diDId8mPgaqvspp+AhmIHEKJDJmb7euAPYB8wMYS3W/u6R8uX4j9eM20GzoyjWK1V7gBuQVbFiwa9C/hEv7+K05GBOcAalXMjcL3SG4HlwNwi5Y8FFgOTgeeAoyG8Wc2naj4M7AT6EW92CNko04B7ERtcCSwkf84jYwayGtYG1O/W+psiynXIX20rjLo0sMGoGwbOjyg/ig6ZGG3PRULJYQrbJa3a1zKL3gDcDbQATwJPAdvwxv5xDN3y0KWCrguo79f6Oi0/CmwFjmj6HJjt084h34A3WPUPWfW3xx2AIku4yzJTZ4i8FuVbadFnAu8C11r0NuV/Qct1QA/ey0tQ+q7QAZowXeitSGD9LIC3AQnCh7T8M/AMsAs5mDSrolchhg3CQEi5juLwCnCWRbsceXvsYuSz4Dch8jKab7Toc4B5QLtFv0TzXZqvwHv3HA3jC+AJxOnIKgiKb24gfj9EzkHktGbCIdoOnI1c9oNW6vMhOvjB1SETo+0W/D3Tl0o/z6ClkQWZAy5ETu4n8XTvRQxco/zdRl3WkLNKaV9YffYpfZXZIcApTecEDGKx5kEGrgHuR05ofQE8LpqN7zTwgFF2T2RDyAS5aY/BczxEfqkxWXPz8DIVcaEgurq4GZiC6Pwj4glqjPo1wPfIXE9BDnF+eE3zWcB0/W4ArtHvLr9G3yITaApNIcYLik+X6cBOIq7VL345jNxFq5GdtNGi9/i0r0cGnUPibJw7k6tDJkbbTdrWXWgpRP/NSp+h9AmIO87hucxaZF7c8R1EYuRSYC/5Y89a/W5VunsyfUzLe8lfFP/gQWU4hvjtduBrZPK2a519QhyHuISrgSXA74i7NeFYivYy0qA5JKY2Wm0nIbveDfJBHiIMrg6ZGG2f1bYHkEt8L3Jom4V4gx2IUXYq3+tW+0UEj/cjgg34iNIHkIXgLva20ZR9AnFXQ5q3I25gP/BLAYNdD7xh0RxL8YuQ1bQNOZ7vR06C9iV+PJ6x91HcI7irQyZG29OAl5EXoz+BT/FcWTPiKgeRHbMQ/5/k8xFDn1A5byPj7STYgBORq0tO25/S72lRB9CoDT8ogLdXlSsWaeA97fcI8ge7GtGBzMFRzfvjCLmT/HuNi6XIK0oTEguXIHed2+Lpmod5eCtzADmNuenhEsivFEwn33u1xBHSqo3tJ65OxH0MIW5hPXKXLAUcSnuNqGRsQMY9iDyMR0aPCmgqnU4JImA5Mv/d5VYkQTTMRzbPCSQ0zRydPcF/DZ14141qivsJEiRIkCBBQfgbKPitV5Iel00AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\dot{q}_{3}\\mathbf{\\hat{b}_z} + \\omega\\mathbf{\\hat{a}_y}$" ], "text/plain": [ "q₃̇ b_z + ω a_y" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.ang_vel_in(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For anglar velocities, the addition thereom is applied when `ang_vel_in()` is called." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHAAAAAgCAYAAADKbvy8AAAABHNCSVQICAgIfAhkiAAABP9JREFUaIHtmm2IVUUYx3/37qZlim1vGy1LS/VBpaA3NYpCI4rSXgmsD7GnCMuN+lBJEeQKfdB1iwK3IMjalcLYCBbSwLLtBdpqxWoVzSjzFpltpqaY7pq7tw/PczhzT3PuPffck+d6O38Y5pxnZp75n3lmnnlm7s2QIklcCtymz73AtgS5pCgTU4AdwDiQB7YCpyTKKEVZWI0Y7lHgSX1+KVFGNYoLNMWJuxGDtRuyFSq7pRxFmRhJ2VALPj6neUuCHBJBrfj4HJ4R/1dIffwJjNh8fI3AQb7dTS1JkklRPhz+IwNm41KUIhnUogEdZJbPSZbG8YHNgA8iA/B8ibY/ar1GfT8d6AA+AHYCB4C/gb3AALCYEyMKrUcCryFgBPgN6AImId8Ux1Eog4zzEHAE+B14HTi3UsWNwJ/AbmByibq9iAHv0PeLKPTztrQJOLVSkiXgEH0FTgDWa/uNSOD1GnAYeE/lb1bAyU3vYh+fn4GmchTX+96XAFOBZ4BDJdrmNJ+m+TiwHRhEZu1+ZECmA3dpX5cBi4DnyiF5HNEF3IB4C5NjD/CxPn8VQz/zgbWqay5wjcqbgZXAnVGUnom4jAOEWyXtyKxZ4ZM3AbcDbcDjwBPAFrxZ9mEUcmXAIdoKnKnt1geU79Dy6yrg5KZVRlkW+MgoGwfOidAHbapgtU8+C3gLuMon79D6z+p7A9CHd/MSlL6LQi4AuRJ9+VN3EV09WufqgPJBLW8wZA8Dm4GDmj4H5lnaOj4e1/rK7/eV31yEZwFMFzpH8098deYDC4BOn/xCzb/XfBXevWcxTAxLLgReBE7zyS5RHj38+wrsmyK6bkQCrs8CypuQ4Gy/IfsFeAoZgwzQikziyxHDBmG4xHsDETCEfQZ+qfKzDFlWO80D5yER2jG8GdSPGLhO6/caZTlDzxqVfeHrc0DlayJ8h0P5LvRkbRO0v7kB2jshdO1DIkwbp7ArcB5y2A/yJEvdhuYxYqrmZvAyDXGhAKOG/HrgbMS4PyGroM4oXwv8AIxpvbn2b+VlzWcDM/S5CbhSn3sC2sWNMU1nBJQv0bxYAFMH3INE7wMl+ms1nrPAvca7G62PIuPrpp1GnSM2pRu1sassg4S7m1Q+U+WTEFeUx3OZ9YhrcWfIPmSPXA7sonD25Hz9bla5G/U9ou+7KJwUYeEQLYj5VtuZky2DGK/Y3nQxMumPIWNgq+Ny8h8lliJblinvs7RvRBZEHtlnrefpp7XCXuQQ349szLMRi29DjLJd673ia7/YQjKP7BPvE2zAh1Q+jEwE94M6bCRDwCGaAe/TdoeR/bwT+BoZuK1aZosOJyDbxRXAMuAPxOXaOJlbTNBYNfvaTkFWvhsABnkJTgJeQG4F/gI+xXNlrYirHEFWzCLsPwYvRAx9VPW8gbjEboINOBk5uuS1/Zg+Tw8iWgIO0Q/yjyGualTzTmR72AP8GlLHBuDVAE5uOh/xNFuQMd2DjJH/ED8Rz9i7qeJfMboQkoc0H0yWTgGaEU7rQtbvRyZupcgCb2vfB5F/N1QtZlA4Q9uSpVOAWyk875pYjtyitCB74TLkHHxTDP0uwBuPYSRSd9MDMeiPHe5txAhyMV4taEd42a63upGtZRTZMjYg58k44BDiGFFNWImQ602aiA99CK+WhHlULRYig3QUcT+zildPUW3oxguhq9K3p0iRIkWKFCmqD/8ANY+tVzKCpEMAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\omega\\mathbf{\\hat{a}_y} + \\dot{q}_{3}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "ω a_y + q₃̇ b_z" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AwE = B.ang_vel_in(A) + E.ang_vel_in(B)\n", "AwE" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calling `ang_acc_in()` takes the time derivative of the angular velocity." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIcAAAAdCAYAAACAGn8vAAAABHNCSVQICAgIfAhkiAAABLJJREFUaIHtml+IFVUcxz/3ZlpbUmG5kkiX6sEgQTMzimqSIMpK7CHzIZwikKgk+kPZQ9ufh8ol8iEfrDa1PxBGtbVUCLKLQVmJ1SpZoeYWkZpZKam7UDs9/H7DPXvuzL0z07gz084XDmfO75zf+f3O957/91QoNmYBC/R7PbAjQ1/yhjHNzURgNzAMeMA3wMmZepQfjHluXkUavgx4WL9XZepRflAYbs7TkCZuRRrcYchWqOzGlG0VDalxU0nRqTAMaFwbBVtFwX3A6cBKI/2nkR4zGKDeQUoIBpCRXNPgUXJUokT6cJHR5Ydals7kDC7HiZtqWhWV+P+h7BwlQlF2jnhwkanbydaN0UFQ51iKEPBcC90ftFy7JR+HXL70A4PAPuAFoA04RDrXuBX1sx84BvwKrAHOTqHu44lCc9OOnLf3Aqe2KLse6RwLDdl4YIPKtyCXL68AR4EPVf5GAr9cRm66eqy0H34CpiaoP64fTgLdwnOzSiu6N0JZ/9ZtuSF7UWUPWmWvMpx8IIFfLo2N7QGeAD625O8kqD+uH04C3UJzcyYy1R0CTolQvkMNrtD0HE1vCCm/W/PnJfDNZWQju4y8KtBn5A0DUxLYiOOHE1OvkNyYe45bgAnAe8ARQ34J8CZwmaXbpvGQxvdo/GSIrYMaf2XI7ga2AYc1bAbmR/B7nfE9DLxmpCvARRHqaIUBGkfkGs3rC8hb26SuQnIzzvh2NN5klbkBWAR0WvLzNd6p8bVIIz8JsTUV2AP8Ych+Bh7ROirAEqAbmI0QE4b9LdJnNNGNipXI/x8mZiJvJNbReN39dZO6Cs9NPzICLrfkn6v8LENWVaMecA5wkn5/GVL3hZr/dgQ/fkd22yZcRo7SK638O6z8+cBNRvoaLTeP+huHhcSH74cTQyeP3NRonPn88LivaC4rp2n8lyGbjiwrUF8+QMiejHScH4F/NEwKadRjGocRBHACsBg5JX3apBzIKPJRBW4z0h6wFXgfWK2yl5C1tgsZhV3Auy1spIU8cjOE/HZ+2GOUORZU6RZV9iurILverSqfo/I2ZAr1qD9DA/hWZVcbsgrSeL9XXh9gdwbSIf9GptWgMi6NPbwH6eWbLHm3odcGfKfyfRrvpPUxPQy+H05MvTxy46Md2KX5mwl5MfaoFjiIXID1IhuhuUhv2gE8S53s1Zb+7So/iozMTmSDtQt5puYRvFMej+xfLgaeBn5DptpmBPQGEOIh6/Q0S3c2Qq6HjOC5QY2PCN8PJ6ZeXrmZiMxYHvA94bMbJwLPIzdqR5Az8qWatwRZPgaRzdBdBD8Uuh+ZooY07kQ2dQeAX8IMW9gIvGzJXEY29FzkLma7+nQAOS0EXfIssHQXR/QjCL4fTgLdvHEzgXpH2ktG/3RPUwc+iFi+F3g9JdtTEHI8ZKR6yPRsj6CskBU3VeAttX0YeameCfxTw1MBec8AVyC9dgYydQ4D16VgtwJ8pLa/QEaKf/LqIx9/OmbFzSLqM81+4DMj3JlC/ZHRoU7cHJC3FlmuhpDlbCNyJ5AGlqndQeAClU1H9k8e8FBKdv4LsuLGJcJRdjTQrUZro2m0ICi5KVGiRIkSYwX/Ak7cBpcw1sQdAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\omega \\dot{q}_{3}\\mathbf{\\hat{b}_x} + \\ddot{q}_{3}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "ω⋅q₃̇ b_x + q₃̈ b_z" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AwE.dt(A)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIcAAAAdCAYAAACAGn8vAAAABHNCSVQICAgIfAhkiAAABLJJREFUaIHtml+IFVUcxz/3ZlpbUmG5kkiX6sEgQTMzimqSIMpK7CHzIZwikKgk+kPZQ9ufh8ol8iEfrDa1PxBGtbVUCLKLQVmJ1SpZoeYWkZpZKam7UDs9/H7DPXvuzL0z07gz084XDmfO75zf+f3O957/91QoNmYBC/R7PbAjQ1/yhjHNzURgNzAMeMA3wMmZepQfjHluXkUavgx4WL9XZepRflAYbs7TkCZuRRrcYchWqOzGlG0VDalxU0nRqTAMaFwbBVtFwX3A6cBKI/2nkR4zGKDeQUoIBpCRXNPgUXJUokT6cJHR5Ydals7kDC7HiZtqWhWV+P+h7BwlQlF2jnhwkanbydaN0UFQ51iKEPBcC90ftFy7JR+HXL70A4PAPuAFoA04RDrXuBX1sx84BvwKrAHOTqHu44lCc9OOnLf3Aqe2KLse6RwLDdl4YIPKtyCXL68AR4EPVf5GAr9cRm66eqy0H34CpiaoP64fTgLdwnOzSiu6N0JZ/9ZtuSF7UWUPWmWvMpx8IIFfLo2N7QGeAD625O8kqD+uH04C3UJzcyYy1R0CTolQvkMNrtD0HE1vCCm/W/PnJfDNZWQju4y8KtBn5A0DUxLYiOOHE1OvkNyYe45bgAnAe8ARQ34J8CZwmaXbpvGQxvdo/GSIrYMaf2XI7ga2AYc1bAbmR/B7nfE9DLxmpCvARRHqaIUBGkfkGs3rC8hb26SuQnIzzvh2NN5klbkBWAR0WvLzNd6p8bVIIz8JsTUV2AP8Ych+Bh7ROirAEqAbmI0QE4b9LdJnNNGNipXI/x8mZiJvJNbReN39dZO6Cs9NPzICLrfkn6v8LENWVaMecA5wkn5/GVL3hZr/dgQ/fkd22yZcRo7SK638O6z8+cBNRvoaLTeP+huHhcSH74cTQyeP3NRonPn88LivaC4rp2n8lyGbjiwrUF8+QMiejHScH4F/NEwKadRjGocRBHACsBg5JX3apBzIKPJRBW4z0h6wFXgfWK2yl5C1tgsZhV3Auy1spIU8cjOE/HZ+2GOUORZU6RZV9iurILverSqfo/I2ZAr1qD9DA/hWZVcbsgrSeL9XXh9gdwbSIf9GptWgMi6NPbwH6eWbLHm3odcGfKfyfRrvpPUxPQy+H05MvTxy46Md2KX5mwl5MfaoFjiIXID1IhuhuUhv2gE8S53s1Zb+7So/iozMTmSDtQt5puYRvFMej+xfLgaeBn5DptpmBPQGEOIh6/Q0S3c2Qq6HjOC5QY2PCN8PJ6ZeXrmZiMxYHvA94bMbJwLPIzdqR5Az8qWatwRZPgaRzdBdBD8Uuh+ZooY07kQ2dQeAX8IMW9gIvGzJXEY29FzkLma7+nQAOS0EXfIssHQXR/QjCL4fTgLdvHEzgXpH2ktG/3RPUwc+iFi+F3g9JdtTEHI8ZKR6yPRsj6CskBU3VeAttX0YeameCfxTw1MBec8AVyC9dgYydQ4D16VgtwJ8pLa/QEaKf/LqIx9/OmbFzSLqM81+4DMj3JlC/ZHRoU7cHJC3FlmuhpDlbCNyJ5AGlqndQeAClU1H9k8e8FBKdv4LsuLGJcJRdjTQrUZro2m0ICi5KVGiRIkSYwX/Ak7cBpcw1sQdAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\omega \\dot{q}_{3}\\mathbf{\\hat{b}_x} + \\ddot{q}_{3}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "ω⋅q₃̇ b_x + q₃̈ b_z" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.ang_acc_in(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Define locations of points" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "O, P1, P2 = sm.symbols('O, P1, P2', cls=me.Point)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The locations of the points must be defined with respect to each other. It is sufficient to define the location of a point to a single other point and as long as there is a \"link\" through adjacent points SymPy will calculate the positions between any pair of points." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "P1.set_pos(O, q1*B.x + q2*B.y)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHcAAAAgCAYAAAAosufFAAAABHNCSVQICAgIfAhkiAAABBJJREFUaIHtml2IVVUUx393kj50hLSXISkkfMjBB0NMQbCjBEJhoviQD9JVRCPIhxoRXxo/nsoEKRUsJmeCkARrcLAQokFB8QO1D1KhhiL8mGlQcRC1aDw9rHW65x7vvnf2Pmc69077D4dz9lp7rfPf//1x9znnFsgPzwFL9PoAcCFHLvWGhtZmItAH3AdC4CfgsVwZ1Q8aXptPEeLrgY16vTtXRvWDhtbmVYRwe8z2ntoW58KofuC18fDw8PBIgyLymxEdU/MkU0coMsq6NGWd0KN+4Dt3DOP/1LlFZPkL8qXx36FS545DHqC/B+4B/cAuYDxwi/SvwgrAOs1/F/gD2Ac8mTLvaKPhdXkYOIKM8DPIA/QnwB3gK7V/ZpmzSPnGoSdRjo7fgSlpGzACHoFD7JjQ5SNN2JawvxC72duWOYs8SLgH2AIcS9i/cORtwyNwiG14XWZroiMGf5/6F1rmLVJOtCPmawJ6Y777QItlflsegWXcmNClSxPNM/hPq3+SlucjI+2q2pcb4oqUN2J+wr864X/JiX05fuPBWVHt6KySy1YXgE3I8j0EDCI6zUjEFRllXcbFrhcB14HjhrpTgF+Bm1qegPz47wMOWtxzoEZ5EumxE3g8YZuJfCPtQjo/ju+q5LLVBWR12IN0cAHYCnwDtAI3DHlGTZdHkdFxzuCfoX5TJ2Y5c18GXomVX9R6Cyl941xarTE1eAQWMWl1idAMDFP+ZSfiY6MLwH4tn0zUP6H2/ZEhehQa1uMJA7l39GxqpA1ei103AStj5RA4CxwC9qrtY+T3pgOZBR3AlxnwGAmy0mUi0lbTrIWR6QKyIgDMQVYCkNVjrl53VUp+UZMsiNkKSANqrfs2MzfaFW4Gjibs3bG48cAltffr+WdkFrgg4hFYxqXRJcLnwHngoQp8bHUB+EHt72v5TS1fSdzjX6zSCneQ2bFdCf2C/NUjxLxjs+ncbys0KgQuA08lYmcBf6t/GBmtroh4BJZxaXRB618Dphn4uOjyuvoGkH1TNBjerdaQt5DNwZ963o5sTAaRXbEJNp37DDLSfkTe9Awiu9VKD+pLErErqpGvgYhH4BDrqssOpANaK/giPi66NCNvxUJgLTLwQ2C6TaNARk0IHK5Sp1rnuqIFaWCIzJQQ2ZEmR3FeqKXLB5g7Ngvs0vvf1vNplyTRznVbwt6MPF7MVH+bXj/tSDaOAvA1JdKPAKe03Et9fPAw6QKy6RlCdvgtscN1v1AJrZTP/DdckrRr8LKEPUgkj45OJ6rlWK+57lFaap5FXqiHwIYM7pEWJl3A/LJkc8YceinpNNklQbcmmJodpzGBetDlQ+VwIEcOHhljLTK4/kJe7DyfLx2PLNFJ6TFpTb5UPDw8PDw8PP4BTNHNPNt0AUoAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle q_{1}\\mathbf{\\hat{b}_x} + q_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "q₁ b_x + q₂ b_y" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.pos_from(O)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIgAAAAgCAYAAADJ9TDRAAAABHNCSVQICAgIfAhkiAAAA/xJREFUeJztml2IFWUYx39nNbVtA/VqbVlZoos6eKGGeSF+LYFSmBRd2N0UsYnUXqQSIvh5pVs3ui4h1W5lLC0UglQIkhQUWlBo9AG1rEn5tagoYqvkjhfPczhzZmfmzMx5z5nRfX8wzLzPO/M8z/vfZ2beec8WuLdZAKzV4yHgtwxzyRNWF+BhYBgYB1zgV+DBTDPKB1YX5SNEgG7gLT0+kGlG+cDqAqxDBr7dY9urtjWZZJQPrC4Wi8VisZjDQd6hpa0jy2RyhkOdtWky7dByf2ELxBKJLRBLJPUokKnIIs0pYAy4APQCzcA1al/2LQCvqf//gEtAP/BIjX4bwaTXZhpwFJkw/Ygs0nwA3AS+VPsnCX06VE7Ejvjape0s0FbrAOqI1QY4iCS0yWdfTjnZjQl9Okwc8BFgJ/Ctz/55yrwbwaTXZpEmcjSkf1j7OxP6dagc6PuevibguKdvHGhN6L8R3LPa+OcgZ5hYkVHbIc+1r+t+V0isy7r/2WNbhlT8OfX3YoycP/QcjwMfe9oFYGEMH9U4Q3odgkijzRbkVXQdGEV0mlcljnFtpvraw8jkKS7nPMerkIF+F3JuGzACXPXYHkImVP3AZzFjXqzSnhXTTxS16BBEGm1WAH1IkRSQ4joGFIErIX4aoU0qZiB30k8h/fO0P6oIwp4gDpV36zJf/yu+/mfV/pzH9rTaOin/n8TzEbmYxIQ2AC3AHSp/lXVIp82gtk/4zv9e7YNVcknMA8D/wN8h/UMaeGuEj7gFkuQ9+67aR9Q+ou33ogZjGBPaAMzR85Z4bA7ptFnqsRfV1kb55lldJZdU/K7OV3psBWCbJ5lnIq6PWyClmfoO4Buf/bDv2mbgD+27oPs/kbuxkdSqDcCnyBxlisfmkF6b02p/W9tvaPtfXwxjvKwBbiKV3IMM6C/k395comfRcQvkayaK4gL/AO0B1z+J3MEu8ohenGhUZqhVmx7gPPCYz+6QXpv12ncRmYuWCmpP8uHF503kMX5L9z3ATGQWXm0iF7dAHkWq/RdkIjkKDBC+ELTWd/1LMcdimrTavIP8EYsBfQ7ptWlBVm9doAu5eVzgiSSDMkG7Bv6iynlxP3OT0IqI5CJ3rIt8KQQ9abKgmjb7CC8OE/Rq/Bu6/6FOcSIpfU3sDuhrAebr5iKrjPOBuQbiFoCvKA98OnBS28fJxw+VUdr0IWsgnUihlzaT86cilU+gDQZ9x2a7Bn8hoG8Fwe/MAQNxu9XXGOXH5uPIj1gusNlAjFqJ0iZIFxeZgJqk9KUzBsw27DsWhzWBjiyC55w8aLNfcxjKMAdLDulCCvQ2sv7xVLbpWPLGAOVP4FezTcVisVgsFoulkrvzHtSa/MpyMQAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle - q_{1}\\mathbf{\\hat{b}_x} - q_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "-q₁ b_x + -q₂ b_y" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "O.pos_from(P1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here I define P2 relative to P1 and then P2 relative to O is automatically calculated." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "P2.set_pos(P1, L*E.x)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALIAAAAgCAYAAAC2JCIgAAAABHNCSVQICAgIfAhkiAAABUlJREFUeJztmnuIFVUcxz930x7rRm0QbC2GRJFt/mFpSYS2SVAYZYlE/RNThEWgQRkVUWsFUZogZRFRuQYhLRRGWAnl9qaHvdOetm5UaktFi60W5vTH7zfM7NmZnefdmXs7HzjcO+f5vd97zplzzkwNy0RwOrBQv/cB20vUUjWsNw3CkcAO4CDgAtuAI0pVVB2sNw3E08iftAy4Vb8/Uqqi6mC9aRCuQP6cnkDcSo27uBRF1aFQb2oFiQK71rE0AXatY2kK7FrH0vDYdaCPg/xuL0wrU0yFcCjBly3a2NyJaKzJcLAdOQyHOvvSYlzXgDOQte4nRTdmsdQLsyOfDBwFfAPsnXg5qXCQ0d1droxK4vA/88bsyLP086OE5ecgG70fgH3AX8DnwD3AMUUIrDOTkA3qZ8B+YDewFmgF/iT/EWINuE7r3wf8CqwDjs9Zb71peF9WIyP5xgR578I/bgsLg8ApRQkLwSHfrHMosFnr+BDZoD4FjAAvafwzGTV54UXCvfkR6MyoO42O7gxlm8KXN7TCc2LyLTYEvI2cWqwEdgXitwOHFCEsBId8HflxLb/ciD8XX//NGTWZf9rdwJtG/PMZdafR0Z2hbMP70gIMAweAKTF5twYa3sToJ4SnGsIuzSssAofsf9aZWnZzRPoOTZ+fUZMXngyktQD9gbSDQEfK+tPq6E5Zril8ma4VfRmTr5XxlxRmeDCPKGVnivZcoDemvvWMf+f5QNPb9XoeMoP8ovGLI8o5ho55Rvo1RvqCGJ1J2Elx3qT1BeB2ZAkyDAwhPs0wyjnU2ZdJge+z9XNrTJl20r2jcWwqReGsAY424mYi73asR/7MIJ/G1HcB8BvwTkR6JzAA/KHXU5CNyTrguUSKhT0x1+3kp0hv0voCMus/inTmGrLRfxXoAn6PqKeuvqxBRsPSmHzmjPwasp6KCguASwL5z9d65gfquSyDXodst8/DtdzHEekzND2qwxY5I19EdbzJ64tHG/Avo5/qenrS+AKwQa/fM/K/q/EbwgS8pYlnxwgFOZ7zGt2m4k0mA4vwR9djmn8AWQMN6PUTCdoLwyFbR56M7AMGI9L7tN47ItLTdOSka8EqeJPXF4/jGLs88fSk9WVuIL5L4zrxB/mFZuMtyAOQAyR7a+1yQ9ggMqPfBtwHvICcN7r4jyNbga81brd+fkf4IEiCQ/bN3lda9rxAXA05Uoxbp6XpyC6yZlyBfyLkhY2BclXxJo8vHs8iT4WDp1WenrS+gDyXcPH3Wkv1+mdCTsRO08S9yCwQFu43yvSQbNM3LVBmFjJYXOT2MyfCjCQ4ZO/IV2vZEWR2WIWY/z1yh3GJ3jmn6chbCPfkJ2CqUbYK3uTxBc2/CzgpQk8WX67XtD3Ins7r+A+ECbgqouJgeCWk3Gz9wd/qjx9BnvK9DtyJbDqCLDTqvDJMTEIcsndkgJuQW/jf+rkK2TQNIacTUaTpyCciM8gXyBOyIeTUIOzQvyreZPVlNdLZukLSPD1ZfGnDv7svQQa5ixzzlkIHIthFRrmL7H7NEVgmUxFdm8bJM15HzkrVvYnz5SGiO3ERrMVfMbjIMWAp1ICXAyIOA97X637GvvNRFt4Jwr1GfBtyd5mp6cv1+wkFtNkI3kT5AnL0NoyctHQEQtb1fRhdjJ7Rbyiw7lQsUwH78W8J05EXRlzglpJ0mfQgehYZ8d2EL7d6C2izEbyJ8gWil6IrCtbQj+9TI7yQViobGbtBtVTDl4dVQ1+JGiyWzCxBBtI/yCnZWeXKsViy0Yt/NHdtuVIsFovFYrFYLJbG4T8oIanhPXRsvwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle L\\mathbf{\\hat{e}_x} + q_{1}\\mathbf{\\hat{b}_x} + q_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "L e_x + q₁ b_x + q₂ b_y" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.pos_from(O)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Define and calculate velocities\n", "\n", "O is fixed in A and we are using that as the point we reference all other points from. Thus we need to specify it's velocity as zero in A." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "O.set_vel(A, 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The velocities of points must be set explicitly. For example, the velocity of P1 in B can be found like so:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHcAAAAgCAYAAAAosufFAAAABHNCSVQICAgIfAhkiAAABCpJREFUaIHtml+IFVUcxz93lbJtFzRfFpdEsoda9sEITRDWaREEo8TooR6iq4hJkA+6Er20mk9qQdQmqGzuBiEKliQVC+JSoOhG/qU/kOIipbstGUmsW7Q7Pvx+w507987ce+bPnbvrfOEw5/zOOb/zPd/z5545c3Okh6eAtRo/CvyUIpd6w7TWphm4BkwBNvAj8FCqjOoH016bTxHiW4C3NP5xqozqBzXVZrGGuPAyQrjbZdujtudjbKcWmPbaDGvIUIph6libhrQJZMiQoU6RR34znLAoTTJ1hjwJapNtyzMY2eDOYNxPg5tHtj4rXRq1Q7nBnY28QF8CJoARoAdoBP4m+lVYDnhd/d8F/gAOAQsi+k0aSesCCWvzADCAzPDvkRfoT4Bx4Gu1f2boM0/xoeGEJ+2EG0Br1A5UwcMKUTcJXdycaqLNAXXW5bGvdDW0zdBnnlKyJ4CdwHce++cheZvwsELUTUIXN6fEtVmqTgZ88q9pfqeh3zzFJHtdeQ3AoCtvCmgx9G/KwzKsl5Qubk6Ja9OvTlb45A9p/jxNdyCz7KbaX6qyAx2e/A2e/DWh2BdjmNIVERT6AnyZ6gLwNrJ93wHGEJ3ay9TNk6A2s13x1cCfwGmfsq3AdeAvTT+M/PAfAo4ZtDlaIT2P6PgAmOuxLUG+kfZTeh98McCXqS4gu8M+ZIBzwLvASaANuB3QViLazEFmxnmf/HbN9xvEOFfuc8ALrvQqLddJ4RvnuqDOVOBhGdSJqouDJmCS0i87DicTbQ5r/Kyn7Bm1H3YMzqvQpIb5PuTe0adfJ03wmiveALzqStvAD8CXwH61HUR+a3qRVdALfBEDj2oQly7NSF+DVi1Up80+TT+D7AQgu8dyjfeXc/yzOnjWZcshHai055usXOdEuAP41mM/7qrXCPyi9hF9/oqsgjBweFiG9aLo4uAIcAGY5cPJVJvLantP029q+vcybQCwXguMI6tjrxK6ivzVw8b/tGYyuKfKdMgGfgMe9dR9Gvhf8yeR2RoWDg/LsF4UXdDyt4DHAziZarNZ7aPIucmZCLuDOrIVORz8q8+9yMFkDDkV+8FkcB9DZtoV5KZnDDmtlntJX+up+0oQ+QpweFgh6obV5X1kANp88h1Opto0IbdiNrAJmfg28KRJp0BmjA18FVAmaHDDogXpnI2sFBs5kXpXd1qopMuHBA9sVPRo+//ocyiME+fkustjb0JeL5ZofpfGF4Yk60YO+IYC6QeBc5oepD4+ePjpAnLouYOc8FtcIex5oRzaKF71b4Rx0q2VX/TYLY9zJ/SFolqMLeprgsJW8wRymW4D22NoIyr8dAH/y5IdMXMYpKDTI2EcHFcHi+LjNCNQD7p8pByOpsghQ8zYhEyu/5CLnWXp0skQJ/oovCJtTJdKhgwZMmTIkOEexe/RSg+oDPQAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.pos_from(O).dt(B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following two commands are equivalent:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "P1.set_vel(B, P1.pos_from(O).dt(B))" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "P1.set_vel(B, q1.diff(t)*B.x + q2.diff(t)*B.y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now the velocity of P1 in B can ve retrieved with:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHcAAAAgCAYAAAAosufFAAAABHNCSVQICAgIfAhkiAAABCpJREFUaIHtml+IFVUcxz93lbJtFzRfFpdEsoda9sEITRDWaREEo8TooR6iq4hJkA+6Er20mk9qQdQmqGzuBiEKliQVC+JSoOhG/qU/kOIipbstGUmsW7Q7Pvx+w507987ce+bPnbvrfOEw5/zOOb/zPd/z5545c3Okh6eAtRo/CvyUIpd6w7TWphm4BkwBNvAj8FCqjOoH016bTxHiW4C3NP5xqozqBzXVZrGGuPAyQrjbZdujtudjbKcWmPbaDGvIUIph6libhrQJZMiQoU6RR34znLAoTTJ1hjwJapNtyzMY2eDOYNxPg5tHtj4rXRq1Q7nBnY28QF8CJoARoAdoBP4m+lVYDnhd/d8F/gAOAQsi+k0aSesCCWvzADCAzPDvkRfoT4Bx4Gu1f2boM0/xoeGEJ+2EG0Br1A5UwcMKUTcJXdycaqLNAXXW5bGvdDW0zdBnnlKyJ4CdwHce++cheZvwsELUTUIXN6fEtVmqTgZ88q9pfqeh3zzFJHtdeQ3AoCtvCmgx9G/KwzKsl5Qubk6Ja9OvTlb45A9p/jxNdyCz7KbaX6qyAx2e/A2e/DWh2BdjmNIVERT6AnyZ6gLwNrJ93wHGEJ3ay9TNk6A2s13x1cCfwGmfsq3AdeAvTT+M/PAfAo4ZtDlaIT2P6PgAmOuxLUG+kfZTeh98McCXqS4gu8M+ZIBzwLvASaANuB3QViLazEFmxnmf/HbN9xvEOFfuc8ALrvQqLddJ4RvnuqDOVOBhGdSJqouDJmCS0i87DicTbQ5r/Kyn7Bm1H3YMzqvQpIb5PuTe0adfJ03wmiveALzqStvAD8CXwH61HUR+a3qRVdALfBEDj2oQly7NSF+DVi1Up80+TT+D7AQgu8dyjfeXc/yzOnjWZcshHai055usXOdEuAP41mM/7qrXCPyi9hF9/oqsgjBweFiG9aLo4uAIcAGY5cPJVJvLantP029q+vcybQCwXguMI6tjrxK6ivzVw8b/tGYyuKfKdMgGfgMe9dR9Gvhf8yeR2RoWDg/LsF4UXdDyt4DHAziZarNZ7aPIucmZCLuDOrIVORz8q8+9yMFkDDkV+8FkcB9DZtoV5KZnDDmtlntJX+up+0oQ+QpweFgh6obV5X1kANp88h1Opto0IbdiNrAJmfg28KRJp0BmjA18FVAmaHDDogXpnI2sFBs5kXpXd1qopMuHBA9sVPRo+//ocyiME+fkustjb0JeL5ZofpfGF4Yk60YO+IYC6QeBc5oepD4+ePjpAnLouYOc8FtcIex5oRzaKF71b4Rx0q2VX/TYLY9zJ/SFolqMLeprgsJW8wRymW4D22NoIyr8dAH/y5IdMXMYpKDTI2EcHFcHi+LjNCNQD7p8pByOpsghQ8zYhEyu/5CLnWXp0skQJ/oovCJtTJdKhgwZMmTIkOEexe/RSg+oDPQAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(B)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "P1.set_vel(A, P1.pos_from(O).dt(A))" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Two point theorem for P1 and P2 fixed in E\n", "\n", "The velocity of P2 can be found using the two point theorem and the fact that P1 and P2 are fixed in E." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z + L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(A) + me.cross(E.ang_vel_in(A), P2.pos_from(P1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `v2pt_theory()` method will calculate and set the velocity." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z + L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.v2pt_theory(P1, A, E)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z + L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.vel(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly, the acceleration can be computed. Note that no accelerations have to be set explicitly. SymPy will take the necessary derivatives behind the scenes." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (- \\omega^{2} q_{1} + \\ddot{q}_{1})\\mathbf{\\hat{b}_x} + \\ddot{q}_{2}\\mathbf{\\hat{b}_y} - 2 \\omega \\dot{q}_{1}\\mathbf{\\hat{b}_z} + (- L \\omega^{2} \\operatorname{cos}^{2}\\left(q_{3}\\right) - L \\dot{q}_{3}^{2})\\mathbf{\\hat{e}_x} + (L \\omega^{2} \\operatorname{sin}\\left(q_{3}\\right) \\operatorname{cos}\\left(q_{3}\\right) + L \\ddot{q}_{3})\\mathbf{\\hat{e}_y} + 2 L \\omega \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{3}\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "⎛ 2 ⎞ ⎛ 2 2 2⎞\n", "⎝- ω ⋅q₁ + q₁̈⎠ b_x + q₂̈ b_y + -2⋅ω⋅q₁̇ b_z + ⎝- L⋅ω ⋅cos (q₃) - L⋅q₃̇ ⎠ e_x\n", "\n", " ⎛ 2 ⎞\n", "+ ⎝L⋅ω ⋅sin(q₃)⋅cos(q₃) + L⋅q₃̈⎠ e_y + 2⋅L⋅ω⋅sin(q₃)⋅q₃̇ e_z" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.a2pt_theory(P1, A, E)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Expressing in B and simplifying gives the same answer as presented in class by hand." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABHMAAAAgCAYAAACRgDQ9AAAABHNCSVQICAgIfAhkiAAAE5NJREFUeJztnXvwHVV9wD95QIAkoAaFymgziIKoLTGgbRG4Bizjq9jHqNS2rNaxVBQtahWclrR2eMVYtMr4AIlUQCivIaUViqG0VjHBQqBKHcBcGIQkINY0hQQTbv/4np27v/2d3T1nd88+7v1+Znbu73ee33vO9/s95549e3YOiqIoiqIoxSwDTjJ/Xw38sEVZFEVRFPXLitJn1H4VRVEURQnOYuBB4FlgBPwA2LtViRRFUaYb9cuK0l/UfhVFURRFaYTLkMnG6cDHzd9faFUiRVGU6Ub9sqL0F7VfRVEUZRYvMZei1MU7kUnG2YmwC0zYW1uRSJk01G8pih/ql5Wu0Wc/3rTsar+OnAlsALYBjwNrgVe2KpGihOHDwErgOeZaacKU6WNoLhuT5hMn7fsUoXauTCpDpsdvKTPps1/rs+yKUjdDsv141xnSX9knmpuBdyOD/quA64HNwPPaFEpRAjBEVnOXmmuEOqVpZUh230+aT5y071PEELVzZTIZMj1+S5nJkP76tSH9lX1a2Rc4tG0hJpQh/dX/IdVkP7IeMZQiFgG70e1LiqIoMHk+cdK+j6Ios1E7VxSlDPORR1n2aFsQZeI4GPhQGxXPzQi/DNgKLGxQliZYjHznJ9sWpIAm2385cifhjxuoqw3OQL7fyTWUpf2iQHN60IQO9MUnujJp3ycURboVmfj4WtqIVOHo45xGx65s1M7LMWl6MGnktVnEZPnktvgkcA3wi4bqUz8+PfwYeRPV6zLiIxq04SORV2SdEaj8dciXOCZQ+XlcBdwFzGuhbldCt7+N64HHkLtdbRFKL64w5b6sYjnT2i8hadMXlKVpPQitA33wiT5M2vcJSZ5uRUzOD4e+zml07MqmbTvXscuNSZ/DhCCrzSL675OXAO9FvuMDwNPAz4FvI4sGWRsM6uIFwK0ZcerHZ6P2688SRJdsRDRow7cA/0OY95zPMWXvpnnlWIUo5SEN1+tLyPbP4jWIYp3VYJ1JQurFi4HDTB1VmMZ+CUmbvqAKTetBSB3oi090ZdK+T2jydCui/z8cYvo6p9Gxy07bdq5jlzuTPIcJRVabRfTfJ5+KyP4ocDlwLvBVRC9HyI6Zqv4ujwuNDGnUj9tR+y3HdcAbLeERDdnwy5CVvy8HLH8E/DBQ+VmsBrYAhzdcry+h2z+P+4CHaOdOV1t64cq09ktIut7nNtrSgxA60Bef6EqXv0+E6PqgXTGsZOlWRDd+OMRyDErmn9Q5jSuTNnbVYecR1XWqy31uY9L0oA4i+uWXI/rvk1cg51yld+AcCDxsyv3dCrLlsSfyWOZLLXFdt2m1337xAeBaS3hEIBtOG9R7kNXDq+qqIMVy8/l9x/R/gnzh1QXpfmzSHWCJ+xzwB8DrKTbUAfLdHwF2Ind/bgbelko3B+mU24GfIlsF7wJOySn7GGS17kFgB/Lc43rgnEQal/afD5wObDTlbAY+D+yDbFcs64y+gawgn1AyfxV89cKlLUH6fIQcdhbzBhN2LvJmjCuQyeF24DvAay31dblfQtUbGt8+h3D26apPRXrQFx3w8YmhadLH99VWoH2/Pwfpq42IPW0FLgVeWLLepujanEbHrvL1dsVv6djlR54eqE+24+KX++iT1wFrkYWJJJuBL5q/Bxl5q84VjkYWJB6w5Clj0y62p358Om34LuBEig/ZDmbDdwK7CHe40mpEiV1Oez4A2VLm8rze1abc306FXwRsQ1aDD0xctvIuNGU8DqxBDO0K4AlmGuLeyCA8QjrgM6aex8jejnaWiXsIWVk9B7jE5P/PRLqi9t8zUfcGI9dXgaeAfzLhl2fkLeIEk//TJfNXwUcvXNsS4CPMPnjsz03YtYjx3Ii0400mfAtyuGKSrvZLyHpD49PnEM4+ffQpTw/6ogM+PjE0Tfr4Nm0lotod4DZ0K2LmHaS1qf/j62HgoJJ1uxDLMSiZv0tzGh27ytdbp9+KqKZTOnb5kaUHbc9fIsrrQRttFjEZPjmLj5ly/9YSV8dc4SxkscSGr0272p768e7+Bgkp+74m/6tT4REN2PBCRFnuLVuAA7cjgh7tkPYLJu0HHdJeYNKemQq3NdIIWJlKd44Jv4bZxrII+OXE/9djH1ifj9xJ2QE8NxF+ANKu/44oT5r9zadL+3/Z1P3RVPhxjL/bR3Ly57Gfyb++ZP4quOqFa1vGXG7KPTQR9g0TtpXZhnatiUsegNblfglZb2h8fEEo+/TRpyI96IsOuPrEJmjSx7dpKxHVJr9t6FbE7DZdC/wV8G+p8OtK1u1CLMegRN4uzWl07KpWb51+K6KaPerY5UeWHrQ9f4korwdttFnEbP3vm0/OYj6inyNkR0OaOuYKa4B/zMjjY9M+tqd+vLu/QULLvgt4RyosogEbjp8ZvKVsAQXMRe6suNwl2x8ZuH7ukBbgbET2C4oSWliGHHq1AbthJnmLqefqjPivmfjjE2GxYlxSUHZR+x9l4m/OiH/QxK8oqCePp5FtZk3ioxeubRlzH/C/zHyc8EemjDdb0v+NiXtDIqyr/dJEvaHw6fOQ9umjT3l6oDrgT5M+vu12iig/+W1LtyJmTiySNjIXuC0R9yyySyIEsRyDEnm7NKfRsavZevOIKK9TOnaVI60HbesAlNeDttosov8+OYtPmzJvssTVNVe4CdkRl8bHpsHP9tSPd3P+2YTsP0POzkkS0YAN/7opIOuZvGFKiKLr66n8h5nw/3KQ5f0m7WWp8Ncgq5q/kQo/36T/lEPZaf6e2QswWdxo0i7PiP+Mif/NRNj+jE9qvxFZqXvu7KyF7R8P5lkrx+tNfFz2acA9iJPaBnwXu/NI8hPEoRUxpJouJPHRC9e2BHHKu5HV85hFJuwh7CfLx68QPDgRVne/gH/f2PqliXpjhtTX3+DX5yHt00ef8vSgTzpQhSH16UGTPr5MOx2L3DF51MT9nmNdQ/zaaE0HZLfpVpSS89hU/HtS8W8qqMOFIfW2XZHvLlNnUqd17Oq+3xpSr07p2FXP3LLJ+QvUqwdlZD8TWdTbhjxutxY5LyWPdJtFKRn76JNtnG7y3gc8zxJf11zhW8BXLOX72DS425768fpseEj5cdpGE/OqR5BHB5NEKTlrs+H5ib+fNp97ZaSND3ly5dHU/0eazzsd8g7M5+2p8LcghrMqFR6/ovJ+V+ESnIisoN3mkPY4RAGzDsn6JfP5cCLsCeB1yGrxm5CT3HcD/wJ8kvHzlUXtfyKy1fY/MuIPAjYh3wVEkT6BtMkc5AC9G5DJwj0ZZeydkCOPqrqQxEcvXNsS4FeRlc5k2BEm7BbEUNK8Gln935QIq7tfwL9vbP3SRL0xdfY3+PV5SPv00ac8PeiTDlShTj0YmM+mfLxvOy1Enn+/FPtbCbK4EHhOKuwI4CRkAjFMxd1dUF4Tsrv4/S0F/9fxw7vutivy3VBNp3Xs6r7fqlundOyqZ27Z5PwF6tWDMrIPkPOPNhjZ/xq4FXkr25MZ5RT55T765DSnAZ9FDpo9HntbDMxn1bnCDuw7b3xsGtxtT/14d3+DNDGvWkhL86oXIsr17TKZHYgPgXN55nEj9lWz75nw5yfC5iINMGLm88cu7GXy3eWQdrFJuzEjfh6iQFuwr7iCbLU9gfEBXU8AC0xcXvvHcqYPtYt5pYkvUrAnkZOzbcxFtnU9WFBG3fjoRZK8tgTZ3jZCVkJj4jsAp1rKW4w45PTEq4l+gey+sfVLE/WGxLXPm7TPIn3K0oO+6UCVu5t10rSPr9I/Lndh8ohMGQPPfE3InuX3I/zuIMU69FuJsPjtFytMHSNmH0pZRCzHwDMfdGtOk0THrnb9VkR5ndKxy47P3LIr85cIfz2oS/Z4h8ZbM+JtthNRzidfaf6/I5X+Oyb8ygJZ08RyDDzzpfmwKede4AU56eqaK6zBfmZOWT8O+banfrybv0GamhPuAt6eCovwt+GlqbDktTLOmHyO7zFk+1/yoKY6ibePuqx+7mc+tyfCDkO21YG82jHmBMQRfA/ZuuZDPDDmOZKYnYhCZ62URcjdk0uxr7gCPIOsxr8dMcwljF+fl9f+u821JKPcvzSfWco5DzlNfRHZp7kfirSH78p6VXz0IkleW8L4YLFkmyzLqWsZYg/pO2Mh+wWK+8bWL03UGxLXPm/SPov0KUsP+qYD8Z2R5cgdqXXInZFfyZEvBE35+Dr6py2akN3V75+S+Hsu8IeJ/0eM/eaNwJfM319Bnvm+xNRxCXLIa1N0aU6TRMeu/votHbtmUmZu2ef5S10+eTFis1m7clz8sqtPvsh8vhbZCQSy8+DXzN9fK5A1BB9H3lp1N/L67q05aeuaK9yP/TGusn4c8m1P/fhk23Ae+yLfr2gnuYsN70T0Ob42JdJk7vy5xhRwSFaCksxFDHEXsl2riA1GjviLzUGeVfu+CT/KhO+DKNgI2fZXhvgE9fQKGsjBU/MS/9/BzDuOMccj328TY8cDYpwvsZR7CLJ96yFmLqjltf99Ju71ibA5iOLFq3Tp5+texbjdf2aJT/JuU0b6wKaQ+OiFb1vejSh68lHCjYhh2A4j/DPk+/++Ja7ufgH3vsnql9D1hsLXF4SyT199gmw96JsOpGljd1aTPr5qO7nchckjovydzNCyZ+lWlCg/vtYid4JuT4XfkMq7D/DfJm6z+byfdl4j3YU5jY5d9dSbpqzfiiinUzp2jak6t+zC/CWinB7Uob9XIbu25mXE29oslreMT77HhMevl/6g+f8nOTJkEcsx8MwX8xcm/53YF1fS1DVXWIE8wpTc3eZr0z62p368m79BIPy86mjk4Ov5qfCI8jYMslD4gIn/Ljk6e7JJdFqOkGV4hSl3O3BxxnVeIv1ZJv1PgdXIXZhtyMry08jzlecznjB+ifK8GVmlexY57fwC5JVl65EV0STHIwq4AzmM6zzgn03eTcw2tEtN3B3IXclzkQO7njJX+mC8vPaPDeopU9YqZDB4APiBiUuffL2nkelIU/cTZB+6dqX5bi/KiA+Bj174tOUCZMV8vSUs65n0rxtZbKvfdfcLuPdNVr+ErjcUvr4glH362iZk60HfdCAmvjPyDDLANkmTPr5qO7W5mBNa9izdimWOr3Wp/+PrEUtekLudu0ya3Ui/liGWY1AyfxfmNDp21VNvTFW/FVFOp3TsGlN1btmF+UtEOT2oqr+rkP7PW2C2tVksbxmffKqJ24L8wIx/OJ6fI0MWsRyDEnlPMXl3ITtzVlquKJWnrrnCAmTx4KWJMF+bdrU99ePd/Q0C4edVHwD+wRIeUd6GFyO7hUbIG9GydhYB0sibka08dfJHFmHT1zcT6fdADH0r8H/I+9fjLYGnIKufO5DV5j8l+4waV45BBtsngV8gjvYW4F2WtMchHbDdXPci74hfbEn7NuSNBj9CnM8zyIFhFzPTocQUtf8ZyMC+03yuQg4ne5ziA59AtgNebAnfD3GKtpXAkPjohU9bLjd5v2gJy3L0tlcIxoTuF7D3TVG/hKo3JL6+AMLYp69tQr4e9EkHunBnpGkfX6V/2lzMgXCy5+lWxEybPBi5m3sv0i+PI2cQHJRR9kmp/CcXyJlFLMegZP4uzGl07Kqn3rr8VkQ5ndKxK5syc8u25y8R5X1LWdlXIwsqh+ekyWqzWN4yPnkRsitlBLwPWWQcAS/PkSOLWI5BibwrKbahf03lqXOu8Flmnlfja9Outqd+vLu/QWJCzgmvQw5ZThNRzoYXMF74eQw5R6eQM02GZUUJlSD4tv+LTPqbHNKuw/7KtnjL5TGOdU4jIfsF7H1Tpl/qqFfJxkcPuqoDXbgz0gVc+6fqYk4I6pA9lN8/EJmUjJC7XSPkx3eTuz6TTPucZlLGLvVb1Wh67AJ/Pejz/KVI9s9RvJAD4fzy5025283n+vzkE8kByOJBH5kUP+5Sb1vUMa9aAnyrRpnmIrt8RsgCovM8Zi9kpXNtjcIo7vi2f/z2kE+lws9DDHApckfrXGR74BtT6fZGViGvKSfu1FBXv4Bb35Ttl6r1Kvn46EEXdcBGW3dG2iavnRYhrxE9wqT5qPn7xY1Jl09V2UP5/TnI4yHxj4UFjN86chv2u46hmfY5zSSMXTam1W+VpcmxC8rpQZ/nL3myX4T8EFuBLHbHV/ocsZDz8cOZuSvg/QHq6ANnMz48uU9Mgh/vsw27zgk/gby6vi7ewdhmtyCP+MXXe4syH4so/MIaBVLc8Wn/s5FO/p1U+BrE8Hci2xNvxb7t6+XI1selpSSdLuroF3Drm7L9UrVepRhXPeiiDtjo0p2RJslrpwH2LddrGpKtiKqyh/L78atXdzDewn8YslV7BHys5vpcmfY5Td/HLhvT6req0NTYBeX0oM/zlzzZsx7hWZlKF3o+fhtj/+xy+PAkMh85Y2ePtgUpQd/9uEu9bVJ1XnUw8KGaZYoy6rX5D6XH3IB06tKW5VBm0la/qD50hy7qQNfvjDRJn22lz7Ir3Ub9ltJFHeg6fZD97xAZr25bkJbZF/tBw5OE2rA/VWU/qjiJoiiKolRjDd2+M6IoipJmDeq3FKUs70N+qD6DLIL28TEjRVEURVEURVEURVGUqWENsuPgERzO2VAURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVEURVGUEPw/0vWU2AVoKYkAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle (- L \\omega^{2} \\operatorname{cos}\\left(q_{3}\\right) - L \\operatorname{sin}\\left(q_{3}\\right) \\ddot{q}_{3} - L \\operatorname{cos}\\left(q_{3}\\right) \\dot{q}_{3}^{2} - \\omega^{2} q_{1} + \\ddot{q}_{1})\\mathbf{\\hat{b}_x} + (- L \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{3}^{2} + L \\operatorname{cos}\\left(q_{3}\\right) \\ddot{q}_{3} + \\ddot{q}_{2})\\mathbf{\\hat{b}_y} + 2 \\omega \\left(L \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{3} - \\dot{q}_{1}\\right)\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "⎛ 2 2 2 ⎞ ⎛\n", "⎝- L⋅ω ⋅cos(q₃) - L⋅sin(q₃)⋅q₃̈ - L⋅cos(q₃)⋅q₃̇ - ω ⋅q₁ + q₁̈⎠ b_x + ⎝- L⋅sin\n", "\n", " 2 ⎞\n", "(q₃)⋅q₃̇ + L⋅cos(q₃)⋅q₃̈ + q₂̈⎠ b_y + 2⋅ω⋅(L⋅sin(q₃)⋅q₃̇ - q₁̇) b_z" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.acc(A).express(B).simplify()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## One point theorem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Start over with new points so we don't inherit velocities and accelerations calculated above." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [], "source": [ "O, P1, P2 = sm.symbols('O, P1, P2', cls=me.Point)\n", "P1.set_pos(O, q1*B.x + q2*B.y)\n", "P2.set_pos(P1, L*E.x)\n", "O.set_vel(A, 0)\n", "P1.set_vel(B, P1.pos_from(O).dt(B))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, the one point theorem can be used to find the velocities of P1 and P2 in A if we treat points P1 and P2 as points moving in B." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAM0AAAAgCAYAAACxZvw1AAAABHNCSVQICAgIfAhkiAAABflJREFUeJztnFuIVVUYx39nsqxxJCvLIbGG6sHEByu8UGAnCYJuYnR9CE8RVpA+dCHqobHe0qQoNSwmxy5YRqVJgRBKQaUNWhZZoaZFOdqgpagzRjOnh+/bnDV7zt5nr32ZfY6uP2zWXt+6/dd/vnXZa+8zBfLDFcBsvV8D7MiRS73BaZMtGlLf0cBuYAAoAz8CZ+XKqH7gtMkWDavvmwjhBcCTer8sV0b1A6dNthgWfS/VKy3cjRBtN2yL1HZLiu0MB5w2jYVh03evXg5DsRenzSmHprwJODg4ODg4JEYJ2TN6V1ueZOoMJZw2WaFERtq67ZmDgyXcoHFwsMSpNGhKyDJdzJeGQ6Oj2qAZgbz42Q70AfuBpUAzcJjknxwUgAe1/l7gL2AlcGHCerNG1rpA42oDwrsMLKmR71fNN85nb1i/OwPYgHSqC3nx8wZwHPhU7e9Y1lli8APZel/cu34HxiftQAQexRhls9DF5JS3NkkxDvgH6AZaauRdg/RpjmFraL97TSt63Ge/1mjkMcs6S1WIrgeeBb7w2T+MyduGRzFG2Sx0MTnlrU1SLEM4zo+Q13sD/5Rha1i/m6oVbAhI363psyzrLTGYYIeR1gRsMtIGgFbL+m15FC3LZaWLySlvbZJgLLKdOgyMipC/HenPIo03nN+ZzzSPaPhcQN6DGn6r4Uxk5O7Thm+P2OYq434AeMuIF4ArI9YThr0MnWVWatqmKmmdIXXZ6gIyi3YBR4AeRKfJEXjnpU3Y9XaN+u4ERgLrgGOGfRrwLnC1L3+zhic0jKNvHN9LTdsRxv0NSvDLgLzjgT3A3xofhTxUrQQ+iNogcKBG/ByLuoLwEjDGZ5uC/IZiFUO/F/supC5bXUBWs+XIwCkgDvEZMAk4FNLWcGizG1kZomJfjfSihp/77DcDdwGLffbLNNypYRx94/he6tqeiYzYbQHpkzU9iGDYaC8xeOaa6Uu/35d+E3CrEb9e882i8huIOdjD41G0KJNUFw8tQD9Dv6T1ONlos1rvN/vyfqX21TW4pI3t2u41PvsWtZ9v2JoQZy0DF5OOvkG+V8JeW5AvB4JW3YVeJ0D+oP3AeQHEntEwqHM2mGvcNwH3GvEysBX4GFihtteR/WYHMmt3AB+lwCMK0tJlNNLXsFUGommzXOPTkZULZDaeoffmNmQ4cLaGRw3bRGR7BpVtGMgEeAEyoH6j/vwOhO8W49pj5Ov1V/qTFr7OsBUQ4t5IuzGAkM1K451iLESWdNO+1ijXDPys9v0a7qT2kWYQPB5Fy3JJdPHwHrInPy2Ak60236vtBY3P1/ifVdrIGl3atueEBaQPW9U+Ve3NyDa4TOWnxpBc36grTVRtTYwDdmmer6nyC8/7NPE4MpsvRv7Qu5CfhJYJPmGwGTQbq3SmDPwBTPCVvQr4T9P7kdk1LjweRctySXRB83dT2ctX42SrzUNqP4A8l3pO8Lxl39LA09r2QeTF5kbkAGQ6MjPvUF7eBLjCVz6pvlEHjY3fgewOtmmeXwheDXkUWY5OaLgYeaDuIfyB0GbQXILMjD8gD6Q9yOlVtRdMs31l7wnhUAsej2KMsnF1WYI49qSAdI+TrTYtyBFvGZiHTChl4HKbTqWE04EXkTfsx5B3IN5WcS6yDetDVseHkVXEj7j6QvRBY+N3I6kMsm5ifCE9QQt/EoN4ErQiHSsjM08ZOUGpNivkgVq6vEz4gEmKpdr+UQ2/yaidvBDF7yB932sC3td6jyD/uWZIhlrwCvkfxlqQY9wpGm/T+4tiEPWjgBwnjkX2zDMQpxiD/GOEevjQNEgXkIf1ErIyHkImgFbiP49Vg3cg4L1Q7Eyx7npAmL5Z+t4dVAZhL/AqclK5GXggaiXtyKi7zWcvUn2P2JmAsIcFWlcflS3HRKQTZeCJFNpIiiBdoMaRZYrYREWnc1OuO2+E6VskO98rBdRt9fdbqwXaUiB0MqEedHlFOazJkUNWqAd9HU4izEOc6l/khe+08OwODg6dVI5LI++zHRwcHBwcHBwcHBwcHBz+B21QzzjAdrDhAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.v1pt_theory(O, A, B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This returns the same result above where we used `dt()` directly to take the derivative in A. It is equivalent to:" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(B) + me.cross(B.ang_vel_in(A), P1.pos_from(O))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Similarly for the acceleration:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (- \\omega^{2} q_{1} + \\ddot{q}_{1})\\mathbf{\\hat{b}_x} + \\ddot{q}_{2}\\mathbf{\\hat{b}_y} - 2 \\omega \\dot{q}_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "⎛ 2 ⎞\n", "⎝- ω ⋅q₁ + q₁̈⎠ b_x + q₂̈ b_y + -2⋅ω⋅q₁̇ b_z" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.a1pt_theory(O, A, B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once `v1pt_theory()` and `a1pt_theory()` are called the calculated velocities are set and available:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(A)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (- \\omega^{2} q_{1} + \\ddot{q}_{1})\\mathbf{\\hat{b}_x} + \\ddot{q}_{2}\\mathbf{\\hat{b}_y} - 2 \\omega \\dot{q}_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "⎛ 2 ⎞\n", "⎝- ω ⋅q₁ + q₁̈⎠ b_x + q₂̈ b_y + -2⋅ω⋅q₁̇ b_z" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.acc(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# P2 with one point theorem" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Applying the 1 point theorem as explained in class is shown below:\n", "\n", "$$\n", "^A\\mathbf{V}^{P_2} =\n", "^B\\mathbf{V}^{P_2} +\n", "^A\\mathbf{V}^{B^*} \\\\\n", "^A\\mathbf{V}^{B^*} =\n", "^A\\mathbf{\\omega}^B \\times \\mathbf{r}^{B^*/O}\n", "$$\n", "\n", "Note that I use P2 below for $B^*$." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z} + \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z + q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.set_vel(B, P2.pos_from(O).dt(B))\n", "P2.vel(B) + me.cross(B.ang_vel_in(A), P2.pos_from(O))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In class, I asked you to use `v1pt_theory()` to find the velocity of $P_2$. My mistake was that I was attempting to use $P_1$ as the point which the velocity is known. But $P_1$ is not fixed in B. Note that I needed to use point O which is fixed in B." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [], "source": [ "# what I did in class, which is incorrect:\n", "# P2.v1pt_theory(P1, A, B)\n", "# P2.a1pt_theory(P1, A, B)" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z} + \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z + q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.v1pt_theory(O, A, B)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And similarly, using `a1pt_theory()`, which gives the correct result." ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (- L \\omega^{2} \\operatorname{cos}\\left(q_{3}\\right) - L \\operatorname{sin}\\left(q_{3}\\right) \\ddot{q}_{3} - L \\operatorname{cos}\\left(q_{3}\\right) \\dot{q}_{3}^{2} - \\omega^{2} q_{1} + \\ddot{q}_{1})\\mathbf{\\hat{b}_x} + (- L \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{3}^{2} + L \\operatorname{cos}\\left(q_{3}\\right) \\ddot{q}_{3} + \\ddot{q}_{2})\\mathbf{\\hat{b}_y} + 2 \\omega \\left(L \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{3} - \\dot{q}_{1}\\right)\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "⎛ 2 2 2 ⎞ ⎛\n", "⎝- L⋅ω ⋅cos(q₃) - L⋅sin(q₃)⋅q₃̈ - L⋅cos(q₃)⋅q₃̇ - ω ⋅q₁ + q₁̈⎠ b_x + ⎝- L⋅sin\n", "\n", " 2 ⎞\n", "(q₃)⋅q₃̇ + L⋅cos(q₃)⋅q₃̈ + q₂̈⎠ b_y + 2⋅ω⋅(L⋅sin(q₃)⋅q₃̇ - q₁̇) b_z" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.a1pt_theory(O, A, B).express(B).simplify()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# New stuff from lecture 12!" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L \\dot{q}_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z} + \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "L⋅q₃̇ e_y + -L⋅ω⋅cos(q₃) e_z + q₁̇ b_x + q₂̇ b_y + -ω⋅q₁ b_z" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.vel(A)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (\\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{2} + \\operatorname{cos}\\left(q_{3}\\right) \\dot{q}_{1})\\mathbf{\\hat{e}_x} + (- \\operatorname{sin}\\left(q_{3}\\right) \\dot{q}_{1} + \\operatorname{cos}\\left(q_{3}\\right) \\dot{q}_{2})\\mathbf{\\hat{e}_y}$" ], "text/plain": [ "(sin(q₃)⋅q₂̇ + cos(q₃)⋅q₁̇) e_x + (-sin(q₃)⋅q₁̇ + cos(q₃)⋅q₂̇) e_y" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(B).express(E)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [], "source": [ "u1, u2, u3 = me.dynamicsymbols('u1:4')" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "P1.set_vel(B, u1 *E.x + u2*E.y -w*q1*E.z)" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle u_{1}\\mathbf{\\hat{e}_x} + u_{2}\\mathbf{\\hat{e}_y} - \\omega q_{1}\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "u₁ e_x + u₂ e_y + -ω⋅q₁ e_z" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(B)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHAAAAAgCAYAAADKbvy8AAAABHNCSVQICAgIfAhkiAAABQtJREFUaIHtmX+IVUUUxz/v7aZlim0/3GhZWqo/VAr6pUZRvCKK0n5JYP0Re4vQ3Kg/KimC3KA/dN2iwC0IsnalMDaCBS0wbc2grVasVDTDzFdktpmaYrpruq8/zrndebP37n33vre9Xu9+YZg7Z86cOTNn5pyZuSnKhyuAu/S7G9hRRl0SRMQkYDcwDOSA7cAZZdUoQSSsRAz3OPC0fr9aVo3+x7hYU6lwH2KwVoO2TGl3lLCfqkCqAJ6s5k1jp0bV4V+N/1k8IyYoHkn8r3BUXPx3ECXd1FROZcqMioz/DokBxwzpciuQoDhUiwEdZPdnyqtG6eFnwFokwG4BBoFfgQ5gAnCY4o+8KWCByj8O/Aa8BVxQpNyxxgJkEbwUwveD8tVr+WygDVgH7EHm8C/gANAHLKKEp9BxwFpVYBMSYN8EjgEfKv2diDId8mPgaqvspp+AhmIHEKJDJmb7euAPYB8wMYS3W/u6R8uX4j9eM20GzoyjWK1V7gBuQVbFiwa9C/hEv7+K05GBOcAalXMjcL3SG4HlwNwi5Y8FFgOTgeeAoyG8Wc2naj4M7AT6EW92CNko04B7ERtcCSwkf84jYwayGtYG1O/W+psiynXIX20rjLo0sMGoGwbOjyg/ig6ZGG3PRULJYQrbJa3a1zKL3gDcDbQATwJPAdvwxv5xDN3y0KWCrguo79f6Oi0/CmwFjmj6HJjt084h34A3WPUPWfW3xx2AIku4yzJTZ4i8FuVbadFnAu8C11r0NuV/Qct1QA/ey0tQ+q7QAZowXeitSGD9LIC3AQnCh7T8M/AMsAs5mDSrolchhg3CQEi5juLwCnCWRbsceXvsYuSz4Dch8jKab7Toc4B5QLtFv0TzXZqvwHv3HA3jC+AJxOnIKgiKb24gfj9EzkHktGbCIdoOnI1c9oNW6vMhOvjB1SETo+0W/D3Tl0o/z6ClkQWZAy5ETu4n8XTvRQxco/zdRl3WkLNKaV9YffYpfZXZIcApTecEDGKx5kEGrgHuR05ofQE8LpqN7zTwgFF2T2RDyAS5aY/BczxEfqkxWXPz8DIVcaEgurq4GZiC6Pwj4glqjPo1wPfIXE9BDnF+eE3zWcB0/W4ArtHvLr9G3yITaApNIcYLik+X6cBOIq7VL345jNxFq5GdtNGi9/i0r0cGnUPibJw7k6tDJkbbTdrWXWgpRP/NSp+h9AmIO87hucxaZF7c8R1EYuRSYC/5Y89a/W5VunsyfUzLe8lfFP/gQWU4hvjtduBrZPK2a519QhyHuISrgSXA74i7NeFYivYy0qA5JKY2Wm0nIbveDfJBHiIMrg6ZGG2f1bYHkEt8L3Jom4V4gx2IUXYq3+tW+0UEj/cjgg34iNIHkIXgLva20ZR9AnFXQ5q3I25gP/BLAYNdD7xh0RxL8YuQ1bQNOZ7vR06C9iV+PJ6x91HcI7irQyZG29OAl5EXoz+BT/FcWTPiKgeRHbMQ/5/k8xFDn1A5byPj7STYgBORq0tO25/S72lRB9CoDT8ogLdXlSsWaeA97fcI8ge7GtGBzMFRzfvjCLmT/HuNi6XIK0oTEguXIHed2+Lpmod5eCtzADmNuenhEsivFEwn33u1xBHSqo3tJ65OxH0MIW5hPXKXLAUcSnuNqGRsQMY9iDyMR0aPCmgqnU4JImA5Mv/d5VYkQTTMRzbPCSQ0zRydPcF/DZ14141qivsJEiRIkCBBQfgbKPitV5Iel00AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle \\dot{q}_{3}\\mathbf{\\hat{b}_z} + \\omega\\mathbf{\\hat{a}_y}$" ], "text/plain": [ "q₃̇ b_z + ω a_y" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.ang_vel_in(A)" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "E.set_ang_vel(A, u3*E.z + w*A.y)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAG8AAAAcCAYAAABvc+EPAAAABHNCSVQICAgIfAhkiAAABLlJREFUaIHtmWtsVUUQx3+thWoLPuqjCok0ShQIjWgrGI0JH4wP1PgioB8I94MpUh8fVAIxkaoYoahR4yMx0aQSDaQaHzFGI1AeiaDVKmIgKFqLoWLVohLEWrHXDzMnZ89mT++55156vOn5Jyd7d3Z2dmZ3ZvZxy0gGFwI36O92YHdCeiSBkrZ9PPAdMARkgV3ACYlqNHIoedvXIIrfAyzV388nqtHIoaRtvxVRuMWgrVba9YloNHIYzbanSJGipJBBUtPsZNUoPsqt+gOIoTc5eCdp25sxx5qFbNjdwF/An8BO4BGgJqbMkcIixPYnc/B1K1+t1muAVmA98D3wB/AP0A9sA5ZQxNPmGzr42Y62W7TtwRhyl+Mfj13fPuD8GHKjIENhkVcL/A4cAMbl4G0n6PzTCbfZ+7qA6jiKVVj1BuBX4AcHb6OWX+Q5xlzgYaP+EeKJ1cAC4EzEWd4C6oF/85R/rLEcOAlx2sM5eHu0nKLlELAH6AR+An4DxgJTkXmpAC4CFgNPFKJkDeIJH4S0r9f2CXnK/Qzfy94Dyoy2qQS98MY8ZUdBhviRdxowgKS7KNHRomOttugTEduagfuA+4Gv8O3eGEO3AK5QQY+GtPcDfUb9TmTPOqTfduBaq08Vw6dL+yvI+xDPjzpWFmjLIa9Z+dZY9JnAOuBSi96q/Cu0fgrwNrnn4OuoBpow02aDll0OvnOQyDSjcj+wDNiLRNNCVbQBWVRPeTPScuH0PHhdeBo42aLNQN4SX8FPax525JA3W8stFv06YD7wuEWfrOVeLV/Gf8ccDpUReIbFOsQLJjna7tK2x3LIOIiczDzYkbcRSRlh3xygjnAPfShfoygsbX6pfS+z6J8o3XS2ciQzeXNYBRzF170DWdzjlL/daOsx5KxV2sfWmNuUvtal6A5g0EGvxM/Pc10dVaHbtH+91dZlKLkL94ltDHAzEqlnqeLe1230Xxoy/nDIEH/xerTvBQZtiqHPiQb9SoKTPoGg491r8J4B/IJ78S436NOUNhE/CK52KdqpjecZtGrgNUPYuVafeuQEdhQ5Sc1xyJ1nGbEPSW/LkEh+BzkQZJGoM1ELfKtt24l3J8oQf/E+1b4LtF4GvIvvkBcrvQpx/ix+mqxA5sSz+yCyJ64CegnOSY817k6CZ4C7td6LH7kBrFCGA8ALyCbdC7wP/Ijcdez9ayySChqBlcg1Y7pDdgvRDi51Rp/xwOf4G/qpLqUjIEP8xfMeLfqRC3oHcjibhTw07EYWZI/yvWj1X4Lbzv3Ah4Qv3h1K70OcYIvWW8MUPR54BlmoI8gRfxFyABgCNkcwdgPwUkhbI7KBf6PyjyApcTNyh5ph8FYiE+U5U12EscOQIf7ijQGeAn5GXoS2Apdo20IkiwwgkbIY9+GsCVnkQZXzKpIG2whfvHH42agJuftmkavVMUOHKlcIyoHXEWUPIf88j0Y8h8zBYS07iyl8FbK51iF730okQq8pUO58fI/sI3h4ub1A2aWEaQRTbXMxhbchaeNvJB1sAK4qgtwMxb0qlDI2IXYP8P9/vE9h4Vlk8dqTViRFdDQhr1WDyFY0M1l1UuSDNvwrxWja51OkSJEiRQon/gNyT6BJMZpd5QAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle u_{3}\\mathbf{\\hat{e}_z} + \\omega\\mathbf{\\hat{a}_y}$" ], "text/plain": [ "u₃ e_z + ω a_y" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "E.ang_vel_in(A)" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [], "source": [ "u1_expr = q1.diff()*sm.cos(q3) + q2.diff()*sm.sin(q3)\n", "u2_expr = -q1.diff()*sm.sin(q3) + q2.diff()*sm.cos(q3)" ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left\\{ \\dot{q}_{1} : u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right), \\ \\dot{q}_{2} : u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right)\\right\\}$" ], "text/plain": [ "{q₁̇: u₁⋅cos(q₃) - u₂⋅sin(q₃), q₂̇: u₁⋅sin(q₃) + u₂⋅cos(q₃)}" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol = sm.solve([u1 - u1_expr, u2 - u2_expr], q1.diff(), q2.diff())\n", "sol" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right)$" ], "text/plain": [ "u₁⋅cos(q₃) - u₂⋅sin(q₃)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sol[q1.diff()]" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [], "source": [ "P1.set_vel(A, sol[q1.diff()]*B.x + sol[q2.diff()]*B.y - w*q1*B.z)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z}$" ], "text/plain": [ "(u₁⋅cos(q₃) - u₂⋅sin(q₃)) b_x + (u₁⋅sin(q₃) + u₂⋅cos(q₃)) b_y + -ω⋅q₁ b_z" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P1.vel(A)" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L u_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "(u₁⋅cos(q₃) - u₂⋅sin(q₃)) b_x + (u₁⋅sin(q₃) + u₂⋅cos(q₃)) b_y + -ω⋅q₁ b_z + L⋅\n", "u₃ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.v2pt_theory(P1, A, E)" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L u_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "(u₁⋅cos(q₃) - u₂⋅sin(q₃)) b_x + (u₁⋅sin(q₃) + u₂⋅cos(q₃)) b_y + -ω⋅q₁ b_z + L⋅\n", "u₃ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.vel(A)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L \\dot{q}_{3}\\mathbf{\\hat{e}_y} + \\dot{q}_{1}\\mathbf{\\hat{b}_x} + \\dot{q}_{2}\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "L⋅q₃̇ e_y + q₁̇ b_x + q₂̇ b_y" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.vel(B)" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L u_{3}\\mathbf{\\hat{e}_y} + (u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "L⋅u₃ e_y + (u₁⋅cos(q₃) - u₂⋅sin(q₃)) b_x + (u₁⋅sin(q₃) + u₂⋅cos(q₃)) b_y" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "B_v_P2 = P2.vel(B).subs(sol).subs({q3.diff(): u3})\n", "B_v_P2" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFEAAAAWCAYAAAC40nDiAAAABHNCSVQICAgIfAhkiAAAAmhJREFUWIXt2E2ITWEcx/HPzChvoyYru5moaUwUhiUJJSRJWXJ3s8AeK0koKS81K4shig3KhpomNpT3JikpIRHGkFBijMVzTnM67p177p37Mur+6nTOeV6/5//8n///6dBQVTSIMaysN8j/qiZ8wSha68zy36pT8MKn9QYpopzAubq+GEHNqfee6P4gQ9/9wodszVPXHtVdLh+taqo4d9qIy6P7/Qx9l0X3fAaPx3lUCkyNVHHuyRixB8N4XSmYGqni3M2p56VCUnlcpN9cdCi87WOYh6XA1EBV5+4S4sGTDG3XRW0PFaj/hPeJ910YwtfouoNNGbleRnNlvforyA37cC/i/ohrWJRsMC3xXOpWJv+KzhdW/Hqi7A324rlwjNqJq9E4Q0XmOoG2VNkSbMFZwchJTbSLSuUmnAD6BEM24SAG0I2RfLBj2DMBRKyLUdv2PHW7o7rDRcYYQW+GufIpp7wjTiW4W4WQtzkuSHpivEpZPLELv/AqVT7duGEKxZUWbI9gbmeYq5KaDHesOUL++McLm/ENvzEzA8xdYdU6E2WzccF4bFqQ6rM4McdnbMwwTyHllOeJ5XCndUnI3i1xQeyJC6PBvuN0gc7DQlyDG1iBW7gieNVaIb69wyy8SPV/JsSyNmzDOcEIWRJZpVQOd1LHsEr4rzCartyheNZLBtwZOIm3+CGEgF7BQH9wM8MHDeBMhnb5lFOeJ06G+7iQubtLnLOqGsT5ekNk1ClTwIBHhS3QIcTGI8LKb6gjU1b1CWfENZiXuGr+l6tfyIg/8UHYyutrDVGmCoW3A3VkaqihhhqasvoLOIO35OU2EG8AAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle L u_{3} + u_{2}$" ], "text/plain": [ "L⋅u₃ + u₂" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mcon = B_v_P2.dot(E.y).simplify()\n", "mcon" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADMAAAAWCAYAAABtwKSvAAAABHNCSVQICAgIfAhkiAAAAdBJREFUWIXt18+LjVEYB/CPS/kxlCxtRtQtiynNsLBQykJYiY0Ny1lgL38AlmRrIVFWWJpME1koEQ2JREiUJjQZIb8W5wzH7b33Pe/cW6+p+63bqfM85/t8n/s8zzn30kdHTOAXttQtpFsswEf8wPKatXSNplCVR3UEb/SYbySudzN8jwqJ7y6wDUbbpSrBe53MxrjeyfAdjmtR4rM896oErzOZEUzhVQeeSsn0Eg1M4zsGSnxXCW10tY39WrSvriogxYtIkvs5n5xtYgUeY6Yk7myLtavgMN7hTbJ3EJPCFzaNW9iVHlrUQvIMX0qEpEiDVW0xiudlrVC51qq9xhE8FZ6AA7gSuSYz9WbjpFCtwxm+F6PvYIHtULQdy+B5j9FcgVVwM4rYnOF7H98K9hfjQeTZ2+H8QuyLHEPVZJajgU/C8C/N8L8tCG4mewO44O88ris4N5TE+YCdqbF1ZuaK9VHMDE638ZkSeh7GsAk3cFn46bNN6P23WIbnBRxPsAErsQfnsBUPe5DDH+xXfvOlA70Ep4QL5LNwaYxGkT9xPTPuOM50rf4/wYR/n4d5gxPC34o1wuwcF6q4o0ZNc8ZZvMRX4UEdx/Y6BfXRx3zHb+g0c3ZoEg1iAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle - L u_{3}$" ], "text/plain": [ "-L⋅u₃" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "u2_sol = sm.solve(mcon, u2)[0]\n", "u2_sol" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (u_{1} \\operatorname{cos}\\left(q_{3}\\right) - u_{2} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (u_{1} \\operatorname{sin}\\left(q_{3}\\right) + u_{2} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L u_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "(u₁⋅cos(q₃) - u₂⋅sin(q₃)) b_x + (u₁⋅sin(q₃) + u₂⋅cos(q₃)) b_y + -ω⋅q₁ b_z + L⋅\n", "u₃ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "P2.vel(A)" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle (L u_{3} \\operatorname{sin}\\left(q_{3}\\right) + u_{1} \\operatorname{cos}\\left(q_{3}\\right))\\mathbf{\\hat{b}_x} + (- L u_{3} \\operatorname{cos}\\left(q_{3}\\right) + u_{1} \\operatorname{sin}\\left(q_{3}\\right))\\mathbf{\\hat{b}_y} - \\omega q_{1}\\mathbf{\\hat{b}_z} + L u_{3}\\mathbf{\\hat{e}_y} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "(L⋅u₃⋅sin(q₃) + u₁⋅cos(q₃)) b_x + (-L⋅u₃⋅cos(q₃) + u₁⋅sin(q₃)) b_y + -ω⋅q₁ b_z\n", " + L⋅u₃ e_y + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_v_P2_nonhol = P2.vel(A).subs({u2: -L*u3})\n", "A_v_P2_nonhol" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{b}_x} + \\operatorname{sin}\\left(q_{3}\\right)\\mathbf{\\hat{b}_y}$" ], "text/plain": [ "cos(q₃) b_x + sin(q₃) b_y" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_v_P1_1 = A_v_P2_nonhol.diff(u1, A)\n", "A_v_P1_1" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle L \\operatorname{sin}\\left(q_{3}\\right)\\mathbf{\\hat{b}_x} - L \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{b}_y} + L\\mathbf{\\hat{e}_y}$" ], "text/plain": [ "L⋅sin(q₃) b_x + -L⋅cos(q₃) b_y + L e_y" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_v_P2_2 = A_v_P2_nonhol.diff(u3, A)\n", "A_v_P2_2" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle - \\omega q_{1}\\mathbf{\\hat{b}_z} - L \\omega \\operatorname{cos}\\left(q_{3}\\right)\\mathbf{\\hat{e}_z}$" ], "text/plain": [ "-ω⋅q₁ b_z + -L⋅ω⋅cos(q₃) e_z" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "A_v_P1_t = (A_v_P2_nonhol - A_v_P1_1*u1 - A_v_P2_2*u3).simplify()\n", "A_v_P1_t" ] } ], "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.6.7" } }, "nbformat": 4, "nbformat_minor": 4 }