diff --git a/02_Analyze-data_project.ipynb b/02_Analyze-data_project.ipynb index 464b480..415f4fb 100644 --- a/02_Analyze-data_project.ipynb +++ b/02_Analyze-data_project.ipynb @@ -4,7 +4,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Computational Mechanics Project #02 - Create specifications for a projectile robot\n", + "# Computational Mechanics Project #02 - Create specifications for a my 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", @@ -93,812 +93,7 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
throw #x position (m)y position (m)picture x position (pixel)picture y position (pixel)target x position (pixel)target y position (pixel)image #
00-0.466403-0.3040001260.855114990.5994322055.1692561508.3310471
11-0.206978-0.4481261702.673295745.1448862055.1692561508.3310471
22-0.091677-0.4577341899.036932728.7812502055.1692561508.3310471
330.153336-0.5105802316.309659638.7812502055.1692561508.3310471
440.364720-0.5970552676.309659491.5085232055.1692561508.3310471
55-0.120502-0.2271331849.9460231121.5085232055.1692561508.3310471
66-0.091677-0.2559591899.0369321072.4176142055.1692561508.3310471
77-0.096482-0.1790921890.8551141203.3267052055.1692561508.3310471
88-0.192565-0.0445751727.2187501432.4176142055.1692561508.3310471
99-0.082069-0.0253581915.4005681465.1448862055.1692561508.3310471
10100.162944-0.3136092332.673295974.2357952055.1692561508.3310471
11110.249419-0.3328252479.946023941.5085232055.1692561508.3310471
12120.441586-0.3712592807.218750876.0539772055.1692561508.3310471
13130.038035-0.0061412119.9460231497.8721592055.1692561508.3310471
14140.076469-0.0589872185.4005681407.8721592055.1692561508.3310471
15150.134119-0.0734002283.5823861383.3267052055.1692561508.3310471
16160.134119-0.1598752283.5823861236.0539772055.1692561508.3310471
17170.162944-0.0205542332.6732951473.3267052055.1692561508.3310471
18180.278244-0.0734002529.0369321383.3267052055.1692561508.3310471
19190.302265-0.0974212569.9460231342.4176142055.1692561508.3310471
20200.2109860.0947472414.4914771669.6903412055.1692561508.3310471
21210.3310900.1572012619.0369321776.0539772055.1692561508.3310471
22220.1149020.2244592250.8551141890.5994322055.1692561508.3310471
23230.1341190.3397602283.5823862086.9630682055.1692561508.3310471
2424-0.1541320.1860261792.6732951825.1448862055.1692561508.3310471
2525-0.1733480.1572011759.9460231776.0539772055.1692561508.3310471
2626-0.3078650.1427881530.8551141751.5085232055.1692561508.3310471
2727-0.3126700.3733891522.6732952144.2357952055.1692561508.3310471
2828-0.4904240.3974101219.9460232185.1448862055.1692561508.3310471
2929-0.7114160.334955843.5823862078.7812502055.1692561508.3310471
3030-0.291312-0.1271981412.2187501254.9744322019.2615561520.0319722
3131-0.126406-0.3038841755.855114886.7926142019.2615561520.0319722
3232-0.197080-0.1586091608.5823861189.5198862019.2615561520.0319722
3333-0.232417-0.0761551534.9460231361.3380682019.2615561520.0319722
3434-0.118553-0.0447441772.2187501426.7926142019.2615561520.0319722
3535-0.071437-0.1075661870.4005681295.8835232019.2615561520.0319722
3636-0.043952-0.1900201927.6732951124.0653412019.2615561520.0319722
37370.011017-0.1468302042.2187501214.0653412019.2615561520.0319722
38380.038501-0.3156632099.491477862.2471592019.2615561520.0319722
39390.093470-0.1311242214.0369321246.7926142019.2615561520.0319722
40400.168071-0.1703882369.4914771164.9744322019.2615561520.0319722
41410.226966-0.2449882492.2187501009.5198862019.2615561520.0319722
42420.603896-0.3195893277.673295854.0653412019.2615561520.0319722
43430.305493-0.0133342655.8551141492.2471592019.2615561520.0319722
44440.195556-0.0683032426.7642051377.7017052019.2615561520.0319722
45450.117028-0.0368922263.1278411443.1562502019.2615561520.0319722
46460.0188700.0887522058.5823861704.9744322019.2615561520.0319722
47470.1641450.1005312361.3096591729.5198862019.2615561520.0319722
48480.2897880.1672792623.1278411868.6107952019.2615561520.0319722
49490.5253690.0691203114.0369321664.0653412019.2615561520.0319722
5050-0.1264060.3635961755.8551142277.7017052019.2615561520.0319722
5151-0.2441960.4028601510.4005682359.5198862019.2615561520.0319722
5252-0.2127850.5638401575.8551142694.9744322019.2615561520.0319722
5353-0.2324170.2889961534.9460232122.2471592019.2615561520.0319722
\n", - "
" - ], - "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": 1, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -912,8 +107,7 @@ "rcParams['font.size'] = 16\n", "rcParams['lines.linewidth'] = 3\n", "\n", - "target_data = pd.read_csv(\"../data/target_data.csv\")\n", - "target_data" + "target_data = pd.read_csv(\"../data/target_data.csv\")" ] }, {