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?
Project-2/02_Analyze-data_project.ipynb
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
executable file
435 lines (435 sloc)
103 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": 173, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Mean x values from center: 0.012 meters\n", | |
"Mean z values from center: -0.047 meters\n", | |
"_______________________________________________\n", | |
"Stabdard deviaiton of the x values: 0.257 meters\n", | |
"Stabdard deviaiton of the z values: 0.255 meters\n", | |
"_______________________________________________\n", | |
"The first, second and third quartiles for the x direction are: -0.169 0.028 0.167\n", | |
"The first, second and third quartiles for the z direction are: -0.218 -0.071 0.132\n" | |
] | |
} | |
], | |
"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\n", | |
"\n", | |
"target_data = pd.read_csv('../data/target_data.csv')\n", | |
"x_data =target_data[' x position (m)']\n", | |
"z_data =target_data[' y position (m)']\n", | |
"\n", | |
"#mean\n", | |
"x_mean = np.mean(x_data)\n", | |
"z_mean = np.mean(z_data)\n", | |
"\n", | |
"#std\n", | |
"x_std = np.std(x_data)\n", | |
"z_std = np.std(z_data)\n", | |
"\n", | |
"#quartiles \n", | |
"x_q = np.percentile(x_data, q=[0,25,50,75,100])\n", | |
"xq1 = x_q[1]\n", | |
"xq2 = x_q[2]\n", | |
"xq3 = x_q[3]\n", | |
"z_q = np.percentile(z_data, q=[0,25,50,75,100])\n", | |
"zq1 = np.around(z_q[1],3)\n", | |
"zq2 = np.around(z_q[2],3)\n", | |
"zq3 = np.around(z_q[3],3)\n", | |
"\n", | |
"print('Mean x values from center:',np.around(x_mean,3), 'meters')\n", | |
"print('Mean z values from center:',np.around(z_mean,3), 'meters')\n", | |
"print('_______________________________________________')\n", | |
"print('Stabdard deviaiton of the x values:',np.around(x_std,3),'meters')\n", | |
"print('Stabdard deviaiton of the z values:',np.around(z_std,3),'meters')\n", | |
"print('_______________________________________________')\n", | |
"print('The first, second and third quartiles for the x direction are:',np.around(xq1,3), np.around(xq2,3), np.around(xq3,3))\n", | |
"print('The first, second and third quartiles for the z direction are:',np.around(zq1,3), np.around(zq2,3), np.around(zq3,3))\n" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 90, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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RUEBS0REioICloiIFAUFLBERKQoKWCIiUhQUsEREpCgoYImISFFQwBIRkaLQpNAFaKjWW28979SpU6GLISJSVN5+++0f3L1dqnkKWHnSqVMnJk+eXOhiiIgUFTP7Kt08NQmKiEhRUMASEZGioIAlIiJFQQFLRESKggKWiIgUBQUsEREpCurWXkDz589n1qxZLFu2rNBFkTrQpEkTmjdvTrt27WjevHmhiyNSdBSwCmT+/Pl8//33bLzxxrRo0QIzK3SRJI/cneXLl7NgwQKmT5/O+uuvz9prr13oYokUFQWsApk1axYbb7wxLVu2LHRRpA6YGU2bNqVNmzY0a9aM7777LuuAVVaWn7KlUlpad9sSyZTuYRXIsmXLaNGiRaGLIQXQokULlixZUuhiiBQdBawCUjPg6knnXaRmFLBERKQoKGCJiEhRUKeLeqgub66n0hBuuB9//PGUlZVRXl5e6KKISI6ohiUiIkVBAUtERIqCApbkRFlZGWaWcjr++OOrXX7bbbelf//+ldLfeOMNzIxHHnkEgM8//5xBgwbRuXNnWrRowWabbcZpp53G3LlzMypfWay9ddSoUZhZpabDO++8kx122IHmzZuz3nrrcdJJJzFnzpwKeUaOHEnXrl1p0aIFbdq0oXv37jz88MPV7quI1IzuYUlO7LTTTrz++usV0l588UUuuugiunbtWu3ygwYN4vLLL2fu3Lm0adNmZfqYMWNo27YtBxxwAADffPMNm2yyCTfddBNt2rThyy+/5JprruGAAw6otP2a+tOf/sT111/PWWedxYgRI5g5cyaXXHIJU6dO5bXXXqNx48bce++9nHfeeVx22WXsueeeLFq0iPfff79SUBOR3FHAkpxo3bo1PXv2XPn+s88+Y8SIEfTv358//vGP1S5/3HHHcfHFF/PAAw8wdOhQIDxcff/993PUUUexxhprANCrVy969eq1crnddtuNLl26sOeee/Luu++y44471mo/ysvLGTFiBJdffjmXXXbZyvQtt9ySPfbYg8cff5xDDz2U119/ne23375CnkRQFZH8UJOg5NzcuXPp168fXbp0YfTo0Rk9KNuhQwdKSkoYPXr0yrSnn36aH374gcGDB69MW7p0Kddccw1bb701LVq0oGnTpuy5554AfPLJJ7Uu+7PPPsuKFSs47rjjWL58+cppl112oXXr1rz0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4IILOOGEEyqUfZdddmHLLbfkrrvu4pxzzmHSpEmss846K2t+APvum+qXbkQkF1TDkpw655xz6Nu3L/369WPChAn8+9//zng09hYtWtC/f3/uvffelT37PvjgA9577z0GDx5cIe9tt93GDjvswFprrUWTJk1Wjt34ySe1/33N119/nfnz53PcccexfPnyldMmm2zC1ltvzUsvvQRAjx49mDt3LgMHDuSJJ55QzUokzxSwJKfMjEGDBrFkyRJ22GEH9t5776yWHzx4MF9//fXK+0mjR4+mVatWHHLIISvz3HLLLfz+97+nT58+jBs3jjfffJNJk8LvbOaiSXDWrFkA9OnTp9Jvd33wwQf8+OOPAJSUlPDggw/y9ddfc9hhh9GuXTv69OnD++/XaLhKEamGmgQlp7777jvOOeccdtppJ959911GjhzJ2WefnfHyJSUldOzYkTFjxlBSUsLYsWMZMGAALVq0WJnn/vvvZ++99+b6669fmTZt2rRq1928eXMAli5dWiE9EYAS1l13XQBGjRrFtttuW2k9rVq1Wvn3gAEDGDBgAAsWLKCsrIwLLriAvn37MmPGDP2KskiOKWBJzrg7Q4YMYY011uDZZ5/l6quv5oILLqB3795sv/32Ga3DzDjuuOO49dZbOeyww5gxY0al5sCFCxfSunXrCml33313tetef/31adasGVOnTq2QPn78+Arvd9ttN1q1asXnn3/OkCFDMir3WmutRb9+/fjyyy85++yz+fHHH9GI/SK5pYAlOXPDDTfw3HPP8cILL9C2bVuuvfZaysrKOOaYY5g8eXKFWlJVBg8ezPDhw/nd735Hhw4dKCkpqTC/b9++XHfddVxzzTXsvPPOvPDCCzz00EPVrtfMOOqoo7jrrrvYcsst2WqrrRg/fnyl7uytW7dmxIgRnH766cyePZv999+ftddem5kzZzJx4kRKS0s59thjueyyy/j+++/p3bs3G220ETNmzODmm2+mW7duClYieaCAJTnx7rvvctFFF3HhhReuDDBrrLEGY8eOZaedduLcc8/ltttuy2hdW2+9Nd27d2fy5MlceOGFmFUcheuyyy5j3rx53HjjjSxevJiSkhKeeeYZNttss2rXPXLkSFasWMGwYcNYsWIFRx55JLfccgv9+vWrkG/o0KF06NCBESNGcN9997Fs2TI23nhjevXqRbdu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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.hist(z_data,bins=10, color='b', alpha=0.25, label = 'z_values')\n", | |
"plt.hist(x_data,bins=10, color='g', alpha=0.25, label = 'x_values')\n", | |
"\n", | |
"plt.title('Accuracy of Student Throws\\n')\n", | |
"plt.xlabel('\\nDistance from center (M)')\n", | |
"plt.ylabel('Frequency\\n')\n", | |
"plt.legend();" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 94, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAD9CAYAAAB0i+q4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAatklEQVR4nO3dfZxdVX3v8c+X8Hxb6kSgqJAHiOWVEKh6DxUl1xspTy9JAUEhkSC0qaFWItDixRivIg8lVApYRCUWi0kwIlHLQzGIkPJqwKAzATQDRIIJQouX4ARICAkP/u4few+c7DlzZp/J2jPJ5Pt+vc5rctZea+91kp35nrXXflBEYGZmlsIOg90BMzMbOhwqZmaWjEPFzMyScaiYmVkyDhUzM0tmx8HuwGDac889Y9SoUYPdDTOzbUpHR8dzEbFXo2XbdaiMGjWK9vb2we6Gmdk2RdKTvS3z4S8zM0vGoWJmZsk4VMzMLBmHipmZJeNQMTOzZBwqZmaWjEPFzMyScaiYmVky2/XFj2Y2tEhquY2fKZWWQ8XMhozeAkKSw2OA+PCXmZkl41AxM7NkHCpmZpaMQ8XMzJLxRL21pD9n14DPsDHbXjhUrCXNwsFn2JiZD3+ZmVkyDhUzM0vGoWJmZslUGiqS9pO0UNILkl6U9ANJI0q2jV5e7yrU20HSTEmrJW2U9LCkk6v5RGZm1kxlE/WSdgfuATYBZwABXAIslnRIRLxUYjU3ANcVyn5VeH8xcD4wC+gAJgM3S5oUEXf0/xOYmVmrqjz76xPA/sCBEbESQNIvgMeBs4ArS6zjvyJiaW8LJe1NFiizI+KKvHixpDHAbMChYmY2gKo8/HU8sLQ7UAAiYhVwH3BCom0cA+wMzC+UzwcOljQ60XbMzKyEKkPlIGB5g/JOYFzJdXxS0iZJGyTdI+l/NdjGJmBlobwz/1l2O2ZmlkCVoTIcWNugvAtoK9F+PvC3wJHAdOCtwD2SJha28Xz0vOKuq275ZiRNl9QuqX3NmjUlumFmZmVVfUV9o8urS93nIyJOr3v7n5JuIRv5XAJMqFtXS9uIiDnAHIBarebLv83MEqpypLKWBiMFslFKoxFMUxGxDvh34NC64i6gTT1vSNVWt9zMzAZIlaHSSTbnUTQOeKSf6yyOTDqBXYADGmyDLdiOmZn1Q5WhcitwmKT9uwskjQIOz5e1RNIewHHAA3XFi4BXgNMK1acCy/OzzczMbIBUOafyTeBs4BZJnycbYVwMPEXdBY2SRgJPABdFxEV52fnAgcBi4L+BkWTXo+xDXYBExLOSrgJmSloHLANOBY4g3WnLZmZWUmWhEhEvSToCuAqYR3bo6m7g3IhYX1dVwDA2HzWtAD6cv/4IeJHs+pZpEfGzwqZmAeuBc8hCZwVwSkTclvxDmZlZU9qen39Rq9Wivb19sLsxZPh5Kra18r6ZlqSOiKg1Wua7FJuZWTIOFTMzS8ahYmZmyThUzMwsGYeKmZkl41AxM7NkHCpmZpaMQ8XMzJJxqJiZWTIOFTMzS8ahYmZmyThUzMwsGYeKmZkl41AxM7NkHCpmZpaMQ8XMzJJxqJiZWTIOFTMzS8ahYmZmyThUzMwsGYeKmZkl41AxM7NkHCpmZpaMQ8XMzJKpNFQk7SdpoaQXJL0o6QeSRpRoV5M0R9JjkjZI+o2kGyWNblB3taRo8Dqxmk9lZma92bGqFUvaHbgH2AScAQRwCbBY0iER8VKT5pOBg4B/BjqBdwD/F2iX9K6IeKpQ/07gwkLZii3+EGZm1pLKQgX4BLA/cGBErASQ9AvgceAs4MombS+PiDX1BZLuA1bl6/1Cof5zEbE0VcfNzKx/qjz8dTywtDtQACJiFXAfcEKzhsVAycueBNaQjVrMzGwrVGWoHAQsb1DeCYxrdWWSxgJ7A482WPwX+dzLJklLPZ9iZjY4qgyV4cDaBuVdQFsrK5K0I/ANspHK9YXFtwEzgGOA04CNwA8lTe1lXdMltUtqX7Omx4DIzMy2QJVzKpBNzhepH+v5KvB+4LiI2CyoImLGZiuXfggsBS4D5vfoUMQcYA5ArVZr1D8zM+unKkcqa8lGK0VtNB7BNCTpMmA68FcR8eO+6kfE68DNwL6S3lZ2O2ZmtuWqHKl0ks2rFI0DHimzAkmzgM8Cn46IeS1su3s05JGImdkAqnKkcitwmKT9uwskjQIOz5c1JenTZNe1zIqIa8puNJ9/+Sjwm4j4bYt9NjOzLVBlqHwTWA3cIukESccDtwBPAdd1V5I0UtJrkr5QVzYZuBpYBNwj6bC617i6elMkfVfSxyV9MG+3GPifwAUVfjYzM2ugssNfEfGSpCOAq4B5ZIek7gbOjYj1dVUFDGPzgDs2Lz82f9W7F5iY/3kV2WnGXyabv9kA/Bw4NiLuTPl5zMysb4rYfqcdarVatLe3D3Y3hgxJbM/7k229vG+mJakjImqNlvkuxWZmloxDxczMknGomJlZMg4VMzNLxqFiZmbJOFTMbJszfPhwJJV+AS3Vl8Tw4Y3uMmV9qfqGkmZmya1du7byU4S7w8ha45GKmZkl41AxM7NkHCpmZpaMQ8UaanUitD+ToZ4INRt6PFFvDXki1Mz6wyMVMzNLxqFiZmbJOFTMzCwZh4qZmSXjUDEzs2QcKmZmloxDxczMknGomJlZMg4VMzNLxqFiZmbJOFTMzCwZh4qZmSXjUDEzs2QqDRVJ+0laKOkFSS9K+oGkESXb7irpy5KekfSypJ9K+kCDejtImilptaSNkh6WdHL6T2NmZn2p7Nb3knYH7gE2AWcAAVwCLJZ0SES81McqrgeOAz4D/Br4FHCnpPdFxEN19S4GzgdmAR3AZOBmSZMi4o6Un8nMtg7xxT3gwj+qfhvWMlX1zAxJ5wBXAgdGxMq8bDTwOPB/IuLKJm3/FHgI+KuI+Ne8bEegE1gREcfnZXsDTwGzI+KLde3vBvaKiEOa9bFWq0V7e/sWfMqhS9KAPE+l6m3Y0OT9c3BJ6oiIWqNlVR7+Oh5Y2h0oABGxCrgPOKFE21eBm+ravgZ8FzhG0i558THAzsD8Qvv5wMF5iJmZ2QCpMlQOApY3KO8ExpVouyoiNjRouzMwpq7eJmBlg3qU2I6ZmSVUZagMB9Y2KO8C2ragbffy7p/PR88xarHeGyRNl9QuqX3NmjV9dMPMzFpR9SnFjQ5IlnkwuUq2LVvvzQ5FzImIWkTU9tprrxJdMTOzsqoMlbU0GCmQjVIajULqdTVp2728+2ebpGKIFOuZmdkAqDJUOsnmPIrGAY+UaDs6Py252PYV3pxD6QR2AQ5oUI8S2zEzs4SqDJVbgcMk7d9dIGkUcHi+rK+2OwEfrWu7I3Aq8OOI2JQXLyILmdMK7acCy/OzzczMbIBUdvEj8E3gbOAWSZ8nm/u4mOy6kuu6K0kaCTwBXBQRFwFExEOSbgKulrQTsAr4JDCaugCJiGclXQXMlLQOWEYWPEfQ92nLZmaWWGWhEhEvSToCuAqYRzZ5fjdwbkSsr6sqYBg9R01/CVxKdhX+W4CHgWMjYlmh3ixgPXAOsA+wAjglIm5L+4nMzKwvlV1Rvy3wFfW98xXLtjXz/jm4BuuKejMz2844VMzMLBmHipmZJVPl2V+2DfOtxc2sPxwq1pC+9OLATIReWOkmzGyA+fCXmZkl41AxM7NkHCpmZpaMQ8XMzJJxqJiZWTIOFTMzS8ahYmZmyThUzMwsGYeKmZkl41AxM7NkHCpmZpaMQ8XMzJLxDSXNbJskqdL1t7W1Vbr+ocqhYmbbnFbvoO1HAw8cH/4yM7NkHCpmZpaMQ8XMzJJxqJiZWTIOFTMzS6ayUJG0g6SZklZL2ijpYUknl2i3h6QvSLpf0u8kPZ//+cQGdS+UFA1e/1bNpzIzs2aqPKX4YuB8YBbQAUwGbpY0KSLuaNJuBPC3wL/m6/g9MAX4oaSzI+LaBm0mAK/Xve9K0P/tnq8DMLNWVRIqkvYmC5TZEXFFXrxY0hhgNtAsVFYB+0fEhrqyOyXtB1wANAqVByLitQRdt1x/zun3tQBmVtXhr2OAnYH5hfL5wMGSRvfWMCJeKgRKt3bg7em6aGZmqVUVKgcBm4CVhfLO/Oe4fqzzA8BjvSx7StLrkp6UdLmk3fqxfjMz20JVzakMB56PnsdCuuqWlyZpOnAYMLWwaCXwWeBBIICjgfOA9wBHtdhnMzPbQqVCRdKRwF0lqt4bERMBkf2S77Gq8l17Y9sTgX8G5kXEjfXLIqJ4eO0uSU8DV0s6MiJ+0mB904HpACNGjGi1O2Zm1kTZkcr9wNgS9brnQrqANkkqjFba6pb3SdKhwK3APcC0kn1dAFwNHAr0CJWImAPMAajVap5VNjNLqFSo5BPnvc1nNNIJ7AIcwObzKt1zKY/0tQJJBwN3Ag8BJ0fEqy1sHxqPlMzMrEJVTdQvAl4BTiuUTwWWR8SqZo0lvZPscNuvgUkR8XIL2+7e5gMttDEzswQqmaiPiGclXQXMlLQOWAacChwBnFBfV9LdwMiIGJO/35ssUHYGvgiMK1yE92BEbMrrPgjMBVaQjUyOAmYAiyJicRWfzczMelflFfWzgPXAOcA+ZL/4T4mI2wr1hhX6MQ4Ymf/59gbrHQ2szv+8AjgbeFu+nieAi4B/3PLum5lZq7Q9XwFdq9Wivb19sLsxZPiKettaed9MS1JHRNQaLfNdis3MLBmHipmZJeNQMTOzZBwqZmaWjEPFzMyScaiYmVkyDhUzM0vGoWJmZsk4VMzMLBmHipmZJeNQMTOzZBwqZmaWjEPFzMyScaiYmVkyDhUzM0vGoWJmZsk4VMzMLBmHipmZJeNQMTOzZBwqZmaWjEPFzMyScaiYmVkyDhUzM0vGoWJmZsk4VMzMLJnKQkXSDpJmSlotaaOkhyWdXLLtDZKiwevqBnUnSLpf0suSfivpSkm7pf9EZmbWlx0rXPfFwPnALKADmAzcLGlSRNxRov0a4PhC2TP1byQdAtwF3AlMAkYDXwbeAZy6Rb03M7OWVRIqkvYmC5TZEXFFXrxY0hhgNlAmVF6JiKV91PkS8DTw0Yh4Nd/2K8C3JV0eEcv69wnMzKw/qjr8dQywMzC/UD4fOFjS6C3dgKSdgGOB73UHSu57wCvACVu6DTMza01VoXIQsAlYWSjvzH+OK7GOvSU9J+k1Sb+SdIGkYXXLDwB2BZbXN4qIjcATJbdhZkOIpIavvpZZOlXNqQwHno+IKJR31S1v5iGyeZhOsuD4MHAZ8E7grwvrWNugfVdv25A0HZgOMGLEiD66YWbbkp6/cmyglQoVSUeSTYj35d6ImAgIaPSvW+prQUQUz/K6Q9J64Nx8ruTxunW1tJ2ImAPMAajVat4DzcwSKjtSuR8YW6LehvxnF9AmSYXRSlvd8lYtAM4FasDjNB/1tPHmoTYzMxsgpUIlIjYAj7Ww3k5gF7J5j/p5le55jkdaWFe34sjkCbJ5m4M2qyTtCuwP3NyPbZiZ2RaoaqJ+EdkZWKcVyqcCyyNiVT/W+TGyQPk5QES8km/nFEn14fgRskC7tR/bMDOzLVDJRH1EPCvpKmCmpHXAMrKLEY+gcKqvpLuBkRExJn8/EpgHfJdslLML2UT9mcB1EfFEXfMLgZ8C35N0LTCK7OLHhRHRUcVnMzOz3lV5Rf0sYD1wDrAPsAI4JSJuK9QbVujHOrL5kguAPyYbnTwKfBr4Wn3DiHhI0jHA5cC/Ay8Ac4HPpf4wZmbWN23Pp+DVarVob28f7G4MGZJ8SqfZdkBSR0TUGi3zXYrNzCwZh4qZmSXjUDEzs2QcKmZmloxDxczMknGomJlZMg4VMzNLpsqLH20I6uv5E70t9/UrZtsHh4q1xOFgZs348JeZmSXjUDEzs2QcKmZmloxDxczMknGomJlZMg4VMzNLxqFiZmbJOFTMzCwZh4qZmSXjUDEzs2QcKmZmloxDxczMknGomNmQtWDBAsaPH8+wYcMYP348CxYsGOwuDXm+S7GZDUkLFixg1qxZXH/99UyYMIElS5Ywbdo0AKZMmTLIvRu6tD3fyrxWq0V7e/tgd8PMKjB+/HiuueYaPvjBD75RtnjxYmbMmMHy5csHsWfbPkkdEVFruMyh4lAxG4qGDRvGxo0b2Wmnnd4oe/XVV9l11115/fXXB7Fn275moVLZnIqkHSTNlLRa0kZJD0s6uUS7UZKiyWtyXd0Le6nzb1V9LjPbNowdO5YlS5ZsVrZkyRLGjh07SD3aPlQ5p3IxcD4wC+gAJgM3S5oUEXc0afcM8L4G5ZcAE4AfN1g2Aaj/6tHVrx6b2ZAxa9Yspk2b1mNO5dJLLx3srg1plYSKpL3JAmV2RFyRFy+WNAaYDfQaKhGxCVhaWN/uwJ8Bt0VEo8B4ICJeS9J5MxsSuifjZ8yYwaOPPsrYsWO59NJLPUlfsapGKscAOwPzC+XzgW9JGh0Rq1pY30nAHwLfTtQ/M9sOTJkyxSEywKqaUzkI2ASsLJR35j/Htbi+M4BngUW9LH9K0uuSnpR0uaTdWly/mZklUNVIZTjwfPQ8tayrbnkpkt4BHAF8pcEhrpXAZ4EHgQCOBs4D3gMc1cv6pgPTAUaMGFG2G2ZmVkKpUJF0JHBXiar3RsREQGS/5HusqnzX3nA62Yiqx6GviCgeXrtL0tPA1ZKOjIifNGgzB5gD2SnF/eiPmZn1ouxI5X6gzHl4G/KfXUCbJBVGK211y8v6OPBQRDxcsv4C4GrgUKBHqJiZWXVKhUpEbAAea2G9ncAuwAFsPq/SPZfySJmVSDqULMzOa2Hb3TwKMTMbYFXNqSwCXgFOA75UVz4VWN7CmV9nAK8B32lh26flPx/oq2JHR8dzkp5sYd3W3J7Ac4PdCbMGvG+mNbK3BZWESkQ8K+kqYKakdcAy4FSyCfcT6utKuhsYGRFjCuU7kV0w+aOIeLbRdiQ9CMwFVpCNTI4CZgCLImJxiX7u1epns95Jau/t1g1mg8n75sCp8or6WcB64BxgH7Jf/KdExG2FesN66cck4K00vzZlBXA28LZ8PU8AFwH/uEU9NzOzftmubyhpafnboG2tvG8OHD+ky1KaM9gdMOuF980B4pGKmZkl45GKmZkl41AxM7NkHCqWlKQbJK0e7H6YNdL9YL/B7sdQ5lAxM7NkHCpmZpaMQ2WIkDRRUvTyuqFJu05J329Q/t687Yn5+zGS5klaJellSb+W9HVJbT3X2rBfEwvlZ+blowrln5D0sKSNkp6TdL2k4YU650h6NO/HWkntkj7c19+RDQ5J/0PSY5J+lt8po7v8aEm/l/SpJm3vkNTRoPxtkl6TdG7+fi9J10n6laQNkp6S9J380RnN+jYq3w/PLJT3tt+eJGlpvo3nJd0saUShzsckPShpvaQXJP1S0lnN+jGUOFSGjmXA+wqvz+XLHm3Sbh4wqUE4TCW7m3T3o5/fDjwNnEv2ZM+LgD+nyaOhWyVpNvA1srtLHw98BjgW+JGkYXmd04B/Irsb9YfI7vW2kBae0WMDKyJeAqYAfwpcDG88cnwucHtEXNuk+VzgPZKKD/b7WP5zQf5zOLARmEm2z3wGeCdwn6RdU3wOSX8DfJ/shrgfAc4CxgP3SvrDvM4Esifc3gucCHwU+CbwlhR92CZEhF9D8EX2H6qL7BeumtTbD3gdOKuubCdgDfC1Ju12BCaQ3XPt3XXlNwCr695PzOtMLLQ/My8flb8flffjC4V6h+f1TszffxVYNth/v371a588D/g9cCTZTWf/C9izjza7AS8AlxXKHwLuaNJuWL5vB/DhuvILs197b7wfldc5s9B+s/0W+IO8H98q1BtFdvPcc/P35wNdg/13PZgvj1SGoHzUcTvZYwdOj3xvbyQiniL7VnV6XfGxZHd1nVu3zp0lfS4/jPEy8Crwn/niAxN0+yiykfONknbsfpHdbfpF4AN5vZ8D75J0jaQjJe2eYNs2MK4mC5PbyZ7S+vGIaHrn4Ih4mWx0cJokAUg6mGzUM7e+rqRP5odO15Pd3fw3+aIU++f7gD3ouX8+TfZYkPr9s03SfEmTJG0/I5ScQ2WIyXf0hcCuwPH5f8q+zAUOlzQ6f386sDIiltbVuYzsW9584Djgz4CT8mUpDi/snf9cSRZY9a89yG4u2t3XTwLvBe4EuiT9oDg3Y1uf/MvNPLJnLT0cEXeXbDqXbNQxMX9/OrAOuKW7gqQZvHno9CSy/fOwfHHK/fMn9Nw/DybfPyPiXrJDXvsBPwTWSPqJpEMS9GGbUOVdim1wXEv21MvDI+K3Jdt8P283VdJXgL8gC5F6k4G5EXFJd4GkPyix7o35z50L5W8tvP9d/vNoYG2D9fwO3vjFdB1wXT4iO5psjuUmsqCxrZSkfchGK8uAd0s6JyK+UqLpvWSjjqmS7iWbn1lY+MI0Gbg7Iv6+bnuj6Vur++eZZA8hLFrX/YeIWAgszP9/TAQuBxZJ2jcifl+iT9s0h8oQIuk8YBrZCOWXZdtFxDpJt5B9A/xvsm928wrVdif7VlbvL0usvvshaOOBH9eVf6hQ7y6y4+0jIuKukv1eC9wk6b1kk6a2lcoPXX2bbP7hKODzwOWSFkfEL5q1jYiQdCPwKbJv//tSOPRFtn++WCgrs3/+P2AT2f5Z77jC+/vJgmNMRDR7HEd9v9cDt0vaH/gKWVCtKdN2W+ZQGSIkvR+4guw/W5ekw+oWr4mIJ/pYxVyyb4BfApZEz6dzLgLOkPRLskNUJwHv76tfEfFM/u1ypqTngGfJziw7oFDvCUmXA1+VdCDZt9ONZIcRjgL+JSIWS5pD9p/7p/m6/oQsDOsDy7Y+f0c2QX9ERHRJ+izZt/gFkmolDtPOJTuz6xtA9zxgvUXABZI+B/yM7IGAH+mrU3lg3QRMk/Qrsmc0Hcebh9q6670o6TPAtZL2An5ENnH/DuB/A/8REd+RdBHwx8Bisi9o+wKfBh6KiCEfKIDP/hoqL948m6rR64YS7YcBz+T1pzdYvifwXbJDU2uBG8kOs2125gyFs7/ysn2B24Dngd8C/wD8NXVnf9XVPR1YCrxE9pC3R8nO+No3X34G8B9kgbIJWAVcBewx2P8GfvW6b707/7e6pFB+YP7v/PWS6/l5vs/8Q4NluwFfJxsJrCM7GWB0Xv/CunoXUnf2V172FrKR+XNkZ0x+gyxYGp21+CGywHgReJnsC9a3gHH58uPI5vqeyT/zU8D1wNsH+99hoF6+9b2ZmSXjs7/MzCwZh4qZmSXjUDEzs2QcKmZmloxDxczMknGomJlZMg4VMzNLxqFiZmbJ/H9ufgmkQIalJwAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.boxplot([z_data,x_data])\n", | |
"plt.xticks([1,2],['z values','x values']);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 166, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "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\n", | |
"text/plain": [ | |
"<Figure size 720x720 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.figure(figsize=(10,10))\n", | |
"plt.vlines(0,-.75, .75, linewidth=1)\n", | |
"plt.hlines(0,-.75, .75, linewidth=1)\n", | |
"plt.grid()\n", | |
"\n", | |
"angle = np.linspace(0, 2*np.pi, 100)\n", | |
"x_std1 = x_std*np.cos(angle) + x_mean\n", | |
"y_std1= z_std*np.sin(angle) + z_mean\n", | |
"plt.plot(x_mean, z_mean, color='red', marker='o', markersize=15, label = 'Mean')\n", | |
"plt.scatter(x_data, z_data, color='blue', label = 'Target data')\n", | |
"plt.plot(x_std1, y_std1, color='red', linestyle=':', label = 'Standard Deviation');" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 202, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"def random_height(theta,velocity,variance):\n", | |
" \n", | |
" #random velocity\n", | |
" v_uncertain=velocity/variance\n", | |
" random_variance=np.random.rand(1)-0.5\n", | |
" initial_velocity=(random_variance*v_uncertain)+velocity\n", | |
" \n", | |
" #random theta\n", | |
" theta_uncertain=theta/variance\n", | |
" random_variance_1=np.random.rand(1)-0.5\n", | |
" initial_theta=(random_variance_1*theta_uncertain)+theta\n", | |
" angle_radians=initial_theta/360*2*np.pi\n", | |
" \n", | |
" z_initial = 0.3\n", | |
" d=3\n", | |
" g=9.81\n", | |
" \n", | |
" final_height= (d/np.cos(angle_radians))*(np.sin(angle_radians)-g*d/(2*np.cos(angle_radians)*initial_velocity**2))+z_initial\n", | |
" \n", | |
" return final_height[0]" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 302, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"height_out = []\n", | |
"\n", | |
"for i in range(10000):\n", | |
" height_out.append(random_height(10,7.455,2))\n", | |
" \n", | |
"rz_q = np.percentile(height_out, q=[0,25,50,75,100])\n", | |
"rzq1 = np.around(rz_q[1],3)\n", | |
"rzq2 = np.around(rz_q[2],3)\n", | |
"rzq3 = np.around(rz_q[3],3)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 308, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Robot mean z value: -0.0472 meters\n", | |
"Original mean z value: -0.0474 meters\n", | |
"\n", | |
"Robot standard deviation of z values: 0.2692 meters.\n", | |
"Origibal standard deviation of z values: 0.2549 meters.\n", | |
"\n", | |
"Original vs Robot Quartiles\n", | |
"_________________________________\n", | |
"First\n", | |
"______________\n", | |
"-0.218 vs -0.247 \n", | |
"\n", | |
"Second\n", | |
"______________\n", | |
"-0.071 vs -0.001 \n", | |
"\n", | |
"Third\n", | |
"______________\n", | |
"0.132 vs 0.175 \n", | |
"\n", | |
"5.617221388108348\n" | |
] | |
} | |
], | |
"source": [ | |
"print('Robot mean z value: ',np.round(np.mean(height_out),4),'meters')\n", | |
"print('Original mean z value: ',np.round(z_mean,4),'meters\\n')\n", | |
"\n", | |
"print('Robot standard deviation of z values:',np.round(np.std(height_out),4),'meters.')\n", | |
"print('Origibal standard deviation of z values:',np.round(z_std,4),'meters.\\n')\n", | |
"\n", | |
"print('Original vs Robot Quartiles')\n", | |
"print('_________________________________')\n", | |
"print('First')\n", | |
"print('______________')\n", | |
"print(zq1,'vs',rzq1,'\\n')\n", | |
"print('Second')\n", | |
"print('______________')\n", | |
"print(zq2,'vs',rzq2,'\\n')\n", | |
"print('Third')\n", | |
"print('______________')\n", | |
"print(zq3,'vs',rzq3,'\\n')\n", | |
"print(((np.std(height_out)-z_std)/z_std)*100)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"Our robot's mean values and standard deviation values are very close to our original class data and we can show this graphically as well." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 292, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZUAAAD9CAYAAAB0i+q4AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAWn0lEQVR4nO3df7SdVX3n8fdHEJBZUpMBinUMAXEcw2Bd02sXVquURQdaEXQQQaWF+gOVpcLMoqMURxGcEaqCy2rXEMf6g7hEoTpAZUAKkbbaWG4QHIIgYFDpaA0m/AhIEP3OH8+5eDg5uTn3Zp/c5Ob9Wuusm7Ofvfezn6wn+dz97Oc5J1WFJEktPGmuByBJmj8MFUlSM4aKJKkZQ0WS1IyhIklqZue5HsBc2nPPPWvx4sVzPQxJ2q6sXLny3qraa9i2HTpUFi9ezOTk5FwPQ5K2K0m+v6ltXv6SJDVjqEiSmjFUJEnNGCqSpGYMFUlSM4aKJKkZQ0WS1IyhIklqZod++FEzl2RW7fzeHmnHYKhoRqYLhySGh7SD8/KXJKkZQ0WS1IyhIklqxlCRJDUz1lBJ8swklya5P8kDSb6UZNGIbWsTr+cP1HtSkjOS3J3kkSQ3JzlmPEckSZrO2O7+SrI7cB2wATgRKOD9wPIkz6uqh0bo5tPAhQNl3x14fw5wOnAmsBI4HrgkyZFVdeXsj0CSNFPjvKX4TcD+wHOq6k6AJN8G7gDeDJw/Qh//XFUrNrUxyd50gXJuVX2oV7w8yQHAuYChIklb0Tgvfx0FrJgKFICqWg18HTi60T4OB3YBlg2ULwMOSrJfo/1IkkYwzlA5ELhlSPkqYMmIfbw1yYYkDye5LsnvDtnHBuDOgfJVvZ+j7keS1MA4Q2UhsG5I+VpgwQjtlwGnAIcBJwP/GrguySED+7ivNn6Me23f9idIcnKSySSTa9asGWEYkqRRjftjWoZ9ZsdIHx5VVX/U9/bvk1xGN/N5P/Divr5mtI+qWgosBZiYmPAzRSSpoXHOVNYxZKZAN0sZNoOZVlU9CHwFeEFf8VpgQTb+lMMFfdslSVvJOENlFd2ax6AlwK2z7HNwZrIK2BV41pB9sAX7kSTNwjhD5XLg4CT7TxUkWQy8qLdtRpLsAbwM+GZf8VXAo8DrBqqfANzSu9tMkrSVjHNN5RPA24DLkrybboZxDvBD+h5oTLIvcBdwdlWd3Ss7HXgOsBz4f8C+dM+j7ENfgFTVT5JcAJyR5EHgRuA44FDa3bYsSRrR2EKlqh5KcihwAXAR3aWra4HTqmp9X9UAO/HEWdPtwCt7r18DHqB7vuUNVfVPA7s6E1gPnEoXOrcDr66qK5oflCRpWtmRv1RpYmKiJicn53oY84Zf0iXtGJKsrKqJYdv8lGJJUjOGiiSpGUNFktSMoSJJasZQkSQ1Y6hIkpoxVCRJzRgqkqRmDBVJUjPj/j4VSdpqNv4WjM3zUyDaMlQkzRubCgg/Qmjr8fKXJKkZQ0WS1IyhIklqxlCRJDVjqEiSmjFUJEnNGCqSpGYMFUlSM4aKJKkZQ0WS1IyhIklqxlCRJDVjqEiSmjFUJEnNGCqSpGYMFUlSM4aKJKmZsYZKkmcmuTTJ/UkeSPKlJItGaDeRZGmS25I8nOQHST6XZL8hde9OUkNerxjPUUmSNmVsXyecZHfgOmADcCJQwPuB5UmeV1UPTdP8eOBA4KPAKuAZwH8DJpM8v6p+OFD/auCsgbLbt/ggJEkzMs7vqH8TsD/wnKq6EyDJt4E7gDcD50/T9ryqWtNfkOTrwOpev+8ZqH9vVa1oNXBJ0uyM8/LXUcCKqUABqKrVwNeBo6drOBgovbLvA2voZi2SpG3QOEPlQOCWIeWrgCUz7SzJc4G9ge8M2fzy3trLhiQrXE+RpLkxzlBZCKwbUr4WWDCTjpLsDPxPupnKJwc2XwG8HTgceB3wCPDlJCdsoq+Tk0wmmVyzZqMJkSRpC4xzTQW6xflBmUU/HwN+B3hZVT0hqKrq7U/oPPkysAL4ALBsowFVLQWWAkxMTAwbnyRplsY5U1lHN1sZtIDhM5ihknwAOBl4fVV9dXP1q+oXwCXAv0ny9FH3I0nacuOcqayiW1cZtAS4dZQOkpwJvAt4R1VdNIN9T82GnIlI0lY0zpnK5cDBSfafKkiyGHhRb9u0kryD7rmWM6vqL0bdaW/95VjgB1X14xmOWZK0BcYZKp8A7gYuS3J0kqOAy4AfAhdOVUqyb5LHkrynr+x44CPAVcB1SQ7uey3pq/eaJBcn+eMkv9drtxz4LeCdYzw2SdIQY7v8VVUPJTkUuAC4iO6S1LXAaVW1vq9qgJ14YsAd0Ss/ovfqdz1wSO/Pq+luM/4g3frNw8ANwBFVdXXL45EkbV6qdtxlh4mJiZqcnJzrYcwbSdiRzydtuzw320qysqomhm3zU4olSc0YKpK2OwsXLiTJyC9gRvWTsHDhsCcitDnjfvhRkppbt27d2C9nTYWRZsaZiiSpGUNFktSMoSJJasZQkSQ1Y6hIkpoxVCRJzRgqkqRmDBVJUjOGioaa6RPLs3lq2SeWpfnHJ+o1lE8sS5oNZyqSpGYMFUlSM4aKJKkZQ0WS1IyhIklqxlCRJDVjqEiSmjFUJEnNGCqSpGYMFUlSM4aKJKkZP/tL0nan3rsHnPVr49+HZsxQkbTdyfse2CofeFpnjXUX85KXvyRJzRgqkqRmxhoqSZ6Z5NIk9yd5IMmXkiwase1uST6Y5EdJfpbkH5O8ZEi9JyU5I8ndSR5JcnOSY9ofjSRpc8YWKkl2B64D/h1wIvBHwLOB5Un+1QhdfBJ4E/Ae4EjgR8DVSZ4/UO8c4CzgY8AfACuAS5L8YYPDkCTNwDgX6t8E7A88p6ruBEjybeAO4M3A+ZtqmOQ3gdcCr6+qT/XKrgdWAWcDR/XK9gZOB86tqg/1mi9PcgBwLnDlGI5LkrQJ47z8dRSwYipQAKpqNfB14OgR2v4c+EJf28eAi4HDk+zaKz4c2AVYNtB+GXBQkv226AgkSTMyzlA5ELhlSPkqYMkIbVdX1cND2u4CHNBXbwNw55B6jLAfSVJD4wyVhcC6IeVrgQVb0HZq+9TP+2rjG9YH6z0uyclJJpNMrlmzZjPDkCTNxLhvKR72dFJGaJcR245a71cDqlpaVRNVNbHXXnuNMBRJ0qjGGSrrGDJToJulDJuF9Fs7Tdup7VM/FyQZDJHBepKkrWCcobKKbs1j0BLg1hHa7te7LXmw7aP8ag1lFbAr8Kwh9RhhP5KkhsYZKpcDByfZf6ogyWLgRb1tm2v7ZODYvrY7A8cBX62qDb3iq+hC5nUD7U8AbundbSZJ2krG+ZzKJ4C3AZcleTfd2sc5wA+BC6cqJdkXuAs4u6rOBqiqm5J8AfhIkicDq4G3AvvRFyBV9ZMkFwBnJHkQuJEueA5l87ctS5IaG1uoVNVDSQ4FLgAuols8vxY4rarW91UNsBMbz5r+BPjvwPuBpwE3A0dU1Y0D9c4E1gOnAvsAtwOvrqor2h6RJGlzMu6Pj96WTUxM1OTk5FwPY5uUZOt8tPgOfP5p9jw/51aSlVU1MWybn1IsSWrGUJEkNWOoSJKa8euENZTfAS5pNgwVDeV3gEuaDS9/SZKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWrGUJEkNWOoSJKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWrGUJEkNWOoSJKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWpmbKGS5ElJzkhyd5JHktyc5JgR2u2R5D1JvpHkp0nu6/35FUPqnpWkhrz+93iOaseSZKyvBQsWzPUhSmps5zH2fQ5wOnAmsBI4HrgkyZFVdeU07RYBpwCf6vXxS+A1wJeTvK2qPj6kzYuBX/S9X9tg/Du0qppxmySzaidp/hhLqCTZmy5Qzq2qD/WKlyc5ADgXmC5UVgP7V9XDfWVXJ3km8E5gWKh8s6oeazB0SdIWGNflr8OBXYBlA+XLgIOS7LephlX10ECgTJkEfqPdECVtz7w8u20aV6gcCGwA7hwoX9X7uWQWfb4EuG0T236Y5BdJvp/kvCRPmUX/krYTVTWj12zarF3rVfTZGNeaykLgvtr4Avvavu0jS3IycDBwwsCmO4F3Ad8CCviPwH8G/gPw+9P0dTLAokWLZjIMSdJmjBQqSQ4Drhmh6vVVdQgQuv/kN+pq9KE9vu9DgI8CF1XV5/q3VdXg5bVrktwDfCTJYVX1t4P9VdVSYCnAxMSEq8qS1NCoM5VvAM8dod7UWshaYEGSDMxWFvRt36wkLwAuB64D3jDiWD8PfAR4AbBRqEiSxmekUOktnG9qPWOYVcCuwLN44rrK1FrKrZvrIMlBwNXATcAxVfXzGewfhs+UJEljNK6F+quAR4HXDZSfANxSVauna5zk2XSX274HHFlVP5vBvqf2+c0ZtJEkNTCWhfqq+kmSC4AzkjwI3AgcBxwKHN1fN8m1wL5VdUDv/d50gbIL8F5gSfKEpZhvVdWGXt1vAZ8Fbqebmfw+8HbgqqpaPo5jkyRt2jifqD8TWA+cCuxD9x//q6vqioF6Ow2MYwmwb+/PfzOk3/2Au3t/vh14G/D0Xj93AWcDf77lw5ckzVR25I/VmJiYqMnJybkexrzhx7RoW+W52VaSlVU1MWybn1IsSWrGUJEkNWOoSJKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWrGUJEkNWOoSJKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWrGUJEkNWOoSJKaMVQkSc0YKpKkZgwVSVIzhookqRlDRZLUjKEiSWrGUJEkNWOoSJKaMVQkSc2MLVSSPCnJGUnuTvJIkpuTHDNi208nqSGvjwyp++Ik30jysyQ/TnJ+kqe0PyJJ0ubsPMa+zwFOB84EVgLHA5ckObKqrhyh/RrgqIGyH/W/SfI84BrgauBIYD/gg8AzgOO2aPSSpBkbS6gk2ZsuUM6tqg/1ipcnOQA4FxglVB6tqhWbqfM+4B7g2Kr6eW/fjwKfSXJeVd04uyOQJM3GuC5/HQ7sAiwbKF8GHJRkvy3dQZInA0cAX5wKlJ4vAo8CR2/pPiRJMzOuUDkQ2ADcOVC+qvdzyQh97J3k3iSPJflukncm2alv+7OA3YBb+htV1SPAXSPuQ5LU0LjWVBYC91VVDZSv7ds+nZvo1mFW0QXHK4EPAM8G3jjQx7oh7dduah9JTgZOBli0aNFmhiFJmomRQiXJYXQL4ptzfVUdAgQYDBR65ZtVVYN3eV2ZZD1wWm+t5I6+vma0n6paCiwFmJiYGNZWkjRLo85UvgE8d4R6D/d+rgUWJMnAbGVB3/aZ+jxwGjAB3MH0s54F/OpSmyRpKxkpVKrqYeC2GfS7CtiVbt2jf11lap3j1hn0NWVwZnIX3brNgU+olOwG7A9cMot9SJK2wLgW6q+iuwPrdQPlJwC3VNXqWfT5WrpAuQGgqh7t7efVSfrD8VV0gXb5LPYhSdoCY1mor6qfJLkAOCPJg8CNdA8jHsrArb5JrgX2raoDeu/3BS4CLqab5exKt1B/EnBhVd3V1/ws4B+BLyb5OLCY7uHHS6tq5TiOTZK0aeN8ov5MYD1wKrAPcDvw6qq6YqDeTgPjeJBuveSdwK/TzU6+A7wD+Mv+hlV1U5LDgfOArwD3A58F/qz1wUiSNi8b3/W745iYmKjJycm5Hsa8kYQd+XzStstzs60kK6tqYtg2P6VYktSMoSJJasZQkSQ1Y6hIkpoxVCRJzRgqkqRmDBVJUjOGiiSpmXE+Ua95KJn+2ws2td0Hz6Qdg6GiGTEcJE3Hy1+SpGYMFUlSM4aKJKkZQ0WS1IyhIklqxru/JM0b093y7u3uW4ehImneMCDmnpe/JEnNGCqSpGYMFUlSM4aKJKkZQ0WS1IyhIklqxlCRJDVjqEiSmsmO/LBQkjXA9+d6HPPInsC9cz0IaQjPzbb2raq9hm3YoUNFbSWZrKqJuR6HNMhzc+vx8pckqRlDRZLUjKGilpbO9QCkTfDc3EpcU5EkNeNMRZLUjKEiSWrGUJnnktQIr7vnepzDJNk5yVlJXjLXY9HWkeSkgXPz0SR3JfkfSXabRX+fTnJP4/G9vlV/85Hf/Dj/vXDg/ZeBm4Gz+so2bLXRzMzOwHuBx4C/m+OxaOs6FrgHeCrwSuCM3p/fPpeDAk6iOy//ao7Hsc0yVOa5qlrR/z7JBuDewfItlWTXqtpWw0nbn5uq6s7en69J8mzgDUlOrapfzuXAND0vf+lxSV6Y5MtJ7knysyS3JXlfkl0H6q1I8rdJ/lOSm3tB9fretn2SfDHJ+iRrkyxN8qrepYyDB/o5Lsk/JXk4ybokFyd5Rm/bbsDPelXP6bsc8q6t8Fehbc+NwFPoPm4FgCS/3TsP1yd5KMm1SX57WOMkv5PkhiSPJLk7yUYzns31l+RrwEuBF/Wdj19rfaDbO0NF/RYDNwBvAf4A+DhwCnDhkLr/HvggcD5wBPD3SQJcDhwGnA68Fngy8OHBxklOAz4PfAs4pref3wKWJ9md7pLcS3vVL6S7jPdC4LNbfpjaDi0G7gd+CpDkecD1wAK6S1J/DOwBXJ/kNwfa7gF8AfgM8Arga8BHk5w0VWHE/k6hO1+/za/Ox1MaHuP8UFW+dqAXcDewbIR6obs8+ka6NY2n9m1bAfwCeO5Am6OAAo4aKP9qr/zg3vunAQ8BfzlQ79/29vWW3vvdeu3ePdd/b762zovuP/QCntM7/xbQzYIfA97WV+9S4D7gaX1lewBrgS/1lX2619/xA/u5hu7DZDPD/r4G/MNc/z1tyy9nKnpckgVJPpzke3QzhZ8DnwB2Ap41UP32qvrOQNnBvXZXDJRfOvD+d4Hdgc/17vDaOcnOwPd6L+/20m10599a4JPAhVX1sb7tLwH+pqrumyqoqgfoZsov5Yl+Afz1QNnFwCLgGbPoT9NwoV79ltFN6d9Ld4fYw3QBcD7drKHfj4a0fzqwpnq/0vX5l4H3e/d+/sMmxrF61AFr3nol3d1fewH/BTglyTeraury50KGn4M/ppvd9FtXVT8fKJs6J5/R289M+tM0DBUBkOSpdOso/7Wq/qKv/AWbaDLs831+BOyVJAPB8usD9X7a+/la4I4h/Tww2qg1j91Svbu/klxHt47xwSR/XVUP0c1g9hnSbp/etn4Lkjx5IFimzsl/7v2cSX+ahpe/NGV3unWUx//h9RbeT5xBHyuAXYGXD5QfO/D+7+ju7Nq/qiaHvL7bq/coXXg9ZQZj0DxT3a3qf0o3w51aGL8eeFnvlyHg8V+MXt7b1m8nuptB+h0P/IBfhcqo/W3A83FazlQEQFX9S5KbgHcluZdu0fJk+m7hHMEVdHePfSrJn9HdFHA83aIrwC97+1rbuzX4w0l+A7gaeJDuUsTvAf+nqi6tql8muR04uvfb6v3APVX14y08XG1nquryJDcApyf5GHAOcCRwbZLz6H75eCfdL0dnDzR/EPjzJHvSzYxfQ3eH4kl9M+pR+7uV7lLcccBdwINVdXvzA96OOVNRv2OB/0t3C+9f0a1t/OmojXv/QI8CrqO7jfhiun+c5/Sq3N9X96PAq+huTf4c8BW6tZzqjWHKW+nu/LmSLrBOmvFRab54N91s5S1V9W3gELpLpZ8BLgLWAy+tqpsH2j1A98vNicBldL+4nFpVn5mqMIP+zgOuBf4X3fk47Hb7HZoffa+xS/JJussPe1bVY3M9Hknj4+UvNZXkjXR3it1Gt77yh8CfAGcbKNL8Z6iotYeBdwD7AbvQPXdyOnDBXA5K0tbh5S9JUjMu1EuSmjFUJEnNGCqSpGYMFUlSM4aKJKmZ/w+URmJQC9deZgAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"data = [z_data, height_out]\n", | |
"\n", | |
"plt.boxplot(data)\n", | |
"plt.xticks([1,2],['Target', 'Robot']);" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 293, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAesAAAFNCAYAAAAgtkdSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzdeZgUxf3H8fdHWAEFIiCiYhDveKH4QyNerOJ9EKN4RTxDjFc0URNvBEKCJhrvMx4YJSEaRUWNtwtGUUHFO57ggSgSkFvkqN8f1bvODjO7M7szu7O7n9fzzLM71VXV1T3d852u7q5WCAEzMzMrXas0dgPMzMysZg7WZmZmJc7B2szMrMQ5WJuZmZU4B2szM7MS52BtZmZW4ppFsJZ0vKQg6fjGbktjkDRN0rR61jE0WYflhWlV6ZL0uaQPi1j/4GRdDirWPJoTr6+VSdo4WSe31rOe/0haVqh2laKWsj8XPVhL6pksaOrrO0mfSrpL0ubFbkN9SRqVtLtnnuWmSfqmhulrJPVW1LOJDS7fH0iSfpTkfy2HvA8mefeud0OLpNhfEE2dpI6SzpX0vKT/SVoqaaakJyT9UlLbxm5jXaQE0X/VkGdgkueihmxbIUi6O2n7eo3dlobUFPbn1g04r/eAMcn/HYGdgEHAwZJ+HEJ4pwHb0tz0b+wG1CaE8F9JE4G+krYNIUzJlE9SV2A/4HPgqSI1px9QzNGA7gX+A3xRxHmULEk/BsYC6wAfAP8CZgFrEtf9TcCJwI8bq41NwCfA5kDWH/tWpUXszw0ZrP8bQhiamiDpeuBU4Dzg2AZsS7MSQviosduQozuAvsDxwK+z5BkElAF3hhBWFKMRxV5fIYS5wNxizqNUJb1P/wY6ACcDt4S0YRIl7QOc0+CNa0JCCEuB/zZ2O5qClrI/N/Y561HJ3//LNFHSwZKekzRf0kJJkyT9vKYKJR0m6VVJiyV9IekKSatnyFcm6RxJbyZ550h6TNKuafmmAcclb6emdOWPSq+zkJJuxBGS/ivp26Qr8QFJ22TIm/GctaTtJD0paUGyfPdJWl9ShaSsv0QlHS3p9WS+nyftaJUyfRQx8ALckbJOVmpDmjHAIuBoSWVZ8hxfWW/K/H6UfI6vJ8uxWNLbki7IVE9ll5akLpJukTRD0gpJu6ROTyuT0zwqu0GB7sBGqn56Z1CSJ+M5LkUnSZosaZGkeZLGSzoowzKMSOrYRdIxkt5IPo9PJQ2TVOu+K6l/UsdVWabvlky/Pm09jJb0iaQlkr6SNFHS2bXNL3Ep0Am4JIRwc3qgBgghPA4cmEP7B0t6OKUtXyf7wHYZ8raSdIqkVyR9k2zzH0n6u1JOteWar1gkbSLpTknTFU8HfibpOklrpuXLes5a0s8kTUnZPy+X1D7Jn7E3StKqkn6fbD9LJL0l6fC0PJ8DRydvP0vZrrOeN0/mu1BStp6y1RS/v99JSfP+XIf9uSGPrGuyND0h+XK4HPgauBP4DvgpcKukbUIIZ2So5zBil/A/gSeAvYCzgN6S9qw8UpMkYtfcAOAd4FriF8wRwLOSjgoh3JvUeRUxgGwDXM333VIZN85CSHbcCcRusGeBR4AuwKHAXsmyTKyljt5JHW2Ae4BPgV2J3Tmzayj6K+J6ezCZ9wDgQuK2cl6S5wFgDeAnSb7KdVFjl10IYb6k+4BjiF/WY9PavB3QC5iQ9mt5ILHn5VngyWSZyoE/ANsl09O1BSqIP0jvJR6tz6+hebnOYzYwjLhdLQOuSanjjRrqB7iBeLQ5jdgV3AY4HHhI0pkhhGsylPkNsCdxPT8DHAwMAVoBtZ0TfZbYdXekpLNDCMvTpv8s+TsaQNIPgZeSuh8kbjOdgK2AnwNX1DQzSR2I2+hC4r6SVQhhSS1th7i+JhP35f8BGxC3uX0k7RpCmJyS93Jib80U4g+9pUAP4rp7CHg3z3wFlwSXR4mf+4PE7WBzYu/i3pJ2CCHUuA9JOhW4nnha4TbgW+AQ4Ee1zP4e4r41DlgVOAoYI2lOCOHJJM9fiN91WwNXAvOS9FezVRpCWCDpIeI2tmUI4e20LAOA9sDdKWnen+uyP4cQivoCehLPJzyQYdpNybQb0tI3Iu5E04G1U9LbA68nZXZLST8+SQtAv5T0VYiBJQAnpqQfl6Q9DrROSd+c+EXzDdAhJX1Ukr9nnss+jbgzDc3yujSptyKt3D+S9KPS0jcmdse8mWE+09LSnk/qOCAt/a+V6yotfWiSPhvYOCW9M/GLcj6waoZ1fnye66Q8KfdQhmnXJtOOS0vvDpSlpYn4ZRuAHdOmfV65zaW2OW36hwWYx4dZlnFwUmZQSlr/JO1VYPWU9HWBGcQfo+unpI9I8s8CNkxJXxOYk2yjrTPNP60tlyf17J2WXpZ8rh+npJ2V5N0/Qz1dcphX5TI+k+c2sdL6StI3yJB3S2AB8Fha+jzgRWCVtPTWwA/yzVdDWzdO2voO2ffre5I8F6WUawN8lqzzzdLqPCrJf1WG+dya+hkQv59mAd1T0tsDbyX5n0qr+z9J+nNp213lZ/VIWv67k/T18vj8DkzK/DHDtHHAirRt2/vz9+k5788571B1ffF9sP5vysZ8BfEXfAA+AtZNKzMkmXZGhvoOTqbdlpJ2fJL2WIb8W5D2BUL8RROAXhnyX5VMOyYlbRR1D9Yhh1dF2oe3HHg4S52VX75bpc1nWoZ1/kKG8t2JP4RCWvrQpMzQDGUqN/CtM6zz4/NcJ0o+86XAWinpqyYb8rzUjb+WunYg7UsxZccLpH0ppk3PuGPmOY98du6/kT0QnpNMOz8lbUSm+SbT7kqmbZ5D+3sneUelpQ9I0n+fklYZrHfP5zNNKX90Uv6uPMtlDNY15H8UWEz1H9pzSfvRm6VsTvlqKF8ZRHN5pQbrw5O0X2epdwrwZYb5pAbryvU0PEP5n1FzsN4lQ5nPgK/S0uoSrMuIPaBTAaWkdyEGredyrMf7cw1tb8hu8M2AS9LSpgI7hxC+TEvfNvlbkaGeZ9PypPpPekII4R1Jc4jd2Kn1zwkhZOrmqADOTPLclWF6vuaGENbINEHSGsRfVam2J/YItJc0NEOxyvNqPyL+ms6kcllfSJ8QQpgu6VNgwyxlM91aNT35m3E58hFCCJLuJHY9DSJ2vQEcRNy5bwshLEwtk5zPOYnYfb4l8W4CpWRZJ8OsFoQQ3su1XXWcRz4qt9fxGaZVpOVJVa/PI4TwWnK+8BBJJ4cQvk0mVZ6bTO2efIjYTThO0j3E7sP/hBA+q20+xSBpU+ACYm/MOsQfdKk6EYMExKPZwZJeIZ7ieg54OYTwXVqZXPPV5r4QQqbuWiQNJHbVpqq88r1Xlv26DdBN0hohe1d41v0aqPG0GNm3o961lKtVCGFpsr2cSrzL5/lk0uHEQJ66jXl/XllO+3NDBusHQwgHA0jqBpwGXAzcI2mPEELqjfsdk79fpVcSQpgraUlKnlRfZ0irrGfjtPo/yJL3y5Q8jaFz8rdf8spmpYvmUnRI/mZbHzPJHqwzXfVY+dm0yjCtLkYRf7idwPfB+oTk7x0Z8t9I3PGmAfcRP8/viOvqV8QvunQz82xTXeaRj47EL5yFGabVtM0V4vMYTQzCBwH3JueWDwImp34BhhA+lLQTsZflSJLPRNJLwNkhhOfTK86yHN1zbFdWkn5E7H1bjXgL3/3EUzGBeI52a6p/JqcSf/wfD/wxSZsn6Rbi0cySPPMVWuV+fUKNueJ+nS1Y17Rf17S9L8+y3S2jcPv0aOK6/RnfB+ujiftQ+g8X78/V5bQ/N8oFZiGEr4AhktYGfkE8kk29eKXywoZupAVsST8gruh5rKxrlll2S8s/L0nLlje1DQ2tcr5/CCHUdVCFygsvsq2PtepYb0GEED6V9Aywp6T/I/6y3Ad4Pz0gSFqXuI28SuyF+TZl2s7EHS/jbHJtTz3mkY95wPqSVgshLEqbVuxt7u/EbrijiV+chwDtSC4sSxVCeA34ieKgJTsQu8tPA/4tafMQwvT0MileJn7xbC9p9SxfZLn6DfHL7vDw/cWeQNVnsnVau5cSg+8fJa0P7AGcQuySXAU4O598RVD52e4eQqioYx017deNvU+/IGkqcLikM4H1iEfZD4UQqi5o9f5cd41969YFxItFLpSU+iuk8uri3TKU6ZeWJ9Uu6QmStiB2l72eVn8nSVvlWH/lVbSF+hVak0kkF0DUo47KZd0pfYKk7sSrX+urvuvk9uTvCcSuqtZkPqrekNh99WTqTpfYuY7zLsQ8lpPfstd1m663EMI0YtfpfpI6EYP2cuKFjNnKfBtCmBBCOAe4jHhUV17LfOYTj2LaU8sXoqTajmw2Sv6OSyu3Gpm7F1Pb8UkI4Y6kvYuJPzjqnK9AXk7+FmW/Jo5fUAj12a//TrzmZm/iEbZI6wLH+3OdNWqwDiHMIt6G0Il4dF3p78SV91vFEa0AULxfeljy9m8ZqtxHUr+U/KsQu/+g+kZTWXakqt8/vCmx62Qu8dL6SpW/DOvdvVeb5Pz9v4D+kk5Jny5pldRlzFLHNOIVr30lHZA2eSiF6VGp7zoZS+zuO4o4mtVyMn+mnyZ/d0puuQOquknPreO8CzGP2UBXZb9fPF3lsg2X1C5lHmsTj+qWUkPwLIC7ied8TyceTT6V9HBVkbSDpC4ZylYeKSzOYT7nE6/DGJ7cn6r0DJL6E8+P16TyM6n6ck3258uIASG1vnZZ9olOxHOmi/PJVyT3E2+ju0BSn/SJivcj1zai2wPENp6a/OiuLLs68cCnEOqzX1d+xx6dvOYCD6fl8f5cR6Vwn/UVxC+Q30i6OoQwLzl3dgFxx3xT0r18f5/1BsRbvTKd2H8UeFzSP4k7xt7Ee+oq+H4AFogreiDxloPXJP2b7++zbgccHUJI7cJ4lvgB3KQ4JvAi4u1TjxRiBWRwCvECshskDSb+Kl9APCLuS+zyqm1s5dOJ91mPTS7+qLzPuifx/sGtsxfNyYvE29LOTHpFZhEvprsxl8IhhG8l/YO4rJ2BR0MIKw3nl3SZjyOeY31JcRz17sT7bR8j3tdbL3Wcx7PEI7yHJD1P7P4dF1a+z7RyHk9J+iuxe+5NSQ/y/X2ZXYGzkh9ZxXIv8R7Si4lHECt1gRPvSx0s6VngQ+J2vh3xvtB3iSOT1SiEMFXSfsTA8lfiD+5nibcsdSZug1sSt5+a3JS05yFJY4hdiv2AHxK369QjmtWBCknvE/eVz5N5HUz8jvtLnvkKLoSwWNJhxO+olyQ9Qbz9q4z4ndYvWa6sg8WEEGZJOpf4Ob6WfM8tIZ7WeIe4Xus76t+zxPvQb1EcE2Ex8HoIIZfP/r+SXiWOd1EG3J5+ZOv9uX4LVtQXNdxnnZLnz2S+nP4Q4hXeC4hfHK8Av8hQ/vik/PHEDeU14kY2g7gDrnQrEHFjOhd4mxh0viHed90vSxvP5/tbjla6FSZLmWnANzVMX4O0W7dSplX+Wn6NeG/lAuJFcf8ADskwn2kZ6uhDvDhnIfFo5/7k83iTGFhT8w5N2lKeoZ6M04jdhq8k6zpkakMt62d7vr/NZWAN+ToSv6A+Seb1FvHHyCak3d4SarkNI9v0OszjB8Ru+6+IvQJVt3aQ/b5hEQdReDWZx3ziF/TBGdpYeatHpltusk6rZX0/lJRbCLTPML0vcEuyT8xN2vc28Hugc57z6kjcv54nHrUsJV4Y9XSyDtqm5M22vvYiXuW8gPhj8F5i93i124uIPQbnJdv6dGIAm078cbFnSn055atluSpvqfpXDXkGkv02nfWJg2l8nMx/NvHH89VAnwzzuTVDHYOSMpXtv4Lvv2fvS8v7H2BZlnZmnEYcnONjvv+uW6kNNSx75e1/gSy3AOL9uU77s5LM1kJIak+8svKtEMIOjd0eM6s/xfHWHwNGhhAK1SVuJaSxLzCzIlEc+7xLWlrlOb92VD8nb2ZNgKTOklZNS1uDeHQG3q+brVI4Z23F8QPg8+Tc2PvEbvVdiOM8/5daxm42s5K0N3BNsl9/ThzcYx/iRYCjQggvNWbjrHjcDd5MJffJXkkcw3Ydvh+b+CHiEJM1PczDzEqQ4pPBhhOvL1iTeEHZf4kX0F4XivRYWWt8DtZmZmYlzueszczMSpyDtZmZWYlzsDYzMytxDtZmZmYlzsHazMysxDlYm5mZlTgHazMzsxLnYG1mZlbiHKzNzMxKnIO1mZlZiXOwNjMzK3EO1mZmZiXOwdrMzKzEOVibmZmVOAdrMzOzEudgbWZmVuIcrM3MzEqcg7WZmVmJc7A2MzMrcQ7WZmZmJc7B2szMrMQ5WJuZmZU4B2szM7MS17qxG9BcrbnmmqFnz56N3QwzsybllVdemRVC6NrY7Sg1DtZF0rNnTyZPntzYzTAza1IkfdLYbShF7gY3MzMrcQ7WZmZmJc7B2szMrMQ5WJuZmZU4B2szM7MS52BtZmZW4nzrlpnVat68ecycOZOlS5c2dlOsiSorK2OttdaiY8eOjd2UJsnB2sxqNG/ePL766iu6d+9Ou3btkNTYTbImJoTA4sWLmT59OoADdh04WJuVoIqKhp9neXnm9JkzZ9K9e3dWW221Bm2PNR+SWG211ejevTtffPGFg3Ud+Jy1mdVo6dKltGvXrrGbYc1Au3btfCqljhyszaxW7vq2QvB2VHcO1mZmZiXOwdrMzKzE+QIzM6uTxrgILlW2C+JyNXHiRK688kr+85//MGvWLDp06MB2223HoEGDGDRoEK1atWLUqFGccMIJTJ06lVJ45G1FRQW777571fu2bdvSpUsXevXqxSGHHMKxxx7Lqquumne906ZNY9SoURx77LFsuOGGhWyyFYiPrM2sxbnqqqvYeeedmT17NpdddhlPPfUUt99+O5tuuimnnHIKDz/8cGM3sUbXXHMNEydO5IknnuCKK65g3XXX5bTTTmOHHXbg66+/zru+adOmMWzYMD7++OMitNYKwUfWZtaiTJgwgbPOOovTTz+da665ptq0n/zkJ5x11lksXLiwkVqXm80335wdd9yx6v0RRxzBz3/+c3bffXdOPPFExo0b14its2LwkbWZtSiXXnopnTt35k9/+lPG6RtttBG9evXKWn7MmDHssccedO3alfbt29O7d2/uvPPOlfJdffXVbL755rRr145OnTrRp08fxo4dWzX98ccfZ6edduIHP/gB7du3Z7PNNmP48OF1Xq6+fftW9Qp89NFHVenXXXcdffv2pXPnzqyxxhrsuOOOPPLII1XTU7vW99prLyQhiYrkPEeuy2vF5SNrM2sxli9fTkVFBQcffDBt27atUx0ff/wxAwcO5LzzzmOVVVZhwoQJDB48mMWLF3PyyScDMHr0aM4++2yGDBnCrrvuyuLFi3njjTeYPXt2VR0DBgxg4MCBDBkyhFVXXZUPPvig3t3Q+++/P1dddRXPP/88G220ERC7uAcPHkzPnj1ZtmwZ48aN48ADD+TRRx9lv/32Y7vttuP666/ntNNO45prrmH77bcHYIsttsh5ea34HKzNrMWYNWsWixcvZv31169zHRdccEHV/ytWrKC8vJwZM2Zw4403VgWviRMn0qtXL4YMGVKVd//996/6/9VXX+W7777jxhtvrBrNa4899qhzmyr16NEDgBkzZlSlXX755dXa279/f95//31uuukm9ttvPzp27FgVmNO713NdXis+d4ObmeXhgw8+4KijjqJ79+6UlZVRVlbGrbfeynvvvVeVZ/vtt2fKlCn86le/4qmnnmLRokXV6th2220pKyvjyCOP5F//+hczZ84sSNtCCED1wUdeeeUVDjzwQLp160br1q0pKyvjySefrNbemuSyvFZ8DtZm1mJ06dKFdu3a8cknn9Sp/IIFC9hrr714/fXXufTSS3nuueeYNGkSJ554IkuWLKnKd+yxx3LjjTfy0ksvsc8++9C5c2cOOeQQpk2bBsDGG2/M448/zooVKzjmmGNYe+21+fGPf8z48ePrtXyfffYZAOuss07V+/79+zN79myuvfZaXnjhBSZNmsS+++7Lt99+W7DlteJzN7iZtRitW7emvLycJ598kiVLltCmTZu8yk+cOJFPPvmE5557jl122aUqfdmyZdXySeKXv/wlv/zlL5kzZw5PPPEEZ599NkcccQQvvfQSALvvvju77747S5Ys4fnnn2fIkCEccMABTJs2jTXXXLNOy1d54djOO+8MwGOPPcbcuXO55557WG+99arypR/p13d5rfh8ZG1mLcp5553H//73P377299mnD516lTeeOONjNMqg1xZWVlV2pw5c3jwwQezzq9Tp04cccQRHH744bz11lsrTW/Tpg177LEHv/vd71i4cCFTp07NZ3GqTJw4kZtvvpmDDz64amCTTO19//33ef7551dqA8DixYurpddlea04fGRtZi3Kbrvtxl/+8hfOOuss3n33XY4//nh69OjBnDlzePrpp7n11lv5+9//nvH2rZ122omOHTty2mmnMWzYMBYuXMiIESNYc801mTt3blW+k046iQ4dOtC3b1/WWmst3n//fe666y723ntvAG666SYmTJjA/vvvzw9/+ENmzZrFyJEjWXfdddlqq61qXYZ3332X9u3bs2zZMmbMmMETTzzBXXfdxRZbbMFf//rXqnx77rknrVu35thjj+Xss89mxowZXHLJJfTo0YMVK1ZU5dt0001p3bo1t99+O507d6ZNmzZsttlmOS+vFZ+DtZnVSX2H+2xMv/71r9lhhx248sorOeecc6qGG+3Tpw8333wzBx10UMZyXbt2ZezYsZx99tkMHDiQddddlzPPPJPZs2czbNiwqnw777wzd9xxB3fddRdz585l3XXXZdCgQVV5ttlmG/79739z/vnnM3PmTDp37swuu+zC6NGjc3oc6RlnnAHEI+IuXbqwzTbbcP3113PMMcdUG250yy23ZPTo0QwZMoQBAwaw0UYbcemll/LYY49V3UcN8Vz+ddddx2WXXUa/fv1Yvnw5zz77LOXl5TktrxWfKq8ebEokrQecC/QBtgHaARuEEKal5OkPnAD0BdYFvgCeAC4JIdR66aWkaUCm+zt+GkJ4oLbyffr0CZMnT651WcwyaYxxt7MF33fffZfNN9+8QdtizVdt25OkV0IIfRqwSU1CUz2y3hg4HHgFeA7YO0Oek4H2wAjgY2ATYBiwj6ReIYQFOczncWBoWprvVzAzswbVVIP1hBBCNwBJg8kcrE8NIaSOaD9e0vvAeGKgvz2H+cwKIbxY79aamZnVQ5O8GjyEsCKHPJkePTMp+du9sC0yMzMrniYZrOuhX/L33RzzHyRpkaQlkl6UdHCxGmZmZpZNiwnWkjoAVxEDda0XiAHjgF8B+wBHA98CYyUNKlojzczMMmiq56zzIqk18A9i9/fOIYRah98JIfwqrY6xwIvASODuLPM5CTgJvh9Q38zMrL6a/ZG1pFWAO4E9gYNDCJmHJqpFCGE5cC+wnqR1suS5JYTQJ4TQp2vXrnVus5mZWaqWcGR9E3AEMDCE8HQ966p8lE3TuzndzMyarGYdrCVdAQwGjstlIJNa6moNHAZ8GkL4shDtMzMzy0WTDdaSBib//l/ydz9JXwNfhxDGSzoXOIt4P/UHklKfqP51COGjlLqWAXeGEH6evD8K+AnwKPAZ0A04LZnXUUVcLDMzs5U02WBNPH+c6obk73igHNgveX9i8kp1J3B8yvtWyavSVGAt4M9AZ2AR8R7tfUMIj9ez3WbNQsW0ikadf3nP8jqVGzVqFCeccELV+7KyMn74wx9yxBFHMGTIENq2bZt3nccffzxPPfUUn3/+eZ3alKmNK1as4MQT07+6VjZt2jQ22GCDqverrroqnTp1Ysstt+Sggw7i5z//OR06dMi7Dd988w1XXXUVAwYMYLvttsu7vBVWkw3WIQTVMr28rnUlo5btUbeWmVlTcO+997Leeusxf/58xo4dy8iRI5k/fz7XXnttYzeNUaNGsWzZspyCdaXzzz+fAQMGsGzZMmbOnMmECRMYMmQIV199NY8//jibbrppXm345ptvGDZsGOutt56DdQlossHazKw+tt12WzbeeGMA9tprLz744ANuu+02rr76alZZpendKLPhhhuy447fn+075JBDOO200+jbty+HHXYYU6ZMQarxGMdKWNPbIs3MimC77bZj8eLFzJo1q1r6yy+/zJ577kn79u1ZffXV6d+/Py+//HLGOl544QW233572rZtS8+ePTMepddWX3l5OePHj+f5559HEpIor+PzSDfZZBMuvvhi3njjDZ555pmq9DFjxrDHHnvQtWtX2rdvT+/evbnzzjurpqd2rf/iF7+oaseoUaMAeOKJJ9h///1ZZ511WG211dhqq6244oorWL58eZ3aabVzsDYzIwaoH/zgB3Tp0qUq7Y033qBfv37MmTOHUaNG8be//Y158+bRr18/Xn/99Wrl582bxxFHHMFxxx3HAw88QHl5OWeccUZVgMu1vhtuuIHevXvTq1cvJk6cyMSJE7nhhhuoq/333x+A559/virt448/ZuDAgYwePZoHHniAgw46iMGDB3PTTTcBsM4663D//fcDsXu9sh0HHHBAVfn+/ftz++2388gjj3DccccxdOhQLrzwwjq302rmbnAza5GWL1/OsmXLqs5Z33fffVx11VW0avX9tabDhw+nTZs2PP3006yxxhpA7DLv2bMnw4YNqwpoAPPnz+eWW27hyCOPBGDfffdl+vTpXHLJJRx33HFIyqm+LbbYgo4dO7Js2bJq3dp1VTma4owZM6rSLrjggqr/V6xYQXl5OTNmzODGG2/k5JNPpk2bNvTu3RtYuXsd4OSTT676P4TArrvuynfffcfll1/OH//4xyZ5GqHUOVibWYv0ox/9qNr7U089ldNPP71a2oQJEzjwwAOrAitAx44dGTBgAOPGjauWt1WrVhx66KHV0o488kgGDx7M9OnTWW+99fKqr1BCiGM4pZ6v/uCDDxgyZAgTJkzgyy+/ZMWK+CDDNm3a5FTnjBkzGDp0KI899hhffPEFy5Z9P4LzzJkzWXvttQu4BAbuBjezFmrs2LFMmjSJRx99lDdls0wAACAASURBVD333JMbbriBv/3tb9XyzJ49m3XWWXl04bXXXps5c+ZUS+vUqRNlZWXV0rp16wbA9OnT866vUD777DOAqvkuWLCAvfbai9dff51LL72U5557jkmTJnHiiSeyZMmSWutbsWIFAwYM4OGHH+aiiy7imWeeYdKkSVVd4N9++21RlqOl85G1mbVIW221VdXV4HvssQe9evXit7/9LYceeiirr746AJ07d+bLL1cesPDLL7+kc+fO1dLmzJnD0qVLqwXsr776CoDu3bvnXV+hPPLIIwDssssuAEycOJFPPvmE5557rioNqHZ0XJOPPvqIyZMnc9dddzFo0PcPISxWz4BFPrI2sxavTZs2/PnPf2bmzJnVLubq168fjzzyCPPnz69Kmz9/PuPGjaNfv37V6li+fDn33XdftbQxY8bQo0ePqmCda31t2rRh8eLF9V6uDz74gD/84Q/07t276oryRYsWAVT7UTFnzhwefPDBamUru8TT25Gp/NKlSxk9enS922vZ+cjazAwYMGAA22+/PZdffjmnn3467dq14+KLL+bhhx+mf//+nHvuuUjisssuY9GiRQwZMqRa+Q4dOvC73/2OWbNmsckmm/CPf/yDp556ilGjRlWdL861vi222IIbbriBf/7zn2y00UZ06NCBzTbbrMb2f/zxx7z44ossX76cr7/+mvHjx3Pbbbex5pprcs8991S1YaeddqJjx46cdtppDBs2jIULFzJixAjWXHNN5s6dW1Vft27d6NKlC2PGjKFXr16svvrqbLDBBmy++easv/76XHjhhbRq1YqysjKuvPLKQn0MloWDtZnVSV2H+yxlI0aMYJ999uGmm27iN7/5Db169aKiooILL7yQ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\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": { | |
"needs_background": "light" | |
}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"plt.hist(z_data,bins=10, color='b', alpha=0.25, label = 'Class Data')\n", | |
"plt.hist(height_out,bins=10, color='g', alpha=0.25, label = 'Robot Data')\n", | |
"\n", | |
"plt.title('Robot Height Variation vs Class Height variation\\n')\n", | |
"plt.xlabel('\\n Horizontal Distance (m)')\n", | |
"plt.ylabel('Frequency\\n')\n", | |
"plt.legend();" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"metadata": {}, | |
"source": [ | |
"With an input of 10 degrees for our starting angle, a velocity of 7.455 m/s and a variance of 2, we can see how the data that is collected from our robot fits within our parameters and also is very similar to the accuracy of the class. A guess and check method was used to get these specific numbers. It was important to know that our velocity could not exceed 12m/s or go below 4m/s in our model so this was considered when setting the velocity and variance. With our current set up, the velocity will stay in the range of 5.6 m/s and 9.33 m/s. To further check to see if our model converges on the same accuracy as our class model I ran more than 54 iterations in the for loop that generates our robot height data. This gave me more confidence in the model, because after running 10000 iterations, the model came within 0.3 percent of the class's mean, and within 5.6 percent of the class's standard deviaiton." | |
] | |
}, | |
{ | |
"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 | |
} |