Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
compmech-project02/02_Analyze-data_project Rev 1.ipynb
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
750 lines (750 sloc)
81.5 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Computational Mechanics Project #02 - Create specifications for a projectile robot\n", | |
"\n", | |
"On the first day of class, we threw $2\"\\times~2\"$ dampened paper (spitballs) at a target on the whiteboard. Now, we are going to analyze the accuracy of the class with some cool Python tools and design a robot that has the same accuracy and precision as the class, but we will have the robot move farther away from the target and use a simpler projectile i.e. a tennis ball so we don't need to worry about knuckle-ball physics. \n", | |
"\n", | |
"The goal of this project is to determine the precision of necessary components for a robot that can reproduce the class throwing distibution. We have generated pseudo random numbers using `numpy.random`, but the class target practice is an example of truly random distributions. If we repeated the exercise, there is a vanishingly small probability that we would hit the same points on the target, and there are no deterministic models that could take into account all of the factors that affected each hit on the board. \n", | |
"\n", | |
"<img src=\"../images/robot_design.png\" style=\"height: 250px;\"/>\n" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Now, we ask ourselves some questions:\n", | |
"\n", | |
"1. How do we quantify the class accuracy and precision?\n", | |
"\n", | |
"2. If we design a robot, what design components can we control?\n", | |
"\n", | |
"3. How can we relate the controlled components to the class accuracy, and specify the component precision?\n", | |
"\n", | |
"The first question, we have some experience from our work in [02_Seeing_Stats](../notebooks/02_Seeing_Stats.ipynb). We can define the mean, standard deviation, measure the first, second, and third quartiles, etc. \n", | |
"\n", | |
"The second question is a physical question. We cannot control the placement of the robot or the target those are chosen for us. We cannot control temperature, mechanical vibrations, etc. We *can* control the desired initial velocity. The initial velocity will have some speed and direction, and both will be subject to random noise. Once the speed and direction are set, the location on the target is determined by kinematic equations for an object in freefall, as such\n", | |
"\n", | |
"$x_{impact} = \\frac{v_x}{v_y}d + x(0)~~~~~~~~~~~~~~~~~~~~(1.a)$\n", | |
"\n", | |
"$z_{impact} = d\\left(\\frac{v_z(0)}{v_y}-\\frac{g}{2v_y^2}d\\right)+ z(0)~~~~~(1.b)$.\n", | |
"\n", | |
"Where the location of impact is at a $y$-distance of $d$ at a point on the target with coordinates $(x_{impact},~z_{impact})$, and the initial velocity is $\\bar{v}=v_x\\hat{i}+v_y\\hat{j}+v_z(0)\\hat{k}$, the object is released at an initial location $\\bar{r}(0)=x(0)\\hat{i}+0\\hat{j}+z(0)\\hat{k}$, and the only acceleration is due to gravity, $\\bar{a}=-g\\hat{k}$. Equation (1) becomes much easier to evaluate if we assume that $v_x=0$, resulting in an evalution of the accuracy of the height of the impact, $z_{impact}$, as such\n", | |
"\n", | |
"$x_{impact} = x(0)~~~~~~~~~~~~~~~~~~~~(2.a)$\n", | |
"\n", | |
"$z_{impact} = \\frac{d}{\\cos{\\theta}}\\left(\\sin{\\theta}-\\frac{g}{2v_0^2\\cos{\\theta}}d\\right)+ z(0)~~~~~(2.b)$.\n", | |
"\n", | |
"Where $\\theta$ is the angle of the initial velocity and $v_0$ is the initial speed. Equation (2) restricts the analysis to height accuracy. You can incorporate the 2D impact analysis if you finish the 1D analysis. " | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"The third question, is how we can relate equation (2) to the measured points of impact? For this, we can use Monte Carlo methods *(There are other methods, but Monte Carlo is one of the most straight-forward)*. Our Monte Carlo approach is as such, if we have a desired initial speed, $v_0$, and desired angle, $\\theta$, we can propagate the uncertainty of our actual speeds and angles into the $z_{impact}$ locations. Then, we can choose distributions in speed and angles that match the distributions in $z_{impact}$ locations. Here are the steps:\n", | |
"\n", | |
"1. Generate random $\\theta_i$ and $v_{0~i}$ variables\n", | |
"\n", | |
"2. Plug into eqn 2 for random $z_{impact~i}$ locations\n", | |
"\n", | |
"3. Compare to our measured $z_{impact}$ location statistics\n", | |
"\n", | |
"4. Repeat 1-3 until the predicted uncertainty matches the desired uncertainty, we can use a number of comparison metrics:\n", | |
" \n", | |
" - standard deviation\n", | |
" \n", | |
" - first, second, and third quartiles\n", | |
" \n", | |
" - visually, with box plots and histograms" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"# Project Deliverables\n", | |
"\n", | |
"1. Statistical analysis of class accuracy and precision (x- and z-locations) data is in the csv file [../data/target_data.csv](../data/target_data.csv) _Note: if you want to see how I turned the images into data check out the jupyter notebook [process_target_practice](./process_target_practice.ipynb)\n", | |
"\n", | |
"2. A Monte Carlo model to generate impact heights based upon uncertainty in $\\theta_0$ and $v_0$. \n", | |
"\n", | |
"3. The precision required to recreate the class accuracy and precision with a robot. \n", | |
"**You must show some validation of your work**\n", | |
"\n", | |
"4. [BONUS] Repeat 2-3 taking into account the variation in $x_{impact}$ due to misalignment. \n", | |
"\n", | |
"Given constants and constraints:\n", | |
"\n", | |
"- $d=$3 m, distance to target\n", | |
"\n", | |
"- $g=$9.81 m/s$^2$, acceleration due to gravity\n", | |
"\n", | |
"- $z(0)=$0.3 m, the initial height is 0.3 m above the bull's eye\n", | |
"\n", | |
"- 4 m/s$<v_0<$12 m/s, the initial velocity is always higher than 9 mph and less than 27 mph" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 206, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt\n", | |
"import numpy as np\n", | |
"import pandas as pd\n", | |
"\n", | |
"#Import rcParams to set font styles\n", | |
"from matplotlib import rcParams\n", | |
"\n", | |
"#Set font style and size \n", | |
"rcParams['font.family'] = 'sans'\n", | |
"rcParams['font.size'] = 16\n", | |
"rcParams['lines.linewidth'] = 3" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 207, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"d = 3\n", | |
"#distance to the target in meters\n", | |
"g = 9.81\n", | |
"#acceleration due to gravity in m/s^2\n", | |
"z_initial = 0.3\n", | |
"#initial height above the bull's eye in meters\n", | |
"#the inital velocity is always between 4 and 12 m/s\n", | |
"target = pd.read_csv(\"../data/target_data.csv\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 208, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"#target" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 260, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"array([7.07769546, 7.49481226, 7.81156964, 9.95282424, 9.41160459,\n", | |
" 8.48882556, 9.36775071, 7.24994536, 9.45303729, 7.11631374,\n", | |
" 7.27286086, 7.74560241, 9.4581635 , 9.07312702, 7.09701949,\n", | |
" 9.16026114, 8.96513352, 8.90643232, 8.7953789 , 7.94345416,\n", | |
" 9.50971943, 9.08658095, 9.07820963, 7.10871574, 8.33204333,\n", | |
" 7.23727735, 7.81275172, 8.95930865, 9.61380634, 7.77516579,\n", | |
" 7.80418916, 7.24279973, 9.0248633 , 7.61966138, 7.24658069,\n", | |
" 9.78366583, 7.89704422, 8.65463075, 9.49418963, 7.5962179 ,\n", | |
" 8.64389775, 7.57597639, 7.1096632 , 7.36589823, 7.58628514,\n", | |
" 7.99687751, 8.49966251, 9.41672731, 7.74617677, 7.0532629 ,\n", | |
" 7.99684769, 7.23740851, 7.35519346, 7.60405541, 8.05920498,\n", | |
" 9.47603881, 7.22676774, 8.53719126, 7.88875121, 8.36705516,\n", | |
" 7.87533796, 7.20285936, 8.95106152, 7.05933371, 8.1155626 ,\n", | |
" 9.16214698, 7.74555806, 9.80769983, 9.33352214, 9.31889904,\n", | |
" 7.06997574, 9.16540987, 8.95977427, 7.21075856, 9.30829347,\n", | |
" 7.36763642, 8.12465441, 7.90169727, 7.93378245, 8.38893501,\n", | |
" 8.90266983, 8.16596632, 8.80442209, 7.18232212, 9.54971584,\n", | |
" 9.2430754 , 7.07429511, 8.40485896, 9.57001556, 8.47440364,\n", | |
" 8.00215993, 8.4885603 , 8.21863608, 8.04937192, 8.54108934,\n", | |
" 8.15921927, 7.53109835, 8.76496478, 9.73182207, 7.26965198,\n", | |
" 7.27954719, 8.88142197, 7.88662148, 9.69352005, 9.24784485,\n", | |
" 8.01609914, 9.70354391, 8.08184444, 8.04540678, 8.21052883,\n", | |
" 7.55341292, 7.54099325, 7.85518696, 7.47853612, 9.56588479,\n", | |
" 9.38429928, 7.13436351, 9.87655069, 7.86685625, 8.85854959,\n", | |
" 7.09548706, 7.55408389, 8.29008484, 9.33640671, 8.55308262,\n", | |
" 8.41837889, 9.96923224, 8.09434815, 8.49103504, 9.40244088,\n", | |
" 9.77733923, 7.40995484, 8.69989986, 7.52767414, 7.82033493,\n", | |
" 7.26520858, 9.0843131 , 7.38789783, 8.58746833, 7.60856284,\n", | |
" 9.44780553, 8.44719529, 8.71293819, 8.92946534, 9.28921746,\n", | |
" 7.91559671, 7.18981726, 7.30271028, 9.44325824, 9.97395856,\n", | |
" 9.42205699, 9.777242 , 7.65080255, 8.10043787, 7.41672952,\n", | |
" 9.49433314, 7.37707637, 9.18059636, 7.22733069, 8.81660635,\n", | |
" 7.80991404, 9.06119791, 8.22495424, 7.68273382, 9.63043937,\n", | |
" 9.51331268, 7.59785969, 8.08844441, 8.60614839, 8.43194339,\n", | |
" 7.73921294, 8.40039712, 9.45721967, 8.06519647, 8.96950284,\n", | |
" 9.7966531 , 7.66267966, 8.55625118, 9.76363435, 8.69641574,\n", | |
" 7.51853563, 7.99899997, 9.25728931, 9.72317961, 7.96154301,\n", | |
" 7.77522066, 7.19576263, 7.44387929, 8.34560092, 8.52494336,\n", | |
" 7.06013217, 7.85530142, 8.02417246, 9.48527683, 8.89959117,\n", | |
" 7.37411646, 9.09948894, 7.76561273, 9.29404018, 7.75233339,\n", | |
" 7.38054698, 7.69489024, 7.95785248, 9.89240147, 8.30397502,\n", | |
" 8.04257136, 7.25056157, 9.23708431, 8.49917065, 9.96455248,\n", | |
" 8.06713658, 8.77298016, 8.95417894, 9.90258915, 8.31136937,\n", | |
" 7.88556583, 9.03142317, 7.31398833, 8.66026722, 8.39697137,\n", | |
" 8.03363041, 9.11208388, 7.71831407, 7.80249731, 9.65720509,\n", | |
" 7.84792403, 7.35367645, 9.07750552, 9.96087401, 7.64838144,\n", | |
" 8.67456048, 8.0197792 , 7.49624992, 8.54029692, 7.31428558,\n", | |
" 8.54005782, 7.43532895, 9.97148326, 8.95698062, 8.11450965,\n", | |
" 8.72966395, 9.81311527, 7.9558421 , 7.63299518, 7.56704896,\n", | |
" 7.4882474 , 8.54775161, 8.08624963, 8.94587116, 9.99289109,\n", | |
" 7.40974053, 7.27093656, 7.78197088, 9.83325031, 9.74364577,\n", | |
" 9.24612859, 9.55157781, 9.21723265, 9.60572509, 7.85459056,\n", | |
" 8.15339116, 8.68117575, 8.84253392, 8.88279744, 8.6838307 ,\n", | |
" 9.34415715, 7.00005276, 9.20854455, 9.94169676, 8.66724667,\n", | |
" 8.57240553, 8.84492542, 7.51298743, 8.38270552, 8.84880935,\n", | |
" 7.12376485, 9.71897926, 8.9800168 , 8.52739895, 7.10790709,\n", | |
" 7.55854752, 9.55515442, 8.46605437, 9.14477121, 7.56570455,\n", | |
" 9.81757225, 9.71543842, 9.11539692, 8.131741 , 8.68942047,\n", | |
" 8.29730113, 8.73989921, 7.75704864, 9.04751415, 7.40220694,\n", | |
" 7.35732245, 7.69149457, 7.92559325, 8.68290561, 9.78069563,\n", | |
" 9.39323826, 9.16394701, 7.98871502, 8.38457023, 8.21457702,\n", | |
" 7.88457302, 7.54565374, 7.19513204, 8.89134835, 9.37339333,\n", | |
" 8.22911849, 8.15218796, 9.46847977, 7.06092352, 9.38035748,\n", | |
" 8.40529962, 8.49733919, 7.85340075, 7.94664412, 7.07912914,\n", | |
" 7.80654002, 9.95691872, 9.14180806, 9.71899811, 8.5000169 ,\n", | |
" 7.76639066, 8.15126113, 9.67398582, 8.31022551, 9.32903732,\n", | |
" 8.13976622, 9.3754088 , 8.06811729, 9.23865567, 9.25163835,\n", | |
" 7.22376598, 8.27643591, 7.3419962 , 8.84287898, 7.46240169,\n", | |
" 8.8549658 , 7.3971345 , 9.38334031, 8.40697351, 9.91402575,\n", | |
" 8.46033787, 9.28256232, 7.90134875, 7.52257371, 8.02256128,\n", | |
" 7.55853528, 8.61588553, 9.89344821, 7.17869106, 8.04557286,\n", | |
" 7.55047893, 7.84760188, 8.3389671 , 9.44584456, 9.63728394,\n", | |
" 8.56364934, 8.48586488, 9.59049521, 9.67477793, 9.33216634,\n", | |
" 9.82352079, 9.99094717, 9.4450484 , 9.93797511, 9.89007288,\n", | |
" 8.09764471, 7.32289233, 8.65149438, 7.91293707, 9.44356105,\n", | |
" 9.24420259, 7.34280742, 7.40663743, 7.04289542, 8.52945792,\n", | |
" 8.55478164, 7.66432207, 7.51524133, 8.34013247, 7.32582023,\n", | |
" 8.96003712, 7.47267647, 9.33719551, 9.98045588, 7.41410337,\n", | |
" 9.1221356 , 7.13480986, 9.38454632, 7.91360121, 9.84991689,\n", | |
" 7.94872525, 9.40417616, 7.4629053 , 9.71933531, 8.58827909,\n", | |
" 9.68908943, 9.09728362, 9.38867412, 9.02115314, 9.84505817,\n", | |
" 8.6410354 , 8.24262452, 8.50790219, 7.90961468, 7.6329988 ,\n", | |
" 9.8714111 , 9.10093775, 7.18416488, 9.21246455, 8.97880486,\n", | |
" 7.55438306, 7.62047006, 9.23613887, 9.11404324, 7.75540142,\n", | |
" 7.41399257, 7.30770601, 8.40357386, 8.15103299, 9.72755378,\n", | |
" 7.55131097, 7.38933569, 7.02625114, 7.74489489, 7.17474042,\n", | |
" 9.8742688 , 7.50484635, 7.69395084, 7.12246375, 7.45395452,\n", | |
" 8.87354506, 7.21316897, 9.91935922, 7.68514535, 7.69829189,\n", | |
" 7.60479758, 9.20521572, 9.19367047, 8.34127606, 7.05855013,\n", | |
" 9.81307349, 9.58257672, 9.72827059, 8.59923455, 8.79515108,\n", | |
" 8.4763343 , 7.63767628, 8.97168412, 8.05968263, 9.55249593,\n", | |
" 8.44953151, 7.29934271, 7.87476956, 9.6737077 , 9.27775512,\n", | |
" 7.3990882 , 9.20247484, 7.04482973, 8.59886908, 9.83825221,\n", | |
" 7.17717792, 9.79979251, 8.43087741, 8.33422297, 7.39248875,\n", | |
" 8.1819836 , 8.47310505, 8.27675207, 8.15330378, 9.56572589,\n", | |
" 8.31898397, 8.00068272, 9.99623593, 7.19791881, 9.84622467,\n", | |
" 8.70033109, 8.00865256, 7.23354245, 9.41544325, 7.11626548,\n", | |
" 9.64324982, 9.27411011, 9.62418395, 7.61555538, 9.19845169,\n", | |
" 8.72558734, 7.00309281, 9.61242046, 9.27232182, 9.33538062,\n", | |
" 7.48388786, 9.77946574, 7.12374316, 7.3861874 , 9.41244566,\n", | |
" 7.36922953, 9.37883966, 8.89950784, 8.73728237, 9.81692397,\n", | |
" 7.25302551, 7.62187865, 7.92341775, 8.7687996 , 8.53566244,\n", | |
" 8.38791283, 9.35694264, 8.05372971, 9.99959127, 7.44709005,\n", | |
" 9.13266216, 7.48814482, 9.9473162 , 7.588107 , 7.45888748,\n", | |
" 8.58707524, 7.76394723, 8.34201511, 8.14141788, 9.13173333,\n", | |
" 9.88027882, 8.47679276, 7.11840407, 8.37250661, 9.05711744,\n", | |
" 9.31605357, 7.73288069, 8.44219264, 7.75901492, 7.13222464,\n", | |
" 9.48929886, 7.74009609, 8.68184891, 7.65865622, 7.06125206,\n", | |
" 8.9952837 , 9.35824639, 8.68732446, 9.34096502, 9.07040278,\n", | |
" 8.46167936, 7.71673062, 8.04325958, 8.93244142, 8.3815469 ,\n", | |
" 7.48227763, 7.51327344, 8.57468394, 8.86047038, 7.80189773,\n", | |
" 9.06145468, 8.18465659, 8.49294802, 7.12403292, 7.76623746,\n", | |
" 8.20289537, 8.98050573, 9.50054465, 8.17108794, 9.97171568,\n", | |
" 8.24945986, 9.81090267, 7.13575997, 8.04495051, 7.01475092,\n", | |
" 7.24425197, 9.70946397, 9.94600093, 7.06986814, 8.3589092 ,\n", | |
" 8.13185706, 9.83809974, 8.83487804, 9.15523221, 7.96310242,\n", | |
" 7.79531929, 8.7874656 , 8.02071558, 8.93066333, 8.6287478 ,\n", | |
" 8.60124131, 7.76878443, 8.08242144, 8.40836677, 9.29490379,\n", | |
" 8.62806289, 8.50393693, 8.52120334, 7.34508814, 7.92070908,\n", | |
" 7.27552675, 9.83824585, 7.96780035, 9.31114304, 9.62272672,\n", | |
" 7.92725616, 7.49299091, 9.00238805, 8.9141528 , 7.47021547,\n", | |
" 7.4366838 , 8.45527025, 8.27062083, 7.07489315, 7.33729383,\n", | |
" 8.41620483, 8.7879388 , 8.66613588, 8.59060709, 8.62152329,\n", | |
" 9.77842912, 7.27470915, 8.57734403, 9.60285243, 8.57855658,\n", | |
" 9.16416441, 9.75152287, 9.78031787, 7.97661111, 7.95638635,\n", | |
" 9.9948668 , 7.98816496, 7.05996253, 7.69398491, 7.60665355,\n", | |
" 8.63261882, 9.61446802, 7.69593739, 9.65845615, 9.2208101 ,\n", | |
" 7.26262351, 7.95901561, 8.18674602, 8.94025778, 8.22192159,\n", | |
" 8.91608079, 9.45113035, 7.55835409, 9.39361808, 9.60769142,\n", | |
" 9.67407863, 8.07140753, 8.8927782 , 9.22240845, 9.96561505,\n", | |
" 7.69662662, 7.83300012, 9.83866328, 8.13475081, 8.97364191,\n", | |
" 7.65585244, 9.66951003, 7.35719351, 8.61321262, 7.74117862,\n", | |
" 7.59953898, 9.3967543 , 7.47422941, 7.73571449, 9.2552282 ,\n", | |
" 7.27548287, 7.11659163, 9.32376907, 9.42449538, 8.8906358 ,\n", | |
" 9.0249748 , 9.49532451, 9.20539903, 9.31736822, 7.66512012,\n", | |
" 9.17476695, 9.48648316, 9.15993691, 8.8765387 , 7.88106054,\n", | |
" 9.62274292, 9.37583158, 7.32258951, 8.42702008, 9.03921717,\n", | |
" 7.44820024, 7.19583929, 8.56925443, 9.79951846, 7.31147013,\n", | |
" 9.72433736, 9.03333522, 8.08212073, 9.65707113, 8.30563235,\n", | |
" 9.46705207, 9.43625017, 7.26440506, 7.13430277, 9.39195825,\n", | |
" 7.71187614, 7.27589193, 8.28792132, 9.35698406, 9.38459997,\n", | |
" 9.42956462, 9.97174469, 7.61507035, 9.76509995, 9.61179061,\n", | |
" 9.8604296 , 7.04389448, 8.73278799, 8.69258371, 7.57178533,\n", | |
" 9.85746614, 9.17957694, 9.26193212, 7.70477933, 8.55132397,\n", | |
" 8.31180457, 9.45149906, 8.29539629, 8.99995254, 9.41196022,\n", | |
" 9.39863403, 9.41184698, 7.39180455, 8.31214139, 7.62906595,\n", | |
" 9.44314298, 8.10243482, 7.31616556, 9.08370627, 7.35700066,\n", | |
" 7.18063706, 7.68157895, 9.63838723, 7.14848147, 9.52231952,\n", | |
" 7.85168723, 9.21851909, 7.00570978, 8.48581012, 7.40314866,\n", | |
" 9.96688394, 7.35416731, 7.54583384, 7.22436591, 8.58609398,\n", | |
" 9.81268508, 7.88625623, 9.3307253 , 8.65034154, 7.71976348,\n", | |
" 7.56522358, 8.61554955, 8.91371452, 9.27194016, 8.88309852,\n", | |
" 7.45252317, 7.22225964, 9.47549669, 8.14783714, 9.18807626,\n", | |
" 9.02270062, 8.15320834, 9.79643386, 9.06615114, 7.9805967 ,\n", | |
" 7.66175244, 9.30274963, 7.98104978, 8.77205832, 7.54438054,\n", | |
" 7.97340129, 8.17072384, 9.46874512, 9.9243418 , 8.59604526,\n", | |
" 9.90992093, 9.80039651, 8.62210607, 9.38087285, 9.56142345,\n", | |
" 8.09057477, 7.06722611, 9.06663847, 7.74038503, 8.76203032,\n", | |
" 8.04665903, 9.70775929, 7.40689491, 9.26413697, 7.80655388,\n", | |
" 9.7233853 , 7.90454167, 7.71440922, 8.03236743, 9.3713307 ,\n", | |
" 8.7151845 , 7.73047458, 9.5117869 , 7.13209448, 7.52685097,\n", | |
" 9.16871771, 7.18064315, 7.43939689, 7.170071 , 8.09000456,\n", | |
" 8.54441773, 7.02457026, 7.39518303, 9.38823633, 7.14008916,\n", | |
" 9.31563456, 8.13786957, 8.73456007, 7.75393871, 9.0647528 ,\n", | |
" 9.12741947, 9.16921772, 9.94093385, 8.58506097, 7.35287573,\n", | |
" 9.95965165, 7.92863877, 7.71712399, 8.14445937, 7.81219971,\n", | |
" 7.04397188, 9.60556137, 9.43498411, 7.96923303, 8.88755637,\n", | |
" 8.01447881, 7.81948968, 9.84433077, 7.37709038, 9.2233594 ,\n", | |
" 9.41874773, 7.8356872 , 8.36202071, 8.95944407, 9.76848648,\n", | |
" 8.61176602, 8.94631809, 9.41378081, 7.80205324, 9.01716836,\n", | |
" 9.83076355, 7.91349076, 7.72028895, 8.81107319, 9.29945309,\n", | |
" 7.19167666, 8.94546782, 9.80495417, 7.39872867, 8.66520353,\n", | |
" 9.51226983, 8.62262079, 8.66238071, 7.89382946, 7.61343773,\n", | |
" 9.85926904, 7.5442213 , 8.51012339, 9.06769213, 9.66829496,\n", | |
" 7.82401278, 8.74531016, 9.18676369, 8.85298266, 7.69085934,\n", | |
" 7.46905566, 7.7106409 , 9.07087825, 9.21416246, 9.5537319 ,\n", | |
" 8.50586946, 8.66710468, 8.86211499, 7.47335643, 7.7609516 ,\n", | |
" 9.26857413, 8.58193404, 9.00043581, 7.41719041, 7.70842358,\n", | |
" 9.00804952, 8.11908545, 8.85550054, 8.74057695, 9.49639402,\n", | |
" 8.26980269, 8.55194337, 9.54510042, 7.24385003, 9.92290073,\n", | |
" 9.48440569, 8.3221203 , 7.33052714, 7.82730551, 9.39770234,\n", | |
" 9.13512643, 7.07665695, 8.62444245, 9.87496918, 8.09497727,\n", | |
" 7.13602884, 8.48216148, 9.85867955, 9.71967443, 8.01870515,\n", | |
" 9.11931349, 8.07559605, 8.53661447, 8.28957373, 8.22342795,\n", | |
" 7.94138486, 8.00894945, 8.51863645, 7.56116125, 7.057198 ,\n", | |
" 8.8689186 , 7.99829113, 8.22819395, 9.23205243, 7.09632405,\n", | |
" 8.52872214, 7.0390274 , 9.0258585 , 8.83855777, 8.52063015,\n", | |
" 8.84539192, 9.76121154, 8.11666085, 9.11087744, 8.19310853,\n", | |
" 8.85436345, 8.68751481, 7.72530779, 9.04912696, 9.10199853,\n", | |
" 8.22137613, 7.45645003, 8.5295347 , 7.03770519, 9.31933287,\n", | |
" 7.61587985, 8.65591566, 8.30408547, 8.49661728, 9.37692754,\n", | |
" 8.16461831, 9.23832099, 9.83135701, 7.5032111 , 8.4386207 ,\n", | |
" 7.64604763, 9.26797308, 9.51135564, 9.23146657, 9.37780024,\n", | |
" 8.18735159, 8.90154281, 8.8467903 , 8.9348151 , 9.96104518,\n", | |
" 8.82848873, 7.76897839, 9.46939596, 8.51696512, 7.96111156,\n", | |
" 8.06415496, 7.78803149, 7.30543159, 7.85394809, 8.62382051,\n", | |
" 9.65802777, 7.43926664, 7.68254594, 7.7262672 , 7.62205761,\n", | |
" 7.90411272, 7.24952108, 7.17924846, 7.96254926, 8.06177967,\n", | |
" 8.28823099, 9.20798877, 7.80652464, 7.62160499, 7.22200402,\n", | |
" 9.21561069, 9.51704169, 9.6157204 , 8.70890363, 8.47266616])" | |
] | |
}, | |
"execution_count": 260, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"initial_speed = np.zeros(1000)\n", | |
"for i in range (0,1000):\n", | |
" initial_speed[i] = 7 + np.random.rand(1)*3\n", | |
"initial_speed" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 261, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"initial_theta = np.zeros(1000)\n", | |
"for i in range (0,1000):\n", | |
" initial_theta[i] = np.random.rand(1)*np.pi/14\n", | |
"target_x_position = target[' x position (m)'].values\n", | |
"target_y_position = target[' y position (m)'].values" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 262, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"initial_v_y = initial_speed*np.cos(initial_theta)\n", | |
"initial_v_z = initial_speed*np.sin(initial_theta)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 263, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"z_impact = d*(initial_v_z/initial_v_y - g/(2*initial_v_y**2)*d)+z_initial" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 265, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.collections.PathCollection at 0x7fad725be1d0>" | |
] | |
}, | |
"execution_count": 265, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.boxplot(z_impact, labels=['Robot Z-Impact Location']);\n", | |
"plt.scatter(target_x_position, target_y_position)\n", | |
"#compared to class scatter plot" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 266, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Robot Z-impact mean is -0.009905293585047062 meters\n", | |
"Robot Z-impact std is 0.22983110531465206 meters\n" | |
] | |
} | |
], | |
"source": [ | |
"robot_z_mean = np.mean(z_impact)\n", | |
"print('Robot Z-impact mean is', robot_z_mean, 'meters')\n", | |
"robot_z_std = np.std(z_impact)\n", | |
"print('Robot Z-impact std is', robot_z_std, 'meters')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 267, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The first quartile for the robot is -0.17254750753638295\n", | |
"The second quartile for the robot is -0.013511333099116118\n", | |
"The third quartile for the robot is 0.1532991508436963\n" | |
] | |
} | |
], | |
"source": [ | |
"Q1_robot = np.percentile(z_impact, q=25)\n", | |
"Q2_robot = np.percentile(z_impact, q=50)\n", | |
"Q3_robot = np.percentile(z_impact, q=75)\n", | |
"\n", | |
"print('The first quartile for the robot is {}'.format(Q1_robot))\n", | |
"print('The second quartile for the robot is {}'.format(Q2_robot))\n", | |
"print('The third quartile for the robot is {}'.format(Q3_robot))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 268, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"<matplotlib.collections.PathCollection at 0x7fad72522748>" | |
] | |
}, | |
"execution_count": 268, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.boxplot(target_y_position, labels=['Class Z-Impact Location']);\n", | |
"plt.scatter(target_x_position, target_y_position)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 269, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Class Z-impact mean is -0.047397370492807414 meters\n", | |
"Class Z-impact std is 0.2548611138551949 meters\n" | |
] | |
} | |
], | |
"source": [ | |
"class_z_mean = np.mean(target_y_position)\n", | |
"print('Class Z-impact mean is', class_z_mean, 'meters')\n", | |
"class_z_std = np.std(target_y_position)\n", | |
"print('Class Z-impact std is', class_z_std, 'meters')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 270, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The first quartile for the class z-position is -0.21785495681409592\n", | |
"The second quartile for the class z-position is -0.070851135369002\n", | |
"The third quartile for the class z-position is 0.13222390283592378\n" | |
] | |
} | |
], | |
"source": [ | |
"Q1_class = np.percentile(target_y_position, q=25)\n", | |
"Q2_class = np.percentile(target_y_position, q=50)\n", | |
"Q3_class = np.percentile(target_y_position, q=75)\n", | |
"\n", | |
"print('The first quartile for the class z-position is {}'.format(Q1_class))\n", | |
"print('The second quartile for the class z-position is {}'.format(Q2_class))\n", | |
"print('The third quartile for the class z-position is {}'.format(Q3_class))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 286, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.boxplot(target_x_position, labels=['Class X-Impact Location']);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 272, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Class X-impact mean is 0.01207963411779779 meters\n", | |
"Class X-impact std is 0.25716367278418045 meters\n" | |
] | |
} | |
], | |
"source": [ | |
"class_x_mean = np.mean(target_x_position)\n", | |
"print('Class X-impact mean is', class_x_mean, 'meters')\n", | |
"class_x_std = np.std(target_x_position)\n", | |
"print('Class X-impact std is', class_x_std, 'meters')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 273, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The first quartile for the class x-position is -0.16854422326722185\n", | |
"The second quartile for the class x-position is 0.028452517775170515\n", | |
"The third quartile for the class x-position is 0.1670894539891312\n" | |
] | |
} | |
], | |
"source": [ | |
"Q1_class = np.percentile(target_x_position, q=25)\n", | |
"Q2_class = np.percentile(target_x_position, q=50)\n", | |
"Q3_class = np.percentile(target_x_position, q=75)\n", | |
"\n", | |
"print('The first quartile for the class x-position is {}'.format(Q1_class))\n", | |
"print('The second quartile for the class x-position is {}'.format(Q2_class))\n", | |
"print('The third quartile for the class x-position is {}'.format(Q3_class))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 284, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0.5, 1.0, 'Class and Robot Spitball Z-Position')" | |
] | |
}, | |
"execution_count": 284, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAESCAYAAAA17khbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3de7gcVZ3u8e9LCBBUSKKAEoUE4UTAKNHtCOKMmHEmKAoRR0HxwnjBgzd0BpSIj4SLEgXFUZkRPCoKjigKAYQB1BAvaBwDASFIFEwQA2gwCdcQAvzOH6uaVGpX777s6r17d7+f5+lnJ1WrqlZ1V9ev17UUEZiZmVVhi9HOgJmZ9Q4HFTMzq4yDipmZVcZBxczMKuOgYmZmlXFQMTOzyjioDIOklZJWjnY+up2kkLRotPNRI2mRpL7rS9/q5yDpgGybeR3Kz5HZ/o/MLZuaLTu3E8ccCySdm70HU1vYpmvuRQ4qBZJeJulbkv4oab2khyT9TtJ/SnrRaOev10mal32h8q8HJd0g6ROSJox2HhtpN4hK2kHSGdn1Vrv2Vkq6QtLHJD2lA3kdswE2F5SaeZ3b5D7PLWz3hKT7JP1S0nskqcOnVS9fgwJwt9pytDPQLSSNA74EHA1sAH4C/AAI4HnAO4D/K2lORFw6ahntH98FbgUEPAuYA5wCvFLSq6LHRu1Keg7wK2AKcD3wNWA9MA14MfBq0vV42zAOsyfw8PBy2lVuAE4aYv0WwL8BTwFuaXHfZwP3AOOAqcAbgHOAfYD3t5rRFs0F5gOrWtjmHzuUl5Y5qGwynxRQ/hd4Y0T8Kb9S0mTgRGDSKOStH10QEQtq/5F0PPBbYBbwSmDhaGWsQ04iBZRPRMSniisl7QvcO5wDRMStw9m+20TEDaTAUkrSZ0gB5QrgjBZ3/5Vs/7V9zQd+Axwt6YyIWNFGlpsSEXcDd7e4ze0dyk7LXP0FSPo/pF80q4GDigEFICLWRMQxwAWN9iXp9Ky6Zq2kRyQty6puxtdJf15WzbFB0l8kLZb00XbSDZGvF0s6K8vL/VnVyvWS3l9WpK9V4UjaKasOvFfSw9my0mpASW+UtDQ751WSPldVdVVErAEuyf774pJjP1XSqZJ+n70/qyX9QNKMevuUNEHSmVleH8ny/sY6aadmVSN3S3pU0h2SvijpGbk0B+Sqkl5RqEY5oMEp7pv9PavO+S+OiHWF/ESWp30kXZ19ruskfV8l9fEqVMtleX1Fbl3tNa9k21dKuja7blZL+lr+3HPp3inp0uz92ZBdN5dIGmhw/pXKPsePArcDR0TEE8PZX0QsAxaRSs5PXn+Sxks6VtJNSlWWayVdKenvS/I0SdKnJd2afZfWSrpZqWr9qbl0m7WpKFXdfSNb/Y3c57Qyt01pm0oz120ubcvf+TIuqSTvIAXYsyNiyF+DEbGhwb4OBf6V9Ev6x8DWpC/uKcAAqRoHAElTSCWj8aQb5kpgMrA38G7gs62ka+A9wGuBnwGXA08D/hn4MrAH8OGSbSYC1wJ/A74F7Jqd308k7RkR9+TO5Z2kKpu1wNdJVTeHAtObyFurNub/I2kb0vv9EuDXpGqiZwNvAg6UNDsiflGynwuBvUg/FCYAhwPfk/SuiPh6bv/TgV8ATwcWAMuBFwEfBA6StG9ErCZ9LieRSrR3AOfmjrWywTmtyf7uDixpkDZvN+CnpKqzs0jXxBuAl0l6SUQMVYVyEnAk6XPNVyMtKqTbj1Qlc2l2rP2AdwL7Svq7iHgol/YsUunhatJ1syvpmp8t6YCIWNzCubVF0vNJN+GHgNfng/Fwd104joDvAweTqte+RKrJOAy4RtKbI+LCXNqrSPeAq0nv5VbAc0mfwaeBB+scdwHpu3gI6ftfK0ENeV4tXLd5TX/n64qIvn8B15DaTma1uN1KYGVh2RRgq8IyAV/NjvHy3PIPZcsOLtn301tN1yCvuwBbFJZtCVwJPA7sWlgX2es/AOWWn5gtn5tbtj1wP3AfMC23/GnAsiz9oibzOS9LP6d4nqQ65gBeWlhXy9PXCnl9BfAE8If8uZNumkGqTntKbvm07BzuB7YvuT7eVjjuJ7PlXy9575o639w2H8m2+2t2Pi8Hth0i/dTcZ/TJwrp/y5Z/q1G+au9FnWMckDvG2wvrvpgtP7mwfFrJfvYEHgB+XFh+ZLaPI0vO69xW3r/c9pNI7U4BHNbG9udm2+5TWL43qT3qido5kn6MBilYbFk434dIN/2nZctekKX9fMkxtyN3z8jlYepQ71VhHysZfC9q57pt6js/5HvYzgfXay/gd9mbNr3F7QZ9kEOkfVF2jHm5ZbVg8U8Ntm0qXZvnfmjZxZote5DcTTdbvmu27ge5ZW/Pln22ZP9vob2gckH275NIDaSrs+X/VbLNH0klo51K1i3Itvv73LJF2bLDS9J/ltxNlBSMA7i+JO02pMbc9YWbQjtBZYvsy7wx9+V+nPSr9ERgciH91CzN3ygEH1KJ9s/N5Ivmgsrv8jeZbN3TSTfZPzZ5fpeSOsDk83Nk8dpjGEElew//p9612OQ+zs22/0p2/Z0MnJedawBfyqVdmC17Qcl+vkDuhs6moPKpFvIwdaj3qrDNSnL3omFct01954d6uU2lYpK2UOp6eG1Wv/1EVnd9XZbkWbnkl5Eu1gWSviHpLZJ2Kdlts+mGytfWko6TtETSA7V6WVJVUTFfNX+Izas2YFOPlIm5ZS/M/v68ZB9l1U7NOIx0M/0kqeruGaSAcnQ+kaTtSCWM30XEX0r2syj7u0+Teastq51TbbtFxYQR8QiwmPQlHVY1X0Q8EanN7tmkqqVzgJtIN6N5wE2Sdi/ZdGlEbNajKyI2kqpLh52vzLWR3V1yx/gbqXfeNElPqy2XtLukr0takbWp1K6z15Gqe55eQX7qORU4kNRzc25Zgqzda17hdUBJ0veSrr9PkKq3rgfeRfqBV7MPsDYifluy/aJcGkjVYzcDcyVdLul9kmZk1WKd0O512+x3vi63qST3kLoNTyHVOw7Hl4D3kerUL8r2/SjpAzmG1MYCQESskPQy0q/xw0i/RpD0G+DfI+LnraRr4AfAQaQbwX+Tfvk/Rvpl+I58vnLuKy6IiMey78G43OLts79/LdlH2Y2+Ga+PiAVKnRv2JrX9HC3phog4J5duuwbHuaeQLq9Yn5zfz3aFv+3sv2VZYPxG9kLSNNIv138APk+6weWVnQMMPo/haOYYD0jagxTMnkZqT7yY9Mv3CVK7ygspv86GTdIbgONJ37vDI+LxOkkPIAWLokWF/8+MXO+vOrYjVa2W2ey6yL43s0gln0OB12Tr75R0auGarkK7122z3/m6HFSSX5IutmF1VZW0E6lb8o3AfhGxPrfupaSgspmIuBGYI2lr4O9Iv+g+AFwhaa+IuLOVdHXy9RJSQLmS1Lvtidy6w0hBZThqF+KOJet2Gs6Os1/dN0h6LSngf0HS/+TO9/4Gx9mpkC5vB1I10VDph7P/Yct+UBxJquJ7ZUmSHUYgX80e48OkH09viYjv5BNm1/8L6QBJe5MC7wbg0Biis01EzCOV/KpwPy1cF5EaxY+W9H7g+cA/kd6zsyWtjoiLK8pX/rgjft26+iv5JunX1FGShiyeZzf1eqaRGuV/nA8omf2H2m9EbIiIn0fER0k9QZ5KGpPRVrqC52Z/L4/BXSuHzFeTbsz+DupGSWpwHrZIPXhOJPXSmpdbfj+wAthTUtnN7xXZ37JfnWV5qy2rnVNtu38oJsyuhZcCj7B5CfcJmvxV16Rar6CyqpKZkrYt5Gs86YdHMV9lHs+2GSq/LytW02Tfk+cBKyLigWxx7Tq7rJB2AqlNsXKStieViJ4KvDciru/Eceq4AZiU9TYrqnvdZVWdv42IzwFvzhYXS6BFtZJXs9dVO9dtJRxUgIj4PalqYUfgMknPLqaRNFHS50jVT/XUxrfsl/8SKo2DGVTHK+klZf3F2fQrYn0r6ZrI12YBRGlA3VENtm3GpaTePUdl1TW1/T8VOKGC/dd8HbgTeHv+OKSuj9uQqhaeJOnlpGqX20ndJIs+rtzUJ9k+30s6l0sAIo1Z+inw4qxUl3csqS3qgoh4NLd8DakqtWmS/i2rPiouF6laB8rbgCZn+cj7YHb8Cwv5KlPryjxUfvcE3lZYVgvw5+eWDbrOsvx/mvJS7LBI2gL4NqlL/Jci4ltVH6OB2vFOywfl7Pt+FKkEf0m2bJqk55Xso9nvcDOf05PavG4r4eqvTeaSRt8eDdwm6UekXi+QLtpXZesPqbeDiLhL0sXA64HfSLoG2Jn0K+Qq0viBvCNIxeFrSN0gHwJmkorFy4Eftpiunl+Txj4cLumZpJHBu2X5urQkXy2JiHWSPkzq0nudpAvYNE5lGWksyLBFxKNKI5vPIgWrd2erPkMag/N/Jb2ANBZnCukHwCPAO0tKaJBugjdln9k2pF+N2wHvioh83fLRpBv6fysNqvs96Zf3bFIp6WOF/V4DvFHSd0ndlh8H/jtKBtXmvB34nKQbSO0S95ICxgGkEsEaBgcPsnz9u6T9gKWk9qeDSSOySxurS/L6L8B3JV1JqkL6RWw+rudq4KuSXkdqQ9gvy9ctpPe+5iukMVoXZed+H6n0Oo3UZnFAE/lpxbGkat0NpDadeUOkXRkR51Z8/G+R3rvXAksl/Q+bxqlMIA26rFUvvRC4WNJi0nfir6T3ZQ6pE85XGhxrMelaPibrnHIvcF9E/NcQ27R63Vaj1S53vf4i/cr6Vvamr89et5LmAppZSLuSwX3Dn0bqTngH6SJYRuoxMo1CV0lSEfTsLM19pGqOW4BPsfk4labSNTivnUj1zneRLuLrSMHqAApdnWNT98JFdfZVuo402PCG7LxXAZ8jfbna6VI8p876rUntII8yeEzMp0lB91FSV9uLgBeW7GNRdoxtgTOz9+SRLO9vrHPc3bLrotbx4k+kzgM7lqTdmTQo7m+kqrAADmhw3i/Kzv1npNLYo9nnfFP2Pu5cSD+1dj2RevpczaaxQt/PvzdDfW6k7sefy475WP5ayF8bpCrWa0k/aO4llRp3KDnGP5LaKB/Izv8HpB9l59JEN1la6FKc22czr2avv9o+92ky/XjSzXlZdg2tI/2AfEUh3bNJU0H9mhRQHiG1k30T2LNOHqYWlh9M+t6uz9avzK1bScnwBlq7blv+zpe9lG1gZmOI0hQeK4BvRsSRo5oZsxy3qZiZWWUcVMzMrDIOKmZmVhm3qZiZWWX6ukvxM57xjJg6depoZ8PMbEy57rrr7o2I0pkW+jqoTJ06lSVLWnl0hZmZSbqj3jq3qZiZWWUcVMzMrDIOKmZmVhkHFTMzq4yDipmZVcZBxczMKuOgYmZmlXFQMTOzyvT14EeDBUtXcfpVy7lr3Xp2njiB42ZPZ87Mlh5aaGb2JAeVPrZg6SrmXnQT6zemx1+vWreeuRfdBODAYmZtcfVXHzv9quVPBpSa9Rsf5/Srlo9SjsxsrHNJpY/dtW59S8vNrHWShlzfazPFu6TSx3aeOKGl5WbWupLnvQ/6fy9xUOljx82ezoTx4zZbNmH8OI6bPX2UcmRmY52rv/pYrTHevb/MrCoOKn1uzswpDiJmVhlXf5mZWWU6GlQkPUfS9yXdJ+l+SRdJ2qXJbaPOa59Cui0kzZW0UtIjkm6U9IbOnJGZmQ2lY9VfkrYFFgIbgHcAAZwKXCPpBRHxUBO7ORc4u7Ds94X/nwIcC5wAXAccDlwo6bURcUX7Z2BmZq3qZJvKe4DdgOkRcRuApN8CfwDeC3y+iX2siojF9VZK2pEUUOZHxBnZ4msk7Q7MBxxUrC/129gI6x6drP46GFhcCygAEbECuBY4pKJjzAa2As4vLD8fmCFpWkXHMRtT+m1shHWPTgaVvYGbS5YvA/Zqch9HS9og6WFJCyX9fckxNgC3FZYvy/42exwzM6tAJ4PKZGBtyfI1wKQmtj8feB/wKuAo4OnAQkkHFI6xLgb/9FqTW78ZSUdJWiJpyerVq5vIhpmZNavT41TKytlDV/bWNox4W+6/P5d0Cankcyrw8ty+WjpGRJwDnAMwMDDgegAzswp1sqSylpKSAqmUUlaCGVJEPABcDrwkt3gNMEmDWyUn5dabmdkI6WRQWUZq8yjaC7ilzX0WSybLgK2B55Ycg2Ecx8zM2tDJoHIpsK+k3WoLJE0F9s/WtUTSdsBBwK9zi68EHgWOKCR/K3Bz1tvMzMxGSCfbVL4KfAC4RNInSCWMU4A7yQ1olLQrcDtwckScnC07FpgOXAPcBexKGo/yTHIBJCL+KulMYK6kB4DrgcOAWVTXbdnMzJrUsaASEQ9JmgWcCZxHqrr6CfDhiHgwl1TAODYvNS0HXp+9tgfuJ41veVdE/G/hUCcADwLHkILOcuBNEXFZ5SdlZmZDUj8PhBoYGIglS5aMdjbMOk6SBz12iV74LCRdFxEDZes8S7GZmVXGQcXMzCrjoGJmZpVxUDEzs8o4qJiZWWX8jPo+tGDpKk6/ajl3rVvPzhMncNzs6X5OvZlVwkGlC3Xypr9g6SrmXnQT6zc+DsCqdeuZe9FNAA4sZjZsrv7qMrWb/qp16wk23fQXLF1Vyf5Pv2r5kwGlZv3Gxzn9quWV7N/M+puDSpfp9E3/rnXrW1puZtYKB5Uu0+mb/s4TJ7S03MysFQ4qXaaqm/6CpavYf/5Cph1/OfvPX/hk9dlxs6czYfy4zdJOGD+O42ZPby/DZmY5bqjvMsfNnr5ZQzq0ftNvpjG+lY4A7i1mZs1yUOky7dz0i4Zql5kzc8qTr2a4t5iZtcJBpQu1ctMvU2W7TKMAZWaW5zaVHlRlY7x7i5lZKxxUelCVjfEj1VusXscCMxtbHFSGoVtvhHNmTuG0Q2cwZeIEBEyZOIHTDp3RVnXVSPQW6/SATzMbOW5TaVO3N2APt10mvx8YXseBRtxuY9Y7HFTa1E83wqoCVD1utzHrHa7+apNvhNXxKH+z3uGg0ibfCKvjUf5mvcNBpU2+EVanyo4FZja63KbSppFowO4nnW63MbOR4aAyDL4RmpltzkGlT3mSSDPrBAeVPtTtY2zMbOxyQ30f8iOFzaxTHFT6kMfYmFmndDSoSHqOpO9Luk/S/ZIukrRLE9sNSDpH0q2SHpb0J0nfljStJO1KSVHymtOZsxr7PMbGzDqlY0FF0rbAQuB5wDuAtwF7ANdIekqDzQ8H9ga+CLwaOB54EbBE0nNK0l8F7Fd4/bSC0+hJHmNjZp3SyYb69wC7AdMj4jYASb8F/gC8F/j8ENt+JiJW5xdIuhZYke33k4X090bE4qoy3us8xsbMOqWTQeVgYHEtoABExIosOBzCEEGlGFCyZXdIWg34zlcBj7Exs07oZJvK3sDNJcuXAXu1ujNJewI7Ar8rWf26rO1lg6TFbk8xMxsdnQwqk4G1JcvXAJNa2ZGkLYGvAKuBrxVWXwZ8EJgNHAE8Alws6a119nWUpCWSlqxePahAZGZmw9DpwY9Rskxt7OfLwMuAgyJis0AVER/cbOfSxcBi4DTg/EEZijgHOAdgYGCgLH82gjyy36y3dLKkspZUWimaRHkJppSk04CjgHdGxNWN0kfE48CFwLMlPavZ49jI82OEzXpPJ4PKMlK7StFewC3N7EDSCaTuxMdExHktHLtWGnJJpIt5ZL9Z7+lkULkU2FfSbrUFkqYC+2frhiTpQ8CpwAkR8aVmD5q1v7wR+FNE3NNinm0EeWS/We/pZFD5KrASuETSIZIOBi4B7gTOriWStKukxyR9MrfscOALwJXAQkn75l575dK9WdIFkt4u6ZXZdtcALwY+1sFzswp4ZL9Z7+lYUImIh4BZwO+B84BvkwYvzoqIB3NJBYwr5OXAbPmBwK8Kr//MpVtB6mZ8OnA1KVhtAA6MiAuqPyurkkf2m/UeRfRvs8PAwEAsWbJktLPR19z7a2RIop+/692kFz4LSddFxEDZOj9PxUqN1M3eI/vNeouDig3ih3iZWbv8PBUbxF19zaxdLqnYIGOxq6/bZsy6g4OKbWbB0lVsIfF4SUNit3b1LauuO+77NzLv0mXct36jg4zZCHJQsSfVbs5lAaWbu/qWVddtfDxYt34j4DYhs5HkNhV7UtnNGWCcxGmHzujaG3Iz1XJuEzIbGS6p9LBW2xnq3ZyfiOjagAKpWm5VE4Glm9uEzHqFSyo9qp0ZgMfqtCllI/PLdPt5DMfkyZORVPcF1F03eXLZZOJm7XFQ6VHtdAseq9OmzJk5hdMOncGUiRMQMGnb8YzfYvPH9oyF8xiOtWvXEhFtvdaubfpJFGYNufqrR7XTLbhWxTUWu+YWR+a7i7HZ6HBQ6VH12hkaVQH1yrQpvXIeNvZMnjy5YemvViVZNGnSJNasWdOJbI0YV3/1qLFalWU21vV7VaRLKj1qLFdlmdnY5aDSw8ZqFZDbQ8zGLgcV6yr1Zkhecscarrl1tQONWZdzULGOaafEUa8r9LcX/4na5DGedsWse7mh3jqincGXUL/Lc3E2Mk+7YtadHFSsI9p9Jksro9497YpZ93FQsY5o95ksZV2hy3v0j9y0KwuWrmL/+QuZdvzl7D9/YcPSllk/c1Cxjmh3HrHilCtTJk7giH13GbUxN+1W45n1KzfUW0ccN3v6Zr24oPlAUNYVemDXyaPSzXioajx3EjAbzEHFOqLqwZejNeZmLD5a2Ww0OahYx4zVwZd57c6hZtav3KZiNgTPoWbWGpdUzIbgOdTMWuOgYtZAL1TjmY0UV3+ZmVllOhpUJD1H0vcl3SfpfkkXSdqlyW23kXS6pLslrZf0K0n/UJJuC0lzJa2U9IikGyW9ofqzMTOzRjoWVCRtCywEnge8A3gbsAdwjaSnNLGLrwHvAT4JvBa4G7hK0j6FdKcA84AvA68GFgMXSnpNBadhZmYt6GSbynuA3YDpEXEbgKTfAn8A3gt8vt6Gkl4IvAV4Z0R8I1v2U2AZcDJwcLZsR+BYYH5EnJFtfo2k3YH5wBUdOC8zM6ujk9VfBwOLawEFICJWANcChzSx7Ubgu7ltHwMuAGZL2jpbPBvYCji/sP35wAxJ04Z1BlYJz51l1j86GVT2Bm4uWb4M2KuJbVdExMMl224F7J5LtwG4rSQdTRzHOsxzZ5n1l04GlcnA2pLla4BJw9i2tr72d11EFB+3UUz3JElHSVoiacnq1asbZMOGq90p8NvhEpHZ6Ov0OJXizR7qz2ReTNPMts2m25ShiHOAcwAGBgbKtrUKtTN3VjtPjKz3GGLw0yHNRlInSyprKSkpkEopZaWQvDVDbFtbX/s7SVIxiBTTWYVaKRG0OgV+u9VlI1kiMrP6OllSWUZq8yjaC7iliW1fL2nbQrvKXsCjbGpDWQZsDTyXzdtVam0pjY5jLWq1RNDMFPj5kskWEo8XajObmWq+32cTjhO3g3nbt7+tWUU6GVQuBc6QtFtE/BFA0lRgf+D4JrY9CXgj8M1s2y2Bw4CrI2JDlu5KUpA5Iktf81bg5qy3mVWo1eeLNJo7qxikigGlplFw6PfZhHXS/QxuWmxyW4mYV21+rH91Mqh8FfgAcImkT5DaPk4B7gTOriWStCtwO3ByRJwMEBE3SPou8AVJ44EVwNHANFIAIUv3V0lnAnMlPQBcTwo8s2jcbdlyhmrHyK+rd9sa6qY/1NxZZUGqTKPgMJyHgplZdToWVCLiIUmzgDOB80iN5z8BPhwRD+aSChjH4PadfwU+BZwKTARuBA6MiOsL6U4AHgSOAZ4JLAfeFBGXVXtGvWuoKi1g0M26TLslgmaqp5oJDp5N2Kw7qN0icy8YGBiIJUuWjHY2Rt3+8xeWVh1NyQJF2bq8CePHcdqhM5q+gTdqQwEYJ/FEhINDkyQNr/qrj+8DVeuHz0LSdRExULbOU99b243cgpZv+s20obQapMysezioWMNG7nqlmGuPn9Xyseq1oUhQiy9bb7mpJrSZMSvtjGsxs85wUOlT+RvxxG3HM34LsfGJTaWGfDtGlQ3g9Uo/+QLLuvUbmXvRTSy5Yw0/uG7VkN2XPejRrLv4IV19qDjAcO3DG0EwccJ4RCqF1Kqf5sycwmmHzmDKxAmD1rWj2Qb99Rsf5zu/vrPhgEYPejTrLi6p9KGyG/HGx4OnbL0lN5z4z4PSV/k43bKuv/U0M2al3wc9Wvfp94GoDip9aDRvxGVdfx9+9LFUWioYV6dnWL60U689aAuJBUtXuQrMRly/D0R19VcfanU+rqrNmTmFa4+fxYr5B3Ht8bM48XV7M2H8uM3STBg/jje/9Dmly/PtOcfNnj4oDaRSjqfYNxt5Dip9qOxG3Grje5XTzNdrtzl1zoyG7Tm1bccNmlPUbStmo8GDH/t08ONwuuEWe1zB6I8tmXb85XWfgbBi/kEjnZ0R1w8D7saKfvgsPPjRBhlO43urk0qOhH6fUNKsW7j6q8d14mmI3djjqooqPTMbPpdUelinBgZWUSqoehS8J5Q06w4OKj2sU9VUw51mvlPBrsrxNGbWHld/9bBOVVMNd5S9R8Gb9S6XVHpYJxuvG5UKhqre6sY2GTOrhksqPWy0Gq+Lc4vVqrdqnQRGe/ClmXWOg0oPa6WaqspeYo2qt8qC3fhx4qENj1XaS83MRp4HP/bp4Me8qgczNjMQsTj1/oOPPLbZ1PvjtxBP3WZL1j280T25mtAPA+7Gin74LIYa/OiSilXecN5M9VZ+/q9tt9pys4ACsPGJYO3DG0urz8ysezmoWEsN581Uk7XaltNMA717h5mNDQ4q1nTDeaMG+JpWuxw320Dv3mFm3c9diq3pwYz1qsnmXbqstPtws20gzT64y73DhqaSmZqbMWnSpIpzYv3MQcWanuKkXklh3fqNrFufHrLVzuj44vG3nzCehx59jI2Pb2pn8TxeQ2vUuDtWGoBt7HPvL/f+atr+8xeWDqYsM2XiBK49flbbx6p6brB+56Aycvq995dLKta0Vp4vX8VUMA4iZmOPg4o1rZXny7v9w6w/OahYS4oliHoDJ93+YdafHFSsoaHaN/wcEzPL61hQkbQF8DHgvcAzgeXAyRHxgwbbbQd8GDgQmA6MA24BPo7rDXAAAA0NSURBVBsRCwpp5wEnluzmkoiYM9xzsOaefeL2D7PN9XP37k4OfjwFmAd8GXg1sBi4UNJrGmy3C/A+4KfAW4HDgN8DF0t6f51tXg7sl3t9dLiZt8TPPjFrTUQM+RoqzZo1a0Y598PXkZKKpB2BY4H5EXFGtvgaSbsD84Erhth8BbBbRDycW3aVpOeQSj5nlWzz64h4rIKsW0E3PfvE3YzNul+nSiqzga2A8wvLzwdmSJpWb8OIeKgQUGqWADtXl0VrRrc8+6TZKWLMbHR1KqjsDWwAbissX5b93auNff4DcGuddXdKelzSHZI+I8n9WStSNjmkSDf1kXzuiavhzMaGTjXUTwbWxeChoWty65sm6ShgX1IbS95twPHAUiCAfwY+ArwI+KcW82wl8r27Vq1bj+DJZ6W0MyVLu7qpGs7M6muqpCLpVZKiidei2iZQ9zlNLZF0APBF4LyI+HZ+XUScHxGfiYirI+JHEXEccBzwKkmvqrO/oyQtkbRk9erVrWanL9WefTJl4oRBH+pIlRa6pRrOzIbWbPXXL4E9m3i9PUu/Bpikwf3qJuXWNyTpJcClwELgXU3m9TvZ35eUrYyIcyJiICIGdthhhyZ3aTC6pYVWn9FiZqOjqeqvrOG8XntGmWXA1sBz2bxdpdaWckujHUiaAVwF3AC8ISIGzwUytO6flW2M2XnihNIJJUeitOBBlmZjQ6faVK4EHgWOAE7KLX8rcHNErBhqY0l7AD8C/gi8NiJa+Sl8RPb31y1sY01o9rkrneJBlmbdryNBJSL+KulMYK6kB4DrSYMYZwGH5NNK+gmwa0Tsnv1/R1JA2Yo0Wn6vQi3a0ojYkKVdCnyLNFo/SI3zHwSujIhrOnFu/cylBTNrpJNzf50APAgcw6ZpWt4UEZcV0o0r5GMvYNfs3z8s2e80YGX27+XAB4BnZfu5HTgZ+Ozws29lXFows6H4IV1d/JCubhlB3i35sPaNlYc/9YNe+Cz8kK4xqJmJHHs1Hw5iZmOXg0qXGmoE+UjeYKvIRytBoluCaSscBM026eQsxTYM3TKCfLj5aHXOrrE2HYvnJDPbnINKl+qWEeTDzUerQaLZILZg6Sr2n7+QacdfPqJzkBWNtSBo1mkOKl2qW0aQDzcfrZZ0mgli3VQ66JYSpVm3cFDpUnNmTuG0Q2cwZeIEBEyZOIHTDp0x4nX1w81HqyWdZoJYN5UOuqVEadYt3FDfxbplTMhw8tHqKPxmBlh2U+lgtGcZMOs2DirWUe2Mwm8UxEZzDrIizzJgtjkPfuziwY9WrtjtGFLpYDSqB8eKXhhw1yt64bPw4EfrKS4dmHUvBxUbk6psb/LgRbPqOKhYXxuLI/jNupm7FFtf66buyWa9wEHF+lo3dU826wUOKtbXPHjRrFoOKtbXumU6HLNe4YZ662vunmxWLQcV63vdMh2OWS9w9ZeZmVXGQcXMzCrjoGJmZpVxUDEzs8q4od4895WZVcZBpc957iszq5KDSp8bau6rsqDiUo2ZDcVBpc+1MveVSzVm1ogb6vtcK3NfeUZfM2vEQaXPtTL3lWf0NbNGHFT63JyZUzjt0BlMmTgBAVMmTqj7rHfP6GtmjXQsqEjaQtJcSSslPSLpRklvaHLbcyVFyesLJWlfLumXktZLukfS5yX5LteCOTOncO3xs1gx/yCuPX5W3fYRz+hrZo10sqH+FOBY4ATgOuBw4EJJr42IK5rYfjVwcGHZ3fn/SHoB8CPgKuC1wDTgdGAKcNiwcm+DeEZfM2tEEVH9TqUdgTuB+RFxYm75T4AdIuIFDbY/F3hVRDy7QbqLgecDe0XExmzZ24FvAi+OiOuH2n5gYCCWLFnSxBmZjW2S6MR33VrXC5+FpOsiYqBsXaeqv2YDWwHnF5afD8yQNG24B5A0HjgQ+F4toGS+BzwKHDLcY5iZWWs6Vf21N7ABuK2wfFn2dy9gRYN97CjpXmAi8Efga8AZEVHr0/pcYBvg5vxGEfGIpNuzY9gY48GVZmNbp4LKZGBdDC7jrcmtH8oNpHaYZaTA8XrgNGAP4N2Ffawt2X5NvWNIOgo4CmCXXXZpkA0bSR5caTb2NVX9JelVdXpjFV+LapsAZZWGauZ4EfGFiPhSRCyMiCsi4j3AfwDvkrRHYV8tHScizomIgYgY2GGHHZrJjo0QD640G/uaLan8EtiziXQPZ3/XAJMkqVBamZRb36rvAB8GBoA/MHSpZxKbqtpsjPDgSrOxr6mgEhEPA7e2sN9lwNakdo98u0qtneOWFvZVUyyZ3E5qt9l7s0TSNsBuwIVtHMNG0c4TJ7CqJIB4cKXZ2NGp3l9XknpgHVFY/lbg5oho1Ehf5i2kgPIbgIh4NDvOmyTlg+O/kALapW0cw0aRB1eajX0daaiPiL9KOhOYK+kB4HrSYMRZFLr6ZmNXdo2I3bP/7wqcB1xAKuVsTWqoPxI4OyJuz20+D/gV8D1JZwFTSYMfvx8R13Xi3KxzPLjSbOzr5Ij6E4AHgWOAZwLLgTdFxGWFdOMK+XiA1F7yMWAnUunkd8CHgP/MbxgRN0iaDXwGuBy4D/gW8PGqT8ZGxpyZUxxEzMawjoyoHys8ot76RS+M4u4VvfBZjMaIejMz60MOKmZmVhkHFTMzq4yDipmZVaaTvb/MbJRIg2cqyi8b6w3F1r0cVKzn9ePMxw4aNlocVKyneeZjs5HlNhXraZ752GxkuaRiPc0zH9to67f2LZdUrKfVm+HYMx/bSImIIV+9xkHFeppnPjYbWa7+sp7mmY/NRpaDivU8z3xsNnJc/WVmZpVxUDEzs8o4qJiZWWUcVMzMrDIOKmZmVhkHFTMzq4yDipmZVcZBxczMKqNenHumWZJWA3eMdj7MRsAzgHtHOxMG9MZnsWtE7FC2oq+Dilm/kLQkIgZGOx/W+5+Fq7/MzKwyDipmZlYZBxWz/nDOaGfAntTTn4XbVMzMrDIuqZiZWWUcVMzMrDIOKmY9SFJIOrWifU2UNE/Si6rYX6+StEjSotHOx2hzUDGzRiYCJwIOKtaQg4rZGCFp69HOg1kjDipmXSirbgpJz5d0laQHge8p+Yik5ZIelXS3pC9L2q58NzpB0p8lrZf0M0n7FBMMtT9JU4EVWfKvZnkKSUd28PS7lqQXSrpY0t+y93S5pLl10m4j6UxJN0t6UNI9ki6T9LxCumdK+qakuyRtyD6DH0raMVu/paRTJN0u6RFJ90r6haSXj8Q5t2rL0c6AmQ3pEuBrwGeAJ4BPAXOBs4DLgL2AU4AXSnpFRDyR2/btwJ+ADwBbAycDP5G0R0SsydIMuT/gbuBQ4CLgNODSbLvbO3K2XUzS3wGLgNuAjwB/BvYAXlBnk62BpwGnkt7HycD7gMWSnhcR92TpzgN2BY4D7gR2Av4R2DZb/7HseCcANwDbAQPZ/rpPRPjll19d9gLmAQEck1s2GXgEOLeQ9q1Z2oNzy4I0aeFTcsumAhuBU1rZX7ZdAO8e7fdllD+Tn5Fu+tvWWb8IWDTE9uNIgeIB4CO55Q8CHxpiux8CF432+Tf7cvWXWXe7OPfvfUm/fs8vpLkAeAx4RWH5FRHxUO0/EbESWAzs1+b++pakbYH9gW9HxMMtbPcmSb+WtI70nj4EPBWYnkv2G+A4ScdImiFJhd38BniNpE9JermkrYZ3Np3loGLW3e7O/XtyyTIi4jHgbwyuDvlLyf7+Akxpc3/9bBLpfvnnZjeQ9Drgu8DvgLcALwVeAqwGtsklPYxUrfhR4LfAKkmflFS7P3+a1PvuYODnwN8kfUPSM4Z1Rh3ioGLW3fLzKNXaQZ6ZTyBpS+DppECQt1PJ/nYCVrW5v362ltSmNaVRwpzDgdsi4siIuCIi/he4kUKwjoi/RsT7I2IK8DzgXOAk4L3Z+o0R8ZmImAE8i9S+8gZSO1jXcVAxGzsWAxtIN6u8w0idbn5aWP4aSU+p/SfrybUv8KsW97ch+zuh/ayPbVmV1y+At0pq9n3YllTllfc2UttKveMsj4iPk4LY80vW3xMR/w/4cdn6buDeX2ZjRESskfR5YK6kh4ArgD1JvYt+AVxe2GQ9cLWk00ltJycB9wNntri/v5BKLYdL+i2pXWBFRPRbSeZYUqD9laTPkarCdgP2iYgPlqS/Epgj6UxSY/uLgQ8B62oJJG1PChDfBm4ldaQ4hFTddnWW5hJSCed6UrCZCRwInF39KVZgtHsK+OWXX4NfbOr9tWVhuUjVH8uBR0ntIWcB2xXSBam78MdJN79HSPXx+7S5vznALaSbXgBHjvZ7NEqfy0xS1+t1pKB9K/CxbN0icr2/SDVBpwJ3AQ+TAtJMYCVZjztSsD8bWEbqBXY/qWH+Lbn9/DupVPm37JjLs+tj/Gi/H2UvT31vZmaVcZuKmZlVxkHFzMwq46BiZmaVcVAxM7PKOKiYmVllHFTMzKwyDipmZlYZBxUzM6vM/wdGnlyyj00tkAAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.boxplot([z_impact, target_y_position], labels=['robot','class']);\n", | |
"plt.scatter(target_x_position, target_y_position)\n", | |
"plt.title('Class and Robot Spitball Z-Position')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 281, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"The first quartile for the class z-position is -0.21785495681409592\n", | |
"The second quartile for the class z-position is -0.070851135369002\n", | |
"The third quartile for the class z-position is 0.13222390283592378\n", | |
"The first quartile for the robot is -0.17254750753638295\n", | |
"The second quartile for the robot is -0.013511333099116118\n", | |
"The third quartile for the robot is 0.1532991508436963\n" | |
] | |
} | |
], | |
"source": [ | |
"Q1_class = np.percentile(target_y_position, q=25)\n", | |
"Q2_class = np.percentile(target_y_position, q=50)\n", | |
"Q3_class = np.percentile(target_y_position, q=75)\n", | |
"\n", | |
"print('The first quartile for the class z-position is {}'.format(Q1_class))\n", | |
"print('The second quartile for the class z-position is {}'.format(Q2_class))\n", | |
"print('The third quartile for the class z-position is {}'.format(Q3_class))\n", | |
"\n", | |
"Q1_robot = np.percentile(z_impact, q=25)\n", | |
"Q2_robot = np.percentile(z_impact, q=50)\n", | |
"Q3_robot = np.percentile(z_impact, q=75)\n", | |
"\n", | |
"print('The first quartile for the robot z-position is {}'.format(Q1_robot))\n", | |
"print('The second quartile for the robot z-position is {}'.format(Q2_robot))\n", | |
"print('The third quartile for the robot z-position is {}'.format(Q3_robot))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 276, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Robot Z-impact mean is -0.009905293585047062 meters\n", | |
"Robot Z-impact std is 0.22983110531465206 meters\n", | |
"Class Z-impact mean is -0.047397370492807414 meters\n", | |
"Class Z-impact std is 0.2548611138551949 meters\n" | |
] | |
} | |
], | |
"source": [ | |
"robot_z_mean = np.mean(z_impact)\n", | |
"print('Robot Z-impact mean is', robot_z_mean, 'meters')\n", | |
"robot_z_std = np.std(z_impact)\n", | |
"print('Robot Z-impact std is', robot_z_std, 'meters')\n", | |
"class_z_mean = np.mean(target_y_position)\n", | |
"print('Class Z-impact mean is', class_z_mean, 'meters')\n", | |
"class_z_std = np.std(target_y_position)\n", | |
"print('Class Z-impact std is', class_z_std, 'meters')" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Setting the robot's velocity range to 7-10 m/s and its angle range to 0-pi/14 recreates the class's precision reasonably well. " | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 3", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.7.3" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 4 | |
} |