diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb new file mode 100644 index 0000000..bb1a28f --- /dev/null +++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/optimize_4km.ipynb @@ -0,0 +1,56507 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n", + "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_manuscript/Run/Run_4km_terminal\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import os,sys\n", + "\n", + "\n", + "sys.path.append('../..')\n", + "sys.path.append('../../../RL_lib/Agents/PPO')\n", + "sys.path.append('../../../RL_lib/Utils')\n", + "\n", + "%load_ext autoreload\n", + "%load_ext autoreload\n", + "%autoreload 2\n", + "%matplotlib nbagg\n", + "import os\n", + "print(os.getcwd())" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%html\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Optimize Policy" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6dof dynamics model\n", + "Quaternion_attitude\n", + "Thruster Config Shape: (4, 6) 4\n", + "Inertia Tensor: [[2000. 0. 0.]\n", + " [ 0. 2000. 0.]\n", + " [ 0. 0. 3200.]]\n", + "Lander Model: \n", + " - apf_v0: 70\n", + " - apf_vf1: [ 0. 0. -2.]\n", + " - apf_vf2: [ 0. 0. -1.]\n", + " - apf_atarg: 15.0\n", + " - apf_tau1: 20\n", + " - apf_tau2: 100.0\n", + "Reward_terminal\n", + "queue fixed\n", + "Flat Constraint\n", + "Attitude Constraint\n" + ] + }, + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "lander env att 2 fixed\n", + "Landing_icgen:\n", + " downrange : (0, 2000, -70, -10)\n", + " crossrange : (-1000, 1000, -30, 30)\n", + " altitude : (2300, 2400, -90, -70)\n", + "PPO Policy 1\n", + "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n", + "[[-1.]\n", + " [ 0.]\n", + " [ 1.]]\n", + "10\n", + "Actor Test Mode: False\n", + "clip param: 0.1\n", + "dict_keys(['h2/kernel:0', 'logvars:0', 'means/bias:0', 'h1/kernel:0', 'means/kernel:0', 'h1/bias:0', 'h2/bias:0', 'h3/bias:0', 'h3/kernel:0'])\n", + "\n" + ] + } + ], + "source": [ + "from env import Env\n", + "from reward_terminal_mdr import Reward\n", + "import env_utils as envu\n", + "import attitude_utils as attu\n", + "from dynamics_model import Dynamics_model\n", + "from lander_model import Lander_model\n", + "from ic_gen import Landing_icgen\n", + "from agent_mdr2 import Agent\n", + "from policy_ppo import Policy\n", + "from value_function import Value_function\n", + "from utils import Mapminmax,Logger,Scaler\n", + "from flat_constraint import Flat_constraint\n", + "from glideslope_constraint import Glideslope_constraint\n", + "from attitude_constraint import Attitude_constraint\n", + "from thruster_model import Thruster_model\n", + "\n", + "logger = Logger()\n", + "dynamics_model = Dynamics_model()\n", + "attitude_parameterization = attu.Quaternion_attitude()\n", + "\n", + "thruster_model = Thruster_model()\n", + "thruster_model.max_thrust = 5000\n", + "thruster_model.min_thrust = 1000\n", + "\n", + "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n", + " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n", + "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n", + "\n", + "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n", + "\n", + "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n", + "shape_constraint = Flat_constraint()\n", + "attitude_constraint = Attitude_constraint(attitude_parameterization, \n", + " attitude_penalty=-100,attitude_coeff=-10,\n", + " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n", + "env = Env(lander_model,dynamics_model,logger,\n", + " reward_object=reward_object,\n", + " glideslope_constraint=glideslope_constraint,\n", + " shape_constraint=shape_constraint,\n", + " attitude_constraint=attitude_constraint,\n", + " tf_limit=120.0,print_every=10)\n", + "\n", + "\n", + "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n", + " g_uncertainty=(0.0,0.0), \n", + " attitude_parameterization=attitude_parameterization,\n", + " l_offset=0.,\n", + " adapt_apf_v0=True,\n", + " inertia_uncertainty_diag=100.0, \n", + " inertia_uncertainty_offdiag=10.0,\n", + " downrange = (0,2000 , -70, -10), \n", + " crossrange = (-1000,1000 , -30,30), \n", + " altitude = (2300,2400,-90,-70),\n", + " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n", + " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n", + " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n", + "\n", + "env.ic_gen.show()\n", + "\n", + "\n", + "obs_dim = 12\n", + "act_dim = 4\n", + "\n", + "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n", + "import utils\n", + "fname = \"optimize_4km\"\n", + "input_normalizer = utils.load_run(policy,fname)\n", + "print(input_normalizer)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# 9 square km" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9609.54 |3283.51 |3464.10 |20000.00 | 30\n", + "glideslope | 3.036 | 7.225 | 0.550 |369.467 | 99\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.4 -0.0 | 1.0 1.1 0.0 | -1.6 -4.3 -0.0 | 4.0 1.9 -0.0\n", + "velocity | 0.064 -0.012 -0.921 | 0.028 0.040 0.076 | -0.009 -0.126 -1.159 | 0.119 0.079 -0.647\n", + "fuel |306.72 | 25.16 |270.40 |383.72\n", + "attitude_321 | -0.003 -0.017 0.002 | 0.163 0.011 0.011 | -0.438 -0.044 -0.023 | 0.396 0.002 0.037\n", + "w | -0.001 -0.005 -0.000 | 0.023 0.012 0.000 | -0.085 -0.046 -0.000 | 0.066 0.040 0.000\n", + "glideslope | 22.353 | 14.673 | 9.447 | 90.333\n", + "i : 200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9694.35 |3323.13 |3464.10 |20000.00 | 30\n", + "glideslope | 3.078 | 9.857 | 0.550 |1046.910 | 116\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.3 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 2.4 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.038 0.073 | -0.009 -0.157 -1.205 | 0.119 0.079 -0.647\n", + "fuel |306.08 | 25.40 |263.48 |383.72\n", + "attitude_321 | -0.001 -0.016 0.002 | 0.177 0.011 0.012 | -0.438 -0.044 -0.023 | 0.572 0.011 0.064\n", + "w | -0.001 -0.007 -0.000 | 0.022 0.014 0.000 | -0.085 -0.083 -0.000 | 0.066 0.040 0.000\n", + "glideslope | 26.710 | 36.798 | 9.447 | 461.467\n", + "i : 300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9663.39 |3331.40 |3464.10 |20000.00 | 30\n", + "glideslope | 3.121 | 9.706 | 0.550 |1046.910 | 116\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.3 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.065 -0.015 -0.929 | 0.027 0.038 0.075 | -0.009 -0.157 -1.250 | 0.126 0.079 -0.647\n", + "fuel |306.66 | 25.68 |263.48 |383.72\n", + "attitude_321 | 0.004 -0.016 0.002 | 0.174 0.011 0.012 | -0.438 -0.051 -0.023 | 0.572 0.011 0.064\n", + "w | -0.001 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.066 0.040 0.000\n", + "glideslope | 24.559 | 30.771 | 9.447 | 461.467\n", + "i : 400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9657.44 |3343.33 |3464.10 |20000.00 | 30\n", + "glideslope | 3.043 | 9.126 | 0.550 |1046.910 | 116\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.3 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.065 -0.015 -0.932 | 0.026 0.038 0.075 | -0.009 -0.157 -1.305 | 0.126 0.080 -0.647\n", + "fuel |307.14 | 25.26 |263.48 |383.72\n", + "attitude_321 | 0.007 -0.016 0.002 | 0.172 0.011 0.012 | -0.438 -0.051 -0.023 | 0.572 0.011 0.064\n", + "w | -0.002 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.066 0.040 0.000\n", + "glideslope | 23.872 | 27.405 | 9.447 | 461.467\n", + "i : 500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9655.54 |3331.73 |3464.10 |20000.00 | 30\n", + "glideslope | 2.995 | 9.810 | 0.550 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.065 -0.015 -0.931 | 0.026 0.038 0.076 | -0.009 -0.157 -1.305 | 0.130 0.080 -0.647\n", + "fuel |306.75 | 24.82 |263.48 |383.72\n", + "attitude_321 | 0.001 -0.016 0.002 | 0.174 0.011 0.012 | -0.438 -0.051 -0.033 | 0.572 0.011 0.064\n", + "w | -0.001 -0.006 -0.000 | 0.023 0.015 0.000 | -0.089 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 23.580 | 25.082 | 9.049 | 461.467\n", + "i : 600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.41 |3356.40 |3464.10 |20000.00 | 30\n", + "glideslope | 2.932 | 9.846 | 0.550 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.1 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.064 -0.014 -0.933 | 0.026 0.038 0.077 | -0.009 -0.157 -1.305 | 0.135 0.080 -0.647\n", + "fuel |307.42 | 24.76 |263.48 |383.72\n", + "attitude_321 | -0.000 -0.016 0.002 | 0.172 0.011 0.012 | -0.438 -0.051 -0.033 | 0.572 0.011 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 23.740 | 24.008 | 9.049 | 461.467\n", + "i : 700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9688.33 |3364.78 |3464.10 |20000.00 | 30\n", + "glideslope | 2.920 | 9.498 | 0.550 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.064 -0.014 -0.934 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.095 -0.647\n", + "fuel |307.04 | 24.81 |263.48 |385.90\n", + "attitude_321 | -0.006 -0.016 0.002 | 0.175 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 23.698 | 23.531 | 8.769 | 461.467\n", + "i : 800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9690.16 |3370.05 |3464.10 |20000.00 | 30\n", + "glideslope | 2.909 | 9.395 | 0.550 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.4 -4.3 -0.1 | 4.0 3.1 -0.0\n", + "velocity | 0.064 -0.015 -0.933 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.095 -0.647\n", + "fuel |307.29 | 24.69 |263.48 |385.90\n", + "attitude_321 | -0.004 -0.016 0.002 | 0.174 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 24.401 | 32.146 | 8.735 | 672.942\n", + "i : 900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9694.81 |3371.94 |3464.10 |20000.00 | 30\n", + "glideslope | 2.933 | 9.174 | 0.550 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.932 | 0.026 0.039 0.077 | -0.010 -0.157 -1.305 | 0.135 0.123 -0.647\n", + "fuel |307.63 | 24.39 |263.48 |385.90\n", + "attitude_321 | -0.000 -0.016 0.002 | 0.175 0.011 0.012 | -0.451 -0.051 -0.033 | 0.572 0.011 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.091 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 24.054 | 30.667 | 8.735 | 672.942\n", + "i : 1000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9699.16 |3376.96 |3464.10 |20000.00 | 30\n", + "glideslope | 2.913 | 8.930 | 0.490 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.078 | -0.010 -0.167 -1.305 | 0.135 0.123 -0.647\n", + "fuel |307.64 | 24.62 |263.48 |397.97\n", + "attitude_321 | 0.000 -0.016 0.002 | 0.176 0.011 0.013 | -0.451 -0.057 -0.033 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.097 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 23.919 | 29.317 | 8.428 | 672.942\n", + "i : 1100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9698.39 |3371.62 |3464.10 |20000.00 | 30\n", + "glideslope | 2.946 | 9.173 | 0.490 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.7 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.078 | -0.010 -0.167 -1.305 | 0.135 0.123 -0.647\n", + "fuel |307.43 | 24.46 |263.48 |397.97\n", + "attitude_321 | -0.002 -0.016 0.002 | 0.177 0.011 0.013 | -0.492 -0.057 -0.033 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.097 -0.083 -0.000 | 0.087 0.042 0.000\n", + "glideslope | 23.989 | 29.543 | 8.428 | 672.942\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 1200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9695.72 |3373.46 |3464.10 |20000.00 | 30\n", + "glideslope | 2.943 | 9.028 | 0.490 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.931 | 0.027 0.040 0.079 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.647\n", + "fuel |307.69 | 24.62 |263.48 |397.97\n", + "attitude_321 | -0.001 -0.016 0.002 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.993 | 28.569 | 7.298 | 672.942\n", + "i : 1300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9693.39 |3369.71 |3464.10 |20000.00 | 30\n", + "glideslope | 2.936 | 8.930 | 0.490 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.930 | 0.027 0.040 0.078 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.647\n", + "fuel |307.73 | 24.56 |263.48 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.943 | 27.812 | 7.298 | 672.942\n", + "i : 1400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9690.95 |3377.30 |3464.10 |20000.00 | 30\n", + "glideslope | 2.916 | 8.845 | 0.490 |1789.733 | 435\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.929 | 0.027 0.040 0.078 | -0.010 -0.182 -1.305 | 0.135 0.123 -0.568\n", + "fuel |308.14 | 24.78 |263.48 |397.97\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.918 | 27.091 | 7.298 | 672.942\n", + "i : 1500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9681.23 |3369.95 |3464.10 |20000.00 | 30\n", + "glideslope | 2.920 |11.459 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.3 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.015 -0.929 | 0.027 0.040 0.079 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n", + "fuel |308.12 | 24.78 |263.48 |397.97\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.828 | 26.359 | 7.298 | 672.942\n", + "i : 1600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9680.45 |3369.68 |3464.10 |20000.00 | 30\n", + "glideslope | 2.955 |13.339 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.930 | 0.027 0.040 0.079 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n", + "fuel |308.17 | 24.75 |263.48 |397.97\n", + "attitude_321 | 0.001 -0.015 0.003 | 0.174 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.802 | 25.865 | 7.298 | 672.942\n", + "i : 1700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.55 |3365.20 |3464.10 |20000.00 | 30\n", + "glideslope | 2.956 |13.054 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.930 | 0.027 0.040 0.078 | -0.010 -0.182 -1.319 | 0.135 0.123 -0.568\n", + "fuel |308.12 | 24.66 |263.48 |397.97\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.729 | 25.298 | 7.298 | 672.942\n", + "i : 1800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.33 |3370.53 |3464.10 |20000.00 | 30\n", + "glideslope | 2.927 |12.752 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.078 | -0.010 -0.182 -1.319 | 0.137 0.123 -0.568\n", + "fuel |308.48 | 24.58 |263.48 |397.97\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.015 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.083 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.730 | 24.962 | 7.298 | 672.942\n", + "i : 1900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.09 |3367.09 |3464.10 |20000.00 | 30\n", + "glideslope | 2.919 |12.565 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -4.4 -0.1 | 4.0 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.930 | 0.027 0.040 0.079 | -0.010 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.52 | 24.61 |263.48 |397.97\n", + "attitude_321 | -0.002 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.671 | 24.424 | 7.298 | 672.942\n", + "i : 2000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.90 |3368.59 |3464.10 |20000.00 | 30\n", + "glideslope | 2.950 |12.504 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.930 | 0.027 0.039 0.079 | -0.014 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.57 | 24.66 |263.48 |397.97\n", + "attitude_321 | 0.000 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.662 | 24.216 | 7.298 | 672.942\n", + "i : 2100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.01 |3367.55 |3464.10 |20000.00 | 30\n", + "glideslope | 2.932 |12.331 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.930 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.60 | 24.52 |263.48 |397.97\n", + "attitude_321 | 0.000 -0.015 0.003 | 0.175 0.011 0.012 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.014 | 30.690 | 7.298 | 910.566\n", + "i : 2200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.27 |3369.55 |3464.10 |20000.00 | 30\n", + "glideslope | 2.926 |12.141 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.58 | 24.46 |263.48 |397.97\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.175 0.011 0.013 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.989 | 30.399 | 7.298 | 910.566\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 2300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.69 |3368.71 |3464.10 |20000.00 | 30\n", + "glideslope | 2.926 |11.975 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.55 | 24.45 |263.48 |397.97\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.492 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.943 | 30.253 | 7.298 | 910.566\n", + "i : 2400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.17 |3370.24 |3464.10 |20000.00 | 30\n", + "glideslope | 2.914 |11.827 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.67 | 24.43 |263.48 |397.97\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.503 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.812 | 29.684 | 7.298 | 910.566\n", + "i : 2500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.40 |3370.96 |3464.10 |20000.00 | 30\n", + "glideslope | 2.907 |11.761 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.1 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.137 0.123 -0.568\n", + "fuel |308.69 | 24.39 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.503 -0.057 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.732 | 29.238 | 7.298 | 910.566\n", + "i : 2600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.87 |3369.30 |3464.10 |20000.00 | 30\n", + "glideslope | 2.903 |11.771 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.568\n", + "fuel |308.59 | 24.31 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.661 | 28.789 | 7.298 | 910.566\n", + "i : 2700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.70 |3368.42 |3464.10 |20000.00 | 30\n", + "glideslope | 2.899 |11.618 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -5.7 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.562\n", + "fuel |308.53 | 24.28 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n", + "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.547 | 28.329 | 7.298 | 910.566\n", + "i : 2800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.14 |3367.80 |3464.10 |20000.00 | 30\n", + "glideslope | 2.896 |11.489 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.040 0.081 | -0.018 -0.182 -1.323 | 0.139 0.123 -0.562\n", + "fuel |308.40 | 24.26 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.572 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.099 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.549 | 27.929 | 7.298 | 910.566\n", + "i : 2900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.62 |3371.00 |3464.10 |20000.00 | 30\n", + "glideslope | 2.909 |11.430 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n", + "fuel |308.48 | 24.30 |262.81 |397.97\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.708 | 29.903 | 7.298 | 910.566\n", + "i : 3000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.58 |3369.77 |3464.10 |20000.00 | 30\n", + "glideslope | 2.917 |11.514 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n", + "fuel |308.41 | 24.25 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.348 | 46.999 | 7.298 |2028.250\n", + "i : 3100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.57 |3370.05 |3464.10 |20000.00 | 30\n", + "glideslope | 2.933 |11.459 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n", + "fuel |308.30 | 24.19 |262.81 |397.97\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.284 | 46.367 | 7.298 |2028.250\n", + "i : 3200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.15 |3367.76 |3464.10 |20000.00 | 30\n", + "glideslope | 2.930 |11.344 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n", + "fuel |308.22 | 24.18 |262.81 |397.97\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.088 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.241 | 45.684 | 7.298 |2028.250\n", + "i : 3300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.43 |3367.21 |3464.10 |20000.00 | 30\n", + "glideslope | 2.932 |11.265 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.562\n", + "fuel |308.18 | 24.20 |262.81 |397.97\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.002 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.310 | 45.820 | 7.298 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 3400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.93 |3368.85 |3464.10 |20000.00 | 30\n", + "glideslope | 2.924 |11.145 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.553\n", + "fuel |308.33 | 24.26 |262.81 |397.97\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.237 | 45.387 | 7.298 |2028.250\n", + "i : 3500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.77 |3370.03 |3464.10 |20000.00 | 30\n", + "glideslope | 2.920 |11.037 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.553\n", + "fuel |308.37 | 24.26 |262.81 |397.97\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.133 | 44.766 | 7.298 |2028.250\n", + "i : 3600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.82 |3371.31 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.921 |10.960 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.040 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.43 | 24.30 |262.81 |397.97\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.091 | 44.182 | 7.298 |2028.250\n", + "i : 3700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.88 |3371.21 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.918 |10.879 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.41 | 24.30 |262.81 |397.97\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.017 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.015 | 43.632 | 7.298 |2028.250\n", + "i : 3800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.79 |3374.23 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.906 |10.795 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.55 | 24.37 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.083 | 43.280 | 7.298 |2028.250\n", + "i : 3900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.37 |3374.16 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.897 |10.703 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.57 | 24.34 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.023 | 42.764 | 7.298 |2028.250\n", + "i : 4000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.65 |3376.37 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.891 |10.616 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.080 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.58 | 24.34 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.947 | 42.258 | 7.298 |2028.250\n", + "i : 4100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.02 |3376.37 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.886 |10.620 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.018 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.63 | 24.41 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.957 | 41.959 | 7.298 |2028.250\n", + "i : 4200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.88 |3377.13 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.885 |10.591 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.71 | 24.42 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.006 | 41.532 | 7.298 |2028.250\n", + "i : 4300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.46 |3376.92 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.887 |10.591 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.64 | 24.43 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.035 | 41.185 | 7.298 |2028.250\n", + "i : 4400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.97 |3375.76 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |10.540 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.929 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.65 | 24.41 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.030 | 40.767 | 7.298 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 4500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.80 |3376.66 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.466 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.61 | 24.40 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 24.001 | 40.364 | 7.298 |2028.250\n", + "i : 4600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.01 |3377.76 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.404 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.082 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.68 | 24.40 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.177 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.980 | 40.010 | 7.298 |2028.250\n", + "i : 4700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.51 |3374.28 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.382 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.928 | 0.027 0.039 0.082 | -0.063 -0.182 -1.323 | 0.157 0.123 -0.487\n", + "fuel |308.59 | 24.41 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.938 | 39.618 | 7.298 |2028.250\n", + "i : 4800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.26 |3374.77 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.340 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.41 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.866 | 39.256 | 7.298 |2028.250\n", + "i : 4900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.56 |3374.17 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.276 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.49 | 24.42 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.874 | 38.911 | 7.298 |2028.250\n", + "i : 5000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.79 |3375.28 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.239 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.55 | 24.44 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.893 | 38.600 | 7.298 |2028.250\n", + "i : 5100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.02 |3375.12 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.871 |10.182 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.58 | 24.44 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.863 | 38.262 | 7.298 |2028.250\n", + "i : 5200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.94 |3374.32 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.193 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.43 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.852 | 37.978 | 7.298 |2028.250\n", + "i : 5300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.47 |3373.60 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.174 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.52 | 24.44 |262.81 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.880 | 37.693 | 7.298 |2028.250\n", + "i : 5400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.20 |3373.37 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.869 |10.155 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.57 | 24.50 |262.81 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.018 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.887 | 37.439 | 7.298 |2028.250\n", + "i : 5500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.54 |3373.28 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.103 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.53 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.880 | 37.159 | 7.298 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 5600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.34 |3371.85 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.868 |10.044 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.55 | 24.52 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.830 | 36.848 | 7.298 |2028.250\n", + "i : 5700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.87 |3372.26 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.864 | 9.996 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.57 | 24.52 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.795 | 36.551 | 7.298 |2028.250\n", + "i : 5800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.30 |3372.80 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.862 | 9.950 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.59 | 24.56 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.757 | 36.268 | 7.298 |2028.250\n", + "i : 5900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.15 |3371.82 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.866 | 9.929 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.48 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.756 | 35.986 | 7.298 |2028.250\n", + "i : 6000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.78 |3372.02 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.867 | 9.888 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.47 | 24.50 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.786 | 35.785 | 7.298 |2028.250\n", + "i : 6100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.52 |3371.18 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.894 |10.360 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 4.9 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.42 | 24.44 |262.81 |401.31\n", + "attitude_321 | -0.000 -0.015 0.003 | 0.175 0.011 0.013 | -0.509 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.788 | 35.566 | 7.298 |2028.250\n", + "i : 6200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.02 |3372.21 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |10.309 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.47 | 24.45 |262.81 |401.31\n", + "attitude_321 | -0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.789 | 35.357 | 7.298 |2028.250\n", + "i : 6300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.20 |3373.09 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.894 |10.291 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.51 | 24.55 |262.81 |401.31\n", + "attitude_321 | -0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.759 | 35.111 | 7.298 |2028.250\n", + "i : 6400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.20 |3373.48 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |10.238 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.57 | 24.59 |262.81 |401.31\n", + "attitude_321 | -0.001 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.716 | 34.852 | 7.298 |2028.250\n", + "i : 6500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.01 |3373.00 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.891 |10.199 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.182 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.51 | 24.57 |262.81 |401.31\n", + "attitude_321 | -0.001 -0.015 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.039 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.060 0.000\n", + "glideslope | 23.727 | 34.638 | 7.298 |2028.250\n", + "i : 6600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.80 |3371.83 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.893 |10.208 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.48 | 24.55 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.681 | 34.408 | 6.865 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 6700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.88 |3372.65 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.896 |10.198 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.064\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.095 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.681 | 34.195 | 6.865 |2028.250\n", + "i : 6800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.58 |3372.91 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.896 |10.198 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.1 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.59 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.670 | 33.999 | 6.865 |2028.250\n", + "i : 6900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.24 |3372.86 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.894 |10.149 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.081 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.56 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.624 | 33.778 | 6.865 |2028.250\n", + "i : 7000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.91 |3373.14 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.893 |10.423 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.60 | 24.65 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.015 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.661 | 33.647 | 6.865 |2028.250\n", + "i : 7100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.24 |3374.44 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |10.392 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.61 | 24.65 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.614 | 33.436 | 6.865 |2028.250\n", + "i : 7200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.65 |3375.36 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.886 |10.351 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.64 | 24.64 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.098 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.627 | 33.281 | 6.865 |2028.250\n", + "i : 7300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9678.52 |3374.90 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.887 |10.461 | 0.490 |4996.561 | 1440\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.59 | 24.64 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.019 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.602 | 33.084 | 6.865 |2028.250\n", + "i : 7400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9677.20 |3375.11 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.888 |10.950 | 0.490 |5235.953 | 7327\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.63 | 24.64 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.579 | 32.908 | 6.865 |2028.250\n", + "i : 7500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.23 |3374.17 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |10.953 | 0.490 |5235.953 | 7327\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.8 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.61 | 24.63 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.560 | 32.719 | 6.865 |2028.250\n", + "i : 7600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.80 |3373.84 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.888 |10.918 | 0.490 |5235.953 | 7327\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.60 | 24.64 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.535 | 32.542 | 6.865 |2028.250\n", + "i : 7700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.97 |3372.89 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |11.006 | 0.490 |5235.953 | 7327\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.928 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.56 | 24.62 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.087 0.073 0.000\n", + "glideslope | 23.581 | 32.773 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 7800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.01 |3372.86 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.887 |10.964 | 0.490 |5235.953 | 7327\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.55 | 24.60 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.560 | 32.599 | 6.456 |2028.250\n", + "i : 7900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.46 |3372.50 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.895 |12.011 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.55 | 24.63 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.524 | 32.419 | 6.456 |2028.250\n", + "i : 8000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9676.28 |3372.53 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.901 |11.989 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.63 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.526 | 32.275 | 6.456 |2028.250\n", + "i : 8100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9675.22 |3371.31 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.896 |11.936 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.49 | 24.61 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.111 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.527 | 32.133 | 6.456 |2028.250\n", + "i : 8200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.89 |3371.46 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.894 |11.889 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.54 | 24.64 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.508 | 31.967 | 6.456 |2028.250\n", + "i : 8300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.68 |3372.10 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.893 |11.858 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.323 | 0.157 0.136 -0.487\n", + "fuel |308.58 | 24.62 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.577 | 32.695 | 6.456 |2028.250\n", + "i : 8400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.00 |3371.84 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.891 |11.817 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.57 | 24.59 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.592 | 32.578 | 6.456 |2028.250\n", + "i : 8500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.97 |3371.58 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.895 |11.803 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.51 | 24.56 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.634 | 33.092 | 6.456 |2028.250\n", + "i : 8600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.12 |3372.29 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.890 |11.751 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.56 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.626 | 32.954 | 6.456 |2028.250\n", + "i : 8700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.63 |3372.60 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.888 |11.710 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.59 | 24.60 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.089 0.073 0.000\n", + "glideslope | 23.633 | 32.939 | 6.456 |2028.250\n", + "i : 8800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.46 |3372.62 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.886 |11.669 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.083 | -0.063 -0.216 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.60 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.609 | 32.776 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 8900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.05 |3372.52 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.885 |11.628 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.60 | 24.59 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.632 | 32.657 | 6.456 |2028.250\n", + "i : 9000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.09 |3372.17 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.882 |11.585 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.58 | 24.59 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.599 | 32.490 | 6.456 |2028.250\n", + "i : 9100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.21 |3372.14 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |11.540 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.157 0.136 -0.487\n", + "fuel |308.60 | 24.60 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.584 | 32.326 | 6.456 |2028.250\n", + "i : 9200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.84 |3372.62 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |11.510 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.60 | 24.60 |262.81 |401.31\n", + "attitude_321 | 0.002 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.597 | 32.244 | 6.456 |2028.250\n", + "i : 9300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.20 |3371.77 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |11.478 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.59 | 24.59 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.605 | 32.129 | 6.456 |2028.250\n", + "i : 9400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.90 |3370.93 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.434 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.58 | 24.60 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.584 | 32.002 | 6.456 |2028.250\n", + "i : 9500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.58 |3371.16 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.398 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.57 | 24.57 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.559 | 31.853 | 6.456 |2028.250\n", + "i : 9600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.96 |3370.41 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.365 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.55 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.530 | 31.701 | 6.456 |2028.250\n", + "i : 9700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.73 |3370.20 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |11.333 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.53 | 24.51 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.520 | 31.565 | 6.456 |2028.250\n", + "i : 9800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.74 |3370.71 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |11.314 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.55 | 24.52 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.517 | 31.425 | 6.456 |2028.250\n", + "i : 9900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.03 |3371.73 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |11.274 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.58 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.492 | 31.291 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 10000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.15 |3372.32 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |11.249 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.59 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.576 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.499 | 31.228 | 6.456 |2028.250\n", + "i : 10100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.00 |3372.44 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |11.229 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.064 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.62 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.494 | 31.180 | 6.456 |2028.250\n", + "i : 10200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.53 |3372.44 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.866 |11.189 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.65 | 24.56 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.473 | 31.054 | 6.456 |2028.250\n", + "i : 10300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.18 |3372.87 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.864 |11.169 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.68 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.462 | 30.921 | 6.456 |2028.250\n", + "i : 10400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.82 |3372.74 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.864 |11.139 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.67 | 24.57 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.463 | 30.803 | 6.456 |2028.250\n", + "i : 10500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.82 |3372.52 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.869 |11.214 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.66 | 24.58 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.461 | 30.784 | 6.456 |2028.250\n", + "i : 10600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.07 |3372.68 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |11.180 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.63 | 24.56 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.452 | 30.665 | 6.456 |2028.250\n", + "i : 10700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.07 |3372.49 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |11.187 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.164 0.136 -0.487\n", + "fuel |308.61 | 24.56 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.455 | 30.549 | 6.456 |2028.250\n", + "i : 10800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.78 |3371.95 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |11.164 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n", + "fuel |308.59 | 24.55 |262.81 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.059 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.116 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.485 | 30.524 | 6.456 |2028.250\n", + "i : 10900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.82 |3371.43 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |11.176 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n", + "fuel |308.57 | 24.53 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.499 | 30.438 | 6.456 |2028.250\n", + "i : 11000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.06 |3371.85 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.178 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n", + "fuel |308.58 | 24.53 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.500 | 30.345 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 11100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.97 |3372.03 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |11.151 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n", + "fuel |308.59 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.488 | 30.230 | 6.456 |2028.250\n", + "i : 11200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.69 |3371.54 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |11.133 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.136 -0.487\n", + "fuel |308.58 | 24.53 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.501 | 30.175 | 6.456 |2028.250\n", + "i : 11300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.19 |3371.94 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |11.248 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.60 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.516 | 30.116 | 6.456 |2028.250\n", + "i : 11400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.59 |3371.87 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |11.260 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.63 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.539 | 30.123 | 6.456 |2028.250\n", + "i : 11500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.48 |3371.58 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.248 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.63 | 24.52 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.522 | 30.008 | 6.456 |2028.250\n", + "i : 11600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.37 |3372.48 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.227 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.65 | 24.54 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.504 | 29.893 | 6.456 |2028.250\n", + "i : 11700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.60 |3372.05 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.196 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.63 | 24.53 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.494 | 29.802 | 6.456 |2028.250\n", + "i : 11800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.84 |3372.50 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.176 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.65 | 24.52 |262.81 |401.31\n", + "attitude_321 | 0.001 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.491 | 29.697 | 6.456 |2028.250\n", + "i : 11900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.10 |3371.96 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.237 | 0.490 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.6 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.61 | 24.50 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.471 | 29.590 | 6.456 |2028.250\n", + "i : 12000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.51 |3372.27 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |11.219 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.3 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.61 | 24.52 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.583 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.488 | 29.539 | 6.456 |2028.250\n", + "i : 12100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.96 |3371.94 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.186 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.60 | 24.53 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.478 | 29.532 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 12200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.06 |3372.40 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |11.170 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.60 | 24.52 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.470 | 29.439 | 6.456 |2028.250\n", + "i : 12300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.29 |3372.48 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.141 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.082 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.59 | 24.51 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.476 | 29.349 | 6.456 |2028.250\n", + "i : 12400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.57 |3371.69 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |11.130 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.56 | 24.50 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.482 | 29.261 | 6.456 |2028.250\n", + "i : 12500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.63 |3371.61 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |11.106 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.039 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.55 | 24.50 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.462 | 29.161 | 6.456 |2028.250\n", + "i : 12600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.04 |3371.77 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |11.108 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.58 | 24.52 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.473 | 29.124 | 6.456 |2028.250\n", + "i : 12700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.05 |3371.51 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |11.090 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.57 | 24.51 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.466 | 29.068 | 6.456 |2028.250\n", + "i : 12800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.60 |3370.97 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |11.061 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.55 | 24.50 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.452 | 28.984 | 6.456 |2028.250\n", + "i : 12900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.45 |3370.80 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |11.050 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.53 | 24.49 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.468 | 29.051 | 6.456 |2028.250\n", + "i : 13000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.49 |3370.76 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |11.034 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.168 0.196 -0.487\n", + "fuel |308.53 | 24.48 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.498 | 29.465 | 6.456 |2028.250\n", + "i : 13100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.55 |3369.99 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |11.011 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.014 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.49 | 24.46 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.474 | 29.366 | 6.456 |2028.250\n", + "i : 13200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9668.47 |3370.06 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.996 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.49 | 24.45 |262.64 |401.31\n", + "attitude_321 | 0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.476 | 29.276 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 13300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.18 |3370.19 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.986 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.48 | 24.46 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.468 | 29.179 | 6.456 |2028.250\n", + "i : 13400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.12 |3370.09 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.961 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.45 | 24.44 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.175 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.466 | 29.092 | 6.456 |2028.250\n", + "i : 13500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.79 |3370.66 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.939 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.49 | 24.45 |262.64 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.483 | 29.166 | 6.456 |2028.250\n", + "i : 13600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.27 |3370.26 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.963 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.45 | 24.44 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.492 | 29.087 | 6.456 |2028.250\n", + "i : 13700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.56 |3370.48 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.942 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.46 | 24.44 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.501 | 29.013 | 6.456 |2028.250\n", + "i : 13800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.86 |3370.38 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.924 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.43 | 24.43 |262.64 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.494 | 28.992 | 6.456 |2028.250\n", + "i : 13900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.03 |3370.91 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.933 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.41 | 24.42 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.495 | 28.911 | 6.456 |2028.250\n", + "i : 14000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.03 |3370.35 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.913 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.40 | 24.41 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.486 | 28.859 | 6.456 |2028.250\n", + "i : 14100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.51 |3371.26 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.890 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.41 | 24.42 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.459 | 28.765 | 6.456 |2028.250\n", + "i : 14200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.18 |3371.54 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.865 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.41 | 24.42 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.021 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.445 | 28.675 | 6.456 |2028.250\n", + "i : 14300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.92 |3371.50 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.846 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.42 | 24.42 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.443 | 28.602 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 14400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.03 |3370.98 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.821 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.38 | 24.41 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.433 | 28.523 | 6.456 |2028.250\n", + "i : 14500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.93 |3370.64 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |10.803 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.487\n", + "fuel |308.38 | 24.43 |262.64 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.424 | 28.441 | 6.456 |2028.250\n", + "i : 14600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.00 |3371.11 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |10.788 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n", + "fuel |308.40 | 24.46 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.416 | 28.361 | 6.456 |2028.250\n", + "i : 14700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.99 |3370.78 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.774 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.45 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.424 | 28.296 | 6.456 |2028.250\n", + "i : 14800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.94 |3370.97 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.781 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.45 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.425 | 28.309 | 6.456 |2028.250\n", + "i : 14900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.74 |3370.85 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |10.805 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.44 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.409 | 28.225 | 6.456 |2028.250\n", + "i : 15000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.30 |3370.52 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |10.784 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.330 | 0.176 0.196 -0.400\n", + "fuel |308.34 | 24.44 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.117 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.407 | 28.158 | 6.456 |2028.250\n", + "i : 15100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.02 |3370.36 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |10.762 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.43 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.398 | 28.082 | 6.456 |2028.250\n", + "i : 15200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.17 |3370.09 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.881 |10.754 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.388 | 28.013 | 6.456 |2028.250\n", + "i : 15300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.54 |3370.52 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.880 |10.742 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.389 | 27.959 | 6.456 |2028.250\n", + "i : 15400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.63 |3370.62 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |10.725 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.388 | 27.947 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 15500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.81 |3370.36 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.879 |10.709 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.32 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.394 | 27.896 | 6.456 |2028.250\n", + "i : 15600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.03 |3370.60 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.694 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.35 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.382 | 27.816 | 6.456 |2028.250\n", + "i : 15700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9674.00 |3370.77 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.679 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.36 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.374 | 27.747 | 6.456 |2028.250\n", + "i : 15800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.60 |3370.87 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.658 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.35 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.364 | 27.696 | 6.456 |2028.250\n", + "i : 15900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.40 |3371.00 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.653 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.36 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.351 | 27.619 | 6.456 |2028.250\n", + "i : 16000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.54 |3371.00 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.878 |10.647 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.32 | 24.34 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.382 | 27.714 | 6.456 |2028.250\n", + "i : 16100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.49 |3371.15 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.623 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.36 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.359 | 27.638 | 6.456 |2028.250\n", + "i : 16200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.33 |3371.68 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |10.634 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.358 | 27.579 | 6.456 |2028.250\n", + "i : 16300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.30 |3371.59 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |10.627 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.355 | 27.510 | 6.456 |2028.250\n", + "i : 16400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.82 |3371.53 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.618 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.34 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.369 | 27.517 | 6.456 |2028.250\n", + "i : 16500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9673.02 |3372.08 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.605 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.37 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.371 | 27.455 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 16600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.93 |3371.87 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.597 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.38 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.356 | 27.385 | 6.456 |2028.250\n", + "i : 16700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.46 |3371.52 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.592 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.38 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.364 | 27.332 | 6.456 |2028.250\n", + "i : 16800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.58 |3371.79 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.572 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.37 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.361 | 27.262 | 6.456 |2028.250\n", + "i : 16900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.97 |3372.22 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.559 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.348 | 27.194 | 6.456 |2028.250\n", + "i : 17000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9672.24 |3371.66 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.545 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.339 | 27.134 | 6.456 |2028.250\n", + "i : 17100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.74 |3371.28 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.524 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.342 | 27.087 | 6.456 |2028.250\n", + "i : 17200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.74 |3370.88 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.516 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.332 | 27.037 | 6.456 |2028.250\n", + "i : 17300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.41 |3370.62 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.498 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.326 | 26.972 | 6.456 |2028.250\n", + "i : 17400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.44 |3370.32 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.477 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.34 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.312 | 26.906 | 6.456 |2028.250\n", + "i : 17500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.47 |3370.30 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.454 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.34 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.295 | 26.840 | 6.456 |2028.250\n", + "i : 17600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.64 |3370.63 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.451 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.40 |262.34 |401.31\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.293 | 26.783 | 6.456 |2028.250\n", + "i : 17700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.83 |3370.61 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.435 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.296 | 26.748 | 6.456 |2028.250\n", + "i : 17800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.54 |3370.82 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.874 |10.422 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.37 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.301 | 26.716 | 6.456 |2028.250\n", + "i : 17900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.54 |3370.85 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.873 |10.407 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.308 | 26.665 | 6.456 |2028.250\n", + "i : 18000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.48 |3371.27 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.871 |10.394 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.39 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.304 | 26.602 | 6.456 |2028.250\n", + "i : 18100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.33 |3371.40 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.869 |10.507 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.40 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.296 | 26.554 | 6.456 |2028.250\n", + "i : 18200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.43 |3371.32 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.868 |10.492 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.40 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.303 | 26.524 | 6.456 |2028.250\n", + "i : 18300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.45 |3371.29 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.868 |10.474 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.40 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.297 | 26.463 | 6.456 |2028.250\n", + "i : 18400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.30 |3371.08 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.869 |10.457 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.40 | 24.41 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.282 | 26.403 | 6.456 |2028.250\n", + "i : 18500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.18 |3370.64 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.453 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.277 | 26.342 | 6.456 |2028.250\n", + "i : 18600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9671.28 |3370.11 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.459 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.38 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.280 | 26.298 | 6.456 |2028.250\n", + "i : 18700\n", + "Cumulative Stats (mean,std,max,argmax)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "thrust |9670.94 |3370.02 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.448 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.277 | 26.241 | 6.456 |2028.250\n", + "i : 18800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.92 |3370.00 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.871 |10.431 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.273 | 26.200 | 6.456 |2028.250\n", + "i : 18900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.53 |3369.78 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.413 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.37 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.268 | 26.148 | 6.456 |2028.250\n", + "i : 19000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.37 |3369.94 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.394 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.36 | 24.38 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.251 | 26.088 | 6.456 |2028.250\n", + "i : 19100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.02 |3369.44 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.871 |10.382 | 0.464 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.3 -0.1 | 5.9 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.083 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.245 | 26.036 | 6.456 |2028.250\n", + "i : 19200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.12 |3369.95 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.870 |10.444 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.38 | 24.40 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.002 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.232 | 25.975 | 6.456 |2028.250\n", + "i : 19300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.53 |3369.59 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.872 |10.458 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.35 | 24.39 |262.34 |401.31\n", + "attitude_321 | -0.001 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.240 | 25.941 | 6.456 |2028.250\n", + "i : 19400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.90 |3369.50 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.457 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.33 | 24.40 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.238 | 25.893 | 6.456 |2028.250\n", + "i : 19500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.83 |3369.24 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |10.453 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.39 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.266 | 26.259 | 6.456 |2028.250\n", + "i : 19600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.49 |3369.04 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.449 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.32 | 24.39 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.261 | 26.203 | 6.456 |2028.250\n", + "i : 19700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.68 |3369.17 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.877 |10.442 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.7 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.40 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.261 | 26.160 | 6.456 |2028.250\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 19800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.33 |3368.97 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.428 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.39 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.255 | 26.114 | 6.456 |2028.250\n", + "i : 19900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9670.16 |3369.10 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.875 |10.412 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.32 | 24.38 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.251 | 26.064 | 6.456 |2028.250\n", + "\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |9669.93 |3368.90 |3464.10 |20000.00 | 3564\n", + "glideslope | 2.876 |10.408 | 0.456 |6150.226 | 7803\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 0.2 -0.2 -0.0 | 1.0 1.2 0.0 | -2.9 -6.8 -0.1 | 6.1 4.5 -0.0\n", + "velocity | 0.065 -0.013 -0.927 | 0.027 0.040 0.082 | -0.063 -0.226 -1.332 | 0.176 0.196 -0.400\n", + "fuel |308.31 | 24.37 |261.34 |401.31\n", + "attitude_321 | -0.000 -0.016 0.003 | 0.176 0.011 0.013 | -0.628 -0.062 -0.044 | 0.598 0.027 0.073\n", + "w | -0.003 -0.007 -0.000 | 0.024 0.015 0.000 | -0.124 -0.099 -0.000 | 0.107 0.073 0.000\n", + "glideslope | 23.241 | 26.017 | 6.456 |2028.250\n", + "\n", + "Initial Stats (mean,std,min,max)\n", + "position | 1504.9 10.8 2350.0 | 867.1 866.9 29.0 | 0.3 -1500.0 2300.0 | 2999.9 1500.0 2400.0\n", + "velocity | -40.156 -0.153 -80.011 | 17.364 17.193 5.771 | -70.000 -29.988 -89.999 | -10.009 29.999 -70.000\n", + "fuel | 0.00 | 0.00 | 0.00 | 0.00\n", + "attitude_321 | -0.000 0.687 0.003 | 0.227 0.171 0.226 | -0.393 0.393 -0.393 | 0.393 0.982 0.393\n", + "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n", + "glideslope | 2.181 | 1.107 | 0.948 | 9.167\n" + ] + } + ], + "source": [ + "policy.test_mode=True\n", + "env.ic_gen = Landing_icgen(mass_uncertainty=0.03, g_uncertainty=(0.0,0.0),\n", + " adapt_apf_v0=True,\n", + " attitude_parameterization=attitude_parameterization,\n", + " downrange = (0,3000 , -70, -10), \n", + " crossrange = (-1500,1500 , -30,30), \n", + " altitude = (2300,2400,-90,-70),\n", + " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n", + " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n", + " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n", + " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n", + "env.test_policy_batch(policy,input_normalizer,20000,print_every=100)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def plot_traj(ax, trajectory,linewidth=0.1):\n", + " trajectory = np.asarray(trajectory)\n", + " ax.plot(trajectory[:,0],trajectory[:,1],trajectory[:,2],linewidth=linewidth)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "lander env att 2 fixed\n", + "Landing_icgen:\n", + " downrange : (0, 2000, -70, -10)\n", + " crossrange : (-1000, 1000, -30, 30)\n", + " altitude : (2300, 2400, -90, -70)\n", + "PPO Policy 1\n", + "Policy Params -- h1: 120, h2: 69, h3: 40, lr: 0.000108, logvar_speed: 8\n", + "[[-1.]\n", + " [ 0.]\n", + " [ 1.]]\n", + "10\n", + "Actor Test Mode: False\n", + "clip param: 0.1\n", + "dict_keys(['h3/kernel:0', 'means/bias:0', 'means/kernel:0', 'logvars:0', 'h1/bias:0', 'h2/kernel:0', 'h1/kernel:0', 'h3/bias:0', 'h2/bias:0'])\n", + "\n" + ] + } + ], + "source": [ + "from env_mdr import Env\n", + "from reward_terminal_mdr import Reward\n", + "import env_utils as envu\n", + "import attitude_utils as attu\n", + "from dynamics_model import Dynamics_model\n", + "from lander_model import Lander_model\n", + "from ic_gen import Landing_icgen\n", + "from agent_mdr2 import Agent\n", + "from policy_ppo import Policy\n", + "from value_function import Value_function\n", + "from utils import Mapminmax,Logger,Scaler\n", + "from flat_constraint import Flat_constraint\n", + "from glideslope_constraint import Glideslope_constraint\n", + "from attitude_constraint import Attitude_constraint\n", + "from thruster_model import Thruster_model\n", + "\n", + "logger = Logger()\n", + "dynamics_model = Dynamics_model()\n", + "attitude_parameterization = attu.Quaternion_attitude()\n", + "\n", + "thruster_model = Thruster_model()\n", + "thruster_model.max_thrust = 5000\n", + "thruster_model.min_thrust = 1000\n", + "\n", + "lander_model = Lander_model(thruster_model, attitude_parameterization=attitude_parameterization,\n", + " apf_v0=70, apf_atarg=15., apf_tau2=100.)\n", + "lander_model.get_state_agent = lander_model.get_state_agent_tgo_alt\n", + "\n", + "reward_object = Reward(tracking_bias=0.01,tracking_coeff=-0.01, fuel_coeff=-0.05, debug=False, landing_coeff=10.)\n", + "\n", + "glideslope_constraint = Glideslope_constraint(gs_limit=-1.0)\n", + "shape_constraint = Flat_constraint()\n", + "attitude_constraint = Attitude_constraint(attitude_parameterization, \n", + " attitude_penalty=-100,attitude_coeff=-10,\n", + " attitude_limit=(10*np.pi, np.pi/2-np.pi/16, np.pi/2-np.pi/16))\n", + "env = Env(lander_model,dynamics_model,logger,\n", + " reward_object=reward_object,\n", + " glideslope_constraint=glideslope_constraint,\n", + " shape_constraint=shape_constraint,\n", + " attitude_constraint=attitude_constraint,\n", + " tf_limit=120.0,print_every=10)\n", + "\n", + "\n", + "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, \n", + " g_uncertainty=(0.0,0.0), \n", + " attitude_parameterization=attitude_parameterization,\n", + " l_offset=0.,\n", + " adapt_apf_v0=True,\n", + " inertia_uncertainty_diag=100.0, \n", + " inertia_uncertainty_offdiag=10.0,\n", + " downrange = (0,2000 , -70, -10), \n", + " crossrange = (-1000,1000 , -30,30), \n", + " altitude = (2300,2400,-90,-70),\n", + " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n", + " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.01, 0.01),\n", + " roll = (-np.pi/8, np.pi/8, -0.01, 0.01))\n", + "\n", + "env.ic_gen.show()\n", + "\n", + "obs_dim = 12\n", + "act_dim = 4\n", + "\n", + "policy = Policy(obs_dim,act_dim,kl_targ=0.001,epochs=20, beta=0.1, shuffle=True, servo_kl=True)\n", + "import utils\n", + "fname = \"optimize_4km\"\n", + "input_normalizer = utils.load_run(policy,fname)\n", + "print(input_normalizer)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Test Policy over 4km" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10164.38 |3292.38 |3464.10 |20000.00 | 5\n", + "glideslope | 4.077 | 7.645 | 1.028 |326.651 | 77\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.9 497.9 -0.1 | 502.4 503.6 -0.0\n", + "velocity | 0.043 -0.028 -0.946 | 0.012 0.019 0.042 | 0.005 -0.084 -1.112 | 0.066 0.037 -0.796\n", + "fuel |310.87 | 12.32 |289.30 |348.55\n", + "attitude_321 | 0.032 -0.009 -0.003 | 0.112 0.005 0.007 | -0.208 -0.021 -0.017 | 0.310 0.016 0.027\n", + "w | -0.002 -0.006 -0.000 | 0.016 0.012 0.000 | -0.056 -0.053 -0.000 | 0.028 0.014 0.000\n", + "glideslope | 25.901 | 11.197 | 14.497 | 93.629\n", + "i : 200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10134.63 |3296.40 |3464.10 |20000.00 | 5\n", + "glideslope | 4.066 | 7.634 | 0.982 |326.651 | 77\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.7 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.945 | 0.013 0.019 0.048 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.779\n", + "fuel |311.09 | 12.27 |288.33 |348.55\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.112 0.006 0.007 | -0.208 -0.023 -0.017 | 0.387 0.016 0.027\n", + "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.056 -0.053 -0.000 | 0.030 0.016 0.000\n", + "glideslope | 26.537 | 16.943 | 14.497 | 162.984\n", + "i : 300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10150.21 |3287.00 |3464.10 |20000.00 | 5\n", + "glideslope | 4.122 | 7.272 | 0.961 |326.651 | 77\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.944 | 0.012 0.018 0.046 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n", + "fuel |310.51 | 12.54 |286.44 |348.55\n", + "attitude_321 | 0.040 -0.009 -0.004 | 0.108 0.005 0.007 | -0.208 -0.023 -0.020 | 0.387 0.016 0.027\n", + "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.030 0.019 0.000\n", + "glideslope | 25.917 | 14.936 | 12.754 | 162.984\n", + "i : 400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10177.26 |3291.84 |3464.10 |20000.00 | 5\n", + "glideslope | 4.240 | 9.095 | 0.961 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.012 0.018 0.045 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n", + "fuel |310.17 | 12.34 |286.44 |348.55\n", + "attitude_321 | 0.040 -0.009 -0.004 | 0.107 0.005 0.007 | -0.214 -0.023 -0.020 | 0.387 0.017 0.027\n", + "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.032 0.021 0.000\n", + "glideslope | 25.875 | 14.079 | 12.754 | 162.984\n", + "i : 500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10193.23 |3296.10 |3464.10 |20000.00 | 5\n", + "glideslope | 4.218 | 8.795 | 0.961 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.9 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.044 | -0.010 -0.093 -1.112 | 0.066 0.037 -0.776\n", + "fuel |310.05 | 12.14 |286.44 |348.55\n", + "attitude_321 | 0.041 -0.009 -0.003 | 0.109 0.005 0.007 | -0.214 -0.023 -0.020 | 0.387 0.017 0.027\n", + "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.034 0.021 0.000\n", + "glideslope | 26.294 | 14.515 | 12.754 | 162.984\n", + "i : 600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10196.71 |3296.46 |3464.10 |20000.00 | 530\n", + "glideslope | 4.225 | 8.650 | 0.960 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.012 -0.093 -1.130 | 0.066 0.037 -0.776\n", + "fuel |310.12 | 12.18 |280.66 |350.03\n", + "attitude_321 | 0.037 -0.009 -0.003 | 0.109 0.005 0.007 | -0.215 -0.023 -0.020 | 0.387 0.020 0.027\n", + "w | -0.001 -0.005 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n", + "glideslope | 26.397 | 14.446 | 12.754 | 162.984\n", + "i : 700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10191.75 |3292.77 |3464.10 |20000.00 | 530\n", + "glideslope | 4.191 | 8.345 | 0.960 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.066 0.037 -0.776\n", + "fuel |310.18 | 12.31 |275.74 |350.03\n", + "attitude_321 | 0.039 -0.009 -0.004 | 0.110 0.005 0.007 | -0.215 -0.023 -0.020 | 0.387 0.020 0.027\n", + "w | -0.001 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n", + "glideslope | 26.096 | 13.827 | 12.754 | 162.984\n", + "i : 800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10193.47 |3291.26 |3464.10 |20000.00 | 530\n", + "glideslope | 4.191 | 8.219 | 0.960 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.066 0.037 -0.776\n", + "fuel |310.00 | 12.39 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.004 | 0.109 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.021 0.000\n", + "glideslope | 26.302 | 17.449 | 12.754 | 350.115\n", + "i : 900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10194.84 |3291.98 |3464.10 |20000.00 | 530\n", + "glideslope | 4.155 | 8.030 | 0.960 |1645.928 | 311\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.776\n", + "fuel |310.03 | 12.35 |275.74 |350.03\n", + "attitude_321 | 0.039 -0.009 -0.004 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.015 0.011 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.117 | 16.779 | 12.754 | 350.115\n", + "i : 1000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10190.05 |3297.30 |3464.10 |20000.00 | 530\n", + "glideslope | 4.199 |10.152 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.8 497.1 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.946 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.776\n", + "fuel |310.06 | 12.35 |275.74 |350.03\n", + "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.820 | 30.302 | 12.754 | 838.421\n", + "i : 1100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10184.98 |3292.83 |3464.10 |20000.00 | 530\n", + "glideslope | 4.217 | 9.949 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.770\n", + "fuel |310.04 | 12.31 |275.74 |350.03\n", + "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.020 | 0.420 0.020 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.590 | 28.971 | 12.754 | 838.421\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 1200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10181.67 |3284.99 |3464.10 |20000.00 | 530\n", + "glideslope | 4.212 | 9.725 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.029 -0.947 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.731\n", + "fuel |309.87 | 12.28 |275.74 |350.03\n", + "attitude_321 | 0.039 -0.009 -0.003 | 0.108 0.005 0.007 | -0.215 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.440 | 27.830 | 12.754 | 838.421\n", + "i : 1300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.62 |3285.67 |3464.10 |20000.00 | 530\n", + "glideslope | 4.297 |10.969 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.8 -0.1 | 502.6 503.6 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.045 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.731\n", + "fuel |309.84 | 12.44 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.004 | 0.108 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.332 | 26.819 | 12.606 | 838.421\n", + "i : 1400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.80 |3282.03 |3464.10 |20000.00 | 530\n", + "glideslope | 4.288 |10.744 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.8 1.1 0.0 | 497.8 496.5 -0.1 | 502.6 503.9 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.046 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.505\n", + "fuel |309.68 | 12.43 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.004 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.240 | 26.043 | 12.606 | 838.421\n", + "i : 1500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.72 |3285.69 |3464.10 |20000.00 | 530\n", + "glideslope | 4.288 |10.590 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.073 0.037 -0.505\n", + "fuel |309.74 | 12.48 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.015 0.010 0.000 | -0.066 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.236 | 25.389 | 12.606 | 838.421\n", + "i : 1600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.64 |3285.34 |3464.10 |20000.00 | 530\n", + "glideslope | 4.275 |10.413 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.075 0.037 -0.505\n", + "fuel |309.71 | 12.47 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.015 0.010 0.000 | -0.076 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.135 | 24.634 | 12.606 | 838.421\n", + "i : 1700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.86 |3287.17 |3464.10 |20000.00 | 530\n", + "glideslope | 4.265 |10.276 | 0.960 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.080 0.037 -0.505\n", + "fuel |309.68 | 12.48 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.020 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.038 0.022 0.000\n", + "glideslope | 26.153 | 24.219 | 12.606 | 838.421\n", + "i : 1800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10186.24 |3289.81 |3464.10 |20000.00 | 530\n", + "glideslope | 4.244 |10.124 | 0.956 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 503.9 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.023 -0.093 -1.183 | 0.080 0.037 -0.505\n", + "fuel |309.69 | 12.51 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.219 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 26.042 | 23.595 | 11.971 | 838.421\n", + "i : 1900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10186.11 |3289.69 |3464.10 |20000.00 | 530\n", + "glideslope | 4.259 |10.084 | 0.956 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.945 | 0.013 0.018 0.047 | -0.023 -0.098 -1.183 | 0.080 0.037 -0.505\n", + "fuel |309.62 | 12.47 |275.74 |350.03\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.987 | 23.035 | 11.971 | 838.421\n", + "i : 2000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.20 |3289.92 |3464.10 |20000.00 | 530\n", + "glideslope | 4.238 | 9.942 | 0.943 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.3 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.098 -1.183 | 0.080 0.037 -0.505\n", + "fuel |309.57 | 12.52 |275.74 |357.90\n", + "attitude_321 | 0.040 -0.009 -0.003 | 0.107 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.910 | 22.501 | 11.971 | 838.421\n", + "i : 2100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10187.49 |3290.32 |3464.10 |20000.00 | 530\n", + "glideslope | 4.274 |10.099 | 0.943 |3295.093 | 967\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.105 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.49 | 12.48 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.948 | 22.378 | 11.971 | 838.421\n", + "i : 2200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10189.80 |3291.48 |3464.10 |20000.00 | 530\n", + "glideslope | 4.324 |42.327 | 0.943 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.55 | 12.49 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.960 | 22.062 | 11.971 | 838.421\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 2300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10188.79 |3292.34 |3464.10 |20000.00 | 530\n", + "glideslope | 4.318 |41.431 | 0.943 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.55 | 12.45 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.899 | 21.640 | 11.971 | 838.421\n", + "i : 2400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10188.46 |3292.09 |3464.10 |20000.00 | 530\n", + "glideslope | 4.304 |40.585 | 0.938 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.52 | 12.49 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.027 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.847 | 21.248 | 11.971 | 838.421\n", + "i : 2500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10190.64 |3293.36 |3464.10 |20000.00 | 530\n", + "glideslope | 4.288 |39.799 | 0.938 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.48 | 12.51 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.893 | 21.025 | 11.971 | 838.421\n", + "i : 2600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10189.45 |3293.83 |3464.10 |20000.00 | 530\n", + "glideslope | 4.278 |39.049 | 0.938 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.5 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.56 | 12.53 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.003 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.888 | 20.771 | 11.971 | 838.421\n", + "i : 2700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10184.95 |3291.93 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.271 |38.340 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.51 | 12.55 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.817 | 20.438 | 11.971 | 838.421\n", + "i : 2800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.66 |3290.93 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.255 |37.667 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.56 | 12.54 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.790 | 20.130 | 11.971 | 838.421\n", + "i : 2900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.67 |3289.86 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.250 |37.035 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.50 | 12.51 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.795 | 20.063 | 11.971 | 838.421\n", + "i : 3000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.92 |3289.81 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.240 |36.436 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.026 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.51 | 12.51 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.753 | 19.794 | 11.971 | 838.421\n", + "i : 3100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.51 |3289.90 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.236 |35.873 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.6 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.271 | 0.081 0.037 -0.505\n", + "fuel |309.57 | 12.53 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.231 -0.029 -0.022 | 0.420 0.025 0.027\n", + "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.851 | 21.027 | 11.971 | 838.421\n", + "i : 3200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10181.69 |3291.33 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.228 |35.329 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n", + "fuel |309.62 | 12.55 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.815 | 20.794 | 11.971 | 838.421\n", + "i : 3300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10181.54 |3292.06 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.225 |34.821 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n", + "fuel |309.61 | 12.56 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.890 | 20.771 | 11.971 | 838.421\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 3400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.17 |3292.80 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.220 |34.333 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.047 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n", + "fuel |309.61 | 12.55 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.231 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.867 | 20.525 | 11.971 | 838.421\n", + "i : 3500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.20 |3293.55 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.219 |33.864 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.014 0.018 0.048 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n", + "fuel |309.66 | 12.56 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.845 | 20.366 | 11.971 | 838.421\n", + "i : 3600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.71 |3293.13 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.213 |33.413 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.290 | 0.081 0.037 -0.505\n", + "fuel |309.65 | 12.53 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.853 | 20.161 | 11.971 | 838.421\n", + "i : 3700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.89 |3292.76 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.213 |32.983 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.69 | 12.54 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.905 | 20.171 | 11.971 | 838.421\n", + "i : 3800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.73 |3293.84 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.210 |32.568 | 0.930 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.71 | 12.52 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.898 | 19.966 | 11.971 | 838.421\n", + "i : 3900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.86 |3293.65 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.205 |32.174 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.68 | 12.52 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.922 | 19.817 | 11.971 | 838.421\n", + "i : 4000\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10185.26 |3294.62 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.210 |31.877 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.66 | 12.54 |275.74 |357.90\n", + "attitude_321 | 0.042 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.934 | 19.630 | 11.971 | 838.421\n", + "i : 4100\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10186.64 |3294.66 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.214 |31.519 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.947 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.66 | 12.52 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.931 | 19.442 | 11.971 | 838.421\n", + "i : 4200\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10186.05 |3294.44 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.210 |31.164 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.4 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.048 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.67 | 12.50 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.920 | 19.275 | 11.971 | 838.421\n", + "i : 4300\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10184.07 |3291.97 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.208 |30.816 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.61 | 12.48 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.005 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.061 0.022 0.000\n", + "glideslope | 25.938 | 19.502 | 11.971 | 838.421\n", + "i : 4400\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10184.17 |3291.72 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.196 |30.494 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.2 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.59 | 12.46 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.108 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.945 | 19.423 | 11.971 | 838.421\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "i : 4500\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.47 |3290.70 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.197 |30.179 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.59 | 12.46 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.977 | 19.386 | 11.971 | 838.421\n", + "i : 4600\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10183.08 |3289.65 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.202 |29.871 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.55 | 12.45 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.966 | 19.356 | 11.971 | 838.421\n", + "i : 4700\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10180.93 |3288.28 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.205 |29.581 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.54 | 12.45 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.938 | 19.187 | 11.971 | 838.421\n", + "i : 4800\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10182.66 |3288.67 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.198 |29.289 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.55 | 12.45 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.965 | 19.290 | 11.971 | 838.421\n", + "i : 4900\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10181.38 |3287.91 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.203 |29.016 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.56 | 12.44 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.934 | 19.137 | 11.971 | 838.421\n", + "\n", + "Cumulative Stats (mean,std,max,argmax)\n", + "thrust |10181.18 |3286.91 |3464.10 |20000.00 | 2616\n", + "glideslope | 4.198 |28.740 | 0.886 |34097.994 | 2123\n", + "sc_margin |100.000 | 0.000 |100.000 |100.000 | 0\n", + "\n", + "Final Stats (mean,std,min,max)\n", + "position | 500.3 500.2 -0.0 | 0.9 1.1 0.0 | 497.3 496.4 -0.1 | 502.8 504.3 -0.0\n", + "velocity | 0.042 -0.030 -0.946 | 0.013 0.018 0.047 | -0.045 -0.124 -1.296 | 0.081 0.037 -0.505\n", + "fuel |309.55 | 12.42 |275.74 |357.90\n", + "attitude_321 | 0.041 -0.009 -0.004 | 0.107 0.005 0.007 | -0.304 -0.029 -0.022 | 0.449 0.025 0.027\n", + "w | -0.002 -0.004 -0.000 | 0.016 0.010 0.000 | -0.085 -0.053 -0.000 | 0.069 0.022 0.000\n", + "glideslope | 25.919 | 19.004 | 11.971 | 838.421\n", + "\n", + "Initial Stats (mean,std,min,max)\n", + "position | 1002.4 1.6 2500.4 | 575.3 577.6 58.2 | 0.5 -999.5 2400.1 | 1999.6 999.6 2600.0\n", + "velocity | -39.867 0.201 -79.918 | 17.287 17.287 5.827 | -69.996 -30.000 -89.998 | -10.017 29.950 -70.006\n", + "fuel | 0.00 | 0.00 | 0.00 | 0.00\n", + "attitude_321 | -0.003 0.690 -0.002 | 0.225 0.170 0.228 | -0.392 0.393 -0.393 | 0.393 0.982 0.392\n", + "w | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000 | 0.000 0.000 0.000\n", + "glideslope | 2.191 | 1.109 | 0.938 | 8.298\n" + ] + } + ], + "source": [ + "policy.test_mode=True\n", + "env.ic_gen = Landing_icgen(mass_uncertainty=0.05, g_uncertainty=(0.0,0.0),\n", + " adapt_apf_v0=True,\n", + " attitude_parameterization=attitude_parameterization,\n", + " downrange = (0,2000 , -70, -10), \n", + " crossrange = (-1000,1000 , -30,30), \n", + " altitude = (2400,2600,-90,-70),\n", + " yaw = (-np.pi/8, np.pi/8, 0.0, 0.0) ,\n", + " pitch = (np.pi/4-np.pi/8, np.pi/4+np.pi/16, -0.0, 0.0),\n", + " roll = (-np.pi/8, np.pi/8, -0.0, 0.0),\n", + " noise_u=100*np.ones(3), noise_sd=100*np.ones(3))\n", + "env.test_policy_batch(policy,input_normalizer,10000,print_every=100)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "policy.close_sess()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.5.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb new file mode 100644 index 0000000..d096fce --- /dev/null +++ b/AAS-18-290_6DOF_journal/Run/Run_4km_terminal/test_4km_2100_divert.ipynb @@ -0,0 +1,6295 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n", + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n", + "/Users/briangaudet/Study/Subjects/MachineLearning/Projects/AAS_TEST/RUN/AAS-18-290_6DOF_manuscript/Run/Run_4km_terminal\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "import os,sys\n", + "\n", + "\n", + "sys.path.append('../..')\n", + "sys.path.append('../../../RL_lib/Agents/PPO')\n", + "sys.path.append('../../../RL_lib/Utils')\n", + "\n", + "%load_ext autoreload\n", + "%load_ext autoreload\n", + "%autoreload 2\n", + "%matplotlib nbagg\n", + "import os\n", + "print(os.getcwd())" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "%%html\n", + "" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Load Policy" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "6dof dynamics model\n", + "Quaternion_attitude\n", + "Thruster Config Shape: (4, 6) 4\n", + "Inertia Tensor: [[2000. 0. 0.]\n", + " [ 0. 2000. 0.]\n", + " [ 0. 0. 3200.]]\n", + "Lander Model: \n", + " - apf_v0: 70\n", + " - apf_vf1: [ 0. 0. -2.]\n", + " - apf_vf2: [ 0. 0. -1.]\n", + " - apf_atarg: 15.0\n", + " - apf_tau1: 20\n", + " - apf_tau2: 100.0\n", + "Reward_terminal\n", + "queue fixed\n", + "Flat Constraint\n", + "Attitude Constraint\n" + ] + }, + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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", + " event.shiftKey = false;\n", + " // Send a \"J\" for go to next cell\n", + " event.which = 74;\n", + " event.keyCode = 74;\n", + " manager.command_mode();\n", + " manager.handle_keydown(event);\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": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\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", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\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", + " fig.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 backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\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 * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\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 = $('