223 lines
73 KiB
Plaintext
223 lines
73 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"from matplotlib import pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import json\n",
|
|
"from robot import arena"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"poses_raw_data = \"\"\"\n",
|
|
"Received data: {\"poses\": [[752, 337], [478, 1118], [409, 1128], [1129, 782], [1360, 930], [585, 936], [298, 186], [1057, 316], [848, 877], [1245, 1329], [138, 113], [1292, 512], [1115, 1467], [737, 1358], [1001, 1397], [1319, 781], [203, 892], [1347, 137], [616, 1330], [1472, 1045]]}\n",
|
|
"Received data: {\"poses\": [[951, 912], [1180, 918], [717, 704], [1265, 912], [765, 1214], [118, 847], [689, 1284], [390, 860], [785, 1067], [1291, 943], [534, 223], [824, 371], [866, 416], [313, 581], [794, 843], [757, 1353], [1281, 61], [666, 1351], [435, 13], [665, 315]]}\n",
|
|
"Received data: {\"poses\": [[506, 333], [1159, 536], [1529, 374], [142, 980], [278, 756], [38, 887], [483, 465], [212, 231], [1158, 495], [577, 1311], [527, 180], [668, 1191], [315, 415], [371, 928], [372, 1003], [1488, 969], [643, 520], [427, 1018], [720, 793], [1252, 744]]}\n",
|
|
"Received data: {\"poses\": [[842, 958], [-58, 1181], [1056, 277], [221, 564], [423, 186], [1384, 1207], [1317, 110], [1120, 399], [1063, 123], [1307, 1172], [794, 433], [1500, 1208], [999, 444], [1395, 336], [639, 1319], [670, 1586], [894, 801], [54, 241], [626, 403], [1181, 260]]}\n",
|
|
"Received data: {\"poses\": [[946, 1358], [733, 232], [42, 1229], [-194, 1268], [183, 776], [1569, 252], [-168, -188], [914, 1090], [1434, 980], [717, 966], [488, 2], [745, 1419], [494, 758], [426, 1237], [822, 1506], [386, 738], [1426, -194], [1381, 344], [885, 343], [162, 400]]}\n",
|
|
"Received data: {\"poses\": [[1589, 898], [1142, 1275], [1232, 1635], [25, 1042], [107, 350], [-116, 831], [886, 378], [1397, 1152], [870, 1125], [772, 1335], [521, 948], [1192, -222], [1514, 370], [1626, 805], [248, 958], [605, 134], [458, 1212], [225, 95], [192, 49], [1011, 1697]]}\n",
|
|
"Received data: {\"poses\": [[1365, 687], [1478, 550], [963, 1105], [1199, 449], [1228, 1248], [-244, 1138], [1152, 1300], [415, 1331], [302, 1085], [1505, 1357], [222, 578], [965, -73], [1300, 599], [-91, 352], [1261, 949], [1210, 1495], [1321, 529], [844, 916], [315, -446], [227, 149]]}\n",
|
|
"Received data: {\"poses\": [[323, 1202], [437, 315], [1300, 1717], [1279, -448], [485, 906], [713, 1072], [962, 665], [435, 44], [814, -187], [1679, 781], [234, 125], [-4, 1022], [511, 433], [780, 243], [828, 77], [1356, 444], [1344, 804], [741, 223], [745, 41], [-190, -196]]}\n",
|
|
"Received data: {\"poses\": [[1838, 1041], [1183, 1562], [1249, 1922], [-89, 773], [151, 68], [-354, 671], [1169, 445], [1431, 1438], [583, 1102], [610, 1571], [719, 733], [954, -382], [1664, 119], [1757, 1057], [-18, 1068], [882, 52], [433, 1498], [82, -156], [96, -225], [939, 1976]]}\n",
|
|
"Received data: {\"poses\": [[2, 230], [-186, 775], [356, 1875], [1117, 32], [2061, 636], [352, 1648], [632, 866], [1581, 843], [1398, 362], [572, 1662], [-497, 531], [800, 1076], [1490, 819], [515, 647], [359, 1006], [1430, 1528], [-362, 1375], [2050, 393], [89, 1864], [1902, 429]]}\n",
|
|
"Received data: {\"poses\": [[374, 1290], [1241, -21], [-14, 1800], [-747, 1431], [508, 311], [2120, 107], [-599, -548], [349, 1116], [1931, 725], [1228, 1216], [187, -473], [793, 1984], [741, 1274], [500, 1798], [1391, 1545], [-174, 615], [1397, -760], [1748, 773], [787, 906], [-301, 735]]}\n",
|
|
"Received data: {\"poses\": [[1129, -236], [1592, 1263], [2254, -74], [-277, 1702], [789, 80], [-323, 1639], [37, 1193], [-294, 893], [1246, 1337], [549, 457], [1147, -383], [629, 2048], [736, -316], [-220, 1543], [1204, 1152], [2238, 1374], [1100, -210], [310, 178], [5, 354], [1725, 42]]}\n",
|
|
"Received data: {\"poses\": [[1136, -239], [1593, 1270], [2261, -76], [-283, 1706], [795, 77], [-328, 1643], [32, 1197], [-299, 896], [1244, 1344], [551, 450], [1153, -385], [625, 2055], [741, -320], [-226, 1546], [1209, 1156], [2242, 1379], [1105, -214], [312, 172], [1, 349], [1731, 38]]}\n",
|
|
"Received data: {\"poses\": [[1169, -642], [1629, 292], [557, 260], [1581, 1188], [273, -718], [1246, 975], [1445, -454], [1218, 1211], [-378, 2194], [1306, 759], [1048, 1724], [1698, -175], [1076, 798], [1333, 557], [1756, 1211], [1128, 10], [-23, 532], [611, 1882], [2346, 591], [204, -273]]}\n",
|
|
"Received data: {\"poses\": [[281, 1282], [1324, -66], [-23, 1895], [-834, 1460], [557, 234], [2208, 82], [-668, -609], [254, 1120], [2011, 680], [1315, 1258], [134, -549], [801, 2078], [783, 1358], [516, 1892], [1486, 1551], [-263, 598], [1390, -853], [1811, 847], [770, 997], [-376, 794]]}\n",
|
|
"Received data: {\"poses\": [[2004, 1131], [1214, 1755], [1261, 2120], [-169, 593], [182, -120], [-519, 564], [1358, 479], [1458, 1632], [391, 1085], [504, 1731], [850, 586], [788, -492], [1759, -43], [1846, 1238], [-201, 1139], [1068, -2], [423, 1700], [-13, -325], [30, -406], [895, 2169]]}\n",
|
|
"Received data: {\"poses\": [[1701, 494], [1683, 239], [1177, 1417], [1127, 69], [1594, 1243], [-517, 1400], [1526, 1282], [450, 1712], [-77, 1121], [1706, 1676], [-6, 885], [1052, -443], [1659, 724], [-432, 186], [1639, 997], [1581, 1573], [1377, 899], [964, 567], [192, -809], [-144, 47]]}\n",
|
|
"Received data: {\"poses\": [[-97, 226], [-280, 738], [352, 1967], [1108, -71], [2141, 589], [327, 1736], [681, 949], [1655, 906], [1463, 287], [492, 1707], [-571, 589], [743, 1150], [1530, 732], [483, 560], [266, 964], [1446, 1616], [-434, 1447], [2149, 421], [26, 1937], [1948, 348]]}\n",
|
|
"Received data: {\"poses\": [[1814, 516], [-209, 1097], [612, -725], [516, 100], [649, 1583], [1668, 1423], [2310, 1114], [-789, 1326], [237, 1109], [1799, 727], [2266, 807], [-393, -475], [245, -381], [183, 473], [925, 1075], [1549, 398], [-611, -166], [805, 1814], [2239, -216], [317, 71]]}\n",
|
|
"Received data: {\"poses\": [[282, 1449], [1225, -205], [140, 1890], [-776, 1615], [413, 163], [2149, -69], [-773, -478], [277, 1285], [1914, 548], [1367, 1095], [4, -445], [961, 2044], [926, 1272], [672, 1850], [1473, 1385], [-282, 766], [1222, -824], [1919, 723], [940, 1001], [-260, 914]]}\n",
|
|
"Received data: {\"poses\": [[14, 2120], [911, 2216], [1491, 873], [932, 1715], [802, -318], [477, 1926], [1720, 2098], [315, 1452], [941, 526], [1842, 1385], [795, -120], [381, 383], [-423, 749], [-329, 375], [-563, -90], [1108, 1358], [1237, 602], [690, -206], [1698, 597], [-238, 962]]}\n",
|
|
"Received data: {\"poses\": [[2312, 886], [1601, 1823], [1635, 2229], [-563, 609], [-164, -301], [-823, 806], [1572, 153], [1837, 1727], [231, 1438], [720, 2047], [703, 229], [456, -284], [1532, -362], [2233, 1195], [-173, 1530], [1111, -391], [767, 1893], [-399, -251], [-366, -414], [1186, 2417]]}\n",
|
|
"Received data: {\"poses\": [[909, -628], [2015, 1121], [2103, -489], [78, 1989], [503, -267], [47, 1898], [379, 1485], [-21, 1238], [1686, 1359], [98, 398], [892, -758], [1077, 2167], [415, -614], [47, 1897], [1384, 735], [2525, 1029], [763, -520], [-143, 155], [-300, 679], [1393, -272]]}\n",
|
|
"Received data: {\"poses\": [[2466, 759], [1798, 1847], [1824, 2277], [-763, 625], [-336, -388], [-977, 938], [1677, -17], [2030, 1771], [154, 1621], [842, 2202], [618, 47], [292, -174], [1411, -523], [2435, 1165], [-150, 1729], [1129, -589], [942, 1982], [-597, -204], [-564, -414], [1343, 2538]]}\n",
|
|
"Received data: {\"poses\": [[2537, 699], [1893, 1853], [1917, 2298], [-853, 634], [-419, -426], [-1045, 1000], [1723, -96], [2123, 1789], [119, 1706], [903, 2274], [576, -36], [214, -120], [1352, -595], [2531, 1147], [-138, 1823], [1134, -682], [1026, 2023], [-688, -179], [-655, -413], [1418, 2591]]}\n",
|
|
"Received data: {\"poses\": [[1521, -261], [1244, -399], [1952, 1239], [344, 1], [1882, 520], [-205, 2136], [1726, 522], [1210, 1857], [-251, 1875], [2477, 1559], [400, 1563], [399, -880], [2161, 120], [-988, 748], [1994, 295], [2051, 928], [2148, 1034], [407, 19], [-587, -840], [-631, 674]]}\n",
|
|
"Received data: {\"poses\": [[-15, 2068], [1130, -889], [755, 2176], [-872, 2294], [7, -395], [2220, -763], [-1401, -192], [44, 1927], [1815, -131], [1846, 603], [-679, -299], [1621, 2237], [1611, 1228], [1342, 1987], [1743, 750], [-653, 1345], [563, -1006], [2554, 478], [1541, 1325], [-47, 1575]]}\n",
|
|
"Received data: {\"poses\": [[2097, -310], [398, 1734], [-42, -1306], [12, -626], [1506, 1818], [2254, 757], [2560, 275], [-910, 2212], [617, 1910], [2518, 207], [2739, 56], [-1192, -115], [-593, -86], [111, 1352], [1415, 1802], [1821, -453], [-1282, 398], [1573, 2254], [2200, -1092], [-538, 206]]}\n",
|
|
"Received data: {\"poses\": [[47, 2372], [-664, -223], [2425, 1304], [128, -814], [991, 1994], [1371, 37], [1741, -245], [-199, 1064], [-50, 633], [2802, 340], [-511, -824], [-309, 2216], [80, -722], [-146, 1033], [1154, -1076], [1415, -758], [390, 56], [42, 1209], [1153, -1102], [-1369, 28]]}\n",
|
|
"Received data: {\"poses\": [[-121, 2353], [1058, -1178], [1046, 2270], [-887, 2602], [-192, -622], [2221, -1067], [-1665, -41], [-37, 2222], [1737, -425], [2023, 363], [-967, -210], [1920, 2283], [1908, 1179], [1635, 2029], [1831, 454], [-790, 1622], [276, -1057], [2823, 342], [1825, 1432], [67, 1852]]}\n",
|
|
"Received data: {\"poses\": [[2170, -608], [639, 1922], [-292, -1472], [-196, -851], [1808, 1862], [2422, 505], [2619, -24], [-911, 2521], [783, 2170], [2746, -3], [2869, -214], [-1443, 47], [-863, 47], [126, 1656], [1613, 2034], [1869, -761], [-1478, 624], [1850, 2371], [2143, -1393], [-833, 284]]}\n",
|
|
"Received data: {\"poses\": [[1315, -810], [842, -827], [2505, 1014], [-249, 34], [2037, -53], [104, 2652], [1791, -76], [1799, 1871], [-319, 2468], [3054, 1402], [776, 2020], [-131, -1153], [2442, -399], [-1326, 1231], [2189, -260], [2348, 407], [2745, 1030], [-82, -307], [-1167, -763], [-935, 1175]]}\n",
|
|
"Received data: {\"poses\": [[862, 2955], [2066, 1949], [2685, 873], [1944, 1108], [421, -1459], [426, 3103], [2908, 1987], [763, 2547], [984, -666], [2756, 621], [-404, -130], [-639, -255], [-1353, 1485], [-1253, 1120], [-1520, 630], [2099, 684], [700, -467], [-484, -328], [2600, -170], [78, 2108]]}\n",
|
|
"Received data: {\"poses\": [[1232, -992], [698, -962], [2680, 929], [-447, 59], [2074, -248], [214, 2815], [1801, -273], [1995, 1858], [-332, 2664], [3237, 1340], [914, 2161], [-312, -1228], [2515, -577], [-1422, 1405], [2241, -453], [2434, 227], [2946, 1014], [-251, -401], [-1366, -723], [-1029, 1354]]}\n",
|
|
"Received data: {\"poses\": [[3164, 49], [2802, 1854], [2809, 2404], [-1742, 783], [-1264, -744], [-1649, 1672], [2123, -896], [3022, 1862], [-134, 2578], [1553, 2898], [71, -782], [-470, 464], [712, -1232], [3385, 897], [82, 2690], [1101, -1586], [1877, 2291], [-1524, 135], [-1539, -301], [2200, 3034]]}\n",
|
|
"Received data: {\"poses\": [[3164, 48], [2802, 1854], [2809, 2403], [-1742, 784], [-1265, -744], [-1649, 1672], [2122, -896], [3022, 1861], [-133, 2578], [1553, 2898], [71, -782], [-469, 464], [712, -1231], [3385, 896], [83, 2690], [1101, -1586], [1877, 2290], [-1524, 135], [-1539, -301], [2200, 3034]]}\n",
|
|
"Received data: {\"poses\": [[935, 3015], [2156, 1917], [2782, 865], [2024, 1046], [382, -1549], [432, 3200], [3004, 1969], [810, 2633], [978, -760], [2821, 544], [-500, -118], [-726, -298], [-1425, 1553], [-1325, 1184], [-1590, 696], [2173, 620], [647, -549], [-581, -329], [2667, -241], [117, 2200]]}\n",
|
|
"Received data: {\"poses\": [[2200, -806], [811, 2042], [-468, -1566], [-351, -993], [2014, 1879], [2521, 323], [2645, -230], [-895, 2729], [906, 2326], [2887, -157], [2937, -410], [-1602, 169], [-1041, 162], [160, 1859], [1762, 2172], [1879, -966], [-1601, 796], [2043, 2436], [2084, -1584], [-1025, 349]]}\n",
|
|
"Received data: {\"poses\": [[3024, 196], [2604, 1837], [2611, 2359], [-1548, 756], [-1078, -659], [-1518, 1526], [2026, -719], [2825, 1836], [-65, 2392], [1415, 2753], [176, -614], [-321, 334], [849, -1087], [3188, 946], [30, 2498], [1106, -1384], [1685, 2235], [-1334, 75], [-1339, -326], [2027, 2929]]}\n",
|
|
"Received data: {\"poses\": [[1390, 2455], [-1238, 2240], [1093, 1914], [-1346, 827], [783, -1404], [548, -131], [-241, 643], [1774, -1014], [-91, -991], [2721, 1936], [-62, -890], [2968, 629], [2567, 727], [87, -686], [-908, 1757], [1721, 2785], [-489, 119], [-1270, 1119], [-344, -884], [506, -1163]]}\n",
|
|
"Received data: {\"poses\": [[233, -1325], [877, -568], [7, 1238], [1720, 40], [-697, -1298], [1473, -159], [457, -1083], [1765, 217], [516, 2924], [610, -155], [2047, 1193], [641, -630], [358, -128], [523, -254], [2541, 391], [7, -187], [-374, 1609], [1151, 2913], [2593, -524], [-652, 483]]}\n",
|
|
"\"\"\""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"41"
|
|
]
|
|
},
|
|
"execution_count": 7,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"poses_lines = poses_raw_data.split(\"\\n\")\n",
|
|
"poses_lines = [line.replace(\"Received data: \", \"\") for line in poses_lines if line]\n",
|
|
"len(poses_lines)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([752, 337])"
|
|
]
|
|
},
|
|
"execution_count": 8,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"poses_dicts = [json.loads(line) for line in poses_lines]\n",
|
|
"poses_over_time = np.array([poses_dict[\"poses\"] for poses_dict in poses_dicts])\n",
|
|
"# ThreeD array = time, pose number, [x, y]\n",
|
|
"poses_over_time[0,0]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjAAAAGdCAYAAAAMm0nCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/av/WaAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA24klEQVR4nO3df3RU5YH/8c9MQhJImAmBZiajQbOuB4lQyw/B+Ou7u0SCUrqutF1spFQ5slJQEUuR0wKlrQVx1x9YheppxXPAH/Uc0cKpsSmwoG1MMBghxCJts4KSSaoxM0loQsg83z9orgwJkOBMZu7k/TrnnsPc++TO88Qx9zP3+XEdxhgjAAAAG3HGugIAAAB9RYABAAC2Q4ABAAC2Q4ABAAC2Q4ABAAC2Q4ABAAC2Q4ABAAC2Q4ABAAC2kxzrCkRLKBTS0aNHNXToUDkcjlhXBwAA9IIxRs3NzfL5fHI6z3yfJWEDzNGjR5WbmxvragAAgPNw5MgRXXjhhWc8nrABZujQoZJO/gJcLleMawMAAHojGAwqNzfXuo6fScIGmK5uI5fLRYABAMBmzjX8g0G8AADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdggwAADAdhL2WUjREAqF9Mknn0iShgwZcs7nNAAAkGiMMTp27JgkacSIEXI6Y3MvhADTB5988ok8Hk+sqwEAQFyor69XdnZ2TN6bLiQAAGA73IHpgyFDhlj/rq+vV3p6egxrAwBA/2ttbbV6I069LvY3AkwfnDrmJT09nQADABjQYjkWlAADAIi6zpBRRW2jGprblD00TZPyspTkZCIEzh8BBgAQVSXVdVq1tUZ1gTZrX447TStn5GvamJwY1gx2xiBeAEDUlFTXaf6mvWHhRZL8gTbN37RXJdV1MaoZ7I4AAwCIis6Q0aqtNTI9HOvat2prjTpDPZUAzo4AAwCIioraxm53Xk5lJNUF2lRR29h/lULCIMAAAKKiofnM4eV8ygGnIsAAAKIie2haRMsBpyLAAACiYlJelnLcaTrTZGmHTs5GmpSX1Z/VQoIgwAAAoiLJ6dDKGfmS1C3EdL1eOSOf9WBwXggwAIComTYmR+tvGy+vO7ybyOtO0/rbxrMODM4bC9kBAKJq2pgc3ZDvZSVeRBQBBgAQdUlOhwouGR7raiCB0IUEAABshwADAABshwADAABshwADAABsp88BZvfu3ZoxY4Z8Pp8cDodeffXVM5a966675HA49Nhjj4Xtb2xsVHFxsVwulzIzMzV37ly1tLSEldm3b5+uu+46paWlKTc3V2vXru1rVQFgQOsMGZX95VO9VvWxyv7yKQ9NRELp8yyk1tZWXXHFFbrjjjt0yy23nLHcli1b9Pbbb8vn83U7VlxcrLq6OpWWlqqjo0O333675s2bp+eff16SFAwGNXXqVBUWFmrDhg3av3+/7rjjDmVmZmrevHl9rTIADDgl1XVatbUm7GGKOe40rZyRz9orSAh9DjA33nijbrzxxrOW+fjjj3X33XfrjTfe0PTp08OOvf/++yopKdGePXs0ceJESdITTzyhm266Sf/93/8tn8+nzZs36/jx4/rVr36llJQUXX755aqqqtIjjzxCgAGAcyiprtP8TXt1+v0Wf6BN8zftZQE5JISIj4EJhUKaPXu2lixZossvv7zb8bKyMmVmZlrhRZIKCwvldDpVXl5ulbn++uuVkpJilSkqKtLBgwf12Wef9fi+7e3tCgaDYRsADDSdIaNVW2u6hRdJ1r5VW2voToLtRTzAPPTQQ0pOTtY999zT43G/36/s7OywfcnJycrKypLf77fKeDyesDJdr7vKnG716tVyu93Wlpub+0WbAgC2U1HbGNZtdDojqS7Qporaxv6rFBAFEQ0wlZWVevzxx7Vx40Y5HP27RPSyZcsUCASs7ciRI/36/gAQDxqazxxezqccEK8iGmDefPNNNTQ0aOTIkUpOTlZycrI+/PBD3X///br44oslSV6vVw0NDWE/d+LECTU2Nsrr9Vpl6uvrw8p0ve4qc7rU1FS5XK6wDQAGmuyhaecu1IdyQLyKaICZPXu29u3bp6qqKmvz+XxasmSJ3njjDUlSQUGBmpqaVFlZaf3cjh07FAqFNHnyZKvM7t271dHRYZUpLS3VqFGjNGzYsEhWGQASyqS8LOW403Sme+AOnZyNNCkvqz+rBURcn2chtbS06M9//rP1ura2VlVVVcrKytLIkSM1fHj4w7oGDRokr9erUaNGSZJGjx6tadOm6c4779SGDRvU0dGhhQsXatasWdaU629961tatWqV5s6dq6VLl6q6ulqPP/64Hn300S/SVgA21BkyPMW4D5KcDq2cka/5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fD7dfPPNkqTRo0dr2rRpuvPOO7VhwwZ1dHRo4cKFmjVrVq9mIAEA4k9D85nDy/mUi0d9CWkFlwzvv4oloIgHmCeeeELLly/Xd7/7XTU0NMjn8+m//uu/tGLFCqvM97//fbW2tmrevHlqamrStddeq5KSEqWlpVllNm/erIULF2rKlClyOp2aOXOm1q1bF+nqAgD6SfbQtHMX6kO5eDQQQlq8iPg6MPGCdWAAIL50hoyufWiH/IG2HrtYHJK87jS9tfTfbDtbp+wvn+rWZ94+Z7kX7rzKtndgEnYdGAAAepLkdGjljHxJJ8PKqbper5yRb9vwIkmT8rKU407r1r4uDp2cjTQpL6s/q5WQCDAAgH4zbUyO1t82Xl53eDeR152WEFOoB0JIixcRHwMDAMDZTBuToxvyvQm7yFtXSDt9HRgv68BEFAEGANDvkpwO244B6Y1ED2nxgAADAEAUJHpIizXGwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANshwAAAANuJSoD5+OOPddttt2n48OEaPHiwxo4dq3feecc6bozRihUrlJOTo8GDB6uwsFCHDh0KO0djY6OKi4vlcrmUmZmpuXPnqqWlJRrVBQAANhPxAPPZZ5/pmmuu0aBBg/T666+rpqZG//M//6Nhw4ZZZdauXat169Zpw4YNKi8vV3p6uoqKitTW1maVKS4u1oEDB1RaWqpt27Zp9+7dmjdvXqSrCwAAbMhhjDGRPOEDDzygP/zhD3rzzTd7PG6Mkc/n0/3336/vfe97kqRAICCPx6ONGzdq1qxZev/995Wfn689e/Zo4sSJkqSSkhLddNNN+uijj+Tz+c5Zj2AwKLfbrUAgIJfLFZG2tba2KiMjQ5LU0tKi9PT0iJwXAAC7iPa1sLfX74jfgfnNb36jiRMn6hvf+Iays7M1btw4PfPMM9bx2tpa+f1+FRYWWvvcbrcmT56ssrIySVJZWZkyMzOt8CJJhYWFcjqdKi8v7/F929vbFQwGwzYA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3t27d2vGjBny+XxyOBx69dVXw45Hqm379u3Tddddp7S0NOXm5mrt2rXRblqPztbejo4OLV26VGPHjlV6erp8Pp++/e1v6+jRo2HnSJT2nu6uu+6Sw+HQY489FrbfTu2NGINee/HFF01KSor51a9+ZQ4cOGDuvPNOk5mZaerr62NdtT4pKioyzz77rKmurjZVVVXmpptuMiNHjjQtLS1Wmbvuusvk5uaa7du3m3feecdcddVV5uqrr7aOnzhxwowZM8YUFhaad9991/z2t781I0aMMMuWLYtFk3qtoqLCXHzxxebLX/6yuffee639idbexsZGc9FFF5nvfOc7pry83Pz1r381b7zxhvnzn/9slVmzZo1xu93m1VdfNe+995752te+ZvLy8szf//53q8y0adPMFVdcYd5++23z5ptvmn/+5382t956ayyadFYPPvigGT58uNm2bZupra01L7/8ssnIyDCPP/64VcbO7f3tb39rfvCDH5hXXnnFSDJbtmwJOx6JtgUCAePxeExxcbGprq42L7zwghk8eLD5xS9+0V/NtJytvU1NTaawsNC89NJL5k9/+pMpKyszkyZNMhMmTAg7R6K091SvvPKKueKKK4zP5zOPPvpo2DE7tTdSCDB9MGnSJLNgwQLrdWdnp/H5fGb16tUxrNUX19DQYCSZXbt2GWNO/oEYNGiQefnll60y77//vpFkysrKjDEn/4dzOp3G7/dbZdavX29cLpdpb2/v3wb0UnNzs7n00ktNaWmp+X//7/9ZASYR27t06VJz7bXXnvF4KBQyXq/XPPzww9a+pqYmk5qaal544QVjjDE1NTVGktmzZ49V5vXXXzcOh8N8/PHH0av8eZg+fbq54447wvbdcsstpri42BiTWO09/QIXqbY99dRTZtiwYWGf56VLl5pRo0ZFuUVnd7YLepeKigojyXz44YfGmMRs70cffWQuuOACU11dbS666KKwAGPn9n4RdCH10vHjx1VZWanCwkJrn9PpVGFhocrKymJYsy8uEAhIkrKysiRJlZWV6ujoCGvrZZddppEjR1ptLSsr09ixY+XxeKwyRUVFCgaDOnDgQD/WvvcWLFig6dOnh7VLSsz2/uY3v9HEiRP1jW98Q9nZ2Ro3bpyeeeYZ63htba38fn9Ym91utyZPnhzW5szMTE2cONEqU1hYKKfTqfLy8v5r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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"time_index = 0\n",
|
|
"ax.scatter(poses_over_time[time_index, :, 0], poses_over_time[time_index, :, 1])\n",
|
|
"for line in arena.boundary_lines:\n",
|
|
" plt.plot([line[0][0], line[1][0]], [line[0][1], line[1][1]], color=\"black\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 17,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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R0eHli5dquTkZMXHx2vOnDlqbGwManPkyBHNnj1bI0aMUEpKilauXKlTp04NZFcuyvr16+VwOLR8+XJrWyT298MPP9S8efOUnJys4cOHa+LEidq/f7+13xijtWvXKi0tTcOHD1dubq4OHz4cdIzm5mYVFBQoISFBiYmJWrhwodra2ga6KxfU1dWlNWvWKDMzU8OHD9eVV16pH/7wh0HPUrFzf8vKypSfn6/09HQ5HA699NJLQftD1bcDBw7o5ptvlsvlUkZGhjZs2NDfXevRp/W3s7NTq1at0sSJExUXF6f09HTdddddOnbsWNAxIqW/Z7vnnnvkcDj0+OOPB223U39DxqDXnn32WRMTE2OefPJJc/DgQbNo0SKTmJhoGhsbw11an8ycOdM89dRTpra21tTU1JjbbrvNjBkzxrS1tVlt7rnnHpORkWH27Nlj9u/fb66//npzww03WPtPnTplsrOzTW5urnn77bfNb37zGzN69GizevXqcHSp1yorK80VV1xhPvvZz5r77rvP2h5p/W1ubjZjx441X//6101FRYX5y1/+Yl599VXz5z//2Wqzfv1643a7zUsvvWTeeecdc/vtt5vMzEzz97//3WqTl5dnrrnmGvPWW2+ZN954w/zzP/+zufPOO8PRpU/10EMPmeTkZLN7925TX19vnn/+eRMfH282btxotbFzf3/zm9+Y7373u+aFF14wksyLL74YtD8UffP5fCY1NdUUFBSY2tpa88wzz5jhw4ebn//85wPVTcun9belpcXk5uaa5557zvzpT38y5eXlZurUqWby5MlBx4iU/p7phRdeMNdcc41JT083jz32WNA+O/U3VAgwfTB16lSzdOlS631XV5dJT083RUVFYazq0jU1NRlJ5vXXXzfGnP4FMWzYMPP8889bbd577z0jyZSXlxtjTv8P53Q6jdfrtdoUFxebhIQEc+LEiYHtQC+1traaq666ypSWlpp/+Zd/sQJMJPZ31apV5qabbjrv/kAgYDwej3nkkUesbS0tLSY2NtY888wzxhhj6urqjCSzb98+q80rr7xiHA6H+fDDD/uv+Iswe/Zs841vfCNo25e+9CVTUFBgjIms/p59ggtV3372s5+ZUaNGBf19XrVqlRk3blw/9+jTfdoJvVtlZaWRZD744ANjTGT2969//au57LLLTG1trRk7dmxQgLFzfy8FQ0i9dPLkSVVVVSk3N9fa5nQ6lZubq/Ly8jBWdul8Pp8kKSkpSZJUVVWlzs7OoL5effXVGjNmjNXX8vJyTZw4UampqVabmTNnyu/36+DBgwNYfe8tXbpUs2fPDuqXFJn9ffnllzVlyhR95StfUUpKiq677jr94he/sPbX19fL6/UG9dntdmvatGlBfU5MTNSUKVOsNrm5uXI6naqoqBi4zvTCDTfcoD179uj999+XJL3zzjt68803NWvWLEmR198zhapv5eXluuWWWxQTE2O1mTlzpg4dOqRPPvlkgHpzcXw+nxwOhxITEyVFXn8DgYDmz5+vlStXasKECefsj7T+9hYBppc++ugjdXV1BZ3AJCk1NVVerzdMVV26QCCg5cuX68Ybb1R2drYkyev1KiYmxvpl0O3Mvnq93h6/i+59g82zzz6r6upqFRUVnbMvEvv7l7/8RcXFxbrqqqv06quvasmSJbr33nu1fft2Sf+o+dP+Pnu9XqWkpATtj46OVlJS0qDr84MPPqi5c+fq6quv1rBhw3Tddddp+fLlKigokBR5/T1TqPpmt7/j3To6OrRq1Srdeeed1sMMI62/Dz/8sKKjo3Xvvff2uD/S+ttbEfs0avTO0qVLVVtbqzfffDPcpfSbo0eP6r777lNpaalcLle4yxkQgUBAU6ZM0Y9//GNJ0nXXXafa2lpt2bJFCxYsCHN1oferX/1KO3fu1NNPP60JEyaopqZGy5cvV3p6ekT2F6d1dnbqq1/9qowxKi4uDnc5/aKqqkobN25UdXW1HA5HuMsZVLgC00ujR49WVFTUOTNTGhsb5fF4wlTVpVm2bJl2796t1157TZdffrm13ePx6OTJk2ppaQlqf2ZfPR5Pj99F977BpKqqSk1NTZo0aZKio6MVHR2t119/XZs2bVJ0dLRSU1Mjqr+SlJaWpqysrKBt48eP15EjRyT9o+ZP+/vs8XjU1NQUtP/UqVNqbm4edH1euXKldRVm4sSJmj9/vu6//37riluk9fdMoeqb3f6Od4eXDz74QKWlpdbVFymy+vvGG2+oqalJY8aMsX5/ffDBB3rggQd0xRVXSIqs/vYFAaaXYmJiNHnyZO3Zs8faFggEtGfPHuXk5ISxsr4zxmjZsmV68cUXtXfvXmVmZgbtnzx5soYNGxbU10OHDunIkSNWX3NycvTuu+8G/U/T/Uvk7BNnuE2fPl3vvvuuampqrNeUKVNUUFBg/TmS+itJN9544zlT499//32NHTtWkpSZmSmPxxPUZ7/fr4qKiqA+t7S0qKqqymqzd+9eBQIBTZs2bQB60XvHjx+X0xn86ywqKkqBQEBS5PX3TKHqW05OjsrKytTZ2Wm1KS0t1bhx4zRq1KgB6k3vdIeXw4cP63e/+52Sk5OD9kdSf+fPn68DBw4E/f5KT0/XypUr9eqrr0qKrP72SbjvIraTZ5991sTGxppt27aZuro6s3jxYpOYmBg0M8UOlixZYtxut/n9739vGhoarNfx48etNvfcc48ZM2aM2bt3r9m/f7/JyckxOTk51v7uacUzZswwNTU1pqSkxHzmM58ZtNOKz3bmLCRjIq+/lZWVJjo62jz00EPm8OHDZufOnWbEiBFmx44dVpv169ebxMRE8+tf/9ocOHDAfPGLX+xx6u11111nKioqzJtvvmmuuuqqQTGt+GwLFiwwl112mTWN+oUXXjCjR4823/nOd6w2du5va2urefvtt83bb79tJJlHH33UvP3229asm1D0raWlxaSmppr58+eb2tpa8+yzz5oRI0aEZZrtp/X35MmT5vbbbzeXX365qampCfodduYMm0jpb0/OnoVkjL36GyoEmD564oknzJgxY0xMTIyZOnWqeeutt8JdUp9J6vH11FNPWW3+/ve/m29+85tm1KhRZsSIEebf//3fTUNDQ9Bx/u///s/MmjXLDB8+3IwePdo88MADprOzc4B7c3HODjCR2N9du3aZ7OxsExsba66++mqzdevWoP2BQMCsWbPGpKammtjYWDN9+nRz6NChoDYff/yxufPOO018fLxJSEgwd999t2ltbR3IbvSK3+839913nxkzZoxxuVzmn/7pn8x3v/vdoBOanfv72muv9fj/7IIFC4wxoevbO++8Y2666SYTGxtrLrvsMrN+/fqB6mKQT+tvfX39eX+Hvfbaa9YxIqW/PekpwNipv6HiMOaMpSoBAABsgHtgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7RBgAACA7fw/c+oxF/HIf8oAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"time_index = 1\n",
|
|
"ax.scatter(poses_over_time[time_index, :, 0], poses_over_time[time_index, :, 1])\n",
|
|
"for line in arena.boundary_lines:\n",
|
|
" plt.plot([line[0][0], line[1][0]], [line[0][1], line[1][1]], color=\"black\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 18,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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w6FHH3004HikjzHoDELqxRdfNDExMeaZZ54xO3bsMLfccotJTEw01dXV4S6tXXJzc82zzz5rKisrTUVFhbn66qvNgAEDTH19vdXn1ltvNenp6WbDhg3m/fffN2PHjjWXXHKJ1X7kyBEzdOhQk5OTYz744APz17/+1fTv398sWLAgHEM6rbKyMnPeeeeZ733ve+aOO+6wjneFcdbW1pqBAwean/3sZ6a0tNR8+umn5o033jAff/yx1WfJkiXG6XSaV155xXz44Yfm2muvNRkZGebf//631ScvL89cdNFF5r333jPvvPOO+Y//+A9z4403hmNIbXrwwQdNcnKyWb9+vamqqjIvvfSS6dOnj3nsscesPnYc51//+lfzq1/9yrz88stGklm7dm1AezDG5PV6jcvlMvn5+aaystK88MILplevXuYPf/hDqIZ5ynHW1dWZnJwc86c//cn885//NCUlJWbMmDFm5MiRAe8R6eM83b9lq5dfftlcdNFFJi0tzTzyyCMBbZE+xmAjwITYmDFjTEFBgfW8paXFpKWlmcLCwjBWdeZqamqMJLNp0yZjzNFfJj179jQvvfSS1WfXrl1GkikpKTHGHP0PNSoqyng8HqvPihUrTEJCgmlqagrtAE7j4MGD5oILLjDFxcXmv/7rv6wA01XGOX/+fDNu3LiTtvv9fuN2u81DDz1kHaurqzOxsbHmhRdeMMYYs3PnTiPJbNmyxerz+uuvG4fDYb744ovOK74DJk2aZP77v/874NgNN9xg8vPzjTFdY5zHf+kFa0xPPvmk6devX8DP7Pz5882gQYM6eURtO9WXe6uysjIjyXz22WfGGPuN82Rj/Pzzz80555xjKisrzcCBAwMCjN3GGAwsIYXQ4cOHVV5erpycHOtYVFSUcnJyVFJSEsbKzpzX65UkJSUlSZLKy8vV3NwcMMbBgwdrwIAB1hhLSko0bNgwuVwuq09ubq58Pp927NgRwupPr6CgQJMmTQoYj9R1xvnaa69p1KhR+tGPfqSUlBQNHz5cTz/9tNVeVVUlj8cTME6n06msrKyAcSYmJmrUqFFWn5ycHEVFRam0tDR0gzmFSy65RBs2bNBHH30kSfrwww/17rvvauLEiZK6zjiPFawxlZSU6PLLL1dMTIzVJzc3V7t379Y333wTotF0jNfrlcPhUGJioqSuMU6/369p06Zp3rx5uvDCC09o7wpj7CgCTAh99dVXamlpCfhCkySXyyWPxxOmqs6c3+/XnDlzdOmll2ro0KGSJI/Ho5iYGOsXR6tjx+jxeNr8O2htixQvvviitm7dqsLCwhPauso4P/30U61YsUIXXHCB3njjDc2aNUu33367nnvuOUnf1nmqn1mPx6OUlJSA9ujoaCUlJUXMOO+55x5NnTpVgwcPVs+ePTV8+HDNmTNH+fn5krrOOI8VrDHZ4ef4WI2NjZo/f75uvPFGa2PDrjDOpUuXKjo6Wrfffnub7V1hjB3VZXejRucrKChQZWWl3n333XCXEnT79u3THXfcoeLiYsXFxYW7nE7j9/s1atQo/fa3v5UkDR8+XJWVlVq5cqWmT58e5uqC589//rPWrFmj559/XhdeeKEqKio0Z84cpaWldalxdnfNzc368Y9/LGOMVqxYEe5ygqa8vFyPPfaYtm7dKofDEe5yIgYzMCHUv39/9ejR44QrVaqrq+V2u8NU1ZmZPXu21q9fr7feekvnnnuuddztduvw4cOqq6sL6H/sGN1ud5t/B61tkaC8vFw1NTUaMWKEoqOjFR0drU2bNmn58uWKjo6Wy+XqEuNMTU1VZmZmwLEhQ4Zo7969kr6t81Q/s263WzU1NQHtR44cUW1tbcSMc968edYszLBhwzRt2jTdeeed1uxaVxnnsYI1Jjv8HEvfhpfPPvtMxcXF1uyLZP9xvvPOO6qpqdGAAQOs30efffaZ7rrrLp133nlWjXYe45kgwIRQTEyMRo4cqQ0bNljH/H6/NmzYoOzs7DBW1n7GGM2ePVtr167Vxo0blZGREdA+cuRI9ezZM2CMu3fv1t69e60xZmdna/v27QH/sbX+wjn+yzRcxo8fr+3bt6uiosJ6jBo1Svn5+dafu8I4L7300hMug//oo480cOBASVJGRobcbnfAOH0+n0pLSwPGWVdXp/LycqvPxo0b5ff7lZWVFYJRnN6hQ4cUFRX4665Hjx7y+/2Sus44jxWsMWVnZ2vz5s1qbm62+hQXF2vQoEHq169fiEZzaq3hZc+ePfrb3/6m5OTkgHa7j3PatGnatm1bwO+jtLQ0zZs3T2+88YYk+4/xjIT7LOLu5sUXXzSxsbFm1apVZufOnWbmzJkmMTEx4EqVSDZr1izjdDrN22+/bQ4cOGA9Dh06ZPW59dZbzYABA8zGjRvN+++/b7Kzs012drbV3np58YQJE0xFRYUpKioy3/nOdyLq8uK2HHsVkjFdY5xlZWUmOjraPPjgg2bPnj1mzZo1pnfv3mb16tVWnyVLlpjExETz6quvmm3btpnrrruuzUtxhw8fbkpLS827775rLrjggoi6jHr69OnmnHPOsS6jfvnll03//v3N3XffbfWx4zgPHjxoPvjgA/PBBx8YSebhhx82H3zwgXX1TTDGVFdXZ1wul5k2bZqprKw0L774oundu3dIL7091TgPHz5srr32WnPuueeaioqKgN9Lx15tE+njPN2/5fGOvwrJmMgfY7ARYMLg8ccfNwMGDDAxMTFmzJgx5r333gt3Se0mqc3Hs88+a/X597//bX7xi1+Yfv36md69e5sf/OAH5sCBAwHv869//ctMnDjR9OrVy/Tv39/cddddprm5OcSj6ZjjA0xXGee6devM0KFDTWxsrBk8eLB56qmnAtr9fr+59957jcvlMrGxsWb8+PFm9+7dAX2+/vprc+ONN5o+ffqYhIQE8/Of/9wcPHgwlMM4JZ/PZ+644w4zYMAAExcXZ7773e+aX/3qVwFfcHYc51tvvdXmf4/Tp083xgRvTB9++KEZN26ciY2NNeecc45ZsmRJqIZojDn1OKuqqk76e+mtt96yzThP9295vLYCTKSPMdgcxhxzK0oAAAAb4BwYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgOwQYAABgO/8f4f/0OHqzaQIAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots()\n",
|
|
"\n",
|
|
"time_index = 3\n",
|
|
"ax.scatter(poses_over_time[time_index, :, 0], poses_over_time[time_index, :, 1])\n",
|
|
"for line in arena.boundary_lines:\n",
|
|
" plt.plot([line[0][0], line[1][0]], [line[0][1], line[1][1]], color=\"black\")"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "modelling-space-PK-9Kbkb-py3.9",
|
|
"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.9.15 (main, Oct 11 2022, 22:27:25) \n[Clang 14.0.0 (clang-1400.0.29.102)]"
|
|
},
|
|
"orig_nbformat": 4,
|
|
"vscode": {
|
|
"interpreter": {
|
|
"hash": "0e849ea89ee47e1132ea7296f1ee1190d374e3d2d90c5960d8a36248408ee6b5"
|
|
}
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|