{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "One of the simplest models that can predict the fundamental free motion of a bicycle or motorcycle takes the following form:\n", "\n", "$$\n", "\\mathbf{M\\ddot{q}}\n", "+v\\mathbf{C}_1\\mathbf{\\dot{q}}\n", "+\\left[g\\mathbf{K}_0\n", "+v^2\\mathbf{K}_2\\right]\\mathbf{q}\n", "=0\n", "$$\n", "\n", "where\n", "\n", "$$\n", "\\mathbf{q} =\n", "[\\phi \\quad \\delta]^T\n", "$$\n", "\n", "$\\delta$, the steer angle, is a generalized coordinate that tracks the angle between the front frame (handlebar/fork) and the rear frame (frame, seat, etc) and $\\phi$, the roll angle, is a generalized coordinate that tracks the roll angle of the rear frame relative to the ground. If each of these are zero the bicycle is standing upright and the steering is pointed straight ahead. Positive steer angle is to the right and negative steer angle is to the left. Positive roll is to the right and negative to the left." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The system has a mass matrix, $\\mathbf{M}$, and effective damping and stiffness matrices, $\\mathbf{C}=v\\mathbf{C}_1$ and $\\mathbf{K}=g\\mathbf{K}_0 + v^2\\mathbf{K}_2$, that are parameterized by the speed of the bicycle $v$ and the acceleration due to gravity $g$. These matrices are a function of the vehicle's geometry and mass distribution. Typical values for the four matrices in SI units are:\n", "\n", "$$\n", "\\mathbf{M} =\n", "\\begin{bmatrix}\n", "80.81722 & 2.31941332208709 \\\\\n", "2.31941332208709 & 0.29784188199686\n", "\\end{bmatrix}\n", "$$\n", "\n", "$$\n", "\\mathbf{K}_0 =\n", "\\begin{bmatrix}\n", "-80.95 & -2.599516 852 498 72 \\\\\n", "-2.599516 852 498 72 & -0.803 294 884 586 18\n", "\\end{bmatrix}\n", "$$\n", "\n", "$$\n", "\\mathbf{K}_2 =\n", "\\begin{bmatrix}\n", "0 & 76.597 345 895 732 22 \\\\\n", "0 & 2.654 315 237 946 04\n", "\\end{bmatrix}\n", "$$\n", "\n", "$$\n", "\\mathbf{C}_1 =\n", "\\begin{bmatrix}\n", "0 & 33.866 414 914 924 94 \\\\\n", "-0.850 356 414 569 78 & 1.685 403 973 975 60\n", "\\end{bmatrix}\n", "$$\n", "\n", "The speed $v$ is in meters per second and $g$ is in meters per second squared." ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "np.set_printoptions(precision=4, linewidth=100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Eigenvalues and Eigenvectors\n", "\n", "In the previous class we learned that the free response of the system can be formulated by solving an eigenvalue problem. This applies to systems with or without damping. All scientific computing software provides efficient numerical routines to compute the eigenvalues and eigenvectors of a square matrix. In Python you can use `numpy.linalg.eig`. For systems that have a general damping matric, this computation requires that the system be in state space form:\n", "\n", "$$\\dot{\\mathbf{x}} = \\mathbf{A} \\mathbf{x}$$\n", "\n", "where $\\mathbf{x}$ is the state vector.\n", "\n", "# Exercise\n", "\n", "Write a function that takes the matrices $\\mathbf{M,K_0, K_2, C_1}$, the speed, and gravity as an input and returns the A matrix." ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def compute_state_matrix(v, g, M, C1, K0, K2):\n", " \"\"\"Returns the state matrix.\n", " \n", " Parameters\n", " ----------\n", " v : float\n", " Bicycle speed in meters per second.\n", " g : float\n", " Acceleration due to gravity in meters per second squared.\n", " M : array_like, shape(2,2)\n", " The mass matrix.\n", " C1 : array_like, shape(2,2)\n", " The speed proportional damping matrix.\n", " K0 : array_like, shape(2,2)\n", " The gravity proportional stiffness matrix.\n", " K2 : array_like, shape(2,2)\n", " The speed squared proportional stiffness matrix.\n", " \n", " Returns\n", " -------\n", "\n", " As : ndarray, shape(n,4,4)\n", " The state matrices evaluated at each speed in `speeds`.\n", "\n", " Notes\n", " -----\n", " The second order equations of motion take this form:\n", " \n", " M * q'' + v * C1 * q' + [g * K0 + v**2 * K2] * q = 0\n", " \n", " where q = [roll angle,\n", " steer angle]\n", " \n", " The first order equations of motion take this form:\n", " \n", " x' = A * x + B * u\n", " \n", " where x = [roll angle,\n", " steer angle,\n", " roll rate,\n", " steer rate]\n", "\n", " \"\"\"\n", " \n", " # write your code here\n", " \n", " invM = np.linalg.inv(M)\n", " \n", " # sub-matrices\n", " a11 = np.zeros((2, 2))\n", " a12 = np.eye(2)\n", " a21 = -invM @ (g * K0 + v**2 * K2)\n", " a22 = -invM @ (v * C1)\n", "\n", " # note that np.bmat returns a matrix but we don't want that! so make it an array\n", " A = np.array(np.bmat([[a11, a12], [a21, a22]]))\n", "\n", " return A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now use the function to create a state matrix, $\\mathbf{A}$, for $v=5.4 \\textrm{m/s}$ and $g=9.81$. This speed is normal \"around town\" riding speed (12 mph)." ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 0. , 1. , 0. ],\n", " [ 0. , 0. , 0. , 1. ],\n", " [ 9.4898, -26.5588, -0.5698, -1.7848],\n", " [ 11.7195, -26.5865, 19.8547, -16.6583]])" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "M = np.array([[ 80.81722 , 2.31941332],\n", " [ 2.31941332, 0.29784188]])\n", "C1 = np.array([[ 0. , 33.86641391],\n", " [ -0.85035641, 1.68540397]])\n", "K0 = np.array([[-80.95 , -2.59951685],\n", " [ -2.59951685, -0.80329488]])\n", "K2 = np.array([[ 0. , 76.5973459 ],\n", " [ 0. , 2.65431524]])\n", "\n", "v = 5.4\n", "g = 9.81\n", "\n", "A = compute_state_matrix(v, g, M, C1, K0, K2)\n", "A" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now compute the eigenvalues and eigenvectors of the the system using `numpy.linalg.eig`, see https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html." ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "collapsed": true }, "outputs": [], "source": [ "eigenvalues, eigenvectors = np.linalg.eig(A)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The eigenvalues are, in general, complex numbers. The complex eigenvalues come in complex conjugate pairs. Each pair corresponds to one osciallatory mode of motion. The real eigenvalues each correspond to one non-osciallatory mode of motion." ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([ -0.1487+0.j , -1.1037+5.0438j, -1.1037-5.0438j, -14.8720+0.j ])" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eigenvalues" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "array([[ 9.2967e-01+0.j , -1.1363e-02-0.1127j, -1.1363e-02+0.1127j, 5.1082e-06+0.j ],\n", " [ 3.3775e-01+0.j , -3.2652e-02-0.1492j, -3.2652e-02+0.1492j, -6.7089e-02+0.j ],\n", " [ -1.3825e-01+0.j , 5.8083e-01+0.067j , 5.8083e-01-0.067j , -7.5969e-05+0.j ],\n", " [ -5.0226e-02+0.j , 7.8866e-01+0.j , 7.8866e-01-0.j , 9.9775e-01+0.j ]])" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "eigenvectors" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# Plot eigenvectors on polar plot" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "One way to visualize the modes of motion is by plotting phasor plots of each of the eigenvector components. Eigenvectors are made up of $n$ components, each which may be real or imaginary, that correspond to the states variables. In our case each each component is tied to the roll angle, steer angle, roll angular rate, and steer angular rate. It is also important to note that the phasor plot for osciallation (underdamped) of the derivative of one of the variables simply increases the magnitue by a factor $\\omega_i$ and phase shifts the variable by $90^\\circ$, i.e.:\n", "\n", "$$\n", "r_i(t) = A_i e^{-\\zeta_i \\omega_i t} \\sin(\\omega_{di} t + \\phi_i) \\\\\n", "\\dot{r}_i(t) = \\omega_{di} A_i e^{-\\zeta_i \\omega_i t} \\cos(\\omega_{di} t + \\phi_i)\n", "$$\n", "\n", "This means that we only need to look at the components associated with the angles to see how the vehicle is moving.\n", "\n", "A nice way to plot phasors that are using a polar plot. For example if I have an eigenvalue of $-1.2 + 6j$ that has an associated eigenvector of $[-0.011-0.123j, -0.032-0.149j, 0.581+ 0.067j, 0.789]$ then we can select the first two components and plot a line that is equivlanent to the magnitude of the component and at an angle based on the tangent of the imaginary over the real part." ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib notebook" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(2, 2, subplot_kw={'projection': 'polar'})\n", "\n", "for i, ax in enumerate(axes.flatten()):\n", " e_val = eigenvalues[i]\n", " evec = eigenvectors[:, i]\n", " radius = np.abs(evec[0])\n", " theta = np.angle(evec[0])\n", " ax.plot([0, theta], [0, radius], linewidth=2, alpha=0.75)\n", " radius = np.abs(evec[1])\n", " theta = np.angle(evec[1])\n", " ax.plot([0, theta], [0, radius], linewidth=2, alpha=0.75)\n", " ax.set_title('{:1.3f}'.format(e_val))\n", "ax.legend(['Roll Angle', 'Steer Angle'])\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Examine the Mode Shape Trajectories" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For 5.4 m/s knowing that the two purely real eigenvalues represent overdamped behavior and the pair of imgarinary eigenvlues are " ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def underdamped(e_val, initial, times):\n", " zeta_wn = -np.real(e_val)\n", " wd = np.abs(np.imag(e_val))\n", " \n", " r0_roll = initial[0]\n", " r0_steer = initial[1]\n", " r0d_roll = initial[2]\n", " r0d_steer = initial[3]\n", " \n", " # roll\n", " A = np.sqrt(((r0d_roll + zeta_wn * r0_roll)**2 + (r0_roll * wd)**2) / wd**2)\n", " phi = np.arctan2(r0_roll * wd, r0d_roll + zeta_wn * r0_roll)\n", " roll_traj = A * np.exp(-zeta_wn * times) * np.sin(wd * times + phi)\n", " \n", " #steer\n", " A = np.sqrt(((r0d_steer + zeta_wn * r0_steer)**2 + (r0_steer * wd)**2) / wd**2)\n", " phi = np.arctan2(r0_steer * wd, r0d_steer + zeta_wn * r0_steer)\n", " steer_traj = A * np.exp(-zeta_wn * times) * np.sin(wd * times + phi)\n", "\n", " return roll_traj, steer_traj" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def overdamped(e_val, initial, times): \n", "\n", " r0_roll = initial[0]\n", " r0_steer = initial[1]\n", " \n", " roll_traj = r0_roll * np.exp(np.real(e_val) * times)\n", " steer_traj = r0_steer * np.exp(np.real(e_val) * times)\n", " \n", " return roll_traj, steer_traj" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Mode 1: Non-oscillatory" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The real part of the eigenvector components provide the initial conditions for that mode." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "array([-0.0114, -0.0327, 0.5808, 0.7887])" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "initial = np.real(eigenvectors[:, 1])\n", "\n", "times = np.linspace(0, 5, num=1000)\n", "\n", "roll_angle, steer_angle = underdamped(eigenvalues[1], initial, times)\n", "\n", "plt.figure()\n", "plt.plot(times, np.rad2deg(roll_angle), times, np.rad2deg(steer_angle))\n", "plt.legend(['Roll Angle', 'Steer Angle'])\n", "plt.xlabel('Time [s]')\n", "plt.ylabel('Angle [deg]');\n", "\n", "initial" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "initial = np.real(eigenvectors[:, 3])\n", "\n", "times = np.linspace(0, 5, num=1000)\n", "\n", "roll_angle, steer_angle = overdamped(eigenvalues[3], initial, times)\n", "\n", "plt.figure()\n", "plt.plot(times, np.rad2deg(roll_angle), times, np.rad2deg(steer_angle))\n", "plt.legend(['Roll Angle', 'Steer Angle'])\n", "plt.xlabel('Time [s]')\n", "plt.ylabel('Angle [deg]');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Numerically Integrating\n", "\n", "The linear equations of motion can also be integrated with a numerical integration routine. If you provide the eigenvectors as initial conditions you will see only that particular mode's motion." ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from scipy.integrate import odeint\n", "\n", "initial = np.real(eigenvectors[:, 1])\n", "\n", "def rhs(x, t, A):\n", " \"\"\" Returns the derivative of the linear ordinary differential equation.\"\"\"\n", " return A @ x\n", "\n", "x = odeint(rhs, initial, times, args=(A, ))" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def plot_roll_and_steer(times, roll, steer, ax=None):\n", " if ax is None:\n", " fig, ax = plt.subplots(1, 1)\n", " ax.plot(times, np.rad2deg(roll), times, np.rad2deg(steer))\n", " ax.legend(['Roll Angle', 'Steer Angle'])\n", " ax.set_xlabel('Time [s]')\n", " ax.set_ylabel('Angle [deg]')" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(2, 2)\n", "\n", "for i, ax in enumerate(axes.flatten()):\n", " initial = np.real(eigenvectors[:, i])\n", " x = odeint(rhs, initial, times, args=(A, ))\n", " plot_roll_and_steer(times, x[:, 0], x[:, 1], ax=ax)\n", "plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false }, "outputs": [ { "data": { "application/javascript": [ "/* Put everything inside the global mpl namespace */\n", "window.mpl = {};\n", "\n", "mpl.get_websocket_type = function() {\n", " if (typeof(WebSocket) !== 'undefined') {\n", " return WebSocket;\n", " } else if (typeof(MozWebSocket) !== 'undefined') {\n", " return MozWebSocket;\n", " } else {\n", " alert('Your browser does not have WebSocket support.' +\n", " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", " 'Firefox 4 and 5 are also supported but you ' +\n", " 'have to enable WebSockets in about:config.');\n", " };\n", "}\n", "\n", "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", " this.id = figure_id;\n", "\n", " this.ws = websocket;\n", "\n", " this.supports_binary = (this.ws.binaryType != undefined);\n", "\n", " if (!this.supports_binary) {\n", " var warnings = document.getElementById(\"mpl-warnings\");\n", " if (warnings) {\n", " warnings.style.display = 'block';\n", " warnings.textContent = (\n", " \"This browser does not support binary websocket messages. \" +\n", " \"Performance may be slow.\");\n", " }\n", " }\n", "\n", " this.imageObj = new Image();\n", "\n", " this.context = undefined;\n", " this.message = undefined;\n", " this.canvas = undefined;\n", " this.rubberband_canvas = undefined;\n", " this.rubberband_context = undefined;\n", " this.format_dropdown = undefined;\n", "\n", " this.image_mode = 'full';\n", "\n", " this.root = $('
');\n", " this._root_extra_style(this.root)\n", " this.root.attr('style', 'display: inline-block');\n", "\n", " $(parent_element).append(this.root);\n", "\n", " this._init_header(this);\n", " this._init_canvas(this);\n", " this._init_toolbar(this);\n", "\n", " var fig = this;\n", "\n", " this.waiting = false;\n", "\n", " this.ws.onopen = function () {\n", " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", " fig.send_message(\"send_image_mode\", {});\n", " fig.send_message(\"refresh\", {});\n", " }\n", "\n", " this.imageObj.onload = function() {\n", " if (fig.image_mode == 'full') {\n", " // Full images could contain transparency (where diff images\n", " // almost always do), so we need to clear the canvas so that\n", " // there is no ghosting.\n", " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", " }\n", " fig.context.drawImage(fig.imageObj, 0, 0);\n", " };\n", "\n", " this.imageObj.onunload = function() {\n", " this.ws.close();\n", " }\n", "\n", " this.ws.onmessage = this._make_on_message_function(this);\n", "\n", " this.ondownload = ondownload;\n", "}\n", "\n", "mpl.figure.prototype._init_header = function() {\n", " var titlebar = $(\n", " '
');\n", " var titletext = $(\n", " '
');\n", " titlebar.append(titletext)\n", " this.root.append(titlebar);\n", " this.header = titletext[0];\n", "}\n", "\n", "\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "\n", "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", "\n", "}\n", "\n", "mpl.figure.prototype._init_canvas = function() {\n", " var fig = this;\n", "\n", " var canvas_div = $('
');\n", "\n", " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", "\n", " function canvas_keyboard_event(event) {\n", " return fig.key_event(event, event['data']);\n", " }\n", "\n", " canvas_div.keydown('key_press', canvas_keyboard_event);\n", " canvas_div.keyup('key_release', canvas_keyboard_event);\n", " this.canvas_div = canvas_div\n", " this._canvas_extra_style(canvas_div)\n", " this.root.append(canvas_div);\n", "\n", " var canvas = $('');\n", " canvas.addClass('mpl-canvas');\n", " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", "\n", " this.canvas = canvas[0];\n", " this.context = canvas[0].getContext(\"2d\");\n", "\n", " var rubberband = $('');\n", " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", "\n", " var pass_mouse_events = true;\n", "\n", " canvas_div.resizable({\n", " start: function(event, ui) {\n", " pass_mouse_events = false;\n", " },\n", " resize: function(event, ui) {\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " stop: function(event, ui) {\n", " pass_mouse_events = true;\n", " fig.request_resize(ui.size.width, ui.size.height);\n", " },\n", " });\n", "\n", " function mouse_event_fn(event) {\n", " if (pass_mouse_events)\n", " return fig.mouse_event(event, event['data']);\n", " }\n", "\n", " rubberband.mousedown('button_press', mouse_event_fn);\n", " rubberband.mouseup('button_release', mouse_event_fn);\n", " // Throttle sequential mouse events to 1 every 20ms.\n", " rubberband.mousemove('motion_notify', mouse_event_fn);\n", "\n", " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", "\n", " canvas_div.on(\"wheel\", function (event) {\n", " event = event.originalEvent;\n", " event['data'] = 'scroll'\n", " if (event.deltaY < 0) {\n", " event.step = 1;\n", " } else {\n", " event.step = -1;\n", " }\n", " mouse_event_fn(event);\n", " });\n", "\n", " canvas_div.append(canvas);\n", " canvas_div.append(rubberband);\n", "\n", " this.rubberband = rubberband;\n", " this.rubberband_canvas = rubberband[0];\n", " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", " this.rubberband_context.strokeStyle = \"#000000\";\n", "\n", " this._resize_canvas = function(width, height) {\n", " // Keep the size of the canvas, canvas container, and rubber band\n", " // canvas in synch.\n", " canvas_div.css('width', width)\n", " canvas_div.css('height', height)\n", "\n", " canvas.attr('width', width);\n", " canvas.attr('height', height);\n", "\n", " rubberband.attr('width', width);\n", " rubberband.attr('height', height);\n", " }\n", "\n", " // Set the figure to an initial 600x600px, this will subsequently be updated\n", " // upon first draw.\n", " this._resize_canvas(600, 600);\n", "\n", " // Disable right mouse context menu.\n", " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", " return false;\n", " });\n", "\n", " function set_focus () {\n", " canvas.focus();\n", " canvas_div.focus();\n", " }\n", "\n", " window.setTimeout(set_focus, 100);\n", "}\n", "\n", "mpl.figure.prototype._init_toolbar = function() {\n", " var fig = this;\n", "\n", " var nav_element = $('
')\n", " nav_element.attr('style', 'width: 100%');\n", " this.root.append(nav_element);\n", "\n", " // Define a callback function for later on.\n", " function toolbar_event(event) {\n", " return fig.toolbar_button_onclick(event['data']);\n", " }\n", " function toolbar_mouse_event(event) {\n", " return fig.toolbar_button_onmouseover(event['data']);\n", " }\n", "\n", " for(var toolbar_ind in mpl.toolbar_items) {\n", " var name = mpl.toolbar_items[toolbar_ind][0];\n", " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", " var image = mpl.toolbar_items[toolbar_ind][2];\n", " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", "\n", " if (!name) {\n", " // put a spacer in here.\n", " continue;\n", " }\n", " var button = $('');\n", " button.click(method_name, toolbar_event);\n", " button.mouseover(tooltip, toolbar_mouse_event);\n", " nav_element.append(button);\n", " }\n", "\n", " // Add the status bar.\n", " var status_bar = $('');\n", " nav_element.append(status_bar);\n", " this.message = status_bar[0];\n", "\n", " // Add the close button to the window.\n", " var buttongrp = $('
');\n", " var button = $('');\n", " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", " buttongrp.append(button);\n", " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", " titlebar.prepend(buttongrp);\n", "}\n", "\n", "mpl.figure.prototype._root_extra_style = function(el){\n", " var fig = this\n", " el.on(\"remove\", function(){\n", "\tfig.close_ws(fig, {});\n", " });\n", "}\n", "\n", "mpl.figure.prototype._canvas_extra_style = function(el){\n", " // this is important to make the div 'focusable\n", " el.attr('tabindex', 0)\n", " // reach out to IPython and tell the keyboard manager to turn it's self\n", " // off when our div gets focus\n", "\n", " // location in version 3\n", " if (IPython.notebook.keyboard_manager) {\n", " IPython.notebook.keyboard_manager.register_events(el);\n", " }\n", " else {\n", " // location in version 2\n", " IPython.keyboard_manager.register_events(el);\n", " }\n", "\n", "}\n", "\n", "mpl.figure.prototype._key_event_extra = function(event, name) {\n", " var manager = IPython.notebook.keyboard_manager;\n", " if (!manager)\n", " manager = IPython.keyboard_manager;\n", "\n", " // Check for shift+enter\n", " if (event.shiftKey && event.which == 13) {\n", " this.canvas_div.blur();\n", " // select the cell after this one\n", " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", " IPython.notebook.select(index + 1);\n", " }\n", "}\n", "\n", "mpl.figure.prototype.handle_save = function(fig, msg) {\n", " fig.ondownload(fig, null);\n", "}\n", "\n", "\n", "mpl.find_output_cell = function(html_output) {\n", " // Return the cell and output element which can be found *uniquely* in the notebook.\n", " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", " // IPython event is triggered only after the cells have been serialised, which for\n", " // our purposes (turning an active figure into a static one), is too late.\n", " var cells = IPython.notebook.get_cells();\n", " var ncells = cells.length;\n", " for (var i=0; i= 3 moved mimebundle to data attribute of output\n", " data = data.data;\n", " }\n", " if (data['text/html'] == html_output) {\n", " return [cell, data, j];\n", " }\n", " }\n", " }\n", " }\n", "}\n", "\n", "// Register the function which deals with the matplotlib target/channel.\n", "// The kernel may be null if the page has been refreshed.\n", "if (IPython.notebook.kernel != null) {\n", " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", "}\n" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(2, 1)\n", "\n", "axes[0].plot(speeds, np.real(eigenvalues), 'k.')\n", "axes[0].axhline(0)\n", "axes[0].set_ylim([-10, 10])\n", "axes[1].plot(speeds, np.imag(eigenvalues), 'k.');\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is a function that computes the canonical matrices for the bicycle given various geometric and inerital parameters.\n", "\n" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK\nCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU\nFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAFyAjgDASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK\nKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo\nAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi\niigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+bNE+LfiLQtM8V+NdX\nsH1WaHxqvhC20y21h1txHNqcNjE4jaIIrRtIh3DBcPJuIwor6Trz+T4D+C5tBvtGfT706de62niO\n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\noWDRjRoZ5pyn2uLzfkhBZk8vzNwIIxnNegUUAfO/g7X/ABPZ+KPDiOvi2a2ufG2sWVyL/Tr1oo9K\n+z3T2xdpI8LH5wtQkrH+LaG25A7f42aV/amsfDbNtq9xHD4kEkz6Ut0fJjNncoXkaD7i7nQbmIA3\ndeTXqNFaU5+zlzITVz5Uv/FniweHNL0+PV/Een3MkWvxJ5+l6nLd2zDUlXT7uZI4HleNbfeFEm1J\nATliRld/XNV1rShf3WjXniXVdHn8R+G77R7qye6vkk02WS1S7YOu4yRFDOWU7sbg2BwR7vqXhnTt\nVvUvJ4ZEu1j8nz7eeSCRo852MyMCy5JODkAkmr1jY22mWVvZ2cEdraW8awwwQoESNFGFVVHAAAAA\nHpXc8VDRqP8AV79vl6E8p89Wa+Nf+EZ1C9sb3xOXXxdNaXMGoW9z5kej/b2KvArqJH/d7R5iEt5b\ntg5VSPYvBVjdw+E57fWL6bWkae62yXNo8bm3aRykRVizuEQhAzfM4UE5JyeqormqV/aK1ra3KSse\nBfC7V9AvfGWreKbPw/4q05NH8OrpVjp1z4X1KxS10+B96xoLiBDcTyHkJFv2rGijkkv7zbzi5t4p\nlV1WRQ4WRCjAEZwVPIPseakoqKtT2krr/MErBRRRWIwooooAKKKKACiiigAooooAKKKKACiiigAo\noooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii\nigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK\nACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA\nKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA/9k=\n", "text/plain": [ "" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Image\n", "Image('bicycle.jpg')" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/jpeg": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsK\nCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQU\nFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAHpAj0DASIA\nAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA\nAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3\nODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm\np6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA\nAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx\nBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK\nU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3\nuLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9U6KK\n57xH4Y1LXLqKWy8W6z4ejRNrQabFZOjnJO4me3lbPOOCBx0oA6GiuI/4V9r3/RTPFP8A4DaT/wDI\nNH/Cvte/6KZ4p/8AAbSf/kGgDt6K4j/hX2vf9FM8U/8AgNpP/wAg0f8ACvte/wCimeKf/AbSf/kG\ngDt6K4j/AIV9r3/RTPFP/gNpP/yDR/wr7Xv+imeKf/AbSf8A5BoA7eiuI/4V9r3/AEUzxT/4DaT/\nAPINH/Cvte/6KZ4p/wDAbSf/AJBoA7eiuI/4V9r3/RTPFP8A4DaT/wDINH/Cvte/6KZ4p/8AAbSf\n/kGgDt6K4j/hX2vf9FM8U/8AgNpP/wAg0f8ACvte/wCimeKf/AbSf/kGgDt6K4j/AIV9r3/RTPFP\n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\nS33I5QF1dWIXOKqy/CPxg3i/U9WjtdAjiuvHVr4lUjUZvMFpHpsNmyn/AEb/AFhMbNtztxIfm657\nj/hZ+q/9E28XflYf/JdH/Cz9V/6Jt4u/Kw/+S6AO+orgf+Fn6r/0Tbxd+Vh/8l0f8LP1X/om3i78\nrD/5LoA76iuB/wCFn6r/ANE28XflYf8AyXR/ws/Vf+ibeLvysP8A5LoA76iuB/4Wfqv/AETbxd+V\nh/8AJdH/AAs/Vf8Aom3i78rD/wCS6AO+orgf+Fn6r/0Tbxd+Vh/8l0f8LP1X/om3i78rD/5LoA76\niuB/4Wfqv/RNvF35WH/yXR/ws/Vf+ibeLvysP/kugDvqK4H/AIWfqv8A0Tbxd+Vh/wDJdH/Cz9V/\n6Jt4u/Kw/wDkugDvqK4H/hZ+q/8ARNvF35WH/wAl10vhjxBceIrOWe50LUtAdJNgg1Tyd7jAO4eV\nJIMc45IPB4oA2aKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo\nAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigA\nooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/2Q==\n", "text/plain": [ "" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Image('parameters.jpg')" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def benchmark_parameters():\n", " \"\"\"Returns the benchmark bicycle parameters from [Meijaard2007]_.\n", " References\n", " ----------\n", " .. [Meijaard2007]_ J. P. Meijaard, Jim M. Papadopoulos, Andy Ruina, and A.\n", " L. Schwab. Linearized dynamics equations for the balance and steer of a\n", " bicycle: A benchmark and review. Proceedings of the Royal Society A:\n", " Mathematical, Physical and Engineering Sciences, 463(2084):1955–1982,\n", " August 2007.\n", " \"\"\"\n", "\n", " p = {}\n", "\n", " p['w'] = 1.02\n", " p['c'] = 0.08\n", " p['lam'], p['lambda'] = pi / 10., pi / 10.\n", " p['g'] = 9.81\n", " p['rR'] = 0.3\n", " p['mR'] = 2.0\n", " p['IRxx'] = 0.0603\n", " p['IRyy'] = 0.12\n", " p['xB'] = 0.3\n", " p['zB'] = -0.9\n", " p['mB'] = 85.0\n", " p['IBxx'] = 9.2\n", " p['IByy'] = 11.0\n", " p['IBzz'] = 2.8\n", " p['IBxz'] = 2.4\n", " p['xH'] = 0.9\n", " p['zH'] = -0.7\n", " p['mH'] = 4.0\n", " p['IHxx'] = 0.05892\n", " p['IHyy'] = 0.06\n", " p['IHzz'] = 0.00708\n", " p['IHxz'] = -0.00756\n", " p['rF'] = 0.35\n", " p['mF'] = 3.0\n", " p['IFxx'] = 0.1405\n", " p['IFyy'] = 0.28\n", "\n", " return p" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [], "source": [ "def benchmark_par_to_canonical(p):\n", " \"\"\"\n", " Returns the canonical matrices of the Whipple bicycle model linearized\n", " about the upright constant velocity configuration. It uses the parameter\n", " definitions from [Meijaard2007]_.\n", " Parameters\n", " ----------\n", " p : dictionary\n", " A dictionary of the benchmark bicycle parameters. Make sure your units\n", " are correct, best to ue the benchmark paper's units!\n", " Returns\n", " -------\n", " M : ndarray, shape(2,2)\n", " The mass matrix.\n", " C1 : ndarray, shape(2,2)\n", " The damping like matrix that is proportional to the speed, v.\n", " K0 : ndarray, shape(2,2)\n", " The stiffness matrix proportional to gravity, g.\n", " K2 : ndarray, shape(2,2)\n", " The stiffness matrix proportional to the speed squared, v**2.\n", " \"\"\"\n", " mT = p['mR'] + p['mB'] + p['mH'] + p['mF']\n", " xT = (p['xB'] * p['mB'] + p['xH'] * p['mH'] + p['w'] * p['mF']) / mT\n", " zT = (-p['rR'] * p['mR'] + p['zB'] * p['mB'] +\n", " p['zH'] * p['mH'] - p['rF'] * p['mF']) / mT\n", "\n", " ITxx = (p['IRxx'] + p['IBxx'] + p['IHxx'] + p['IFxx'] + p['mR'] *\n", " p['rR']**2 + p['mB'] * p['zB']**2 + p['mH'] * p['zH']**2 + p['mF']\n", " * p['rF']**2)\n", " ITxz = (p['IBxz'] + p['IHxz'] - p['mB'] * p['xB'] * p['zB'] -\n", " p['mH'] * p['xH'] * p['zH'] + p['mF'] * p['w'] * p['rF'])\n", " p['IRzz'] = p['IRxx']\n", " p['IFzz'] = p['IFxx']\n", " ITzz = (p['IRzz'] + p['IBzz'] + p['IHzz'] + p['IFzz'] +\n", " p['mB'] * p['xB']**2 + p['mH'] * p['xH']**2 + p['mF'] * p['w']**2)\n", "\n", " mA = p['mH'] + p['mF']\n", " xA = (p['xH'] * p['mH'] + p['w'] * p['mF']) / mA\n", " zA = (p['zH'] * p['mH'] - p['rF'] * p['mF']) / mA\n", "\n", " IAxx = (p['IHxx'] + p['IFxx'] + p['mH'] * (p['zH'] - zA)**2 +\n", " p['mF'] * (p['rF'] + zA)**2)\n", " IAxz = (p['IHxz'] - p['mH'] * (p['xH'] - xA) * (p['zH'] - zA) + p['mF'] *\n", " (p['w'] - xA) * (p['rF'] + zA))\n", " IAzz = (p['IHzz'] + p['IFzz'] + p['mH'] * (p['xH'] - xA)**2 + p['mF'] *\n", " (p['w'] - xA)**2)\n", " uA = (xA - p['w'] - p['c']) * np.cos(p['lam']) - zA * np.sin(p['lam'])\n", " IAll = (mA * uA**2 + IAxx * np.sin(p['lam'])**2 +\n", " 2 * IAxz * np.sin(p['lam']) * np.cos(p['lam']) +\n", " IAzz * np.cos(p['lam'])**2)\n", " IAlx = (-mA * uA * zA + IAxx * np.sin(p['lam']) + IAxz *\n", " np.cos(p['lam']))\n", " IAlz = (mA * uA * xA + IAxz * np.sin(p['lam']) + IAzz *\n", " np.cos(p['lam']))\n", "\n", " mu = p['c'] / p['w'] * np.cos(p['lam'])\n", "\n", " SR = p['IRyy'] / p['rR']\n", " SF = p['IFyy'] / p['rF']\n", " ST = SR + SF\n", " SA = mA * uA + mu * mT * xT\n", "\n", " Mpp = ITxx\n", " Mpd = IAlx + mu * ITxz\n", " Mdp = Mpd\n", " Mdd = IAll + 2 * mu * IAlz + mu**2 * ITzz\n", " M = np.array([[Mpp, Mpd], [Mdp, Mdd]])\n", "\n", " K0pp = mT * zT # this value only reports to 13 digit precision it seems?\n", " K0pd = -SA\n", " K0dp = K0pd\n", " K0dd = -SA * np.sin(p['lam'])\n", " K0 = np.array([[K0pp, K0pd], [K0dp, K0dd]])\n", "\n", " K2pp = 0.\n", " K2pd = (ST - mT * zT) / p['w'] * np.cos(p['lam'])\n", " K2dp = 0.\n", " K2dd = (SA + SF * np.sin(p['lam'])) / p['w'] * np.cos(p['lam'])\n", " K2 = np.array([[K2pp, K2pd], [K2dp, K2dd]])\n", "\n", " C1pp = 0.\n", " C1pd = (mu * ST + SF * np.cos(p['lam']) + ITxz / p['w'] *\n", " cos(p['lam']) - mu*mT*zT)\n", " C1dp = -(mu * ST + SF * np.cos(p['lam']))\n", " C1dd = (IAlz / p['w'] * np.cos(p['lam']) + mu * (SA +\n", " ITzz / p['w'] * np.cos(p['lam'])))\n", " C1 = np.array([[C1pp, C1pd], [C1dp, C1dd]])\n", "\n", " return M, C1, K0, K2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Exercises\n", "\n", "1. Remove the gyro effect of the wheels from your model by setting $I_{zz}$ to zero for both wheels. Is your bicycle still stable in some speed range?\n", "\n", "2. Reverse the trail, $c$, (make negative). Is your bicycle still stable in some speed range?\n", "\n", "3. Keep the gyro effect and the positive trail but change the mass distribution of the front fork such that the bicycle is always unstable.\n", "\n", "4. Make a design with negative trail which still shows some stable speed range." ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python [default]", "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.5.2" } }, "nbformat": 4, "nbformat_minor": 1 }