Skip to content
Permalink
1e8cc3f56b
Switch branches/tags

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?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 1374 lines (1374 sloc) 135 KB
{
"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": 48,
"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\n",
"\n",
"data= pd.read_csv('../project/Cooper_data/target_data.csv')"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>throw #</th>\n",
" <th>x position (m)</th>\n",
" <th>y position (m)</th>\n",
" <th>picture x position (pixel)</th>\n",
" <th>picture y position (pixel)</th>\n",
" <th>target x position (pixel)</th>\n",
" <th>target y position (pixel)</th>\n",
" <th>image #</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>-0.466403</td>\n",
" <td>-0.304000</td>\n",
" <td>1260.855114</td>\n",
" <td>990.599432</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>-0.206978</td>\n",
" <td>-0.448126</td>\n",
" <td>1702.673295</td>\n",
" <td>745.144886</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>-0.091677</td>\n",
" <td>-0.457734</td>\n",
" <td>1899.036932</td>\n",
" <td>728.781250</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>0.153336</td>\n",
" <td>-0.510580</td>\n",
" <td>2316.309659</td>\n",
" <td>638.781250</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>0.364720</td>\n",
" <td>-0.597055</td>\n",
" <td>2676.309659</td>\n",
" <td>491.508523</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>5</td>\n",
" <td>-0.120502</td>\n",
" <td>-0.227133</td>\n",
" <td>1849.946023</td>\n",
" <td>1121.508523</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>6</td>\n",
" <td>-0.091677</td>\n",
" <td>-0.255959</td>\n",
" <td>1899.036932</td>\n",
" <td>1072.417614</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>7</td>\n",
" <td>-0.096482</td>\n",
" <td>-0.179092</td>\n",
" <td>1890.855114</td>\n",
" <td>1203.326705</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>8</td>\n",
" <td>-0.192565</td>\n",
" <td>-0.044575</td>\n",
" <td>1727.218750</td>\n",
" <td>1432.417614</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>9</td>\n",
" <td>-0.082069</td>\n",
" <td>-0.025358</td>\n",
" <td>1915.400568</td>\n",
" <td>1465.144886</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>10</td>\n",
" <td>0.162944</td>\n",
" <td>-0.313609</td>\n",
" <td>2332.673295</td>\n",
" <td>974.235795</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>11</td>\n",
" <td>0.249419</td>\n",
" <td>-0.332825</td>\n",
" <td>2479.946023</td>\n",
" <td>941.508523</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>12</td>\n",
" <td>0.441586</td>\n",
" <td>-0.371259</td>\n",
" <td>2807.218750</td>\n",
" <td>876.053977</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>13</td>\n",
" <td>0.038035</td>\n",
" <td>-0.006141</td>\n",
" <td>2119.946023</td>\n",
" <td>1497.872159</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>14</td>\n",
" <td>0.076469</td>\n",
" <td>-0.058987</td>\n",
" <td>2185.400568</td>\n",
" <td>1407.872159</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>15</td>\n",
" <td>0.134119</td>\n",
" <td>-0.073400</td>\n",
" <td>2283.582386</td>\n",
" <td>1383.326705</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>16</td>\n",
" <td>0.134119</td>\n",
" <td>-0.159875</td>\n",
" <td>2283.582386</td>\n",
" <td>1236.053977</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>17</td>\n",
" <td>0.162944</td>\n",
" <td>-0.020554</td>\n",
" <td>2332.673295</td>\n",
" <td>1473.326705</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>18</td>\n",
" <td>0.278244</td>\n",
" <td>-0.073400</td>\n",
" <td>2529.036932</td>\n",
" <td>1383.326705</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>19</td>\n",
" <td>0.302265</td>\n",
" <td>-0.097421</td>\n",
" <td>2569.946023</td>\n",
" <td>1342.417614</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>20</td>\n",
" <td>0.210986</td>\n",
" <td>0.094747</td>\n",
" <td>2414.491477</td>\n",
" <td>1669.690341</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>21</td>\n",
" <td>0.331090</td>\n",
" <td>0.157201</td>\n",
" <td>2619.036932</td>\n",
" <td>1776.053977</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>22</td>\n",
" <td>0.114902</td>\n",
" <td>0.224459</td>\n",
" <td>2250.855114</td>\n",
" <td>1890.599432</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>23</td>\n",
" <td>0.134119</td>\n",
" <td>0.339760</td>\n",
" <td>2283.582386</td>\n",
" <td>2086.963068</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>24</td>\n",
" <td>-0.154132</td>\n",
" <td>0.186026</td>\n",
" <td>1792.673295</td>\n",
" <td>1825.144886</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>25</td>\n",
" <td>-0.173348</td>\n",
" <td>0.157201</td>\n",
" <td>1759.946023</td>\n",
" <td>1776.053977</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>26</td>\n",
" <td>-0.307865</td>\n",
" <td>0.142788</td>\n",
" <td>1530.855114</td>\n",
" <td>1751.508523</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>27</td>\n",
" <td>-0.312670</td>\n",
" <td>0.373389</td>\n",
" <td>1522.673295</td>\n",
" <td>2144.235795</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>28</th>\n",
" <td>28</td>\n",
" <td>-0.490424</td>\n",
" <td>0.397410</td>\n",
" <td>1219.946023</td>\n",
" <td>2185.144886</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>29</th>\n",
" <td>29</td>\n",
" <td>-0.711416</td>\n",
" <td>0.334955</td>\n",
" <td>843.582386</td>\n",
" <td>2078.781250</td>\n",
" <td>2055.169256</td>\n",
" <td>1508.331047</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>30</th>\n",
" <td>30</td>\n",
" <td>-0.291312</td>\n",
" <td>-0.127198</td>\n",
" <td>1412.218750</td>\n",
" <td>1254.974432</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>31</td>\n",
" <td>-0.126406</td>\n",
" <td>-0.303884</td>\n",
" <td>1755.855114</td>\n",
" <td>886.792614</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>32</th>\n",
" <td>32</td>\n",
" <td>-0.197080</td>\n",
" <td>-0.158609</td>\n",
" <td>1608.582386</td>\n",
" <td>1189.519886</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33</th>\n",
" <td>33</td>\n",
" <td>-0.232417</td>\n",
" <td>-0.076155</td>\n",
" <td>1534.946023</td>\n",
" <td>1361.338068</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>34</th>\n",
" <td>34</td>\n",
" <td>-0.118553</td>\n",
" <td>-0.044744</td>\n",
" <td>1772.218750</td>\n",
" <td>1426.792614</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>35</td>\n",
" <td>-0.071437</td>\n",
" <td>-0.107566</td>\n",
" <td>1870.400568</td>\n",
" <td>1295.883523</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>36</td>\n",
" <td>-0.043952</td>\n",
" <td>-0.190020</td>\n",
" <td>1927.673295</td>\n",
" <td>1124.065341</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>37</th>\n",
" <td>37</td>\n",
" <td>0.011017</td>\n",
" <td>-0.146830</td>\n",
" <td>2042.218750</td>\n",
" <td>1214.065341</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>38</th>\n",
" <td>38</td>\n",
" <td>0.038501</td>\n",
" <td>-0.315663</td>\n",
" <td>2099.491477</td>\n",
" <td>862.247159</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>39</th>\n",
" <td>39</td>\n",
" <td>0.093470</td>\n",
" <td>-0.131124</td>\n",
" <td>2214.036932</td>\n",
" <td>1246.792614</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40</th>\n",
" <td>40</td>\n",
" <td>0.168071</td>\n",
" <td>-0.170388</td>\n",
" <td>2369.491477</td>\n",
" <td>1164.974432</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>41</th>\n",
" <td>41</td>\n",
" <td>0.226966</td>\n",
" <td>-0.244988</td>\n",
" <td>2492.218750</td>\n",
" <td>1009.519886</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>42</th>\n",
" <td>42</td>\n",
" <td>0.603896</td>\n",
" <td>-0.319589</td>\n",
" <td>3277.673295</td>\n",
" <td>854.065341</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>43</th>\n",
" <td>43</td>\n",
" <td>0.305493</td>\n",
" <td>-0.013334</td>\n",
" <td>2655.855114</td>\n",
" <td>1492.247159</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>44</th>\n",
" <td>44</td>\n",
" <td>0.195556</td>\n",
" <td>-0.068303</td>\n",
" <td>2426.764205</td>\n",
" <td>1377.701705</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>45</th>\n",
" <td>45</td>\n",
" <td>0.117028</td>\n",
" <td>-0.036892</td>\n",
" <td>2263.127841</td>\n",
" <td>1443.156250</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>46</th>\n",
" <td>46</td>\n",
" <td>0.018870</td>\n",
" <td>0.088752</td>\n",
" <td>2058.582386</td>\n",
" <td>1704.974432</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>47</th>\n",
" <td>47</td>\n",
" <td>0.164145</td>\n",
" <td>0.100531</td>\n",
" <td>2361.309659</td>\n",
" <td>1729.519886</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>48</th>\n",
" <td>48</td>\n",
" <td>0.289788</td>\n",
" <td>0.167279</td>\n",
" <td>2623.127841</td>\n",
" <td>1868.610795</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>49</th>\n",
" <td>49</td>\n",
" <td>0.525369</td>\n",
" <td>0.069120</td>\n",
" <td>3114.036932</td>\n",
" <td>1664.065341</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50</th>\n",
" <td>50</td>\n",
" <td>-0.126406</td>\n",
" <td>0.363596</td>\n",
" <td>1755.855114</td>\n",
" <td>2277.701705</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>51</th>\n",
" <td>51</td>\n",
" <td>-0.244196</td>\n",
" <td>0.402860</td>\n",
" <td>1510.400568</td>\n",
" <td>2359.519886</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>52</td>\n",
" <td>-0.212785</td>\n",
" <td>0.563840</td>\n",
" <td>1575.855114</td>\n",
" <td>2694.974432</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>53</th>\n",
" <td>53</td>\n",
" <td>-0.232417</td>\n",
" <td>0.288996</td>\n",
" <td>1534.946023</td>\n",
" <td>2122.247159</td>\n",
" <td>2019.261556</td>\n",
" <td>1520.031972</td>\n",
" <td>2</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" throw # x position (m) y position (m) picture x position (pixel) \\\n",
"0 0 -0.466403 -0.304000 1260.855114 \n",
"1 1 -0.206978 -0.448126 1702.673295 \n",
"2 2 -0.091677 -0.457734 1899.036932 \n",
"3 3 0.153336 -0.510580 2316.309659 \n",
"4 4 0.364720 -0.597055 2676.309659 \n",
"5 5 -0.120502 -0.227133 1849.946023 \n",
"6 6 -0.091677 -0.255959 1899.036932 \n",
"7 7 -0.096482 -0.179092 1890.855114 \n",
"8 8 -0.192565 -0.044575 1727.218750 \n",
"9 9 -0.082069 -0.025358 1915.400568 \n",
"10 10 0.162944 -0.313609 2332.673295 \n",
"11 11 0.249419 -0.332825 2479.946023 \n",
"12 12 0.441586 -0.371259 2807.218750 \n",
"13 13 0.038035 -0.006141 2119.946023 \n",
"14 14 0.076469 -0.058987 2185.400568 \n",
"15 15 0.134119 -0.073400 2283.582386 \n",
"16 16 0.134119 -0.159875 2283.582386 \n",
"17 17 0.162944 -0.020554 2332.673295 \n",
"18 18 0.278244 -0.073400 2529.036932 \n",
"19 19 0.302265 -0.097421 2569.946023 \n",
"20 20 0.210986 0.094747 2414.491477 \n",
"21 21 0.331090 0.157201 2619.036932 \n",
"22 22 0.114902 0.224459 2250.855114 \n",
"23 23 0.134119 0.339760 2283.582386 \n",
"24 24 -0.154132 0.186026 1792.673295 \n",
"25 25 -0.173348 0.157201 1759.946023 \n",
"26 26 -0.307865 0.142788 1530.855114 \n",
"27 27 -0.312670 0.373389 1522.673295 \n",
"28 28 -0.490424 0.397410 1219.946023 \n",
"29 29 -0.711416 0.334955 843.582386 \n",
"30 30 -0.291312 -0.127198 1412.218750 \n",
"31 31 -0.126406 -0.303884 1755.855114 \n",
"32 32 -0.197080 -0.158609 1608.582386 \n",
"33 33 -0.232417 -0.076155 1534.946023 \n",
"34 34 -0.118553 -0.044744 1772.218750 \n",
"35 35 -0.071437 -0.107566 1870.400568 \n",
"36 36 -0.043952 -0.190020 1927.673295 \n",
"37 37 0.011017 -0.146830 2042.218750 \n",
"38 38 0.038501 -0.315663 2099.491477 \n",
"39 39 0.093470 -0.131124 2214.036932 \n",
"40 40 0.168071 -0.170388 2369.491477 \n",
"41 41 0.226966 -0.244988 2492.218750 \n",
"42 42 0.603896 -0.319589 3277.673295 \n",
"43 43 0.305493 -0.013334 2655.855114 \n",
"44 44 0.195556 -0.068303 2426.764205 \n",
"45 45 0.117028 -0.036892 2263.127841 \n",
"46 46 0.018870 0.088752 2058.582386 \n",
"47 47 0.164145 0.100531 2361.309659 \n",
"48 48 0.289788 0.167279 2623.127841 \n",
"49 49 0.525369 0.069120 3114.036932 \n",
"50 50 -0.126406 0.363596 1755.855114 \n",
"51 51 -0.244196 0.402860 1510.400568 \n",
"52 52 -0.212785 0.563840 1575.855114 \n",
"53 53 -0.232417 0.288996 1534.946023 \n",
"\n",
" picture y position (pixel) target x position (pixel) \\\n",
"0 990.599432 2055.169256 \n",
"1 745.144886 2055.169256 \n",
"2 728.781250 2055.169256 \n",
"3 638.781250 2055.169256 \n",
"4 491.508523 2055.169256 \n",
"5 1121.508523 2055.169256 \n",
"6 1072.417614 2055.169256 \n",
"7 1203.326705 2055.169256 \n",
"8 1432.417614 2055.169256 \n",
"9 1465.144886 2055.169256 \n",
"10 974.235795 2055.169256 \n",
"11 941.508523 2055.169256 \n",
"12 876.053977 2055.169256 \n",
"13 1497.872159 2055.169256 \n",
"14 1407.872159 2055.169256 \n",
"15 1383.326705 2055.169256 \n",
"16 1236.053977 2055.169256 \n",
"17 1473.326705 2055.169256 \n",
"18 1383.326705 2055.169256 \n",
"19 1342.417614 2055.169256 \n",
"20 1669.690341 2055.169256 \n",
"21 1776.053977 2055.169256 \n",
"22 1890.599432 2055.169256 \n",
"23 2086.963068 2055.169256 \n",
"24 1825.144886 2055.169256 \n",
"25 1776.053977 2055.169256 \n",
"26 1751.508523 2055.169256 \n",
"27 2144.235795 2055.169256 \n",
"28 2185.144886 2055.169256 \n",
"29 2078.781250 2055.169256 \n",
"30 1254.974432 2019.261556 \n",
"31 886.792614 2019.261556 \n",
"32 1189.519886 2019.261556 \n",
"33 1361.338068 2019.261556 \n",
"34 1426.792614 2019.261556 \n",
"35 1295.883523 2019.261556 \n",
"36 1124.065341 2019.261556 \n",
"37 1214.065341 2019.261556 \n",
"38 862.247159 2019.261556 \n",
"39 1246.792614 2019.261556 \n",
"40 1164.974432 2019.261556 \n",
"41 1009.519886 2019.261556 \n",
"42 854.065341 2019.261556 \n",
"43 1492.247159 2019.261556 \n",
"44 1377.701705 2019.261556 \n",
"45 1443.156250 2019.261556 \n",
"46 1704.974432 2019.261556 \n",
"47 1729.519886 2019.261556 \n",
"48 1868.610795 2019.261556 \n",
"49 1664.065341 2019.261556 \n",
"50 2277.701705 2019.261556 \n",
"51 2359.519886 2019.261556 \n",
"52 2694.974432 2019.261556 \n",
"53 2122.247159 2019.261556 \n",
"\n",
" target y position (pixel) image # \n",
"0 1508.331047 1 \n",
"1 1508.331047 1 \n",
"2 1508.331047 1 \n",
"3 1508.331047 1 \n",
"4 1508.331047 1 \n",
"5 1508.331047 1 \n",
"6 1508.331047 1 \n",
"7 1508.331047 1 \n",
"8 1508.331047 1 \n",
"9 1508.331047 1 \n",
"10 1508.331047 1 \n",
"11 1508.331047 1 \n",
"12 1508.331047 1 \n",
"13 1508.331047 1 \n",
"14 1508.331047 1 \n",
"15 1508.331047 1 \n",
"16 1508.331047 1 \n",
"17 1508.331047 1 \n",
"18 1508.331047 1 \n",
"19 1508.331047 1 \n",
"20 1508.331047 1 \n",
"21 1508.331047 1 \n",
"22 1508.331047 1 \n",
"23 1508.331047 1 \n",
"24 1508.331047 1 \n",
"25 1508.331047 1 \n",
"26 1508.331047 1 \n",
"27 1508.331047 1 \n",
"28 1508.331047 1 \n",
"29 1508.331047 1 \n",
"30 1520.031972 2 \n",
"31 1520.031972 2 \n",
"32 1520.031972 2 \n",
"33 1520.031972 2 \n",
"34 1520.031972 2 \n",
"35 1520.031972 2 \n",
"36 1520.031972 2 \n",
"37 1520.031972 2 \n",
"38 1520.031972 2 \n",
"39 1520.031972 2 \n",
"40 1520.031972 2 \n",
"41 1520.031972 2 \n",
"42 1520.031972 2 \n",
"43 1520.031972 2 \n",
"44 1520.031972 2 \n",
"45 1520.031972 2 \n",
"46 1520.031972 2 \n",
"47 1520.031972 2 \n",
"48 1520.031972 2 \n",
"49 1520.031972 2 \n",
"50 1520.031972 2 \n",
"51 1520.031972 2 \n",
"52 1520.031972 2 \n",
"53 1520.031972 2 "
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['throw #', ' x position (m)', ' y position (m)',\n",
" 'picture x position (pixel)', ' picture y position (pixel)',\n",
" 'target x position (pixel)', ' target y position (pixel)', ' image #'],\n",
" dtype='object')"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.columns"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The Average X Position = 0.01207963411779779 m With a Standard Deviation of 0.25716367278418045\n",
"The Average Y Position = -0.047397370492807414 m With a Standard Deviation of 0.2548611138551949\n"
]
}
],
"source": [
"#Actual Positions\n",
"x = data[\" x position (m)\"]\n",
"y = data[\" y position (m)\"]\n",
"\n",
"#Average Positions\n",
"x_mean = np.mean(x)\n",
"y_mean = np.mean(y)\n",
"\n",
"#Standard Deviation of Throws\n",
"x_std = np.std(x)\n",
"y_std = np.std(y)\n",
"\n",
"#Returns\n",
"print(\"The Average X Position =\", x_mean, \"m\", \"With a Standard Deviation of\", x_std)\n",
"print(\"The Average Y Position =\", y_mean, \"m\", \"With a Standard Deviation of\", y_std)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAg0AAAH/CAYAAADUqu4bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nOzde5xcdX34/9cbFggQo4nGpLaEgKRI0JbamKJVxEsLqQJaq1ihhX6VaNNWbbVewCJeiHexaFNBbVGI1R/eQG2UFol4wxhQlFAwEQLYkhhMIAQIsvL+/XHOwGQyu3t2d2bn9no+HvOY3c+5zPvszM55n8/tRGYiSZI0lj06HYAkSeoNJg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZB6WETMj4iMiAs6HYtGFhFnle/T0Z2OZbwi4pERsSUi3tem/T+1/Nsc1479q7VMGtS16k6I9Y/7I2JjRPxbRDy+0zG2UkSsbnK8oz3mdzrmdomIU8tjfG2nY6mqjHd1p+NogzcD+wLvbcfOM/N7wGXAuyNiz3a8hlpnqNMBSBXcCHym/HkGcDTwV8ALI2JxZq7vVGAtdgGwuqHsVOBA4J+BOxuW3Qk8qt1BqSU+QvEZvrXTgYxHRMwCXg1ckJlb2vhS76dIHF7Mw//r6kImDeoFN2TmWbVfIiKAfwdOAc6gOLH2vMy8oLGsrM4+EPhQZm5sstykoQdk5h3AHZ2OYwJOpahluKjNr/MNYBOwFJOGrmbzhHpOFnOfryh/XVQrj4jfj4h/iYh1EbE9Iu6JiGsi4m/KRGMXterkshnk8xGxLSJ2RMTXI+J3m712RDw+Iv49In4eEb8qn1dExOyG9R7qaxART4qIr5T7b9u87RFxSER8KSLuioi7I+LLzZpw6o57XkR8umyv3qW5IyJeEBHfKvdzT0T8ICJe3rCf3yu3e1dD+d+W5esbymdHxIMRcWFrjxwi4qiI+Fr5N74vIn4SEa+PiKYXRhHxooi4vG79DRFxfkTMq1un0ucpIo6ue1+f2dCEdHS5TtM+DRGxVxnnT8o4tpXH8YwmMV9Q7uOgiHh1RPw0iua6n0XEa5qsPy0i3lDu++7yGG4sP7+/WfFPewrwf5n53Sb731g+HlX+7TbX/f8sKNd5QkRcWh7XXeVrP6JxX5n5a+BLwNH174G6j0mDetVuSQBwGnACcC3wUeBTwCMpqobPGWE/M4Ergd8ot7kUeA7wrYj4nV1eMOKpwDXAy4DvAR8qf38VcFUUVbmNDgG+A+wPfJz2XUXNB64CHgF8DPgu8HzgvyJi3ybrP7qMawFwIUXNza8AIuJ1wBeBQ4FPAucBjwE+HhHn1u3jWmAb8KyGfR9dPh8SEb/VUB7s3gQzKRHxEoor1acBnwM+XL7O+4DP1Z/gy/X/uVzvicDFFE0/V1NUjT+5btWqn6eNwNvKn28pf649No4Sd5RxvI/iu/jD5e9PA66IiBePsOn7KWrYvkXxXk8HPhQRr2pY70LgPcBdwPnl4zrgT4GDRoqrLr5HA08Cvj/KansD/wU8Bfg08N/AH1N87g6n+BzuBfwbRTPjqcC5TfdUfH6D3T9P6iaZ6cNHVz4oToQJfKmhPCja/xP497ryecAeDesOAV8Dfg0c2LAsy8e/NZT/aVl+ZV3Z3hQnhK3AYQ3rv7hc/yNNYk/g9En8DVaX+5g/xt8ogdc1LPv3svzPRzjujwLRsOzxwAPA/wJz68qnU5w8EziqrvyScv1H1L03v6A4iSdwct26/1KWPb7CcZ9arvvaMdabQdG3Y0f9+1K+718v9/GXdeXHl2VrgBkN+9oXmDXJz9PqEeI8q1x+dF3ZKWXZ14GhuvLDgHvK43pEXfkF5frrgTl15YeU78GNdWWPBB4EvtAklmnA/hXeg+eVr/eWEZZvLJf/B7BnXfmHy/JtwLKGv90Py1jnNNnfE8vtzpvo/4uP9j+saVAveEJZvXtWRHwQWEvxhbsNWF5bKTNvzcwH6zfMzGGKK6w9aH4FMwyc2bDNF4AfAM+oqyp9PsVJZHlm/k/D+hdTXKm+tMn+b6e4kmy3m9i9NuWC8nkRu7ufIplpbC45ieLL/T2ZualWmJk7gLeWv55St/43y/WfXv5+ODCb4gr45+z6N38W8PPM/FmF46nqBRQnyPPr35fyfX9jk3j/unx+dWZur99RZt6XmVvrfp/I52k8anH9Y7nf2mv8D8Xf75EUx9fo7MzcXLf+BuDbwG/XVf0nRQJ3X+PGmbkzM++pEF+tlmjzqGvBG7NoXqj5bPl8B/Cvda87DHye4vOysMl+ftHwuupCdoRULziUh09YDwD/R1Hd+c7MvLm2UkTsQ9HT+8Rym+kN+/mNJvu+JTN/3qT82xRVrr9L0eP9D8ryJ0bEWU3W3xd4dEQ8JotObzXXZuYDoxxbq/y48QRHUVsAzUdY3Fx/gqxzRPm8usmyKxrWqV/vaGAVDzdNrKZIKI4GiIjHUlxBt7pD3YjxZuaPIuIudo33KcDdmXnVWDue4OdpPI4AtmXmj5ssWw28plynsQ/ID5usX/9e352Z2yPia8DLIuIAiv4C3wKuaTjBj+bR5fO2UdbZlpmNI0JqyeZPmiSltWWPa7av8vkxFeNTB5g0qBdckpnNrrgafZ6iSvUGivbVLRQ1CfMprur2abLNSMPIaldXM8rnWn+FU5qsW29/du0l/4uRVmyxu5qU1a5em419Hymu2vHudnWZmXdFxP116wD8iKIa/ejy96MpRrvcHsWcBSeVJ62nlstXj/C6EzVivKVNFE0uNY8EqtZ0TOTzNB4zKJoamtlUt06jqu/1i4G3UPTB+UBZdkdEnAO8u0mS2ahWS9GsT0zN9iZlwxWW7dVkWe117h0jLnWQSYP6QkQ8heIL/mvA8+q/ECPiREY+2c8eoXxO+by94fmPMvO/xxFa20ZLTNJIcdWOcw4NJ+KIeCTFifKhk0FmPhgR3waWRMQM4CiKky08nCA8i/YlDfXxNjOHXU9ed9L8KncXk/g8jcd2Ro+7ts6ElE1KbwLeFBG/TdHB9++AsykSgpE6B9fUEupmHXzbYWbD66oL2adB/aJ2NfnVJldQfzjKdgc29PBv3Oba8nlN+XzkBOPrFT8qn49qsuyZDevUrKa4wn0VRRJ2BTzU1v5zitqHo2l9f4b6WHaLtxz98qiGeH8APCIixnofJ/J5epDmtToj+REwMyKe2GTZSH/rCcnMn2bmv1KMbICiQ+hYflI+L2hFDBX8dsPrqguZNKhf1NpVd/lCL08OS0fZboiHh8vVtvlTYDHwrbr22i8Bt1FctS1u3ElE7BsRf9BY3oM+TTEy4B+jbu6JiNifh/9On2rYZnX5/PqG36Ho1/B84Am0vpYBitEb24GlEXFIrTCK6YjfU/5aH2+tY965Zc0IddtMqxs2O5HP01ag6vwH9XG9K+qmTy5rBZZSNENcMo791cc5OyKadYCt1WDs1kGyiZ+UMez2eW+T2ut8c4peTxNg84T6xfcpRlW8NCLmUlxRHkxxRXUp8KIRtvsx8McR8R2K+RoOpGgL3gH8bW2lzLy/HDe/imJOhsuA6yn+h+ZTXBl+Dzi25Uc2hTJzQ0ScTnHC/UlEXEwxf8MLKcb2r8jMxi/1H1GcXGYD6zKzvr/EaooRGbWfx+tlEXHECMvOzcxryvkJLgKujojPUDRB/AnFEL6vUJc0ZOaXI+LDFNX0P42ISyhO9vMo3ruXUySIE/k8XQG8OCI+S/G5+jXw6SYdBWs+BfwZRVL1w4hYRVFFfyJF+/5JjSM8xuE3gR9ExI8pOk7eDsyleB9/TTE3xajKpqcvAydGxKMz85cTjKWq51A0TXyvza+jSTBpUF/IzF9HxPMpTnZ/TDHa4X8o7lHxv4ycNGyjmMDngxTV63tTfPm/obFXe2Z+vzyBvQFYQtFWfy9FFfyn2P0KvCdl5nsjYgPwDxR/vz0o/pbvysyPNVn/12W/huexe2KweoSfq3pK+WjmSxSjAf4jIm6nuLHSiRTzEPyMoj3/g409+DPz1RHxXWAZ8OcU34P/SzHR09V1xzTez9NrKf5Wz6VIPINiwqKmSUN5Un4hxd/5LylGS+wst1neJDkbj40Uc0M8BziGol/CZuBy4L2ZOdqETfXOB06m+LuuGGPdCYuIx1Ek3h+YotFGmqDYfUSMNBiimPr3m5l5dKdjkbpVRPyAYpKr32/ja5xBMaz60Pph1Oo+9mmQJI3mH4EnlzUvLRcR04G/Bz5qwtD9bJ6QJI0oM1dHxN8C+7XpJeZT3M/jX9q0f7WQzRMaWDZPSNL4mDRIkqRK7NMgSZIqsU/DGB7zmMfk/PnzOx2GJElT4uqrr74jM5tOsW/SMIb58+ezdu3aTochSdKUiIhbRlpm84QkSarEpEGSJFXSM0lDRBwQEZ+LiLsiYntEfCEi5o1j+8Mi4uKIuCMi7ouIGyPiNe2MWZKkftITfRoiYj/gG8D9FPexT+CdwBUR8TuZec8Y2y8qt18NvILi5joLgOltDFuSpL7SE0kDcBrFHeYOzcwNAOXd29YDr6S42VBTEbEH8Eng8sx8Yd2iK9oXriRJ/adXmieOB66qJQwA5Rzl36G4Q+FojgYWMkpiIUmSxtYrScPhwHVNytdRJASjeXr5PC0iroqIByLiFxFxbkTs29IoJUnqY72SNMwCtjUp3wrMHGPbx5XPnwUuA/4IeC9F34ZPtypASZL6Xa/0aYCi82OjqLBdLTG6KDPPLH9eHRF7Au+OiIWZef0uO41YCiwFmDev8gANSZL6Wq/UNGyjqG1oNJPmNRD1flk+/1dD+WXl8xGNG2Tm+Zm5KDMXzZ7ddCZNSZIGTq8kDeso+jU0Wghc36S8cVvYvaaiVkvx4CTikiRpYPRK0nApcGREHFwriIj5wB+Wy0azimJ+h2Mbyo8pn72xhCRJFfRK0vAxYCNwSUScEBHHA5cAtwHn1VaKiAMjYjgian0XyMxfAu8CXhURyyPiuRHxJuBM4JP1wzglSdLIeqIjZGbeExHPBs4BLqRoWrgceG1m7qhbNYA92T0ZejtwN7AMeD1wO/A+4B1tDl2SpL7RE0kDQGbeCrxojHU20mRERWYmxeROTvAkSdIE9UrzhCRJ6jCTBkmSVEnPNE9IqmbV+u2sWLOVzTuGmTN9iGWLZ7FkwYxOhyWpD5g0SH1k1frtLL9yCzuHi2lJNu0YZvmVWwBMHCRNms0TUh9ZsWbrQwlDzc7hZMWarR2KSFI/MWmQ+sjmHcPjKpek8TBpkPrInOnNWxxHKpek8TBpkPrIssWzmDa061Ql04aCZYub3e9NksbHyw+pj9Q6Ozp6QlI7mDRIfWbJghkmCZLawuYJSZJUiUmDJEmqxKRBkiRVYtIgSZIqMWmQJEmVmDRIkqRKTBokSVIlJg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZAkSZWYNEiSpEpMGiRJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVWLSIEmSKjFpkCRJlZg0SJKkSkwaJElSJSYNkiSpEpMGSZJUiUmDJEmqxKRBkiRVYtIgSZIqMWmQJEmVmDRIkqRKTBokSVIlJg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZAkSZWYNEiSpEpMGiRJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVWLSIEmSKumZpCEiDoiIz0XEXRGxPSK+EBHzJrCfN0dERsS32xGnJEn9qieShojYD/gG8ATgFOAvgAXAFRGx/zj2czBwBvCLdsQpSVI/G+p0ABWdBhwMHJqZGwAi4sfAeuCVwAcr7udfgZXAofTOsUsArFq/nRVrtrJ5xzBzpg+xbPEsliyY0emwJA2QnqhpAI4HrqolDACZeTPwHeCEKjuIiJcBTwbe3JYIpTZatX47y6/cwqYdwySwaccwy6/cwqr12zsdmqQB0itJw+HAdU3K1wELx9o4ImYC5wBvyMytLY5Nk7Bq/XaOW7mRxedt4LiVGz0JjmDFmq3sHM5dynYOJyvW+HGWNHV6pYp+FrCtSflWYGaF7d8H/BS4oIUxaZJqV8+1k2Ht6hmw2r3B5h3D4yqXpHbolZoGgGxSFmNtFBHPAP4S+OvMbLaPZtssjYi1EbF2y5Yt4wxTVXn1XN2c6c3z+5HKJakdeiVp2EZR29BoJs1rIOqdB3wC+HlEPCoiHkVRw7Jn+fs+jRtk5vmZuSgzF82ePXuysWsEXj1Xt2zxLKYN7ZojTxsKli1u9m8hSe3RK5cp6yj6NTRaCFw/xraHlY9XNVm2Dfh74EOTik4TMmf6EJuaJAhePe+u1lzj6AlJndQr386XAu+PiIMz8yaAiJgP/CHwpjG2fVaTsg8BewJ/B2xoslxTYNniWbv0aQCvnkezZMEMkwRJHdUrScPHgL8FLomIt1D0b3gHcBtF8wMAEXEg8DPg7Zn5doDMXN24s4i4ExhqtkxTx6tnSeotPZE0ZOY9EfFsimGTF1J0gLwceG1m7qhbNShqEHqlr8bA8+pZknpHTyQNAJl5K/CiMdbZSIURFZl5dGuikppz9kZJ/ahnkgapVzj/hKR+ZTW+1GLOPyGpX1nTILXYoMw/YROMNHisaZBabBBmb/QGWtJgMmmQWmwQZm+0CUYaTP1z6SN1iUGYf2JQmmAk7cqkQWqDfp9/winApcFk84SkcRuEJhhJu/OyQNK4DUITjKTdmTRImpB+b4KRtDuTBknqAOe5UC8yaZCkKeZU4+pVJg1TzKsLSaPNc+H3gbqZScMU8upCEjjPhXqXQy6nkLPoSYLBmGpc/cmkYQp5dSEJnOdCvcu0dgo5i54kcJ4L9S7PVlNo2eJZu/RpAK8upEHlPBfqRSYNU8irC0lSLzNpmGJeXUiSepUdISVJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVWLSIEmSKjFpkCRJlZg0SJKkSpzcSepRq9Zvd3ZRSVPKpEHqQavWb9/lPiabdgyz/MotACYOktrG5gmpB61Ys3WXG58B7BxOVqzZ2qGIJA0CkwapB21ucov10colqRVMGqQeNGd685bFkcolqRVMGqQetGzxLKYNxS5l04aCZYtndSgiSYPAyxKpB9U6Ozp6QtJUMmmQetSSBTNMEiRNKZsnJElSJSYNkiSpEpMGSZJUiUmDJEmqxKRBkiRVYtIgSZIqMWmQJEmVmDRIkqRKTBokSVIlJg2SJKkSkwZJklSJSYMkSarEpEGSJFXiXS4lqY1Wrd/uLczVN0waJKlNVq3fzvIrt7BzOAHYtGOY5VduATBxUE+yeUKS2mTFmq0PJQw1O4eTFWu2digiaXJMGiSpTTbvGB5XudTtTBokqU3mTG/eAjxSudTtTBokqU2WLZ7FtKHYpWzaULBs8awORSRNTs8kDRFxQER8LiLuiojtEfGFiJhXYbtFEXF+RNwQEfdGxK0RsTIiDpqKuCUNriULZnD6UbOZO32IAOZOH+L0o2bbCVI9qyfqyCJiP+AbwP3AKUAC7wSuiIjfycx7Rtn8pcDhwLnAOuA3gX8C1kbEEZl5W1uDlzTQliyYYZKgvtETSQNwGnAwcGhmbgCIiB8D64FXAh8cZdv3ZOaW+oKI+A5wc7nfM9sSsSRJfaZXmieOB66qJQwAmXkz8B3ghNE2bEwYyrJbgC0UtQ6SJKmCXkkaDgeua1K+Dlg43p1FxGHAY4H/mWRckiQNjF5JGmYB25qUbwVmjmdHETEEfJSipuETI6yzNCLWRsTaLVt2q6iQJGkg9UrSAEXnx0bRpGwsHwGeBpycmc0SETLz/MxclJmLZs+ePYGXkCSp//RKR8htFLUNjWbSvAaiqYh4F7AUOCUzL2tRbFLf8SZLkprplaRhHUW/hkYLgeur7CAizgDeBLw6My9sYWxSX/EmS5JG0ivNE5cCR0bEwbWCiJgP/GG5bFQR8WqKeR3OyMwPtylGqS94kyVJI+mVpOFjwEbgkog4ISKOBy4BbgPOq60UEQdGxHBEnFlX9lLgQ8DXgG9ExJF1j3GPvJD6nTdZkjSSnmieyMx7IuLZwDnAhRQdIC8HXpuZO+pWDWBPdk2Gji3Ljy0f9b4JHN2msKWeNGf6EJuaJAjeZElSz3wLZOatwIvGWGcjDSMqMvNU4NR2xSX1m2WLZ+3SpwG8yZKkQs8kDZKmRq2zo6MnNBJH1wwukwZJu/EmSxqJo2sGW690hJQkdQFH1ww2kwZJUmWOrhlsNk9IA872aY3HREfX+DnrD9Y0SAOs1j69accwycPt06vWb+90aOpSyxbPYtrQrrf9GWt0jZ+z/mHSIA0w26c1XksWzOD0o2Yzd/oQAcydPsTpR80etdbAz1n/sHlCGmC2T2sixju6xs9Z/7CmQRpgI7VDO/ujWsnPWf8waZDaaNX67Ry3ciOLz9vAcSs3dl0b7kTap6Xx8nPWP0zzpDbphUlwnP1RU8HPWf+IzBx7rQG2aNGiXLt2bafDUA86buXGpkPT5k4f4ssnzZ/6gCSpgoi4OjMXNVtWqaYhIhZR3CHySOBxwL7AHcCNFHeKvDQz72pNuFJ/sPOXpH4zap+GiDgpIn4ErAHeCMwCbgOuBe4Dngl8Evi/iPh4RMxrc7xSz7Dzl6R+M2LSEBHXAB8ELgf+AHhkZj4tM0/IzJdm5h9n5gLgMcAyYB5wQ0S8eCoCl7qdnb8k9ZvRLnk+DfxLZt432g4ycytFbcMnI+LJwJwWxif1LDt/Seo3IyYNmfn+8e4sM6+ZXDhSf/EW05L6ifM0SJKkSir3yIqI3wZeBBwATGtYnJn58lYGJkmSukvVIZcnARdQ1EzcAfyqYRUne5Akqc9VrWl4K/BV4OWZ+cs2xiNJkrpU1aThN4C/NmGQJGlwVe0I+V3g0HYGIkmSulvVmoa/Az4fEVuAy5wyWpLab9X67c7zoa5SNWm4BVgLfAYgIhqXZ2Y6N64ktUgv3CVVg6fqif584GXAV4Ab2H30hCSphVas2fpQwlCzczhZsWbrmEmDNRRql6pJwwuBN2TmOe0MRpJUmOhdUq2hUDtV7Qh5L3BdOwORpHZatX47x63cyOLzNnDcyo2sWr+90yGNaqJ3SR2thkKarKpJwwXAiW2MQ5Lapnb1vWnHMMnDV9/dnDhM9C6pE62hkKqo2jyxATgxIlYBXwO2Na6QmZ9qZWCS1CqT6R/QKRO9S+qc6UNsapIgjFVDIVUxno6QAAcCxzRZnoBJg6Su1KtX3xO5S+qyxbN26dMA1WoopCqqJg0L2hqFJLXRIF19T7SGQqqi0n9MZv6s3YFIUrsM2tX3RGoopCr6L82WpAZefUutMWLSEBFrgbdl5per7CgifgP4R+D2zHxfi+KTpJbw6ltTpZ8n1xqtpuFi4JMRcQ/F9NHfAq4FtgD3AzOBg4HFwHHAs4Fv8nCnSUmSBkq/T6414jwNmfke4PHAR4DjgS8BNwF3U0wjvRn4HvCBsuzYzHxuZt7Q7qAlSepG/T651qh9GjJzG/Ae4D0RcTBwJPA4YBrwS4r7UFyVmfe1O1BJkrpdrw7vrapyR8jMvImipkGSJDXR78N7q04jLUmSxjDR6b97RX+kPpIkdYF+H95r0iBJUgv18/BemyckSVIlJg2SJKkSkwZJklRJ5T4NEXEg8GJgHsU8DfUyM1/ZysAkSVJ3qZQ0RMRxwOeAvYA7KKaRrpe7bSRJkvpK1ZqG5RT3njg5Mze1MR5JktSlqiYNBwOvM2GQJGlwVe0IeSPQH9NZSZKkCamaNLwROL3sDClJkgZQ1eaJ04FHAzdGxA1A4z0+MzOf09LIJElSV6maNOxFcYfLm+p+lyRJA6RS0pCZT293IJIkqbv1zIyQEXFARHwuIu6KiO0R8YWImFdx22kR8b6IuD0i7ouI70XEUe2OWZKkflI5aYiIx0bEu8sT7o0R8d2IWB4Rj21ngOVr7wd8A3gCcArwF8AC4IqI2L/CLj4BnAacCTwfuB34ekQc0Z6IJUnqP5WShog4BLgWeB0wDPwY+DXwj8CPIuLxbYuwcBrFXBEvyMwvZeYlwPHAgcCo01dHxO8CLwP+PjM/lpmXAy8BbgXe3t6wJUnqH1VrGt4L3As8ITOfkZkvzsxnAIcC9wDvaVeApeOBqzJzQ60gM28GvgOcUGHbB4DP1m07DHwGOCYi9ml9uJIk9Z+qScOzgLdk5s/qCzPzJuCtQLuHWx4OXNekfB2wsMK2N2fmvU223Rs4ZPLhSZLU/6oOudwH2D7CsrvK5e00C9jWpHwrMHMS29aWSxpQq9ZvZ8WarWzeMcyc6UMsWzyLJQtmdDosqStVrWn4MbAsIqLJsr+m6O/Qbs3upNksnmbrjGvbiFgaEWsjYu2WLVuqxiepx6xav53lV25h045hEti0Y5jlV25h1fqRrpGkwVa1puHtwJeBdRHxGYrRB3MpOhQeBhzXnvAeso3mNQIzaV6LUG8r0Gxo5sy65bvIzPOB8wEWLVrkbb+lPrVizVZ2Du/6L75zOFmxZqu1DeNkjc1gqDq5039GxAnAO4Gz6hb9CDghM1e1IbZ66yj6JjRaCFxfYdsXRsR+Df0aFgK/AjY030xSv9u8Y3hc5WquVmNTS8BqNTaAiUOfqTxPQ2Z+JTOPAB4JHAQ8MjOfnJlfbVt0D7sUODIiDq4VRMR84A/LZWNtuxfw4rpth4ATgcsy8/5WByupN8yZ3vy6aaRyNTdajY36y7hnhMzMuzPzlsy8ux0BjeBjwEbgkog4ISKOBy4BbgPOq60UEQdGxHBEnFkX748ohlt+KCJeERHPoRhueRDFyA9JA2rZ4llMG9q1e9O0oWDZ4s73j161fjvHrdzI4vM2cNzKjV3dz8Iam8ExYjodEacD/56Zt5c/jyYz812tDW2Xnd8TEc8GzgEupOjEeDnw2szcUbdqAHuyezL0V8DZFM0rj6LouHlsZl7TrpglNddNbd+11+2WeGp6rbp/zvQhNjVJEKyx6T+R2byfX0Q8CByZmWvKn0eTmblny6PrAosWLcq1a9d2OgypLzSeDKG4sj/9qNldeTLslONWbmx6Ep47fYgvnzR/6gMag+9rf4mIqzNzUbNlo9+dl9YAACAASURBVKWBe2Xmr2s/tz4sSYPG0QrV9Fp1f7fW2Kj1Rkwa6hIGgDnAL8rpl3cREXuWy/+v9eFJ6ie9djLslF6s7l+yYIZJwgCo2hHyNuDJIyw7olwuSaMaxNEKE+nQ2M0dNDXYqiYNo828uBcwVp8HSRq4k+FEZ5xcsmAGpx81m7nThwiKvgz2D1A3GG30xAyKkQY1cyOicWbFfYGTgc1tiE1Snxm0tu/J9OGwul/daLQ6wb+nmMcgy8cXR1gvKKaZltTF2jXUcbz7HaSToX041G9Ga564FDgNeCVFYvBuYGnD4xRgUWae1d4wJU1Gu27M1As3fFq5ciXz589njz32YP78+axcuXLKXnsQ+3Cov402euKHwA8BIiKBSzLzjqkKTFLrtGuoY7cPoVy5ciVLly7l3nuL287ccsstLF26FICTTjqp7a+/bPGspvMX9GsfDvW/Sh0hM/MTJgxS72pXNXm3V7+fccYZDyUMNffeey9nnHHGlLy+HRrVb0brCHkZ8HeZeWP582gyM49pbWiSWqVd4/67fT6BW2+9dVzl7TBIfTjU/0aradiXh4da7lf+PtJjvzbGKGmS2jXUsduHUM6b1zjga/TyKnrpRlJSq43Wp+EZdT8/fWrCkdQO7Rrq2O1DKM8+++xd+jQA7Lfffpx99tkT2l+v3UhKarURb1ilgjesknrbypUrOeOMM7j11luZN28eZ5999oQ7QfbajaSkiZjoDavqd/B84NGZ+cny9wOATwNPBL4OvDwz72lRvJLUMieddFLLRkp0Y8fPbrrVuPpf1d5KZwKfr/v9HOBg4FPAyygmgXpDa0OTpO7Syo6frTjZT2VzicmJoPq9Jx4PXAsQEfsCfwL8Q2a+Bjgd+NP2hCdpJHbIm3qt6vjZqkmxRpsno5V6YRIvTY2qScO+wH3lz08F9qZolgC4AXhci+OSNAq/xDujVfMutOpkP1XNJVOVnKj7Va1T2wg8DfgmcDxwdWbeWS6bDdzd+tAkjaTbZ2LsZ62Yd6FVJ/upmiejG/tyqDOq1jR8HHhbRFwF/A3wb3XLngpc3+rAJI3ML/He1qp7UkzVPBneQ0M1VaeR/iDFzat+CLwyM8+rWzwTuKD1oUkaiV/iva1VJ/upmqa62yfx0tRxnoYxOE+DulFjr3kovsS9r0Hv6LXRCL0WryZutHkaxpU0RMSxwDOBWcAvgdWZOdZ9KXqaSYO6lV/iktqhFZM77Q98GTgaeBDYRtEs8caIWA0cl5n3jrgDSS3njZAkTbWqHSHfBSwG/grYLzNnUwzD/H9l+fL2hCdJ6nbOGTI4qvaaehHwlto00gCZ+QDwyYiYBbwOeG0b4pMkdTFv4jVYqtY0PBq4boRl1wGPaU04kqRe4sRPg6VqTcMtwPOA/26y7FiKyZ8kaVzszNn7nDNksFRNGs4H3hcR+wErgduBucBLgVfizaokjZPV2v1hqmalVHeoOrnTB4D3A6cCV1Dcb2I18ArgA+XkT5JUmdXa/cGJnwZL5VQwM98QEe+luAfFTGAr8L3MvKNdwUnqX1Zr94darZDNTINhXPVHZYJwaZtikTRArNbuH84ZMjiqjp4gImZExD9FxH9GxLXl81siwk+KpHGzWlvqPZWShoh4IrAeOBN4FHBT+fxW4KflckmqbKputiSpdarWA34EuAt4ambeVCuMiMcDq4BzgWe3Pjyp/zjM8GFWa0u9pWrS8AfAqfUJA0Bm/iwizgT+reWRSX3IYYb9yURQg6Jqn4ZfAveNsOxeipEUksbgMMP+U0sEN+0YJnk4EfT+C+pHVZOGjwKvi4h96gsjYhrweuBfWx2Y1I8cZth/TAQ1SKo2TwwBBwG3RMRXgM3AHOD5wP3AUNlMAZCZ+Y6WRyr1AYcZ9h8TQQ2Sqt9UZ9b9/P+aLH9r3c8JmDRITSxbPGuXPg3gMMNeZyKoQVL1U71XW6OQBoSz5029dndSNBHUIKmUNGTmr9sdiDQoHGY4daZitIqJoAbJuOvPIiKArwPLMnND60OSpNYYrZNiK0/qJoIaFJWnkW7Y5rmA/yGSupqdFKXWsqeO1OcGeeIhOylKrTWRmgZJPWLQJx7q5ptirVq/neNWbmTxeRs4buXGgXlP1NsmkjQ8CJwN/F+LY5HUYoM+8VC33hRr0JM59a4R6+gi4u8y88ON5ZmZwD+1NSpJLWGbfnd2UpyqDppSq41W0/ChiLgyIg6ZsmgktdRIbfe26XfWeJI5mzHUTUZLGp4D/AZwbUS8vhxqKamHdHOb/iCrmszZjKFuM2LSkJmrgScBHwGWA9+LiIVTFJekFujWNv1BVzWZG/Q+Keo+o9ZRZuZO4I0R8Vng48A1EfEl4Fe7r5qntClGSZPQyTb9QR7uOZqqs0jaJ0XdpmrD5gbgR8ARwDNokjS0MihJvW8qpnDuZVWSOeeZULcZc8hlRBwPXA+8ADgtM38zMw9qeBzc9kgl9RSr1ifPPinqNqMNuZxN0Z/hz4CvAq/KTOdmkFSJVeuT582w1G1Gq+O6gWIip7/MzJVTFE9TEbEH8EbglcBc4Ebg7Zn5+TG2mwG8FjgWOBTYk6LW5L2Z+aW2Bi0NuFZUrdsnojvnmdDgGq154hvA4Z1OGErvAM6iqPlYAlwFXBwRfzLGdvOAZcA3gZOBE4GfAl+MiL9pW7SSJl217nBDqftEMcFj94qIxwK3Ae/OzLfWlV8OzM7M3xll2/0pRnbc21B+ObAgM+eN9fqLFi3KtWvXTjh+aZBNpqbguJUbm9ZUzJ0+xJdPmt/iSCXVRMTVmbmo2bJe6IJ7DLA3cFFD+UXAv0XEQZl5c7MNM/OeEfa5Fnhm60KU1MxkqtbtEyF1n164y+XhwP0Uwz7rrSufJzLh1FEUfTYkdSmnwJa6Ty8kDbOAO3P3dpStdcsri4ilwJHAu1oQm6Q2cbih1H2mPGmIiOdGRFZ4rK5tQvPJo8Z9L4yIOBo4F7hwtA6eEbE0ItZGxNotW7aM92UktYBTYEvdpxP1fN8FDquwXq3z4lZgZkREQ23DzLrlY4qIpwCXUowKeflo62bm+cD5UHSErLJ/Sa3ncEOpu0x50lCOZBhPf4J1wD7A49m1X0OtL8P1Y+0gIp4EfJ1iKuwXZeYD43h9SZJEb/Rp+BrFvS5Oaig/GbhupJETNRGxAPgv4Cbg+Zl5X1uilCSpz3V9N+TM/EVEnAO8OSLuBq6hmKTp2cAJ9euW8y8cmJmHlL8/liJh2Bt4K7AwYpeuED/MzPvbfxSSJPW+rk8aSmcAO4DX8PA00i/JzC83rLcnux7TQuDA8uevNNnvQcDGlkYqSVKf6omkITN/DbyzfIy23tENv69mAqMsJFXn/SGkwdETSYOk7lS7P0TtFti1+0MAJg5SH+qFjpCSutSKNVsfShhqdg4nK9ZUGgktqceYNEiaMO8PIQ0WkwZJE+b9IaTBYtIgacK8P4Q0WLwckDRhtc6Ojp7ofo5yUSuYNEiaFO8P0f0c5aJWsXlCkvqco1zUKiYNktTnHOWiVrF5QlLb2Z7eWXOmD7GpSYLgKBeNlzUNktqq1p6+accwycPt6avWb+90aAPDUS5qFZMGSW1le3rnLVkwg9OPms3c6UMEMHf6EKcfNdvaHo2bdVOS2sr29O7gKBe1gjUNktrKWSOl/mHSIKmtbE+X+oepvqS2ctZIqX+YNEhqO9vTpf5g84QkSarEpEGSJFVi0iBJkioxaZAkSZWYNEiSpEpMGiRJUiUmDZIkqRKTBkmSVImTO6lrrVq/3VkEu5jvjzR4TBrUlVat387yK7c8dEvlTTuGWX7lFgBPTF3A90caTDZPqCutWLP1oRNSzc7hZMWarR2KSPV8f6TBZE2DutLmHcPjKtfU8v1pP5t/1I1MGtSV5kwfYlOTE9Cc6X5ku0E/vT/deHK2+UfdyuYJdaVli2cxbSh2KZs2FCxbPKtDEalev7w/tZPzph3DJA+fnFet397RuGz+0WhWrd/OcSs3svi8DRy3cuOUfl5777JAA6F2NdVtV4Aq9Mv7M9rJuZPHYvOPRtLpWiiTBnWtJQtm9NxJaJD0w/vTrSfnfmr+UWt1OtG1eULSwBrpJNzpk3O/NP+o9Tqd6Jo0SBpY3XpyXrJgBqcfNZu504cIYO70IU4/anbP1+xo8jqd6FrXJWlgdXPfjKls/unGESRqbtniWbv0aYCpTXRNGiQNtH7omzEZne5Yp/HpdKJr0iBJA6zTHes0fp1MdO3TIEkDrNMd69RbTBokaYB1umOdeotJgyQNsG4dQaLuZCopSQOs0x3r1FtMGiRpwA36CBJVZ/OEJEmqxKRBkiRVYtIgSZIqMWmQJEmVmDRIkqRKHD0hSRoI3phr8kwaJEl9zxtztYbNE5KkvjfajblUnUmDJKnveWOu1jBpkCT1PW/M1RomDZKkvueNuVrDFEuS1Pe8MVdr9ETSEBF7AG8EXgnMBW4E3p6Znx/nfg4GrgP2BRZk5oZWxypJ6k7emGvyeqV54h3AWcBHgCXAVcDFEfEn49zPCuCu1oYmSdJg6PqkISIeC7weeHdmvj8zr8jMVwJXAO8ex35eBvwe8J72RCpJUn/r+qQBOAbYG7ioofwi4EkRcdBYO4iImcAHKZKPO1seoSRJA6AXkobDgfuBxv4H68rnhRX28V7ghsy8sJWBSZI0SHqhI+Qs4M7MzIbyrXXLRxQRTwf+kqJpopKIWAosBZg3b171SCVJ6mNTXtMQEc+NiKzwWF3bBGhMGGrlY73W3sB5wDmZeX3VGDPz/MxclJmLZs+eXXUzSZL6WidqGr4LHFZhvXvL563AzIiIhtqGmXXLR/JaipqIcyPiUWXZfuXzIyLiEZl5d8W4JUkaaFOeNGTmvcAN49hkHbAP8Hh27ddQ68swWg3CQop5Hf63ybJrgGuBI8YRiyRJA6sX+jR8DfgVcBLwtrryk4HrMvPmUbZ9N3BBQ9mxFBNFnUwxSZQkSaqg65OGzPxFRJwDvDki7qaoITgReDZwQv26EXE5cGBmHlJuewMNtRoRMb/88fvOCClJUnVdnzSUzgB2AK/h4WmkX5KZX25Yb09655gkSeopsftIRtVbtGhRrl27ttNhSJI0JSLi6sxc1GxZL0zuJEmSuoBJgyRJqsSkQZIkVWLSIEmSKjFpkCRJlZg0SJKkSpzTQOpDq9ZvZ8WarWzeMcyc6UMsWzyLJQtmdDosST3OpEHqM6vWb2f5lVvYOVzMwbJpxzDLr9wCYOIgaVJsnpD6zIo1Wx9KGGp2Dicr1ox2Q1hJGps1DVKf2bxjeFzlU8HmEqk/WNMg9Zk505tfC4xU3m615pJNO4ZJHm4uWbV+e0fikTRxJg1Sn1m2eBbThmKXsmlDwbLFszoSj80lUv+weULqM7Vq/25pDujG5hJJE2PSIPWhJQtmdE2fgTnTh9jUJEHoVHOJpImzeUJSW3Vbc4mkiTPVl9RW3dZcImniTBoktV03NZdImjibJyRJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVWLSIEmSKjFpkCRJlZg0SJKkSkwaJElSJSYNkiSpEqeRlqQusWr9du/Roa5m0iBJXWDV+u0sv3ILO4cTgE07hll+5RYAEwd1DZsnJKkLrFiz9aGEoWbncLJizdYORSTtzqRBkrrA5h3D4yqXOsGkQZK6wJzpzVuLRyqXOsGkQZK6wLLFs5g2FLuUTRsKli2e1aGIpN2ZwkpSF6h1dnT0hLqZSYMkdYklC2aYJKir2TwhSZIqMWmQJEmVmDRIkqRKTBokSVIlJg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZAkSZWYNEiSpEpMGiRJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVWLSIEmSKjFpkCRJlZg0SJKkSnoiaYiIPSLizRGxMSJ2RsS1EfGicWy/b0ScFRHrI+L+iNgcEV+JiL3bGbckSf1kqNMBVPQO4PXAGcDVwEuBiyPi+Zn5n6NtGBF7AauAg4B3AdcDs4E/AvZsZ9CSJPWTrk8aIuKxFAnDuzPz/WXxFRFxCPBuYNSkAXgd8GTg8My8ra788y0PVpI0KavWb2fFmq1s3jHMnOlDLFs8iyULZnQ6LJV6oXniGGBv4KKG8ouAJ0XEQWNsvwy4uCFhkCR1mVXrt7P8yi1s2jFMApt2DLP8yi2sWr+906Gp1AtJw+HA/cCGhvJ15fPCkTaMiHnAAcBNEfGxiNhe9om4PCKOaE+4kqSJWLFmKzuHc5eyncPJijVbOxSRGvVC0jALuDMzs6F8a93ykTyufH4jcDBFX4g/p+jTsLpMKiRJXWDzjuFxlWvqTXnSEBHPjYis8Fhd2wRoTBhq5WOpHd+9wHGZ+Z+Z+UXgecC+wN+MEOPSiFgbEWu3bNkyvgOUJE3InOnNu9mNVK6p14l34rvAYRXWu7d83grMjIhoqG2YWbd8JL8sn7+TmbX9kZm3RcQNwO812ygzzwfOB1i0aFGzhEWS1GLLFs9i+ZVbdmmimDYULFs8WoWyptKUJw3lyfuGcWyyDtgHeDy79muo9WW4fpRtbwLuY+SaigfHEYckqY1qoyQcPdG9eqHO52vAr4CTgLfVlZ8MXJeZN4+0YWY+EBFfBY6KiP0z8x54qIPkocAl7QtbkjReSxbMMEnoYl2fNGTmLyLiHODNEXE3cA1wIvBs4IT6dSPicuDAzDykrvitwBrgqxHxAWBaWXYn8JEpOARJkvpC1ycNpTOAHcBrgLnAjcBLMvPLDevtScMxZeb1EfFs4D3AZ4EHgCuAF2Tm5nYHLklSv4jdRzKq3qJFi3Lt2rWdDkOSpCkREVdn5qJmy3phngZJktQFTBokSVIlJg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZAkSZWYNEiSpEpMGiRJUiUmDZIkqRKTBkmSVIlJgyRJqsSkQZIkVeKtsccQEVuAWzodRxs9Brij00FMMY95cAzicXvMg6Gdx3xgZs5utsCkYcBFxNqR7pverzzmwTGIx+0xD4ZOHbPNE5IkqRKTBkmSVIlJg87vdAAd4DEPjkE8bo95MHTkmO3TIEmSKrGmQZIkVWLSMGAiYo+IeHNEbIyInRFxbUS8aBzb7xsRZ0XE+oi4PyI2R8RXImLvdsY9GZM95rr9HBwR90ZERsQh7Yi1VSZ6zBExIyLOjIjvRsQvI+LO8ucXTEXcVUTEARHxuYi4KyK2R8QXImJexW2nRcT7IuL2iLgvIr4XEUe1O+bJmugxR8SiiDg/Im4oP7u3RsTKiDhoKuKejMm8zw37eXP5P/vtdsTZSpM95og4LCIujog7ys/3jRHxmlbGaNIweN4BnAV8BFgCXAVcHBF/MtaGEbEXsAr4K+ADwB8By4CfA3u2Kd5WmPAxN1gB3NXa0Npmosc8j+I9/SZwMnAi8FPgixHxN22LtqKI2A/4BvAE4BTgL4AFwBURsX+FXXwCOA04E3g+cDvw9Yg4oj0RT94kj/mlwOHAuRSfgzcBTwbWRsQBbQt6klrwPtf2czBwBvCLdsTZSpM95ohYBHwf2Ad4BfAnFN/Trf1uzkwfA/IAHgvcD7ytofxy4McVtn8TsB04oNPHMlXHXLf+y4DNwGuBBA7p9LG145iB/YH9mpRfDtzaBcf2GuDX9X9/4CBgGPiHMbb93fK9+6u6siHgRuDSTh9bm455dpOyA4EHgbd3+tjaccwN+/k6cB6wGvh2p4+rje/zHsA64IvtjtOahsFyDLA3cFFD+UXAkypUWS4DLs7M29oRXJtM9piJiJnAB4HXA3e2PMLWm/AxZ+Y9mXlvk0Vrgce1LsQJOx64KjM31Aoy82bgO8AJFbZ9APhs3bbDwGeAYyJin9aH2xITPubM3NKk7BZgC/CbLY6zlSbzPgMQES+jqFV5c1sibL3JHPPRwEKK76m2MmkYLIdTXIFuaChfVz4vHGnDsl3tAOCmiPhY2d62MyIu7+aqXSZxzHXeC9yQmRe2MrA2asUxNzoKuGEyQbXI4cB1TcrXMfZxHQ7c3CQpWkeRZHVrP5XJHPNuIuIwitqo/5lkXO00qWMuE/1zgDdk5tYWx9Yukznmp5fP0yLiqoh4ICJ+ERHnRsS+rQzSpGGwzALuzLI+q87WuuUjqV1lvhE4mKKt9M+B2cDqiXRQmiKTOWYi4unAX1LUsvSKSR1zo4hYChwJvKsFsU3WLGBbk/KtwMxJbFtb3o0mc8y7iIgh4KMUNQ2fmHxobTPZY34fRV+cC1oYU7tN5phr38+fBS6j6G/2Xoq+DZ9uVYBg0tDTIuK5Za/gsR6ra5tQtOnutqsKL1f7rNwLHJeZ/5mZXwSeB+wLTEknuak85ihGhJwHnJOZ17fuKMZnit/nxtc+mqIT3YWZuXLCB9FaEz22lv1dOqBVcX8EeBpwcmY2O0F1k4n+3z6DItH/6yaJc7eb7PfzRZl5Zmauzsz3A28DXhARE6ldbGqoVTtSR3wXOKzCerXq2K3AzIiIhn+mmXXLR/LL8vk79dW7mXlbRNwA/F7FmCdrKo/5tRTZ/7kR8aiybL/y+RER8YjMvLti3JMxlcf8kIh4CnApRY/ul1eMtd220bxGYCbNr9LqbaUYHdJs29rybjSZY35IRLwLWAqckpmXtSi2dpnMMZ9HUYvy87r/2yFgz/L3+zLz/pZF2jqTOeba9/N/NZRfBrwbOAJoyYWPSUMPK0/e42lnXkcxHOfx7NreXctCR/tQ3QTcx8iZ8IPjiGPCpviYFwJzgf9tsuwa4FqKf8a2muJjBiAinkTR8/xHwIsy84FxvH47raNo+220kLGPax3wwojYr6Ffw0LgV+zeB6RbTOaYAYiIMyhGP726R/rmTOaYDysfr2qybBvw98CHJhVde0z2sw27fz/Xaila9v1s88Rg+RrFl+NJDeUnA9eVPXWbKk8aXwWeUT9muOzLcCjwg9aH2xITPmaKDP1ZDY/31G3/itaG2jKTOWYiYgHFFctNwPMz8762RDkxlwJHluPvAYiI+cAflsvG2nYv4MV12w5RzEVxWZdefcLkjpmIeDXwTuCMzPxwm2Jstckcc+P/7LMoEvzryp8/1/pwW2Iyx7yKovPzsQ3lx5TPa1sTIs7TMGgPihPhTuAfKIbp/CtFFnpcw3qXAxsayhYCOyjGPB9H8eV7HcX8BXM6fWztOOYm+zqVLp+nYTLHTNGrfiNFVf3zKDpA1j/26fBx7U9RI/ATimFox1OcEG4CptetdyDF+PYzG7b/DMXV5iuA51CcQHYCT+70e9aOY6bosPwgxUml8b1c2Olja9f73GR/q+n+eRom+9l+a1m+HHguRc3SfcAFLY2z038oH1P7oJgd7C3ALRSZ6Y+BP2uy3mpgY5PyxcAVFO3ndwFf6oET6KSOuWGdU+mNpGFCx0yRYOQoj/ldcGzzgM9TTDR2d/kZnN+wzvwy3rMayvelGMu+iSJZ+D5wdKePqV3HTDF6YKT3cnWnj6td73OTfa2my5OGyR4zRVPEP1AkHr8q//ffDuzVyhi9y6UkSarEPg2SJKkSkwZJklSJSYMkSarEpEGSJFVi0iBJkioxaZAkSZWYNEg9KiL+v4jYGhFzG8r3jIi1EbG+1bfFnayIOCsisu73R5VlT26y7uq6m3BNqYj4/Yi4NyJ+s0X7+71yf916N1ipEudpkHpURDwW+B/gm5n5p3Xlb6S4jfWzMvObnYqvmYj4LeC3MvOq8vf5wM3AaZn58YZ1FwJkB+4wGhHfAK7PzL9t4T4vobhl+Smt2qc01axpkHpUZv6C4uY7L4yIFwNExG8DZwHndVvCAJCZP68lDBXWvb5DCcOTKe5R8K8t3vV5wMsi4nEt3q80ZUwapB6WmZ+iuEHVRyJiNsUtgbcAb6yyfdkE8O2IOCEirouI+yPihoh4SZN1j42I70XEfRFxV0R8KSIObVjnmIj4brl8R0TcGBFn1i1/qHmirpYB4GMRkeXj1LrYVjfs/9CI+GJE3FnGcVVEHNuwzlnlfhZExFfLOG6JiDMjosp33mnAjzNzXX1hRGyMiIsi4i/K47ovIr5Vvs7+EXFeRPwyIjZHxAfKm2HVu4xieuBTK8QgdSWTBqn3vRLYD7gKeDrwqszcPo7tDwHOBT4A/CnF3PWfiYhn1VYoT8xfpbhh2YnAXwNPBL5da/cv7853KUUicCLFDXc+SHEjnmZuL18PiuaUp5aPrzZbubxC/zbwu8DfAi8B7gS+GhFLmmzyReAbwAso5vB/G1ClaeBY4FsjLDsKWEaRlJ1CcfvxzwMrKe4V8FLgfIp7ACyt3zAzh4HvsfudCKXe0ekbdPjw4WPyD4qTbgKfH+d2q8vtjqwr2xO4AfhWXdlaYD0wVFd2EPAA8MHy9z8r9zVjlNc7q/jaeej3+eU2rxghttV1v7+f4i5+hzTEeiNwTeNrAH/VsL+fUNwCe7S/x5xy29OaLNtIcffPR9aVvbpc/+MN614DXNFkH++guFHWHp3+zPjwMZGHNQ1Sj4uIGcBfUJy8nhIRj2hYHhExVP9o2MVtWdfPIDN/DVwMLI6IPSJif+DJwGezuFqurXcz8B3gmWXRjyiSiM9ExJ+VHTVb6Sjgqszc0BDrfwBHlH+Heo01FtdR3EVwNLX+BltGWP69zLyr7vcbyuevN6x3A3BAk+23APsAs8aIQ+pKJg1S73sfMBN4HvBYilqHes+kOJnXP+ptbrLPzcDewOxy30HRnNBoE+UJsDyZH0PxvXIhsCkivh8Rz2yy3UTMGiWGKOOst7Xh9/uBaWO8Rm35/SMs39bw+69GKW/2WveVz101FFaqyqRB6mHlCfk04C2ZuQp4J7AsIp5Wt9rVwFMaHvXmNNn1HIoT3xaKE2ICc5usNxf4Ze2XzLwiM48FHgU8lyJB+WpEPGb8R7ebraPEkOyeJExE7VgaE5BWqdUw3NGmEdg2KQAAAlJJREFU/UttZdIg9ahy4qaPAz8A/rksfg9FNfzHI2JvgMy8OzPX1j8adnVARBxZt989gRcDazLzwcy85/9v5/5BqwiCOI5/f2hhKVilkBhFU6QNKhIQ0sZUIhqxELQQQWxEBTGFjX8aGwt7RUwQQbQQIorprETEzsJCHlhYiIWo4FjMPjg0Zxa8mDz8fdqbN2+vm9vdGbLwOFCe9eOGgT3Ab62dEfE1Ip4C18iLkCMtr9H/oq/58n4O7C5dF821HgReRsTnihzLeUfeOdjaQa6ljJDHQV+WjTRbg1w0mA2uS8AweYnwB0BEfAeOAaPAhco8H4A5SUclTQEPgB3AbCPmIrAdeCRpWtIMsAB8IrsukHRC0h1JRyTtlbS/5OiRhUzbf38EDpXfjEva1BJ7neyWWJB0WNI+4GFZa+27/lFEfANeADu7yLeEXcDiCuU2W3EuGswGkKRxcrDTlYh43XwWEf2dh/OSxirSvQVOAWeA+2RxMBMRzxo5H5N3JjYC88BNchrlRET0StgrclfhMjmT4AbZfjnZ9mVdip3j5HHAE3LXZLoltke2lL4hBy/dI7f7p8r6ujIHTJYLoJ2RtJlsF73bZV6zf8ljpM3+Y2V40vqImFjttawVpQvjPXAyIm53mPccOd9iW+n6MBs43mkwM2uIHIx1FTgrSV3klLQBOA3MumCwQfZrv7aZmeUky3XAEHkn429tIY+MbnWQy2zV+HjCzMzMqvh4wszMzKq4aDAzM7MqLhrMzMysiosGMzMzq+KiwczMzKq4aDAzM7MqPwHo3jTFVMSpzwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#Plot for actual X&Y landing coordinates, and the average landing position\n",
"plt.figure(figsize=(8,8))\n",
"plt.scatter(x, y, color='#3498db')\n",
"plt.scatter(x_mean, y_mean, color='#000000')\n",
"#Returns\n",
"plt.title('Paper Throw Locations (m)')\n",
"plt.xlabel('X-position (m)')\n",
"plt.ylabel('Y-position (m)');"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The first quartile for X-position is -0.16854422326722185\n",
"The first quartile for Y-position is -0.21785495681409592\n",
"The second quartile for X-position is 0.028452517775170515\n",
"The second quartile for Y-position is -0.070851135369002\n",
"The third quartile for X-position is 0.1670894539891312\n",
"The third quartile for Y-position is 0.13222390283592378\n"
]
}
],
"source": [
"#First, Second, and Third Quartiles for X and Y positions\n",
"quartiles_x = np.percentile(x, q=[25, 50, 75])\n",
"quartiles_y = np.percentile(y, q=[25, 50, 75])\n",
"#Returns\n",
"print('The first quartile for X-position is {}'.format(quartiles_x[0]))\n",
"print('The first quartile for Y-position is {}'.format(quartiles_y[0]))\n",
"print('The second quartile for X-position is {}'.format(quartiles_x[1]))\n",
"print('The second quartile for Y-position is {}'.format(quartiles_y[1]))\n",
"print('The third quartile for X-position is {}'.format(quartiles_x[2]))\n",
"print('The third quartile for Y-position is {}'.format(quartiles_y[2]))"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Horizontal Throw Distribution')"
]
},
"execution_count": 54,
"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": [
"#Distributuion of X-coordinates of Throws\n",
"plt.hist(x)\n",
"plt.title('Horizontal Throw Distribution')"
]
},
{
"cell_type": "code",
"execution_count": 55,
"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": [
"#Plots the First, Second, and Third Quartiles for X position on a Box-plot\n",
"plt.title(\"Horizontal Throw Locations (m)\")\n",
"plt.boxplot(x, labels = [\"X-position (m)\"], vert=False);"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Vertical Throw Distribution')"
]
},
"execution_count": 56,
"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": [
"#Distributuion of Y-coordinates of Throws\n",
"plt.hist(y)\n",
"plt.title('Vertical Throw Distribution')"
]
},
{
"cell_type": "code",
"execution_count": 22,
"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": [
"#Plots the First, Second, and Third Quartiles for Y position on a Box-plot\n",
"plt.title(\"Vertical Throw Location (m)\")\n",
"plt.boxplot(y, labels = [\"Y-position (m)\"]);"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"#Given Data\n",
"d = 3 #distance to target\n",
"g = 9.81 #Gravity\n",
"z_i = .3 #initial height(m)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"def robot_throw(v_i,angle, d=3, z_i=.3):\n",
" '''\n",
" Program that calculates the vertical location of robot arm throws at speeds between 4 m/s and 12 m/s\n",
" \n",
" Inputs-------\n",
" \n",
" v_i - initial throw velocity (m/s)\n",
" angle - angle robot arm makes before throw (theta)\n",
" d - distance from target (m)\n",
" z_i - initial throwing height of robot (m)\n",
" \n",
" Outputs-------\n",
" \n",
" z_robot - z location of throw by the robot (m)\n",
" '''\n",
" z_robot = (d/np.cos(angle))*(np.sin(angle)-(g/(2*(v_i**2)*np.cos(angle))*d))+z_i\n",
" return z_robot\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"N = 1000 #simulated throws\n",
"robot_vel = np.random.rand(N) #Generates Random numbers for velocity with random distribution\n",
"v_i = robot_vel*8+4 #scales random numbers to be between min. 8 and max. 12.\n",
"robot_theta = np.random.rand(N)\n",
"angle = robot_theta*(np.pi/12) #Scales random numbers to be between min. 0 and max. pi/12 (0 - 15 degrees)"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Robot Throw Distribution')"
]
},
"execution_count": 89,
"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": [
"sim_throws = robot_throw(v_i, angle)\n",
"plt.hist(sim_throws, bins=50)\n",
"plt.title('Robot Throw Distribution')"
]
},
{
"cell_type": "code",
"execution_count": 85,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The average Z-position for the robot throws is: -0.2376032830916044 (m) With a standard deviation of: 0.6670926853495889\n"
]
}
],
"source": [
"sim_avg = np.mean(sim_throws)\n",
"sim_std = np.std(sim_throws)\n",
"print('The average Z-position for the robot throws is:', sim_avg, '(m)', \"With a standard deviation of:\", sim_std)\n"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {},
"outputs": [],
"source": [
"v_new = np.random.normal(8, .75, size=N)\n",
"angle_new = np.random.normal(np.pi/12, .1, size=N)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Robot Throw Distribution')"
]
},
"execution_count": 87,
"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": [
"sim_throws_new = robot_throw(v_new, angle_new)\n",
"plt.hist(sim_throws_new, bins=50)\n",
"plt.title('Robot Throw Distribution')"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The new average Z-position for the robot throws is: 0.3743218163107398 (m) With a standard deviation of: 0.289434169337307\n"
]
}
],
"source": [
"sim_avg_new = np.mean(sim_throws_new)\n",
"sim_std_new = np.std(sim_throws_new)\n",
"print('The new average Z-position for the robot throws is:', sim_avg_new, '(m)', \"With a standard deviation of:\", sim_std_new)\n"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'The first time the Robot throwing simulation program was ran the input values for initial velocity and angle were randomly generated with a random distribution. These truly random variables skewed the data to the left, causing an uneven plot and an unaccurate representation of the actual experiment. This is reflected in the standard deviation of the robot throws which is almost double that of the class data. To midigate this affect I ran the robot throwing program again using random data with a normal distribution, which resulted in a distribution similar to the class data and a standard deviation close to that of the class data. To achieve this with the new random data I used a normal distribution with a 0.75 m/s variance for the initial velocity and 0.1 radian variance for the throwing angle, which makes the data less random, but a better representation of what I am trying to model'"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"'The first time the Robot throwing simulation program was ran the input values for initial velocity and angle were randomly generated with a random distribution. These truly random variables skewed the data to the left, causing an uneven plot and an unaccurate representation of the actual experiment. This is reflected in the standard deviation of the robot throws which is almost double that of the class data. To midigate this affect I ran the robot throwing program again using random data with a normal distribution, which resulted in a distribution similar to the class data and a standard deviation close to that of the class data. To achieve this with the new random data I used a normal distribution with a 0.75 m/s variance for the initial velocity and 0.1 radian variance for the throwing angle, which makes the data less random, but a better representation of what I am trying to model'"
]
},
{
"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
}