diff --git a/src/main/deploy/choreo/DtoFL.traj b/src/main/deploy/choreo/DtoFL.traj new file mode 100644 index 0000000..f9b05bf --- /dev/null +++ b/src/main/deploy/choreo/DtoFL.traj @@ -0,0 +1,218 @@ +{ + "name":"DtoFL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":0.8050751090049744, "y":6.312607765197754, "heading":3.141592653589793, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.8226280212402344, "y":6.886133193969727, "heading":-1.2008906955338798, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":3.17843246459961, "y":7.364652156829834, "heading":-0.030292920677609064, "intervals":24, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.560821533203125, "y":7.364652156829834, "heading":-0.006559104275229499, "intervals":53, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.554760456085205, "y":7.0976176261901855, "heading":-1.1441691490021848, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":5.865901947021484, "heading":-1.5707963267948966, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":-0.02356243133544922, "y":-0.10602998733520508, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.04 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"0.8050751090049744 m", "val":0.8050751090049744}, "y":{"exp":"6.312607765197754 m", "val":6.312607765197754}, "heading":{"exp":"D.heading", "val":3.141592653589793}, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"1.8226280212402344 m", "val":1.8226280212402344}, "y":{"exp":"6.886133193969727 m", "val":6.886133193969727}, "heading":{"exp":"-1.2008906955338798 rad", "val":-1.2008906955338798}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"3.1784324645996094 m", "val":3.17843246459961}, "y":{"exp":"7.364652156829834 m", "val":7.364652156829834}, "heading":{"exp":"-30.292920677609064 mrad", "val":-0.030292920677609064}, "intervals":24, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.560821533203125 m", "val":4.560821533203125}, "y":{"exp":"7.364652156829834 m", "val":7.364652156829834}, "heading":{"exp":"-6.559104275229499 mrad", "val":-0.006559104275229499}, "intervals":53, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.554760456085205 m", "val":7.554760456085205}, "y":{"exp":"7.0976176261901855 m", "val":7.0976176261901855}, "heading":{"exp":"-1.1441691490021848 rad", "val":-1.1441691490021848}, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FL.x", "val":7.82036542892456}, "y":{"exp":"FL.y", "val":5.865901947021484}, "heading":{"exp":"FL.heading", "val":-1.5707963267948966}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"-23.56243133544922 mm", "val":-0.02356243133544922}, "y":{"exp":"-0.10602998733520508 m", "val":-0.10602998733520508}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.04 s", + "val":0.04 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,0.83152,1.79066,2.71278,4.72262,5.62149], + "samples":[ + {"t":0.0, "x":0.80508, "y":6.31261, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":12.60646, "ay":7.12715, "alpha":0.03615, "fx":[163.74618,163.5713,163.47137,163.6468], "fy":[92.25473,92.56507,92.74033,92.42978]}, + {"t":0.03615, "x":0.81331, "y":6.31727, "heading":3.14159, "vx":0.45576, "vy":0.25767, "omega":0.00131, "ax":12.58713, "ay":7.11696, "alpha":0.06472, "fx":[163.6035,163.29174,163.11184,163.42538], "fy":[91.93152,92.48637,92.79936,92.24383]}, + {"t":0.07231, "x":0.83802, "y":6.33123, "heading":-3.14155, "vx":0.91082, "vy":0.51497, "omega":0.00365, "ax":10.91183, "ay":6.17379, "alpha":2.67725, "fx":[150.69728,141.85236,131.58532,142.32784], "fy":[65.0515,85.54293,95.7608,74.14322]}, + {"t":0.10846, "x":0.87808, "y":6.35388, "heading":-3.14141, "vx":1.30532, "vy":0.73817, "omega":0.10044, "ax":-0.00144, "ay":0.00306, "alpha":15.06361, "fx":[42.71639,42.6929,-42.74559,-42.73846], "fy":[-42.67792,42.77258,42.75343,-42.68939]}, + {"t":0.14461, "x":0.92527, "y":6.38057, "heading":-3.13778, "vx":1.30527, "vy":0.73828, "omega":0.64503, "ax":-0.00154, "ay":0.00273, "alpha":13.56025, "fx":[38.58871,38.28968,-38.62283,-38.33568], "fy":[-38.27894,38.64281,38.34642,-38.56873]}, + {"t":0.18076, "x":0.97246, "y":6.40727, "heading":-3.11446, "vx":1.30521, "vy":0.73838, "omega":1.13528, "ax":-0.0015, "ay":0.00266, "alpha":12.11543, "fx":[35.26405,33.39506,-35.29835,-33.43883], "fy":[-33.38364,35.31686,33.45025,-35.24555]}, + {"t":0.21692, "x":1.01964, "y":6.43396, "heading":-3.07342, "vx":1.30516, "vy":0.73847, "omega":1.57328, "ax":-0.00147, "ay":0.0026, "alpha":10.73467, "fx":[32.43164,28.27988,-32.46613,-28.32193], "fy":[-28.26786,32.48343,28.33395,-32.41433]}, + {"t":0.25307, "x":1.06683, "y":6.46066, "heading":-3.01654, "vx":1.3051, "vy":0.73857, "omega":1.96137, "ax":-0.00145, "ay":0.00256, "alpha":9.4198, "fx":[29.82265,23.15516,-29.85736,-23.19582], "fy":[-23.14261,29.87369,23.20836,-29.80633]}, + {"t":0.28922, "x":1.11401, "y":6.48737, "heading":-2.94563, "vx":1.30505, "vy":0.73866, "omega":2.30193, "ax":-0.00144, "ay":0.00254, "alpha":8.16955, "fx":[27.22102,18.19568,-27.25601,-18.23522], "fy":[-18.18268,27.27156,18.24821,-27.20547]}, + {"t":0.32538, "x":1.16119, "y":6.51407, "heading":-2.86241, "vx":1.305, "vy":0.73875, "omega":2.59728, "ax":-0.00143, "ay":0.00252, "alpha":6.98052, "fx":[24.46966,13.55641,-24.50499,-13.59506], "fy":[-13.54304,24.51994,13.60843,-24.4547]}, + {"t":0.36153, "x":1.20837, "y":6.54078, "heading":-2.76851, "vx":1.30495, "vy":0.73884, "omega":2.84965, "ax":-0.00142, "ay":0.00251, "alpha":5.84814, "fx":[21.47318,9.38089,-21.50889,-9.41885], "fy":[-9.36722,21.52342,9.43252,-21.45865]}, + {"t":0.39768, "x":1.25554, "y":6.56749, "heading":-2.66549, "vx":1.3049, "vy":0.73893, "omega":3.06108, "ax":-0.00142, "ay":0.0025, "alpha":4.76777, "fx":[18.198,5.80212,-18.23408,-5.83961], "fy":[-5.78823,18.24834,5.85349,-18.18373]}, + {"t":0.43384, "x":1.30272, "y":6.59421, "heading":-2.55482, "vx":1.30484, "vy":0.73902, "omega":3.23345, "ax":-0.00142, "ay":0.0025, "alpha":3.73524, "fx":[14.66921,2.93766,-14.70565,-2.97485], "fy":[-2.92362,14.71977,2.98889,-14.65508]}, + {"t":0.46999, "x":1.34989, "y":6.62093, "heading":-2.43792, "vx":1.30479, "vy":0.73911, "omega":3.36849, "ax":-0.00142, "ay":0.00251, "alpha":2.74696, "fx":[10.96288,0.88092,-10.99962,-0.91798], "fy":[-0.86679,11.01372,0.93211,-10.94879]}, + {"t":0.50614, "x":1.39706, "y":6.64765, "heading":-2.31614, "vx":1.30474, "vy":0.73921, "omega":3.4678, "ax":-0.00143, "ay":0.00252, "alpha":1.7993, "fx":[7.19267,-0.30754,-7.22966,0.27046], "fy":[0.32173,7.24379,-0.25627,-7.17854]}, + {"t":0.54229, "x":1.44423, "y":6.67438, "heading":-2.19077, "vx":1.30469, "vy":0.7393, "omega":3.53285, "ax":-0.00143, "ay":0.00253, "alpha":0.88737, "fx":[3.49204,-0.60471,-3.52924,0.56751], "fy":[0.61894,3.54344,-0.55328,-3.47783]}, + {"t":0.57845, "x":1.4914, "y":6.70111, "heading":-2.06305, "vx":1.30464, "vy":0.73939, "omega":3.56493, "ax":-0.00144, "ay":0.00254, "alpha":0.00366, "fx":[-0.00464,-0.02295,-0.03277,-0.01446], "fy":[0.03724,0.04706,0.02875,0.01894]}, + {"t":0.6146, "x":1.53857, "y":6.72784, "heading":-1.93416, "vx":1.30459, "vy":0.73948, "omega":3.56506, "ax":-0.00145, "ay":0.00256, "alpha":-0.86313, "fx":[-3.17709,1.39925,3.1394,-1.43692], "fy":[-1.38485,-3.12502,1.45133,3.19146]}, + {"t":0.65075, "x":1.58573, "y":6.75458, "heading":-1.80527, "vx":1.30453, "vy":0.73957, "omega":3.53386, "ax":-0.00147, "ay":0.00258, "alpha":-1.7285, "fx":[-5.92625,3.61023,5.88815,-3.6482], "fy":[-3.59563,-5.8737,3.6628,5.94069]}, + {"t":0.68691, "x":1.63289, "y":6.78132, "heading":-1.67752, "vx":1.30448, "vy":0.73967, "omega":3.47137, "ax":-0.00147, "ay":0.0026, "alpha":-2.6115, "fx":[-8.17275,6.5566,8.1343,-6.59469], "fy":[-6.54183,-8.11987,6.60946,8.18718]}, + {"t":0.72306, "x":1.68005, "y":6.80806, "heading":-1.55202, "vx":1.30443, "vy":0.73976, "omega":3.37695, "ax":-0.00094, "ay":0.00165, "alpha":-3.53318, "fx":[-9.84314,10.19517,9.81854,-10.21927], "fy":[-10.18569,-9.80943,10.22875,9.85224]}, + {"t":0.75921, "x":1.72721, "y":6.83481, "heading":-1.42993, "vx":1.30439, "vy":0.73982, "omega":3.24922, "ax":0.03099, "ay":-0.05474, "alpha":-4.51415, "fx":[-10.46941,14.86857,11.28849,-14.0789], "fy":[-15.18592,-11.5869,13.76166,10.16964]}, + {"t":0.79537, "x":1.77439, "y":6.86152, "heading":-1.31246, "vx":1.30551, "vy":0.73784, "omega":3.08602, "ax":1.5939, "ay":-3.14934, "alpha":-4.95769, "fx":[10.03208,37.49813,32.37762,2.8361], "fy":[-57.84948,-49.76765,-23.75977,-32.11384]}, + {"t":0.83152, "x":1.82263, "y":6.88613, "heading":-1.20089, "vx":1.36314, "vy":0.62398, "omega":2.90678, "ax":1.4023, "ay":-3.42564, "alpha":-4.40861, "fx":[10.40598,34.38555,26.83646,1.16915], "fy":[-60.04854,-50.67682,-28.55108,-38.55803]}, + {"t":0.86704, "x":1.87194, "y":6.90614, "heading":-1.09763, "vx":1.41295, "vy":0.50229, "omega":2.75017, "ax":0.02361, "ay":-0.0666, "alpha":-4.6382, "fx":[-5.40131,18.00358,6.02899,-17.40538], "fy":[-18.56326,-6.58386,16.84474,4.84493]}, + {"t":0.90257, "x":1.92215, "y":6.92394, "heading":-0.99993, "vx":1.41379, "vy":0.49992, "omega":2.5854, "ax":-0.00071, "ay":0.00201, "alpha":-4.348, "fx":[-3.72222,17.03089,3.70343,-17.04902], "fy":[-17.01403,-3.68656,17.06588,3.73909]}, + {"t":0.93809, "x":1.97237, "y":6.9417, "heading":-0.90809, "vx":1.41377, "vy":0.5, "omega":2.43095, "ax":-0.00119, "ay":0.00338, "alpha":-4.13314, "fx":[-2.04461,16.43803,2.01319,-16.46865], "fy":[-16.4098,-1.98476,16.49688,2.07304]}, + {"t":0.97361, "x":2.02259, "y":6.95946, "heading":-0.82173, "vx":1.41372, "vy":0.50012, "omega":2.28412, "ax":-0.00123, "ay":0.00349, "alpha":-3.98096, "fx":[-0.59623,15.94118,0.56394,-15.97292], "fy":[-15.91213,-0.53453,16.00197,0.62564]}, + {"t":1.00914, "x":2.07281, "y":6.97723, "heading":-0.74059, "vx":1.41368, "vy":0.50024, "omega":2.1427, "ax":-0.00126, "ay":0.00357, "alpha":-3.87768, "fx":[0.68014,15.52141,-0.7131,-15.55404], "fy":[-15.49172,0.74327,15.58373,-0.64996]}, + {"t":1.04466, "x":2.12303, "y":6.995, "heading":-0.66448, "vx":1.41364, "vy":0.50037, "omega":2.00495, "ax":-0.00129, "ay":0.00365, "alpha":-3.80949, "fx":[1.82633,15.1515,-1.85997,-15.185], "fy":[-15.12116,1.89089,15.21533,-1.79541]}, + {"t":1.08019, "x":2.17324, "y":7.01278, "heading":-0.59325, "vx":1.41359, "vy":0.5005, "omega":1.86963, "ax":-0.00132, "ay":0.00374, "alpha":-3.76337, "fx":[2.86541,14.79986,-2.89973,-14.83424], "fy":[-14.76888,2.9314,14.86522,-2.83374]}, + {"t":1.11571, "x":2.22346, "y":7.03056, "heading":-0.52684, "vx":1.41354, "vy":0.50063, "omega":1.73594, "ax":-0.00135, "ay":0.00382, "alpha":-3.72769, "fx":[3.80548,14.43708,-3.8405,-14.47234], "fy":[-14.40543,3.87292,14.50398,-3.77306]}, + {"t":1.15123, "x":2.27367, "y":7.04835, "heading":-0.46517, "vx":1.41349, "vy":0.50077, "omega":1.60351, "ax":-0.00139, "ay":0.00391, "alpha":-3.69257, "fx":[4.64431,14.03983,-4.68007,-14.07599], "fy":[-14.00749,4.71325,14.10833,-4.61113]}, + {"t":1.18676, "x":2.32389, "y":7.06614, "heading":-0.40821, "vx":1.41345, "vy":0.5009, "omega":1.47234, "ax":-0.00142, "ay":0.004, "alpha":-3.65003, "fx":[5.37387,13.59252,-5.41041,-13.62961], "fy":[-13.55943,5.44438,13.66269,-5.3399]}, + {"t":1.22228, "x":2.3741, "y":7.08394, "heading":-0.3559, "vx":1.4134, "vy":0.50105, "omega":1.34268, "ax":-0.00145, "ay":0.0041, "alpha":-3.59399, "fx":[5.98403,13.08714,-6.02143,-13.1252], "fy":[-13.05324,6.05623,13.15909,-5.94923]}, + {"t":1.2578, "x":2.4243, "y":7.10174, "heading":-0.30821, "vx":1.41334, "vy":0.50119, "omega":1.21501, "ax":-0.00149, "ay":0.00421, "alpha":-3.52002, "fx":[6.46536,12.52199,-6.50372,-12.56109], "fy":[-12.4872,6.53941,12.59587,-6.42967]}, + {"t":1.29333, "x":2.47451, "y":7.11955, "heading":-0.26505, "vx":1.41329, "vy":0.50134, "omega":1.08996, "ax":-0.00153, "ay":0.00432, "alpha":-3.42518, "fx":[6.8108,11.89988,-6.85021,-11.9401], "fy":[-11.86411,6.88686,11.97586,-6.77415]}, + {"t":1.32885, "x":2.52471, "y":7.13736, "heading":-0.22633, "vx":1.41324, "vy":0.50149, "omega":0.96829, "ax":-0.00158, "ay":0.00445, "alpha":-3.30761, "fx":[7.01639,11.22615,-7.05697,-11.26759], "fy":[-11.1893,7.09468,11.30443,-6.97868]}, + {"t":1.36438, "x":2.57492, "y":7.15518, "heading":-0.19193, "vx":1.41318, "vy":0.50165, "omega":0.85079, "ax":-0.00163, "ay":0.00459, "alpha":-3.16627, "fx":[7.08132,10.50688,-7.12323,-10.54965], "fy":[-10.46882,7.1621,10.58771,-7.04245]}, + {"t":1.3999, "x":2.62512, "y":7.173, "heading":-0.16171, "vx":1.41312, "vy":0.50182, "omega":0.73831, "ax":-0.00169, "ay":0.00475, "alpha":-3.00063, "fx":[7.00746,9.74742,-7.05086,-9.79166], "fy":[-9.70802,7.09101,9.83106,-6.96731]}, + {"t":1.43542, "x":2.67532, "y":7.19083, "heading":-0.13548, "vx":1.41306, "vy":0.50199, "omega":0.63172, "ax":-0.00175, "ay":0.00493, "alpha":-2.81032, "fx":[6.79851,8.9512,-6.84357,-8.99706], "fy":[-8.91029,6.88516,9.03797,-6.75692]}, + {"t":1.47095, "x":2.72551, "y":7.20867, "heading":-0.11304, "vx":1.413, "vy":0.50216, "omega":0.53188, "ax":-0.00182, "ay":0.00513, "alpha":-2.59487, "fx":[6.45899,8.1189,-6.50592,-8.16656], "fy":[-8.0763,6.54912,8.20916,-6.41579]}, + {"t":1.50647, "x":2.77571, "y":7.22651, "heading":-0.09414, "vx":1.41294, "vy":0.50234, "omega":0.4397, "ax":-0.0019, "ay":0.00535, "alpha":-2.3534, "fx":[5.99317,7.24774,-6.04221,-7.29743], "fy":[-7.20326,6.08721,7.34191,-5.94817]}, + {"t":1.54199, "x":2.8259, "y":7.24436, "heading":-0.07852, "vx":1.41287, "vy":0.50253, "omega":0.3561, "ax":-0.00199, "ay":0.0056, "alpha":-2.08431, "fx":[5.40386,6.33102,-5.45529,-6.38298], "fy":[-6.28441,5.50231,6.42959,-5.35684]}, + {"t":1.57752, "x":2.87609, "y":7.26221, "heading":-0.06587, "vx":1.4128, "vy":0.50273, "omega":0.28206, "ax":-0.00209, "ay":0.00588, "alpha":-1.78496, "fx":[4.69121,5.35749,-4.74533,-5.41202], "fy":[-5.30847,4.79466,5.46103,-4.64189]}, + {"t":1.61304, "x":2.92627, "y":7.28007, "heading":-0.05585, "vx":1.41272, "vy":0.50294, "omega":0.21865, "ax":-0.00221, "ay":0.0062, "alpha":-1.45128, "fx":[3.85134,4.31075,-3.90851,-4.36821], "fy":[-4.25902,3.96045,4.41994,-3.79939]}, + {"t":1.64857, "x":2.97646, "y":7.29794, "heading":-0.04809, "vx":1.41264, "vy":0.50316, "omega":0.16709, "ax":-0.00232, "ay":0.00652, "alpha":-1.07736, "fx":[2.87513,3.1688,-2.93528,-3.22912], "fy":[-3.11442,2.98978,3.28349,-2.82063]}, + {"t":1.68409, "x":3.02664, "y":7.31582, "heading":-0.04215, "vx":1.41256, "vy":0.50339, "omega":0.12882, "ax":-0.00137, "ay":0.00384, "alpha":-0.65499, "fx":[1.76002,1.91656,-1.7955,-1.95207], "fy":[-1.88451,1.82757,1.98412,-1.72795]}, + {"t":1.71961, "x":3.07682, "y":7.33371, "heading":-0.03757, "vx":1.41251, "vy":0.50353, "omega":0.10555, "ax":0.05835, "ay":-0.16477, "alpha":-0.17318, "fx":[1.2296,1.26666,0.28483,0.24789], "fy":[-2.64757,-1.66604,-1.62921,-2.61079]}, + {"t":1.75514, "x":3.12703, "y":7.35149, "heading":-0.03382, "vx":1.41459, "vy":0.49768, "omega":0.0994, "ax":1.8216, "ay":-7.15968, "alpha":0.22446, "fx":[22.96547,22.75954,24.312,24.52735], "fy":[-92.48823,-93.47566,-93.35152,-92.36329]}, + {"t":1.79066, "x":3.17843, "y":7.36465, "heading":-0.03029, "vx":1.4793, "vy":0.24334, "omega":0.10738, "ax":0.52862, "ay":-6.41445, "alpha":0.08197, "fx":[6.59883,6.56763,7.12163,7.15402], "fy":[-83.06223,-83.43717,-83.43353,-83.0586]}, + {"t":1.82908, "x":3.23566, "y":7.36927, "heading":-0.02617, "vx":1.49961, "vy":-0.00312, "omega":0.11053, "ax":-0.00037, "ay":-0.10851, "alpha":-0.08141, "fx":[0.21994,0.23203,-0.22965,-0.24173], "fy":[-1.64513,-1.18351,-1.17143,-1.63305]}, + {"t":1.8675, "x":3.29328, "y":7.36907, "heading":-0.02192, "vx":1.49959, "vy":-0.00729, "omega":0.1074, "ax":0.00003, "ay":0.00677, "alpha":-0.21455, "fx":[0.59545,0.62212,-0.59461,-0.62129], "fy":[-0.5338,0.68294,0.70962,-0.50712]}, + {"t":1.90593, "x":3.35089, "y":7.36879, "heading":-0.01779, "vx":1.49959, "vy":-0.00703, "omega":0.09915, "ax":0.00004, "ay":0.00845, "alpha":-0.29301, "fx":[0.81661,0.84617,-0.8156,-0.84518], "fy":[-0.73606,0.92572,0.95529,-0.70649]}, + {"t":1.94435, "x":3.40851, "y":7.36853, "heading":-0.01398, "vx":1.49959, "vy":-0.0067, "omega":0.0879, "ax":0.00004, "ay":0.00846, "alpha":-0.33058, "fx":[0.92486,0.95107,-0.9239,-0.95013], "fy":[-0.84084,1.03414,1.06036,-0.81462]}, + {"t":1.98277, "x":3.46613, "y":7.36828, "heading":-0.01061, "vx":1.4996, "vy":-0.00638, "omega":0.0752, "ax":0.00003, "ay":0.00845, "alpha":-0.33893, "fx":[0.95148,0.97186,-0.95056,-0.97097], "fy":[-0.8618,1.06063,1.08103,-0.84141]}, + {"t":2.02119, "x":3.52374, "y":7.36804, "heading":-0.00772, "vx":1.4996, "vy":-0.00605, "omega":0.06217, "ax":0.00003, "ay":0.00844, "alpha":-0.32762, "fx":[0.92244,0.93677,-0.92157,-0.93592], "fy":[-0.82687,1.03148,1.04582,-0.81253]}, + {"t":2.05961, "x":3.58136, "y":7.36781, "heading":-0.00533, "vx":1.4996, "vy":-0.00573, "omega":0.04959, "ax":0.00003, "ay":0.00843, "alpha":-0.30423, "fx":[0.85866,0.86785,-0.85785,-0.86705], "fy":[-0.7581,0.96761,0.97681,-0.7489]}, + {"t":2.09803, "x":3.63898, "y":7.3676, "heading":-0.00342, "vx":1.4996, "vy":-0.0054, "omega":0.0379, "ax":0.00003, "ay":0.00842, "alpha":-0.27456, "fx":[0.77641,0.78174,-0.77564,-0.78099], "fy":[-0.67212,0.88527,0.8906,-0.66679]}, + {"t":2.13646, "x":3.69659, "y":7.3674, "heading":-0.00197, "vx":1.4996, "vy":-0.00508, "omega":0.02735, "ax":0.00003, "ay":0.00841, "alpha":-0.24282, "fx":[0.68769,0.69039,-0.68697,-0.68968], "fy":[-0.5809,0.79647,0.79918,-0.57819]}, + {"t":2.17488, "x":3.75421, "y":7.36721, "heading":-0.00092, "vx":1.4996, "vy":-0.00476, "omega":0.01802, "ax":0.00003, "ay":0.0084, "alpha":-0.2119, "fx":[0.60076,0.60186,-0.60009,-0.6012], "fy":[-0.49248,0.70947,0.71058,-0.49138]}, + {"t":2.2133, "x":3.81183, "y":7.36703, "heading":-0.00023, "vx":1.4996, "vy":-0.00443, "omega":0.00988, "ax":0.00002, "ay":0.0084, "alpha":-0.18352, "fx":[0.52069,0.52092,-0.52007,-0.52031], "fy":[-0.41166,0.62934,0.62958,-0.41142]}, + {"t":2.25172, "x":3.86945, "y":7.36687, "heading":0.00015, "vx":1.4996, "vy":-0.00411, "omega":0.00283, "ax":0.00002, "ay":0.00839, "alpha":-0.15846, "fx":[0.44978,0.44964,-0.44921,-0.44907], "fy":[-0.34048,0.55837,0.55824,-0.34061]}, + {"t":2.29014, "x":3.92706, "y":7.36672, "heading":0.00026, "vx":1.4996, "vy":-0.00379, "omega":-0.00326, "ax":0.00002, "ay":0.00838, "alpha":-0.13667, "fx":[0.388,0.38779,-0.38747,-0.38727], "fy":[-0.27873,0.49654,0.49634,-0.27893]}, + {"t":2.32856, "x":3.98468, "y":7.36658, "heading":0.00014, "vx":1.49961, "vy":-0.00347, "omega":-0.00851, "ax":0.00002, "ay":0.00838, "alpha":-0.11743, "fx":[0.33333,0.33324,-0.33285,-0.33276], "fy":[-0.22426,0.44183,0.44174,-0.22435]}, + {"t":2.36698, "x":4.0423, "y":7.36645, "heading":-0.00019, "vx":1.49961, "vy":-0.00315, "omega":-0.01303, "ax":0.00002, "ay":0.00837, "alpha":-0.09939, "fx":[0.28205,0.28215,-0.28162,-0.28172], "fy":[-0.17326,0.39051,0.39062,-0.17315]}, + {"t":2.40541, "x":4.09991, "y":7.36633, "heading":-0.00069, "vx":1.49961, "vy":-0.00282, "omega":-0.01684, "ax":0.00001, "ay":0.00837, "alpha":-0.08071, "fx":[0.22893,0.22925,-0.22855,-0.22886], "fy":[-0.12043,0.33736,0.33768,-0.12011]}, + {"t":2.44383, "x":4.15753, "y":7.36623, "heading":-0.00134, "vx":1.49961, "vy":-0.0025, "omega":-0.01995, "ax":0.00001, "ay":0.00837, "alpha":-0.05906, "fx":[0.16744,0.16789,-0.1671,-0.16755], "fy":[-0.05914,0.27585,0.2763,-0.05869]}, + {"t":2.48225, "x":4.21515, "y":7.36614, "heading":-0.0021, "vx":1.49961, "vy":-0.00218, "omega":-0.02221, "ax":0.00001, "ay":0.00836, "alpha":-0.0317, "fx":[0.08988,0.09025,-0.08959,-0.08996], "fy":[0.01843,0.19827,0.19865,0.01881]}, + {"t":2.52067, "x":4.27277, "y":7.36606, "heading":-0.00296, "vx":1.49961, "vy":-0.00186, "omega":-0.02343, "ax":0.00001, "ay":0.00836, "alpha":0.00445, "fx":[-0.01245,-0.01253,0.0127,0.01277], "fy":[0.12115,0.09593,0.09586,0.12108]}, + {"t":2.55909, "x":4.33038, "y":7.366, "heading":-0.00386, "vx":1.49961, "vy":-0.00154, "omega":-0.02326, "ax":0.00001, "ay":0.00835, "alpha":0.05277, "fx":[-0.14899,-0.15014,0.14918,0.15034], "fy":[0.25866,-0.04067,-0.04182,0.2575]}, + {"t":2.59751, "x":4.388, "y":7.36595, "heading":-0.00475, "vx":1.49961, "vy":-0.00122, "omega":-0.02123, "ax":0.00001, "ay":0.00802, "alpha":0.1168, "fx":[-0.32962,-0.33277,0.32977,0.33292], "fy":[0.4369,-0.22564,-0.22879,0.43375]}, + {"t":2.63594, "x":4.44562, "y":7.36591, "heading":-0.00557, "vx":1.49961, "vy":-0.00091, "omega":-0.01675, "ax":-0.00001, "ay":-0.01485, "alpha":0.20008, "fx":[-0.56445,-0.57077,0.56413,0.57046], "fy":[0.37787,-0.75704,-0.76336,0.37155]}, + {"t":2.67436, "x":4.50324, "y":7.36586, "heading":-0.00621, "vx":1.49961, "vy":-0.00148, "omega":-0.00906, "ax":-0.04297, "ay":-1.55831, "alpha":0.2989, "fx":[-1.41116,-1.41907,0.29425,0.30549], "fy":[-19.3804,-21.05623,-21.06774,-19.39187]}, + {"t":2.71278, "x":4.56082, "y":7.36465, "heading":-0.00656, "vx":1.49796, "vy":-0.06135, "omega":0.00242, "ax":-0.08721, "ay":-1.59374, "alpha":0.20682, "fx":[-1.72269,-1.72811,-0.54166,-0.53461], "fy":[-20.09982,-21.25879,-21.26797,-20.10894]}, + {"t":2.7507, "x":4.61756, "y":7.36118, "heading":-0.00647, "vx":1.49465, "vy":-0.12179, "omega":0.01027, "ax":-0.00135, "ay":-0.01649, "alpha":0.14353, "fx":[-0.42193,-0.42719,0.38696,0.39223], "fy":[0.19569,-0.61847,-0.62373,0.19042]}, + {"t":2.78862, "x":4.67424, "y":7.35655, "heading":-0.00608, "vx":1.4946, "vy":-0.12242, "omega":0.01571, "ax":0.00062, "ay":0.00755, "alpha":0.09376, "fx":[-0.25628,-0.25951,0.27231,0.27555], "fy":[0.36558,-0.16625,-0.16948,0.36234]}, + {"t":2.82654, "x":4.73092, "y":7.35191, "heading":-0.00548, "vx":1.49462, "vy":-0.12213, "omega":0.01927, "ax":0.00063, "ay":0.00776, "alpha":0.05937, "fx":[-0.15925,-0.1611,0.17569,0.17753], "fy":[0.27005,-0.06674,-0.06859,0.2682]}, + {"t":2.86447, "x":4.7876, "y":7.34729, "heading":-0.00475, "vx":1.49465, "vy":-0.12183, "omega":0.02152, "ax":0.00062, "ay":0.00761, "alpha":0.03733, "fx":[-0.09733,-0.09834,0.11341,0.11442], "fy":[0.20518,-0.00656,-0.00757,0.20418]}, + {"t":2.90239, "x":4.84428, "y":7.34267, "heading":-0.00394, "vx":1.49467, "vy":-0.12155, "omega":0.02293, "ax":0.00061, "ay":0.00747, "alpha":0.02482, "fx":[-0.06224,-0.06279,0.07798,0.07853], "fy":[0.16756,0.02679,0.02624,0.16701]}, + {"t":2.94031, "x":4.90096, "y":7.33807, "heading":-0.00307, "vx":1.49469, "vy":-0.12126, "omega":0.02387, "ax":0.00059, "ay":0.00733, "alpha":0.0193, "fx":[-0.04686,-0.04719,0.06226,0.0626], "fy":[0.14997,0.04052,0.04019,0.14964]}, + {"t":2.97823, "x":4.95764, "y":7.33347, "heading":-0.00216, "vx":1.49472, "vy":-0.12099, "omega":0.02461, "ax":0.00058, "ay":0.00719, "alpha":0.01849, "fx":[-0.04478,-0.045,0.05986,0.06009], "fy":[0.14588,0.04102,0.04079,0.14565]}, + {"t":3.01615, "x":5.01432, "y":7.32889, "heading":-0.00123, "vx":1.49474, "vy":-0.12071, "omega":0.02531, "ax":0.00057, "ay":0.00706, "alpha":0.02034, "fx":[-0.05023,-0.05037,0.06501,0.06515], "fy":[0.14943,0.03405,0.0339,0.14929]}, + {"t":3.05407, "x":5.07101, "y":7.32432, "heading":-0.00027, "vx":1.49476, "vy":-0.12044, "omega":0.02608, "ax":0.00056, "ay":0.00694, "alpha":0.023, "fx":[-0.05795,-0.05799,0.07245,0.07248], "fy":[0.1553,0.02486,0.02483,0.15527]}, + {"t":3.092, "x":5.12769, "y":7.31976, "heading":0.00072, "vx":1.49478, "vy":-0.12018, "omega":0.02695, "ax":0.00055, "ay":0.00682, "alpha":0.02473, "fx":[-0.06307,-0.06297,0.07729,0.07719], "fy":[0.15861,0.01835,0.01845,0.15871]}, + {"t":3.12992, "x":5.18438, "y":7.3152, "heading":0.00174, "vx":1.4948, "vy":-0.11992, "omega":0.02789, "ax":0.00054, "ay":0.00671, "alpha":0.02391, "fx":[-0.06097,-0.06073,0.07491,0.07468], "fy":[0.15476,0.01911,0.01935,0.15499]}, + {"t":3.16784, "x":5.24106, "y":7.31066, "heading":0.0028, "vx":1.49482, "vy":-0.11967, "omega":0.02879, "ax":0.00053, "ay":0.0066, "alpha":0.01899, "fx":[-0.04717,-0.04687,0.06086,0.06056], "fy":[0.13935,0.03162,0.03192,0.13965]}, + {"t":3.20576, "x":5.29775, "y":7.30613, "heading":0.00389, "vx":1.49484, "vy":-0.11942, "omega":0.02952, "ax":0.00052, "ay":0.00649, "alpha":0.00843, "fx":[-0.01729,-0.01711,0.03074,0.03055], "fy":[0.1081,0.06025,0.06044,0.10828]}, + {"t":3.24368, "x":5.35444, "y":7.3016, "heading":0.00501, "vx":1.49486, "vy":-0.11917, "omega":0.02983, "ax":0.00051, "ay":0.00639, "alpha":-0.00928, "fx":[0.03305,0.03278,-0.01984,-0.01957], "fy":[0.05677,0.10939,0.10913,0.05651]}, + {"t":3.2816, "x":5.41112, "y":7.29709, "heading":0.00614, "vx":1.49488, "vy":-0.11893, "omega":0.02948, "ax":0.0005, "ay":0.00629, "alpha":-0.03565, "fx":[0.10823,0.10699,-0.09525,-0.09401], "fy":[-0.01881,0.18342,0.18218,-0.02006]}, + {"t":3.31952, "x":5.46781, "y":7.29258, "heading":0.00726, "vx":1.4949, "vy":-0.11869, "omega":0.02813, "ax":0.00049, "ay":0.0062, "alpha":-0.0722, "fx":[0.21265,0.20967,-0.19989,-0.19691], "fy":[-0.12283,0.28673,0.28375,-0.12581]}, + {"t":3.35745, "x":5.5245, "y":7.28809, "heading":0.00833, "vx":1.49492, "vy":-0.11846, "omega":0.02539, "ax":0.00048, "ay":0.00611, "alpha":-0.12042, "fx":[0.35064,0.34495,-0.33809,-0.3324], "fy":[-0.2594,0.42364,0.41795,-0.26509]}, + {"t":3.39537, "x":5.58119, "y":7.2836, "heading":0.00929, "vx":1.49494, "vy":-0.11822, "omega":0.02083, "ax":0.00048, "ay":0.00602, "alpha":-0.18175, "fx":[0.5264,0.51682,-0.51406,-0.50448], "fy":[-0.43252,0.59837,0.58879,-0.4421]}, + {"t":3.43329, "x":5.63788, "y":7.27912, "heading":0.01008, "vx":1.49496, "vy":-0.118, "omega":0.01393, "ax":0.00047, "ay":0.00594, "alpha":-0.25755, "fx":[0.74387,0.72914,-0.73173,-0.717], "fy":[-0.64604,0.81483,0.8001,-0.66077]}, + {"t":3.47121, "x":5.69457, "y":7.27465, "heading":0.01061, "vx":1.49497, "vy":-0.11777, "omega":0.00417, "ax":0.00046, "ay":0.00585, "alpha":-0.34909, "fx":[1.00651,0.9855,-0.99455,-0.97355], "fy":[-0.90357,1.07649,1.05549,-0.92457]}, + {"t":3.50913, "x":5.75127, "y":7.27019, "heading":0.01077, "vx":1.49499, "vy":-0.11755, "omega":-0.00907, "ax":0.00045, "ay":0.00577, "alpha":-0.45741, "fx":[1.3171,1.28915,-1.30532,-1.2774], "fy":[-1.20835,1.38613,1.3582,-1.23629]}, + {"t":3.54705, "x":5.80796, "y":7.26574, "heading":0.01042, "vx":1.49501, "vy":-0.11733, "omega":-0.02642, "ax":0.00045, "ay":0.0057, "alpha":-0.58333, "fx":[1.67739,1.64288,-1.66578,-1.63132], "fy":[-1.56318,1.7455,1.71102,-1.59767]}, + {"t":3.58498, "x":5.86465, "y":7.26129, "heading":0.00942, "vx":1.49502, "vy":-0.11711, "omega":-0.04854, "ax":0.00044, "ay":0.00562, "alpha":-0.7273, "fx":[2.08784,2.04893,-2.07639,-2.03756], "fy":[-1.9703,2.15505,2.11619,-2.00917]}, + {"t":3.6229, "x":5.92135, "y":7.25685, "heading":0.00758, "vx":1.49504, "vy":-0.1169, "omega":-0.07612, "ax":0.00043, "ay":0.00555, "alpha":-0.88935, "fx":[2.54707,2.50878,-2.53578,-2.49759], "fy":[-2.43119,2.61341,2.57518,-2.46943]}, + {"t":3.66082, "x":5.97804, "y":7.25242, "heading":0.00469, "vx":1.49506, "vy":-0.11669, "omega":-0.10984, "ax":0.00043, "ay":0.00548, "alpha":-1.06898, "fx":[3.05161,3.02307,-3.04045,-3.01207], "fy":[-2.94649,3.1171,3.08865,-2.97496]}, + {"t":3.69874, "x":6.03474, "y":7.248, "heading":0.00053, "vx":1.49507, "vy":-0.11648, "omega":-0.15038, "ax":0.00042, "ay":0.00541, "alpha":-1.26499, "fx":[3.59515,3.59126,-3.58413,-3.58044], "fy":[-3.51566,3.65982,3.65604,-3.51946]}, + {"t":3.73666, "x":6.09143, "y":7.24359, "heading":-0.00517, "vx":1.49509, "vy":-0.11628, "omega":-0.19835, "ax":0.00041, "ay":0.00534, "alpha":-1.47543, "fx":[4.16835,4.21153,-4.15744,-4.20089], "fy":[-4.13688,4.23222,4.27554,-4.09357]}, + {"t":3.77458, "x":6.14813, "y":7.23918, "heading":-0.0127, "vx":1.49511, "vy":-0.11607, "omega":-0.2543, "ax":0.00041, "ay":0.00528, "alpha":-1.6974, "fx":[4.75805,4.88013,-4.74725,-4.86968], "fy":[-4.8064,4.82114,4.94341,-4.68415]}, + {"t":3.81251, "x":6.20483, "y":7.23479, "heading":-0.02234, "vx":1.49512, "vy":-0.11587, "omega":-0.31867, "ax":0.0004, "ay":0.00522, "alpha":-1.92701, "fx":[5.34726,5.59122,-5.33655,-5.58097], "fy":[-5.51838,5.40961,5.65381,-5.2742]}, + {"t":3.85043, "x":6.26152, "y":7.2304, "heading":-0.03442, "vx":1.49514, "vy":-0.11568, "omega":-0.39175, "ax":0.0004, "ay":0.00516, "alpha":-2.15909, "fx":[5.91452,6.33579,-5.90389,-6.32572], "fy":[-6.26378,5.97617,6.39772,-5.84223]}, + {"t":3.88835, "x":6.31822, "y":7.22601, "heading":-0.04928, "vx":1.49515, "vy":-0.11548, "omega":-0.47362, "ax":0.00039, "ay":0.00511, "alpha":-2.38735, "fx":[6.43448,7.10126,-6.42391,-7.09137], "fy":[-7.03003,6.49548,7.16259,-6.36291]}, + {"t":3.92627, "x":6.37492, "y":7.22164, "heading":-0.06724, "vx":1.49517, "vy":-0.11529, "omega":-0.56415, "ax":0.00039, "ay":0.00506, "alpha":-2.60391, "fx":[6.87753,7.8696,-6.86701,-7.85989], "fy":[-7.79909,6.93794,7.9304,-6.80659]}, + {"t":3.96419, "x":6.43162, "y":7.21727, "heading":-0.08863, "vx":1.49518, "vy":-0.1151, "omega":-0.6629, "ax":0.00039, "ay":0.00502, "alpha":-2.79984, "fx":[7.21201,8.61744,-7.20153,-8.60789], "fy":[-8.54756,7.27192,8.67777,-7.14162]}, + {"t":4.00211, "x":6.48832, "y":7.21291, "heading":-0.11377, "vx":1.4952, "vy":-0.11491, "omega":-0.76907, "ax":0.00038, "ay":0.00498, "alpha":-2.96441, "fx":[7.40396,9.31252,-7.39352,-9.3031], "fy":[-9.24316,7.46347,9.37246,-7.33401]}, + {"t":4.04004, "x":6.54502, "y":7.20855, "heading":-0.14294, "vx":1.49521, "vy":-0.11472, "omega":-0.88149, "ax":0.00038, "ay":0.00496, "alpha":-3.08637, "fx":[7.42249,9.91594,-7.41208,-9.90662], "fy":[-9.84697,7.48171,9.97559,-7.35286]}, + {"t":4.07796, "x":6.60172, "y":7.20421, "heading":-0.17636, "vx":1.49522, "vy":-0.11453, "omega":-0.99853, "ax":0.00038, "ay":0.00495, "alpha":-3.15272, "fx":[7.23932,10.37655,-7.22894,-10.36729], "fy":[-10.30781,7.29838,10.43601,-7.16987]}, + {"t":4.11588, "x":6.65842, "y":7.19987, "heading":-0.21423, "vx":1.49524, "vy":-0.11434, "omega":-1.11808, "ax":0.00038, "ay":0.00494, "alpha":-3.15124, "fx":[6.83826,10.63798,-6.82791,-10.62873], "fy":[-10.56932,6.89732,10.69739,-6.76884]}, + {"t":4.1538, "x":6.71513, "y":7.19554, "heading":-0.25663, "vx":1.49525, "vy":-0.11415, "omega":-1.23758, "ax":0.00038, "ay":0.00495, "alpha":-3.06881, "fx":[6.21458,10.63261,-6.20429,-10.62331], "fy":[-10.56383,6.2738,10.69209,-6.14507]}, + {"t":4.19172, "x":6.77183, "y":7.19121, "heading":-0.30356, "vx":1.49527, "vy":-0.11397, "omega":-1.35396, "ax":0.00038, "ay":0.00497, "alpha":-2.89511, "fx":[5.38626,10.29487,-5.37601,-10.28547], "fy":[-10.2258,5.44575,10.35454,-5.31651]}, + {"t":4.22964, "x":6.82853, "y":7.18689, "heading":-0.3549, "vx":1.49528, "vy":-0.11378, "omega":-1.46375, "ax":0.00038, "ay":0.005, "alpha":-2.62144, "fx":[4.39295,9.56002,-4.38277,-9.55049], "fy":[-9.49052,4.45283,9.61999,-4.32288]}, + {"t":4.26757, "x":6.88524, "y":7.18258, "heading":-0.41041, "vx":1.4953, "vy":-0.11359, "omega":-1.56316, "ax":0.00038, "ay":0.00503, "alpha":-2.24416, "fx":[3.30181,8.38068,-3.29168,-8.371], "fy":[-8.31067,3.36212,8.44101,-3.23137]}, + {"t":4.30549, "x":6.94194, "y":7.17828, "heading":-0.46969, "vx":1.49531, "vy":-0.1134, "omega":-1.64826, "ax":0.00038, "ay":0.00506, "alpha":-1.76524, "fx":[2.20337,6.73536,-2.1933,-6.72554], "fy":[-6.66485,2.26407,6.79604,-2.1326]}, + {"t":4.34341, "x":6.99865, "y":7.17398, "heading":-0.53219, "vx":1.49533, "vy":-0.11321, "omega":-1.7152, "ax":0.00038, "ay":0.00508, "alpha":-1.1931, "fx":[1.20378,4.6379,-1.19376,-4.62797], "fy":[-4.56704,1.26474,4.69883,-1.13281]}, + {"t":4.38133, "x":7.05535, "y":7.16969, "heading":-0.59724, "vx":1.49534, "vy":-0.11301, "omega":-1.76044, "ax":0.00038, "ay":0.00508, "alpha":-0.5443, "fx":[0.41334,2.14962,-0.40337,-2.13967], "fy":[-2.07868,0.47433,2.21061,-0.34238]}, + {"t":4.41925, "x":7.11206, "y":7.16541, "heading":-0.664, "vx":1.49535, "vy":-0.11282, "omega":-1.78108, "ax":0.00038, "ay":0.00506, "alpha":0.16046, "fx":[-0.07299,-0.63393,0.08289,0.64383], "fy":[0.70458,-0.01224,-0.57318,0.14364]}, + {"t":4.45717, "x":7.16876, "y":7.16114, "heading":-0.73154, "vx":1.49537, "vy":-0.11263, "omega":-1.775, "ax":0.00038, "ay":0.00501, "alpha":0.89535, "fx":[-0.18841,-3.58115,0.19821,3.59093], "fy":[3.6511,-0.12821,-3.52098,0.25842]}, + {"t":4.4951, "x":7.22547, "y":7.15687, "heading":-0.79885, "vx":1.49538, "vy":-0.11244, "omega":-1.74105, "ax":0.00037, "ay":0.00494, "alpha":1.63651, "fx":[0.09313,-6.55863,-0.0835,6.56825], "fy":[6.62748,0.15251,-6.4994,-0.02412]}, + {"t":4.53302, "x":7.28218, "y":7.15261, "heading":-0.86487, "vx":1.4954, "vy":-0.11225, "omega":-1.67899, "ax":0.00036, "ay":0.00475, "alpha":2.36225, "fx":[0.75686,-9.4404,-0.74764,9.44968], "fy":[9.50655,0.81407,-9.38353,-0.69043]}, + {"t":4.57094, "x":7.33889, "y":7.14835, "heading":-0.92854, "vx":1.49541, "vy":-0.11207, "omega":-1.58941, "ax":-0.00012, "ay":-0.00161, "alpha":3.05792, "fx":[1.74818,-12.14141,-1.75129,12.13823], "fy":[12.11895,1.72869,-12.16068,-1.77078]}, + {"t":4.60886, "x":7.39559, "y":7.1441, "heading":-0.98881, "vx":1.49541, "vy":-0.11213, "omega":-1.47344, "ax":-0.03272, "ay":-0.40785, "alpha":3.70948, "fx":[2.59232,-15.0189,-3.42035,14.14826], "fy":[9.29843,-2.31933,-19.82206,-8.3297]}, + {"t":4.64678, "x":7.45228, "y":7.13956, "heading":-1.04469, "vx":1.49417, "vy":-0.1276, "omega":-1.33278, "ax":-2.51245, "ay":-10.87976, "alpha":1.11449, "fx":[-31.97076,-39.52926,-33.2393,-25.68889], "fy":[-139.50705,-139.51219,-142.94945,-142.82959]}, + {"t":4.6847, "x":7.50713, "y":7.1269, "heading":-1.09523, "vx":1.39889, "vy":-0.54018, "omega":-1.29051, "ax":-7.54052, "ay":-12.23055, "alpha":0.04634, "fx":[-97.93599,-98.16672,-97.78887,-97.55724], "fy":[-158.68109,-158.5434,-158.7797,-158.91721]}, + {"t":4.72262, "x":7.55476, "y":7.09762, "heading":-1.14417, "vx":1.11294, "vy":-1.00398, "omega":-1.28875, "ax":-11.44077, "ay":-8.69175, "alpha":0.04452, "fx":[-148.59251,-148.66266,-148.36878,-148.29768], "fy":[-112.65108,-112.56612,-112.95491,-113.04066]}, + {"t":4.76171, "x":7.58952, "y":7.05174, "heading":-1.19454, "vx":0.66582, "vy":-1.34366, "omega":-1.28701, "ax":-9.69155, "ay":-3.28102, "alpha":1.4415, "fx":[-126.04831,-129.6243,-125.62497,-121.81752], "fy":[-35.69927,-37.94537,-49.1097,-47.57237]}, + {"t":4.80079, "x":7.60814, "y":6.99673, "heading":-1.24483, "vx":0.28707, "vy":-1.47189, "omega":-1.23068, "ax":-0.27353, "ay":-0.05233, "alpha":3.84047, "fx":[3.26579,-17.34202,-10.38721,10.26382], "fy":[13.15311,6.13431,-14.46797,-7.53587]}, + {"t":4.83987, "x":7.61915, "y":6.93916, "heading":-1.29293, "vx":0.27638, "vy":-1.47393, "omega":-1.08059, "ax":-0.00338, "ay":-0.00063, "alpha":3.44362, "fx":[6.66903,-12.11505,-6.75705,12.02739], "fy":[12.06322,6.7046,-12.07922,-6.7215]}, + {"t":4.87895, "x":7.62995, "y":6.88156, "heading":-1.33516, "vx":0.27624, "vy":-1.47396, "omega":-0.94601, "ax":0.00035, "ay":0.00007, "alpha":3.07612, "fx":[6.45109,-10.51566,-6.44196,10.52477], "fy":[10.52106,6.44741,-10.51937,-6.44564]}, + {"t":4.91803, "x":7.64074, "y":6.82396, "heading":-1.37213, "vx":0.27626, "vy":-1.47396, "omega":-0.82579, "ax":0.00037, "ay":0.00007, "alpha":2.74182, "fx":[6.09344,-9.15334,-6.08381,9.16296], "fy":[9.15904,6.08955,-9.15726,-6.0877]}, + {"t":4.95711, "x":7.65154, "y":6.76635, "heading":-1.4044, "vx":0.27627, "vy":-1.47395, "omega":-0.71864, "ax":0.00034, "ay":0.00006, "alpha":2.44024, "fx":[5.68354,-7.96726,-5.67464,7.97615], "fy":[7.97254,5.67994,-7.97088,-5.67824]}, + {"t":4.99619, "x":7.66234, "y":6.70875, "heading":-1.43249, "vx":0.27628, "vy":-1.47395, "omega":-0.62327, "ax":0.00032, "ay":0.00006, "alpha":2.16995, "fx":[5.25124,-6.94,-5.243,6.94824], "fy":[6.94489,5.24791,-6.94335,-5.24634]}, + {"t":5.03527, "x":7.67313, "y":6.65114, "heading":-1.45685, "vx":0.2763, "vy":-1.47395, "omega":-0.53847, "ax":0.0003, "ay":0.00006, "alpha":1.92901, "fx":[4.8173,-6.05381,-4.80964,6.06147], "fy":[6.05836,4.8142,-6.05692,-4.81274]}, + {"t":5.07436, "x":7.68393, "y":6.59354, "heading":-1.47789, "vx":0.27631, "vy":-1.47395, "omega":-0.46308, "ax":0.00028, "ay":0.00005, "alpha":1.71522, "fx":[4.39596,-5.29145,-4.38882,5.2986], "fy":[5.29569,4.39307,-5.29435,-4.39171]}, + {"t":5.11344, "x":7.69473, "y":6.53594, "heading":-1.49599, "vx":0.27632, "vy":-1.47394, "omega":-0.39604, "ax":0.00026, "ay":0.00005, "alpha":1.52632, "fx":[3.99662,-4.63703,-3.98994,4.64371], "fy":[4.641,3.99392,-4.63974,-3.99265]}, + {"t":5.15252, "x":7.70553, "y":6.47833, "heading":-1.51147, "vx":0.27633, "vy":-1.47394, "omega":-0.33639, "ax":0.00024, "ay":0.00005, "alpha":1.3601, "fx":[3.6251,-4.07632,-3.61884,4.08257], "fy":[4.08003,3.62256,-4.07886,-3.62138]}, + {"t":5.1916, "x":7.71633, "y":6.42073, "heading":-1.52461, "vx":0.27634, "vy":-1.47394, "omega":-0.28324, "ax":0.00023, "ay":0.00004, "alpha":1.21445, "fx":[3.28465,-3.59683,-3.27878,3.6027], "fy":[3.60031,3.28227,-3.59921,-3.28116]}, + {"t":5.23068, "x":7.72713, "y":6.36313, "heading":-1.53568, "vx":0.27635, "vy":-1.47394, "omega":-0.23578, "ax":0.00021, "ay":0.00004, "alpha":1.08744, "fx":[2.97676,-3.1878,-2.97124,3.19332], "fy":[3.19108,2.97452,-3.19004,-2.97348]}, + {"t":5.26976, "x":7.73793, "y":6.30552, "heading":-1.5449, "vx":0.27636, "vy":-1.47394, "omega":-0.19328, "ax":0.0002, "ay":0.00004, "alpha":0.97729, "fx":[2.70167,-2.84005,-2.69648,2.84524], "fy":[2.84313,2.69957,-2.84215,-2.69859]}, + {"t":5.30884, "x":7.74873, "y":6.24792, "heading":-1.55245, "vx":0.27636, "vy":-1.47394, "omega":-0.15509, "ax":0.00019, "ay":0.00004, "alpha":0.88244, "fx":[2.45887,-2.54581,-2.45398,2.5507], "fy":[2.54872,2.45689,-2.54779,-2.45596]}, + {"t":5.34792, "x":7.75953, "y":6.19032, "heading":-1.55851, "vx":0.27637, "vy":-1.47393, "omega":-0.1206, "ax":0.00018, "ay":0.00003, "alpha":0.80147, "fx":[2.24734,-2.29858,-2.24273,2.30319], "fy":[2.30132,2.24548,-2.30045,-2.2446]}, + {"t":5.387, "x":7.77033, "y":6.13271, "heading":-1.56322, "vx":0.27638, "vy":-1.47393, "omega":-0.08928, "ax":0.00017, "ay":0.00003, "alpha":0.73319, "fx":[2.06584,-2.09298,-2.06149,2.09733], "fy":[2.09556,2.06407,-2.09474,-2.06325]}, + {"t":5.42609, "x":7.78113, "y":6.07511, "heading":-1.56671, "vx":0.27638, "vy":-1.47393, "omega":-0.06062, "ax":0.00016, "ay":0.00003, "alpha":0.67654, "fx":[1.91301,-1.92457,-1.9089,1.92868], "fy":[1.92701,1.91135,-1.92623,-1.91057]}, + {"t":5.46517, "x":7.79194, "y":6.01751, "heading":-1.56908, "vx":0.27639, "vy":-1.47393, "omega":-0.03418, "ax":0.00014, "ay":0.00009, "alpha":0.63066, "fx":[1.78742,-1.78991,-1.78379,1.79355], "fy":[1.79285,1.78672,-1.79061,-1.78448]}, + {"t":5.50425, "x":7.80274, "y":5.95991, "heading":-1.57042, "vx":0.2764, "vy":-1.47393, "omega":-0.00954, "ax":-1.73642, "ay":9.26047, "alpha":0.2418, "fx":[-21.4798,-23.38251,-23.59991,-21.68029], "fy":[120.70432,120.49594,119.66228,119.87391]}, + {"t":5.54333, "x":7.81221, "y":5.90938, "heading":-1.57079, "vx":0.20853, "vy":-1.11202, "omega":-0.00009, "ax":-2.66618, "ay":14.21756, "alpha":0.0015, "fx":[-34.5925,-34.6089,-34.61196,-34.59556], "fy":[184.52003,184.51696,184.51634,184.51941]}, + {"t":5.58241, "x":7.81833, "y":5.87677, "heading":-1.5708, "vx":0.10434, "vy":-0.55638, "omega":-0.00003, "ax":-2.66976, "ay":14.23647, "alpha":0.00071, "fx":[-34.64398,-34.65175,-34.6532,-34.64544], "fy":[184.76438,184.76293,184.76264,184.7641]}, + {"t":5.62149, "x":7.82037, "y":5.8659, "heading":-1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FLMtoCL.traj b/src/main/deploy/choreo/FLMtoCL.traj new file mode 100644 index 0000000..406d7ea --- /dev/null +++ b/src/main/deploy/choreo/FLMtoCL.traj @@ -0,0 +1,198 @@ +{ + "name":"FLMtoCL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":4.503572463989258, "heading":-1.5707963267948966, "intervals":47, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.016256809234619, "y":7.323315143585205, "heading":3.1172067680459215, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.617038249969482, "y":7.365917682647705, "heading":3.141592653589793, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":3.261221170425415, "y":7.2484235763549805, "heading":3.1415912186228, "intervals":47, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7636412382125854, "y":4.111053943634033, "heading":3.141592653589793, "intervals":35, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FLM.x", "val":7.82036542892456}, "y":{"exp":"FLM.y", "val":4.503572463989258}, "heading":{"exp":"FLM.heading", "val":-1.5707963267948966}, "intervals":47, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.016256809234619 m", "val":6.016256809234619}, "y":{"exp":"7.323315143585205 m", "val":7.323315143585205}, "heading":{"exp":"3.1172067680459215 rad", "val":3.1172067680459215}, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.617038249969482 m", "val":4.617038249969482}, "y":{"exp":"7.365917682647705 m", "val":7.365917682647705}, "heading":{"exp":"3.141592653589793 rad", "val":3.141592653589793}, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"3.261221170425415 m", "val":3.261221170425415}, "y":{"exp":"7.2484235763549805 m", "val":7.2484235763549805}, "heading":{"exp":"3.1415912186228 rad", "val":3.1415912186228}, "intervals":47, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"CL.x", "val":1.7636412382125854}, "y":{"exp":"CL.y", "val":4.111053943634033}, "heading":{"exp":"CL.heading", "val":3.141592653589793}, "intervals":35, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.28809,3.22446,4.13521,6.5092], + "samples":[ + {"t":0.0, "x":7.82037, "y":4.50357, "heading":-1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-7.73563, "ay":12.25383, "alpha":-0.00348, "fx":[-100.41739,-100.38921,-100.37144,-100.39962], "fy":[159.018,159.03577,159.04702,159.02926]}, + {"t":0.04868, "x":7.8112, "y":4.51809, "heading":-1.5708, "vx":-0.37659, "vy":0.59655, "omega":-0.00017, "ax":-7.72881, "ay":12.24303, "alpha":-0.00608, "fx":[-100.34608,-100.29681,-100.26579,-100.31505], "fy":[158.86698,158.89802,158.91771,158.8867]}, + {"t":0.09737, "x":7.78371, "y":4.56164, "heading":-1.5708, "vx":-0.75285, "vy":1.19257, "omega":-0.00047, "ax":-0.97989, "ay":1.55222, "alpha":-2.84739, "fx":[-21.037,-4.62851,-4.5427,-20.66053], "fy":[12.05293,12.19725,28.32375,28.00609]}, + {"t":0.14605, "x":7.74589, "y":4.62154, "heading":-1.57083, "vx":-0.80055, "vy":1.26814, "omega":-0.13908, "ax":0.0, "ay":0.0, "alpha":-2.51385, "fx":[-7.13,7.12952,7.12996,-7.12956], "fy":[-7.12951,-7.12995,7.12957,7.13001]}, + {"t":0.19473, "x":7.70692, "y":4.68328, "heading":-1.5776, "vx":-0.80056, "vy":1.26814, "omega":-0.26146, "ax":0.0, "ay":0.0, "alpha":-2.14857, "fx":[-6.13507,6.05217,6.13507,-6.05217], "fy":[-6.05217,-6.13507,6.05217,6.13507]}, + {"t":0.24341, "x":7.66795, "y":4.74501, "heading":-1.59033, "vx":-0.80056, "vy":1.26814, "omega":-0.36606, "ax":0.0, "ay":0.0, "alpha":-1.83551, "fx":[-5.30655,5.10322,5.30655,-5.10322], "fy":[-5.10322,-5.30655,5.10322,5.30655]}, + {"t":0.2921, "x":7.62897, "y":4.80675, "heading":-1.60815, "vx":-0.80056, "vy":1.26814, "omega":-0.45542, "ax":0.0, "ay":0.0, "alpha":-1.56736, "fx":[-4.60823,4.27623,4.60823,-4.27623], "fy":[-4.27623,-4.60823,4.27623,4.60823]}, + {"t":0.34078, "x":7.59, "y":4.86849, "heading":-1.63032, "vx":-0.80056, "vy":1.26814, "omega":-0.53172, "ax":0.0, "ay":0.0, "alpha":-1.33774, "fx":[-4.01306,3.56167,4.01306,-3.56167], "fy":[-3.56167,-4.01306,3.56167,4.01306]}, + {"t":0.38946, "x":7.55103, "y":4.93022, "heading":-1.6562, "vx":-0.80056, "vy":1.26814, "omega":-0.59685, "ax":0.0, "ay":0.0, "alpha":-1.14114, "fx":[-3.50078,2.94861,3.50078,-2.94861], "fy":[-2.94861,-3.50078,2.94861,3.50078]}, + {"t":0.43814, "x":7.51206, "y":4.99196, "heading":-1.68526, "vx":-0.80056, "vy":1.26814, "omega":-0.6524, "ax":0.0, "ay":0.0, "alpha":-0.9728, "fx":[-3.05611,2.42587,3.05611,-2.42587], "fy":[-2.42587,-3.05611,2.42587,3.05611]}, + {"t":0.48683, "x":7.47308, "y":5.0537, "heading":-1.71702, "vx":-0.80056, "vy":1.26814, "omega":-0.69976, "ax":0.0, "ay":0.0, "alpha":-0.82861, "fx":[-2.66744,1.98261,2.66744,-1.98261], "fy":[-1.98261,-2.66744,1.98261,2.66744]}, + {"t":0.53551, "x":7.43411, "y":5.11543, "heading":-1.75109, "vx":-0.80056, "vy":1.26814, "omega":-0.7401, "ax":0.0, "ay":0.0, "alpha":-0.70504, "fx":[-2.32578,1.60865,2.32578,-1.60865], "fy":[-1.60865,-2.32578,1.60865,2.32578]}, + {"t":0.58419, "x":7.39514, "y":5.17717, "heading":-1.78712, "vx":-0.80056, "vy":1.26814, "omega":-0.77442, "ax":0.0, "ay":0.0, "alpha":-0.59903, "fx":[-2.02404,1.29472,2.02404,-1.29472], "fy":[-1.29472,-2.02404,1.29472,2.02404]}, + {"t":0.63288, "x":7.35616, "y":5.23891, "heading":-1.82482, "vx":-0.80056, "vy":1.26814, "omega":-0.80359, "ax":0.0, "ay":0.0, "alpha":-0.50797, "fx":[-1.75652,1.03243,1.75652,-1.03243], "fy":[-1.03243,-1.75652,1.03243,1.75652]}, + {"t":0.68156, "x":7.31719, "y":5.30064, "heading":-1.86394, "vx":-0.80056, "vy":1.26814, "omega":-0.82832, "ax":0.0, "ay":0.0, "alpha":-0.42961, "fx":[-1.51855,0.81439,1.51855,-0.81439], "fy":[-0.81439,-1.51855,0.81439,1.51855]}, + {"t":0.73024, "x":7.27822, "y":5.36238, "heading":-1.90426, "vx":-0.80056, "vy":1.26814, "omega":-0.84923, "ax":0.0, "ay":0.0, "alpha":-0.36198, "fx":[-1.30612,0.63405,1.30612,-0.63405], "fy":[-0.63405,-1.30612,0.63405,1.30612]}, + {"t":0.77892, "x":7.23924, "y":5.42412, "heading":-1.94561, "vx":-0.80056, "vy":1.26814, "omega":-0.86685, "ax":0.0, "ay":0.0, "alpha":-0.30341, "fx":[-1.11584,0.48576,1.11584,-0.48576], "fy":[-0.48576,-1.11584,0.48576,1.11584]}, + {"t":0.82761, "x":7.20027, "y":5.48585, "heading":-1.98781, "vx":-0.80056, "vy":1.26814, "omega":-0.88162, "ax":0.0, "ay":0.0, "alpha":-0.25244, "fx":[-0.94459,0.36462,0.94459,-0.36462], "fy":[-0.36462,-0.94459,0.36462,0.94459]}, + {"t":0.87629, "x":7.1613, "y":5.54759, "heading":-2.03073, "vx":-0.80056, "vy":1.26814, "omega":-0.89391, "ax":0.0, "ay":0.0, "alpha":-0.20778, "fx":[-0.78963,0.26648,0.78963,-0.26648], "fy":[-0.26648,-0.78963,0.26648,0.78963]}, + {"t":0.92497, "x":7.12232, "y":5.60933, "heading":-2.07425, "vx":-0.80056, "vy":1.26814, "omega":-0.90403, "ax":0.0, "ay":0.0, "alpha":-0.16833, "fx":[-0.6485,0.18785,0.6485,-0.18785], "fy":[-0.18785,-0.6485,0.18785,0.6485]}, + {"t":0.97365, "x":7.08335, "y":5.67106, "heading":-2.11826, "vx":-0.80056, "vy":1.26814, "omega":-0.91222, "ax":0.0, "ay":0.0, "alpha":-0.1331, "fx":[-0.51883,0.12584,0.51883,-0.12584], "fy":[-0.12584,-0.51883,0.12584,0.51883]}, + {"t":1.02234, "x":7.04438, "y":5.7328, "heading":-2.16267, "vx":-0.80056, "vy":1.26814, "omega":-0.9187, "ax":0.0, "ay":0.0, "alpha":-0.1012, "fx":[-0.39833,0.07807,0.39833,-0.07807], "fy":[-0.07807,-0.39833,0.07807,0.39833]}, + {"t":1.07102, "x":7.0054, "y":5.79454, "heading":-2.20739, "vx":-0.80056, "vy":1.26814, "omega":-0.92363, "ax":0.0, "ay":0.0, "alpha":-0.07184, "fx":[-0.28496,0.04272,0.28496,-0.04272], "fy":[-0.04272,-0.28496,0.04272,0.28496]}, + {"t":1.1197, "x":6.96643, "y":5.85627, "heading":-2.25236, "vx":-0.80056, "vy":1.26814, "omega":-0.92713, "ax":0.0, "ay":0.0, "alpha":-0.04429, "fx":[-0.17668,0.01841,0.17668,-0.01841], "fy":[-0.01841,-0.17668,0.01841,0.17668]}, + {"t":1.16839, "x":6.92746, "y":5.91801, "heading":-2.29749, "vx":-0.80056, "vy":1.26814, "omega":-0.92928, "ax":0.0, "ay":0.0, "alpha":-0.01783, "fx":[-0.07138,0.0042,0.07138,-0.0042], "fy":[-0.0042,-0.07138,0.0042,0.07138]}, + {"t":1.21707, "x":6.88848, "y":5.97975, "heading":-2.34273, "vx":-0.80056, "vy":1.26814, "omega":-0.93015, "ax":0.0, "ay":0.0, "alpha":0.00817, "fx":[0.03278,-0.00044,-0.03278,0.00044], "fy":[0.00044,0.03278,-0.00044,-0.03278]}, + {"t":1.26575, "x":6.84951, "y":6.04148, "heading":-2.38801, "vx":-0.80056, "vy":1.26814, "omega":-0.92975, "ax":0.0, "ay":0.0, "alpha":0.03437, "fx":[0.13778,0.00438,-0.13778,-0.00438], "fy":[-0.00438,0.13778,0.00438,-0.13778]}, + {"t":1.31443, "x":6.81054, "y":6.10322, "heading":-2.43328, "vx":-0.80056, "vy":1.26814, "omega":-0.92808, "ax":0.0, "ay":0.0, "alpha":0.0614, "fx":[0.24556,0.01896,-0.24556,-0.01896], "fy":[-0.01896,0.24556,0.01896,-0.24556]}, + {"t":1.36312, "x":6.77156, "y":6.16495, "heading":-2.47846, "vx":-0.80056, "vy":1.26814, "omega":-0.92509, "ax":0.0, "ay":0.0, "alpha":0.08999, "fx":[0.35826,0.04402,-0.35826,-0.04402], "fy":[-0.04402,0.35826,0.04402,-0.35826]}, + {"t":1.4118, "x":6.73259, "y":6.22669, "heading":-2.52349, "vx":-0.80056, "vy":1.26814, "omega":-0.92071, "ax":0.0, "ay":0.0, "alpha":0.12085, "fx":[0.47795,0.08071,-0.47795,-0.08071], "fy":[-0.08071,0.47795,0.08071,-0.47795]}, + {"t":1.46048, "x":6.69362, "y":6.28843, "heading":-2.56832, "vx":-0.80056, "vy":1.26814, "omega":-0.91483, "ax":0.0, "ay":0.0, "alpha":0.15474, "fx":[0.60676,0.13067,-0.60676,-0.13067], "fy":[-0.13067,0.60676,0.13067,-0.60676]}, + {"t":1.50916, "x":6.65464, "y":6.35016, "heading":-2.61285, "vx":-0.80056, "vy":1.26814, "omega":-0.90729, "ax":0.0, "ay":0.0, "alpha":0.1925, "fx":[0.74683,0.196,-0.74683,-0.196], "fy":[-0.196,0.74683,0.196,-0.74683]}, + {"t":1.55785, "x":6.61567, "y":6.4119, "heading":-2.65702, "vx":-0.80056, "vy":1.26814, "omega":-0.89792, "ax":0.0, "ay":0.0, "alpha":0.2351, "fx":[0.90065,0.27941,-0.90065,-0.27941], "fy":[-0.27941,0.90065,0.27941,-0.90065]}, + {"t":1.60653, "x":6.5767, "y":6.47364, "heading":-2.70074, "vx":-0.80056, "vy":1.26814, "omega":-0.88648, "ax":0.0, "ay":0.0, "alpha":0.28359, "fx":[1.07062,0.38419,-1.07062,-0.38419], "fy":[-0.38419,1.07062,0.38419,-1.07062]}, + {"t":1.65521, "x":6.53772, "y":6.53537, "heading":-2.74389, "vx":-0.80056, "vy":1.26814, "omega":-0.87267, "ax":0.0, "ay":0.0, "alpha":0.33918, "fx":[1.25948,0.51432,-1.25948,-0.51432], "fy":[-0.51432,1.25948,0.51432,-1.25948]}, + {"t":1.7039, "x":6.49875, "y":6.59711, "heading":-2.78638, "vx":-0.80056, "vy":1.26814, "omega":-0.85616, "ax":0.0, "ay":0.0, "alpha":0.40327, "fx":[1.47014,0.67455,-1.47014,-0.67455], "fy":[-0.67455,1.47014,0.67455,-1.47014]}, + {"t":1.75258, "x":6.45978, "y":6.65885, "heading":-2.82806, "vx":-0.80056, "vy":1.26814, "omega":-0.83652, "ax":0.0, "ay":0.0, "alpha":0.47744, "fx":[1.70576,0.87045,-1.70576,-0.87045], "fy":[-0.87045,1.70576,0.87045,-1.70576]}, + {"t":1.80126, "x":6.42081, "y":6.72058, "heading":-2.86878, "vx":-0.80056, "vy":1.26814, "omega":-0.81328, "ax":0.0, "ay":0.0, "alpha":0.56354, "fx":[1.96986,1.10854,-1.96986,-1.10854], "fy":[-1.10854,1.96986,1.10854,-1.96986]}, + {"t":1.84994, "x":6.38183, "y":6.78232, "heading":-2.90837, "vx":-0.80056, "vy":1.26814, "omega":-0.78585, "ax":0.0, "ay":0.0, "alpha":0.66371, "fx":[2.26651,1.3964,-2.26651,-1.3964], "fy":[-1.3964,2.26651,1.3964,-2.26651]}, + {"t":1.89863, "x":6.34286, "y":6.84406, "heading":-2.94663, "vx":-0.80056, "vy":1.26814, "omega":-0.75354, "ax":0.0, "ay":0.0, "alpha":0.78042, "fx":[2.60031,1.74268,-2.60031,-1.74268], "fy":[-1.74268,2.60031,1.74268,-2.60031]}, + {"t":1.94731, "x":6.30389, "y":6.90579, "heading":-2.98331, "vx":-0.80056, "vy":1.26814, "omega":-0.71554, "ax":0.0, "ay":0.0, "alpha":0.91656, "fx":[2.97678,2.1573,-2.97678,-2.1573], "fy":[-2.1573,2.97678,2.1573,-2.97678]}, + {"t":1.99599, "x":6.26491, "y":6.96753, "heading":-3.01815, "vx":-0.80056, "vy":1.26814, "omega":-0.67092, "ax":0.0, "ay":0.0, "alpha":1.07546, "fx":[3.4026,2.65143,-3.4026,-2.65143], "fy":[-2.65143,3.4026,2.65143,-3.4026]}, + {"t":2.04468, "x":6.22594, "y":7.02927, "heading":-3.05081, "vx":-0.80056, "vy":1.26814, "omega":-0.61857, "ax":0.0, "ay":0.0, "alpha":1.26103, "fx":[3.88603,3.23754,-3.88604,-3.23755], "fy":[-3.23755,3.88603,3.23754,-3.88604]}, + {"t":2.09336, "x":6.18697, "y":7.091, "heading":-3.08092, "vx":-0.80056, "vy":1.26814, "omega":-0.55717, "ax":-0.00006, "ay":-0.00004, "alpha":1.47776, "fx":[4.4369,3.92865,-4.43839,-3.93013], "fy":[-3.92986,4.43717,3.92892,-4.43811]}, + {"t":2.14204, "x":6.14799, "y":7.15274, "heading":-3.10805, "vx":-0.80056, "vy":1.26814, "omega":-0.48523, "ax":-0.00777, "ay":-0.00491, "alpha":1.73088, "fx":[4.97009,4.64096,-5.1719,-4.84245], "fy":[-4.80552,5.00747,4.67789,-5.13452]}, + {"t":2.19072, "x":6.10901, "y":7.21447, "heading":-3.13167, "vx":-0.80094, "vy":1.2679, "omega":-0.40097, "ax":-1.03227, "ay":-0.68154, "alpha":1.99714, "fx":[-7.67068,-7.82853,-19.15327,-18.93541], "fy":[-14.53161,-3.12164,-3.20735,-14.51998]}, + {"t":2.23941, "x":6.06879, "y":7.27539, "heading":3.13199, "vx":-0.85119, "vy":1.23472, "omega":-0.30374, "ax":-9.36697, "ay":-10.28066, "alpha":0.09965, "fx":[-121.00094,-121.51325,-122.13101,-121.62009], "fy":[-133.9409,-133.43014,-132.90638,-133.41971]}, + {"t":2.28809, "x":6.01626, "y":7.32332, "heading":3.11721, "vx":-1.3072, "vy":0.73423, "omega":-0.29889, "ax":-3.86377, "ay":-13.29734, "alpha":0.09657, "fx":[-49.53617,-49.77777,-50.75557,-50.50947], "fy":[-172.76983,-172.65149,-172.3796,-172.50059]}, + {"t":2.33737, "x":5.94714, "y":7.34335, "heading":3.10248, "vx":-1.49762, "vy":0.0789, "omega":-0.29413, "ax":-0.03758, "ay":-1.07049, "alpha":1.74671, "fx":[4.27751,4.70198,-5.29158,-5.63864], "fy":[-19.00978,-9.16541,-8.77451,-18.6222]}, + {"t":2.38665, "x":5.87329, "y":7.34594, "heading":3.08798, "vx":-1.49947, "vy":0.02615, "omega":-0.20805, "ax":-0.00013, "ay":-0.00759, "alpha":1.49367, "fx":[4.00142,4.45564,-4.00503,-4.45886], "fy":[-4.55575,3.90471,4.35875,-4.10175]}, + {"t":2.43594, "x":5.79939, "y":7.34722, "heading":3.07773, "vx":-1.49947, "vy":0.02577, "omega":-0.13444, "ax":0.0, "ay":-0.00005, "alpha":1.25893, "fx":[3.33539,3.79116,-3.33542,-3.79118], "fy":[-3.79186,3.33471,3.79048,-3.3361]}, + {"t":2.48522, "x":5.72549, "y":7.34849, "heading":3.0711, "vx":-1.49947, "vy":0.02577, "omega":-0.07239, "ax":0.0, "ay":0.0, "alpha":1.05589, "fx":[2.77634,3.19819,-2.77634,-3.19819], "fy":[-3.1982,2.77634,3.19819,-2.77635]}, + {"t":2.5345, "x":5.6516, "y":7.34976, "heading":3.06753, "vx":-1.49947, "vy":0.02577, "omega":-0.02036, "ax":0.0, "ay":0.0, "alpha":0.87948, "fx":[2.30296,2.67209,-2.30296,-2.67209], "fy":[-2.67209,2.30296,2.67209,-2.30296]}, + {"t":2.58378, "x":5.5777, "y":7.35103, "heading":3.06653, "vx":-1.49947, "vy":0.02577, "omega":0.02298, "ax":0.0, "ay":0.0, "alpha":0.72527, "fx":[1.89696,2.20548,-1.89696,-2.20548], "fy":[-2.20548,1.89696,2.20548,-1.89696]}, + {"t":2.63307, "x":5.5038, "y":7.3523, "heading":3.06766, "vx":-1.49947, "vy":0.02577, "omega":0.05873, "ax":0.0, "ay":0.0, "alpha":0.58941, "fx":[1.54363,1.79058,-1.54363,-1.79058], "fy":[-1.79058,1.54363,1.79058,-1.54363]}, + {"t":2.68235, "x":5.4299, "y":7.35357, "heading":3.07056, "vx":-1.49947, "vy":0.02577, "omega":0.08778, "ax":0.0, "ay":0.0, "alpha":0.46845, "fx":[1.23096,1.41956,-1.23096,-1.41956], "fy":[-1.41956,1.23096,1.41956,-1.23096]}, + {"t":2.73163, "x":5.356, "y":7.35484, "heading":3.07488, "vx":-1.49947, "vy":0.02577, "omega":0.11086, "ax":0.0, "ay":0.0, "alpha":0.35935, "fx":[0.94899,1.08487,-0.94899,-1.08487], "fy":[-1.08487,0.94899,1.08487,-0.94899]}, + {"t":2.78091, "x":5.28211, "y":7.35611, "heading":3.08035, "vx":-1.49947, "vy":0.02577, "omega":0.12857, "ax":0.0, "ay":0.0, "alpha":0.25936, "fx":[0.68919,0.77924,-0.68919,-0.77924], "fy":[-0.77924,0.68919,0.77924,-0.68919]}, + {"t":2.8302, "x":5.20821, "y":7.35738, "heading":3.08668, "vx":-1.49947, "vy":0.02577, "omega":0.14135, "ax":0.0, "ay":0.0, "alpha":0.16594, "fx":[0.44409,0.49575,-0.44409,-0.49575], "fy":[-0.49575,0.44409,0.49575,-0.44409]}, + {"t":2.87948, "x":5.13431, "y":7.35865, "heading":3.09365, "vx":-1.49947, "vy":0.02577, "omega":0.14953, "ax":0.0, "ay":0.0, "alpha":0.07672, "fx":[0.20692,0.22778,-0.20692,-0.22778], "fy":[-0.22778,0.20692,0.22778,-0.20692]}, + {"t":2.92876, "x":5.06041, "y":7.35992, "heading":3.10102, "vx":-1.49947, "vy":0.02577, "omega":0.15331, "ax":0.0, "ay":0.0, "alpha":-0.01055, "fx":[-0.02869,-0.03112,0.02869,0.03112], "fy":[0.03112,-0.02869,-0.03112,0.02869]}, + {"t":2.97805, "x":4.98651, "y":7.36119, "heading":3.10858, "vx":-1.49947, "vy":0.02577, "omega":0.15279, "ax":0.0, "ay":0.0, "alpha":-0.09809, "fx":[-0.26887,-0.28723,0.26887,0.28723], "fy":[0.28723,-0.26887,-0.28723,0.26887]}, + {"t":3.02733, "x":4.91262, "y":7.36246, "heading":3.11611, "vx":-1.49947, "vy":0.02577, "omega":0.14796, "ax":0.0, "ay":0.0, "alpha":-0.18811, "fx":[-0.51976,-0.54695,0.51976,0.54695], "fy":[0.54695,-0.51977,-0.54696,0.51975]}, + {"t":3.07661, "x":4.83872, "y":7.36373, "heading":3.1234, "vx":-1.49947, "vy":0.02577, "omega":0.13869, "ax":0.0, "ay":-0.00007, "alpha":-0.28291, "fx":[-0.78766,-0.81686,0.78763,0.81683], "fy":[0.816,-0.78849,-0.81769,0.7868]}, + {"t":3.12589, "x":4.76482, "y":7.365, "heading":3.13023, "vx":-1.49947, "vy":0.02577, "omega":0.12475, "ax":-0.00016, "ay":-0.00927, "alpha":-0.38486, "fx":[-1.08113,-1.10592,1.07702,1.10184], "fy":[0.98362,-1.19933,-1.22414,0.95882]}, + {"t":3.17518, "x":4.69092, "y":7.36626, "heading":3.13638, "vx":-1.49948, "vy":0.02531, "omega":0.10578, "ax":0.01237, "ay":-1.30759, "alpha":-0.48856, "fx":[-1.23065,-1.24194,1.54815,1.56685], "fy":[-15.58873,-18.33755,-18.35138,-15.60271]}, + {"t":3.22446, "x":4.61704, "y":7.36592, "heading":3.14159, "vx":-1.49887, "vy":-0.03913, "omega":0.0817, "ax":0.06011, "ay":-1.37887, "alpha":-0.40464, "fx":[-0.37829,-0.37741,1.93589,1.94038], "fy":[-16.75879,-19.03347,-19.03155,-16.75709]}, + {"t":3.27239, "x":4.54526, "y":7.36246, "heading":-3.13768, "vx":-1.49599, "vy":-0.10523, "omega":0.0623, "ax":0.00075, "ay":-0.0106, "alpha":-0.35078, "fx":[-0.98908,-0.98127,1.00847,1.00069], "fy":[0.85336,-1.13639,-1.1286,0.86115]}, + {"t":3.32033, "x":4.47355, "y":7.3574, "heading":-3.13469, "vx":-1.49596, "vy":-0.10573, "omega":0.04549, "ax":0.00001, "ay":-0.00008, "alpha":-0.29794, "fx":[-0.85075,-0.83908,0.8509,0.83923], "fy":[0.83811,-0.85188,-0.84021,0.84978]}, + {"t":3.36826, "x":4.40184, "y":7.35233, "heading":-3.13251, "vx":-1.49596, "vy":-0.10574, "omega":0.03121, "ax":0.0, "ay":0.0, "alpha":-0.25224, "fx":[-0.72187,-0.70887,0.72187,0.70888], "fy":[0.70887,-0.72188,-0.70888,0.72187]}, + {"t":3.4162, "x":4.33014, "y":7.34726, "heading":-3.13101, "vx":-1.49596, "vy":-0.10574, "omega":0.01912, "ax":0.0, "ay":0.0, "alpha":-0.21259, "fx":[-0.60929,-0.59653,0.60929,0.59653], "fy":[0.59653,-0.60929,-0.59653,0.60929]}, + {"t":3.46413, "x":4.25843, "y":7.3422, "heading":-3.1301, "vx":-1.49596, "vy":-0.10574, "omega":0.00893, "ax":0.0, "ay":0.0, "alpha":-0.17804, "fx":[-0.51072,-0.49911,0.51072,0.49911], "fy":[0.49911,-0.51072,-0.49911,0.51072]}, + {"t":3.51206, "x":4.18672, "y":7.33713, "heading":-3.12967, "vx":-1.49596, "vy":-0.10574, "omega":0.00039, "ax":0.0, "ay":0.0, "alpha":-0.14776, "fx":[-0.42403,-0.41404,0.42403,0.41404], "fy":[0.41404,-0.42403,-0.41404,0.42403]}, + {"t":3.56, "x":4.11501, "y":7.33206, "heading":-3.12965, "vx":-1.49596, "vy":-0.10574, "omega":-0.00669, "ax":0.0, "ay":0.0, "alpha":-0.12102, "fx":[-0.34731,-0.33911,0.34731,0.33911], "fy":[0.33911,-0.34731,-0.33911,0.34731]}, + {"t":3.60793, "x":4.04331, "y":7.32699, "heading":-3.12997, "vx":-1.49596, "vy":-0.10574, "omega":-0.01249, "ax":0.0, "ay":0.0, "alpha":-0.09718, "fx":[-0.27881,-0.27241,0.27881,0.27241], "fy":[0.27241,-0.27881,-0.27241,0.27881]}, + {"t":3.65587, "x":3.9716, "y":7.32192, "heading":-3.13057, "vx":-1.49596, "vy":-0.10574, "omega":-0.01715, "ax":0.0, "ay":0.0, "alpha":-0.07568, "fx":[-0.21699,-0.21226,0.21699,0.21226], "fy":[0.21226,-0.21699,-0.21226,0.21699]}, + {"t":3.7038, "x":3.89989, "y":7.31685, "heading":-3.13139, "vx":-1.49596, "vy":-0.10574, "omega":-0.02078, "ax":0.0, "ay":0.0, "alpha":-0.05599, "fx":[-0.16041,-0.15717,0.16041,0.15717], "fy":[0.15717,-0.16041,-0.15717,0.16041]}, + {"t":3.75174, "x":3.82818, "y":7.31179, "heading":-3.13239, "vx":-1.49596, "vy":-0.10574, "omega":-0.02346, "ax":0.0, "ay":0.0, "alpha":-0.03765, "fx":[-0.10775,-0.10578,0.10775,0.10578], "fy":[0.10578,-0.10775,-0.10578,0.10775]}, + {"t":3.79967, "x":3.75647, "y":7.30672, "heading":-3.13351, "vx":-1.49596, "vy":-0.10574, "omega":-0.02526, "ax":0.0, "ay":0.0, "alpha":-0.0202, "fx":[-0.05776,-0.05683,0.05776,0.05683], "fy":[0.05683,-0.05776,-0.05683,0.05776]}, + {"t":3.84761, "x":3.68477, "y":7.30165, "heading":-3.13472, "vx":-1.49596, "vy":-0.10574, "omega":-0.02623, "ax":0.0, "ay":0.0, "alpha":-0.00324, "fx":[-0.00925,-0.00913,0.00925,0.00913], "fy":[0.00913,-0.00925,-0.00913,0.00925]}, + {"t":3.89554, "x":3.61306, "y":7.29658, "heading":-3.13598, "vx":-1.49596, "vy":-0.10574, "omega":-0.02639, "ax":0.0, "ay":0.0, "alpha":0.01364, "fx":[0.0389,0.03846,-0.03889,-0.03846], "fy":[-0.03847,0.03888,0.03845,-0.03891]}, + {"t":3.94347, "x":3.54135, "y":7.29151, "heading":-3.13725, "vx":-1.49596, "vy":-0.10574, "omega":-0.02573, "ax":0.00001, "ay":-0.00013, "alpha":0.03084, "fx":[0.08798,0.08722,-0.08774,-0.08698], "fy":[-0.0888,0.08616,0.08539,-0.08956]}, + {"t":3.99141, "x":3.46964, "y":7.28644, "heading":-3.13848, "vx":-1.49595, "vy":-0.10575, "omega":-0.02426, "ax":0.00122, "ay":-0.01718, "alpha":0.04879, "fx":[0.15462,0.15375,-0.12298,-0.12211], "fy":[-0.36084,-0.08411,-0.08497,-0.3617]}, + {"t":4.03934, "x":3.39794, "y":7.28135, "heading":-3.13964, "vx":-1.4959, "vy":-0.10657, "omega":-0.02192, "ax":0.23419, "ay":-2.19232, "alpha":0.06483, "fx":[3.22686,3.22803,2.85187,2.85092], "fy":[-28.63078,-28.27136,-28.27385,-28.63329]}, + {"t":4.08728, "x":3.3265, "y":7.27373, "heading":-3.14069, "vx":-1.48467, "vy":-0.21166, "omega":-0.01881, "ax":5.1235, "ay":-13.19366, "alpha":0.00217, "fx":[66.50021,66.50811,66.48713,66.47924], "fy":[-171.22761,-171.22395,-171.23187,-171.23552]}, + {"t":4.13521, "x":3.26122, "y":7.24842, "heading":3.14159, "vx":-1.23908, "vy":-0.84409, "omega":-0.01871, "ax":10.46672, "ay":-9.43724, "alpha":0.00234, "fx":[135.83877,135.85121,135.83926,135.82681], "fy":[-122.4793,-122.46476,-122.4772,-122.49174]}, + {"t":4.18572, "x":3.21199, "y":7.19375, "heading":3.14065, "vx":-0.7104, "vy":-1.32076, "omega":-0.01859, "ax":1.44555, "ay":-0.72754, "alpha":0.06723, "fx":[18.9478,18.95202,18.57345,18.56931], "fy":[-9.63254,-9.24842,-9.25179,-9.63607]}, + {"t":4.23623, "x":3.17795, "y":7.12611, "heading":3.13971, "vx":-0.63738, "vy":-1.35751, "omega":-0.01519, "ax":0.00979, "ay":-0.0046, "alpha":0.05855, "fx":[0.29284,0.29346,-0.03866,-0.03929], "fy":[-0.22602,0.10611,0.10673,-0.22539]}, + {"t":4.28674, "x":3.14577, "y":7.05753, "heading":3.13894, "vx":-0.63689, "vy":-1.35775, "omega":-0.01223, "ax":0.00006, "ay":-0.00003, "alpha":0.04973, "fx":[0.14152,0.14227,-0.13984,-0.14059], "fy":[-0.14182,0.14028,0.14103,-0.14107]}, + {"t":4.33725, "x":3.1136, "y":6.98895, "heading":3.13832, "vx":-0.63689, "vy":-1.35775, "omega":-0.00972, "ax":0.0, "ay":0.0, "alpha":0.04224, "fx":[0.11942,0.1202,-0.11941,-0.12019], "fy":[-0.1202,0.11941,0.12019,-0.11941]}, + {"t":4.38776, "x":3.08143, "y":6.92037, "heading":3.13783, "vx":-0.63689, "vy":-1.35775, "omega":-0.00759, "ax":0.0, "ay":0.0, "alpha":0.03588, "fx":[0.10137,0.10213,-0.10137,-0.10213], "fy":[-0.10213,0.10137,0.10213,-0.10137]}, + {"t":4.43827, "x":3.04926, "y":6.85179, "heading":3.13745, "vx":-0.63689, "vy":-1.35775, "omega":-0.00578, "ax":0.0, "ay":0.0, "alpha":0.03048, "fx":[0.08608,0.0868,-0.08608,-0.0868], "fy":[-0.0868,0.08608,0.0868,-0.08608]}, + {"t":4.48878, "x":3.01709, "y":6.78321, "heading":3.13716, "vx":-0.63689, "vy":-1.35775, "omega":-0.00424, "ax":0.0, "ay":0.0, "alpha":0.02589, "fx":[0.0731,0.07375,-0.0731,-0.07375], "fy":[-0.07375,0.0731,0.07375,-0.0731]}, + {"t":4.5393, "x":2.98492, "y":6.71463, "heading":3.13694, "vx":-0.63689, "vy":-1.35775, "omega":-0.00293, "ax":0.0, "ay":0.0, "alpha":0.02198, "fx":[0.06204,0.06262,-0.06204,-0.06262], "fy":[-0.06262,0.06204,0.06262,-0.06204]}, + {"t":4.58981, "x":2.95275, "y":6.64605, "heading":3.13679, "vx":-0.63689, "vy":-1.35775, "omega":-0.00182, "ax":0.0, "ay":0.0, "alpha":0.01865, "fx":[0.05264,0.05315,-0.05264,-0.05315], "fy":[-0.05315,0.05264,0.05315,-0.05264]}, + {"t":4.64032, "x":2.92058, "y":6.57747, "heading":3.1367, "vx":-0.63689, "vy":-1.35775, "omega":-0.00088, "ax":0.0, "ay":0.0, "alpha":0.01582, "fx":[0.04465,0.04509,-0.04465,-0.04509], "fy":[-0.04509,0.04465,0.04509,-0.04465]}, + {"t":4.69083, "x":2.88841, "y":6.50889, "heading":3.13666, "vx":-0.63689, "vy":-1.35775, "omega":-0.00008, "ax":0.0, "ay":0.0, "alpha":0.01341, "fx":[0.03784,0.03822,-0.03784,-0.03822], "fy":[-0.03822,0.03784,0.03822,-0.03784]}, + {"t":4.74134, "x":2.85624, "y":6.44031, "heading":3.13665, "vx":-0.63689, "vy":-1.35775, "omega":0.0006, "ax":0.0, "ay":0.0, "alpha":0.0114, "fx":[0.03216,0.03248,-0.03216,-0.03248], "fy":[-0.03248,0.03216,0.03248,-0.03216]}, + {"t":4.79185, "x":2.82407, "y":6.37173, "heading":3.13668, "vx":-0.63689, "vy":-1.35775, "omega":0.00117, "ax":0.0, "ay":0.0, "alpha":0.00969, "fx":[0.02735,0.02762,-0.02735,-0.02762], "fy":[-0.02762,0.02735,0.02762,-0.02735]}, + {"t":4.84236, "x":2.7919, "y":6.30315, "heading":3.13674, "vx":-0.63689, "vy":-1.35775, "omega":0.00166, "ax":0.0, "ay":0.0, "alpha":0.00824, "fx":[0.02327,0.02349,-0.02327,-0.02349], "fy":[-0.02349,0.02327,0.02349,-0.02327]}, + {"t":4.89287, "x":2.75973, "y":6.23457, "heading":3.13683, "vx":-0.63689, "vy":-1.35775, "omega":0.00208, "ax":0.0, "ay":0.0, "alpha":0.00702, "fx":[0.01981,0.02,-0.01981,-0.02], "fy":[-0.02,0.01981,0.02,-0.01981]}, + {"t":4.94338, "x":2.72756, "y":6.16599, "heading":3.13693, "vx":-0.63689, "vy":-1.35775, "omega":0.00243, "ax":0.0, "ay":0.0, "alpha":0.00593, "fx":[0.01674,0.01689,-0.01674,-0.01689], "fy":[-0.01689,0.01674,0.01689,-0.01674]}, + {"t":4.99389, "x":2.69539, "y":6.09741, "heading":3.13706, "vx":-0.63689, "vy":-1.35775, "omega":0.00273, "ax":0.0, "ay":0.0, "alpha":0.00498, "fx":[0.01406,0.01418,-0.01406,-0.01418], "fy":[-0.01418,0.01406,0.01418,-0.01406]}, + {"t":5.0444, "x":2.66322, "y":6.02883, "heading":3.13719, "vx":-0.63689, "vy":-1.35775, "omega":0.00299, "ax":0.0, "ay":0.0, "alpha":0.00418, "fx":[0.01181,0.01191,-0.01181,-0.01191], "fy":[-0.01191,0.01181,0.01191,-0.01181]}, + {"t":5.09491, "x":2.63105, "y":5.96025, "heading":3.13734, "vx":-0.63689, "vy":-1.35775, "omega":0.0032, "ax":0.0, "ay":0.0, "alpha":0.00349, "fx":[0.00985,0.00994,-0.00985,-0.00994], "fy":[-0.00994,0.00985,0.00994,-0.00985]}, + {"t":5.14542, "x":2.59889, "y":5.89167, "heading":3.13751, "vx":-0.63689, "vy":-1.35775, "omega":0.00337, "ax":0.0, "ay":0.0, "alpha":0.00291, "fx":[0.00821,0.00828,-0.00821,-0.00828], "fy":[-0.00828,0.00821,0.00828,-0.00821]}, + {"t":5.19593, "x":2.56672, "y":5.82309, "heading":3.13768, "vx":-0.63689, "vy":-1.35775, "omega":0.00352, "ax":0.0, "ay":0.0, "alpha":0.00238, "fx":[0.00674,0.00679,-0.00674,-0.00679], "fy":[-0.00679,0.00674,0.00679,-0.00674]}, + {"t":5.24644, "x":2.53455, "y":5.75451, "heading":3.13785, "vx":-0.63689, "vy":-1.35775, "omega":0.00364, "ax":0.0, "ay":0.0, "alpha":0.00193, "fx":[0.00545,0.00549,-0.00545,-0.00549], "fy":[-0.00549,0.00545,0.00549,-0.00545]}, + {"t":5.29695, "x":2.50238, "y":5.68593, "heading":3.13804, "vx":-0.63689, "vy":-1.35775, "omega":0.00374, "ax":0.0, "ay":0.0, "alpha":0.00151, "fx":[0.00426,0.00429,-0.00426,-0.00429], "fy":[-0.00429,0.00426,0.00429,-0.00426]}, + {"t":5.34746, "x":2.47021, "y":5.61735, "heading":3.13823, "vx":-0.63689, "vy":-1.35775, "omega":0.00381, "ax":0.0, "ay":0.0, "alpha":0.00113, "fx":[0.00319,0.00321,-0.00319,-0.00321], "fy":[-0.00321,0.00319,0.00321,-0.00319]}, + {"t":5.39797, "x":2.43804, "y":5.54877, "heading":3.13842, "vx":-0.63689, "vy":-1.35775, "omega":0.00387, "ax":0.0, "ay":0.0, "alpha":0.00079, "fx":[0.00224,0.00225,-0.00224,-0.00225], "fy":[-0.00225,0.00224,0.00225,-0.00224]}, + {"t":5.44848, "x":2.40587, "y":5.48019, "heading":3.13861, "vx":-0.63689, "vy":-1.35775, "omega":0.00391, "ax":0.0, "ay":0.0, "alpha":0.00047, "fx":[0.00132,0.00133,-0.00132,-0.00133], "fy":[-0.00133,0.00132,0.00133,-0.00132]}, + {"t":5.49899, "x":2.3737, "y":5.41161, "heading":3.13881, "vx":-0.63689, "vy":-1.35775, "omega":0.00393, "ax":0.0, "ay":0.0, "alpha":0.00017, "fx":[0.00049,0.0005,-0.00049,-0.0005], "fy":[-0.0005,0.00049,0.0005,-0.00049]}, + {"t":5.5495, "x":2.34153, "y":5.34302, "heading":3.13901, "vx":-0.63689, "vy":-1.35775, "omega":0.00394, "ax":0.0, "ay":0.0, "alpha":-0.00013, "fx":[-0.00036,-0.00036,0.00036,0.00036], "fy":[0.00036,-0.00036,-0.00036,0.00036]}, + {"t":5.60001, "x":2.30936, "y":5.27444, "heading":3.13921, "vx":-0.63689, "vy":-1.35775, "omega":0.00394, "ax":0.0, "ay":0.0, "alpha":-0.00044, "fx":[-0.00124,-0.00125,0.00124,0.00125], "fy":[0.00125,-0.00124,-0.00125,0.00124]}, + {"t":5.65052, "x":2.27719, "y":5.20586, "heading":3.13941, "vx":-0.63689, "vy":-1.35775, "omega":0.00391, "ax":0.0, "ay":0.0, "alpha":-0.00074, "fx":[-0.0021,-0.00211,0.0021,0.00211], "fy":[0.00211,-0.0021,-0.00211,0.0021]}, + {"t":5.70104, "x":2.24502, "y":5.13728, "heading":3.13961, "vx":-0.63689, "vy":-1.35775, "omega":0.00388, "ax":0.0, "ay":0.0, "alpha":-0.00107, "fx":[-0.00302,-0.00303,0.00302,0.00303], "fy":[0.00303,-0.00302,-0.00303,0.00302]}, + {"t":5.75155, "x":2.21285, "y":5.0687, "heading":3.1398, "vx":-0.63689, "vy":-1.35775, "omega":0.00382, "ax":0.0, "ay":0.0, "alpha":-0.00144, "fx":[-0.00409,-0.0041,0.00409,0.0041], "fy":[0.0041,-0.00409,-0.0041,0.00409]}, + {"t":5.80206, "x":2.18068, "y":5.00012, "heading":3.14, "vx":-0.63689, "vy":-1.35775, "omega":0.00375, "ax":0.0, "ay":0.0, "alpha":-0.00185, "fx":[-0.00524,-0.00525,0.00524,0.00525], "fy":[0.00525,-0.00524,-0.00525,0.00524]}, + {"t":5.85257, "x":2.14851, "y":4.93154, "heading":3.14018, "vx":-0.63689, "vy":-1.35775, "omega":0.00366, "ax":0.0, "ay":0.0, "alpha":-0.00231, "fx":[-0.00655,-0.00657,0.00655,0.00657], "fy":[0.00657,-0.00655,-0.00657,0.00655]}, + {"t":5.90308, "x":2.11634, "y":4.86296, "heading":3.14037, "vx":-0.63689, "vy":-1.35775, "omega":0.00354, "ax":0.0, "ay":0.0, "alpha":-0.00283, "fx":[-0.00801,-0.00803,0.00801,0.00803], "fy":[0.00803,-0.00801,-0.00803,0.00801]}, + {"t":5.95359, "x":2.08417, "y":4.79438, "heading":3.14055, "vx":-0.63689, "vy":-1.35775, "omega":0.0034, "ax":0.0, "ay":0.0, "alpha":-0.00341, "fx":[-0.00967,-0.00969,0.00967,0.00969], "fy":[0.00969,-0.00967,-0.00969,0.00967]}, + {"t":6.0041, "x":2.052, "y":4.7258, "heading":3.14072, "vx":-0.63689, "vy":-1.35775, "omega":0.00323, "ax":0.0, "ay":0.0, "alpha":-0.00408, "fx":[-0.01157,-0.01159,0.01157,0.01159], "fy":[0.01159,-0.01157,-0.01159,0.01157]}, + {"t":6.05461, "x":2.01984, "y":4.65722, "heading":3.14088, "vx":-0.63689, "vy":-1.35775, "omega":0.00302, "ax":0.0, "ay":0.0, "alpha":-0.00487, "fx":[-0.0138,-0.01382,0.0138,0.01382], "fy":[0.01382,-0.0138,-0.01382,0.0138]}, + {"t":6.10512, "x":1.98767, "y":4.58864, "heading":3.14104, "vx":-0.63689, "vy":-1.35775, "omega":0.00277, "ax":0.0, "ay":0.0, "alpha":-0.00578, "fx":[-0.01639,-0.01641,0.01639,0.01641], "fy":[0.01641,-0.01639,-0.01641,0.01639]}, + {"t":6.15563, "x":1.9555, "y":4.52006, "heading":3.14118, "vx":-0.63689, "vy":-1.35775, "omega":0.00248, "ax":0.0, "ay":0.0, "alpha":-0.00685, "fx":[-0.01942,-0.01944,0.01942,0.01944], "fy":[0.01944,-0.01942,-0.01944,0.01942]}, + {"t":6.20614, "x":1.92333, "y":4.45148, "heading":3.1413, "vx":-0.63689, "vy":-1.35775, "omega":0.00213, "ax":0.0, "ay":0.0, "alpha":-0.0081, "fx":[-0.02297,-0.02298,0.02297,0.02298], "fy":[0.02298,-0.02297,-0.02298,0.02297]}, + {"t":6.25665, "x":1.89116, "y":4.3829, "heading":3.14141, "vx":-0.63689, "vy":-1.35775, "omega":0.00173, "ax":0.0, "ay":0.0, "alpha":-0.00957, "fx":[-0.02714,-0.02715,0.02714,0.02715], "fy":[0.02715,-0.02714,-0.02715,0.02714]}, + {"t":6.30716, "x":1.85899, "y":4.31432, "heading":3.1415, "vx":-0.63689, "vy":-1.35775, "omega":0.00124, "ax":0.0, "ay":0.0, "alpha":-0.0113, "fx":[-0.03203,-0.03203,0.03204,0.03205], "fy":[0.03205,-0.03202,-0.03203,0.03204]}, + {"t":6.35767, "x":1.82682, "y":4.24574, "heading":3.14156, "vx":-0.63689, "vy":-1.35775, "omega":0.00067, "ax":0.30521, "ay":0.65065, "alpha":-0.01326, "fx":[3.92328,3.92342,3.99875,3.99861], "fy":[8.4819,8.40682,8.40667,8.48176]}, + {"t":6.40818, "x":1.79504, "y":4.17799, "heading":3.14159, "vx":-0.62147, "vy":-1.32488, "omega":0.0, "ax":6.14936, "ay":13.10951, "alpha":-0.00003, "fx":[79.80739,79.8075,79.80773,79.80762], "fy":[170.13775,170.13769,170.13758,170.13764]}, + {"t":6.45869, "x":1.77149, "y":4.12779, "heading":3.14159, "vx":-0.31086, "vy":-0.66272, "omega":0.0, "ax":6.15445, "ay":13.12036, "alpha":-0.00001, "fx":[79.87349,79.87355,79.87369,79.87362], "fy":[170.27847,170.27844,170.27838,170.27841]}, + {"t":6.5092, "x":1.76364, "y":4.11105, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FLMtoSL.traj b/src/main/deploy/choreo/FLMtoSL.traj new file mode 100644 index 0000000..139cad5 --- /dev/null +++ b/src/main/deploy/choreo/FLMtoSL.traj @@ -0,0 +1,543 @@ +{ + "name":"FLMtoSL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":4.503572463989258, "heading":-1.5707963267948966, "intervals":215, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.714456081390381, "y":7.341778755187988, "heading":-3.116906638819587, "intervals":152, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.465227127075195, "y":7.376699447631836, "heading":3.127229582083786, "intervals":112, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":2.814626932144165, "y":7.330637454986572, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.01 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FLM.x", "val":7.82036542892456}, "y":{"exp":"FLM.y", "val":4.503572463989258}, "heading":{"exp":"FLM.heading", "val":-1.5707963267948966}, "intervals":215, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.714456081390381 m", "val":6.714456081390381}, "y":{"exp":"7.341778755187988 m", "val":7.341778755187988}, "heading":{"exp":"-3.116906638819587 rad", "val":-3.116906638819587}, "intervals":152, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.465227127075195 m", "val":4.465227127075195}, "y":{"exp":"7.376699447631836 m", "val":7.376699447631836}, "heading":{"exp":"3.127229582083786 rad", "val":3.127229582083786}, "intervals":112, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"SL.x", "val":2.814626932144165}, "y":{"exp":"SL.y", "val":7.330637454986572}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.01 s", + "val":0.01 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.08886,3.59382,4.74782], + "samples":[ + {"t":0.0, "x":7.82037, "y":4.50357, "heading":-1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-5.11499, "ay":13.50502, "alpha":-0.02092, "fx":[-66.52567,-66.31878,-66.24093,-66.44765], "fy":[175.21632,175.29434,175.3248,175.24695]}, + {"t":0.00972, "x":7.82012, "y":4.50421, "heading":-1.5708, "vx":-0.0497, "vy":0.13121, "omega":-0.0002, "ax":-5.11255, "ay":13.4986, "alpha":-0.02266, "fx":[-66.50579,-66.28179,-66.19755,-66.42136], "fy":[175.12847,175.21291,175.24598,175.16174]}, + {"t":0.01943, "x":7.8194, "y":4.50612, "heading":-1.5708, "vx":-0.09937, "vy":0.26236, "omega":-0.00042, "ax":-5.10952, "ay":13.4906, "alpha":-0.02483, "fx":[-66.48105,-66.23573,-66.14356,-66.38863], "fy":[175.01906,175.11147,175.14783,175.05565]}, + {"t":0.02915, "x":7.81819, "y":4.50931, "heading":-1.5708, "vx":-0.14901, "vy":0.39343, "omega":-0.00066, "ax":-5.10563, "ay":13.48037, "alpha":-0.0276, "fx":[-66.44938,-66.17681,-66.07451,-66.34678], "fy":[174.87906,174.98166,175.02223,174.91993]}, + {"t":0.03886, "x":7.8165, "y":4.51377, "heading":-1.57081, "vx":-0.19861, "vy":0.5244, "omega":-0.00093, "ax":-5.10049, "ay":13.46681, "alpha":-0.03128, "fx":[-66.40743,-66.09876,-65.98307,-66.29135], "fy":[174.69355,174.80961,174.85584,174.74015]}, + {"t":0.04858, "x":7.81433, "y":4.5195, "heading":-1.57082, "vx":-0.24817, "vy":0.65524, "omega":-0.00124, "ax":-5.09336, "ay":13.448, "alpha":-0.03639, "fx":[-66.34917,-65.99046,-65.85628,-66.21447], "fy":[174.43608,174.57076,174.62494,174.49076]}, + {"t":0.05829, "x":7.81168, "y":4.5265, "heading":-1.57083, "vx":-0.29765, "vy":0.78589, "omega":-0.00159, "ax":-5.0828, "ay":13.42014, "alpha":-0.04398, "fx":[-66.26282,-65.83008,-65.66867,-66.10066], "fy":[174.05475,174.21688,174.28305,174.12165]}, + {"t":0.06801, "x":7.80855, "y":4.53477, "heading":-1.57085, "vx":-0.34704, "vy":0.91628, "omega":-0.00202, "ax":-5.06557, "ay":13.37466, "alpha":-0.05639, "fx":[-66.12162,-65.56822,-65.3628,-65.91496], "fy":[173.4321,173.63871,173.725,173.51959]}, + {"t":0.07773, "x":7.80494, "y":4.5443, "heading":-1.57087, "vx":-0.39625, "vy":1.04622, "omega":-0.00257, "ax":-5.03242, "ay":13.28718, "alpha":-0.08037, "fx":[-65.84907,-65.06425,-64.77563,-65.55796], "fy":[172.23385,172.52484,172.65184,172.36322]}, + {"t":0.08744, "x":7.80085, "y":4.55509, "heading":-1.57089, "vx":-0.44515, "vy":1.17532, "omega":-0.00335, "ax":-4.94262, "ay":13.05013, "alpha":-0.1461, "fx":[-65.10411,-63.69678,-63.19248,-64.5918], "fy":[168.98396,169.49587,169.74624,169.24178]}, + {"t":0.09716, "x":7.79629, "y":4.56713, "heading":-1.57092, "vx":-0.49317, "vy":1.30211, "omega":-0.00477, "ax":-3.85716, "ay":10.18455, "alpha":-1.02265, "fx":[-55.33525,-46.9462,-44.92064,-53.03364], "fy":[129.37827,131.6251,134.89643,132.80826]}, + {"t":0.10687, "x":7.79132, "y":4.58026, "heading":-1.57097, "vx":-0.53064, "vy":1.40106, "omega":-0.0147, "ax":-0.00983, "ay":0.02659, "alpha":-3.53862, "fx":[-10.16776,9.90887,9.90858,-10.16015], "fy":[-9.6887,-9.69342,10.38023,10.38205]}, + {"t":0.11659, "x":7.78617, "y":4.59387, "heading":-1.57111, "vx":-0.53074, "vy":1.40131, "omega":-0.04908, "ax":0.00015, "ay":0.00009, "alpha":-3.43038, "fx":[-9.73035,9.72815,9.73429,-9.72414], "fy":[-9.725,-9.73109,9.72728,9.7334]}, + {"t":0.1263, "x":7.78101, "y":4.60749, "heading":-1.57159, "vx":-0.53073, "vy":1.40131, "omega":-0.08241, "ax":0.00015, "ay":0.00006, "alpha":-3.32525, "fx":[-9.43657,9.42553,9.44046,-9.42162], "fy":[-9.42283,-9.43775,9.42431,9.43927]}, + {"t":0.13602, "x":7.77585, "y":4.6211, "heading":-1.57239, "vx":-0.53073, "vy":1.40132, "omega":-0.11472, "ax":0.00015, "ay":0.00006, "alpha":-3.22323, "fx":[-9.15433,9.12907,9.15819,-9.1252], "fy":[-9.1264,-9.15551,9.12787,9.15701]}, + {"t":0.14573, "x":7.7707, "y":4.63472, "heading":-1.5735, "vx":-0.53073, "vy":1.40132, "omega":-0.14603, "ax":0.00015, "ay":0.00006, "alpha":-3.12426, "fx":[-8.88299,8.83895,8.88692,-8.835], "fy":[-8.83622,-8.88419,8.83773,8.88572]}, + {"t":0.15545, "x":7.76554, "y":4.64833, "heading":-1.57492, "vx":-0.53073, "vy":1.40132, "omega":-0.17639, "ax":0.00016, "ay":0.00006, "alpha":-3.02824, "fx":[-8.62201,8.5552,8.62607,-8.55113], "fy":[-8.55239,-8.62325,8.55394,8.62483]}, + {"t":0.16517, "x":7.76038, "y":4.66194, "heading":-1.57664, "vx":-0.53073, "vy":1.40132, "omega":-0.20581, "ax":0.00016, "ay":0.00006, "alpha":-2.9351, "fx":[-8.37088,8.27785,8.37507,-8.27364], "fy":[-8.27495,-8.37216,8.27654,8.37379]}, + {"t":0.17488, "x":7.75523, "y":4.67556, "heading":-1.57864, "vx":-0.53073, "vy":1.40132, "omega":-0.23432, "ax":0.00017, "ay":0.00006, "alpha":-2.84474, "fx":[-8.12908,8.00692,8.13342,-8.00258], "fy":[-8.00392,-8.13041,8.00558,8.13209]}, + {"t":0.1846, "x":7.75007, "y":4.68917, "heading":-1.58091, "vx":-0.53073, "vy":1.40132, "omega":-0.26196, "ax":0.00017, "ay":0.00007, "alpha":-2.75711, "fx":[-7.89615,7.74243,7.90063,-7.73794], "fy":[-7.73933,-7.89752,7.74104,7.89926]}, + {"t":0.19431, "x":7.74491, "y":4.70279, "heading":-1.58346, "vx":-0.53072, "vy":1.40132, "omega":-0.28875, "ax":0.00018, "ay":0.00007, "alpha":-2.6721, "fx":[-7.67163,7.48436,7.67625,-7.47972], "fy":[-7.48116,-7.67304,7.48292,7.67484]}, + {"t":0.20403, "x":7.73976, "y":4.7164, "heading":-1.58626, "vx":-0.53072, "vy":1.40132, "omega":-0.31471, "ax":0.00018, "ay":0.00007, "alpha":-2.58966, "fx":[-7.4551,7.23268,7.45987,-7.2279], "fy":[-7.22938,-7.45656,7.23121,7.45841]}, + {"t":0.21374, "x":7.7346, "y":4.73002, "heading":-1.58932, "vx":-0.53072, "vy":1.40132, "omega":-0.33987, "ax":0.00019, "ay":0.00007, "alpha":-2.50969, "fx":[-7.24615,6.98738,7.25107,-6.98245], "fy":[-6.98397,-7.24765,6.98585,7.24956]}, + {"t":0.22346, "x":7.72945, "y":4.74363, "heading":-1.59262, "vx":-0.53072, "vy":1.40132, "omega":-0.36425, "ax":0.0002, "ay":0.00008, "alpha":-2.43215, "fx":[-7.04441,6.74839,7.04947,-6.74331], "fy":[-6.74488,-7.04596,6.74682,7.04792]}, + {"t":0.23318, "x":7.72429, "y":4.75725, "heading":-1.59616, "vx":-0.53072, "vy":1.40132, "omega":-0.38788, "ax":0.0002, "ay":0.00008, "alpha":-2.35694, "fx":[-6.84952,6.51566,6.85474,-6.51043], "fy":[-6.51205,-6.85112,6.51404,6.85314]}, + {"t":0.24289, "x":7.71913, "y":4.77086, "heading":-1.59993, "vx":-0.53071, "vy":1.40132, "omega":-0.41078, "ax":0.00021, "ay":0.00008, "alpha":-2.28401, "fx":[-6.66115,6.28912,6.66651,-6.28375], "fy":[-6.28541,-6.6628,6.28746,6.66487]}, + {"t":0.25261, "x":7.71398, "y":4.78448, "heading":-1.60392, "vx":-0.53071, "vy":1.40132, "omega":-0.43297, "ax":0.00021, "ay":0.00008, "alpha":-2.21328, "fx":[-6.47898,6.06871,6.4845,-6.06319], "fy":[-6.06489,-6.48067,6.067,6.48281]}, + {"t":0.26232, "x":7.70882, "y":4.79809, "heading":-1.60813, "vx":-0.53071, "vy":1.40132, "omega":-0.45448, "ax":0.00022, "ay":0.00008, "alpha":-2.14469, "fx":[-6.30272,5.85434,6.30838,-5.84866], "fy":[-5.85041,-6.30445,5.85258,6.30665]}, + {"t":0.27204, "x":7.70366, "y":4.81171, "heading":-1.61254, "vx":-0.53071, "vy":1.40132, "omega":-0.47531, "ax":0.00022, "ay":0.00009, "alpha":-2.07818, "fx":[-6.13208,5.64592,6.13789,-5.64009], "fy":[-5.64189,-6.13386,5.64412,6.13611]}, + {"t":0.28175, "x":7.69851, "y":4.82532, "heading":-1.61716, "vx":-0.53071, "vy":1.40133, "omega":-0.49551, "ax":0.00023, "ay":0.00009, "alpha":-2.01369, "fx":[-5.96679,5.44336,5.97276,-5.43738], "fy":[-5.43923,-5.96863,5.44151,5.97093]}, + {"t":0.29147, "x":7.69335, "y":4.83894, "heading":-1.62198, "vx":-0.5307, "vy":1.40133, "omega":-0.51507, "ax":0.00024, "ay":0.00009, "alpha":-1.95115, "fx":[-5.80663,5.24657,5.81275,-5.24043], "fy":[-5.24233,-5.8085,5.24467,5.81087]}, + {"t":0.30119, "x":7.6882, "y":4.85255, "heading":-1.62698, "vx":-0.5307, "vy":1.40133, "omega":-0.53403, "ax":0.00024, "ay":0.00009, "alpha":-1.89051, "fx":[-5.65133,5.05544,5.65761,-5.04915], "fy":[-5.0511,-5.65326,5.0535,5.65569]}, + {"t":0.3109, "x":7.68304, "y":4.86617, "heading":-1.63217, "vx":-0.5307, "vy":1.40133, "omega":-0.55239, "ax":0.00025, "ay":0.0001, "alpha":-1.8317, "fx":[-5.5007,4.86988,5.50713,-4.86344], "fy":[-4.86543,-5.50268,4.86789,5.50516]}, + {"t":0.32062, "x":7.67788, "y":4.87978, "heading":-1.63753, "vx":-0.5307, "vy":1.40133, "omega":-0.57019, "ax":0.00025, "ay":0.0001, "alpha":-1.77468, "fx":[-5.35452,4.68977,5.36111,-4.68318], "fy":[-4.68521,-5.35654,4.68774,5.35909]}, + {"t":0.33033, "x":7.67273, "y":4.8934, "heading":-1.64307, "vx":-0.53069, "vy":1.40133, "omega":-0.58743, "ax":0.00026, "ay":0.0001, "alpha":-1.71939, "fx":[-5.21259,4.51502,5.21934,-4.50826], "fy":[-4.51035,-5.21466,4.51294,5.21727]}, + {"t":0.34005, "x":7.66757, "y":4.90701, "heading":-1.64878, "vx":-0.53069, "vy":1.40133, "omega":-0.60414, "ax":0.00027, "ay":0.0001, "alpha":-1.66578, "fx":[-5.07473,4.34551,5.08164,-4.33859], "fy":[-4.34073,-5.07686,4.34337,5.07952]}, + {"t":0.34976, "x":7.66242, "y":4.92063, "heading":-1.65465, "vx":-0.53069, "vy":1.40133, "omega":-0.62032, "ax":0.00027, "ay":0.0001, "alpha":-1.61379, "fx":[-4.94077,4.18113,4.94784,-4.17405], "fy":[-4.17624,-4.94294,4.17894,4.94567]}, + {"t":0.35948, "x":7.65726, "y":4.93424, "heading":-1.66068, "vx":-0.53069, "vy":1.40133, "omega":-0.636, "ax":0.00028, "ay":0.00011, "alpha":-1.56338, "fx":[-4.81054,4.02176,4.81777,-4.01453], "fy":[-4.01676,-4.81276,4.01953,4.81555]}, + {"t":0.36919, "x":7.6521, "y":4.94786, "heading":-1.66686, "vx":-0.53068, "vy":1.40133, "omega":-0.65119, "ax":0.00028, "ay":0.00011, "alpha":-1.51449, "fx":[-4.68389,3.86731,4.69128,-3.85991], "fy":[-3.8622,-4.68616,3.86503,4.68901]}, + {"t":0.37891, "x":7.64695, "y":4.96147, "heading":-1.67318, "vx":-0.53068, "vy":1.40134, "omega":-0.6659, "ax":0.00029, "ay":0.00011, "alpha":-1.46709, "fx":[-4.56067,3.71765,4.56822,-3.71009], "fy":[-3.71243,-4.56299,3.71532,4.5659]}, + {"t":0.38863, "x":7.64179, "y":4.97508, "heading":-1.67965, "vx":-0.53068, "vy":1.40134, "omega":-0.68016, "ax":0.0003, "ay":0.00011, "alpha":-1.42112, "fx":[-4.44074,3.57268,4.44845,-3.56496], "fy":[-3.56734,-4.44312,3.57029,4.44608]}, + {"t":0.39834, "x":7.63664, "y":4.9887, "heading":-1.68626, "vx":-0.53068, "vy":1.40134, "omega":-0.69397, "ax":0.0003, "ay":0.00012, "alpha":-1.37653, "fx":[-4.32398,3.43227,4.33185,-3.42439], "fy":[-3.42682,-4.3264,3.42984,4.32943]}, + {"t":0.40806, "x":7.63148, "y":5.00231, "heading":-1.693, "vx":-0.53067, "vy":1.40134, "omega":-0.70734, "ax":0.00031, "ay":0.00012, "alpha":-1.3333, "fx":[-4.21025,3.29633,4.21829,-3.28829], "fy":[-3.29077,-4.21272,3.29385,4.21582]}, + {"t":0.41777, "x":7.62632, "y":5.01593, "heading":-1.69988, "vx":-0.53067, "vy":1.40134, "omega":-0.72029, "ax":0.00032, "ay":0.00012, "alpha":-1.29137, "fx":[-4.09944,3.16475,4.10765,-3.15653], "fy":[-3.15907,-4.10197,3.16221,4.10512]}, + {"t":0.42749, "x":7.62117, "y":5.02954, "heading":-1.70687, "vx":-0.53067, "vy":1.40134, "omega":-0.73284, "ax":0.00032, "ay":0.00012, "alpha":-1.25069, "fx":[-3.99144,3.0374,3.99982,-3.02902], "fy":[-3.0316,-3.99402,3.03481,3.99724]}, + {"t":0.4372, "x":7.61601, "y":5.04316, "heading":-1.71399, "vx":-0.53066, "vy":1.40134, "omega":-0.74499, "ax":0.00033, "ay":0.00013, "alpha":-1.21125, "fx":[-3.88615,2.91419,3.89469,-2.90564], "fy":[-2.90827,-3.88878,2.91155,3.89206]}, + {"t":0.44692, "x":7.61086, "y":5.05677, "heading":-1.72123, "vx":-0.53066, "vy":1.40134, "omega":-0.75676, "ax":0.00034, "ay":0.00013, "alpha":-1.17298, "fx":[-3.78346,2.795,3.79217,-2.78628], "fy":[-2.78897,-3.78614,2.79231,3.78949]}, + {"t":0.45664, "x":7.6057, "y":5.07039, "heading":-1.72859, "vx":-0.53066, "vy":1.40134, "omega":-0.76816, "ax":0.00034, "ay":0.00013, "alpha":-1.13586, "fx":[-3.68328,2.67973,3.69216,-2.67085], "fy":[-2.67359,-3.68601,2.67699,3.68943]}, + {"t":0.46635, "x":7.60055, "y":5.084, "heading":-1.73605, "vx":-0.53065, "vy":1.40135, "omega":-0.77919, "ax":0.00035, "ay":0.00013, "alpha":-1.09985, "fx":[-3.58551,2.56828,3.59457,-2.55922], "fy":[-2.56202,-3.5883,2.56549,3.59178]}, + {"t":0.47607, "x":7.59539, "y":5.09762, "heading":-1.74362, "vx":-0.53065, "vy":1.40135, "omega":-0.78988, "ax":0.00036, "ay":0.00014, "alpha":-1.06491, "fx":[-3.49008,2.46055,3.49931,-2.45131], "fy":[-2.45416,-3.49292,2.4577,3.49646]}, + {"t":0.48578, "x":7.59023, "y":5.11123, "heading":-1.75129, "vx":-0.53065, "vy":1.40135, "omega":-0.80022, "ax":0.00036, "ay":0.00014, "alpha":-1.03101, "fx":[-3.39689,2.35642,3.40629,-2.34701], "fy":[-2.34991,-3.39979,2.35352,3.4034]}, + {"t":0.4955, "x":7.58508, "y":5.12485, "heading":-1.75907, "vx":-0.53064, "vy":1.40135, "omega":-0.81024, "ax":0.00037, "ay":0.00014, "alpha":-0.99812, "fx":[-3.30588,2.2558,3.31545,-2.24622], "fy":[-2.24918,-3.30883,2.25285,3.31251]}, + {"t":0.50521, "x":7.57992, "y":5.13846, "heading":-1.76694, "vx":-0.53064, "vy":1.40135, "omega":-0.81994, "ax":0.00038, "ay":0.00014, "alpha":-0.9662, "fx":[-3.21696,2.1586,3.22671,-2.14884], "fy":[-2.15185,-3.21996,2.15559,3.22371]}, + {"t":0.51493, "x":7.57477, "y":5.15208, "heading":-1.77491, "vx":-0.53064, "vy":1.40135, "omega":-0.82932, "ax":0.00038, "ay":0.00015, "alpha":-0.93521, "fx":[-3.13006,2.06472,3.13999,-2.05478], "fy":[-2.05784,-3.13312,2.06165,3.13693]}, + {"t":0.52465, "x":7.56961, "y":5.16569, "heading":-1.78296, "vx":-0.53063, "vy":1.40135, "omega":-0.83841, "ax":0.00039, "ay":0.00015, "alpha":-0.90514, "fx":[-3.04511,1.97406,3.05523,-1.96394], "fy":[-1.96706,-3.04823,1.97094,3.05211]}, + {"t":0.53436, "x":7.56446, "y":5.17931, "heading":-1.79111, "vx":-0.53063, "vy":1.40136, "omega":-0.8472, "ax":0.0004, "ay":0.00015, "alpha":-0.87594, "fx":[-2.96206,1.88652,2.97235,-1.87622], "fy":[-1.8794,-2.96523,1.88335,2.96918]}, + {"t":0.54408, "x":7.5593, "y":5.19292, "heading":-1.79934, "vx":-0.53062, "vy":1.40136, "omega":-0.85571, "ax":0.0004, "ay":0.00015, "alpha":-0.84759, "fx":[-2.88082,1.80203,2.8913,-1.79155], "fy":[-1.79478,-2.88405,1.7988,2.88807]}, + {"t":0.55379, "x":7.55415, "y":5.20654, "heading":-1.80765, "vx":-0.53062, "vy":1.40136, "omega":-0.86395, "ax":0.00041, "ay":0.00016, "alpha":-0.82006, "fx":[-2.80134,1.72049,2.81201,-1.70982], "fy":[-1.71311,-2.80463,1.7172,2.80872]}, + {"t":0.56351, "x":7.54899, "y":5.22016, "heading":-1.81605, "vx":-0.53062, "vy":1.40136, "omega":-0.87192, "ax":0.00042, "ay":0.00016, "alpha":-0.79332, "fx":[-2.72357,1.64181,2.73442,-1.63096], "fy":[-1.63431,-2.72691,1.63846,2.73108]}, + {"t":0.57322, "x":7.54384, "y":5.23377, "heading":-1.82452, "vx":-0.53061, "vy":1.40136, "omega":-0.87962, "ax":0.00043, "ay":0.00016, "alpha":-0.76735, "fx":[-2.64744,1.56591,2.65848,-1.55487], "fy":[-1.55828,-2.65084,1.56251,2.65508]}, + {"t":0.58294, "x":7.53868, "y":5.24739, "heading":-1.83307, "vx":-0.53061, "vy":1.40136, "omega":-0.88708, "ax":0.00043, "ay":0.00017, "alpha":-0.74211, "fx":[-2.57291,1.49271,2.58413,-1.48148], "fy":[-1.48494,-2.57636,1.48925,2.58067]}, + {"t":0.59265, "x":7.53352, "y":5.261, "heading":-1.84168, "vx":-0.5306, "vy":1.40136, "omega":-0.89429, "ax":0.00044, "ay":0.00017, "alpha":-0.71759, "fx":[-2.4999,1.42212,2.51132,-1.4107], "fy":[-1.41422,-2.50342,1.4186,2.5078]}, + {"t":0.60237, "x":7.52837, "y":5.27462, "heading":-1.85037, "vx":-0.5306, "vy":1.40137, "omega":-0.90126, "ax":0.00045, "ay":0.00017, "alpha":-0.69375, "fx":[-2.42839,1.35407,2.43999,-1.34246], "fy":[-1.34604,-2.43196,1.35049,2.43641]}, + {"t":0.61209, "x":7.52321, "y":5.28823, "heading":-1.85913, "vx":-0.5306, "vy":1.40137, "omega":-0.908, "ax":0.00045, "ay":0.00017, "alpha":-0.67058, "fx":[-2.3583,1.28848,2.3701,-1.27667], "fy":[-1.28031,-2.36194,1.28484,2.36646]}, + {"t":0.6218, "x":7.51806, "y":5.30185, "heading":-1.86795, "vx":-0.53059, "vy":1.40137, "omega":-0.91452, "ax":0.00046, "ay":0.00018, "alpha":-0.64805, "fx":[-2.2896,1.22527,2.30159,-1.21327], "fy":[-1.21697,-2.29329,1.22157,2.2979]}, + {"t":0.63152, "x":7.5129, "y":5.31546, "heading":-1.87684, "vx":-0.53059, "vy":1.40137, "omega":-0.92081, "ax":0.00047, "ay":0.00018, "alpha":-0.62613, "fx":[-2.22223,1.16437,2.23442,-1.15218], "fy":[-1.15594,-2.22599,1.16061,2.23067]}, + {"t":0.64123, "x":7.50775, "y":5.32908, "heading":-1.88578, "vx":-0.53058, "vy":1.40137, "omega":-0.9269, "ax":0.00048, "ay":0.00018, "alpha":-0.6048, "fx":[-2.15616,1.10572,2.16855,-1.09333], "fy":[-1.09715,-2.15998,1.1019,2.16473]}, + {"t":0.65095, "x":7.50259, "y":5.34269, "heading":-1.89479, "vx":-0.53058, "vy":1.40138, "omega":-0.93277, "ax":0.00049, "ay":0.00019, "alpha":-0.58405, "fx":[-2.09133,1.04924,2.10392,-1.03665], "fy":[-1.04053,-2.09521,1.04536,2.10004]}, + {"t":0.66066, "x":7.49744, "y":5.35631, "heading":-1.90385, "vx":-0.53057, "vy":1.40138, "omega":-0.93845, "ax":0.00049, "ay":0.00019, "alpha":-0.56384, "fx":[-2.0277,0.99487,2.04049,-0.98207], "fy":[-0.98602,-2.03164,0.99092,2.03655]}, + {"t":0.67038, "x":7.49228, "y":5.36992, "heading":-1.91297, "vx":-0.53057, "vy":1.40138, "omega":-0.94393, "ax":0.0005, "ay":0.00019, "alpha":-0.54416, "fx":[-1.96523,0.94253,1.97822,-0.92954], "fy":[-0.93354,-1.96923,0.93853,1.97422]}, + {"t":0.6801, "x":7.48713, "y":5.38354, "heading":-1.92214, "vx":-0.53056, "vy":1.40138, "omega":-0.94921, "ax":0.00051, "ay":0.00019, "alpha":-0.52499, "fx":[-1.90387,0.89218,1.91707,-0.87898], "fy":[-0.88305,-1.90794,0.88811,1.913]}, + {"t":0.68981, "x":7.48198, "y":5.39715, "heading":-1.93136, "vx":-0.53056, "vy":1.40138, "omega":-0.95431, "ax":0.00052, "ay":0.0002, "alpha":-0.50631, "fx":[-1.84358,0.84374,1.85699,-0.83033], "fy":[-0.83447,-1.84772,0.83961,1.85286]}, + {"t":0.69953, "x":7.47682, "y":5.41077, "heading":-1.94063, "vx":-0.53055, "vy":1.40138, "omega":-0.95923, "ax":0.00052, "ay":0.0002, "alpha":-0.4881, "fx":[-1.78433,0.79717,1.79795,-0.78355], "fy":[-0.78775,-1.78853,0.79297,1.79375]}, + {"t":0.70924, "x":7.47167, "y":5.42438, "heading":-1.94995, "vx":-0.53055, "vy":1.40139, "omega":-0.96397, "ax":0.00053, "ay":0.0002, "alpha":-0.47034, "fx":[-1.72607,0.7524,1.7399,-0.73856], "fy":[-0.74283,-1.73033,0.74813,1.73564]}, + {"t":0.71896, "x":7.46651, "y":5.438, "heading":-1.95932, "vx":-0.53054, "vy":1.40139, "omega":-0.96854, "ax":0.00054, "ay":0.00021, "alpha":-0.45301, "fx":[-1.66876,0.70937,1.6828,-0.69533], "fy":[-0.69966,-1.67309,0.70504,1.67847]}, + {"t":0.72867, "x":7.46136, "y":5.45161, "heading":-1.96873, "vx":-0.53054, "vy":1.40139, "omega":-0.97295, "ax":0.00055, "ay":0.00021, "alpha":-0.43609, "fx":[-1.61237,0.66804,1.62663,-0.65378], "fy":[-0.65818,-1.61676,0.66364,1.62223]}, + {"t":0.73839, "x":7.4562, "y":5.46523, "heading":-1.97818, "vx":-0.53053, "vy":1.40139, "omega":-0.97718, "ax":0.00056, "ay":0.00021, "alpha":-0.41957, "fx":[-1.55685,0.62836,1.57133,-0.61388], "fy":[-0.61834,-1.56131,0.62389,1.56686]}, + {"t":0.74811, "x":7.45105, "y":5.47885, "heading":-1.98767, "vx":-0.53053, "vy":1.40139, "omega":-0.98126, "ax":0.00057, "ay":0.00022, "alpha":-0.40343, "fx":[-1.50217,0.59027,1.51687,-0.57557], "fy":[-0.5801,-1.5067,0.58573,1.51234]}, + {"t":0.75782, "x":7.44589, "y":5.49246, "heading":-1.99721, "vx":-0.53052, "vy":1.4014, "omega":-0.98518, "ax":0.00057, "ay":0.00022, "alpha":-0.38765, "fx":[-1.44829,0.55373,1.46321,-0.53881], "fy":[-0.54341,-1.45289,0.54913,1.45861]}, + {"t":0.76754, "x":7.44074, "y":5.50608, "heading":-2.00678, "vx":-0.53052, "vy":1.4014, "omega":-0.98894, "ax":0.00058, "ay":0.00022, "alpha":-0.37222, "fx":[-1.39518,0.51869,1.41033,-0.50354], "fy":[-0.50821,-1.39985,0.51402,1.40566]}, + {"t":0.77725, "x":7.43558, "y":5.51969, "heading":-2.01639, "vx":-0.53051, "vy":1.4014, "omega":-0.99256, "ax":0.00059, "ay":0.00023, "alpha":-0.35712, "fx":[-1.3428,0.48511,1.35818,-0.46974], "fy":[-0.47448,-1.34754,0.48037,1.35344]}, + {"t":0.78697, "x":7.43043, "y":5.53331, "heading":-2.02603, "vx":-0.5305, "vy":1.4014, "omega":-0.99603, "ax":0.0006, "ay":0.00023, "alpha":-0.34233, "fx":[-1.29112,0.45295,1.30672,-0.43735], "fy":[-0.44216,-1.29593,0.44814,1.30191]}, + {"t":0.79668, "x":7.42528, "y":5.54692, "heading":-2.03571, "vx":-0.5305, "vy":1.40141, "omega":-0.99936, "ax":0.00061, "ay":0.00023, "alpha":-0.32784, "fx":[-1.2401,0.42217,1.25593,-0.40634], "fy":[-0.41122,-1.24498,0.41728,1.25105]}, + {"t":0.8064, "x":7.42012, "y":5.56054, "heading":-2.04542, "vx":-0.53049, "vy":1.40141, "omega":-1.00254, "ax":0.00062, "ay":0.00024, "alpha":-0.31364, "fx":[-1.1897,0.39273,1.20577,-0.37666], "fy":[-0.38162,-1.19466,0.38777,1.20081]}, + {"t":0.81611, "x":7.41497, "y":5.57415, "heading":-2.05516, "vx":-0.53049, "vy":1.40141, "omega":-1.00559, "ax":0.00063, "ay":0.00024, "alpha":-0.2997, "fx":[-1.1399,0.36459,1.1562,-0.34829], "fy":[-0.35331,-1.14493,0.35956,1.15117]}, + {"t":0.82583, "x":7.40981, "y":5.58777, "heading":-2.06493, "vx":-0.53048, "vy":1.40141, "omega":-1.0085, "ax":0.00064, "ay":0.00024, "alpha":-0.28603, "fx":[-1.09065,0.33772,1.1072,-0.32118], "fy":[-0.32628,-1.09576,0.33262,1.10209]}, + {"t":0.83555, "x":7.40466, "y":5.60139, "heading":-2.07473, "vx":-0.53047, "vy":1.40141, "omega":-1.01128, "ax":0.00065, "ay":0.00025, "alpha":-0.27259, "fx":[-1.04194,0.31209,1.05872,-0.29531], "fy":[-0.30048,-1.04712,0.30691,1.05355]}, + {"t":0.84526, "x":7.39951, "y":5.615, "heading":-2.08455, "vx":-0.53047, "vy":1.40142, "omega":-1.01393, "ax":0.00066, "ay":0.00025, "alpha":-0.25938, "fx":[-0.99372,0.28766,1.01075,-0.27064], "fy":[-0.27589,-0.99897,0.28241,1.0055]}, + {"t":0.85498, "x":7.39435, "y":5.62862, "heading":-2.0944, "vx":-0.53046, "vy":1.40142, "omega":-1.01645, "ax":0.00067, "ay":0.00025, "alpha":-0.24639, "fx":[-0.94597,0.26442,0.96324,-0.24714], "fy":[-0.25247,-0.95129,0.25909,0.95791]}, + {"t":0.86469, "x":7.3892, "y":5.64223, "heading":-2.10428, "vx":-0.53046, "vy":1.40142, "omega":-1.01884, "ax":0.00068, "ay":0.00026, "alpha":-0.2336, "fx":[-0.89864,0.24231,0.91617,-0.22479], "fy":[-0.2302,-0.90405,0.23691,0.91076]}, + {"t":0.87441, "x":7.38405, "y":5.65585, "heading":-2.11418, "vx":-0.53045, "vy":1.40142, "omega":-1.02111, "ax":0.00068, "ay":0.00026, "alpha":-0.221, "fx":[-0.85172,0.22134,0.8695,-0.20356], "fy":[-0.20904,-0.85721,0.21585,0.86402]}, + {"t":0.88412, "x":7.37889, "y":5.66946, "heading":-2.1241, "vx":-0.53044, "vy":1.40143, "omega":-1.02326, "ax":0.00069, "ay":0.00027, "alpha":-0.20858, "fx":[-0.80518,0.20146,0.82321,-0.18342], "fy":[-0.18899,-0.81074,0.19589,0.81765]}, + {"t":0.89384, "x":7.37374, "y":5.68308, "heading":-2.13404, "vx":-0.53044, "vy":1.40143, "omega":-1.02529, "ax":0.0007, "ay":0.00027, "alpha":-0.19633, "fx":[-0.75897,0.18265,0.77726,-0.16436], "fy":[-0.17,-0.76462,0.17701,0.77162]}, + {"t":0.90356, "x":7.36858, "y":5.6967, "heading":-2.144, "vx":-0.53043, "vy":1.40143, "omega":-1.02719, "ax":0.00071, "ay":0.00027, "alpha":-0.18423, "fx":[-0.71308,0.1649,0.73163,-0.14635], "fy":[-0.15207,-0.7188,0.15918,0.72591]}, + {"t":0.91327, "x":7.36343, "y":5.71031, "heading":-2.15398, "vx":-0.53042, "vy":1.40143, "omega":-1.02898, "ax":0.00072, "ay":0.00028, "alpha":-0.17227, "fx":[-0.66748,0.14818,0.68629,-0.12936], "fy":[-0.13517,-0.67328,0.14237,0.68049]}, + {"t":0.92299, "x":7.35828, "y":5.72393, "heading":-2.16398, "vx":-0.53041, "vy":1.40144, "omega":-1.03066, "ax":0.00074, "ay":0.00028, "alpha":-0.16044, "fx":[-0.62213,0.13248,0.64121,-0.11339], "fy":[-0.11928,-0.62801,0.12659,0.63532]}, + {"t":0.9327, "x":7.35312, "y":5.73754, "heading":-2.17399, "vx":-0.53041, "vy":1.40144, "omega":-1.03222, "ax":0.00075, "ay":0.00029, "alpha":-0.14873, "fx":[-0.57701,0.11777,0.59636,-0.09842], "fy":[-0.10439,-0.58298,0.1118,0.59039]}, + {"t":0.94242, "x":7.34797, "y":5.75116, "heading":-2.18402, "vx":-0.5304, "vy":1.40144, "omega":-1.03366, "ax":0.00076, "ay":0.00029, "alpha":-0.13713, "fx":[-0.53209,0.10405,0.55172,-0.08442], "fy":[-0.09048,-0.53815,0.09799,0.54566]}, + {"t":0.95213, "x":7.34282, "y":5.76478, "heading":-2.19406, "vx":-0.53039, "vy":1.40145, "omega":-1.03499, "ax":0.00077, "ay":0.00029, "alpha":-0.12563, "fx":[-0.48735,0.0913,0.50725,-0.07139], "fy":[-0.07753,-0.49349,0.08515,0.50111]}, + {"t":0.96185, "x":7.33767, "y":5.77839, "heading":-2.20412, "vx":-0.53039, "vy":1.40145, "omega":-1.03621, "ax":0.00078, "ay":0.0003, "alpha":-0.11422, "fx":[-0.44276,0.0795,0.46294,-0.05931], "fy":[-0.06554,-0.44899,0.07327,0.45671]}, + {"t":0.97157, "x":7.33251, "y":5.79201, "heading":-2.21419, "vx":-0.53038, "vy":1.40145, "omega":-1.03732, "ax":0.00079, "ay":0.0003, "alpha":-0.10289, "fx":[-0.39829,0.06864,0.41876,-0.04817], "fy":[-0.05449,-0.40461,0.06233,0.41244]}, + {"t":0.98128, "x":7.32736, "y":5.80562, "heading":-2.22426, "vx":-0.53037, "vy":1.40145, "omega":-1.03832, "ax":0.0008, "ay":0.00031, "alpha":-0.09162, "fx":[-0.35392,0.05872,0.37468,-0.03797], "fy":[-0.04437,-0.36033,0.05232,0.36828]}, + {"t":0.991, "x":7.32221, "y":5.81924, "heading":-2.23435, "vx":-0.53036, "vy":1.40146, "omega":-1.03921, "ax":0.00081, "ay":0.00031, "alpha":-0.08042, "fx":[-0.30963,0.04973,0.33068,-0.02868], "fy":[-0.03517,-0.31613,0.04323,0.32419]}, + {"t":1.00071, "x":7.31705, "y":5.83286, "heading":-2.24445, "vx":-0.53035, "vy":1.40146, "omega":-1.03999, "ax":0.00082, "ay":0.00031, "alpha":-0.06926, "fx":[-0.2654,0.04165,0.28674,-0.02031], "fy":[-0.02689,-0.27198,0.03506,0.28015]}, + {"t":1.01043, "x":7.3119, "y":5.84647, "heading":-2.25455, "vx":-0.53035, "vy":1.40146, "omega":-1.04067, "ax":0.00083, "ay":0.00032, "alpha":-0.05814, "fx":[-0.22119,0.03448,0.24283,-0.01284], "fy":[-0.01952,-0.22787,0.02781,0.23615]}, + {"t":1.02014, "x":7.30675, "y":5.86009, "heading":-2.26466, "vx":-0.53034, "vy":1.40147, "omega":-1.04123, "ax":0.00085, "ay":0.00032, "alpha":-0.04706, "fx":[-0.17699,0.02822,0.19893,-0.00628], "fy":[-0.01305,-0.18376,0.02145,0.19216]}, + {"t":1.02986, "x":7.3016, "y":5.8737, "heading":-2.27478, "vx":-0.53033, "vy":1.40147, "omega":-1.04169, "ax":0.00086, "ay":0.00033, "alpha":-0.036, "fx":[-0.13277,0.02287,0.15502,-0.00062], "fy":[-0.00748,-0.13964,0.016,0.14816]}, + {"t":1.03957, "x":7.29644, "y":5.88732, "heading":-2.2849, "vx":-0.53032, "vy":1.40147, "omega":-1.04204, "ax":0.00087, "ay":0.00033, "alpha":-0.02495, "fx":[-0.08852,0.01841,0.11108,0.00415], "fy":[-0.00281,-0.09549,0.01144,0.10412]}, + {"t":1.04929, "x":7.29129, "y":5.90094, "heading":-2.29502, "vx":-0.53031, "vy":1.40148, "omega":-1.04228, "ax":0.00088, "ay":0.00034, "alpha":-0.0139, "fx":[-0.04422,0.01485,0.06709,0.00803], "fy":[0.00097,-0.05128,0.00779,0.06003]}, + {"t":1.05901, "x":7.28614, "y":5.91455, "heading":-2.30515, "vx":-0.53031, "vy":1.40148, "omega":-1.04242, "ax":0.00089, "ay":0.00034, "alpha":-0.00285, "fx":[0.00016,0.01218,0.02303,0.01101], "fy":[0.00385,-0.007,0.00502,0.01587]}, + {"t":1.06872, "x":7.28099, "y":5.92817, "heading":-2.31528, "vx":-0.5303, "vy":1.40148, "omega":-1.04244, "ax":0.00091, "ay":0.00035, "alpha":0.0082, "fx":[0.04464,0.01041,-0.02112,0.0131], "fy":[0.00585,0.03738,0.00315,-0.02838]}, + {"t":1.07844, "x":7.27583, "y":5.94179, "heading":-2.32541, "vx":-0.53029, "vy":1.40149, "omega":-1.04236, "ax":0.00092, "ay":0.00035, "alpha":0.01928, "fx":[0.08922,0.00954,-0.06538,0.0143], "fy":[0.00694,0.08186,0.00218,-0.07274]}, + {"t":1.08815, "x":7.27068, "y":5.9554, "heading":-2.33553, "vx":-0.53028, "vy":1.40149, "omega":-1.04218, "ax":0.00093, "ay":0.00036, "alpha":0.03039, "fx":[0.13394,0.00957,-0.10976,0.01461], "fy":[0.00714,0.12648,0.00211,-0.11723]}, + {"t":1.09787, "x":7.26553, "y":5.96902, "heading":-2.34566, "vx":-0.53027, "vy":1.40149, "omega":-1.04188, "ax":0.00094, "ay":0.00036, "alpha":0.04152, "fx":[0.1788,0.0105,-0.15429,0.01401], "fy":[0.00644,0.17123,0.00293,-0.16186]}, + {"t":1.10758, "x":7.26038, "y":5.98263, "heading":-2.35578, "vx":-0.53026, "vy":1.4015, "omega":-1.04148, "ax":0.00096, "ay":0.00037, "alpha":0.05271, "fx":[0.22383,0.01234,-0.19897,0.01251], "fy":[0.00484,0.21615,0.00467,-0.20665]}, + {"t":1.1173, "x":7.25523, "y":5.99625, "heading":-2.3659, "vx":-0.53025, "vy":1.4015, "omega":-1.04097, "ax":0.00097, "ay":0.00037, "alpha":0.06393, "fx":[0.26903,0.01509,-0.24383,0.01011], "fy":[0.00233,0.26125,0.00731,-0.25161]}, + {"t":1.12702, "x":7.25007, "y":6.00987, "heading":-2.37601, "vx":-0.53024, "vy":1.4015, "omega":-1.04034, "ax":0.00098, "ay":0.00038, "alpha":0.07522, "fx":[0.31442,0.01875,-0.28888,0.00679], "fy":[-0.00109,0.30654,0.01087,-0.29676]}, + {"t":1.13673, "x":7.24492, "y":6.02348, "heading":-2.38612, "vx":-0.53023, "vy":1.40151, "omega":-1.03961, "ax":0.001, "ay":0.00038, "alpha":0.08657, "fx":[0.36003,0.02334,-0.33412,0.00256], "fy":[-0.00544,0.35203,0.01534,-0.34212]}, + {"t":1.14645, "x":7.23977, "y":6.0371, "heading":-2.39622, "vx":-0.53022, "vy":1.40151, "omega":-1.03877, "ax":0.00101, "ay":0.00039, "alpha":0.09799, "fx":[0.40585,0.02886,-0.37959,-0.0026], "fy":[-0.0107,0.39774,0.02075,-0.38769]}, + {"t":1.15616, "x":7.23462, "y":6.05072, "heading":-2.40631, "vx":-0.53021, "vy":1.40152, "omega":-1.03782, "ax":0.00103, "ay":0.00039, "alpha":0.10948, "fx":[0.4519,0.03532,-0.42527,-0.00869], "fy":[-0.01691,0.44368,0.02709,-0.4335]}, + {"t":1.16588, "x":7.22947, "y":6.06433, "heading":-2.4164, "vx":-0.5302, "vy":1.40152, "omega":-1.03676, "ax":0.00104, "ay":0.0004, "alpha":0.12106, "fx":[0.4982,0.04272,-0.4712,-0.01571], "fy":[-0.02405,0.48987,0.03438,-0.47954]}, + {"t":1.17559, "x":7.22432, "y":6.07795, "heading":-2.42647, "vx":-0.53019, "vy":1.40152, "omega":-1.03558, "ax":0.00105, "ay":0.0004, "alpha":0.13273, "fx":[0.54476,0.05107,-0.51738,-0.02369], "fy":[-0.03215,0.53631,0.04262,-0.52583]}, + {"t":1.18531, "x":7.21917, "y":6.09157, "heading":-2.43653, "vx":-0.53018, "vy":1.40153, "omega":-1.03429, "ax":0.00107, "ay":0.00041, "alpha":0.1445, "fx":[0.59158,0.06039,-0.56382,-0.03263], "fy":[-0.0412,0.58301,0.05182,-0.57239]}, + {"t":1.19503, "x":7.21402, "y":6.10518, "heading":-2.44658, "vx":-0.53017, "vy":1.40153, "omega":-1.03289, "ax":0.00108, "ay":0.00041, "alpha":0.15636, "fx":[0.63867,0.07068,-0.61053,-0.04253], "fy":[-0.05123,0.62998,0.06199,-0.61922]}, + {"t":1.20474, "x":7.20886, "y":6.1188, "heading":-2.45662, "vx":-0.53016, "vy":1.40153, "omega":-1.03137, "ax":0.0011, "ay":0.00042, "alpha":0.16833, "fx":[0.68605,0.08196,-0.65751,-0.05342], "fy":[-0.06223,0.67724,0.07315,-0.66632]}, + {"t":1.21446, "x":7.20371, "y":6.13242, "heading":-2.46664, "vx":-0.53015, "vy":1.40154, "omega":-1.02973, "ax":0.00112, "ay":0.00043, "alpha":0.18042, "fx":[0.73373,0.09423,-0.70478,-0.06529], "fy":[-0.07423,0.72479,0.08529,-0.71372]}, + {"t":1.22417, "x":7.19856, "y":6.14603, "heading":-2.47664, "vx":-0.53014, "vy":1.40154, "omega":-1.02798, "ax":0.00113, "ay":0.00043, "alpha":0.19263, "fx":[0.7817,0.10751,-0.75235,-0.07816], "fy":[-0.08722,0.77263,0.09845,-0.76141]}, + {"t":1.23389, "x":7.19341, "y":6.15965, "heading":-2.48663, "vx":-0.53013, "vy":1.40155, "omega":-1.02611, "ax":0.00115, "ay":0.00044, "alpha":0.20496, "fx":[0.82998,0.12181,-0.80021,-0.09204], "fy":[-0.10123,0.82078,0.11261,-0.8094]}, + {"t":1.2436, "x":7.18826, "y":6.17327, "heading":-2.4966, "vx":-0.53012, "vy":1.40155, "omega":-1.02412, "ax":0.00116, "ay":0.00044, "alpha":0.21742, "fx":[0.87857,0.13713,-0.84838,-0.10695], "fy":[-0.11627,0.86924,0.12781,-0.8577]}, + {"t":1.25332, "x":7.18311, "y":6.18689, "heading":-2.50655, "vx":-0.53011, "vy":1.40156, "omega":-1.022, "ax":0.00118, "ay":0.00045, "alpha":0.23001, "fx":[0.92747,0.1535,-0.89686,-0.12288], "fy":[-0.13234,0.91802,0.14404,-0.90632]}, + {"t":1.26303, "x":7.17796, "y":6.2005, "heading":-2.51648, "vx":-0.5301, "vy":1.40156, "omega":-1.01977, "ax":0.0012, "ay":0.00046, "alpha":0.24275, "fx":[0.97671,0.17092,-0.94566,-0.13987], "fy":[-0.14946,0.96712,0.16133,-0.95525]}, + {"t":1.27275, "x":7.17281, "y":6.21412, "heading":-2.52638, "vx":-0.53008, "vy":1.40156, "omega":-1.01741, "ax":0.00121, "ay":0.00046, "alpha":0.25563, "fx":[1.02627,0.1894,-0.99478,-0.15792], "fy":[-0.16764,1.01654,0.17968,-1.00451]}, + {"t":1.28247, "x":7.16766, "y":6.22774, "heading":-2.53627, "vx":-0.53007, "vy":1.40157, "omega":-1.01493, "ax":0.00123, "ay":0.00047, "alpha":0.26867, "fx":[1.07616,0.20897,-1.04422,-0.17704], "fy":[-0.1869,1.06629,0.19911,-1.05409]}, + {"t":1.29218, "x":7.16251, "y":6.24135, "heading":-2.54613, "vx":-0.53006, "vy":1.40157, "omega":-1.01232, "ax":0.00125, "ay":0.00048, "alpha":0.28186, "fx":[1.12638,0.22963,-1.09399,-0.19724], "fy":[-0.20725,1.11638,0.21963,-1.104]}, + {"t":1.3019, "x":7.15736, "y":6.25497, "heading":-2.55597, "vx":-0.53005, "vy":1.40158, "omega":-1.00958, "ax":0.00127, "ay":0.00048, "alpha":0.2952, "fx":[1.17694,0.2514,-1.14409,-0.21855], "fy":[-0.22869,1.16679,0.24125,-1.15424]}, + {"t":1.31161, "x":7.15221, "y":6.26859, "heading":-2.56577, "vx":-0.53004, "vy":1.40158, "omega":-1.00671, "ax":0.00128, "ay":0.00049, "alpha":0.30872, "fx":[1.22784,0.27428,-1.19452,-0.24096], "fy":[-0.25125,1.21754,0.26399,-1.20481]}, + {"t":1.32133, "x":7.14706, "y":6.28221, "heading":-2.57556, "vx":-0.53002, "vy":1.40159, "omega":-1.00371, "ax":0.0013, "ay":0.0005, "alpha":0.32241, "fx":[1.27907,0.2983,-1.24528,-0.2645], "fy":[-0.27494,1.26863,0.28786,-1.25572]}, + {"t":1.33104, "x":7.14191, "y":6.29582, "heading":-2.58531, "vx":-0.53001, "vy":1.40159, "omega":-1.00058, "ax":0.00132, "ay":0.0005, "alpha":0.33627, "fx":[1.33065,0.32346,-1.29637,-0.28918], "fy":[-0.29977,1.32006,0.31287,-1.30696]}, + {"t":1.34076, "x":7.13676, "y":6.30944, "heading":-2.59503, "vx":-0.53, "vy":1.4016, "omega":-0.99731, "ax":0.00134, "ay":0.00051, "alpha":0.3503, "fx":[1.38257,0.34979,-1.34779,-0.31501], "fy":[-0.32575,1.37183,0.33904,-1.35854]}, + {"t":1.35048, "x":7.13161, "y":6.32306, "heading":-2.60472, "vx":-0.52998, "vy":1.4016, "omega":-0.99391, "ax":0.00136, "ay":0.00052, "alpha":0.36453, "fx":[1.43483,0.37728,-1.39955,-0.342], "fy":[-0.3529,1.42393,0.36638,-1.41045]}, + {"t":1.36019, "x":7.12647, "y":6.33668, "heading":-2.61437, "vx":-0.52997, "vy":1.40161, "omega":-0.99037, "ax":0.00138, "ay":0.00053, "alpha":0.37894, "fx":[1.48744,0.40597,-1.45164,-0.37017], "fy":[-0.38123,1.47638,0.39491,-1.4627]}, + {"t":1.36991, "x":7.12132, "y":6.35029, "heading":-2.624, "vx":-0.52996, "vy":1.40161, "omega":-0.98669, "ax":0.0014, "ay":0.00053, "alpha":0.39354, "fx":[1.54038,0.43585,-1.50406,-0.39953], "fy":[-0.41075,1.52916,0.42463,-1.51528]}, + {"t":1.37962, "x":7.11617, "y":6.36391, "heading":-2.63358, "vx":-0.52994, "vy":1.40162, "omega":-0.98286, "ax":0.00142, "ay":0.00054, "alpha":0.40834, "fx":[1.59366,0.46694,-1.55681,-0.43009], "fy":[-0.44147,1.58228,0.45556,-1.5682]}, + {"t":1.38934, "x":7.11102, "y":6.37753, "heading":-2.64313, "vx":-0.52993, "vy":1.40162, "omega":-0.9789, "ax":0.00144, "ay":0.00055, "alpha":0.42334, "fx":[1.64729,0.49926,-1.60989,-0.46187], "fy":[-0.47342,1.63573,0.48771,-1.62145]}, + {"t":1.39905, "x":7.10587, "y":6.39115, "heading":-2.65264, "vx":-0.52992, "vy":1.40163, "omega":-0.97478, "ax":0.00146, "ay":0.00056, "alpha":0.43855, "fx":[1.70124,0.53282,-1.6633,-0.49487], "fy":[-0.5066,1.68952,0.5211,-1.67503]}, + {"t":1.40877, "x":7.10072, "y":6.40476, "heading":-2.66211, "vx":-0.5299, "vy":1.40163, "omega":-0.97052, "ax":0.00148, "ay":0.00057, "alpha":0.45396, "fx":[1.75554,0.56763,-1.71703,-0.52912], "fy":[-0.54102,1.74364,0.55573,-1.72893]}, + {"t":1.41849, "x":7.09557, "y":6.41838, "heading":-2.67154, "vx":-0.52989, "vy":1.40164, "omega":-0.96611, "ax":0.00151, "ay":0.00058, "alpha":0.46959, "fx":[1.81017,0.60371,-1.77109,-0.56462], "fy":[-0.5767,1.79809,0.59163,-1.78317]}, + {"t":1.4282, "x":7.09043, "y":6.432, "heading":-2.68093, "vx":-0.52987, "vy":1.40164, "omega":-0.96155, "ax":0.00153, "ay":0.00058, "alpha":0.48543, "fx":[1.86513,0.64106,-1.82547,-0.60139], "fy":[-0.61365,1.85287,0.6288,-1.83772]}, + {"t":1.43792, "x":7.08528, "y":6.44562, "heading":-2.69027, "vx":-0.52986, "vy":1.40165, "omega":-0.95683, "ax":0.00155, "ay":0.00059, "alpha":0.5015, "fx":[1.92042,0.6797,-1.88016,-0.63943], "fy":[-0.65187,1.90798,0.66726,-1.89261]}, + {"t":1.44763, "x":7.08013, "y":6.45924, "heading":-2.69957, "vx":-0.52984, "vy":1.40166, "omega":-0.95196, "ax":0.00157, "ay":0.0006, "alpha":0.51779, "fx":[1.97604,0.71964,-1.93518,-0.67877], "fy":[-0.69139,1.96341,0.70701,-1.94781]}, + {"t":1.45735, "x":7.07498, "y":6.47285, "heading":-2.70882, "vx":-0.52983, "vy":1.40166, "omega":-0.94693, "ax":0.0016, "ay":0.00061, "alpha":0.53431, "fx":[2.03199,0.76089,-1.99051,-0.7194], "fy":[-0.73222,2.01917,0.74807,-2.00333]}, + {"t":1.46706, "x":7.06983, "y":6.48647, "heading":-2.71802, "vx":-0.52981, "vy":1.40167, "omega":-0.94174, "ax":0.00162, "ay":0.00062, "alpha":0.55107, "fx":[2.08827,0.80347,-2.04615,-0.76134], "fy":[-0.77436,2.07525,0.79045,-2.05917]}, + {"t":1.47678, "x":7.06469, "y":6.50009, "heading":-2.72717, "vx":-0.5298, "vy":1.40167, "omega":-0.93638, "ax":0.00165, "ay":0.00063, "alpha":0.56806, "fx":[2.14486,0.84738,-2.1021,-0.80461], "fy":[-0.81783,2.13165,0.83416,-2.11532]}, + {"t":1.48649, "x":7.05954, "y":6.51371, "heading":-2.73626, "vx":-0.52978, "vy":1.40168, "omega":-0.93086, "ax":0.00167, "ay":0.00064, "alpha":0.58529, "fx":[2.20179,0.89264,-2.15837,-0.84921], "fy":[-0.86263,2.18837,0.87922,-2.17179]}, + {"t":1.49621, "x":7.05439, "y":6.52733, "heading":-2.74531, "vx":-0.52976, "vy":1.40169, "omega":-0.92518, "ax":0.0017, "ay":0.00065, "alpha":0.60277, "fx":[2.25903,0.93925,-2.21494,-0.89516], "fy":[-0.90878,2.2454,0.92563,-2.22857]}, + {"t":1.50593, "x":7.04925, "y":6.54094, "heading":-2.7543, "vx":-0.52975, "vy":1.40169, "omega":-0.91932, "ax":0.00173, "ay":0.00066, "alpha":0.62051, "fx":[2.3166,0.98724,-2.27182,-0.94245], "fy":[-0.95629,2.30276,0.9734,-2.28567]}, + {"t":1.51564, "x":7.0441, "y":6.55456, "heading":-2.76323, "vx":-0.52973, "vy":1.4017, "omega":-0.91329, "ax":0.00175, "ay":0.00067, "alpha":0.63849, "fx":[2.37449,1.0366,-2.32901,-0.99112], "fy":[-1.00517,2.36043,1.02255,-2.34307]}, + {"t":1.52536, "x":7.03895, "y":6.56818, "heading":-2.7721, "vx":-0.52971, "vy":1.40171, "omega":-0.90709, "ax":0.00178, "ay":0.00068, "alpha":0.65674, "fx":[2.4327,1.08735,-2.3865,-1.04115], "fy":[-1.05543,2.41842,1.07308,-2.40079]}, + {"t":1.53507, "x":7.03381, "y":6.5818, "heading":-2.78091, "vx":-0.5297, "vy":1.40171, "omega":-0.90071, "ax":0.00181, "ay":0.00069, "alpha":0.67525, "fx":[2.49123,1.1395,-2.44431,-1.09257], "fy":[-1.10707,2.47672,1.125,-2.45882]}, + {"t":1.54479, "x":7.02866, "y":6.59542, "heading":-2.78966, "vx":-0.52968, "vy":1.40172, "omega":-0.89415, "ax":0.00184, "ay":0.0007, "alpha":0.69402, "fx":[2.55009,1.19306,-2.50242,-1.14538], "fy":[-1.16012,2.53535,1.17833,-2.51716]}, + {"t":1.5545, "x":7.02351, "y":6.60904, "heading":-2.79835, "vx":-0.52966, "vy":1.40173, "omega":-0.88741, "ax":0.00187, "ay":0.00071, "alpha":0.71307, "fx":[2.60928,1.24804,-2.56084,-1.19959], "fy":[-1.21457,2.5943,1.23307,-2.57582]}, + {"t":1.56422, "x":7.01837, "y":6.62266, "heading":-2.80697, "vx":-0.52964, "vy":1.40173, "omega":-0.88048, "ax":0.0019, "ay":0.00072, "alpha":0.7324, "fx":[2.6688,1.30445,-2.61957,-1.25521], "fy":[-1.27043,2.65357,1.28923,-2.6348]}, + {"t":1.57394, "x":7.01322, "y":6.63627, "heading":-2.81553, "vx":-0.52962, "vy":1.40174, "omega":-0.87336, "ax":0.00193, "ay":0.00074, "alpha":0.752, "fx":[2.72865,1.36229,-2.67862,-1.31225], "fy":[-1.32772,2.71318,1.34682,-2.69409]}, + {"t":1.58365, "x":7.00808, "y":6.64989, "heading":-2.82401, "vx":-0.52961, "vy":1.40175, "omega":-0.86606, "ax":0.00196, "ay":0.00075, "alpha":0.7719, "fx":[2.78884,1.42157,-2.73799,-1.37072], "fy":[-1.38644,2.77311,1.40586,-2.75372]}, + {"t":1.59337, "x":7.00293, "y":6.66351, "heading":-2.83243, "vx":-0.52959, "vy":1.40175, "omega":-0.85856, "ax":0.00199, "ay":0.00076, "alpha":0.79209, "fx":[2.84937,1.48231,-2.79768,-1.43062], "fy":[-1.4466,2.83338,1.46634,-2.81367]}, + {"t":1.60308, "x":6.99779, "y":6.67713, "heading":-2.84077, "vx":-0.52957, "vy":1.40176, "omega":-0.85086, "ax":0.00202, "ay":0.00077, "alpha":0.81257, "fx":[2.91025,1.54452,-2.85771,-1.49196], "fy":[-1.50821,2.894,1.52827,-2.87396]}, + {"t":1.6128, "x":6.99264, "y":6.69075, "heading":-2.84904, "vx":-0.52955, "vy":1.40177, "omega":-0.84297, "ax":0.00206, "ay":0.00079, "alpha":0.83335, "fx":[2.97149,1.60819,-2.91807,-1.55476], "fy":[-1.57127,2.95496,1.59168,-2.93459]}, + {"t":1.62251, "x":6.9875, "y":6.70437, "heading":-2.85723, "vx":-0.52953, "vy":1.40178, "omega":-0.83487, "ax":0.00209, "ay":0.0008, "alpha":0.85445, "fx":[3.0331,1.67335,-2.97877,-1.61901], "fy":[-1.6358,3.01629,1.65655,-2.99558]}, + {"t":1.63223, "x":6.98235, "y":6.71799, "heading":-2.86534, "vx":-0.52951, "vy":1.40178, "omega":-0.82657, "ax":0.00213, "ay":0.00081, "alpha":0.87585, "fx":[3.09508,1.73999,-3.03983,-1.68472], "fy":[-1.7018,3.07798,1.72291,-3.05692]}, + {"t":1.64195, "x":6.97721, "y":6.73161, "heading":-2.87337, "vx":-0.52949, "vy":1.40179, "omega":-0.81806, "ax":0.00217, "ay":0.00083, "alpha":0.89758, "fx":[3.15745,1.80813,-3.10125,-1.75191], "fy":[-1.76929,3.14006,1.79075,-3.11864]}, + {"t":1.65166, "x":6.97206, "y":6.74523, "heading":-2.88132, "vx":-0.52947, "vy":1.4018, "omega":-0.80934, "ax":0.0022, "ay":0.00084, "alpha":0.91963, "fx":[3.22023,1.87777,-3.16304,-1.82058], "fy":[-1.83826,3.20253,1.86009,-3.18074]}, + {"t":1.66138, "x":6.96692, "y":6.75885, "heading":-2.88918, "vx":-0.52944, "vy":1.40181, "omega":-0.8004, "ax":0.00224, "ay":0.00086, "alpha":0.94201, "fx":[3.28341,1.94893,-3.22523,-1.89074], "fy":[-1.90872,3.2654,1.93094,-3.24324]}, + {"t":1.67109, "x":6.96177, "y":6.77247, "heading":-2.89696, "vx":-0.52942, "vy":1.40182, "omega":-0.79125, "ax":0.00228, "ay":0.00087, "alpha":0.96474, "fx":[3.34703,2.0216,-3.28782,-1.96239], "fy":[-1.98069,3.3287,2.0033,-3.30614]}, + {"t":1.68081, "x":6.95663, "y":6.78609, "heading":-2.90464, "vx":-0.5294, "vy":1.40183, "omega":-0.78188, "ax":0.00232, "ay":0.00089, "alpha":0.9878, "fx":[3.41109,2.09581,-3.35082,-2.03554], "fy":[-2.05417,3.39244,2.07718,-3.36948]}, + {"t":1.69052, "x":6.95149, "y":6.79971, "heading":-2.91224, "vx":-0.52938, "vy":1.40183, "omega":-0.77228, "ax":0.00236, "ay":0.0009, "alpha":1.01122, "fx":[3.47562,2.17155,-3.41427,-2.11019], "fy":[-2.12916,3.45663,2.15259,-3.43326]}, + {"t":1.70024, "x":6.94634, "y":6.81333, "heading":-2.91974, "vx":-0.52936, "vy":1.40184, "omega":-0.76246, "ax":0.00241, "ay":0.00092, "alpha":1.03499, "fx":[3.54064,2.24884,-3.47817,-2.18637], "fy":[-2.20568,3.5213,2.22953,-3.49751]}, + {"t":1.70995, "x":6.9412, "y":6.82694, "heading":-2.92715, "vx":-0.52933, "vy":1.40185, "omega":-0.7524, "ax":0.00245, "ay":0.00093, "alpha":1.05914, "fx":[3.60617,2.32769,-3.54255,-2.26406], "fy":[-2.28373,3.58647,2.30802,-3.56225]}, + {"t":1.71967, "x":6.93606, "y":6.84056, "heading":-2.93446, "vx":-0.52931, "vy":1.40186, "omega":-0.74211, "ax":0.0025, "ay":0.00095, "alpha":1.08365, "fx":[3.67223,2.40809,-3.60743,-2.34329], "fy":[-2.36332,3.65216,2.38806,-3.62749]}, + {"t":1.72939, "x":6.93092, "y":6.85418, "heading":-2.94167, "vx":-0.52928, "vy":1.40187, "omega":-0.73158, "ax":0.00254, "ay":0.00097, "alpha":1.10855, "fx":[3.73885,2.49007,-3.67283,-2.42405], "fy":[-2.44446,3.71841,2.46966,-3.69328]}, + {"t":1.7391, "x":6.92577, "y":6.86781, "heading":-2.94878, "vx":-0.52926, "vy":1.40188, "omega":-0.72081, "ax":0.00259, "ay":0.00099, "alpha":1.13384, "fx":[3.80607,2.57363,-3.73879,-2.50635], "fy":[-2.52715,3.78523,2.55284,-3.75962]}, + {"t":1.74882, "x":6.92063, "y":6.88143, "heading":-2.95578, "vx":-0.52923, "vy":1.40189, "omega":-0.7098, "ax":0.00264, "ay":0.00101, "alpha":1.15953, "fx":[3.8739,2.65878,-3.80533,-2.59021], "fy":[-2.6114,3.85266,2.63758,-3.82657]}, + {"t":1.75853, "x":6.91549, "y":6.89505, "heading":-2.96268, "vx":-0.52921, "vy":1.4019, "omega":-0.69853, "ax":0.00269, "ay":0.00103, "alpha":1.18563, "fx":[3.94239,2.74553,-3.87248,-2.67562], "fy":[-2.69723,3.92073,2.72392,-3.89414]}, + {"t":1.76825, "x":6.91035, "y":6.90867, "heading":-2.96946, "vx":-0.52918, "vy":1.40191, "omega":-0.68701, "ax":0.00275, "ay":0.00105, "alpha":1.21215, "fx":[4.01156,2.83388,-3.94028,-2.7626], "fy":[-2.78463,3.98948,2.81185,-3.96236]}, + {"t":1.77796, "x":6.90521, "y":6.92229, "heading":-2.97614, "vx":-0.52916, "vy":1.40192, "omega":-0.67523, "ax":0.0028, "ay":0.00107, "alpha":1.23909, "fx":[4.08147,2.92386,-4.00876,-2.85115], "fy":[-2.87363,4.05894,2.90139,-4.03129]}, + {"t":1.78768, "x":6.90007, "y":6.93591, "heading":-2.9827, "vx":-0.52913, "vy":1.40193, "omega":-0.6632, "ax":0.00286, "ay":0.00109, "alpha":1.26647, "fx":[4.15214,3.01546,-4.07797,-2.94129], "fy":[-2.96421,4.12916,2.99254,-4.10095]}, + {"t":1.7974, "x":6.89493, "y":6.94953, "heading":-2.98914, "vx":-0.5291, "vy":1.40194, "omega":-0.65089, "ax":0.00292, "ay":0.00111, "alpha":1.2943, "fx":[4.22363,3.1087,-4.14793,-3.03301], "fy":[-3.05641,4.20017,3.08531,-4.17139]}, + {"t":1.80711, "x":6.88979, "y":6.96315, "heading":-2.99547, "vx":-0.52907, "vy":1.40195, "omega":-0.63832, "ax":0.00298, "ay":0.00113, "alpha":1.32259, "fx":[4.29598,3.2036,-4.21871,-3.12633], "fy":[-3.15021,4.27203,3.17972,-4.24266]}, + {"t":1.81683, "x":6.88465, "y":6.97677, "heading":-3.00167, "vx":-0.52904, "vy":1.40196, "omega":-0.62547, "ax":0.00304, "ay":0.00116, "alpha":1.35135, "fx":[4.36924,3.30015,-4.29033,-3.22125], "fy":[-3.24564,4.34478,3.27577,-4.31479]}, + {"t":1.82654, "x":6.87951, "y":6.99039, "heading":-3.00774, "vx":-0.52901, "vy":1.40197, "omega":-0.61234, "ax":0.0031, "ay":0.00118, "alpha":1.3806, "fx":[4.44345,3.39837,-4.36286,-3.31779], "fy":[-3.3427,4.41847,3.37347,-4.38784]}, + {"t":1.83626, "x":6.87437, "y":7.00401, "heading":-3.01369, "vx":-0.52898, "vy":1.40198, "omega":-0.59892, "ax":0.00317, "ay":0.00121, "alpha":1.41034, "fx":[4.51869,3.49828,-4.43634,-3.41595], "fy":[-3.4414,4.49316,3.47284,-4.46187]}, + {"t":1.84597, "x":6.86923, "y":7.01763, "heading":-3.01951, "vx":-0.52895, "vy":1.402, "omega":-0.58522, "ax":0.00324, "ay":0.00123, "alpha":1.44058, "fx":[4.595,3.59988,-4.51083,-3.51574], "fy":[-3.54174,4.5689,3.57388,-4.53693]}, + {"t":1.85569, "x":6.86409, "y":7.03125, "heading":-3.0252, "vx":-0.52892, "vy":1.40201, "omega":-0.57122, "ax":0.00331, "ay":0.00126, "alpha":1.47135, "fx":[4.67244,3.70319,-4.58639,-3.61717], "fy":[-3.64375,4.64576,3.67661,-4.61308]}, + {"t":1.86541, "x":6.85895, "y":7.04488, "heading":-3.03075, "vx":-0.52889, "vy":1.40202, "omega":-0.55693, "ax":0.00339, "ay":0.00129, "alpha":1.50265, "fx":[4.75108,3.80821,-4.66309,-3.72025], "fy":[-3.74743,4.72379,3.78103,-4.69038]}, + {"t":1.87512, "x":6.85381, "y":7.0585, "heading":-3.03616, "vx":-0.52886, "vy":1.40203, "omega":-0.54233, "ax":0.00347, "ay":0.00132, "alpha":1.5345, "fx":[4.83098,3.91494,-4.741,-3.825], "fy":[-3.85279,4.80307,3.88715,-4.76891]}, + {"t":1.88484, "x":6.84867, "y":7.07212, "heading":-3.04143, "vx":-0.52882, "vy":1.40205, "omega":-0.52742, "ax":0.00354, "ay":0.00135, "alpha":1.56692, "fx":[4.91217,4.02337,-4.82022,-3.93145], "fy":[-3.95986,4.88364,3.99497,-4.84875]}, + {"t":1.89455, "x":6.84354, "y":7.08574, "heading":-3.04655, "vx":-0.52879, "vy":1.40206, "omega":-0.5122, "ax":0.00361, "ay":0.00137, "alpha":1.59991, "fx":[4.99465,4.13341,-4.90091,-4.03971], "fy":[-4.06867,4.96556,4.10446,-4.93]}, + {"t":1.90427, "x":6.8384, "y":7.09936, "heading":-3.05153, "vx":-0.52875, "vy":1.40207, "omega":-0.49665, "ax":0.00365, "ay":0.00139, "alpha":1.63349, "fx":[5.07825,4.24485,-4.98337,-4.15001], "fy":[-4.17932,5.04881,4.21555,-5.01282]}, + {"t":1.91398, "x":6.83326, "y":7.11298, "heading":-3.05635, "vx":-0.52872, "vy":1.40209, "omega":-0.48078, "ax":0.00362, "ay":0.00138, "alpha":1.66768, "fx":[5.16244,4.35706,-5.06833,-4.263], "fy":[-4.29205,5.13324,4.328,-5.09753]}, + {"t":1.9237, "x":6.82812, "y":7.12661, "heading":-3.06103, "vx":-0.52868, "vy":1.4021, "omega":-0.46458, "ax":0.00339, "ay":0.00129, "alpha":1.7025, "fx":[5.24558,4.46834,-5.15757,-4.38037], "fy":[-4.40753,5.21828,4.44118,-5.18486]}, + {"t":1.93341, "x":6.82299, "y":7.14023, "heading":-3.06554, "vx":-0.52865, "vy":1.40211, "omega":-0.44804, "ax":0.00259, "ay":0.00099, "alpha":1.73796, "fx":[5.32312,4.57405,-5.25581,-4.50679], "fy":[-4.52751,5.30228,4.55334,-5.27664]}, + {"t":1.94313, "x":6.81785, "y":7.15385, "heading":-3.06989, "vx":-0.52862, "vy":1.40212, "omega":-0.43115, "ax":0.00027, "ay":0.00011, "alpha":1.77407, "fx":[5.38261,4.66169,-5.37569,-4.65477], "fy":[-4.65674,5.38064,4.65973,-5.37766]}, + {"t":1.95285, "x":6.81272, "y":7.16747, "heading":-3.07408, "vx":-0.52862, "vy":1.40212, "omega":-0.41392, "ax":-0.0062, "ay":-0.00232, "alpha":1.81086, "fx":[5.39024,4.69735,-5.55119,-4.85819], "fy":[-4.80805,5.4407,4.74751,-5.50073]}, + {"t":1.96256, "x":6.80758, "y":7.1811, "heading":-3.0781, "vx":-0.52868, "vy":1.4021, "omega":-0.39632, "ax":-0.02386, "ay":-0.00899, "alpha":1.84832, "fx":[5.2544,4.5894,-5.87407,-5.2086], "fy":[-5.01618,5.44813,4.78195,-5.68035]}, + {"t":1.97228, "x":6.80244, "y":7.19472, "heading":-3.08195, "vx":-0.52891, "vy":1.40201, "omega":-0.37837, "ax":-0.07181, "ay":-0.0271, "alpha":1.8864, "fx":[4.72719,4.08998,-6.59192,-5.95316], "fy":[-5.37524,5.30952,4.6688,-6.0097]}, + {"t":1.98199, "x":6.7973, "y":7.20834, "heading":-3.08563, "vx":-0.52961, "vy":1.40175, "omega":-0.36004, "ax":-0.20154, "ay":-0.07629, "alpha":1.92455, "fx":[3.13816,2.52835,-8.37175,-7.75729], "fy":[-6.14096,4.76979,4.15156,-6.74095]}, + {"t":1.99171, "x":6.79215, "y":7.22195, "heading":-3.08913, "vx":-0.53157, "vy":1.40101, "omega":-0.34134, "ax":-0.55121, "ay":-0.21034, "alpha":1.95854, "fx":[-1.32013,-1.90747,-12.99412,-12.39326], "fy":[-8.01155,3.12293,2.52604,-8.55686]}, + {"t":2.00142, "x":6.78695, "y":7.23556, "heading":-3.09244, "vx":-0.53692, "vy":1.39896, "omega":-0.32231, "ax":-1.47782, "ay":-0.57598, "alpha":1.95806, "fx":[-13.37751,-13.99016,-24.99896,-24.35098], "fy":[-12.87715,-1.61225,-2.14239,-13.26911]}, + {"t":2.01114, "x":6.78167, "y":7.24912, "heading":-3.09558, "vx":-0.55128, "vy":1.39337, "omega":-0.30329, "ax":-3.70098, "ay":-1.5205, "alpha":1.75748, "fx":[-42.86271,-43.807,-53.22217,-52.23602], "fy":[-25.0882,-14.42589,-14.51806,-24.90138]}, + {"t":2.02086, "x":6.77614, "y":7.26259, "heading":-3.09852, "vx":-0.58724, "vy":1.3786, "omega":-0.28621, "ax":-7.23513, "ay":-3.3065, "alpha":1.1233, "fx":[-90.52598,-92.2222,-97.24375,-95.6037], "fy":[-47.36606,-39.57556,-38.56704,-46.1406]}, + {"t":2.03057, "x":6.77009, "y":7.27582, "heading":-3.1013, "vx":-0.65753, "vy":1.34647, "omega":-0.2753, "ax":-9.81028, "ay":-5.24094, "alpha":0.55316, "fx":[-125.47259,-127.11825,-129.1388,-127.54865], "fy":[-70.8261,-66.57399,-65.23978,-69.43185]}, + {"t":2.04029, "x":6.76324, "y":7.28866, "heading":-3.10398, "vx":-0.75285, "vy":1.29555, "omega":-0.26993, "ax":-10.70762, "ay":-6.83463, "alpha":0.28657, "fx":[-137.84526,-139.02837,-140.07412,-138.91391], "fy":[-90.32418,-88.12735,-87.08338,-89.26967]}, + {"t":2.05, "x":6.75542, "y":7.30092, "heading":-3.1066, "vx":-0.85688, "vy":1.22915, "omega":-0.26714, "ax":-10.6771, "ay":-8.17006, "alpha":0.16765, "fx":[-137.80557,-138.62388,-139.32895,-138.51918], "fy":[-107.00215,-105.8105,-105.06319,-106.25452]}, + {"t":2.05972, "x":6.74659, "y":7.31248, "heading":-3.1092, "vx":-0.96061, "vy":1.14977, "omega":-0.26551, "ax":-10.18844, "ay":-9.33951, "alpha":0.10852, "fx":[-131.66477,-132.24133,-132.78849,-132.21509], "fy":[-121.818,-121.1369,-120.60111,-121.28359]}, + {"t":2.06943, "x":6.73678, "y":7.32321, "heading":-3.11178, "vx":-1.0596, "vy":1.05903, "omega":-0.26446, "ax":-9.43541, "ay":-10.38599, "alpha":0.07576, "fx":[-122.01909,-122.43376,-122.8893,-122.47568], "fy":[-135.18672,-134.7844,-134.3952,-134.79888]}, + {"t":2.07915, "x":6.72604, "y":7.33301, "heading":-3.11434, "vx":-1.15127, "vy":0.95813, "omega":-0.26372, "ax":-8.37336, "ay":-11.41834, "alpha":0.05592, "fx":[-108.32132,-108.62073,-109.02071,-108.72145], "fy":[-148.44709,-148.21353,-147.93095,-148.16557]}, + {"t":2.08886, "x":6.71446, "y":7.34178, "heading":-3.11691, "vx":-1.23262, "vy":0.84719, "omega":-0.26318, "ax":-7.65081, "ay":-11.92109, "alpha":0.05433, "fx":[-98.94285,-99.22056,-99.64452,-99.36668], "fy":[-154.94129,-154.74956,-154.48645,-154.67928]}, + {"t":2.09877, "x":6.70188, "y":7.34958, "heading":-3.11951, "vx":-1.30838, "vy":0.72916, "omega":-0.26264, "ax":-6.28313, "ay":-12.55172, "alpha":0.07281, "fx":[-81.06315,-81.3864,-82.02476,-81.70038], "fy":[-163.14482,-162.95784,-162.65125,-162.84025]}, + {"t":2.10867, "x":6.68861, "y":7.35619, "heading":-3.12211, "vx":-1.37059, "vy":0.60488, "omega":-0.26192, "ax":-5.01145, "ay":-12.88138, "alpha":0.10336, "fx":[-64.36522,-64.74221,-65.71555,-65.33493], "fy":[-167.45436,-167.2554,-166.89758,-167.10022]}, + {"t":2.11857, "x":6.6748, "y":7.36154, "heading":-3.12471, "vx":-1.4202, "vy":0.47734, "omega":-0.2609, "ax":-3.71942, "ay":-12.90618, "alpha":0.15875, "fx":[-47.28192,-47.71364,-49.2662,-48.82365], "fy":[-167.82733,-167.57711,-167.16697,-167.42395]}, + {"t":2.12847, "x":6.66055, "y":7.36564, "heading":-3.12729, "vx":-1.45703, "vy":0.34956, "omega":-0.25933, "ax":-2.44003, "ay":-12.40971, "alpha":0.27128, "fx":[-30.1279,-30.59145,-33.22333,-32.7262], "fy":[-161.5018,-161.04577,-160.60319,-161.07147]}, + {"t":2.13837, "x":6.64601, "y":7.36849, "heading":-3.12986, "vx":-1.48119, "vy":0.22669, "omega":-0.25664, "ax":-1.26613, "ay":-10.86377, "alpha":0.52644, "fx":[-13.91966,-14.31076,-18.9981,-18.49994], "fy":[-141.84408,-140.51482,-140.131,-141.47808]}, + {"t":2.14827, "x":6.63128, "y":7.3702, "heading":-3.1324, "vx":-1.49372, "vy":0.11913, "omega":-0.25143, "ax":-0.4128, "ay":-7.51219, "alpha":1.05723, "fx":[-1.49693,-1.61846,-9.34253,-8.97155], "fy":[-99.75842,-95.36714,-95.22778,-99.62498]}, + {"t":2.15817, "x":6.61647, "y":7.37101, "heading":-3.13489, "vx":-1.49781, "vy":0.04475, "omega":-0.24096, "ax":-0.06479, "ay":-3.56197, "alpha":1.55738, "fx":[3.82969,3.85546,-5.61926,-5.42929], "fy":[-50.36128,-42.05823,-42.0968,-50.3954]}, + {"t":2.16807, "x":6.60164, "y":7.37128, "heading":-3.13727, "vx":-1.49845, "vy":0.00948, "omega":-0.22554, "ax":-0.00258, "ay":-1.34689, "alpha":1.65242, "fx":[4.69224,4.69481,-4.80299,-4.71812], "fy":[-22.10659,-12.81406,-12.85433,-22.14598]}, + {"t":2.17797, "x":6.5868, "y":7.37131, "heading":-3.13951, "vx":-1.49848, "vy":-0.00385, "omega":-0.20918, "ax":0.00196, "ay":-0.47587, "alpha":1.60328, "fx":[4.57988,4.5754,-4.54332,-4.50997], "fy":[-10.70865,-1.62406,-1.64311,-10.72769]}, + {"t":2.18788, "x":6.57197, "y":7.37125, "heading":-3.14158, "vx":-1.49846, "vy":-0.00857, "omega":-0.1933, "ax":0.00098, "ay":-0.15775, "alpha":1.53359, "fx":[4.36071,4.36496,-4.33958,-4.33508], "fy":[-6.3963,2.30171,2.30159,-6.39648]}, + {"t":2.19778, "x":6.55713, "y":7.37116, "heading":3.13969, "vx":-1.49845, "vy":-0.01013, "omega":-0.17812, "ax":0.00029, "ay":-0.04279, "alpha":1.46281, "fx":[4.14426,4.16109,-4.13769,-4.15236], "fy":[-4.71193,3.58558,3.60134,-4.69619]}, + {"t":2.20768, "x":6.54229, "y":7.37105, "heading":3.13793, "vx":-1.49845, "vy":-0.01055, "omega":-0.16364, "ax":0.00001, "ay":-0.0013, "alpha":1.39345, "fx":[3.93769,3.96667,-3.9375,-3.96641], "fy":[-3.98336,3.92075,3.94969,-3.95442]}, + {"t":2.21758, "x":6.52746, "y":7.37095, "heading":3.13631, "vx":-1.49845, "vy":-0.01056, "omega":-0.14984, "ax":-0.0001, "ay":0.01367, "alpha":1.32583, "fx":[3.73929,3.77873,-3.7415,-3.78151], "fy":[-3.6027,3.9178,3.95752,-3.56298]}, + {"t":2.22748, "x":6.51262, "y":7.37085, "heading":3.13483, "vx":-1.49845, "vy":-0.01043, "omega":-0.13671, "ax":-0.00013, "ay":0.01907, "alpha":1.26002, "fx":[3.54786,3.59586,-3.55093,-3.59965], "fy":[-3.35031,3.79683,3.84517,-3.30194]}, + {"t":2.23738, "x":6.49779, "y":7.37074, "heading":3.13347, "vx":-1.49845, "vy":-0.01024, "omega":-0.12424, "ax":-0.00014, "ay":0.02101, "alpha":1.19604, "fx":[3.36289,3.41762,-3.36624,-3.42167], "fy":[-3.14698,3.6372,3.69228,-3.09189]}, + {"t":2.24728, "x":6.48295, "y":7.37064, "heading":3.13224, "vx":-1.49845, "vy":-0.01003, "omega":-0.1124, "ax":-0.00014, "ay":0.02171, "alpha":1.13393, "fx":[3.18413,3.24393,-3.18754,-3.24801], "fy":[-2.96426,3.46752,3.52764,-2.90412]}, + {"t":2.25718, "x":6.46811, "y":7.37054, "heading":3.13113, "vx":-1.49845, "vy":-0.00982, "omega":-0.10117, "ax":-0.00014, "ay":0.02195, "alpha":1.07368, "fx":[3.01145,3.07487,-3.01486,-3.07887], "fy":[-2.79196,3.29805,3.36176,-2.72823]}, + {"t":2.26708, "x":6.45328, "y":7.37045, "heading":3.13013, "vx":-1.49845, "vy":-0.0096, "omega":-0.09054, "ax":-0.00014, "ay":0.02204, "alpha":1.01532, "fx":[2.84477,2.91053,-2.84814,-2.91443], "fy":[-2.62645,3.13246,3.19848,-2.56042]}, + {"t":2.27698, "x":6.43844, "y":7.37035, "heading":3.12923, "vx":-1.49845, "vy":-0.00938, "omega":-0.08049, "ax":-0.00014, "ay":0.02207, "alpha":0.95885, "fx":[2.684,2.75099,-2.68732,-2.75478], "fy":[-2.4665,2.97202,3.03924,-2.39927]}, + {"t":2.28689, "x":6.4236, "y":7.37026, "heading":3.12844, "vx":-1.49846, "vy":-0.00916, "omega":-0.07099, "ax":-0.00013, "ay":0.02207, "alpha":0.90425, "fx":[2.52904,2.59632,-2.53231,-2.6], "fy":[-2.3117,2.81712,2.8846,-2.24421]}, + {"t":2.29679, "x":6.40877, "y":7.37017, "heading":3.12773, "vx":-1.49846, "vy":-0.00894, "omega":-0.06204, "ax":-0.00013, "ay":0.02207, "alpha":0.85153, "fx":[2.37982,2.44657,-2.38302,-2.45016], "fy":[-2.16192,2.66784,2.73478,-2.09497]}, + {"t":2.30669, "x":6.39393, "y":7.37009, "heading":3.12712, "vx":-1.49846, "vy":-0.00873, "omega":-0.05361, "ax":-0.00013, "ay":0.02207, "alpha":0.80068, "fx":[2.23622,2.30179,-2.23936,-2.30527], "fy":[-2.01714,2.52417,2.5899,-1.95139]}, + {"t":2.31659, "x":6.3791, "y":7.37, "heading":3.12659, "vx":-1.49846, "vy":-0.00851, "omega":-0.04568, "ax":-0.00012, "ay":0.02206, "alpha":0.75168, "fx":[2.09815,2.16198,-2.10123,-2.16535], "fy":[-1.87734,2.386,2.44997,-1.81336]}, + {"t":2.32649, "x":6.36426, "y":7.36992, "heading":3.12614, "vx":-1.49846, "vy":-0.00829, "omega":-0.03824, "ax":-0.00012, "ay":0.02206, "alpha":0.70451, "fx":[1.9655,2.02715,-1.96851,-2.03041], "fy":[-1.74252,2.25326,2.31502,-1.68074]}, + {"t":2.33639, "x":6.34942, "y":7.36984, "heading":3.12576, "vx":-1.49846, "vy":-0.00807, "omega":-0.03126, "ax":-0.00012, "ay":0.02205, "alpha":0.65915, "fx":[1.83817,1.89726,-1.84111,-1.90043], "fy":[-1.61265,2.12582,2.18503,-1.55344]}, + {"t":2.34629, "x":6.33459, "y":7.36976, "heading":3.12545, "vx":-1.49846, "vy":-0.00785, "omega":-0.02474, "ax":-0.00011, "ay":0.02205, "alpha":0.61557, "fx":[1.71603,1.77231,-1.71891,-1.77538], "fy":[-1.48772,2.00359,2.05996,-1.43134]}, + {"t":2.35619, "x":6.31975, "y":7.36968, "heading":3.1252, "vx":-1.49846, "vy":-0.00763, "omega":-0.01864, "ax":-0.00011, "ay":0.02204, "alpha":0.57375, "fx":[1.59898,1.65224,-1.60178,-1.65521], "fy":[-1.36766,1.88643,1.93977,-1.31432]}, + {"t":2.36609, "x":6.30491, "y":7.36961, "heading":3.12502, "vx":-1.49847, "vy":-0.00742, "omega":-0.01296, "ax":-0.00011, "ay":0.02204, "alpha":0.53366, "fx":[1.4869,1.537,-1.48963,-1.53987], "fy":[-1.25244,1.77425,1.82442,-1.20226]}, + {"t":2.37599, "x":6.29008, "y":7.36953, "heading":3.12489, "vx":-1.49847, "vy":-0.0072, "omega":-0.00768, "ax":-0.0001, "ay":0.02203, "alpha":0.49525, "fx":[1.37966,1.42652,-1.38231,-1.4293], "fy":[-1.14197,1.66691,1.71383,-1.09505]}, + {"t":2.3859, "x":6.27524, "y":7.36946, "heading":3.12481, "vx":-1.49847, "vy":-0.00698, "omega":-0.00277, "ax":-0.0001, "ay":0.02203, "alpha":0.45851, "fx":[1.27714,1.32072,-1.27972,-1.32342], "fy":[-1.0362,1.5643,1.60793,-0.99255]}, + {"t":2.3958, "x":6.2604, "y":7.3694, "heading":3.12479, "vx":-1.49847, "vy":-0.00676, "omega":0.00177, "ax":-0.0001, "ay":0.02202, "alpha":0.42339, "fx":[1.17922,1.21954,-1.18173,-1.22214], "fy":[-0.93503,1.46628,1.50665,-0.89466]}, + {"t":2.4057, "x":6.24557, "y":7.36933, "heading":3.1248, "vx":-1.49847, "vy":-0.00654, "omega":0.00596, "ax":-0.0001, "ay":0.02202, "alpha":0.38986, "fx":[1.08579,1.12288,-1.08822,-1.12539], "fy":[-0.83837,1.37275,1.40988,-0.80125]}, + {"t":2.4156, "x":6.23073, "y":7.36927, "heading":3.12486, "vx":-1.49847, "vy":-0.00633, "omega":0.00982, "ax":-0.00009, "ay":0.02201, "alpha":0.35787, "fx":[0.9967,1.03063,-0.99906,-1.03305], "fy":[-0.74614,1.28357,1.31753,-0.71218]}, + {"t":2.4255, "x":6.2159, "y":7.3692, "heading":3.12496, "vx":-1.49847, "vy":-0.00611, "omega":0.01336, "ax":-0.00009, "ay":0.02201, "alpha":0.3274, "fx":[0.91185,0.94271,-0.91412,-0.94504], "fy":[-0.65823,1.19862,1.22951,-0.62734]}, + {"t":2.4354, "x":6.20106, "y":7.36914, "heading":3.12509, "vx":-1.49847, "vy":-0.00589, "omega":0.0166, "ax":-0.00009, "ay":0.02201, "alpha":0.29838, "fx":[0.8311,0.859,-0.83329,-0.86124], "fy":[-0.57453,1.11778,1.1457,-0.54661]}, + {"t":2.4453, "x":6.18622, "y":7.36909, "heading":3.12526, "vx":-1.49847, "vy":-0.00567, "omega":0.01956, "ax":-0.00008, "ay":0.022, "alpha":0.2708, "fx":[0.75432,0.7794,-0.75644,-0.78155], "fy":[-0.49494,1.04091,1.066,-0.46985]}, + {"t":2.4552, "x":6.17139, "y":7.36903, "heading":3.12545, "vx":-1.49847, "vy":-0.00545, "omega":0.02224, "ax":-0.00008, "ay":0.022, "alpha":0.24459, "fx":[0.6814,0.70378,-0.68344,-0.70585], "fy":[-0.41934,0.9679,0.9903,-0.39694]}, + {"t":2.4651, "x":6.15655, "y":7.36898, "heading":3.12567, "vx":-1.49847, "vy":-0.00524, "omega":0.02466, "ax":-0.00008, "ay":0.02199, "alpha":0.21973, "fx":[0.61221,0.63205,-0.61417,-0.63403], "fy":[-0.3476,0.89862,0.91847,-0.32776]}, + {"t":2.47501, "x":6.14171, "y":7.36893, "heading":3.12591, "vx":-1.49848, "vy":-0.00502, "omega":0.02684, "ax":-0.00007, "ay":0.02199, "alpha":0.19616, "fx":[0.54663,0.56407,-0.54851,-0.56597], "fy":[-0.27963,0.83295,0.8504,-0.26218]}, + {"t":2.48491, "x":6.12688, "y":7.36888, "heading":3.12618, "vx":-1.49848, "vy":-0.0048, "omega":0.02878, "ax":-0.00007, "ay":0.02199, "alpha":0.17386, "fx":[0.48453,0.49973,-0.48633,-0.50154], "fy":[-0.21529,0.77077,0.78597,-0.20009]}, + {"t":2.49481, "x":6.11204, "y":7.36883, "heading":3.12646, "vx":-1.49848, "vy":-0.00458, "omega":0.0305, "ax":-0.00007, "ay":0.02198, "alpha":0.15276, "fx":[0.4258,0.4389,-0.42751,-0.44063], "fy":[-0.15447,0.71195,0.72506,-0.14136]}, + {"t":2.50471, "x":6.0972, "y":7.36879, "heading":3.12677, "vx":-1.49848, "vy":-0.00437, "omega":0.03201, "ax":-0.00006, "ay":0.02198, "alpha":0.13284, "fx":[0.37031,0.38147,-0.37194,-0.38312], "fy":[-0.09704,0.65637,0.66754,-0.08587]}, + {"t":2.51461, "x":6.08237, "y":7.36875, "heading":3.12708, "vx":-1.49848, "vy":-0.00415, "omega":0.03333, "ax":-0.00006, "ay":0.02198, "alpha":0.11404, "fx":[0.31794,0.32732,-0.31949,-0.32888], "fy":[-0.04289,0.60392,0.61331,-0.0335]}, + {"t":2.52451, "x":6.06753, "y":7.36871, "heading":3.12741, "vx":-1.49848, "vy":-0.00393, "omega":0.03446, "ax":-0.00006, "ay":0.02197, "alpha":0.09633, "fx":[0.26857,0.27632,-0.27004,-0.27779], "fy":[0.00812,0.55448,0.56222,0.01587]}, + {"t":2.53441, "x":6.05269, "y":7.36867, "heading":3.12775, "vx":-1.49848, "vy":-0.00371, "omega":0.03541, "ax":-0.00005, "ay":0.02197, "alpha":0.07966, "fx":[0.2221,0.22835,-0.22349,-0.22974], "fy":[0.05609,0.50792,0.51418,0.06234]}, + {"t":2.54431, "x":6.03786, "y":7.36863, "heading":3.12811, "vx":-1.49848, "vy":-0.00349, "omega":0.0362, "ax":-0.00005, "ay":0.02197, "alpha":0.064, "fx":[0.1784,0.18329,-0.17971,-0.1846], "fy":[0.10115,0.46415,0.46905,0.10605]}, + {"t":2.55421, "x":6.02302, "y":7.3686, "heading":3.12846, "vx":-1.49848, "vy":-0.00328, "omega":0.03683, "ax":-0.00005, "ay":0.02196, "alpha":0.0493, "fx":[0.13736,0.14103,-0.13859,-0.14226], "fy":[0.14342,0.42304,0.42671,0.14709]}, + {"t":2.56411, "x":6.00818, "y":7.36857, "heading":3.12883, "vx":-1.49848, "vy":-0.00306, "omega":0.03732, "ax":-0.00004, "ay":0.02196, "alpha":0.03552, "fx":[0.09888,0.10145,-0.10002,-0.10259], "fy":[0.18301,0.38448,0.38705,0.18558]}, + {"t":2.57402, "x":5.99335, "y":7.36854, "heading":3.1292, "vx":-1.49848, "vy":-0.00284, "omega":0.03767, "ax":-0.00004, "ay":0.02196, "alpha":0.02262, "fx":[0.06284,0.06443,-0.0639,-0.06549], "fy":[0.22004,0.34837,0.34996,0.22163]}, + {"t":2.58392, "x":5.97851, "y":7.36851, "heading":3.12957, "vx":-1.49848, "vy":-0.00262, "omega":0.0379, "ax":-0.00004, "ay":0.02196, "alpha":0.01057, "fx":[0.02913,0.02986,-0.03011,-0.03083], "fy":[0.25463,0.3146,0.31532,0.25535]}, + {"t":2.59382, "x":5.96368, "y":7.36849, "heading":3.12995, "vx":-1.49848, "vy":-0.00241, "omega":0.038, "ax":-0.00003, "ay":0.02196, "alpha":-0.00067, "fx":[-0.00234,-0.00238,0.00144,0.00149], "fy":[0.28688,0.28306,0.28302,0.28684]}, + {"t":2.60372, "x":5.94884, "y":7.36847, "heading":3.13032, "vx":-1.49848, "vy":-0.00219, "omega":0.03799, "ax":-0.00003, "ay":0.02195, "alpha":-0.01115, "fx":[-0.03168,-0.03239,0.03086,0.03158], "fy":[0.31691,0.25365,0.25294,0.31619]}, + {"t":2.61362, "x":5.934, "y":7.36844, "heading":3.1307, "vx":-1.49848, "vy":-0.00197, "omega":0.03788, "ax":-0.00003, "ay":0.02195, "alpha":-0.0209, "fx":[-0.05899,-0.06028,0.05826,0.05955], "fy":[0.34481,0.22628,0.22499,0.34352]}, + {"t":2.62352, "x":5.91917, "y":7.36843, "heading":3.13107, "vx":-1.49848, "vy":-0.00176, "omega":0.03768, "ax":-0.00002, "ay":0.02195, "alpha":-0.02995, "fx":[-0.08436,-0.08615,0.08372,0.0855], "fy":[0.37071,0.20084,0.19905,0.36892]}, + {"t":2.63342, "x":5.90433, "y":7.36841, "heading":3.13145, "vx":-1.49848, "vy":-0.00154, "omega":0.03738, "ax":-0.00002, "ay":0.02195, "alpha":-0.03834, "fx":[-0.1079,-0.11011,0.10734,0.10954], "fy":[0.39469,0.17724,0.17503,0.39248]}, + {"t":2.64332, "x":5.88949, "y":7.3684, "heading":3.13182, "vx":-1.49848, "vy":-0.00132, "omega":0.037, "ax":-0.00002, "ay":0.02195, "alpha":-0.0461, "fx":[-0.1297,-0.13226,0.12922,0.13177], "fy":[0.41686,0.15539,0.15283,0.4143]}, + {"t":2.65322, "x":5.87466, "y":7.36838, "heading":3.13218, "vx":-1.49848, "vy":-0.0011, "omega":0.03654, "ax":-0.00002, "ay":0.02195, "alpha":-0.05326, "fx":[-0.14984,-0.15268,0.14944,0.15228], "fy":[0.43731,0.13519,0.13235,0.43447]}, + {"t":2.66312, "x":5.85982, "y":7.36837, "heading":3.13254, "vx":-1.49848, "vy":-0.00089, "omega":0.03602, "ax":-0.00001, "ay":0.02195, "alpha":-0.05987, "fx":[-0.16841,-0.17149,0.1681,0.17117], "fy":[0.45615,0.11656,0.11349,0.45307]}, + {"t":2.67303, "x":5.84498, "y":7.36837, "heading":3.1329, "vx":-1.49848, "vy":-0.00067, "omega":0.03542, "ax":-0.00001, "ay":0.02195, "alpha":-0.06594, "fx":[-0.18551,-0.18876,0.18527,0.18852], "fy":[0.47345,0.09942,0.09617,0.4702]}, + {"t":2.68293, "x":5.83015, "y":7.36836, "heading":3.13325, "vx":-1.49848, "vy":-0.00045, "omega":0.03477, "ax":-0.00001, "ay":0.02194, "alpha":-0.07151, "fx":[-0.2012,-0.20459,0.20105,0.20443], "fy":[0.48931,0.08367,0.08029,0.48592]}, + {"t":2.69283, "x":5.81531, "y":7.36836, "heading":3.1336, "vx":-1.49848, "vy":-0.00023, "omega":0.03406, "ax":0.0, "ay":0.02194, "alpha":-0.07661, "fx":[-0.21558,-0.21906,0.21551,0.21898], "fy":[0.50381,0.06925,0.06577,0.50033]}, + {"t":2.70273, "x":5.80047, "y":7.36836, "heading":3.13393, "vx":-1.49848, "vy":-0.00002, "omega":0.0333, "ax":0.0, "ay":0.02194, "alpha":-0.08127, "fx":[-0.22872,-0.23225,0.22873,0.23226], "fy":[0.51704,0.05606,0.05253,0.51351]}, + {"t":2.71263, "x":5.78564, "y":7.36836, "heading":3.13426, "vx":-1.49848, "vy":0.0002, "omega":0.0325, "ax":0.0, "ay":0.02194, "alpha":-0.08551, "fx":[-0.24069,-0.24424,0.24078,0.24433], "fy":[0.52907,0.04405,0.04049,0.52551]}, + {"t":2.72253, "x":5.7708, "y":7.36836, "heading":3.13459, "vx":-1.49848, "vy":0.00042, "omega":0.03165, "ax":0.00001, "ay":0.02194, "alpha":-0.08936, "fx":[-0.25156,-0.25512,0.25174,0.25529], "fy":[0.53998,0.03313,0.02958,0.53643]}, + {"t":2.73243, "x":5.75596, "y":7.36836, "heading":3.1349, "vx":-1.49848, "vy":0.00063, "omega":0.03077, "ax":0.00001, "ay":0.02194, "alpha":-0.09284, "fx":[-0.26142,-0.26495,0.26168,0.2652], "fy":[0.54985,0.02323,0.01971,0.54633]}, + {"t":2.74233, "x":5.74113, "y":7.36837, "heading":3.1352, "vx":-1.49848, "vy":0.00085, "omega":0.02985, "ax":0.00001, "ay":0.02194, "alpha":-0.09598, "fx":[-0.27032,-0.2738,0.27066,0.27413], "fy":[0.55875,0.0143,0.01082,0.55527]}, + {"t":2.75223, "x":5.72629, "y":7.36838, "heading":3.1355, "vx":-1.49848, "vy":0.00107, "omega":0.0289, "ax":0.00002, "ay":0.02194, "alpha":-0.09881, "fx":[-0.27832,-0.28174,0.27875,0.28216], "fy":[0.56674,0.00626,0.00284,0.56332]}, + {"t":2.76214, "x":5.71145, "y":7.36839, "heading":3.13579, "vx":-1.49848, "vy":0.00129, "omega":0.02792, "ax":0.00002, "ay":0.02194, "alpha":-0.10134, "fx":[-0.2855,-0.28884,0.286,0.28934], "fy":[0.57388,-0.00096,-0.00429,0.57054]}, + {"t":2.77204, "x":5.69662, "y":7.36841, "heading":3.13606, "vx":-1.49848, "vy":0.0015, "omega":0.02692, "ax":0.00002, "ay":0.02194, "alpha":-0.1036, "fx":[-0.2919,-0.29516,0.29249,0.29574], "fy":[0.58025,-0.0074,-0.01065,0.577]}, + {"t":2.78194, "x":5.68178, "y":7.36842, "heading":3.13633, "vx":-1.49848, "vy":0.00172, "omega":0.02589, "ax":0.00003, "ay":0.02195, "alpha":-0.1056, "fx":[-0.29759,-0.30075,0.29827,0.30142], "fy":[0.5859,-0.01312,-0.01627,0.58274]}, + {"t":2.79184, "x":5.66694, "y":7.36844, "heading":3.13658, "vx":-1.49848, "vy":0.00194, "omega":0.02485, "ax":0.00003, "ay":0.02195, "alpha":-0.10737, "fx":[-0.30263,-0.30568,0.30338,0.30643], "fy":[0.59088,-0.01818,-0.02123,0.58783]}, + {"t":2.80174, "x":5.65211, "y":7.36846, "heading":3.13683, "vx":-1.49848, "vy":0.00216, "omega":0.02378, "ax":0.00003, "ay":0.02195, "alpha":-0.10893, "fx":[-0.30705,-0.31,0.30789,0.31083], "fy":[0.59525,-0.02263,-0.02557,0.59231]}, + {"t":2.81164, "x":5.63727, "y":7.36848, "heading":3.13707, "vx":-1.49848, "vy":0.00237, "omega":0.0227, "ax":0.00004, "ay":0.02195, "alpha":-0.11029, "fx":[-0.31092,-0.31375,0.31184,0.31467], "fy":[0.59906,-0.02652,-0.02936,0.59623]}, + {"t":2.82154, "x":5.62243, "y":7.36851, "heading":3.13729, "vx":-1.49848, "vy":0.00259, "omega":0.02161, "ax":0.00004, "ay":0.02195, "alpha":-0.11146, "fx":[-0.31427,-0.31699,0.31527,0.31799], "fy":[0.60236,-0.0299,-0.03262,0.59964]}, + {"t":2.83144, "x":5.6076, "y":7.36854, "heading":3.1375, "vx":-1.49848, "vy":0.00281, "omega":0.02051, "ax":0.00004, "ay":0.02195, "alpha":-0.11248, "fx":[-0.31716,-0.31977,0.31824,0.32085], "fy":[0.60519,-0.03281,-0.03542,0.60259]}, + {"t":2.84134, "x":5.59276, "y":7.36856, "heading":3.13771, "vx":-1.49848, "vy":0.00302, "omega":0.0194, "ax":0.00004, "ay":0.02195, "alpha":-0.11334, "fx":[-0.31961,-0.32211,0.32078,0.32328], "fy":[0.6076,-0.03529,-0.03778,0.60511]}, + {"t":2.85124, "x":5.57793, "y":7.3686, "heading":3.1379, "vx":-1.49848, "vy":0.00324, "omega":0.01827, "ax":0.00005, "ay":0.02195, "alpha":-0.11406, "fx":[-0.32168,-0.32408,0.32293,0.32532], "fy":[0.60963,-0.03737,-0.03976,0.60724]}, + {"t":2.86115, "x":5.56309, "y":7.36863, "heading":3.13808, "vx":-1.49848, "vy":0.00346, "omega":0.01714, "ax":0.00005, "ay":0.02196, "alpha":-0.11466, "fx":[-0.3234,-0.32569,0.32473,0.32702], "fy":[0.61131,-0.03911,-0.04139,0.60902]}, + {"t":2.87105, "x":5.54825, "y":7.36866, "heading":3.13825, "vx":-1.49848, "vy":0.00368, "omega":0.01601, "ax":0.00005, "ay":0.02196, "alpha":-0.11516, "fx":[-0.3248,-0.32699,0.32622,0.3284], "fy":[0.61268,-0.04052,-0.04271,0.61049]}, + {"t":2.88095, "x":5.53342, "y":7.3687, "heading":3.13841, "vx":-1.49848, "vy":0.00389, "omega":0.01487, "ax":0.00006, "ay":0.02196, "alpha":-0.11555, "fx":[-0.32592,-0.32801,0.32742,0.3295], "fy":[0.61376,-0.04165,-0.04374,0.61168]}, + {"t":2.89085, "x":5.51858, "y":7.36874, "heading":3.13856, "vx":-1.49848, "vy":0.00411, "omega":0.01372, "ax":0.00006, "ay":0.02196, "alpha":-0.11585, "fx":[-0.32678,-0.32878,0.32836,0.33035], "fy":[0.6146,-0.04252,-0.04452,0.61261]}, + {"t":2.90075, "x":5.50374, "y":7.36878, "heading":3.13869, "vx":-1.49848, "vy":0.00433, "omega":0.01258, "ax":0.00006, "ay":0.02197, "alpha":-0.11607, "fx":[-0.32741,-0.32932,0.32907,0.33098], "fy":[0.61522,-0.04316,-0.04507,0.61331]}, + {"t":2.91065, "x":5.48891, "y":7.36883, "heading":3.13882, "vx":-1.49848, "vy":0.00455, "omega":0.01143, "ax":0.00007, "ay":0.02197, "alpha":-0.11622, "fx":[-0.32783,-0.32966,0.32958,0.3314], "fy":[0.61564,-0.04359,-0.04542,0.61381]}, + {"t":2.92055, "x":5.47407, "y":7.36887, "heading":3.13893, "vx":-1.49848, "vy":0.00476, "omega":0.01028, "ax":0.00007, "ay":0.02197, "alpha":-0.1163, "fx":[-0.32807,-0.32983,0.3299,0.33165], "fy":[0.61588,-0.04384,-0.04559,0.61413]}, + {"t":2.93045, "x":5.45923, "y":7.36892, "heading":3.13903, "vx":-1.49848, "vy":0.00498, "omega":0.00913, "ax":0.00007, "ay":0.02197, "alpha":-0.11633, "fx":[-0.32815,-0.32984,0.33006,0.33174], "fy":[0.61597,-0.04392,-0.04561,0.61428]}, + {"t":2.94035, "x":5.4444, "y":7.36897, "heading":3.13912, "vx":-1.49848, "vy":0.0052, "omega":0.00797, "ax":0.00008, "ay":0.02198, "alpha":-0.11631, "fx":[-0.32808,-0.32971,0.33007,0.3317], "fy":[0.61592,-0.04385,-0.04548,0.61429]}, + {"t":2.95025, "x":5.42956, "y":7.36902, "heading":3.1392, "vx":-1.49847, "vy":0.00542, "omega":0.00682, "ax":0.00008, "ay":0.02198, "alpha":-0.11625, "fx":[-0.32788,-0.32946,0.32995,0.33153], "fy":[0.61575,-0.04365,-0.04523,0.61418]}, + {"t":2.96016, "x":5.41472, "y":7.36908, "heading":3.13927, "vx":-1.49847, "vy":0.00563, "omega":0.00567, "ax":0.00008, "ay":0.02198, "alpha":-0.11614, "fx":[-0.32756,-0.32909,0.32972,0.33124], "fy":[0.61547,-0.04333,-0.04486,0.61394]}, + {"t":2.97006, "x":5.39989, "y":7.36914, "heading":3.13932, "vx":-1.49847, "vy":0.00585, "omega":0.00452, "ax":0.00009, "ay":0.02199, "alpha":-0.116, "fx":[-0.32713,-0.32862,0.32937,0.33086], "fy":[0.61509,-0.0429,-0.04439,0.6136]}, + {"t":2.97996, "x":5.38505, "y":7.36919, "heading":3.13937, "vx":-1.49847, "vy":0.00607, "omega":0.00337, "ax":0.00009, "ay":0.02199, "alpha":-0.11582, "fx":[-0.3266,-0.32807,0.32893,0.33038], "fy":[0.61462,-0.04236,-0.04382,0.61316]}, + {"t":2.98986, "x":5.37021, "y":7.36926, "heading":3.1394, "vx":-1.49847, "vy":0.00629, "omega":0.00223, "ax":0.00009, "ay":0.02199, "alpha":-0.11561, "fx":[-0.32598,-0.32742,0.32839,0.32982], "fy":[0.61406,-0.04173,-0.04317,0.61263]}, + {"t":2.99976, "x":5.35538, "y":7.36932, "heading":3.13942, "vx":-1.49847, "vy":0.00651, "omega":0.00108, "ax":0.0001, "ay":0.022, "alpha":-0.11537, "fx":[-0.32526,-0.32669,0.32776,0.32917], "fy":[0.61343,-0.04101,-0.04243,0.61201]}, + {"t":3.00966, "x":5.34054, "y":7.36938, "heading":3.13944, "vx":-1.49847, "vy":0.00672, "omega":-0.00006, "ax":0.0001, "ay":0.022, "alpha":-0.1151, "fx":[-0.32446,-0.32587,0.32704,0.32844], "fy":[0.61271,-0.0402,-0.04161,0.6113]}, + {"t":3.01956, "x":5.32571, "y":7.36945, "heading":3.13943, "vx":-1.49847, "vy":0.00694, "omega":-0.0012, "ax":0.0001, "ay":0.02201, "alpha":-0.1148, "fx":[-0.32357,-0.32498,0.32623,0.32763], "fy":[0.6119,-0.03929,-0.0407,0.6105]}, + {"t":3.02946, "x":5.31087, "y":7.36952, "heading":3.13942, "vx":-1.49847, "vy":0.00716, "omega":-0.00234, "ax":0.00011, "ay":0.02201, "alpha":-0.11447, "fx":[-0.32258,-0.32399,0.32532,0.32673], "fy":[0.61102,-0.03829,-0.0397,0.60961]}, + {"t":3.03936, "x":5.29603, "y":7.36959, "heading":3.1394, "vx":-1.49847, "vy":0.00738, "omega":-0.00347, "ax":0.00011, "ay":0.02202, "alpha":-0.1141, "fx":[-0.32149,-0.32291,0.32432,0.32573], "fy":[0.61004,-0.03718,-0.0386,0.60862]}, + {"t":3.04927, "x":5.2812, "y":7.36967, "heading":3.13937, "vx":-1.49847, "vy":0.00759, "omega":-0.0046, "ax":0.00011, "ay":0.02202, "alpha":-0.1137, "fx":[-0.32029,-0.32173,0.3232,0.32463], "fy":[0.60896,-0.03597,-0.0374,0.60752]}, + {"t":3.05917, "x":5.26636, "y":7.36974, "heading":3.13932, "vx":-1.49846, "vy":0.00781, "omega":-0.00573, "ax":0.00012, "ay":0.02202, "alpha":-0.11325, "fx":[-0.31898,-0.32044,0.32197,0.32343], "fy":[0.60777,-0.03463,-0.03609,0.60631]}, + {"t":3.06907, "x":5.25152, "y":7.36982, "heading":3.13926, "vx":-1.49846, "vy":0.00803, "omega":-0.00685, "ax":0.00012, "ay":0.02203, "alpha":-0.11276, "fx":[-0.31753,-0.31903,0.32061,0.32209], "fy":[0.60646,-0.03317,-0.03466,0.60497]}, + {"t":3.07897, "x":5.23669, "y":7.3699, "heading":3.1392, "vx":-1.49846, "vy":0.00825, "omega":-0.00796, "ax":0.00012, "ay":0.02203, "alpha":-0.11222, "fx":[-0.31594,-0.31747,0.3191,0.32062], "fy":[0.60501,-0.03155,-0.03308,0.60349]}, + {"t":3.08887, "x":5.22185, "y":7.36999, "heading":3.13912, "vx":-1.49846, "vy":0.00847, "omega":-0.00907, "ax":0.00012, "ay":0.02204, "alpha":-0.11162, "fx":[-0.31418,-0.31576,0.31743,0.31899], "fy":[0.60341,-0.02977,-0.03134,0.60184]}, + {"t":3.09877, "x":5.20701, "y":7.37007, "heading":3.13903, "vx":-1.49846, "vy":0.00869, "omega":-0.01018, "ax":0.00013, "ay":0.02205, "alpha":-0.11096, "fx":[-0.31225,-0.31386,0.31557,0.31718], "fy":[0.60163,-0.0278,-0.02942,0.60001]}, + {"t":3.10867, "x":5.19218, "y":7.37016, "heading":3.13893, "vx":-1.49846, "vy":0.0089, "omega":-0.01128, "ax":0.00013, "ay":0.02205, "alpha":-0.11023, "fx":[-0.3101,-0.31177,0.31351,0.31518], "fy":[0.59965,-0.02563,-0.0273,0.59798]}, + {"t":3.11857, "x":5.17734, "y":7.37025, "heading":3.13881, "vx":-1.49846, "vy":0.00912, "omega":-0.01237, "ax":0.00013, "ay":0.02206, "alpha":-0.10942, "fx":[-0.30773,-0.30946,0.31123,0.31295], "fy":[0.59745,-0.02323,-0.02495,0.59573]}, + {"t":3.12847, "x":5.16251, "y":7.37034, "heading":3.13869, "vx":-1.49846, "vy":0.00934, "omega":-0.01345, "ax":0.00014, "ay":0.02206, "alpha":-0.10852, "fx":[-0.3051,-0.30689,0.30868,0.31047], "fy":[0.595,-0.02057,-0.02236,0.59321]}, + {"t":3.13837, "x":5.14767, "y":7.37043, "heading":3.13856, "vx":-1.49845, "vy":0.00956, "omega":-0.01453, "ax":0.00014, "ay":0.02207, "alpha":-0.10752, "fx":[-0.30219,-0.30405,0.30585,0.3077], "fy":[0.59227,-0.01762,-0.01947,0.59042]}, + {"t":3.14828, "x":5.13283, "y":7.37053, "heading":3.13841, "vx":-1.49845, "vy":0.00978, "omega":-0.01559, "ax":0.00014, "ay":0.02207, "alpha":-0.10641, "fx":[-0.29896,-0.30088,0.30271,0.30463], "fy":[0.58923,-0.01436,-0.01628,0.58731]}, + {"t":3.15818, "x":5.118, "y":7.37063, "heading":3.13826, "vx":-1.49845, "vy":0.01, "omega":-0.01665, "ax":0.00015, "ay":0.02208, "alpha":-0.10517, "fx":[-0.29539,-0.29738,0.29922,0.3012], "fy":[0.58585,-0.01074,-0.01273,0.58386]}, + {"t":3.16808, "x":5.10316, "y":7.37073, "heading":3.1381, "vx":-1.49845, "vy":0.01021, "omega":-0.01769, "ax":0.00015, "ay":0.02209, "alpha":-0.1038, "fx":[-0.29142,-0.29348,0.29534,0.29739], "fy":[0.58208,-0.00674,-0.0088,0.58002]}, + {"t":3.17798, "x":5.08832, "y":7.37083, "heading":3.13792, "vx":-1.49845, "vy":0.01043, "omega":-0.01872, "ax":0.00015, "ay":0.02209, "alpha":-0.10228, "fx":[-0.28703,-0.28916,0.29103,0.29316], "fy":[0.57789,-0.0023,-0.00444,0.57575]}, + {"t":3.18788, "x":5.07349, "y":7.37093, "heading":3.13774, "vx":-1.49845, "vy":0.01065, "omega":-0.01973, "ax":0.00016, "ay":0.0221, "alpha":-0.1006, "fx":[-0.28217,-0.28438,0.28626,0.28846], "fy":[0.57323,0.0026,0.00039,0.57103]}, + {"t":3.19778, "x":5.05865, "y":7.37104, "heading":3.13754, "vx":-1.49845, "vy":0.01087, "omega":-0.02072, "ax":0.00016, "ay":0.02211, "alpha":-0.09873, "fx":[-0.27681,-0.27908,0.28098,0.28325], "fy":[0.56806,0.00801,0.00574,0.56579]}, + {"t":3.20768, "x":5.04382, "y":7.37115, "heading":3.13733, "vx":-1.49844, "vy":0.01109, "omega":-0.0217, "ax":0.00016, "ay":0.02211, "alpha":-0.09667, "fx":[-0.27089,-0.27322,0.27514,0.27747], "fy":[0.56234,0.01398,0.01164,0.56]}, + {"t":3.21758, "x":5.02898, "y":7.37126, "heading":3.13712, "vx":-1.49844, "vy":0.01131, "omega":-0.02266, "ax":0.00017, "ay":0.02212, "alpha":-0.0944, "fx":[-0.26436,-0.26676,0.2687,0.27109], "fy":[0.556,0.02055,0.01816,0.55361]}, + {"t":3.22748, "x":5.01414, "y":7.37137, "heading":3.1369, "vx":-1.49844, "vy":0.01153, "omega":-0.02359, "ax":0.00017, "ay":0.02213, "alpha":-0.09189, "fx":[-0.25718,-0.25963,0.2616,0.26405], "fy":[0.54901,0.02779,0.02534,0.54656]}, + {"t":3.23739, "x":4.99931, "y":7.37149, "heading":3.13666, "vx":-1.49844, "vy":0.01175, "omega":-0.0245, "ax":0.00017, "ay":0.02213, "alpha":-0.08913, "fx":[-0.24928,-0.25178,0.25379,0.25628], "fy":[0.5413,0.03573,0.03324,0.53881]}, + {"t":3.24729, "x":4.98447, "y":7.3716, "heading":3.13642, "vx":-1.49844, "vy":0.01197, "omega":-0.02539, "ax":0.00018, "ay":0.02214, "alpha":-0.0861, "fx":[-0.24063,-0.24315,0.24522,0.24774], "fy":[0.53282,0.04445,0.04192,0.53029]}, + {"t":3.25719, "x":4.96964, "y":7.37172, "heading":3.13617, "vx":-1.49844, "vy":0.01219, "omega":-0.02624, "ax":0.00018, "ay":0.02215, "alpha":-0.08277, "fx":[-0.23114,-0.23369,0.23582,0.23837], "fy":[0.5235,0.05399,0.05144,0.52095]}, + {"t":3.26709, "x":4.9548, "y":7.37185, "heading":3.13591, "vx":-1.49843, "vy":0.0124, "omega":-0.02706, "ax":0.00018, "ay":0.02216, "alpha":-0.07913, "fx":[-0.22077,-0.22333,0.22554,0.22809], "fy":[0.51328,0.06442,0.06187,0.51073]}, + {"t":3.27699, "x":4.93996, "y":7.37197, "heading":3.13564, "vx":-1.49843, "vy":0.01262, "omega":-0.02784, "ax":0.00019, "ay":0.02217, "alpha":-0.07515, "fx":[-0.20945,-0.21199,0.2143,0.21684], "fy":[0.50209,0.0758,0.07326,0.49955]}, + {"t":3.28689, "x":4.92513, "y":7.3721, "heading":3.13536, "vx":-1.49843, "vy":0.01284, "omega":-0.02859, "ax":0.00019, "ay":0.02217, "alpha":-0.07081, "fx":[-0.19712,-0.19962,0.20205,0.20455], "fy":[0.48987,0.0882,0.0857,0.48736]}, + {"t":3.29679, "x":4.91029, "y":7.37222, "heading":3.13508, "vx":-1.49843, "vy":0.01306, "omega":-0.02929, "ax":0.00019, "ay":0.02218, "alpha":-0.06608, "fx":[-0.18369,-0.18614,0.18872,0.19116], "fy":[0.47653,0.10169,0.09925,0.47409]}, + {"t":3.30669, "x":4.89546, "y":7.37235, "heading":3.13479, "vx":-1.49843, "vy":0.01328, "omega":-0.02994, "ax":0.0002, "ay":0.02219, "alpha":-0.06094, "fx":[-0.16911,-0.17147,0.17422,0.17657], "fy":[0.46202,0.11633,0.11398,0.45967]}, + {"t":3.31659, "x":4.88062, "y":7.37249, "heading":3.13449, "vx":-1.49842, "vy":0.0135, "omega":-0.03054, "ax":0.0002, "ay":0.0222, "alpha":-0.05536, "fx":[-0.1533,-0.15553,0.1585,0.16073], "fy":[0.44624,0.13221,0.12998,0.44401]}, + {"t":3.32649, "x":4.86578, "y":7.37262, "heading":3.13419, "vx":-1.49842, "vy":0.01372, "omega":-0.03109, "ax":0.0002, "ay":0.02221, "alpha":-0.04931, "fx":[-0.13619,-0.13826,0.14147,0.14354], "fy":[0.42912,0.1494,0.14733,0.42705]}, + {"t":3.3364, "x":4.85095, "y":7.37276, "heading":3.13388, "vx":-1.49842, "vy":0.01394, "omega":-0.03158, "ax":0.00021, "ay":0.02222, "alpha":-0.04277, "fx":[-0.11768,-0.11955,0.12305,0.12492], "fy":[0.41057,0.16798,0.16611,0.40871]}, + {"t":3.3463, "x":4.83611, "y":7.3729, "heading":3.13357, "vx":-1.49842, "vy":0.01416, "omega":-0.032, "ax":0.00021, "ay":0.02223, "alpha":-0.0357, "fx":[-0.09771,-0.09933,0.10316,0.10478], "fy":[0.39052,0.18803,0.1864,0.38889]}, + {"t":3.3562, "x":4.82128, "y":7.37304, "heading":3.13326, "vx":-1.49842, "vy":0.01438, "omega":-0.03236, "ax":0.00021, "ay":0.02224, "alpha":-0.02807, "fx":[-0.07618,-0.07751,0.08172,0.08305], "fy":[0.36886,0.20963,0.2083,0.36753]}, + {"t":3.3661, "x":4.80644, "y":7.37318, "heading":3.13293, "vx":-1.49841, "vy":0.0146, "omega":-0.03264, "ax":0.00022, "ay":0.02225, "alpha":-0.01986, "fx":[-0.05301,-0.05399,0.05864,0.05962], "fy":[0.34551,0.23288,0.2319,0.34453]}, + {"t":3.376, "x":4.7916, "y":7.37333, "heading":3.13261, "vx":-1.49841, "vy":0.01482, "omega":-0.03283, "ax":0.00022, "ay":0.02225, "alpha":-0.01102, "fx":[-0.02812,-0.02868,0.03383,0.0344], "fy":[0.32037,0.25785,0.25729,0.31981]}, + {"t":3.3859, "x":4.77677, "y":7.37348, "heading":3.13229, "vx":-1.49841, "vy":0.01504, "omega":-0.03294, "ax":0.00022, "ay":0.02226, "alpha":-0.00153, "fx":[-0.00141,-0.00149,0.00721,0.00729], "fy":[0.29334,0.28465,0.28456,0.29326]}, + {"t":3.3958, "x":4.76193, "y":7.37363, "heading":3.13196, "vx":-1.49841, "vy":0.01526, "omega":-0.03296, "ax":0.00023, "ay":0.02227, "alpha":0.00864, "fx":[0.02722,0.02769,-0.02133,-0.0218], "fy":[0.26434,0.31335,0.31383,0.26481]}, + {"t":3.4057, "x":4.7471, "y":7.37378, "heading":3.13163, "vx":-1.49841, "vy":0.01548, "omega":-0.03287, "ax":0.00023, "ay":0.02228, "alpha":0.01954, "fx":[0.05785,0.05895,-0.05187,-0.05297], "fy":[0.23325,0.34407,0.34518,0.23435]}, + {"t":3.4156, "x":4.73226, "y":7.37393, "heading":3.13131, "vx":-1.4984, "vy":0.0157, "omega":-0.03268, "ax":0.00023, "ay":0.02229, "alpha":0.03119, "fx":[0.09058,0.0924,-0.08452,-0.08634], "fy":[0.19997,0.3769,0.37872,0.20179]}, + {"t":3.4255, "x":4.71743, "y":7.37409, "heading":3.13099, "vx":-1.4984, "vy":0.01593, "omega":-0.03237, "ax":0.00024, "ay":0.02231, "alpha":0.04364, "fx":[0.12553,0.12815,-0.11937,-0.122], "fy":[0.1644,0.41193,0.41455,0.16703]}, + {"t":3.43541, "x":4.70259, "y":7.37425, "heading":3.13066, "vx":-1.4984, "vy":0.01615, "omega":-0.03194, "ax":0.00024, "ay":0.02232, "alpha":0.05692, "fx":[0.16277,0.1663,-0.15653,-0.16006], "fy":[0.12643,0.44926,0.45279,0.12996]}, + {"t":3.44531, "x":4.68775, "y":7.37441, "heading":3.13035, "vx":-1.4984, "vy":0.01637, "omega":-0.03137, "ax":0.00024, "ay":0.02233, "alpha":0.07106, "fx":[0.20243,0.20696,-0.1961,-0.20064], "fy":[0.08594,0.489,0.49354,0.09047]}, + {"t":3.45521, "x":4.67292, "y":7.37457, "heading":3.13004, "vx":-1.49839, "vy":0.01659, "omega":-0.03067, "ax":0.00025, "ay":0.02233, "alpha":0.08611, "fx":[0.2446,0.25025,-0.23819,-0.24383], "fy":[0.04281,0.53124,0.53688,0.04845]}, + {"t":3.46511, "x":4.65808, "y":7.37474, "heading":3.12973, "vx":-1.49839, "vy":0.01681, "omega":-0.02982, "ax":0.00025, "ay":0.02234, "alpha":0.10211, "fx":[0.2894,0.29626,-0.28289,-0.28977], "fy":[-0.00312,0.57604,0.58291,0.00375]}, + {"t":3.47501, "x":4.64325, "y":7.37491, "heading":3.12944, "vx":-1.49839, "vy":0.01703, "omega":-0.02881, "ax":0.00025, "ay":0.02233, "alpha":0.11909, "fx":[0.33692,0.34513,-0.33033,-0.33855], "fy":[-0.05206,0.6234,0.63161,-0.04385]}, + {"t":3.48491, "x":4.62841, "y":7.37507, "heading":3.12915, "vx":-1.49839, "vy":0.01725, "omega":-0.02763, "ax":0.00026, "ay":0.02228, "alpha":0.13709, "fx":[0.38727,0.39694,-0.38061,-0.39029], "fy":[-0.10443,0.67313,0.6828,-0.09476]}, + {"t":3.49481, "x":4.61358, "y":7.37525, "heading":3.12888, "vx":-1.49838, "vy":0.01747, "omega":-0.02627, "ax":0.00026, "ay":0.02214, "alpha":0.15615, "fx":[0.44056,0.45182,-0.43386,-0.44513], "fy":[-0.16117,0.72451,0.73577,-0.14991]}, + {"t":3.50471, "x":4.59874, "y":7.37542, "heading":3.12862, "vx":-1.49838, "vy":0.01769, "omega":-0.02472, "ax":0.00026, "ay":0.02171, "alpha":0.17632, "fx":[0.49687,0.50984,-0.49022,-0.5032], "fy":[-0.22472,0.77534,0.78831,-0.21175]}, + {"t":3.51461, "x":4.58391, "y":7.3756, "heading":3.12838, "vx":-1.49838, "vy":0.01791, "omega":-0.02298, "ax":0.00024, "ay":0.02052, "alpha":0.19763, "fx":[0.55623,0.57104,-0.54987,-0.5647], "fy":[-0.30161,0.81931,0.83412,-0.28679]}, + {"t":3.52452, "x":4.56907, "y":7.37578, "heading":3.12815, "vx":-1.49838, "vy":0.01811, "omega":-0.02102, "ax":0.00021, "ay":0.01717, "alpha":0.22012, "fx":[0.61853,0.63531,-0.61316,-0.62995], "fy":[-0.40977,0.8387,0.85549,-0.39298]}, + {"t":3.53442, "x":4.55423, "y":7.37596, "heading":3.12794, "vx":-1.49837, "vy":0.01828, "omega":-0.01884, "ax":0.00009, "ay":0.00787, "alpha":0.24383, "fx":[0.68327,0.70214,-0.68081,-0.6997], "fy":[-0.59878,0.78418,0.80307,-0.57989]}, + {"t":3.54432, "x":4.5394, "y":7.37614, "heading":3.12775, "vx":-1.49837, "vy":0.01836, "omega":-0.01643, "ax":-0.00022, "ay":-0.01797, "alpha":0.2688, "fx":[0.74887,0.76999,-0.75462,-0.77571], "fy":[-1.00602,0.51857,0.53967,-0.98492]}, + {"t":3.55422, "x":4.52456, "y":7.37632, "heading":3.12759, "vx":-1.49838, "vy":0.01818, "omega":-0.01377, "ax":-0.00106, "ay":-0.0897, "alpha":0.29505, "fx":[0.81121,0.83474,-0.8389,-0.86224], "fy":[-2.01252,-0.33911,-0.31568,-1.98909]}, + {"t":3.56412, "x":4.50973, "y":7.37649, "heading":3.12745, "vx":-1.49839, "vy":0.01729, "omega":-0.01084, "ax":-0.00306, "ay":-0.2887, "alpha":0.32243, "fx":[0.86199,0.88819,-0.94164,-0.96714], "fy":[-4.67377,-2.84575,-2.81988,-4.64791]}, + {"t":3.57402, "x":4.49489, "y":7.37665, "heading":3.12735, "vx":-1.49842, "vy":0.01443, "omega":-0.00765, "ax":-0.0056, "ay":-0.83857, "alpha":0.34933, "fx":[0.90657,0.93601,-1.05314,-1.08017], "fy":[-11.88454,-9.90988,-9.88164,-11.85634]}, + {"t":3.58392, "x":4.48006, "y":7.37675, "heading":3.12727, "vx":-1.49847, "vy":0.00613, "omega":-0.00419, "ax":0.155, "ay":-2.31202, "alpha":0.36305, "fx":[3.04677,3.0877,0.97289,0.93931], "fy":[-31.02007,-29.01322,-28.9912,-30.99864]}, + {"t":3.59382, "x":4.46523, "y":7.3767, "heading":3.12723, "vx":-1.49694, "vy":-0.01676, "omega":-0.0006, "ax":-0.10201, "ay":-2.31321, "alpha":0.34781, "fx":[-0.32649,-0.29848,-2.32474,-2.34598], "fy":[-30.99855,-29.07595,-29.04394,-30.96648]}, + {"t":3.60413, "x":4.4498, "y":7.3764, "heading":3.12722, "vx":-1.49799, "vy":-0.0406, "omega":0.00298, "ax":0.02348, "ay":-0.79172, "alpha":0.33394, "fx":[1.24021,1.26888,-0.63182,-0.65842], "fy":[-11.2326,-9.34428,-9.31742,-11.20586]}, + {"t":3.61443, "x":4.43436, "y":7.37594, "heading":3.12725, "vx":-1.49775, "vy":-0.04875, "omega":0.00643, "ax":0.00856, "ay":-0.25627, "alpha":0.30718, "fx":[0.9699,0.99521,-0.74787,-0.77262], "fy":[-4.20922,-2.46753,-2.44257,-4.1843]}, + {"t":3.62473, "x":4.41893, "y":7.37543, "heading":3.12732, "vx":-1.49766, "vy":-0.05139, "omega":0.00959, "ax":0.00253, "ay":-0.07311, "alpha":0.28025, "fx":[0.8162,0.83896,-0.7507,-0.77332], "fy":[-1.75494,-0.16544,-0.14275,-1.73226]}, + {"t":3.63504, "x":4.4035, "y":7.37489, "heading":3.12742, "vx":-1.49763, "vy":-0.05215, "omega":0.01248, "ax":0.00037, "ay":-0.01069, "alpha":0.25459, "fx":[0.71657,0.73705,-0.70693,-0.72739], "fy":[-0.87101,0.57296,0.59342,-0.85054]}, + {"t":3.64534, "x":4.38807, "y":7.37436, "heading":3.12755, "vx":-1.49763, "vy":-0.05226, "omega":0.0151, "ax":-0.00037, "ay":0.01055, "alpha":0.23028, "fx":[0.6391,0.65744,-0.64866,-0.66701], "fy":[-0.52526,0.78084,0.79919,-0.50691]}, + {"t":3.65564, "x":4.37264, "y":7.37382, "heading":3.1277, "vx":-1.49763, "vy":-0.05215, "omega":0.01747, "ax":-0.00062, "ay":0.01777, "alpha":0.2073, "fx":[0.57171,0.58803,-0.58775,-0.6041], "fy":[-0.36542,0.81037,0.8267,-0.34909]}, + {"t":3.66595, "x":4.35721, "y":7.37328, "heading":3.12788, "vx":-1.49764, "vy":-0.05197, "omega":0.01961, "ax":-0.0007, "ay":0.02021, "alpha":0.18562, "fx":[0.51009,0.52451,-0.52827,-0.54271], "fy":[-0.27135,0.78143,0.79587,-0.25692]}, + {"t":3.67625, "x":4.34178, "y":7.37275, "heading":3.12809, "vx":-1.49765, "vy":-0.05176, "omega":0.02152, "ax":-0.00073, "ay":0.02102, "alpha":0.16517, "fx":[0.45267,0.46532,-0.4715,-0.48416], "fy":[-0.202,0.73482,0.74748,-0.18935]}, + {"t":3.68655, "x":4.32635, "y":7.37222, "heading":3.12831, "vx":-1.49765, "vy":-0.05154, "omega":0.02322, "ax":-0.00073, "ay":0.02127, "alpha":0.14592, "fx":[0.39885,0.40984,-0.41782,-0.42882], "fy":[-0.14332,0.68434,0.69534,-0.13232]}, + {"t":3.69686, "x":4.31092, "y":7.37169, "heading":3.12855, "vx":-1.49766, "vy":-0.05132, "omega":0.02473, "ax":-0.00073, "ay":0.02133, "alpha":0.12783, "fx":[0.34832,0.35777,-0.36727,-0.37673], "fy":[-0.09042,0.63463,0.64409,-0.08096]}, + {"t":3.70716, "x":4.29548, "y":7.37116, "heading":3.1288, "vx":-1.49767, "vy":-0.0511, "omega":0.02605, "ax":-0.00073, "ay":0.02133, "alpha":0.11085, "fx":[0.30091,0.30895,-0.31978,-0.32782], "fy":[-0.04156,0.58716,0.59521,-0.03352]}, + {"t":3.71746, "x":4.28005, "y":7.37063, "heading":3.12907, "vx":-1.49768, "vy":-0.05088, "omega":0.02719, "ax":-0.00072, "ay":0.02131, "alpha":0.09493, "fx":[0.25647,0.26321,-0.27524,-0.28199], "fy":[0.00393,0.54238,0.54913,0.01068]}, + {"t":3.72777, "x":4.26462, "y":7.37011, "heading":3.12935, "vx":-1.49768, "vy":-0.05066, "omega":0.02817, "ax":-0.00072, "ay":0.02128, "alpha":0.08004, "fx":[0.21488,0.22044,-0.23354,-0.2391], "fy":[0.04637,0.50035,0.50591,0.05193]}, + {"t":3.73807, "x":4.24919, "y":7.36959, "heading":3.12964, "vx":-1.49769, "vy":-0.05044, "omega":0.02899, "ax":-0.00071, "ay":0.02125, "alpha":0.06613, "fx":[0.17602,0.1805,-0.19457,-0.19906], "fy":[0.08595,0.46102,0.46551,0.09043]}, + {"t":3.74838, "x":4.23376, "y":7.36907, "heading":3.12994, "vx":-1.4977, "vy":-0.05022, "omega":0.02967, "ax":-0.00071, "ay":0.02121, "alpha":0.05315, "fx":[0.13977,0.14328,-0.15822,-0.16173], "fy":[0.1228,0.42429,0.42781,0.12631]}, + {"t":3.75868, "x":4.21833, "y":7.36855, "heading":3.13024, "vx":-1.4977, "vy":-0.05001, "omega":0.03022, "ax":-0.00071, "ay":0.02118, "alpha":0.04108, "fx":[0.10601,0.10866,-0.12435,-0.127], "fy":[0.15705,0.39006,0.3927,0.15969]}, + {"t":3.76898, "x":4.2029, "y":7.36804, "heading":3.13056, "vx":-1.49771, "vy":-0.04979, "omega":0.03064, "ax":-0.0007, "ay":0.02115, "alpha":0.02986, "fx":[0.07465,0.07652,-0.09288,-0.09475], "fy":[0.18882,0.35822,0.36009,0.19069]}, + {"t":3.77929, "x":4.18746, "y":7.36753, "heading":3.13087, "vx":-1.49772, "vy":-0.04957, "omega":0.03095, "ax":-0.0007, "ay":0.02111, "alpha":0.01947, "fx":[0.04556,0.04674,-0.06368,-0.06487], "fy":[0.21823,0.32865,0.32984,0.21942]}, + {"t":3.78959, "x":4.17203, "y":7.36702, "heading":3.13119, "vx":-1.49773, "vy":-0.04935, "omega":0.03115, "ax":-0.00069, "ay":0.02108, "alpha":0.00985, "fx":[0.01864,0.01922,-0.03666,-0.03724], "fy":[0.24539,0.30127,0.30185,0.24597]}, + {"t":3.79989, "x":4.1566, "y":7.36651, "heading":3.13151, "vx":-1.49773, "vy":-0.04913, "omega":0.03125, "ax":-0.00069, "ay":0.02105, "alpha":0.00098, "fx":[-0.00621,-0.00615,-0.0117,-0.01176], "fy":[0.2704,0.27595,0.27601,0.27046]}, + {"t":3.8102, "x":4.14117, "y":7.36601, "heading":3.13183, "vx":-1.49774, "vy":-0.04892, "omega":0.03126, "ax":-0.00069, "ay":0.02102, "alpha":-0.00719, "fx":[-0.02909,-0.02949,0.01128,0.01168], "fy":[0.29338,0.25261,0.25221,0.29298]}, + {"t":3.8205, "x":4.12574, "y":7.3655, "heading":3.13216, "vx":-1.49775, "vy":-0.0487, "omega":0.03119, "ax":-0.00068, "ay":0.02099, "alpha":-0.01468, "fx":[-0.0501,-0.05088,0.0324,0.03318], "fy":[0.31442,0.23114,0.23035,0.31363]}, + {"t":3.8308, "x":4.1103, "y":7.365, "heading":3.13248, "vx":-1.49775, "vy":-0.04848, "omega":0.03104, "ax":-0.00068, "ay":0.02096, "alpha":-0.02154, "fx":[-0.06933,-0.07044,0.05173,0.05285], "fy":[0.33363,0.21145,0.21034,0.33251]}, + {"t":3.84111, "x":4.09487, "y":7.3645, "heading":3.1328, "vx":-1.49776, "vy":-0.04827, "omega":0.03081, "ax":-0.00067, "ay":0.02093, "alpha":-0.02779, "fx":[-0.08688,-0.08826,0.06938,0.07077], "fy":[0.3511,0.19345,0.19206,0.34971]}, + {"t":3.85141, "x":4.07944, "y":7.36401, "heading":3.13311, "vx":-1.49777, "vy":-0.04805, "omega":0.03053, "ax":-0.00067, "ay":0.0209, "alpha":-0.03347, "fx":[-0.10283,-0.10444,0.08544,0.08705], "fy":[0.36692,0.17705,0.17544,0.36531]}, + {"t":3.86171, "x":4.06401, "y":7.36351, "heading":3.13343, "vx":-1.49778, "vy":-0.04784, "omega":0.03018, "ax":-0.00067, "ay":0.02086, "alpha":-0.03862, "fx":[-0.11727,-0.11906,0.09998,0.10177], "fy":[0.3812,0.16216,0.16037,0.37941]}, + {"t":3.87202, "x":4.04857, "y":7.36302, "heading":3.13374, "vx":-1.49778, "vy":-0.04762, "omega":0.02979, "ax":-0.00066, "ay":0.02083, "alpha":-0.04325, "fx":[-0.13028,-0.13221,0.1131,0.11502], "fy":[0.39401,0.1487,0.14678,0.39208]}, + {"t":3.88232, "x":4.03314, "y":7.36253, "heading":3.13405, "vx":-1.49779, "vy":-0.04741, "omega":0.02934, "ax":-0.00066, "ay":0.0208, "alpha":-0.0474, "fx":[-0.14195,-0.14398,0.12486,0.12689], "fy":[0.40544,0.1366,0.13457,0.40341]}, + {"t":3.89262, "x":4.01771, "y":7.36204, "heading":3.13435, "vx":-1.4978, "vy":-0.04719, "omega":0.02885, "ax":-0.00065, "ay":0.02077, "alpha":-0.05109, "fx":[-0.15234,-0.15444,0.13536,0.13746], "fy":[0.41557,0.12577,0.12367,0.41347]}, + {"t":3.90293, "x":4.00228, "y":7.36156, "heading":3.13465, "vx":-1.4978, "vy":-0.04698, "omega":0.02833, "ax":-0.00065, "ay":0.02075, "alpha":-0.05436, "fx":[-0.16154,-0.16369,0.14466,0.1468], "fy":[0.42448,0.11613,0.11399,0.42234]}, + {"t":3.91323, "x":3.98684, "y":7.36108, "heading":3.13494, "vx":-1.49781, "vy":-0.04677, "omega":0.02777, "ax":-0.00065, "ay":0.02072, "alpha":-0.05723, "fx":[-0.16962,-0.17178,0.15284,0.155], "fy":[0.43225,0.10763,0.10547,0.43009]}, + {"t":3.92354, "x":3.97141, "y":7.3606, "heading":3.13522, "vx":-1.49782, "vy":-0.04655, "omega":0.02718, "ax":-0.00064, "ay":0.02069, "alpha":-0.05972, "fx":[-0.17664,-0.1788,0.15996,0.16212], "fy":[0.43894,0.10018,0.09802,0.43678]}, + {"t":3.93384, "x":3.95598, "y":7.36012, "heading":3.1355, "vx":-1.49782, "vy":-0.04634, "omega":0.02656, "ax":-0.00064, "ay":0.02066, "alpha":-0.06186, "fx":[-0.18267,-0.18481,0.16609,0.16823], "fy":[0.44462,0.09372,0.09159,0.44249]}, + {"t":3.94414, "x":3.94055, "y":7.35964, "heading":3.13578, "vx":-1.49783, "vy":-0.04613, "omega":0.02592, "ax":-0.00064, "ay":0.02063, "alpha":-0.06367, "fx":[-0.18778,-0.18988,0.1713,0.17339], "fy":[0.44937,0.0882,0.0861,0.44727]}, + {"t":3.95445, "x":3.92511, "y":7.35917, "heading":3.13604, "vx":-1.49784, "vy":-0.04591, "omega":0.02527, "ax":-0.00063, "ay":0.0206, "alpha":-0.06518, "fx":[-0.19202,-0.19407,0.17563,0.17768], "fy":[0.45324,0.08354,0.08149,0.45119]}, + {"t":3.96475, "x":3.90968, "y":7.35869, "heading":3.13631, "vx":-1.49784, "vy":-0.0457, "omega":0.0246, "ax":-0.00063, "ay":0.02057, "alpha":-0.06639, "fx":[-0.19545,-0.19745,0.17917,0.18116], "fy":[0.4563,0.07969,0.0777,0.45431]}, + {"t":3.97505, "x":3.89425, "y":7.35822, "heading":3.13656, "vx":-1.49785, "vy":-0.04549, "omega":0.02391, "ax":-0.00062, "ay":0.02054, "alpha":-0.06735, "fx":[-0.19814,-0.20006,0.18194,0.18387], "fy":[0.4586,0.0766,0.07467,0.45667]}, + {"t":3.98536, "x":3.87881, "y":7.35776, "heading":3.1368, "vx":-1.49786, "vy":-0.04528, "omega":0.02322, "ax":-0.00062, "ay":0.02052, "alpha":-0.06805, "fx":[-0.20012,-0.20197,0.18402,0.18587], "fy":[0.46019,0.0742,0.07236,0.45835]}, + {"t":3.99566, "x":3.86338, "y":7.35729, "heading":3.13704, "vx":-1.49786, "vy":-0.04507, "omega":0.02252, "ax":-0.00062, "ay":0.02049, "alpha":-0.06852, "fx":[-0.20145,-0.20322,0.18546,0.18722], "fy":[0.46114,0.07246,0.0707,0.45937]}, + {"t":4.00596, "x":3.84795, "y":7.35683, "heading":3.13728, "vx":-1.49787, "vy":-0.04486, "omega":0.02181, "ax":-0.00061, "ay":0.02046, "alpha":-0.06878, "fx":[-0.20219,-0.20387,0.18629,0.18797], "fy":[0.46148,0.07133,0.06964,0.4598]}, + {"t":4.01627, "x":3.83251, "y":7.35637, "heading":3.1375, "vx":-1.49787, "vy":-0.04464, "omega":0.0211, "ax":-0.00061, "ay":0.02044, "alpha":-0.06885, "fx":[-0.20237,-0.20397,0.18656,0.18816], "fy":[0.46127,0.07075,0.06915,0.45968]}, + {"t":4.02657, "x":3.81708, "y":7.35591, "heading":3.13772, "vx":-1.49788, "vy":-0.04443, "omega":0.02039, "ax":-0.00061, "ay":0.02041, "alpha":-0.06873, "fx":[-0.20204,-0.20355,0.18633,0.18784], "fy":[0.46055,0.07068,0.06917,0.45904]}, + {"t":4.03687, "x":3.80165, "y":7.35545, "heading":3.13793, "vx":-1.49789, "vy":-0.04422, "omega":0.01968, "ax":-0.0006, "ay":0.02038, "alpha":-0.06845, "fx":[-0.20124,-0.20266,0.18562,0.18704], "fy":[0.45937,0.07109,0.06966,0.45794]}, + {"t":4.04718, "x":3.78621, "y":7.355, "heading":3.13813, "vx":-1.49789, "vy":-0.04401, "omega":0.01898, "ax":-0.0006, "ay":0.02035, "alpha":-0.06802, "fx":[-0.20001,-0.20135,0.18449,0.18582], "fy":[0.45775,0.07192,0.07059,0.45642]}, + {"t":4.05748, "x":3.77078, "y":7.35454, "heading":3.13833, "vx":-1.4979, "vy":-0.0438, "omega":0.01828, "ax":-0.00059, "ay":0.02033, "alpha":-0.06745, "fx":[-0.19839,-0.19964,0.18296,0.1842], "fy":[0.45575,0.07316,0.07191,0.4545]}, + {"t":4.06779, "x":3.75535, "y":7.35409, "heading":3.13852, "vx":-1.49791, "vy":-0.04359, "omega":0.01758, "ax":-0.00059, "ay":0.0203, "alpha":-0.06675, "fx":[-0.19641,-0.19757,0.18107,0.18223], "fy":[0.45339,0.07475,0.07359,0.45223]}, + {"t":4.07809, "x":3.73991, "y":7.35365, "heading":3.1387, "vx":-1.49791, "vy":-0.04339, "omega":0.01689, "ax":-0.00059, "ay":0.02028, "alpha":-0.06594, "fx":[-0.1941,-0.19518,0.17885,0.17994], "fy":[0.45071,0.07668,0.07559,0.44963]}, + {"t":4.08839, "x":3.72448, "y":7.3532, "heading":3.13887, "vx":-1.49792, "vy":-0.04318, "omega":0.01622, "ax":-0.00058, "ay":0.02025, "alpha":-0.06503, "fx":[-0.1915,-0.1925,0.17635,0.17735], "fy":[0.44775,0.0789,0.07789,0.44674]}, + {"t":4.0987, "x":3.70904, "y":7.35276, "heading":3.13904, "vx":-1.49792, "vy":-0.04297, "omega":0.01555, "ax":-0.00058, "ay":0.02023, "alpha":-0.06402, "fx":[-0.18864,-0.18956,0.17357,0.1745], "fy":[0.44452,0.08138,0.08046,0.44359]}, + {"t":4.109, "x":3.69361, "y":7.35231, "heading":3.1392, "vx":-1.49793, "vy":-0.04276, "omega":0.01489, "ax":-0.00058, "ay":0.0202, "alpha":-0.06293, "fx":[-0.18553,-0.18639,0.17057,0.17142], "fy":[0.44106,0.08411,0.08326,0.44021]}, + {"t":4.1193, "x":3.67818, "y":7.35188, "heading":3.13935, "vx":-1.49794, "vy":-0.04255, "omega":0.01424, "ax":-0.00057, "ay":0.02017, "alpha":-0.06176, "fx":[-0.18222,-0.18301,0.16734,0.16813], "fy":[0.4374,0.08705,0.08626,0.43662]}, + {"t":4.12961, "x":3.66274, "y":7.35144, "heading":3.1395, "vx":-1.49794, "vy":-0.04234, "omega":0.0136, "ax":-0.00057, "ay":0.02015, "alpha":-0.06054, "fx":[-0.17873,-0.17945,0.16394,0.16466], "fy":[0.43356,0.09018,0.08946,0.43284]}, + {"t":4.13991, "x":3.64731, "y":7.351, "heading":3.13964, "vx":-1.49795, "vy":-0.04214, "omega":0.01298, "ax":-0.00057, "ay":0.02013, "alpha":-0.05925, "fx":[-0.17506,-0.17572,0.16037,0.16102], "fy":[0.42956,0.09347,0.09282,0.4289]}, + {"t":4.15021, "x":3.63187, "y":7.35057, "heading":3.13977, "vx":-1.49795, "vy":-0.04193, "omega":0.01237, "ax":-0.00056, "ay":0.0201, "alpha":-0.05791, "fx":[-0.17126,-0.17186,0.15665,0.15725], "fy":[0.42542,0.09691,0.09632,0.42482]}, + {"t":4.16052, "x":3.61644, "y":7.35014, "heading":3.1399, "vx":-1.49796, "vy":-0.04172, "omega":0.01177, "ax":-0.00056, "ay":0.02008, "alpha":-0.05654, "fx":[-0.16733,-0.16788,0.15281,0.15336], "fy":[0.42117,0.10048,0.09994,0.42062]}, + {"t":4.17082, "x":3.60101, "y":7.34971, "heading":3.14002, "vx":-1.49796, "vy":-0.04151, "omega":0.01119, "ax":-0.00056, "ay":0.02005, "alpha":-0.05512, "fx":[-0.1633,-0.16379,0.14887,0.14936], "fy":[0.41681,0.10415,0.10366,0.41632]}, + {"t":4.18112, "x":3.58557, "y":7.34928, "heading":3.14014, "vx":-1.49797, "vy":-0.04131, "omega":0.01062, "ax":-0.00055, "ay":0.02003, "alpha":-0.05368, "fx":[-0.15918,-0.15963,0.14484,0.14529], "fy":[0.41238,0.10791,0.10747,0.41194]}, + {"t":4.19143, "x":3.57014, "y":7.34886, "heading":3.14024, "vx":-1.49798, "vy":-0.0411, "omega":0.01007, "ax":-0.00055, "ay":0.02, "alpha":-0.05221, "fx":[-0.15499,-0.15539,0.14074,0.14114], "fy":[0.40788,0.11175,0.11135,0.40748]}, + {"t":4.20173, "x":3.5547, "y":7.34844, "heading":3.14035, "vx":-1.49798, "vy":-0.0409, "omega":0.00953, "ax":-0.00055, "ay":0.01998, "alpha":-0.05072, "fx":[-0.15075,-0.15111,0.13658,0.13694], "fy":[0.40333,0.11564,0.11529,0.40297]}, + {"t":4.21203, "x":3.53927, "y":7.34802, "heading":3.14045, "vx":-1.49799, "vy":-0.04069, "omega":0.00901, "ax":-0.00054, "ay":0.01996, "alpha":-0.04921, "fx":[-0.14646,-0.14678,0.13238,0.1327], "fy":[0.39874,0.11958,0.11926,0.39842]}, + {"t":4.22234, "x":3.52383, "y":7.3476, "heading":3.14054, "vx":-1.49799, "vy":-0.04048, "omega":0.0085, "ax":-0.00054, "ay":0.01993, "alpha":-0.0477, "fx":[-0.14214,-0.14242,0.12815,0.12843], "fy":[0.39413,0.12356,0.12327,0.39384]}, + {"t":4.23264, "x":3.5084, "y":7.34718, "heading":3.14063, "vx":-1.498, "vy":-0.04028, "omega":0.00801, "ax":-0.00054, "ay":0.01991, "alpha":-0.04618, "fx":[-0.1378,-0.13805,0.12389,0.12414], "fy":[0.3895,0.12756,0.1273,0.38924]}, + {"t":4.24295, "x":3.49296, "y":7.34677, "heading":3.14071, "vx":-1.498, "vy":-0.04007, "omega":0.00753, "ax":-0.00053, "ay":0.01989, "alpha":-0.04465, "fx":[-0.13345,-0.13367,0.11963,0.11985], "fy":[0.38486,0.13156,0.13134,0.38464]}, + {"t":4.25325, "x":3.47753, "y":7.34636, "heading":3.14079, "vx":-1.49801, "vy":-0.03987, "omega":0.00707, "ax":-0.00053, "ay":0.01986, "alpha":-0.04313, "fx":[-0.1291,-0.12929,0.11536,0.11556], "fy":[0.38023,0.13558,0.13538,0.38003]}, + {"t":4.26355, "x":3.46209, "y":7.34595, "heading":3.14086, "vx":-1.49801, "vy":-0.03966, "omega":0.00663, "ax":-0.00053, "ay":0.01984, "alpha":-0.04161, "fx":[-0.12475,-0.12493,0.1111,0.11128], "fy":[0.37561,0.13958,0.13941,0.37544]}, + {"t":4.27386, "x":3.44666, "y":7.34554, "heading":3.14093, "vx":-1.49802, "vy":-0.03946, "omega":0.0062, "ax":-0.00052, "ay":0.01982, "alpha":-0.0401, "fx":[-0.12043,-0.12058,0.10686,0.10701], "fy":[0.37101,0.14357,0.14342,0.37086]}, + {"t":4.28416, "x":3.43122, "y":7.34513, "heading":3.14099, "vx":-1.49803, "vy":-0.03926, "omega":0.00579, "ax":-0.00052, "ay":0.0198, "alpha":-0.03859, "fx":[-0.11612,-0.11625,0.10264,0.10277], "fy":[0.36644,0.14755,0.14742,0.36631]}, + {"t":4.29446, "x":3.41579, "y":7.34473, "heading":3.14105, "vx":-1.49803, "vy":-0.03905, "omega":0.00539, "ax":-0.00052, "ay":0.01977, "alpha":-0.03709, "fx":[-0.11184,-0.11196,0.09845,0.09856], "fy":[0.3619,0.1515,0.15138,0.36179]}, + {"t":4.30477, "x":3.40035, "y":7.34433, "heading":3.14111, "vx":-1.49804, "vy":-0.03885, "omega":0.00501, "ax":-0.00051, "ay":0.01975, "alpha":-0.03561, "fx":[-0.1076,-0.1077,0.09429,0.09439], "fy":[0.3574,0.15541,0.15531,0.3573]}, + {"t":4.31507, "x":3.38492, "y":7.34393, "heading":3.14116, "vx":-1.49804, "vy":-0.03864, "omega":0.00464, "ax":-0.00051, "ay":0.01973, "alpha":-0.03414, "fx":[-0.10339,-0.10348,0.09017,0.09025], "fy":[0.35293,0.15929,0.15921,0.35285]}, + {"t":4.32537, "x":3.36948, "y":7.34353, "heading":3.14121, "vx":-1.49805, "vy":-0.03844, "omega":0.00429, "ax":-0.00051, "ay":0.01971, "alpha":-0.03268, "fx":[-0.09923,-0.0993,0.08608,0.08615], "fy":[0.34852,0.16314,0.16307,0.34845]}, + {"t":4.33568, "x":3.35405, "y":7.34314, "heading":3.14125, "vx":-1.49805, "vy":-0.03824, "omega":0.00395, "ax":-0.0005, "ay":0.01969, "alpha":-0.03124, "fx":[-0.0951,-0.09517,0.08205,0.08211], "fy":[0.34415,0.16694,0.16688,0.34409]}, + {"t":4.34598, "x":3.33861, "y":7.34274, "heading":3.14129, "vx":-1.49806, "vy":-0.03804, "omega":0.00363, "ax":-0.0005, "ay":0.01967, "alpha":-0.02982, "fx":[-0.09103,-0.09108,0.07805,0.07811], "fy":[0.33983,0.17069,0.17064,0.33978]}, + {"t":4.35628, "x":3.32318, "y":7.34235, "heading":3.14133, "vx":-1.49806, "vy":-0.03783, "omega":0.00332, "ax":-0.0005, "ay":0.01965, "alpha":-0.02841, "fx":[-0.08701,-0.08705,0.07411,0.07415], "fy":[0.33556,0.1744,0.17436,0.33552]}, + {"t":4.36659, "x":3.30774, "y":7.34196, "heading":3.14136, "vx":-1.49807, "vy":-0.03763, "omega":0.00303, "ax":-0.00049, "ay":0.01962, "alpha":-0.02702, "fx":[-0.08303,-0.08307,0.07022,0.07025], "fy":[0.33135,0.17806,0.17803,0.33131]}, + {"t":4.37689, "x":3.29231, "y":7.34158, "heading":3.14139, "vx":-1.49807, "vy":-0.03743, "omega":0.00275, "ax":-0.00049, "ay":0.0196, "alpha":-0.02565, "fx":[-0.07911,-0.07914,0.06638,0.06641], "fy":[0.32719,0.18167,0.18164,0.32716]}, + {"t":4.38719, "x":3.27687, "y":7.34119, "heading":3.14142, "vx":-1.49808, "vy":-0.03723, "omega":0.00249, "ax":-0.00049, "ay":0.01958, "alpha":-0.0243, "fx":[-0.07524,-0.07526,0.06259,0.06261], "fy":[0.32308,0.18523,0.18521,0.32306]}, + {"t":4.3975, "x":3.26144, "y":7.34081, "heading":3.14145, "vx":-1.49808, "vy":-0.03702, "omega":0.00224, "ax":-0.00048, "ay":0.01956, "alpha":-0.02297, "fx":[-0.07142,-0.07144,0.05885,0.05887], "fy":[0.31904,0.18874,0.18873,0.31902]}, + {"t":4.4078, "x":3.246, "y":7.34043, "heading":3.14147, "vx":-1.49809, "vy":-0.03682, "omega":0.002, "ax":-0.00048, "ay":0.01954, "alpha":-0.02165, "fx":[-0.06765,-0.06767,0.05517,0.05518], "fy":[0.31504,0.19221,0.19219,0.31503]}, + {"t":4.41811, "x":3.23057, "y":7.34005, "heading":3.14149, "vx":-1.49809, "vy":-0.03662, "omega":0.00178, "ax":-0.00048, "ay":0.01952, "alpha":-0.02036, "fx":[-0.06394,-0.06395,0.05153,0.05154], "fy":[0.3111,0.19562,0.19561,0.31109]}, + {"t":4.42841, "x":3.21513, "y":7.33968, "heading":3.14151, "vx":-1.4981, "vy":-0.03642, "omega":0.00157, "ax":-0.00047, "ay":0.0195, "alpha":-0.01908, "fx":[-0.06027,-0.06028,0.04795,0.04796], "fy":[0.30721,0.19898,0.19897,0.3072]}, + {"t":4.43871, "x":3.19969, "y":7.3393, "heading":3.14153, "vx":-1.4981, "vy":-0.03622, "omega":0.00137, "ax":-0.00047, "ay":0.01948, "alpha":-0.01782, "fx":[-0.05666,-0.05667,0.04441,0.04442], "fy":[0.30337,0.2023,0.20229,0.30337]}, + {"t":4.44902, "x":3.18426, "y":7.33893, "heading":3.14154, "vx":-1.49811, "vy":-0.03602, "omega":0.00119, "ax":-0.00047, "ay":0.01946, "alpha":-0.01657, "fx":[-0.05309,-0.0531,0.04092,0.04093], "fy":[0.29959,0.20557,0.20556,0.29958]}, + {"t":4.45932, "x":3.16882, "y":7.33856, "heading":3.14155, "vx":-1.49811, "vy":-0.03582, "omega":0.00101, "ax":-0.00047, "ay":0.01944, "alpha":-0.01535, "fx":[-0.04957,-0.04957,0.03748,0.03748], "fy":[0.29585,0.2088,0.20879,0.29584]}, + {"t":4.46962, "x":3.15339, "y":7.33819, "heading":3.14156, "vx":-1.49812, "vy":-0.03562, "omega":0.00086, "ax":-0.00046, "ay":0.01942, "alpha":-0.01413, "fx":[-0.04609,-0.04609,0.03408,0.03408], "fy":[0.29215,0.21198,0.21198,0.29215]}, + {"t":4.47993, "x":3.13795, "y":7.33783, "heading":3.14157, "vx":-1.49812, "vy":-0.03542, "omega":0.00071, "ax":-0.00046, "ay":0.0194, "alpha":-0.01293, "fx":[-0.04265,-0.04265,0.03072,0.03072], "fy":[0.2885,0.21513,0.21513,0.2885]}, + {"t":4.49023, "x":3.12251, "y":7.33746, "heading":3.14158, "vx":-1.49813, "vy":-0.03522, "omega":0.00058, "ax":-0.00046, "ay":0.01938, "alpha":-0.01175, "fx":[-0.03925,-0.03925,0.0274,0.0274], "fy":[0.28489,0.21824,0.21824,0.28489]}, + {"t":4.50053, "x":3.10708, "y":7.3371, "heading":3.14159, "vx":-1.49813, "vy":-0.03502, "omega":0.00046, "ax":-0.00045, "ay":0.01936, "alpha":-0.01058, "fx":[-0.03589,-0.03589,0.02411,0.02411], "fy":[0.28132,0.22132,0.22132,0.28132]}, + {"t":4.51084, "x":3.09164, "y":7.33674, "heading":3.14159, "vx":-1.49814, "vy":-0.03482, "omega":0.00035, "ax":-0.00045, "ay":0.01935, "alpha":-0.00942, "fx":[-0.03256,-0.03256,0.02086,0.02086], "fy":[0.27778,0.22437,0.22437,0.27778]}, + {"t":4.52114, "x":3.07621, "y":7.33638, "heading":-3.14159, "vx":-1.49814, "vy":-0.03462, "omega":0.00025, "ax":-0.00045, "ay":0.01933, "alpha":-0.00827, "fx":[-0.02926,-0.02926,0.01764,0.01764], "fy":[0.27428,0.22739,0.22739,0.27428]}, + {"t":4.53144, "x":3.06077, "y":7.33603, "heading":-3.14159, "vx":-1.49815, "vy":-0.03442, "omega":0.00017, "ax":-0.00044, "ay":0.01931, "alpha":-0.00713, "fx":[-0.02598,-0.02598,0.01444,0.01444], "fy":[0.2708,0.23038,0.23038,0.2708]}, + {"t":4.54175, "x":3.04533, "y":7.33567, "heading":-3.14159, "vx":-1.49815, "vy":-0.03422, "omega":0.00009, "ax":-0.00044, "ay":0.01929, "alpha":-0.00599, "fx":[-0.02273,-0.02273,0.01127,0.01127], "fy":[0.26736,0.23337,0.23337,0.26736]}, + {"t":4.55205, "x":3.0299, "y":7.33532, "heading":-3.14159, "vx":-1.49815, "vy":-0.03402, "omega":0.00003, "ax":-0.00044, "ay":0.01928, "alpha":-0.00487, "fx":[-0.0195,-0.0195,0.00811,0.00811], "fy":[0.26397,0.23636,0.23636,0.26397]}, + {"t":4.56235, "x":3.01446, "y":7.33497, "heading":-3.14159, "vx":-1.49816, "vy":-0.03382, "omega":-0.00002, "ax":-0.00044, "ay":0.01927, "alpha":-0.00375, "fx":[-0.01629,-0.01629,0.00497,0.00497], "fy":[0.26065,0.2394,0.2394,0.26066]}, + {"t":4.57266, "x":2.99902, "y":7.33462, "heading":-3.14159, "vx":-1.49816, "vy":-0.03362, "omega":-0.00006, "ax":-0.00043, "ay":0.01927, "alpha":-0.00263, "fx":[-0.01309,-0.01309,0.00184,0.00184], "fy":[0.25755,0.24262,0.24262,0.25755]}, + {"t":4.58296, "x":2.98359, "y":7.33428, "heading":-3.14159, "vx":-1.49817, "vy":-0.03343, "omega":-0.00009, "ax":-0.00043, "ay":0.01932, "alpha":-0.00152, "fx":[-0.00992,-0.00992,-0.0013,-0.0013], "fy":[0.25503,0.24641,0.24641,0.25503]}, + {"t":4.59327, "x":2.96815, "y":7.33394, "heading":-3.14159, "vx":-1.49817, "vy":-0.03323, "omega":-0.0001, "ax":-0.00043, "ay":0.0195, "alpha":-0.00041, "fx":[-0.00679,-0.00679,-0.00446,-0.00446], "fy":[0.25419,0.25187,0.25187,0.25419]}, + {"t":4.60357, "x":2.95272, "y":7.33359, "heading":-3.14159, "vx":-1.49818, "vy":-0.03303, "omega":-0.00011, "ax":-0.00044, "ay":0.02005, "alpha":0.0007, "fx":[-0.00377,-0.00377,-0.00774,-0.00774], "fy":[0.25828,0.26225,0.26225,0.25828]}, + {"t":4.61387, "x":2.93728, "y":7.33325, "heading":-3.14159, "vx":-1.49818, "vy":-0.03282, "omega":-0.0001, "ax":-0.00048, "ay":0.02173, "alpha":0.00181, "fx":[-0.00104,-0.00104,-0.01131,-0.01131], "fy":[0.27685,0.28711,0.28711,0.27685]}, + {"t":4.62418, "x":2.92184, "y":7.33292, "heading":-3.14159, "vx":-1.49819, "vy":-0.0326, "omega":-0.00008, "ax":0.00106, "ay":0.02671, "alpha":0.00292, "fx":[0.02209,0.02209,0.00552,0.00552], "fy":[0.33834,0.35491,0.35491,0.33834]}, + {"t":4.63448, "x":2.90641, "y":7.33258, "heading":-3.14159, "vx":-1.49818, "vy":-0.03232, "omega":-0.00005, "ax":2.08869, "ay":0.08544, "alpha":0.00387, "fx":[27.11814,27.1181,27.09659,27.09663], "fy":[1.09769,1.12011,1.12015,1.09772]}, + {"t":4.64478, "x":2.89108, "y":7.33225, "heading":-3.14159, "vx":-1.47665, "vy":-0.03144, "omega":-0.00001, "ax":13.91548, "ay":0.30295, "alpha":0.00021, "fx":[180.59774,180.59769,180.59759,180.59764], "fy":[3.93052,3.93284,3.93288,3.93057]}, + {"t":4.65509, "x":2.8766, "y":7.33195, "heading":-3.14159, "vx":-1.33328, "vy":-0.02832, "omega":-0.00001, "ax":14.21153, "ay":0.30663, "alpha":0.00013, "fx":[184.43994,184.43991,184.43988,184.43991], "fy":[3.97876,3.98017,3.9802,3.97879]}, + {"t":4.66539, "x":2.86362, "y":7.33167, "heading":-3.14159, "vx":-1.18685, "vy":-0.02516, "omega":-0.00001, "ax":14.30897, "ay":0.30718, "alpha":0.0001, "fx":[185.70446,185.70444,185.70442,185.70445], "fy":[3.98614,3.98724,3.98726,3.98616]}, + {"t":4.67569, "x":2.85215, "y":7.33143, "heading":-3.14159, "vx":-1.03941, "vy":-0.02199, "omega":0.0, "ax":14.35736, "ay":0.30698, "alpha":0.00008, "fx":[186.33253,186.33251,186.3325,186.33252], "fy":[3.98354,3.98448,3.98451,3.98356]}, + {"t":4.686, "x":2.8422, "y":7.33122, "heading":-3.14159, "vx":-0.89148, "vy":-0.01883, "omega":0.0, "ax":14.38629, "ay":0.30647, "alpha":0.00008, "fx":[186.70789,186.70787,186.70786,186.70788], "fy":[3.97699,3.97785,3.97787,3.97701]}, + {"t":4.6963, "x":2.83378, "y":7.33104, "heading":-3.14159, "vx":-0.74325, "vy":-0.01567, "omega":0.0, "ax":14.40552, "ay":0.30581, "alpha":0.00007, "fx":[186.95748,186.95747,186.95746,186.95748], "fy":[3.96849,3.96929,3.96931,3.96851]}, + {"t":4.7066, "x":2.82689, "y":7.3309, "heading":-3.14159, "vx":-0.59482, "vy":-0.01252, "omega":0.0, "ax":14.41923, "ay":0.30507, "alpha":0.00007, "fx":[187.13547,187.13545,187.13544,187.13546], "fy":[3.95889,3.95964,3.95966,3.9589]}, + {"t":4.71691, "x":2.82153, "y":7.33078, "heading":-3.14159, "vx":-0.44626, "vy":-0.00938, "omega":0.0, "ax":14.42951, "ay":0.30428, "alpha":0.00006, "fx":[187.2688,187.26879,187.26878,187.2688], "fy":[3.94859,3.94932,3.94933,3.94861]}, + {"t":4.72721, "x":2.81769, "y":7.3307, "heading":-3.14159, "vx":-0.29758, "vy":-0.00624, "omega":0.0, "ax":14.43749, "ay":0.30345, "alpha":0.00006, "fx":[187.37243,187.37242,187.37241,187.37243], "fy":[3.93785,3.93854,3.93856,3.93786]}, + {"t":4.73752, "x":2.81539, "y":7.33065, "heading":-3.14159, "vx":-0.14882, "vy":-0.00312, "omega":0.0, "ax":14.44388, "ay":0.30259, "alpha":0.00006, "fx":[187.4553,187.45529,187.45528,187.4553], "fy":[3.92678,3.92746,3.92747,3.9268]}, + {"t":4.74782, "x":2.81463, "y":7.33064, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FLtoFLM.traj b/src/main/deploy/choreo/FLtoFLM.traj new file mode 100644 index 0000000..ca7e8e5 --- /dev/null +++ b/src/main/deploy/choreo/FLtoFLM.traj @@ -0,0 +1,79 @@ +{ + "name":"FLtoFLM", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":5.865901947021484, "heading":-1.5707963267948966, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":4.503572463989258, "heading":-1.5707963267948966, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FL.x", "val":7.82036542892456}, "y":{"exp":"FL.y", "val":5.865901947021484}, "heading":{"exp":"FL.heading", "val":-1.5707963267948966}, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FLM.x", "val":7.82036542892456}, "y":{"exp":"FLM.y", "val":4.503572463989258}, "heading":{"exp":"FLM.heading", "val":-1.5707963267948966}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,0.90843], + "samples":[ + {"t":0.0, "x":7.82037, "y":5.8659, "heading":-1.5708, "vx":0.0, "vy":-1.49875, "omega":0.0, "ax":0.0, "ay":-0.01968, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.25541,-0.25541,-0.25541,-0.25541]}, + {"t":0.04781, "x":7.82037, "y":5.79422, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.09562, "x":7.82037, "y":5.72252, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.14344, "x":7.82037, "y":5.65082, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.19125, "x":7.82037, "y":5.57911, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.23906, "x":7.82037, "y":5.50741, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.28687, "x":7.82037, "y":5.43571, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.33468, "x":7.82037, "y":5.364, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.3825, "x":7.82037, "y":5.2923, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.43031, "x":7.82037, "y":5.2206, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.47812, "x":7.82037, "y":5.14889, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.52593, "x":7.82037, "y":5.07719, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.57375, "x":7.82037, "y":5.00549, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.62156, "x":7.82037, "y":4.93378, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.66937, "x":7.82037, "y":4.86208, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.71718, "x":7.82037, "y":4.79038, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.76499, "x":7.82037, "y":4.71867, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.81281, "x":7.82037, "y":4.64697, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.86062, "x":7.82037, "y":4.57527, "heading":-1.5708, "vx":0.0, "vy":-1.49969, "omega":0.0, "ax":0.0, "ay":0.00656, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.08516,0.08516,0.08516,0.08516]}, + {"t":0.90843, "x":7.82037, "y":4.50357, "heading":-1.5708, "vx":0.0, "vy":-1.49937, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FLtoSL.traj b/src/main/deploy/choreo/FLtoSL.traj new file mode 100644 index 0000000..eab7918 --- /dev/null +++ b/src/main/deploy/choreo/FLtoSL.traj @@ -0,0 +1,140 @@ +{ + "name":"FLtoSL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":5.865901947021484, "heading":-1.5707963267948966, "intervals":29, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.347630977630615, "y":7.2292633056640625, "heading":-1.781889328027542, "intervals":49, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":2.814626932144165, "y":7.330637454986572, "heading":3.141592653589793, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FL.x", "val":7.82036542892456}, "y":{"exp":"FL.y", "val":5.865901947021484}, "heading":{"exp":"FL.heading", "val":-1.5707963267948966}, "intervals":29, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.347630977630615 m", "val":6.347630977630615}, "y":{"exp":"7.2292633056640625 m", "val":7.2292633056640625}, "heading":{"exp":"-1.7818893280275419 rad", "val":-1.781889328027542}, "intervals":49, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":{"exp":"SL.x", "val":2.814626932144165}, "y":{"exp":"SL.y", "val":7.330637454986572}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.39308,3.8044], + "samples":[ + {"t":0.0, "x":7.82037, "y":5.8659, "heading":-1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-10.55704, "ay":9.92644, "alpha":0.02418, "fx":[-136.87837,-137.00723,-137.14387,-137.01516], "fy":[128.96827,128.83154,128.68593,128.82276]}, + {"t":0.04804, "x":7.80818, "y":5.87735, "heading":-1.5708, "vx":-0.50713, "vy":0.47684, "omega":0.00116, "ax":-10.54083, "ay":9.92448, "alpha":0.0215, "fx":[-136.68313,-136.7975,-136.9184,-136.80422], "fy":[128.92664,128.80652,128.6769,128.79693]}, + {"t":0.09607, "x":7.77166, "y":5.91171, "heading":-1.57074, "vx":-1.01349, "vy":0.95359, "omega":0.00219, "ax":-1.65114, "ay":1.5294, "alpha":-0.42208, "fx":[-22.56902,-20.16931,-20.29404,-22.68304], "fy":[18.58189,18.72169,21.11925,20.97243]}, + {"t":0.14411, "x":7.72107, "y":5.95928, "heading":-1.57064, "vx":-1.0928, "vy":1.02705, "omega":-0.01808, "ax":-0.00749, "ay":-0.00797, "alpha":-0.36419, "fx":[-1.02963,1.04453,0.83087,-1.23445], "fy":[-1.25391,-1.01467,1.04982,0.80527]}, + {"t":0.19215, "x":7.66857, "y":6.00861, "heading":-1.5715, "vx":-1.09316, "vy":1.02667, "omega":-0.03558, "ax":0.00383, "ay":0.00408, "alpha":-0.31289, "fx":[-0.70516,1.07542,0.80211,-0.97352], "fy":[-0.98178,-0.68432,1.08904,0.78871]}, + {"t":0.24019, "x":7.61606, "y":6.05794, "heading":-1.57321, "vx":-1.09298, "vy":1.02687, "omega":-0.05061, "ax":-0.00122, "ay":-0.0013, "alpha":-0.25512, "fx":[-0.59607,0.85389,0.56351,-0.8847], "fy":[-0.89412,-0.58623,0.86074,0.55215]}, + {"t":0.28822, "x":7.56355, "y":6.10726, "heading":-1.57564, "vx":-1.09304, "vy":1.0268, "omega":-0.06286, "ax":0.00529, "ay":0.00563, "alpha":-0.20696, "fx":[-0.37923,0.79591,0.51649,-0.65868], "fy":[-0.6598,-0.36964,0.80554,0.51604]}, + {"t":0.33626, "x":7.51105, "y":6.15659, "heading":-1.57866, "vx":-1.09278, "vy":1.02707, "omega":-0.0728, "ax":-0.00101, "ay":-0.00108, "alpha":-0.14617, "fx":[-0.29358,0.53645,0.26769,-0.56304], "fy":[-0.56727,-0.29285,0.53877,0.26552]}, + {"t":0.3843, "x":7.45856, "y":6.20593, "heading":-1.58216, "vx":-1.09283, "vy":1.02702, "omega":-0.07982, "ax":0.00103, "ay":0.00109, "alpha":-0.10084, "fx":[-0.13818,0.43535,0.16527,-0.40904], "fy":[-0.41024,-0.13764,0.43812,0.1666]}, + {"t":0.43234, "x":7.40606, "y":6.25527, "heading":-1.586, "vx":-1.09278, "vy":1.02708, "omega":-0.08467, "ax":-0.00033, "ay":-0.00035, "alpha":-0.04482, "fx":[0.01313,0.27028,-0.0213,-0.27911], "fy":[-0.28072,0.01172,0.27139,-0.02045]}, + {"t":0.48037, "x":7.35357, "y":6.3046, "heading":-1.59006, "vx":-1.0928, "vy":1.02706, "omega":-0.08682, "ax":0.00011, "ay":0.00012, "alpha":-0.00764, "fx":[0.14603,0.19443,-0.14292,-0.19182], "fy":[-0.1928,0.14475,0.19589,-0.14173]}, + {"t":0.52841, "x":7.30107, "y":6.35394, "heading":-1.59423, "vx":-1.09279, "vy":1.02706, "omega":-0.08719, "ax":0.0003, "ay":0.00032, "alpha":0.04295, "fx":[0.31274,0.07658,-0.30482,-0.06907], "fy":[-0.06993,0.31167,0.07855,-0.30385]}, + {"t":0.57645, "x":7.24858, "y":6.40328, "heading":-1.59842, "vx":-1.09278, "vy":1.02708, "omega":-0.08513, "ax":0.00074, "ay":0.00079, "alpha":0.06103, "fx":[0.40192,0.0666,-0.38242,-0.0475], "fy":[-0.04824,0.40141,0.06956,-0.38163]}, + {"t":0.62449, "x":7.19609, "y":6.45262, "heading":-1.60251, "vx":-1.09274, "vy":1.02712, "omega":-0.08219, "ax":0.00102, "ay":0.00108, "alpha":0.1182, "fx":[0.58933,-0.06728,-0.56271,0.09345], "fy":[0.0925,0.5893,-0.06329,-0.56233]}, + {"t":0.67252, "x":7.14359, "y":6.50196, "heading":-1.60646, "vx":-1.09269, "vy":1.02717, "omega":-0.07652, "ax":0.00154, "ay":0.00164, "alpha":0.1032, "fx":[0.57634,0.00832,-0.5361,0.03135], "fy":[0.03024,0.57704,0.01372,-0.53599]}, + {"t":0.72056, "x":7.09111, "y":6.5513, "heading":-1.61013, "vx":-1.09262, "vy":1.02725, "omega":-0.07156, "ax":0.00203, "ay":0.00215, "alpha":0.18137, "fx":[0.833,-0.1747,-0.78003,0.22691], "fy":[0.22548,0.83442,-0.1678,-0.78024]}, + {"t":0.7686, "x":7.03862, "y":6.60065, "heading":-1.61357, "vx":-1.09252, "vy":1.02735, "omega":-0.06285, "ax":0.00215, "ay":0.00229, "alpha":0.12806, "fx":[0.68082,-0.02273,-0.62447,0.0781], "fy":[0.07594,0.68271,-0.01454,-0.62531]}, + {"t":0.81663, "x":6.98614, "y":6.65001, "heading":-1.61659, "vx":-1.09242, "vy":1.02746, "omega":-0.05669, "ax":0.00132, "ay":0.0014, "alpha":0.22509, "fx":[0.99403,-0.25432,-0.9592,0.28791], "fy":[0.2842,0.9957,-0.24562,-0.96152]}, + {"t":0.86467, "x":6.93367, "y":6.69936, "heading":-1.61931, "vx":-1.09235, "vy":1.02753, "omega":-0.04588, "ax":-0.00124, "ay":-0.00132, "alpha":0.15417, "fx":[0.73383,-0.11268,-0.76525,0.07974], "fy":[0.07311,0.73403,-0.10498,-0.77058]}, + {"t":0.91271, "x":6.88119, "y":6.74872, "heading":-1.62152, "vx":-1.09241, "vy":1.02747, "omega":-0.03848, "ax":-0.00595, "ay":-0.00633, "alpha":0.23336, "fx":[0.96207,-0.32587,-1.11564,0.17052], "fy":[0.15933,0.95933,-0.32119,-1.126]}, + {"t":0.96075, "x":6.82871, "y":6.79807, "heading":-1.62337, "vx":-1.0927, "vy":1.02716, "omega":-0.02727, "ax":-0.01161, "ay":-0.01236, "alpha":0.20306, "fx":[0.78784,-0.32764,-1.08826,0.02528], "fy":[0.0089,0.78183,-0.3273,-1.10502]}, + {"t":1.00878, "x":6.7762, "y":6.8474, "heading":-1.62468, "vx":-1.09326, "vy":1.02657, "omega":-0.01751, "ax":-0.01372, "ay":-0.01462, "alpha":0.18848, "fx":[0.76861,-0.25601,-1.12367,-0.10104], "fy":[-0.1194,0.76312,-0.25777,-1.14486]}, + {"t":1.05682, "x":6.72367, "y":6.8967, "heading":-1.62552, "vx":-1.09392, "vy":1.02587, "omega":-0.00846, "ax":-0.00273, "ay":-0.00291, "alpha":0.2844, "fx":[1.22411,-0.33739,-1.29408,0.2656], "fy":[0.25697,1.23206,-0.33054,-1.30977]}, + {"t":1.10486, "x":6.67112, "y":6.94597, "heading":-1.62592, "vx":-1.09405, "vy":1.02573, "omega":0.0052, "ax":0.03627, "ay":0.03862, "alpha":0.09098, "fx":[1.21753,0.76371,-0.27535,0.17718], "fy":[0.20198,1.26498,0.80236,-0.26419]}, + {"t":1.1529, "x":6.61861, "y":6.99529, "heading":-1.62567, "vx":-1.09231, "vy":1.02758, "omega":0.00957, "ax":0.10917, "ay":0.11546, "alpha":0.36431, "fx":[2.96038,0.96204,-0.12654,1.87154], "fy":[1.94719,3.06931,1.05126,-0.07376]}, + {"t":1.20093, "x":6.56626, "y":7.04479, "heading":-1.62521, "vx":-1.08706, "vy":1.03313, "omega":0.02708, "ax":0.1634, "ay":0.17061, "alpha":0.00919, "fx":[2.93527,2.99406,1.30537,1.24802], "fy":[1.3325,3.07171,3.09715,1.35553]}, + {"t":1.24897, "x":6.51423, "y":7.09461, "heading":-1.62391, "vx":-1.07921, "vy":1.04132, "omega":0.02752, "ax":-0.07697, "ay":-0.08008, "alpha":0.30336, "fx":[0.10273,-1.56437,-2.10243,-0.4316], "fy":[-0.49099,0.12841,-1.5862,-2.20824]}, + {"t":1.29701, "x":6.4623, "y":7.14454, "heading":-1.62259, "vx":-1.08291, "vy":1.03748, "omega":0.04209, "ax":-1.44279, "ay":-1.61434, "alpha":0.18106, "fx":[-16.4477,-17.24802,-21.00563,-20.1978], "fy":[-22.46921,-18.57686,-19.43137,-23.32716]}, + {"t":1.34505, "x":6.40861, "y":7.19252, "heading":-1.62057, "vx":-1.15222, "vy":0.95993, "omega":0.05079, "ax":-4.88233, "ay":-8.11785, "alpha":-0.21781, "fx":[-64.95511,-63.75863,-61.77805,-62.96316], "fy":[-105.0289,-106.77832,-105.67742,-103.93505]}, + {"t":1.39308, "x":6.34763, "y":7.22926, "heading":-1.61813, "vx":-1.38675, "vy":0.56997, "omega":0.04032, "ax":-2.20807, "ay":-9.27988, "alpha":-0.69581, "fx":[-31.32361,-27.43175,-25.98678,-29.88473], "fy":[-121.70005,-123.04771,-119.1682,-117.82796]}, + {"t":1.44229, "x":6.27671, "y":7.24608, "heading":-1.61615, "vx":-1.49541, "vy":0.1133, "omega":0.00608, "ax":-0.08537, "ay":-1.98969, "alpha":-0.8147, "fx":[-6.39207,-2.06375,4.17662,-0.15237], "fy":[-24.92231,-31.08363,-26.71998,-20.56429]}, + {"t":1.4915, "x":6.20302, "y":7.24924, "heading":-1.61585, "vx":-1.49961, "vy":0.01539, "omega":-0.03401, "ax":-0.0002, "ay":-0.01717, "alpha":-0.84315, "fx":[-3.13267,1.58056,3.1272,-1.58532], "fy":[-1.83744,-3.33337,1.39405,2.88532]}, + {"t":1.54071, "x":6.12922, "y":7.24998, "heading":-1.61752, "vx":-1.49962, "vy":0.01454, "omega":-0.0755, "ax":0.00344, "ay":0.24985, "alpha":-0.95903, "fx":[-6.04033,-0.92068,6.12837,1.01096], "fy":[4.19283,-2.82324,2.29369,9.30727]}, + {"t":1.58993, "x":6.05543, "y":7.251, "heading":-1.62124, "vx":-1.49945, "vy":0.02684, "omega":-0.1227, "ax":0.00293, "ay":0.1443, "alpha":-1.01103, "fx":[-3.66203,1.99943,3.73658,-1.92199], "fy":[-0.09224,-1.81213,3.83807,5.55736]}, + {"t":1.63914, "x":5.98165, "y":7.25249, "heading":-1.62727, "vx":-1.49931, "vy":0.03394, "omega":-0.17245, "ax":0.00087, "ay":0.03743, "alpha":-1.11988, "fx":[-6.69101,-0.74255,6.7121,0.76659], "fy":[1.24283,-6.20657,-0.27161,7.17855]}, + {"t":1.68835, "x":5.90786, "y":7.25421, "heading":-1.63576, "vx":-1.49927, "vy":0.03578, "omega":-0.22756, "ax":-0.00024, "ay":-0.01016, "alpha":-1.14318, "fx":[-4.26928,2.09401,4.26164,-2.09897], "fy":[-2.22289,-4.39315,1.95826,4.13024]}, + {"t":1.73756, "x":5.83408, "y":7.25596, "heading":-1.64696, "vx":-1.49928, "vy":0.03528, "omega":-0.28382, "ax":-0.00047, "ay":-0.0203, "alpha":-1.21474, "fx":[-6.97656,-0.64256,6.96325,0.63139], "fy":[0.37948,-7.23301,-0.90732,6.70706]}, + {"t":1.78677, "x":5.7603, "y":7.25767, "heading":-1.66093, "vx":-1.4993, "vy":0.03428, "omega":-0.34359, "ax":-0.00031, "ay":-0.01348, "alpha":-1.18961, "fx":[-4.69069,1.82872,4.68198,-1.83587], "fy":[-2.00231,-4.86333,1.65147,4.51426]}, + {"t":1.83598, "x":5.68652, "y":7.25934, "heading":-1.67783, "vx":-1.49932, "vy":0.03362, "omega":-0.40214, "ax":-0.00007, "ay":-0.0033, "alpha":-1.24897, "fx":[-6.95944,-0.65133,6.95702,0.64991], "fy":[0.61127,-7.00415,-0.69741,6.91923]}, + {"t":1.88519, "x":5.61274, "y":7.26099, "heading":-1.69762, "vx":-1.49932, "vy":0.03346, "omega":-0.4636, "ax":0.00006, "ay":0.00261, "alpha":-1.17323, "fx":[-4.92874,1.31893,4.92997,-1.31713], "fy":[-1.28227,-4.89873,1.34969,4.96684]}, + {"t":1.9344, "x":5.53896, "y":7.26264, "heading":-1.72044, "vx":-1.49932, "vy":0.03358, "omega":-0.52133, "ax":0.00013, "ay":0.00569, "alpha":-1.24039, "fx":[-6.69023,-0.68906,6.69344,0.69249], "fy":[0.76526,-6.62076,-0.61753,6.76857]}, + {"t":1.98361, "x":5.46517, "y":7.2643, "heading":-1.74609, "vx":-1.49931, "vy":0.03386, "omega":-0.58237, "ax":0.00012, "ay":0.0055, "alpha":-1.10687, "fx":[-4.94388,0.67439,4.94712,-0.67115], "fy":[-0.60168,-4.87605,0.74465,5.01869]}, + {"t":2.03282, "x":5.39139, "y":7.26597, "heading":-1.77475, "vx":-1.4993, "vy":0.03413, "omega":-0.63684, "ax":0.00012, "ay":0.00516, "alpha":-1.16979, "fx":[-6.14676,-0.81173,6.14987,0.81474], "fy":[0.87924,-6.08238,-0.74491,6.216]}, + {"t":2.08203, "x":5.31761, "y":7.26766, "heading":-1.80609, "vx":-1.4993, "vy":0.03439, "omega":-0.69441, "ax":0.00011, "ay":0.00488, "alpha":-0.999, "fx":[-4.72561,-0.04278,4.72858,0.04564], "fy":[0.10615,-4.66386,0.02098,4.79011]}, + {"t":2.13124, "x":5.24383, "y":7.26935, "heading":-1.84026, "vx":-1.49929, "vy":0.03463, "omega":-0.74357, "ax":0.00009, "ay":0.00386, "alpha":-1.02514, "fx":[-5.30986,-1.02861,5.31221,1.03089], "fy":[1.07811,-5.26027,-0.97731,5.36005]}, + {"t":2.18045, "x":5.17005, "y":7.27106, "heading":-1.87685, "vx":-1.49929, "vy":0.03482, "omega":-0.79402, "ax":0.00008, "ay":0.00358, "alpha":-0.87226, "fx":[-4.32755,-0.74057,4.3297,0.74274], "fy":[0.78611,-4.28092,-0.69261,4.37336]}, + {"t":2.22966, "x":5.09627, "y":7.27278, "heading":-1.91593, "vx":-1.49928, "vy":0.035, "omega":-0.83694, "ax":0.00008, "ay":0.00343, "alpha":-0.80894, "fx":[-4.19606,-1.29403,4.19808,1.29618], "fy":[1.33728,-4.151,-1.24764,4.23952]}, + {"t":2.27887, "x":5.02249, "y":7.27451, "heading":-1.95712, "vx":-1.49928, "vy":0.03516, "omega":-0.87675, "ax":0.00008, "ay":0.0034, "alpha":-0.74644, "fx":[-3.82424,-1.36373,3.82621,1.36591], "fy":[1.40639,-3.77941,-1.31754,3.86713]}, + {"t":2.32808, "x":4.94871, "y":7.27624, "heading":-2.00026, "vx":-1.49928, "vy":0.03533, "omega":-0.91348, "ax":0.00009, "ay":0.00362, "alpha":-0.53076, "fx":[-2.85618,-1.57409,2.85825,1.57645], "fy":[1.61937,-2.80868,-1.52489,2.90201]}, + {"t":2.3773, "x":4.87493, "y":7.27798, "heading":-2.04521, "vx":-1.49927, "vy":0.03551, "omega":-0.9396, "ax":0.0001, "ay":0.00404, "alpha":-0.63949, "fx":[-3.28849,-1.85021,3.29081,1.85286], "fy":[1.90096,-3.23586,-1.79559,3.34006]}, + {"t":2.42651, "x":4.80115, "y":7.27974, "heading":-2.09145, "vx":-1.49927, "vy":0.03571, "omega":-0.97107, "ax":0.00009, "ay":0.00394, "alpha":-0.23819, "fx":[-1.45261,-1.70887,1.45488,1.71148], "fy":[1.75827,-1.4015,-1.65537,1.5032]}, + {"t":2.47572, "x":4.72737, "y":7.2815, "heading":-2.13924, "vx":-1.49926, "vy":0.0359, "omega":-0.98279, "ax":0.00009, "ay":0.0039, "alpha":-0.55316, "fx":[-2.74278,-2.13896,2.74505,2.14154], "fy":[2.18783,-2.69258,-2.08613,2.79309]}, + {"t":2.52493, "x":4.65359, "y":7.28327, "heading":-2.1876, "vx":-1.49926, "vy":0.03609, "omega":-1.01002, "ax":0.0001, "ay":0.00397, "alpha":0.01759, "fx":[-0.20082,-1.60519,0.20316,1.60782], "fy":[1.65524,-0.14999,-1.55161,0.25242]}, + {"t":2.57414, "x":4.57981, "y":7.28505, "heading":-2.23731, "vx":-1.49925, "vy":0.03629, "omega":-1.00915, "ax":0.00011, "ay":0.00446, "alpha":-0.4575, "fx":[-2.11516,-2.24494,2.11784,2.24787], "fy":[2.30179,-2.05841,-2.18557,2.17349]}, + {"t":2.62335, "x":4.50603, "y":7.28684, "heading":-2.28697, "vx":-1.49925, "vy":0.03651, "omega":-1.03166, "ax":0.0001, "ay":0.00418, "alpha":0.19671, "fx":[0.70456,-1.2604,-0.70202,1.26315], "fy":[1.31401,0.75768,-1.20498,-0.64974]}, + {"t":2.67256, "x":4.43225, "y":7.28864, "heading":-2.33774, "vx":-1.49924, "vy":0.03671, "omega":-1.02198, "ax":0.0001, "ay":0.00425, "alpha":-0.31355, "fx":[-1.29702,-2.18234,1.29963,2.18514], "fy":[2.23736,-1.24311,-2.12666,1.35283]}, + {"t":2.72177, "x":4.35847, "y":7.29046, "heading":-2.38803, "vx":-1.49924, "vy":0.03692, "omega":-1.03741, "ax":0.00011, "ay":0.00431, "alpha":0.28151, "fx":[1.1547,-0.74856,-1.15201,0.7514], "fy":[0.80503,1.20952,-0.69262,-1.09799]}, + {"t":2.77098, "x":4.28469, "y":7.29228, "heading":-2.43908, "vx":-1.49923, "vy":0.03714, "omega":-1.02356, "ax":0.00011, "ay":0.00441, "alpha":-0.09336, "fx":[-0.21378,-1.93504,0.21655,1.93795], "fy":[1.99331,-0.15763,-1.87853,0.27168]}, + {"t":2.82019, "x":4.21091, "y":7.29411, "heading":-2.48945, "vx":-1.49923, "vy":0.03735, "omega":-1.02815, "ax":0.00011, "ay":0.00426, "alpha":0.28297, "fx":[1.17199,-0.19127,-1.16929,0.19409], "fy":[0.24809,1.22647,-0.13711,-1.11608]}, + {"t":2.8694, "x":4.13714, "y":7.29595, "heading":-2.54005, "vx":-1.49922, "vy":0.03756, "omega":-1.01423, "ax":0.00011, "ay":0.00426, "alpha":0.20269, "fx":[1.09985,-1.46075,-1.09713,1.46359], "fy":[1.51787,1.15439,-1.40715,-1.04408]}, + {"t":2.91861, "x":4.06336, "y":7.29781, "heading":-2.58996, "vx":-1.49922, "vy":0.03777, "omega":-1.00425, "ax":0.0001, "ay":0.00402, "alpha":0.23827, "fx":[0.91499,0.2886,-0.91241,-0.28592], "fy":[-0.23442,0.96659,0.33893,-0.86236]}, + {"t":2.96782, "x":3.98958, "y":7.29967, "heading":-2.63938, "vx":-1.49921, "vy":0.03797, "omega":-0.99253, "ax":0.00009, "ay":0.00371, "alpha":0.54254, "fx":[2.47947,-0.72765,-2.47708,0.73015], "fy":[0.77784,2.52714,-0.68136,-2.4308]}, + {"t":3.01703, "x":3.91581, "y":7.30154, "heading":-2.68822, "vx":-1.49921, "vy":0.03815, "omega":-0.96583, "ax":0.00012, "ay":0.00451, "alpha":0.2077, "fx":[0.66744,0.62544,-0.6645,-0.62241], "fy":[-0.56471,0.72498,0.68183,-0.60791]}, + {"t":3.06624, "x":3.84203, "y":7.30343, "heading":-2.73575, "vx":-1.4992, "vy":0.03837, "omega":-0.95561, "ax":0.00012, "ay":0.00477, "alpha":0.89171, "fx":[3.76595,0.21802,-3.76281,-0.2148], "fy":[-0.15404,3.82641,0.27782,-3.70261]}, + {"t":3.11545, "x":3.76825, "y":7.30532, "heading":-2.78278, "vx":-1.4992, "vy":0.03861, "omega":-0.91173, "ax":0.00009, "ay":0.00368, "alpha":0.29147, "fx":[0.89962,0.85042,-0.89719,-0.84792], "fy":[-0.80119,0.94591,0.89676,-0.85029]}, + {"t":3.16467, "x":3.69448, "y":7.30723, "heading":-2.82764, "vx":-1.49919, "vy":0.03879, "omega":-0.89738, "ax":0.00007, "ay":0.00271, "alpha":1.19942, "fx":[4.73291,1.31175,-4.73111,-1.30992], "fy":[-1.27586,4.76645,1.34615,-4.69608]}, + {"t":3.21388, "x":3.6207, "y":7.30914, "heading":-2.8718, "vx":-1.49919, "vy":0.03892, "omega":-0.83836, "ax":0.00014, "ay":0.00548, "alpha":0.50651, "fx":[1.63658,1.23838,-1.63289,-1.23467], "fy":[-1.16609,1.70477,1.30821,-1.56257]}, + {"t":3.26309, "x":3.54692, "y":7.31106, "heading":-2.91306, "vx":-1.49918, "vy":0.03919, "omega":-0.81343, "ax":0.00009, "ay":0.00344, "alpha":1.44258, "fx":[5.29503,2.44613,-5.2927,-2.44379], "fy":[-2.40164,5.33739,2.49083,-5.24816]}, + {"t":3.3123, "x":3.47315, "y":7.31299, "heading":-2.95309, "vx":-1.49918, "vy":0.03936, "omega":-0.74244, "ax":0.00007, "ay":0.00249, "alpha":0.86395, "fx":[2.83103,2.00066,-2.82935,-1.99895], "fy":[-1.96986,2.86185,2.03444,-2.79741]}, + {"t":3.36151, "x":3.39937, "y":7.31493, "heading":-2.98963, "vx":-1.49917, "vy":0.03948, "omega":-0.69993, "ax":0.00017, "ay":0.00625, "alpha":1.66086, "fx":[5.65307,3.55909,-5.64883,-3.55476], "fy":[-3.47994,5.73281,3.64256,-5.57085]}, + {"t":3.41072, "x":3.3256, "y":7.31688, "heading":-3.02407, "vx":-1.49917, "vy":0.03979, "omega":-0.6182, "ax":0.00009, "ay":0.00338, "alpha":1.3373, "fx":[4.26922,3.24483,-4.26701,-3.24238], "fy":[-3.2073,4.31535,3.29601,-4.22861]}, + {"t":3.45993, "x":3.25182, "y":7.31885, "heading":-3.05449, "vx":-1.49916, "vy":0.03996, "omega":-0.55239, "ax":0.00007, "ay":0.00274, "alpha":1.9224, "fx":[6.07953,4.73967,-6.07787,-4.73754], "fy":[-4.71669,6.12233,4.79021,-6.05356]}, + {"t":3.50914, "x":3.17805, "y":7.32082, "heading":-3.08167, "vx":-1.49916, "vy":0.04009, "omega":-0.45778, "ax":0.00015, "ay":0.00565, "alpha":1.87204, "fx":[5.68194,4.89022,-5.67839,-4.88591], "fy":[-4.83864,5.76948,4.99037,-5.62796]}, + {"t":3.55835, "x":3.10427, "y":7.3228, "heading":-3.1042, "vx":-1.49915, "vy":0.04037, "omega":-0.36566, "ax":0.0001, "ay":0.00374, "alpha":2.27022, "fx":[6.71543,6.11228,-6.71336,-6.10913], "fy":[-6.10172,6.79165,6.20873,-6.70443]}, + {"t":3.60756, "x":3.0305, "y":7.32479, "heading":-3.1222, "vx":-1.49914, "vy":0.04056, "omega":-0.25394, "ax":0.00003, "ay":0.00123, "alpha":2.40532, "fx":[6.90797,6.67171,-6.90783,-6.67004], "fy":[-6.71578,6.97193,6.76527,-6.95747]}, + {"t":3.65677, "x":2.95673, "y":7.32678, "heading":-3.13469, "vx":-1.49914, "vy":0.04062, "omega":-0.13557, "ax":1.50395, "ay":-0.04118, "alpha":2.67202, "fx":[27.03598,27.05993,11.99969,11.97859], "fy":[-8.16344,7.06232,7.12459,-8.16109]}, + {"t":3.70598, "x":2.88477, "y":7.32873, "heading":-3.14136, "vx":-1.42513, "vy":0.03859, "omega":-0.00408, "ax":14.47371, "ay":-0.39002, "alpha":0.07192, "fx":[187.83231,187.8535,187.85341,187.83068], "fy":[-5.449,-4.66141,-4.6469,-5.48951]}, + {"t":3.75519, "x":2.83217, "y":7.33016, "heading":-3.14157, "vx":-0.71287, "vy":0.0194, "omega":-0.00054, "ax":14.48615, "ay":-0.39416, "alpha":0.01105, "fx":[188.00232,188.00571,188.00563,188.0022], "fy":[-5.17608,-5.05158,-5.05405,-5.18003]}, + {"t":3.8044, "x":2.81463, "y":7.33064, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FRMtoCR.traj b/src/main/deploy/choreo/FRMtoCR.traj new file mode 100644 index 0000000..097eadc --- /dev/null +++ b/src/main/deploy/choreo/FRMtoCR.traj @@ -0,0 +1,193 @@ +{ + "name":"FRMtoCR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":3.55698299407959, "heading":1.5707963267948966, "intervals":48, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.002846717834473, "y":0.6756622195243835, "heading":3.141592653589793, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.641608238220215, "y":0.6834654211997986, "heading":3.1309276014165053, "intervals":20, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":3.199887990951538, "y":0.7819570302963257, "heading":-3.1415930390595, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7568485736846924, "y":3.397829055786133, "heading":3.141592653589793, "intervals":53, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FRM.x", "val":7.82036542892456}, "y":{"exp":"FRM.y", "val":3.55698299407959}, "heading":{"exp":"FRM.heading", "val":1.5707963267948966}, "intervals":48, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.002846717834473 m", "val":6.002846717834473}, "y":{"exp":"0.6756622195243835 m", "val":0.6756622195243835}, "heading":{"exp":"3.141592653589793 rad", "val":3.141592653589793}, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.641608238220215 m", "val":4.641608238220215}, "y":{"exp":"0.6834654211997986 m", "val":0.6834654211997986}, "heading":{"exp":"3.1309276014165053 rad", "val":3.1309276014165053}, "intervals":20, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"3.199887990951538 m", "val":3.199887990951538}, "y":{"exp":"0.7819570302963257 m", "val":0.7819570302963257}, "heading":{"exp":"-3.1415930390595 rad", "val":-3.1415930390595}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"CR.x", "val":1.7568485736846924}, "y":{"exp":"CR.y", "val":3.397829055786133}, "heading":{"exp":"CR.heading", "val":3.141592653589793}, "intervals":53, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.32791,3.23873,4.20533,6.2527], + "samples":[ + {"t":0.0, "x":7.82037, "y":3.55698, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-7.65049, "ay":-12.30706, "alpha":0.00336, "fx":[-99.29468,-99.26717,-99.28425,-99.31176], "fy":[-159.72008,-159.73716,-159.72651,-159.70943]}, + {"t":0.0485, "x":7.81137, "y":3.54251, "heading":1.5708, "vx":-0.37103, "vy":-0.59687, "omega":0.00016, "ax":-7.6437, "ay":-12.29614, "alpha":0.00589, "fx":[-99.21048,-99.16237,-99.19221,-99.24032], "fy":[-159.57596,-159.60579,-159.58713,-159.55729]}, + {"t":0.097, "x":7.78438, "y":3.4991, "heading":1.5708, "vx":-0.74174, "vy":-1.19321, "omega":0.00045, "ax":-1.03117, "ay":-1.6588, "alpha":2.72868, "fx":[-20.98821,-5.52785,-5.63477,-21.37991], "fy":[-29.03899,-29.37098,-13.93468,-13.76828]}, + {"t":0.14549, "x":7.7472, "y":3.43928, "heading":1.57083, "vx":-0.79175, "vy":-1.27366, "omega":0.13278, "ax":0.0, "ay":0.0, "alpha":2.42061, "fx":[-6.86515,6.86551,6.86511,-6.86556], "fy":[-6.86557,-6.86516,6.8655,6.86509]}, + {"t":0.19399, "x":7.7088, "y":3.37751, "heading":1.57727, "vx":-0.79175, "vy":-1.27366, "omega":0.25018, "ax":0.0, "ay":0.0, "alpha":2.07014, "fx":[-5.8332,5.90917,5.8332,-5.90917], "fy":[-5.90917,-5.8332,5.90917,5.8332]}, + {"t":0.24249, "x":7.6704, "y":3.31574, "heading":1.5894, "vx":-0.79175, "vy":-1.27366, "omega":0.35058, "ax":0.0, "ay":0.0, "alpha":1.76966, "fx":[-4.92487,5.1116,4.92487,-5.1116], "fy":[-5.1116,-4.92487,5.1116,4.92487]}, + {"t":0.29099, "x":7.632, "y":3.25397, "heading":1.6064, "vx":-0.79175, "vy":-1.27366, "omega":0.4364, "ax":0.0, "ay":0.0, "alpha":1.51218, "fx":[-4.13345,4.43879,4.13345,-4.43879], "fy":[-4.43879,-4.13345,4.43879,4.13345]}, + {"t":0.33949, "x":7.59361, "y":3.1922, "heading":1.62757, "vx":-0.79175, "vy":-1.27366, "omega":0.50974, "ax":0.0, "ay":0.0, "alpha":1.29161, "fx":[-3.4495,3.8652,3.4495,-3.8652], "fy":[-3.8652,-3.4495,3.8652,3.4495]}, + {"t":0.38798, "x":7.55521, "y":3.13043, "heading":1.65229, "vx":-0.79175, "vy":-1.27366, "omega":0.57238, "ax":0.0, "ay":0.0, "alpha":1.10268, "fx":[-2.86247,3.37161,2.86247,-3.37161], "fy":[-3.37161,-2.86247,3.37161,2.86247]}, + {"t":0.43648, "x":7.51681, "y":3.06866, "heading":1.68005, "vx":-0.79175, "vy":-1.27366, "omega":0.62586, "ax":0.0, "ay":0.0, "alpha":0.94085, "fx":[-2.36158,2.94347,2.36158,-2.94347], "fy":[-2.94347,-2.36158,2.94347,2.36158]}, + {"t":0.48498, "x":7.47841, "y":3.00689, "heading":1.7104, "vx":-0.79175, "vy":-1.27366, "omega":0.67149, "ax":0.0, "ay":0.0, "alpha":0.80219, "fx":[-1.93645,2.56963,1.93645,-2.56963], "fy":[-2.56963,-1.93645,2.56963,1.93645]}, + {"t":0.53348, "x":7.44001, "y":2.94512, "heading":1.74297, "vx":-0.79175, "vy":-1.27366, "omega":0.71039, "ax":0.0, "ay":0.0, "alpha":0.68333, "fx":[-1.57738,2.24144,1.57738,-2.24144], "fy":[-2.24144,-1.57738,2.24144,1.57738]}, + {"t":0.58198, "x":7.40161, "y":2.88335, "heading":1.77742, "vx":-0.79175, "vy":-1.27366, "omega":0.74353, "ax":0.0, "ay":0.0, "alpha":0.58136, "fx":[-1.27552,1.95206,1.27552,-1.95206], "fy":[-1.95206,-1.27552,1.95206,1.27552]}, + {"t":0.63048, "x":7.36322, "y":2.82158, "heading":1.81348, "vx":-0.79175, "vy":-1.27366, "omega":0.77173, "ax":0.0, "ay":0.0, "alpha":0.49378, "fx":[-1.02289,1.69597,1.02289,-1.69597], "fy":[-1.69597,-1.02289,1.69597,1.02289]}, + {"t":0.67897, "x":7.32482, "y":2.75981, "heading":1.85091, "vx":-0.79175, "vy":-1.27366, "omega":0.79568, "ax":0.0, "ay":0.0, "alpha":0.41844, "fx":[-0.81242,1.4686,0.81242,-1.4686], "fy":[-1.4686,-0.81242,1.4686,0.81242]}, + {"t":0.72747, "x":7.28642, "y":2.69804, "heading":1.88949, "vx":-0.79175, "vy":-1.27366, "omega":0.81597, "ax":0.0, "ay":0.0, "alpha":0.35347, "fx":[-0.6379,1.26613,0.6379,-1.26613], "fy":[-1.26613,-0.6379,1.26613,0.6379]}, + {"t":0.77597, "x":7.24802, "y":2.63627, "heading":1.92907, "vx":-0.79175, "vy":-1.27366, "omega":0.83311, "ax":0.0, "ay":0.0, "alpha":0.29727, "fx":[-0.49394,1.08522,0.49394,-1.08522], "fy":[-1.08522,-0.49394,1.08522,0.49394]}, + {"t":0.82447, "x":7.20962, "y":2.5745, "heading":1.96947, "vx":-0.79175, "vy":-1.27366, "omega":0.84753, "ax":0.0, "ay":0.0, "alpha":0.24845, "fx":[-0.37585,0.92295,0.37585,-0.92295], "fy":[-0.92295,-0.37585,0.92295,0.37585]}, + {"t":0.87297, "x":7.17122, "y":2.51273, "heading":2.01057, "vx":-0.79175, "vy":-1.27366, "omega":0.85958, "ax":0.0, "ay":0.0, "alpha":0.20581, "fx":[-0.27967,0.77669,0.27967,-0.77669], "fy":[-0.77669,-0.27967,0.77669,0.27967]}, + {"t":0.92146, "x":7.13283, "y":2.45096, "heading":2.05226, "vx":-0.79175, "vy":-1.27366, "omega":0.86956, "ax":0.0, "ay":0.0, "alpha":0.16828, "fx":[-0.202,0.64403,0.202,-0.64403], "fy":[-0.64403,-0.202,0.64403,0.202]}, + {"t":0.96996, "x":7.09443, "y":2.38919, "heading":2.09443, "vx":-0.79175, "vy":-1.27366, "omega":0.87772, "ax":0.0, "ay":0.0, "alpha":0.13493, "fx":[-0.14005,0.52277,0.14005,-0.52277], "fy":[-0.52277,-0.14005,0.52277,0.14005]}, + {"t":1.01846, "x":7.05603, "y":2.32742, "heading":2.137, "vx":-0.79175, "vy":-1.27366, "omega":0.88426, "ax":0.0, "ay":0.0, "alpha":0.10493, "fx":[-0.09151,0.41079,0.09151,-0.41079], "fy":[-0.41079,-0.09151,0.41079,0.09151]}, + {"t":1.06696, "x":7.01763, "y":2.26565, "heading":2.17989, "vx":-0.79175, "vy":-1.27366, "omega":0.88935, "ax":0.0, "ay":0.0, "alpha":0.07752, "fx":[-0.05454,0.30611,0.05454,-0.30611], "fy":[-0.30611,-0.05454,0.30611,0.05454]}, + {"t":1.11546, "x":6.97923, "y":2.20388, "heading":2.22302, "vx":-0.79175, "vy":-1.27366, "omega":0.89311, "ax":0.0, "ay":0.0, "alpha":0.05204, "fx":[-0.02772,0.20689,0.02772,-0.20689], "fy":[-0.20689,-0.02772,0.20689,0.02772]}, + {"t":1.16395, "x":6.94083, "y":2.14211, "heading":2.26633, "vx":-0.79175, "vy":-1.27366, "omega":0.89564, "ax":0.0, "ay":0.0, "alpha":0.02785, "fx":[-0.01003,0.11126,0.01003,-0.11126], "fy":[-0.11126,-0.01003,0.11126,0.01003]}, + {"t":1.21245, "x":6.90244, "y":2.08034, "heading":2.30977, "vx":-0.79175, "vy":-1.27366, "omega":0.89699, "ax":0.0, "ay":0.0, "alpha":0.00435, "fx":[-0.00081,0.01742,0.00081,-0.01742], "fy":[-0.01742,-0.00081,0.01742,0.00081]}, + {"t":1.26095, "x":6.86404, "y":2.01857, "heading":2.35327, "vx":-0.79175, "vy":-1.27366, "omega":0.8972, "ax":0.0, "ay":0.0, "alpha":-0.01906, "fx":[0.00022,-0.07644,-0.00022,0.07644], "fy":[0.07644,0.00022,-0.07644,-0.00022]}, + {"t":1.30945, "x":6.82564, "y":1.95681, "heading":2.39679, "vx":-0.79175, "vy":-1.27366, "omega":0.89627, "ax":0.0, "ay":0.0, "alpha":-0.04292, "fx":[-0.00699,-0.17202,0.00699,0.17202], "fy":[0.17202,-0.00699,-0.17202,0.00699]}, + {"t":1.35795, "x":6.78724, "y":1.89504, "heading":2.44025, "vx":-0.79175, "vy":-1.27366, "omega":0.89419, "ax":0.0, "ay":0.0, "alpha":-0.06786, "fx":[-0.02285,-0.27124,0.02285,0.27124], "fy":[0.27124,-0.02285,-0.27124,0.02285]}, + {"t":1.40644, "x":6.74884, "y":1.83327, "heading":2.48362, "vx":-0.79175, "vy":-1.27366, "omega":0.8909, "ax":0.0, "ay":0.0, "alpha":-0.09449, "fx":[-0.04817,-0.37594,0.04817,0.37594], "fy":[0.37594,-0.04817,-0.37594,0.04817]}, + {"t":1.45494, "x":6.71045, "y":1.7715, "heading":2.52683, "vx":-0.79175, "vy":-1.27366, "omega":0.88632, "ax":0.0, "ay":0.0, "alpha":-0.12346, "fx":[-0.08409,-0.48802,0.08409,0.48802], "fy":[0.48802,-0.08409,-0.48802,0.08409]}, + {"t":1.50344, "x":6.67205, "y":1.70973, "heading":2.56981, "vx":-0.79175, "vy":-1.27366, "omega":0.88033, "ax":0.0, "ay":0.0, "alpha":-0.15551, "fx":[-0.13224,-0.60959,0.13224,0.60959], "fy":[0.60959,-0.13224,-0.60959,0.13224]}, + {"t":1.55194, "x":6.63365, "y":1.64796, "heading":2.61251, "vx":-0.79175, "vy":-1.27366, "omega":0.87279, "ax":0.0, "ay":0.0, "alpha":-0.19142, "fx":[-0.19464,-0.7427,0.19464,0.7427], "fy":[0.7427,-0.19464,-0.7427,0.19464]}, + {"t":1.60044, "x":6.59525, "y":1.58619, "heading":2.65483, "vx":-0.79175, "vy":-1.27366, "omega":0.8635, "ax":0.0, "ay":0.0, "alpha":-0.23209, "fx":[-0.27389,-0.8897,0.27389,0.8897], "fy":[0.8897,-0.27389,-0.8897,0.27389]}, + {"t":1.64893, "x":6.55685, "y":1.52442, "heading":2.69671, "vx":-0.79175, "vy":-1.27366, "omega":0.85225, "ax":0.0, "ay":0.0, "alpha":-0.27852, "fx":[-0.3731,-1.05301,0.3731,1.05301], "fy":[1.05301,-0.3731,-1.05301,0.3731]}, + {"t":1.69743, "x":6.51845, "y":1.46265, "heading":2.73804, "vx":-0.79175, "vy":-1.27366, "omega":0.83874, "ax":0.0, "ay":0.0, "alpha":-0.33188, "fx":[-0.49604,-1.23528,0.49604,1.23528], "fy":[1.23528,-0.49604,-1.23528,0.49604]}, + {"t":1.74593, "x":6.48006, "y":1.40088, "heading":2.77872, "vx":-0.79175, "vy":-1.27366, "omega":0.82265, "ax":0.0, "ay":0.0, "alpha":-0.39347, "fx":[-0.64716,-1.43939,0.64716,1.43939], "fy":[1.43939,-0.64716,-1.43939,0.64716]}, + {"t":1.79443, "x":6.44166, "y":1.33911, "heading":2.81862, "vx":-0.79175, "vy":-1.27366, "omega":0.80356, "ax":0.0, "ay":0.0, "alpha":-0.46481, "fx":[-0.83172,-1.66854,0.83172,1.66854], "fy":[1.66854,-0.83172,-1.66854,0.83172]}, + {"t":1.84293, "x":6.40326, "y":1.27734, "heading":2.85759, "vx":-0.79175, "vy":-1.27366, "omega":0.78102, "ax":0.0, "ay":0.0, "alpha":-0.54767, "fx":[-1.05585,-1.92633,1.05585,1.92633], "fy":[1.92633,-1.05585,-1.92633,1.05585]}, + {"t":1.89143, "x":6.36486, "y":1.21557, "heading":2.89547, "vx":-0.79175, "vy":-1.27366, "omega":0.75446, "ax":0.0, "ay":0.0, "alpha":-0.6441, "fx":[-1.32664,-2.21682,1.32664,2.21682], "fy":[2.21682,-1.32664,-2.21682,1.32664]}, + {"t":1.93992, "x":6.32646, "y":1.1538, "heading":2.93206, "vx":-0.79175, "vy":-1.27366, "omega":0.72322, "ax":0.0, "ay":0.0, "alpha":-0.75645, "fx":[-1.65225,-2.54477,1.65225,2.54477], "fy":[2.54477,-1.65225,-2.54477,1.65225]}, + {"t":1.98842, "x":6.28806, "y":1.09203, "heading":2.96713, "vx":-0.79175, "vy":-1.27366, "omega":0.68654, "ax":0.0, "ay":0.0, "alpha":-0.88747, "fx":[-2.04194,-2.91574,2.04194,2.91574], "fy":[2.91574,-2.04194,-2.91574,2.04194]}, + {"t":2.03692, "x":6.24967, "y":1.03026, "heading":3.00043, "vx":-0.79175, "vy":-1.27366, "omega":0.6435, "ax":0.0, "ay":0.0, "alpha":-1.04038, "fx":[-2.50622,-3.33652,2.50622,3.33652], "fy":[3.33652,-2.50622,-3.33652,2.50622]}, + {"t":2.08542, "x":6.21127, "y":0.96849, "heading":3.03164, "vx":-0.79175, "vy":-1.27366, "omega":0.59304, "ax":0.0, "ay":0.0, "alpha":-1.21887, "fx":[-3.05674,-3.81544,3.05672,3.81542], "fy":[3.81543,-3.05673,-3.81542,3.05674]}, + {"t":2.13392, "x":6.17287, "y":0.90672, "heading":3.0604, "vx":-0.79175, "vy":-1.27366, "omega":0.53393, "ax":-0.00009, "ay":0.00005, "alpha":-1.42726, "fx":[-3.70748,-4.3641,3.7052,4.36183], "fy":[4.36367,-3.70563,-4.36226,3.70705]}, + {"t":2.18241, "x":6.13447, "y":0.84495, "heading":3.08629, "vx":-0.79175, "vy":-1.27365, "omega":0.46471, "ax":-0.01176, "ay":0.00731, "alpha":-1.67054, "fx":[-4.62133,-5.14529,4.31635,4.83991], "fy":[5.0873,-4.37374,-4.8979,4.56396]}, + {"t":2.23091, "x":6.09606, "y":0.78319, "heading":3.10883, "vx":-0.79232, "vy":-1.2733, "omega":0.38369, "ax":-1.5234, "ay":1.01176, "alpha":-1.89338, "fx":[-24.83141,-25.37322,-14.6751,-14.20414], "fy":[18.59954,7.85949,7.59651,18.46791]}, + {"t":2.27941, "x":6.05584, "y":0.72262, "heading":3.12744, "vx":-0.86621, "vy":-1.22423, "omega":0.29186, "ax":-9.34056, "ay":10.55417, "alpha":-0.06566, "fx":[-121.25129,-121.60586,-121.19599,-120.84075], "fy":[136.96941,136.63424,136.97918,137.3132]}, + {"t":2.32791, "x":6.00285, "y":0.67566, "heading":3.14159, "vx":-1.3192, "vy":-0.71237, "omega":0.28868, "ax":-3.73938, "ay":13.59838, "alpha":-0.05518, "fx":[-48.73804,-48.89012,-48.322,-48.17143], "fy":[176.43619,176.37706,176.52884,176.58707]}, + {"t":2.37585, "x":5.93531, "y":0.65714, "heading":-3.12775, "vx":-1.49846, "vy":-0.0605, "omega":0.28603, "ax":-0.01857, "ay":1.92384, "alpha":-1.6173, "fx":[-4.9413,-4.87558,4.51957,4.33318], "fy":[29.41021,20.39777,20.52671,29.53704]}, + {"t":2.42378, "x":5.86346, "y":0.65645, "heading":-3.11404, "vx":-1.49935, "vy":0.03173, "omega":0.2085, "ax":0.00032, "ay":0.01497, "alpha":-1.42256, "fx":[-4.13995,-3.91802,4.14862,3.92598], "fy":[4.11631,-3.94998,-3.72767,4.33857]}, + {"t":2.47172, "x":5.79158, "y":0.65799, "heading":-3.10405, "vx":-1.49934, "vy":0.03244, "omega":0.14031, "ax":0.0, "ay":0.00011, "alpha":-1.20378, "fx":[-3.53986,-3.28355,3.53993,3.28361], "fy":[3.28507,-3.53841,-3.28209,3.54138]}, + {"t":2.51966, "x":5.71971, "y":0.65954, "heading":-3.09732, "vx":-1.49934, "vy":0.03245, "omega":0.0826, "ax":0.0, "ay":0.0, "alpha":-1.01368, "fx":[-2.99941,-2.74493,2.99941,2.74493], "fy":[2.74494,-2.9994,-2.74492,2.99942]}, + {"t":2.5676, "x":5.64783, "y":0.6611, "heading":-3.09336, "vx":-1.49934, "vy":0.03245, "omega":0.03401, "ax":0.0, "ay":0.0, "alpha":-0.84778, "fx":[-2.51759,-2.28573,2.51759,2.28573], "fy":[2.28573,-2.51759,-2.28573,2.51759]}, + {"t":2.61553, "x":5.57596, "y":0.66265, "heading":-3.09173, "vx":-1.49934, "vy":0.03245, "omega":-0.00663, "ax":0.0, "ay":0.0, "alpha":-0.70214, "fx":[-2.08817,-1.88966,2.08817,1.88966], "fy":[1.88966,-2.08817,-1.88966,2.08817]}, + {"t":2.66347, "x":5.50408, "y":0.66421, "heading":-3.09205, "vx":-1.49934, "vy":0.03245, "omega":-0.04029, "ax":0.0, "ay":0.0, "alpha":-0.57329, "fx":[-1.7045,-1.54345,1.7045,1.54345], "fy":[1.54345,-1.7045,-1.54345,1.7045]}, + {"t":2.71141, "x":5.43221, "y":0.66576, "heading":-3.09398, "vx":-1.49934, "vy":0.03245, "omega":-0.06777, "ax":0.0, "ay":0.0, "alpha":-0.45818, "fx":[-1.35985,-1.23615,1.35985,1.23615], "fy":[1.23615,-1.35985,-1.23615,1.35985]}, + {"t":2.75935, "x":5.36033, "y":0.66732, "heading":-3.09723, "vx":-1.49934, "vy":0.03245, "omega":-0.08974, "ax":0.0, "ay":0.0, "alpha":-0.35403, "fx":[-1.04765,-0.95858,1.04765,0.95858], "fy":[0.95858,-1.04765,-0.95858,1.04765]}, + {"t":2.80729, "x":5.28846, "y":0.66887, "heading":-3.10153, "vx":-1.49934, "vy":0.03245, "omega":-0.10671, "ax":0.0, "ay":0.0, "alpha":-0.25837, "fx":[-0.76155,-0.70285,0.76155,0.70285], "fy":[0.70285,-0.76155,-0.70285,0.76155]}, + {"t":2.85522, "x":5.21658, "y":0.67043, "heading":-3.10665, "vx":-1.49934, "vy":0.03245, "omega":-0.11909, "ax":0.0, "ay":0.0, "alpha":-0.1689, "fx":[-0.49549,-0.46201,0.49549,0.46201], "fy":[0.46201,-0.49549,-0.46201,0.49549]}, + {"t":2.90316, "x":5.14471, "y":0.67199, "heading":-3.11235, "vx":-1.49934, "vy":0.03245, "omega":-0.12719, "ax":0.0, "ay":0.0, "alpha":-0.08348, "fx":[-0.2436,-0.22976,0.2436,0.22976], "fy":[0.22976,-0.2436,-0.22976,0.2436]}, + {"t":2.9511, "x":5.07283, "y":0.67354, "heading":-3.11845, "vx":-1.49934, "vy":0.03245, "omega":-0.13119, "ax":0.0, "ay":0.0, "alpha":-0.00007, "fx":[-0.0002,-0.00019,0.0002,0.00019], "fy":[0.00019,-0.0002,-0.00019,0.0002]}, + {"t":2.99904, "x":5.00096, "y":0.6751, "heading":-3.12474, "vx":-1.49934, "vy":0.03245, "omega":-0.1312, "ax":0.0, "ay":0.0, "alpha":0.08335, "fx":[0.24034,0.23237,-0.24034,-0.23237], "fy":[-0.23237,0.24034,0.23237,-0.24034]}, + {"t":3.04697, "x":4.92908, "y":0.67665, "heading":-3.13103, "vx":-1.49934, "vy":0.03245, "omega":-0.1272, "ax":0.0, "ay":0.0, "alpha":0.16876, "fx":[0.48367,0.47356,-0.48367,-0.47356], "fy":[-0.47356,0.48367,0.47356,-0.48367]}, + {"t":3.09491, "x":4.85721, "y":0.67821, "heading":-3.13713, "vx":-1.49934, "vy":0.03245, "omega":-0.11911, "ax":0.0, "ay":0.00003, "alpha":0.25822, "fx":[0.73564,0.7291,-0.73562,-0.72908], "fy":[-0.72871,0.73601,0.72947,-0.73525]}, + {"t":3.14285, "x":4.78533, "y":0.67976, "heading":3.14035, "vx":-1.49934, "vy":0.03245, "omega":-0.10673, "ax":0.00008, "ay":0.00384, "alpha":0.35387, "fx":[1.00348,1.00597,-1.00131,-1.00382], "fy":[-0.95508,1.05221,1.05471,-0.95258]}, + {"t":3.19079, "x":4.71346, "y":0.68132, "heading":3.13523, "vx":-1.49933, "vy":0.03264, "omega":-0.08977, "ax":0.02143, "ay":0.50203, "alpha":0.4569, "fx":[1.56796,1.58296,-1.01057,-1.02805], "fy":[5.21278,7.80132,7.81809,5.22948]}, + {"t":3.23873, "x":4.64161, "y":0.68347, "heading":3.13093, "vx":-1.49831, "vy":0.0567, "omega":-0.06786, "ax":0.01619, "ay":0.49437, "alpha":0.39233, "fx":[1.31269,1.33538,-0.89161,-0.9161], "fy":[5.29272,7.51543,7.53932,5.31659]}, + {"t":3.28706, "x":4.56921, "y":0.68678, "heading":3.12765, "vx":-1.49752, "vy":0.08059, "omega":-0.0489, "ax":0.0002, "ay":0.00368, "alpha":0.33429, "fx":[0.93739,0.96383,-0.93223,-0.95868], "fy":[-0.91344,0.98262,1.00906,-0.887]}, + {"t":3.33539, "x":4.49684, "y":0.69068, "heading":3.12528, "vx":-1.49751, "vy":0.08077, "omega":-0.03275, "ax":0.0, "ay":0.00003, "alpha":0.2835, "fx":[0.79085,0.81707,-0.79081,-0.81704], "fy":[-0.8167,0.79119,0.81741,-0.79047]}, + {"t":3.38372, "x":4.42446, "y":0.69459, "heading":3.1237, "vx":-1.49751, "vy":0.08077, "omega":-0.01905, "ax":0.0, "ay":0.0, "alpha":0.23961, "fx":[0.66731,0.69162,-0.66731,-0.69162], "fy":[-0.69162,0.66731,0.69163,-0.66731]}, + {"t":3.43205, "x":4.35209, "y":0.69849, "heading":3.12278, "vx":-1.49751, "vy":0.08077, "omega":-0.00747, "ax":0.0, "ay":0.0, "alpha":0.20156, "fx":[0.56081,0.58232,-0.56081,-0.58232], "fy":[-0.58232,0.56081,0.58232,-0.56081]}, + {"t":3.48038, "x":4.27971, "y":0.70239, "heading":3.12242, "vx":-1.49751, "vy":0.08077, "omega":0.00228, "ax":0.0, "ay":0.0, "alpha":0.16843, "fx":[0.46845,0.48677,-0.46845,-0.48677], "fy":[-0.48677,0.46845,0.48677,-0.46845]}, + {"t":3.52871, "x":4.20734, "y":0.7063, "heading":3.12253, "vx":-1.49751, "vy":0.08077, "omega":0.01042, "ax":0.0, "ay":0.0, "alpha":0.1394, "fx":[0.38777,0.40284,-0.38777,-0.40284], "fy":[-0.40284,0.38777,0.40284,-0.38777]}, + {"t":3.57704, "x":4.13497, "y":0.7102, "heading":3.12303, "vx":-1.49751, "vy":0.08077, "omega":0.01715, "ax":0.0, "ay":0.0, "alpha":0.11378, "fx":[0.31665,0.32862,-0.31665,-0.32862], "fy":[-0.32862,0.31665,0.32862,-0.31665]}, + {"t":3.62537, "x":4.06259, "y":0.71411, "heading":3.12386, "vx":-1.49751, "vy":0.08077, "omega":0.02265, "ax":0.0, "ay":0.0, "alpha":0.09092, "fx":[0.25326,0.26241,-0.25326,-0.26241], "fy":[-0.26241,0.25326,0.26241,-0.25326]}, + {"t":3.6737, "x":3.99022, "y":0.71801, "heading":3.12496, "vx":-1.49751, "vy":0.08077, "omega":0.02705, "ax":0.0, "ay":0.0, "alpha":0.07029, "fx":[0.196,0.20263,-0.196,-0.20263], "fy":[-0.20263,0.196,0.20263,-0.196]}, + {"t":3.72203, "x":3.91784, "y":0.72191, "heading":3.12626, "vx":-1.49751, "vy":0.08077, "omega":0.03044, "ax":0.0, "ay":0.0, "alpha":0.05136, "fx":[0.14343,0.14789,-0.14343,-0.14789], "fy":[-0.14789,0.14343,0.14789,-0.14343]}, + {"t":3.77036, "x":3.84547, "y":0.72582, "heading":3.12774, "vx":-1.49751, "vy":0.08077, "omega":0.03293, "ax":0.0, "ay":0.0, "alpha":0.0337, "fx":[0.09423,0.09688,-0.09423,-0.09688], "fy":[-0.09688,0.09423,0.09688,-0.09423]}, + {"t":3.81869, "x":3.77309, "y":0.72972, "heading":3.12933, "vx":-1.49751, "vy":0.08077, "omega":0.03455, "ax":0.0, "ay":0.0, "alpha":0.01685, "fx":[0.04719,0.04836,-0.04719,-0.04836], "fy":[-0.04836,0.04719,0.04836,-0.04719]}, + {"t":3.86702, "x":3.70072, "y":0.73362, "heading":3.131, "vx":-1.49751, "vy":0.08077, "omega":0.03537, "ax":0.0, "ay":0.0, "alpha":0.00041, "fx":[0.00115,0.00117,-0.00115,-0.00117], "fy":[-0.00117,0.00115,0.00117,-0.00115]}, + {"t":3.91535, "x":3.62834, "y":0.73753, "heading":3.13271, "vx":-1.49751, "vy":0.08077, "omega":0.03539, "ax":0.0, "ay":0.0, "alpha":-0.01602, "fx":[-0.04503,-0.04583,0.04503,0.04583], "fy":[0.04583,-0.04503,-0.04583,0.04503]}, + {"t":3.96368, "x":3.55597, "y":0.74143, "heading":3.13442, "vx":-1.49751, "vy":0.08077, "omega":0.03461, "ax":0.0, "ay":0.0, "alpha":-0.03284, "fx":[-0.09246,-0.0938,0.09246,0.0938], "fy":[0.09381,-0.09245,-0.09379,0.09247]}, + {"t":4.01201, "x":3.48359, "y":0.74534, "heading":3.13609, "vx":-1.49751, "vy":0.08077, "omega":0.03303, "ax":0.0, "ay":0.00009, "alpha":-0.05046, "fx":[-0.14225,-0.14383,0.14238,0.14395], "fy":[0.14503,-0.14118,-0.14275,0.14345]}, + {"t":4.06034, "x":3.41122, "y":0.74924, "heading":3.13769, "vx":-1.49751, "vy":0.08078, "omega":0.03059, "ax":0.00064, "ay":0.01176, "alpha":-0.06931, "fx":[-0.18753,-0.18907,0.20406,0.20559], "fy":[0.34997,-0.04316,-0.0447,0.34843]}, + {"t":4.10867, "x":3.33884, "y":0.75316, "heading":3.13916, "vx":-1.49748, "vy":0.08135, "omega":0.02724, "ax":0.12415, "ay":1.55807, "alpha":-0.08778, "fx":[1.35959,1.35914,1.86293,1.86309], "fy":[20.46802,19.9758,19.9737,20.4659]}, + {"t":4.157, "x":3.26661, "y":0.75891, "heading":3.14048, "vx":-1.49148, "vy":0.15665, "omega":0.023, "ax":4.58654, "ay":13.25258, "alpha":-0.00379, "fx":[59.50013,59.5125,59.54979,59.53741], "fy":[172.00342,171.99774,171.98532,171.991]}, + {"t":4.20533, "x":3.19989, "y":0.78196, "heading":3.14159, "vx":-1.26982, "vy":0.79714, "omega":0.02281, "ax":9.94888, "ay":9.67827, "alpha":-0.00454, "fx":[129.09412,129.1177,129.14281,129.11923], "fy":[125.63141,125.605,125.58141,125.60782]}, + {"t":4.25651, "x":3.14793, "y":0.83544, "heading":-3.14043, "vx":-0.76059, "vy":1.29252, "omega":0.02258, "ax":0.88671, "ay":0.50131, "alpha":-0.08673, "fx":[11.26126,11.26388,11.75465,11.75195], "fy":[6.75348,6.26016,6.25873,6.75189]}, + {"t":4.30769, "x":3.11016, "y":0.90225, "heading":-3.13927, "vx":-0.7152, "vy":1.31818, "omega":0.01814, "ax":0.00572, "ay":0.0031, "alpha":-0.07424, "fx":[-0.13676,-0.13579,0.28533,0.28435], "fy":[0.25036,-0.17075,-0.16978,0.25134]}, + {"t":4.35888, "x":3.07356, "y":0.96972, "heading":-3.13834, "vx":-0.71491, "vy":1.31834, "omega":0.01434, "ax":0.00004, "ay":0.00002, "alpha":-0.06292, "fx":[-0.17855,-0.17739,0.17949,0.17833], "fy":[0.17812,-0.17876,-0.1776,0.17928]}, + {"t":4.41006, "x":3.03697, "y":1.0372, "heading":-3.13761, "vx":-0.71491, "vy":1.31834, "omega":0.01112, "ax":0.0, "ay":0.0, "alpha":-0.05331, "fx":[-0.1518,-0.15059,0.15181,0.1506], "fy":[0.1506,-0.1518,-0.1506,0.1518]}, + {"t":4.46125, "x":3.00037, "y":1.10468, "heading":-3.13704, "vx":-0.71491, "vy":1.31834, "omega":0.00839, "ax":0.0, "ay":0.0, "alpha":-0.04516, "fx":[-0.12868,-0.12751,0.12868,0.12751], "fy":[0.12751,-0.12868,-0.12751,0.12868]}, + {"t":4.51243, "x":2.96378, "y":1.17216, "heading":-3.13661, "vx":-0.71491, "vy":1.31834, "omega":0.00608, "ax":0.0, "ay":0.0, "alpha":-0.03825, "fx":[-0.10904,-0.10795,0.10904,0.10795], "fy":[0.10795,-0.10904,-0.10795,0.10904]}, + {"t":4.56362, "x":2.92719, "y":1.23964, "heading":-3.1363, "vx":-0.71491, "vy":1.31834, "omega":0.00412, "ax":0.0, "ay":0.0, "alpha":-0.03239, "fx":[-0.09235,-0.09138,0.09235,0.09138], "fy":[0.09138,-0.09235,-0.09138,0.09235]}, + {"t":4.6148, "x":2.8906, "y":1.30712, "heading":-3.13609, "vx":-0.71491, "vy":1.31834, "omega":0.00247, "ax":0.0, "ay":0.0, "alpha":-0.02741, "fx":[-0.07817,-0.07731,0.07817,0.07731], "fy":[0.07731,-0.07817,-0.07731,0.07817]}, + {"t":4.66598, "x":2.854, "y":1.37459, "heading":-3.13596, "vx":-0.71491, "vy":1.31834, "omega":0.00106, "ax":0.0, "ay":0.0, "alpha":-0.02318, "fx":[-0.06611,-0.06537,0.06611,0.06537], "fy":[0.06537,-0.06611,-0.06537,0.06611]}, + {"t":4.71717, "x":2.81741, "y":1.44207, "heading":-3.13591, "vx":-0.71491, "vy":1.31834, "omega":-0.00012, "ax":0.0, "ay":0.0, "alpha":-0.01958, "fx":[-0.05586,-0.05523,0.05586,0.05523], "fy":[0.05523,-0.05586,-0.05523,0.05586]}, + {"t":4.76835, "x":2.78082, "y":1.50955, "heading":-3.13591, "vx":-0.71491, "vy":1.31834, "omega":-0.00113, "ax":0.0, "ay":0.0, "alpha":-0.01652, "fx":[-0.04713,-0.0466,0.04713,0.0466], "fy":[0.0466,-0.04713,-0.0466,0.04713]}, + {"t":4.81954, "x":2.74423, "y":1.57703, "heading":-3.13597, "vx":-0.71491, "vy":1.31834, "omega":-0.00197, "ax":0.0, "ay":0.0, "alpha":-0.01392, "fx":[-0.03969,-0.03925,0.03969,0.03925], "fy":[0.03925,-0.03969,-0.03925,0.03969]}, + {"t":4.87072, "x":2.70764, "y":1.64451, "heading":-3.13607, "vx":-0.71491, "vy":1.31834, "omega":-0.00268, "ax":0.0, "ay":0.0, "alpha":-0.01169, "fx":[-0.03333,-0.03296,0.03333,0.03296], "fy":[0.03296,-0.03333,-0.03296,0.03333]}, + {"t":4.92191, "x":2.67104, "y":1.71199, "heading":-3.13621, "vx":-0.71491, "vy":1.31834, "omega":-0.00328, "ax":0.0, "ay":0.0, "alpha":-0.00978, "fx":[-0.02789,-0.02759,0.02789,0.02759], "fy":[0.02759,-0.02789,-0.02759,0.02789]}, + {"t":4.97309, "x":2.63445, "y":1.77946, "heading":-3.13638, "vx":-0.71491, "vy":1.31834, "omega":-0.00378, "ax":0.0, "ay":0.0, "alpha":-0.00814, "fx":[-0.02321,-0.02297,0.02321,0.02297], "fy":[0.02297,-0.02321,-0.02297,0.02321]}, + {"t":5.02427, "x":2.59786, "y":1.84694, "heading":-3.13657, "vx":-0.71491, "vy":1.31834, "omega":-0.0042, "ax":0.0, "ay":0.0, "alpha":-0.00673, "fx":[-0.01917,-0.01898,0.01917,0.01898], "fy":[0.01898,-0.01917,-0.01898,0.01917]}, + {"t":5.07546, "x":2.56127, "y":1.91442, "heading":-3.13678, "vx":-0.71491, "vy":1.31834, "omega":-0.00454, "ax":0.0, "ay":0.0, "alpha":-0.00549, "fx":[-0.01566,-0.01551,0.01566,0.01551], "fy":[0.01551,-0.01566,-0.01551,0.01566]}, + {"t":5.12664, "x":2.52468, "y":1.9819, "heading":-3.13702, "vx":-0.71491, "vy":1.31834, "omega":-0.00483, "ax":0.0, "ay":0.0, "alpha":-0.00441, "fx":[-0.01257,-0.01245,0.01257,0.01245], "fy":[0.01245,-0.01257,-0.01245,0.01257]}, + {"t":5.17783, "x":2.48808, "y":2.04938, "heading":-3.13726, "vx":-0.71491, "vy":1.31834, "omega":-0.00505, "ax":0.0, "ay":0.0, "alpha":-0.00345, "fx":[-0.00982,-0.00974,0.00982,0.00974], "fy":[0.00974,-0.00982,-0.00974,0.00982]}, + {"t":5.22901, "x":2.45149, "y":2.11686, "heading":-3.13752, "vx":-0.71491, "vy":1.31834, "omega":-0.00523, "ax":0.0, "ay":0.0, "alpha":-0.00258, "fx":[-0.00734,-0.00728,0.00734,0.00728], "fy":[0.00728,-0.00734,-0.00728,0.00734]}, + {"t":5.2802, "x":2.4149, "y":2.18433, "heading":-3.13779, "vx":-0.71491, "vy":1.31834, "omega":-0.00536, "ax":0.0, "ay":0.0, "alpha":-0.00178, "fx":[-0.00506,-0.00502,0.00506,0.00502], "fy":[0.00502,-0.00506,-0.00502,0.00506]}, + {"t":5.33138, "x":2.37831, "y":2.25181, "heading":-3.13806, "vx":-0.71491, "vy":1.31834, "omega":-0.00545, "ax":0.0, "ay":0.0, "alpha":-0.00103, "fx":[-0.00293,-0.00291,0.00293,0.00291], "fy":[0.00291,-0.00293,-0.00291,0.00293]}, + {"t":5.38257, "x":2.34172, "y":2.31929, "heading":-3.13834, "vx":-0.71491, "vy":1.31834, "omega":-0.0055, "ax":0.0, "ay":0.0, "alpha":-0.00031, "fx":[-0.00088,-0.00088,0.00088,0.00088], "fy":[0.00088,-0.00088,-0.00088,0.00088]}, + {"t":5.43375, "x":2.30512, "y":2.38677, "heading":-3.13863, "vx":-0.71491, "vy":1.31834, "omega":-0.00552, "ax":0.0, "ay":0.0, "alpha":0.0004, "fx":[0.00114,0.00113,-0.00114,-0.00113], "fy":[-0.00113,0.00114,0.00113,-0.00114]}, + {"t":5.48493, "x":2.26853, "y":2.45425, "heading":-3.13891, "vx":-0.71491, "vy":1.31834, "omega":-0.0055, "ax":0.0, "ay":0.0, "alpha":0.00112, "fx":[0.00319,0.00318,-0.00319,-0.00318], "fy":[-0.00318,0.00319,0.00318,-0.00319]}, + {"t":5.53612, "x":2.23194, "y":2.52173, "heading":-3.13919, "vx":-0.71491, "vy":1.31834, "omega":-0.00544, "ax":0.0, "ay":0.0, "alpha":0.00187, "fx":[0.00532,0.0053,-0.00532,-0.0053], "fy":[-0.0053,0.00532,0.0053,-0.00532]}, + {"t":5.5873, "x":2.19535, "y":2.58921, "heading":-3.13947, "vx":-0.71491, "vy":1.31834, "omega":-0.00535, "ax":0.0, "ay":0.0, "alpha":0.00267, "fx":[0.0076,0.00757,-0.0076,-0.00757], "fy":[-0.00757,0.0076,0.00757,-0.0076]}, + {"t":5.63849, "x":2.15876, "y":2.65668, "heading":-3.13974, "vx":-0.71491, "vy":1.31834, "omega":-0.00521, "ax":0.0, "ay":0.0, "alpha":0.00355, "fx":[0.01008,0.01004,-0.01008,-0.01004], "fy":[-0.01004,0.01008,0.01004,-0.01008]}, + {"t":5.68967, "x":2.12216, "y":2.72416, "heading":-3.14001, "vx":-0.71491, "vy":1.31834, "omega":-0.00503, "ax":0.0, "ay":0.0, "alpha":0.00452, "fx":[0.01284,0.0128,-0.01284,-0.0128], "fy":[-0.0128,0.01284,0.0128,-0.01284]}, + {"t":5.74086, "x":2.08557, "y":2.79164, "heading":-3.14027, "vx":-0.71491, "vy":1.31834, "omega":-0.0048, "ax":0.0, "ay":0.0, "alpha":0.00562, "fx":[0.01595,0.01591,-0.01595,-0.01591], "fy":[-0.01591,0.01595,0.01591,-0.01595]}, + {"t":5.79204, "x":2.04898, "y":2.85912, "heading":-3.14051, "vx":-0.71491, "vy":1.31834, "omega":-0.00451, "ax":0.0, "ay":0.0, "alpha":0.00687, "fx":[0.0195,0.01946,-0.0195,-0.01946], "fy":[-0.01946,0.0195,0.01946,-0.0195]}, + {"t":5.84322, "x":2.01239, "y":2.9266, "heading":-3.14074, "vx":-0.71491, "vy":1.31834, "omega":-0.00416, "ax":0.0, "ay":0.0, "alpha":0.00831, "fx":[0.02359,0.02355,-0.02359,-0.02355], "fy":[-0.02355,0.02359,0.02355,-0.02359]}, + {"t":5.89441, "x":1.9758, "y":2.99408, "heading":-3.14095, "vx":-0.71491, "vy":1.31834, "omega":-0.00373, "ax":0.0, "ay":0.0, "alpha":0.00998, "fx":[0.02831,0.02828,-0.02831,-0.02828], "fy":[-0.02828,0.02831,0.02828,-0.02831]}, + {"t":5.94559, "x":1.9392, "y":3.06155, "heading":-3.14115, "vx":-0.71491, "vy":1.31834, "omega":-0.00322, "ax":0.0, "ay":0.0, "alpha":0.01192, "fx":[0.03381,0.03378,-0.03381,-0.03378], "fy":[-0.03378,0.03381,0.03378,-0.03381]}, + {"t":5.99678, "x":1.90261, "y":3.12903, "heading":-3.14131, "vx":-0.71491, "vy":1.31834, "omega":-0.00261, "ax":0.0, "ay":0.0, "alpha":0.01418, "fx":[0.04024,0.04021,-0.04024,-0.04021], "fy":[-0.04021,0.04024,0.04021,-0.04024]}, + {"t":6.04796, "x":1.86602, "y":3.19651, "heading":-3.14144, "vx":-0.71491, "vy":1.31834, "omega":-0.00188, "ax":0.0, "ay":0.0, "alpha":0.01684, "fx":[0.04776,0.04775,-0.04776,-0.04774], "fy":[-0.04775,0.04775,0.04774,-0.04776]}, + {"t":6.09915, "x":1.82943, "y":3.26399, "heading":-3.14154, "vx":-0.71491, "vy":1.31834, "omega":-0.00102, "ax":0.15599, "ay":-0.28765, "alpha":0.01993, "fx":[2.08097,2.08101,1.96792,1.96788], "fy":[-3.78971,-3.67669,-3.67674,-3.78976]}, + {"t":6.15033, "x":1.79304, "y":3.33109, "heading":-3.14159, "vx":-0.70692, "vy":1.30362, "omega":0.0, "ax":6.90283, "ay":-12.72931, "alpha":0.00004, "fx":[89.58624,89.58642,89.58608,89.5859], "fy":[-165.20327,-165.20317,-165.20335,-165.20345]}, + {"t":6.20152, "x":1.7659, "y":3.38114, "heading":-3.14159, "vx":-0.35361, "vy":0.65207, "omega":0.0, "ax":6.90848, "ay":-12.73973, "alpha":0.00002, "fx":[89.65955,89.65966,89.65947,89.65936], "fy":[-165.33855,-165.33849,-165.3386,-165.33865]}, + {"t":6.2527, "x":1.75685, "y":3.39783, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FRMtoSR.traj b/src/main/deploy/choreo/FRMtoSR.traj new file mode 100644 index 0000000..e311613 --- /dev/null +++ b/src/main/deploy/choreo/FRMtoSR.traj @@ -0,0 +1,159 @@ +{ + "name":"FRMtoSR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":3.55698299407959, "heading":1.5707963267948966, "intervals":44, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.502653121948242, "y":0.7615315914154053, "heading":-3.128260189486699, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.8253278732299805, "y":0.7128239274024963, "heading":-3.138122385310093, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":2.768587827682495, "y":0.7205682992935181, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.03554674983024597, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FRM.x", "val":7.82036542892456}, "y":{"exp":"FRM.y", "val":3.55698299407959}, "heading":{"exp":"FRM.heading", "val":1.5707963267948966}, "intervals":44, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.502653121948242 m", "val":6.502653121948242}, "y":{"exp":"0.7615315914154053 m", "val":0.7615315914154053}, "heading":{"exp":"-3.128260189486699 rad", "val":-3.128260189486699}, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.8253278732299805 m", "val":4.8253278732299805}, "y":{"exp":"0.7128239274024963 m", "val":0.7128239274024963}, "heading":{"exp":"-3.138122385310093 rad", "val":-3.138122385310093}, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"SR.x", "val":2.768587827682495}, "y":{"exp":"SR.y", "val":0.7205682992935181}, "heading":{"exp":"SR.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"35.54674983024597 mm", "val":0.03554674983024597}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.11783,3.24059,4.66423], + "samples":[ + {"t":0.0, "x":7.82037, "y":3.55698, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-6.06688, "ay":-13.15982, "alpha":0.0042, "fx":[-78.74768,-78.70838,-78.72648,-78.76578], "fy":[-170.78573,-170.80383,-170.79544,-170.77734]}, + {"t":0.04813, "x":7.81334, "y":3.54174, "heading":1.5708, "vx":-0.29201, "vy":-0.63342, "omega":0.0002, "ax":-6.0614, "ay":-13.14797, "alpha":0.00736, "fx":[-78.68459,-78.61582,-78.64745,-78.71624], "fy":[-170.62831,-170.65993,-170.64521,-170.61356]}, + {"t":0.09627, "x":7.79226, "y":3.49602, "heading":1.57081, "vx":-0.58376, "vy":-1.26626, "omega":0.00056, "ax":-0.91623, "ay":-1.98756, "alpha":3.32794, "fx":[-21.18035,-2.27956,-2.34455,-21.75964], "fy":[-34.87983,-35.30675,-16.60525,-16.38767]}, + {"t":0.1444, "x":7.7631, "y":3.43277, "heading":1.57083, "vx":-0.62787, "vy":-1.36193, "omega":0.16074, "ax":0.00005, "ay":-0.00003, "alpha":2.98416, "fx":[-8.46275,8.46458,8.46396,-8.46338], "fy":[-8.46431,-8.46368,8.46365,8.46302]}, + {"t":0.19253, "x":7.73288, "y":3.36722, "heading":1.57857, "vx":-0.62786, "vy":-1.36193, "omega":0.30437, "ax":0.00005, "ay":-0.00003, "alpha":2.55567, "fx":[-7.1911,7.3052,7.19251,-7.30379], "fy":[-7.30482,-7.19213,7.30417,7.19148]}, + {"t":0.24066, "x":7.70266, "y":3.30166, "heading":1.59322, "vx":-0.62786, "vy":-1.36193, "omega":0.42738, "ax":0.00006, "ay":-0.00003, "alpha":2.1874, "fx":[-6.06245,6.34223,6.06403,-6.34065], "fy":[-6.34181,-6.0636,6.34108,6.06288]}, + {"t":0.2888, "x":7.67244, "y":3.23611, "heading":1.61379, "vx":-0.62786, "vy":-1.36193, "omega":0.53267, "ax":0.00007, "ay":-0.00003, "alpha":1.8711, "fx":[-5.07293,5.53086,5.07468,-5.52911], "fy":[-5.53039,-5.07421,5.52958,5.0734]}, + {"t":0.33693, "x":7.64222, "y":3.17056, "heading":1.63943, "vx":-0.62785, "vy":-1.36193, "omega":0.62273, "ax":0.00007, "ay":-0.00003, "alpha":1.5995, "fx":[-4.21373,4.83787,4.21566,-4.83594], "fy":[-4.83735,-4.21514,4.83646,4.21425]}, + {"t":0.38506, "x":7.612, "y":3.105, "heading":1.6694, "vx":-0.62785, "vy":-1.36193, "omega":0.69972, "ax":0.00008, "ay":-0.00004, "alpha":1.36622, "fx":[-3.47352,4.23856,3.47564,-4.23644], "fy":[-4.23799,-3.47507,4.23701,3.47409]}, + {"t":0.43319, "x":7.58178, "y":3.03945, "heading":1.70308, "vx":-0.62785, "vy":-1.36194, "omega":0.76548, "ax":0.00009, "ay":-0.00004, "alpha":1.16571, "fx":[-2.84007,3.71454,2.84238,-3.71223], "fy":[-3.71392,-2.84176,3.71285,2.8407]}, + {"t":0.48133, "x":7.55156, "y":2.9739, "heading":1.73993, "vx":-0.62784, "vy":-1.36194, "omega":0.82159, "ax":0.0001, "ay":-0.00004, "alpha":0.99314, "fx":[-2.30118,3.25192,2.30369,-3.24941], "fy":[-3.25125,-2.30301,3.25009,2.30185]}, + {"t":0.52946, "x":7.52134, "y":2.90834, "heading":1.77947, "vx":-0.62784, "vy":-1.36194, "omega":0.86939, "ax":0.0001, "ay":-0.00005, "alpha":0.84424, "fx":[-1.84509,2.83986,1.84781,-2.83715], "fy":[-2.83913,-1.84708,2.83788,1.84583]}, + {"t":0.57759, "x":7.49112, "y":2.84279, "heading":1.82132, "vx":-0.62783, "vy":-1.36194, "omega":0.91002, "ax":0.00011, "ay":-0.00005, "alpha":0.71536, "fx":[-1.46114,2.47001,1.46407,-2.46708], "fy":[-2.46922,-1.46328,2.46787,1.46192]}, + {"t":0.62572, "x":7.4609, "y":2.77724, "heading":1.86512, "vx":-0.62783, "vy":-1.36194, "omega":0.94446, "ax":0.00012, "ay":-0.00006, "alpha":0.60319, "fx":[-1.13936,2.13504,1.14251,-2.13189], "fy":[-2.1342,-1.14166,2.13274,1.14021]}, + {"t":0.67386, "x":7.43068, "y":2.71168, "heading":1.91058, "vx":-0.62782, "vy":-1.36195, "omega":0.97349, "ax":0.00013, "ay":-0.00006, "alpha":0.50501, "fx":[-0.87137,1.82946,0.87476,-1.82607], "fy":[-1.82854,-0.87385,1.82698,0.87228]}, + {"t":0.72199, "x":7.40046, "y":2.64613, "heading":1.95744, "vx":-0.62782, "vy":-1.36195, "omega":0.9978, "ax":0.00014, "ay":-0.00006, "alpha":0.41816, "fx":[-0.64943,1.54745,0.65306,-1.54383], "fy":[-1.54648,-0.65208,1.5448,0.65041]}, + {"t":0.77012, "x":7.37025, "y":2.58057, "heading":2.00546, "vx":-0.62781, "vy":-1.36195, "omega":1.01792, "ax":0.00015, "ay":-0.00007, "alpha":0.34063, "fx":[-0.46749,1.28501,0.47138,-1.28113], "fy":[-1.28397,-0.47033,1.28217,0.46854]}, + {"t":0.81825, "x":7.34003, "y":2.51502, "heading":2.05446, "vx":-0.6278, "vy":-1.36196, "omega":1.03432, "ax":0.00016, "ay":-0.00007, "alpha":0.27027, "fx":[-0.32009,1.03715,0.32425,-1.033], "fy":[-1.03603,-0.32313,1.03412,0.32121]}, + {"t":0.86639, "x":7.30981, "y":2.44947, "heading":2.10424, "vx":-0.62779, "vy":-1.36196, "omega":1.04733, "ax":0.00017, "ay":-0.00008, "alpha":0.20556, "fx":[-0.20333,0.80067,0.20777,-0.79623], "fy":[-0.79948,-0.20657,0.79743,0.20452]}, + {"t":0.91452, "x":7.27959, "y":2.38391, "heading":2.15465, "vx":-0.62779, "vy":-1.36196, "omega":1.05722, "ax":0.00018, "ay":-0.00008, "alpha":0.1448, "fx":[-0.1139,0.5714,0.11864,-0.56666], "fy":[-0.57013,-0.11736,0.56794,0.11518]}, + {"t":0.96265, "x":7.24938, "y":2.31836, "heading":2.20554, "vx":-0.62778, "vy":-1.36197, "omega":1.06419, "ax":0.00019, "ay":-0.00009, "alpha":0.08676, "fx":[-0.0497,0.34656,0.05476,-0.34151], "fy":[-0.3452,-0.0534,0.34287,0.05106]}, + {"t":1.01078, "x":7.21916, "y":2.2528, "heading":2.25676, "vx":-0.62777, "vy":-1.36197, "omega":1.06837, "ax":0.00021, "ay":-0.0001, "alpha":0.0301, "fx":[-0.00929,0.12282,0.01468,-0.11742], "fy":[-0.12137,-0.01323,0.11888,0.01074]}, + {"t":1.05892, "x":7.18895, "y":2.18725, "heading":2.30818, "vx":-0.62776, "vy":-1.36198, "omega":1.06982, "ax":0.00022, "ay":-0.0001, "alpha":-0.02625, "fx":[0.00793,-0.10227,-0.00218,0.10803], "fy":[0.10382,0.00373,-0.10648,-0.00638]}, + {"t":1.10705, "x":7.15873, "y":2.12169, "heading":2.35968, "vx":-0.62775, "vy":-1.36198, "omega":1.06855, "ax":0.00024, "ay":-0.00011, "alpha":-0.08322, "fx":[0.00191,-0.33074,0.00423,0.33688], "fy":[0.33239,-0.00257,-0.33522,-0.00026]}, + {"t":1.15518, "x":7.12852, "y":2.05614, "heading":2.41111, "vx":-0.62774, "vy":-1.36199, "omega":1.06455, "ax":0.00025, "ay":-0.00012, "alpha":-0.14172, "fx":[-0.02792,-0.56431,0.03447,0.57086], "fy":[0.56608,-0.0327,-0.5691,0.02968]}, + {"t":1.20331, "x":7.0983, "y":1.99058, "heading":2.46235, "vx":-0.62772, "vy":-1.36199, "omega":1.05773, "ax":0.00027, "ay":-0.00012, "alpha":-0.2024, "fx":[-0.08251,-0.80375,0.0895,0.81074], "fy":[0.80563,-0.08762,-0.80886,0.08439]}, + {"t":1.25145, "x":7.06809, "y":1.92502, "heading":2.51326, "vx":-0.62771, "vy":-1.362, "omega":1.04798, "ax":0.00029, "ay":-0.00013, "alpha":-0.2661, "fx":[-0.1632,-1.05044,0.17067,1.05791], "fy":[1.05245,-0.16866,-1.0559,0.16521]}, + {"t":1.29958, "x":7.03787, "y":1.85947, "heading":2.5637, "vx":-0.6277, "vy":-1.362, "omega":1.03518, "ax":0.00031, "ay":-0.00014, "alpha":-0.33323, "fx":[-0.27136,-1.30393,0.27935,1.31191], "fy":[1.30608,-0.2772,-1.30976,0.27351]}, + {"t":1.34771, "x":7.00766, "y":1.79391, "heading":2.61353, "vx":-0.62768, "vy":-1.36201, "omega":1.01914, "ax":0.00033, "ay":-0.00015, "alpha":-0.4046, "fx":[-0.40874,-1.56515,0.41728,1.5737], "fy":[1.56746,-0.41498,-1.5714,0.41104]}, + {"t":1.39584, "x":6.97745, "y":1.72835, "heading":2.66258, "vx":-0.62767, "vy":-1.36202, "omega":0.99966, "ax":0.00035, "ay":-0.00016, "alpha":-0.48055, "fx":[-0.57677,-1.83316,0.58593,1.84231], "fy":[1.83562,-0.58346,-1.83985,0.57924]}, + {"t":1.44398, "x":6.94724, "y":1.66279, "heading":2.7107, "vx":-0.62765, "vy":-1.36203, "omega":0.97653, "ax":0.00038, "ay":-0.00017, "alpha":-0.56191, "fx":[-0.77743,-2.10877,0.78726,2.1186], "fy":[2.11142,-0.78461,-2.11595,0.78008]}, + {"t":1.49211, "x":6.91703, "y":1.59724, "heading":2.7577, "vx":-0.62763, "vy":-1.36204, "omega":0.94949, "ax":0.00041, "ay":-0.00019, "alpha":-0.64905, "fx":[-1.01211,-2.39103,1.02267,2.40159], "fy":[2.39387,-1.01983,-2.39874,1.01495]}, + {"t":1.54024, "x":6.88682, "y":1.53168, "heading":2.8034, "vx":-0.62761, "vy":-1.36204, "omega":0.91824, "ax":0.00044, "ay":-0.0002, "alpha":-0.74303, "fx":[-1.28313,-2.68151,1.2945,2.69288], "fy":[2.68457,-1.29144,-2.68982,1.28619]}, + {"t":1.58837, "x":6.85661, "y":1.46612, "heading":2.8476, "vx":-0.62759, "vy":-1.36205, "omega":0.88248, "ax":0.00047, "ay":-0.00022, "alpha":-0.84444, "fx":[-1.59209,-2.98012,1.60437,2.99241], "fy":[2.98343,-1.60107,-2.98909,1.59539]}, + {"t":1.63651, "x":6.82641, "y":1.40056, "heading":2.89008, "vx":-0.62757, "vy":-1.36206, "omega":0.84184, "ax":0.00051, "ay":-0.00024, "alpha":-0.95475, "fx":[-1.9421,-3.28993,1.95541,3.30324], "fy":[3.29351,-1.95183,-3.29965,1.94568]}, + {"t":1.68464, "x":6.7962, "y":1.335, "heading":2.93059, "vx":-0.62754, "vy":-1.36208, "omega":0.79588, "ax":0.00056, "ay":-0.00026, "alpha":-1.0751, "fx":[-2.33574,-3.61294,2.3502,3.62741], "fy":[3.61684,-2.34631,-3.62351,2.33963]}, + {"t":1.73277, "x":6.766, "y":1.26944, "heading":2.9689, "vx":-0.62752, "vy":-1.36209, "omega":0.74413, "ax":0.00061, "ay":-0.00028, "alpha":-1.20771, "fx":[-2.7779,-3.95504,2.79369,3.97083], "fy":[3.9593,-2.78944,-3.96657,2.78214]}, + {"t":1.7809, "x":6.73579, "y":1.20388, "heading":3.00472, "vx":-0.62749, "vy":-1.3621, "omega":0.686, "ax":0.00067, "ay":-0.00031, "alpha":-1.35483, "fx":[-3.27368,-4.32225,3.291,4.33958], "fy":[4.32693,-3.28634,-4.3349,3.27833]}, + {"t":1.82904, "x":6.70559, "y":1.13832, "heading":3.03774, "vx":-0.62745, "vy":-1.36212, "omega":0.62079, "ax":0.00074, "ay":-0.00034, "alpha":-1.51999, "fx":[-3.83131,-4.72509,3.85044,4.74423], "fy":[4.73026,-3.8453,-4.73906,3.83645]}, + {"t":1.87717, "x":6.67539, "y":1.07275, "heading":3.06762, "vx":-0.62742, "vy":-1.36213, "omega":0.54763, "ax":0.00082, "ay":-0.00038, "alpha":-1.70746, "fx":[-4.46094,-5.1767,4.48218,5.19797], "fy":[5.18245,-4.47648,-5.19222,4.46665]}, + {"t":1.9253, "x":6.64519, "y":1.00719, "heading":3.09398, "vx":-0.62738, "vy":-1.36215, "omega":0.46545, "ax":0.00075, "ay":-0.00034, "alpha":-1.92332, "fx":[-5.17943,-5.69865,5.1988,5.71805], "fy":[5.7039,-5.1936,-5.7128,5.18462]}, + {"t":1.97343, "x":6.615, "y":0.94163, "heading":3.11638, "vx":-0.62734, "vy":-1.36217, "omega":0.37287, "ax":-0.0219, "ay":0.01009, "alpha":-2.17567, "fx":[-6.29701,-6.60863,5.7292,6.0398], "fy":[6.45457,-5.88151,-6.19385,6.14478]}, + {"t":2.02157, "x":6.58477, "y":0.87607, "heading":3.13433, "vx":-0.6284, "vy":-1.36168, "omega":0.26815, "ax":-2.79606, "ay":1.46676, "alpha":-2.2518, "fx":[-42.1744,-42.82493,-30.33729,-29.81449], "fy":[25.31506,12.35624,12.59368,25.87838]}, + {"t":2.0697, "x":6.55129, "y":0.81223, "heading":-3.13595, "vx":-0.76298, "vy":-1.29108, "omega":0.15977, "ax":-10.28379, "ay":9.87867, "alpha":-0.04827, "fx":[-133.46586,-133.72855,-133.46416,-133.2009], "fy":[128.21571,127.93251,128.19882,128.48153]}, + {"t":2.11783, "x":6.50265, "y":0.76153, "heading":-3.12826, "vx":-1.25796, "vy":-0.8156, "omega":0.15744, "ax":-4.776, "ay":13.42661, "alpha":-0.04027, "fx":[-62.11735,-62.25163,-61.85004,-61.71645], "fy":[174.21097,174.15509,174.2954,174.3507]}, + {"t":2.16665, "x":6.43555, "y":0.73772, "heading":-3.12057, "vx":-1.49111, "vy":-0.16017, "omega":0.15548, "ax":-0.1734, "ay":2.88976, "alpha":-1.58968, "fx":[-6.96973,-6.90529,2.55838,2.31483], "fy":[41.71923,33.0633,33.28784,41.94485]}, + {"t":2.21546, "x":6.36256, "y":0.73334, "heading":-3.11298, "vx":-1.49957, "vy":-0.0191, "omega":0.07788, "ax":-0.00022, "ay":0.01738, "alpha":-1.24878, "fx":[-3.6443,-3.44202,3.639,3.43607], "fy":[3.66465,-3.41605,-3.21343,3.86725]}, + {"t":2.26428, "x":6.28936, "y":0.73243, "heading":-3.10918, "vx":-1.49958, "vy":-0.01826, "omega":0.01692, "ax":0.00005, "ay":-0.00435, "alpha":-0.86155, "fx":[-2.52075,-2.36236,2.5221,2.36378], "fy":[2.30661,-2.57788,-2.41953,2.46497]}, + {"t":2.31309, "x":6.21615, "y":0.73153, "heading":-3.10836, "vx":-1.49958, "vy":-0.01847, "omega":-0.02514, "ax":0.00006, "ay":-0.00452, "alpha":-0.55284, "fx":[-1.61847,-1.51425,1.6199,1.51571], "fy":[1.45632,-1.67785,-1.57364,1.56052]}, + {"t":2.36191, "x":6.14295, "y":0.73062, "heading":-3.10958, "vx":-1.49958, "vy":-0.01869, "omega":-0.05213, "ax":0.00006, "ay":-0.00453, "alpha":-0.31353, "fx":[-0.91649,-0.85956,0.91796,0.86104], "fy":[0.80147,-0.97605,-0.91914,0.85839]}, + {"t":2.41072, "x":6.06975, "y":0.72971, "heading":-3.11213, "vx":-1.49957, "vy":-0.01891, "omega":-0.06743, "ax":0.00006, "ay":-0.00454, "alpha":-0.13377, "fx":[-0.38967,-0.36731,0.39116,0.36881], "fy":[0.30908,-0.4494,-0.42705,0.33143]}, + {"t":2.45954, "x":5.99654, "y":0.72878, "heading":-3.11542, "vx":-1.49957, "vy":-0.01913, "omega":-0.07396, "ax":0.00006, "ay":-0.00456, "alpha":-0.00376, "fx":[-0.01018,-0.00962,0.0117,0.01114], "fy":[-0.04876,-0.07008,-0.06952,-0.0482]}, + {"t":2.50836, "x":5.92334, "y":0.72784, "heading":-3.11903, "vx":-1.49957, "vy":-0.01935, "omega":-0.07415, "ax":0.00006, "ay":-0.00457, "alpha":0.08579, "fx":[0.2495,0.23853,-0.24797,-0.23699], "fy":[-0.29706,0.18943,0.17845,-0.30804]}, + {"t":2.55717, "x":5.85014, "y":0.72689, "heading":-3.12265, "vx":-1.49957, "vy":-0.01958, "omega":-0.06996, "ax":0.00006, "ay":-0.00458, "alpha":0.14327, "fx":[0.41474,0.39934,-0.41318,-0.39778], "fy":[-0.45803,0.35449,0.33909,-0.47342]}, + {"t":2.60599, "x":5.77694, "y":0.72593, "heading":-3.12607, "vx":-1.49956, "vy":-0.0198, "omega":-0.06297, "ax":0.00006, "ay":-0.0046, "alpha":0.17602, "fx":[0.50772,0.49222,-0.50614,-0.49064], "fy":[-0.55107,0.44729,0.43179,-0.56657]}, + {"t":2.6548, "x":5.70374, "y":0.72496, "heading":-3.12914, "vx":-1.49956, "vy":-0.02003, "omega":-0.05437, "ax":0.00006, "ay":-0.00461, "alpha":0.19027, "fx":[0.54712,0.53368,-0.54551,-0.53207], "fy":[-0.59269,0.4865,0.47306,-0.60613]}, + {"t":2.70362, "x":5.63053, "y":0.72397, "heading":-3.13179, "vx":-1.49956, "vy":-0.02025, "omega":-0.04508, "ax":0.00006, "ay":-0.00462, "alpha":0.19106, "fx":[0.54799,0.53737,-0.54637,-0.53574], "fy":[-0.59655,0.48718,0.47656,-0.60717]}, + {"t":2.75243, "x":5.55733, "y":0.72298, "heading":-3.134, "vx":-1.49955, "vy":-0.02048, "omega":-0.03576, "ax":0.00006, "ay":-0.00464, "alpha":0.18239, "fx":[0.52203,0.51417,-0.52038,-0.51251], "fy":[-0.57352,0.46102,0.45316,-0.58138]}, + {"t":2.80125, "x":5.48413, "y":0.72197, "heading":-3.13574, "vx":-1.49955, "vy":-0.0207, "omega":-0.02685, "ax":0.00006, "ay":-0.00465, "alpha":0.16718, "fx":[0.47777,0.47222,-0.4761,-0.47055], "fy":[-0.53175,0.41657,0.41102,-0.53731]}, + {"t":2.85007, "x":5.41093, "y":0.72096, "heading":-3.13705, "vx":-1.49955, "vy":-0.02093, "omega":-0.01869, "ax":0.00007, "ay":-0.00467, "alpha":0.14748, "fx":[0.42102,0.41722,-0.41932,-0.41552], "fy":[-0.47693,0.3596,0.3558,-0.48073]}, + {"t":2.89888, "x":5.33773, "y":0.71993, "heading":-3.13796, "vx":-1.49954, "vy":-0.02116, "omega":-0.01149, "ax":0.00007, "ay":-0.00468, "alpha":0.12444, "fx":[0.35509,0.35253,-0.35337,-0.3508], "fy":[-0.41243,0.29347,0.2909,-0.41499]}, + {"t":2.9477, "x":5.26453, "y":0.71889, "heading":-3.13853, "vx":-1.49954, "vy":-0.02139, "omega":-0.00542, "ax":0.00007, "ay":-0.0047, "alpha":0.09854, "fx":[0.28121,0.27949,-0.27946,-0.27775], "fy":[-0.33958,0.21937,0.21766,-0.3413]}, + {"t":2.99651, "x":5.19133, "y":0.71784, "heading":-3.13879, "vx":-1.49954, "vy":-0.02162, "omega":-0.00061, "ax":0.00007, "ay":-0.00471, "alpha":0.06958, "fx":[0.19877,0.19767,-0.197,-0.1959], "fy":[-0.25795,0.13672,0.13561,-0.25906]}, + {"t":3.04533, "x":5.11813, "y":0.71678, "heading":-3.13882, "vx":-1.49953, "vy":-0.02185, "omega":0.00279, "ax":0.00007, "ay":-0.00473, "alpha":0.03684, "fx":[0.10568,0.1051,-0.10388,-0.1033], "fy":[-0.16557,0.0434,0.04282,-0.16615]}, + {"t":3.09414, "x":5.04493, "y":0.71571, "heading":-3.13868, "vx":-1.49953, "vy":-0.02208, "omega":0.00459, "ax":0.00007, "ay":-0.00473, "alpha":-0.00081, "fx":[-0.0014,-0.00139,0.00322,0.0032], "fy":[-0.05907,-0.06368,-0.06366,-0.05906]}, + {"t":3.14296, "x":4.97172, "y":0.71463, "heading":-3.13846, "vx":-1.49953, "vy":-0.02231, "omega":0.00455, "ax":0.00004, "ay":-0.00239, "alpha":-0.04483, "fx":[-0.12709,-0.12629,0.12801,0.12722], "fy":[0.09574,-0.15857,-0.15777,0.09654]}, + {"t":3.19177, "x":4.89852, "y":0.71353, "heading":-3.13824, "vx":-1.49953, "vy":-0.02242, "omega":0.00236, "ax":0.003, "ay":0.32306, "alpha":-0.09674, "fx":[-0.23643,-0.23461,0.31445,0.31256], "fy":[4.46607,3.91759,3.91943,4.4679]}, + {"t":3.24059, "x":4.82533, "y":0.71282, "heading":-3.13812, "vx":-1.49938, "vy":-0.00665, "omega":-0.00236, "ax":-0.00582, "ay":0.30351, "alpha":-0.06308, "fx":[-0.25509,-0.25387,0.10414,0.10288], "fy":[4.11719,3.75951,3.76076,4.11844]}, + {"t":3.29143, "x":4.74909, "y":0.71288, "heading":-3.13824, "vx":-1.49967, "vy":0.00878, "omega":-0.00557, "ax":-0.00002, "ay":-0.00266, "alpha":-0.03461, "fx":[-0.09868,-0.09802,0.09828,0.09762], "fy":[0.06327,-0.13303,-0.13237,0.06393]}, + {"t":3.34228, "x":4.67284, "y":0.71332, "heading":-3.13853, "vx":-1.49968, "vy":0.00864, "omega":-0.00733, "ax":-0.00003, "ay":-0.00465, "alpha":-0.01383, "fx":[-0.0397,-0.03945,0.03901,0.03877], "fy":[-0.02129,-0.09975,-0.09951,-0.02104]}, + {"t":3.39312, "x":4.59659, "y":0.71375, "heading":-3.1389, "vx":-1.49968, "vy":0.00841, "omega":-0.00803, "ax":-0.00003, "ay":-0.00466, "alpha":0.0006, "fx":[0.00136,0.00136,-0.00203,-0.00203], "fy":[-0.06217,-0.05878,-0.05879,-0.06218]}, + {"t":3.44397, "x":4.52034, "y":0.71418, "heading":-3.13931, "vx":-1.49968, "vy":0.00817, "omega":-0.008, "ax":-0.00003, "ay":-0.00465, "alpha":0.01, "fx":[0.0281,0.02797,-0.02875,-0.02862], "fy":[-0.08869,-0.03197,-0.0321,-0.08882]}, + {"t":3.49481, "x":4.44409, "y":0.71458, "heading":-3.13971, "vx":-1.49968, "vy":0.00793, "omega":-0.0075, "ax":-0.00002, "ay":-0.00465, "alpha":0.01554, "fx":[0.04384,0.04368,-0.04447,-0.04431], "fy":[-0.10431,-0.01616,-0.01633,-0.10447]}, + {"t":3.54566, "x":4.36784, "y":0.71498, "heading":-3.1401, "vx":-1.49968, "vy":0.0077, "omega":-0.00671, "ax":-0.00002, "ay":-0.00464, "alpha":0.01822, "fx":[0.05145,0.05129,-0.05206,-0.0519], "fy":[-0.11184,-0.00849,-0.00864,-0.11199]}, + {"t":3.5965, "x":4.29159, "y":0.71537, "heading":-3.14044, "vx":-1.49968, "vy":0.00746, "omega":-0.00578, "ax":-0.00002, "ay":-0.00464, "alpha":0.01887, "fx":[0.05328,0.05315,-0.05387,-0.05375], "fy":[-0.11362,-0.00659,-0.00672,-0.11374]}, + {"t":3.64734, "x":4.21534, "y":0.71574, "heading":-3.14073, "vx":-1.49968, "vy":0.00722, "omega":-0.00482, "ax":-0.00002, "ay":-0.00463, "alpha":0.01815, "fx":[0.05123,0.05114,-0.0518,-0.05171], "fy":[-0.11152,-0.00858,-0.00866,-0.11161]}, + {"t":3.69819, "x":4.13909, "y":0.7161, "heading":-3.14098, "vx":-1.49968, "vy":0.00699, "omega":-0.0039, "ax":-0.00002, "ay":-0.00462, "alpha":0.01658, "fx":[0.04678,0.04672,-0.04733,-0.04727], "fy":[-0.10702,-0.01297,-0.01302,-0.10708]}, + {"t":3.74903, "x":4.06283, "y":0.71645, "heading":-3.14117, "vx":-1.49969, "vy":0.00675, "omega":-0.00305, "ax":-0.00002, "ay":-0.00462, "alpha":0.01456, "fx":[0.04103,0.041,-0.04157,-0.04153], "fy":[-0.10122,-0.01866,-0.01869,-0.10126]}, + {"t":3.79988, "x":3.98658, "y":0.71679, "heading":-3.14133, "vx":-1.49969, "vy":0.00652, "omega":-0.00231, "ax":-0.00002, "ay":-0.00461, "alpha":0.01235, "fx":[0.03479,0.03477,-0.03531,-0.03529], "fy":[-0.09492,-0.02484,-0.02486,-0.09494]}, + {"t":3.85072, "x":3.91033, "y":0.71711, "heading":-3.14145, "vx":-1.49969, "vy":0.00628, "omega":-0.00169, "ax":-0.00002, "ay":-0.00461, "alpha":0.01017, "fx":[0.02861,0.0286,-0.0291,-0.02909], "fy":[-0.08868,-0.03097,-0.03098,-0.08868]}, + {"t":3.90157, "x":3.83408, "y":0.71743, "heading":-3.14153, "vx":-1.49969, "vy":0.00605, "omega":-0.00117, "ax":-0.00002, "ay":-0.00461, "alpha":0.00814, "fx":[0.02284,0.02284,-0.02331,-0.02331], "fy":[-0.08284,-0.03669,-0.03669,-0.08284]}, + {"t":3.95241, "x":3.75783, "y":0.71773, "heading":-3.14159, "vx":-1.49969, "vy":0.00582, "omega":-0.00076, "ax":-0.00002, "ay":-0.0046, "alpha":0.00632, "fx":[0.01769,0.01769,-0.01814,-0.01814], "fy":[-0.07763,-0.04179,-0.04179,-0.07763]}, + {"t":4.00325, "x":3.68158, "y":0.71802, "heading":3.14156, "vx":-1.49969, "vy":0.00558, "omega":-0.00043, "ax":-0.00002, "ay":-0.0046, "alpha":0.00475, "fx":[0.01325,0.01325,-0.01368,-0.01368], "fy":[-0.07312,-0.04619,-0.04619,-0.07312]}, + {"t":4.0541, "x":3.60533, "y":0.7183, "heading":3.14153, "vx":-1.49969, "vy":0.00535, "omega":-0.00019, "ax":-0.00002, "ay":-0.00459, "alpha":0.00343, "fx":[0.00953,0.00953,-0.00995,-0.00995], "fy":[-0.06934,-0.04986,-0.04986,-0.06934]}, + {"t":4.10494, "x":3.52908, "y":0.71856, "heading":3.14152, "vx":-1.49969, "vy":0.00511, "omega":-0.00002, "ax":-0.00002, "ay":-0.00459, "alpha":0.00236, "fx":[0.00649,0.00649,-0.00689,-0.00689], "fy":[-0.06624,-0.05286,-0.05286,-0.06624]}, + {"t":4.15579, "x":3.45283, "y":0.71882, "heading":3.14152, "vx":-1.49969, "vy":0.00488, "omega":0.0001, "ax":-0.00001, "ay":-0.00458, "alpha":0.0015, "fx":[0.00405,0.00405,-0.00443,-0.00443], "fy":[-0.06374,-0.05526,-0.05526,-0.06374]}, + {"t":4.20663, "x":3.37658, "y":0.71906, "heading":3.14153, "vx":-1.49969, "vy":0.00465, "omega":0.00018, "ax":-0.00001, "ay":-0.00458, "alpha":0.00081, "fx":[0.00212,0.00212,-0.00248,-0.00248], "fy":[-0.06175,-0.05716,-0.05716,-0.06175]}, + {"t":4.25747, "x":3.30033, "y":0.71929, "heading":3.14154, "vx":-1.49969, "vy":0.00442, "omega":0.00022, "ax":-0.00001, "ay":-0.00458, "alpha":0.00026, "fx":[0.00058,0.00058,-0.00092,-0.00092], "fy":[-0.06016,-0.05866,-0.05866,-0.06016]}, + {"t":4.30832, "x":3.22408, "y":0.71951, "heading":3.14155, "vx":-1.49969, "vy":0.00418, "omega":0.00023, "ax":-0.00001, "ay":-0.00457, "alpha":-0.00018, "fx":[-0.00067,-0.00067,0.00035,0.00035], "fy":[-0.05886,-0.05988,-0.05988,-0.05886]}, + {"t":4.35916, "x":3.14783, "y":0.71972, "heading":3.14156, "vx":-1.4997, "vy":0.00395, "omega":0.00022, "ax":-0.00001, "ay":-0.00457, "alpha":-0.00056, "fx":[-0.00175,-0.00175,0.00144,0.00144], "fy":[-0.05774,-0.06092,-0.06092,-0.05774]}, + {"t":4.41001, "x":3.07158, "y":0.71991, "heading":3.14157, "vx":-1.4997, "vy":0.00372, "omega":0.00019, "ax":-0.00001, "ay":-0.00457, "alpha":-0.00091, "fx":[-0.00273,-0.00273,0.00245,0.00245], "fy":[-0.0567,-0.06188,-0.06188,-0.0567]}, + {"t":4.46085, "x":2.99533, "y":0.72009, "heading":3.14158, "vx":-1.4997, "vy":0.00349, "omega":0.00015, "ax":-0.00001, "ay":-0.00457, "alpha":-0.00127, "fx":[-0.00372,-0.00372,0.00346,0.00347], "fy":[-0.05575,-0.06293,-0.06293,-0.05575]}, + {"t":4.5117, "x":2.91907, "y":0.72026, "heading":3.14159, "vx":-1.4997, "vy":0.00325, "omega":0.00008, "ax":0.52362, "ay":-0.0067, "alpha":-0.00164, "fx":[6.79099,6.79099,6.80028,6.80028], "fy":[-0.08231,-0.09163,-0.09163,-0.08231]}, + {"t":4.56254, "x":2.8435, "y":0.72042, "heading":3.14159, "vx":-1.47307, "vy":0.00291, "omega":0.0, "ax":14.48016, "ay":-0.0292, "alpha":0.0, "fx":[187.9262,187.9262,187.9262,187.9262], "fy":[-0.3789,-0.37894,-0.37894,-0.3789]}, + {"t":4.61338, "x":2.78732, "y":0.72053, "heading":3.14159, "vx":-0.73684, "vy":0.00143, "omega":0.0, "ax":14.49213, "ay":-0.02808, "alpha":0.0, "fx":[188.08151,188.08151,188.08151,188.08151], "fy":[-0.36443,-0.36446,-0.36446,-0.36443]}, + {"t":4.66423, "x":2.76859, "y":0.72057, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FRtoFRM.traj b/src/main/deploy/choreo/FRtoFRM.traj new file mode 100644 index 0000000..3af49c9 --- /dev/null +++ b/src/main/deploy/choreo/FRtoFRM.traj @@ -0,0 +1,74 @@ +{ + "name":"FRtoFRM", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":2.2169458866119385, "heading":1.5707963267948966, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":3.55698299407959, "heading":1.5707963267948966, "intervals":52, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":0, "to":1, "data":{"type":"MaxVelocity", "props":{"max":2.0}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FR.x", "val":7.82036542892456}, "y":{"exp":"FR.y", "val":2.2169458866119385}, "heading":{"exp":"FR.heading", "val":1.5707963267948966}, "intervals":14, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FRM.x", "val":7.82036542892456}, "y":{"exp":"FRM.y", "val":3.55698299407959}, "heading":{"exp":"FRM.heading", "val":1.5707963267948966}, "intervals":52, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":0, "to":1, "data":{"type":"MaxVelocity", "props":{"max":{"exp":"2 m / s", "val":2.0}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,0.67018], + "samples":[ + {"t":0.0, "x":7.82037, "y":2.21695, "heading":1.5708, "vx":0.0, "vy":1.99833, "omega":0.0, "ax":0.0, "ay":0.02618, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.3398,0.3398,0.3398,0.3398]}, + {"t":0.04787, "x":7.82037, "y":2.31264, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.09574, "x":7.82037, "y":2.40836, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.14361, "x":7.82037, "y":2.50408, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.19148, "x":7.82037, "y":2.5998, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.23935, "x":7.82037, "y":2.69551, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.28722, "x":7.82037, "y":2.79123, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.33509, "x":7.82037, "y":2.88695, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.38296, "x":7.82037, "y":2.98267, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.43083, "x":7.82037, "y":3.07839, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.4787, "x":7.82037, "y":3.17411, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.52657, "x":7.82037, "y":3.26983, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.57444, "x":7.82037, "y":3.36555, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.62231, "x":7.82037, "y":3.46127, "heading":1.5708, "vx":0.0, "vy":1.99958, "omega":0.0, "ax":0.0, "ay":-0.00873, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.11331,-0.11331,-0.11331,-0.11331]}, + {"t":0.67018, "x":7.82037, "y":3.55698, "heading":1.5708, "vx":0.0, "vy":1.99916, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/FRtoSR.traj b/src/main/deploy/choreo/FRtoSR.traj new file mode 100644 index 0000000..a496cc0 --- /dev/null +++ b/src/main/deploy/choreo/FRtoSR.traj @@ -0,0 +1,148 @@ +{ + "name":"FRtoSR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":7.82036542892456, "y":2.2169458866119385, "heading":1.5707963267948966, "intervals":24, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.078125953674316, "y":0.7482186555862427, "heading":2.690139597310213, "intervals":33, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.742544174194336, "y":0.6929386258125305, "heading":3.141592653589793, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":2.768587827682495, "y":0.7205682992935181, "heading":3.141592653589793, "intervals":22, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"FR.x", "val":7.82036542892456}, "y":{"exp":"FR.y", "val":2.2169458866119385}, "heading":{"exp":"FR.heading", "val":1.5707963267948966}, "intervals":24, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.078125953674316 m", "val":7.078125953674316}, "y":{"exp":"0.7482186555862427 m", "val":0.7482186555862427}, "heading":{"exp":"2.690139597310213 rad", "val":2.690139597310213}, "intervals":33, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.742544174194336 m", "val":4.742544174194336}, "y":{"exp":"0.6929386258125305 m", "val":0.6929386258125305}, "heading":{"exp":"3.141592653589793 rad", "val":3.141592653589793}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"SR.x", "val":2.768587827682495}, "y":{"exp":"SR.y", "val":0.7205682992935181}, "heading":{"exp":"SR.heading", "val":3.141592653589793}, "intervals":22, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.15421,2.71568,4.08431], + "samples":[ + {"t":0.0, "x":7.82037, "y":2.21695, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-6.33218, "ay":-13.03415, "alpha":0.00689, "fx":[-82.1965,-82.13333,-82.16398,-82.22717], "fy":[-169.15179,-169.18244,-169.16748,-169.13681]}, + {"t":0.04809, "x":7.81304, "y":2.20187, "heading":1.5708, "vx":-0.30453, "vy":-0.62684, "omega":0.00033, "ax":-6.32644, "ay":-13.02234, "alpha":0.01201, "fx":[-82.13411,-82.02405,-82.07739,-82.18749], "fy":[-168.99273,-169.04606,-169.01992,-168.96653]}, + {"t":0.09618, "x":7.79108, "y":2.15667, "heading":1.57081, "vx":-0.60878, "vy":-1.25311, "omega":0.00091, "ax":-0.96789, "ay":-1.99229, "alpha":5.31712, "fx":[-27.26765,2.67712,2.80098,-28.45603], "fy":[-40.30862,-41.12481,-11.12121,-10.87081]}, + {"t":0.14428, "x":7.76068, "y":2.0941, "heading":1.57086, "vx":-0.65533, "vy":-1.34893, "omega":0.25662, "ax":0.0, "ay":0.0, "alpha":4.74402, "fx":[-13.45419,13.45575,13.45414,-13.4558], "fy":[-13.45582,-13.45421,13.45573,13.45413]}, + {"t":0.19237, "x":7.72917, "y":2.02923, "heading":1.5832, "vx":-0.65533, "vy":-1.34893, "omega":0.48477, "ax":0.0, "ay":0.0, "alpha":4.02389, "fx":[-11.27012,11.55317,11.27012,-11.55317], "fy":[-11.55317,-11.27012,11.55317,11.27012]}, + {"t":0.24046, "x":7.69765, "y":1.96435, "heading":1.60651, "vx":-0.65533, "vy":-1.34893, "omega":0.67829, "ax":0.0, "ay":0.0, "alpha":3.39423, "fx":[-9.27681,9.9643,9.27681,-9.9643], "fy":[-9.9643,-9.27681,9.9643,9.27681]}, + {"t":0.28855, "x":7.66614, "y":1.89948, "heading":1.63913, "vx":-0.65533, "vy":-1.34893, "omega":0.84152, "ax":0.0, "ay":0.0, "alpha":2.84272, "fx":[-7.49317,8.59423,7.49317,-8.59423], "fy":[-8.59423,-7.49317,8.59423,7.49317]}, + {"t":0.33664, "x":7.63462, "y":1.83461, "heading":1.6796, "vx":-0.65533, "vy":-1.34893, "omega":0.97824, "ax":0.0, "ay":0.0, "alpha":2.35791, "fx":[-5.92174,7.37417,5.92174,-7.37417], "fy":[-7.37417,-5.92174,7.37417,5.92174]}, + {"t":0.38474, "x":7.6031, "y":1.76974, "heading":1.72665, "vx":-0.65533, "vy":-1.34893, "omega":1.09163, "ax":0.0, "ay":0.0, "alpha":1.92925, "fx":[-4.55607,6.25474,4.55607,-6.25474], "fy":[-6.25474,-4.55607,6.25474,4.55607]}, + {"t":0.43283, "x":7.57159, "y":1.70486, "heading":1.77915, "vx":-0.65533, "vy":-1.34893, "omega":1.18441, "ax":0.0, "ay":0.0, "alpha":1.54702, "fx":[-3.38518,5.20034,3.38518,-5.20034], "fy":[-5.20034,-3.38518,5.20034,3.38518]}, + {"t":0.48092, "x":7.54007, "y":1.63999, "heading":1.83611, "vx":-0.65533, "vy":-1.34893, "omega":1.25881, "ax":0.0, "ay":0.0, "alpha":1.20242, "fx":[-2.39674,4.18518,2.39674,-4.18518], "fy":[-4.18518,-2.39674,4.18518,2.39674]}, + {"t":0.52901, "x":7.50856, "y":1.57512, "heading":1.89665, "vx":-0.65533, "vy":-1.34893, "omega":1.31664, "ax":0.0, "ay":0.0, "alpha":0.88717, "fx":[-1.57831,3.18926,1.57831,-3.18926], "fy":[-3.18926,-1.57831,3.18926,1.57831]}, + {"t":0.57711, "x":7.47704, "y":1.51024, "heading":1.95997, "vx":-0.65533, "vy":-1.34893, "omega":1.35931, "ax":0.0, "ay":0.0, "alpha":0.5938, "fx":[-0.91919,2.19718,0.91919,-2.19718], "fy":[-2.19718,-0.91919,2.19718,0.91919]}, + {"t":0.6252, "x":7.44552, "y":1.44537, "heading":2.02534, "vx":-0.65533, "vy":-1.34893, "omega":1.38786, "ax":0.0, "ay":0.0, "alpha":0.315, "fx":[-0.41044,1.19494,0.41044,-1.19494], "fy":[-1.19494,-0.41044,1.19494,0.41044]}, + {"t":0.67329, "x":7.41401, "y":1.3805, "heading":2.09208, "vx":-0.65533, "vy":-1.34893, "omega":1.40301, "ax":0.0, "ay":0.0, "alpha":0.04404, "fx":[-0.04612,0.17053,0.04612,-0.17053], "fy":[-0.17053,-0.04612,0.17053,0.04612]}, + {"t":0.72138, "x":7.38249, "y":1.31563, "heading":2.15956, "vx":-0.65533, "vy":-1.34893, "omega":1.40513, "ax":0.0, "ay":0.0, "alpha":-0.22587, "fx":[0.17699,-0.88849,-0.17699,0.88849], "fy":[0.88849,0.17699,-0.88849,-0.17699]}, + {"t":0.76947, "x":7.35098, "y":1.25075, "heading":2.22713, "vx":-0.65533, "vy":-1.34893, "omega":1.39427, "ax":0.0, "ay":0.0, "alpha":-0.50136, "fx":[0.2588,-1.99422,-0.2588,1.99422], "fy":[1.99422,0.2588,-1.99422,-0.2588]}, + {"t":0.81757, "x":7.31946, "y":1.18588, "heading":2.29419, "vx":-0.65533, "vy":-1.34893, "omega":1.37016, "ax":0.0, "ay":0.0, "alpha":-0.78922, "fx":[0.19615,-3.15948,-0.19615,3.15948], "fy":[3.15948,0.19615,-3.15948,-0.19615]}, + {"t":0.86566, "x":7.28794, "y":1.12101, "heading":2.36008, "vx":-0.65533, "vy":-1.34893, "omega":1.3322, "ax":0.0, "ay":0.0, "alpha":-1.09655, "fx":[-0.01711,-4.39819,0.01711,4.39819], "fy":[4.39819,-0.01711,-4.39819,0.01711]}, + {"t":0.91375, "x":7.25643, "y":1.05614, "heading":2.42415, "vx":-0.65533, "vy":-1.34893, "omega":1.27947, "ax":0.0, "ay":0.0, "alpha":-1.43069, "fx":[-0.3897,-5.72523,0.38966,5.7252], "fy":[5.72522,-0.38967,-5.7252,0.38969]}, + {"t":0.96184, "x":7.22491, "y":0.99126, "heading":2.48568, "vx":-0.65533, "vy":-1.34893, "omega":1.21066, "ax":-0.00016, "ay":0.00008, "alpha":-1.79972, "fx":[-0.93423,-7.16029,0.93004,7.15611], "fy":[7.15921,-0.93112,-7.15718,0.93315]}, + {"t":1.00993, "x":7.19339, "y":0.92639, "heading":2.5439, "vx":-0.65534, "vy":-1.34892, "omega":1.12411, "ax":-0.02097, "ay":0.0102, "alpha":-2.21217, "fx":[-1.92837,-8.98877,1.38321,8.44543], "fy":[8.84896,-1.523,-8.58529,1.78866]}, + {"t":1.05803, "x":7.16185, "y":0.86153, "heading":2.59797, "vx":-0.65634, "vy":-1.34843, "omega":1.01772, "ax":-2.5546, "ay":1.3947, "alpha":-2.47077, "fx":[-35.20687,-42.58777,-31.21939,-23.60209], "fy":[27.76055,15.44034,8.25826,20.94375]}, + {"t":1.10612, "x":7.12733, "y":0.79829, "heading":2.64691, "vx":-0.7792, "vy":-1.28136, "omega":0.8989, "ax":-10.14779, "ay":9.98594, "alpha":-0.05971, "fx":[-131.54694,-131.99149,-131.85385,-131.40748], "fy":[129.76592,129.30882,129.43222,129.89031]}, + {"t":1.15421, "x":7.07813, "y":0.74822, "heading":2.69014, "vx":-1.26723, "vy":-0.80111, "omega":0.89603, "ax":-4.71925, "ay":13.43611, "alpha":-0.05079, "fx":[-61.24836,-61.62471,-61.24639,-60.86976], "fy":[174.38393,174.24357,174.36909,174.50868]}, + {"t":1.20153, "x":7.01288, "y":0.72535, "heading":2.73254, "vx":-1.49053, "vy":-0.16535, "omega":0.89362, "ax":-0.19043, "ay":3.05837, "alpha":-2.17536, "fx":[-5.7205,-11.01802,0.88979,5.96293], "fy":[47.37409,36.64011,31.89666,42.85764]}, + {"t":1.24885, "x":6.94214, "y":0.72095, "heading":2.77482, "vx":-1.49954, "vy":-0.02064, "omega":0.79069, "ax":-0.00034, "ay":0.02555, "alpha":-2.04265, "fx":[-3.33448,-7.49047,3.32654,7.48068], "fy":[7.81664,-2.99852,-7.15441,3.66245]}, + {"t":1.29616, "x":6.87119, "y":0.72001, "heading":2.81223, "vx":-1.49956, "vy":-0.01943, "omega":0.69404, "ax":0.0, "ay":0.0002, "alpha":-1.75434, "fx":[-3.09892,-6.31755,3.09885,6.31748], "fy":[6.32016,-3.09624,-6.31488,3.10153]}, + {"t":1.34348, "x":6.80023, "y":0.71909, "heading":2.84507, "vx":-1.49956, "vy":-0.01942, "omega":0.61103, "ax":0.0, "ay":0.0, "alpha":-1.50685, "fx":[-2.83845,-5.33599,2.83845,5.33599], "fy":[5.33601,-2.83843,-5.33597,2.83848]}, + {"t":1.3908, "x":6.72928, "y":0.71817, "heading":2.87399, "vx":-1.49956, "vy":-0.01942, "omega":0.53973, "ax":0.0, "ay":0.0, "alpha":-1.29439, "fx":[-2.56971,-4.51122,2.56971,4.51122], "fy":[4.51122,-2.56971,-4.51122,2.56971]}, + {"t":1.43811, "x":6.65832, "y":0.71725, "heading":2.89952, "vx":-1.49956, "vy":-0.01942, "omega":0.47848, "ax":0.0, "ay":0.0, "alpha":-1.11213, "fx":[-2.30613,-3.81837,2.30613,3.81837], "fy":[3.81837,-2.30613,-3.81837,2.30613]}, + {"t":1.48543, "x":6.58737, "y":0.71633, "heading":2.92217, "vx":-1.49956, "vy":-0.01942, "omega":0.42586, "ax":0.0, "ay":0.0, "alpha":-0.95581, "fx":[-2.05576,-3.23595,2.05576,3.23595], "fy":[3.23595,-2.05576,-3.23595,2.05576]}, + {"t":1.53275, "x":6.51641, "y":0.71541, "heading":2.94232, "vx":-1.49956, "vy":-0.01942, "omega":0.38063, "ax":0.0, "ay":0.0, "alpha":-0.82178, "fx":[-1.82318,-2.74599,1.82318,2.74599], "fy":[2.74599,-1.82318,-2.74599,1.82318]}, + {"t":1.58007, "x":6.44546, "y":0.71449, "heading":2.96033, "vx":-1.49956, "vy":-0.01942, "omega":0.34175, "ax":0.0, "ay":0.0, "alpha":-0.70703, "fx":[-1.61091,-2.33395,1.61091,2.33395], "fy":[2.33395,-1.61091,-2.33395,1.61091]}, + {"t":1.62738, "x":6.3745, "y":0.71357, "heading":2.9765, "vx":-1.49956, "vy":-0.01942, "omega":0.30829, "ax":0.0, "ay":0.0, "alpha":-0.60866, "fx":[-1.41908,-1.98654,1.41908,1.98654], "fy":[1.98654,-1.41908,-1.98654,1.41908]}, + {"t":1.6747, "x":6.30355, "y":0.71265, "heading":2.99108, "vx":-1.49956, "vy":-0.01942, "omega":0.27949, "ax":0.0, "ay":0.0, "alpha":-0.52475, "fx":[-1.2483,-1.69465,1.2483,1.69465], "fy":[1.69465,-1.2483,-1.69465,1.2483]}, + {"t":1.72202, "x":6.23259, "y":0.71173, "heading":3.00431, "vx":-1.49956, "vy":-0.01942, "omega":0.25466, "ax":0.0, "ay":0.0, "alpha":-0.4528, "fx":[-1.09637,-1.44789,1.09637,1.44789], "fy":[1.44789,-1.09637,-1.44789,1.09637]}, + {"t":1.76933, "x":6.16164, "y":0.71082, "heading":3.01636, "vx":-1.49956, "vy":-0.01942, "omega":0.23324, "ax":0.0, "ay":0.0, "alpha":-0.39181, "fx":[-0.96372,-1.24134,0.96372,1.24134], "fy":[1.24134,-0.96372,-1.24134,0.96372]}, + {"t":1.81665, "x":6.09068, "y":0.7099, "heading":3.0274, "vx":-1.49956, "vy":-0.01942, "omega":0.2147, "ax":0.0, "ay":0.0, "alpha":-0.33957, "fx":[-0.84706,-1.06656,0.84706,1.06656], "fy":[1.06656,-0.84706,-1.06656,0.84706]}, + {"t":1.86397, "x":6.01973, "y":0.70898, "heading":3.03755, "vx":-1.49956, "vy":-0.01942, "omega":0.19863, "ax":0.0, "ay":0.0, "alpha":-0.29567, "fx":[-0.74695,-0.92115,0.74695,0.92115], "fy":[0.92115,-0.74695,-0.92115,0.74695]}, + {"t":1.91129, "x":5.94877, "y":0.70806, "heading":3.04695, "vx":-1.49956, "vy":-0.01942, "omega":0.18464, "ax":0.0, "ay":0.0, "alpha":-0.25834, "fx":[-0.66018,-0.79867,0.66018,0.79867], "fy":[0.79867,-0.66018,-0.79867,0.66018]}, + {"t":1.9586, "x":5.87782, "y":0.70714, "heading":3.05569, "vx":-1.49956, "vy":-0.01942, "omega":0.17242, "ax":0.0, "ay":0.0, "alpha":-0.22732, "fx":[-0.58703,-0.69767,0.58703,0.69767], "fy":[0.69767,-0.58703,-0.69767,0.58703]}, + {"t":2.00592, "x":5.80686, "y":0.70622, "heading":3.06385, "vx":-1.49956, "vy":-0.01942, "omega":0.16166, "ax":0.0, "ay":0.0, "alpha":-0.20144, "fx":[-0.52522,-0.61397,0.52522,0.61397], "fy":[0.61397,-0.52522,-0.61397,0.52522]}, + {"t":2.05324, "x":5.73591, "y":0.7053, "heading":3.0715, "vx":-1.49956, "vy":-0.01942, "omega":0.15213, "ax":0.0, "ay":0.0, "alpha":-0.18034, "fx":[-0.47439,-0.54604,0.47439,0.54604], "fy":[0.54604,-0.47439,-0.54604,0.47439]}, + {"t":2.10055, "x":5.66495, "y":0.70438, "heading":3.0787, "vx":-1.49956, "vy":-0.01942, "omega":0.1436, "ax":0.0, "ay":0.0, "alpha":-0.16347, "fx":[-0.43356,-0.49185,0.43356,0.49185], "fy":[0.49185,-0.43356,-0.49185,0.43356]}, + {"t":2.14787, "x":5.594, "y":0.70346, "heading":3.08549, "vx":-1.49956, "vy":-0.01942, "omega":0.13586, "ax":0.0, "ay":0.0, "alpha":-0.15032, "fx":[-0.40177,-0.44958,0.40177,0.44958], "fy":[0.44958,-0.40177,-0.44958,0.40177]}, + {"t":2.19519, "x":5.52304, "y":0.70254, "heading":3.09192, "vx":-1.49956, "vy":-0.01942, "omega":0.12875, "ax":0.0, "ay":0.0, "alpha":-0.14084, "fx":[-0.37911,-0.41878,0.37911,0.41878], "fy":[0.41878,-0.37911,-0.41878,0.37911]}, + {"t":2.24251, "x":5.45209, "y":0.70163, "heading":3.09801, "vx":-1.49956, "vy":-0.01942, "omega":0.12209, "ax":0.0, "ay":0.0, "alpha":-0.13446, "fx":[-0.36438,-0.39762,0.36438,0.39762], "fy":[0.39762,-0.36438,-0.39762,0.36438]}, + {"t":2.28982, "x":5.38113, "y":0.70071, "heading":3.10379, "vx":-1.49956, "vy":-0.01942, "omega":0.11572, "ax":0.0, "ay":0.0, "alpha":-0.13141, "fx":[-0.35836,-0.38653,0.35836,0.38653], "fy":[0.38653,-0.35836,-0.38653,0.35836]}, + {"t":2.33714, "x":5.31018, "y":0.69979, "heading":3.10926, "vx":-1.49956, "vy":-0.01942, "omega":0.1095, "ax":0.0, "ay":0.0, "alpha":-0.13127, "fx":[-0.36007,-0.38414,0.36007,0.38414], "fy":[0.38414,-0.36007,-0.38414,0.36007]}, + {"t":2.38446, "x":5.23922, "y":0.69887, "heading":3.11444, "vx":-1.49956, "vy":-0.01942, "omega":0.10329, "ax":0.0, "ay":0.0, "alpha":-0.13433, "fx":[-0.3705,-0.39118,0.3705,0.39118], "fy":[0.39118,-0.3705,-0.39118,0.3705]}, + {"t":2.43178, "x":5.16827, "y":0.69795, "heading":3.11933, "vx":-1.49956, "vy":-0.01942, "omega":0.09694, "ax":0.0, "ay":0.0, "alpha":-0.14042, "fx":[-0.38931,-0.40704,0.38931,0.40704], "fy":[0.40704,-0.38931,-0.40704,0.38931]}, + {"t":2.47909, "x":5.09731, "y":0.69703, "heading":3.12392, "vx":-1.49956, "vy":-0.01942, "omega":0.09029, "ax":0.0, "ay":0.0, "alpha":-0.14988, "fx":[-0.4175,-0.43252,0.4175,0.43252], "fy":[0.43252,-0.4175,-0.43252,0.4175]}, + {"t":2.52641, "x":5.02636, "y":0.69611, "heading":3.12819, "vx":-1.49956, "vy":-0.01942, "omega":0.0832, "ax":0.0, "ay":0.0, "alpha":-0.16279, "fx":[-0.45547,-0.46785,0.45547,0.46785], "fy":[0.46785,-0.45547,-0.46784,0.45547]}, + {"t":2.57373, "x":4.9554, "y":0.69519, "heading":3.13213, "vx":-1.49956, "vy":-0.01942, "omega":0.0755, "ax":0.0, "ay":0.00003, "alpha":-0.17953, "fx":[-0.50434,-0.51397,0.50433,0.51397], "fy":[0.51433,-0.50397,-0.51361,0.50469]}, + {"t":2.62104, "x":4.88445, "y":0.69427, "heading":3.1357, "vx":-1.49956, "vy":-0.01942, "omega":0.067, "ax":-0.00004, "ay":0.00348, "alpha":-0.20045, "fx":[-0.56575,-0.57245,0.56458,0.57128], "fy":[0.61705,-0.51998,-0.52668,0.61035]}, + {"t":2.66836, "x":4.81349, "y":0.69336, "heading":3.13887, "vx":-1.49956, "vy":-0.01926, "omega":0.05752, "ax":0.00375, "ay":0.43824, "alpha":-0.22565, "fx":[-0.59008,-0.59381,0.68761,0.69081], "fy":[6.32876,5.04994,5.04644,6.32526]}, + {"t":2.71568, "x":4.74254, "y":0.69294, "heading":3.14159, "vx":-1.49938, "vy":0.00148, "omega":0.04684, "ax":-0.00328, "ay":0.38992, "alpha":-0.20499, "fx":[-0.62433,-0.62454,0.53927,0.53909], "fy":[5.64142,4.47948,4.4795,5.64143]}, + {"t":2.76637, "x":4.66654, "y":0.69351, "heading":-3.13922, "vx":-1.49955, "vy":0.02125, "omega":0.03645, "ax":0.00004, "ay":0.00257, "alpha":-0.17389, "fx":[-0.49388,-0.49154,0.49482,0.49248], "fy":[0.52535,-0.46101,-0.45867,0.52769]}, + {"t":2.81706, "x":4.59052, "y":0.69459, "heading":-3.13737, "vx":-1.49955, "vy":0.02138, "omega":0.02764, "ax":0.0, "ay":0.00002, "alpha":-0.14715, "fx":[-0.41911,-0.41559,0.41912,0.4156], "fy":[0.41581,-0.4189,-0.41537,0.41934]}, + {"t":2.86775, "x":4.51451, "y":0.69568, "heading":-3.13597, "vx":-1.49955, "vy":0.02138, "omega":0.02018, "ax":0.0, "ay":0.0, "alpha":-0.12437, "fx":[-0.35471,-0.35074,0.35471,0.35074], "fy":[0.35074,-0.3547,-0.35074,0.35471]}, + {"t":2.91844, "x":4.4385, "y":0.69676, "heading":-3.13495, "vx":-1.49955, "vy":0.02138, "omega":0.01387, "ax":0.0, "ay":0.0, "alpha":-0.10491, "fx":[-0.29953,-0.29557,0.29953,0.29557], "fy":[0.29557,-0.29953,-0.29557,0.29953]}, + {"t":2.96913, "x":4.36249, "y":0.69785, "heading":-3.13424, "vx":-1.49955, "vy":0.02138, "omega":0.00856, "ax":0.0, "ay":0.0, "alpha":-0.08827, "fx":[-0.2522,-0.24852,0.2522,0.24852], "fy":[0.24852,-0.2522,-0.24852,0.2522]}, + {"t":3.01982, "x":4.28648, "y":0.69893, "heading":-3.13381, "vx":-1.49955, "vy":0.02138, "omega":0.00408, "ax":0.0, "ay":0.0, "alpha":-0.074, "fx":[-0.21151,-0.20824,0.21151,0.20824], "fy":[0.20824,-0.21151,-0.20824,0.21151]}, + {"t":3.07051, "x":4.21046, "y":0.70001, "heading":-3.1336, "vx":-1.49955, "vy":0.02138, "omega":0.00033, "ax":0.0, "ay":0.0, "alpha":-0.06172, "fx":[-0.17643,-0.17363,0.17643,0.17363], "fy":[0.17363,-0.17643,-0.17363,0.17643]}, + {"t":3.1212, "x":4.13445, "y":0.7011, "heading":-3.13359, "vx":-1.49955, "vy":0.02138, "omega":-0.0028, "ax":0.0, "ay":0.0, "alpha":-0.05108, "fx":[-0.14603,-0.14371,0.14603,0.14371], "fy":[0.14371,-0.14603,-0.14371,0.14603]}, + {"t":3.17189, "x":4.05844, "y":0.70218, "heading":-3.13373, "vx":-1.49955, "vy":0.02138, "omega":-0.00539, "ax":0.0, "ay":0.0, "alpha":-0.04182, "fx":[-0.11953,-0.11767,0.11953,0.11767], "fy":[0.11767,-0.11953,-0.11767,0.11953]}, + {"t":3.22258, "x":3.98243, "y":0.70326, "heading":-3.134, "vx":-1.49955, "vy":0.02138, "omega":-0.00751, "ax":0.0, "ay":0.0, "alpha":-0.03368, "fx":[-0.09624,-0.09479,0.09624,0.09479], "fy":[0.09479,-0.09624,-0.09479,0.09624]}, + {"t":3.27327, "x":3.90642, "y":0.70435, "heading":-3.13438, "vx":-1.49955, "vy":0.02138, "omega":-0.00922, "ax":0.0, "ay":0.0, "alpha":-0.02644, "fx":[-0.07554,-0.07446,0.07554,0.07446], "fy":[0.07446,-0.07554,-0.07446,0.07554]}, + {"t":3.32396, "x":3.83041, "y":0.70543, "heading":-3.13485, "vx":-1.49955, "vy":0.02138, "omega":-0.01056, "ax":0.0, "ay":0.0, "alpha":-0.01992, "fx":[-0.05687,-0.05611,0.05687,0.05611], "fy":[0.05611,-0.05687,-0.05611,0.05687]}, + {"t":3.37465, "x":3.75439, "y":0.70651, "heading":-3.13538, "vx":-1.49955, "vy":0.02138, "omega":-0.01157, "ax":0.0, "ay":0.0, "alpha":-0.01393, "fx":[-0.03975,-0.03926,0.03975,0.03926], "fy":[0.03926,-0.03975,-0.03926,0.03975]}, + {"t":3.42534, "x":3.67838, "y":0.7076, "heading":-3.13597, "vx":-1.49955, "vy":0.02138, "omega":-0.01227, "ax":0.0, "ay":0.0, "alpha":-0.00831, "fx":[-0.0237,-0.02344,0.0237,0.02344], "fy":[0.02344,-0.0237,-0.02344,0.0237]}, + {"t":3.47603, "x":3.60237, "y":0.70868, "heading":-3.13659, "vx":-1.49955, "vy":0.02138, "omega":-0.01269, "ax":0.0, "ay":0.0, "alpha":-0.00292, "fx":[-0.00832,-0.00823,0.00832,0.00823], "fy":[0.00823,-0.00832,-0.00823,0.00832]}, + {"t":3.52672, "x":3.52636, "y":0.70977, "heading":-3.13724, "vx":-1.49955, "vy":0.02138, "omega":-0.01284, "ax":0.0, "ay":0.0, "alpha":0.0024, "fx":[0.00683,0.00677,-0.00683,-0.00677], "fy":[-0.00677,0.00683,0.00677,-0.00683]}, + {"t":3.57741, "x":3.45035, "y":0.71085, "heading":-3.13789, "vx":-1.49955, "vy":0.02138, "omega":-0.01272, "ax":0.0, "ay":0.0, "alpha":0.00778, "fx":[0.02215,0.02198,-0.02215,-0.02198], "fy":[-0.02198,0.02215,0.02198,-0.02215]}, + {"t":3.6281, "x":3.37433, "y":0.71193, "heading":-3.13853, "vx":-1.49955, "vy":0.02138, "omega":-0.01232, "ax":0.0, "ay":0.0, "alpha":0.01337, "fx":[0.03804,0.0378,-0.03804,-0.0378], "fy":[-0.0378,0.03804,0.0378,-0.03804]}, + {"t":3.67879, "x":3.29832, "y":0.71302, "heading":-3.13916, "vx":-1.49955, "vy":0.02138, "omega":-0.01165, "ax":0.0, "ay":0.0, "alpha":0.01932, "fx":[0.05493,0.05466,-0.05493,-0.05466], "fy":[-0.05466,0.05493,0.05466,-0.05493]}, + {"t":3.72948, "x":3.22231, "y":0.7141, "heading":-3.13975, "vx":-1.49955, "vy":0.02138, "omega":-0.01067, "ax":0.0, "ay":0.0, "alpha":0.02579, "fx":[0.07327,0.073,-0.07327,-0.073], "fy":[-0.073,0.07327,0.073,-0.07327]}, + {"t":3.78017, "x":3.1463, "y":0.71518, "heading":-3.14029, "vx":-1.49955, "vy":0.02138, "omega":-0.00936, "ax":0.0, "ay":0.0, "alpha":0.03295, "fx":[0.09357,0.09332,-0.09357,-0.09332], "fy":[-0.09332,0.09357,0.09332,-0.09357]}, + {"t":3.83086, "x":3.07029, "y":0.71627, "heading":-3.14076, "vx":-1.49955, "vy":0.02138, "omega":-0.00769, "ax":0.0, "ay":0.0, "alpha":0.04099, "fx":[0.11635,0.11616,-0.11635,-0.11616], "fy":[-0.11616,0.11635,0.11616,-0.11635]}, + {"t":3.88155, "x":2.99427, "y":0.71735, "heading":-3.14115, "vx":-1.49955, "vy":0.02138, "omega":-0.00561, "ax":0.0, "ay":0.0, "alpha":0.05013, "fx":[0.14226,0.14213,-0.14224,-0.14211], "fy":[-0.14212,0.14225,0.14212,-0.14225]}, + {"t":3.93224, "x":2.91826, "y":0.71843, "heading":-3.14144, "vx":-1.49955, "vy":0.02138, "omega":-0.00307, "ax":0.61353, "ay":-0.00875, "alpha":0.0604, "fx":[8.13358,8.13355,7.79153,7.79157], "fy":[-0.28509,0.05813,0.05808,-0.28518]}, + {"t":3.98293, "x":2.84304, "y":0.71951, "heading":-3.14159, "vx":-1.46845, "vy":0.02093, "omega":-0.00001, "ax":14.4786, "ay":-0.20641, "alpha":0.00012, "fx":[187.90594,187.90596,187.90596,187.90594], "fy":[-2.67944,-2.67808,-2.6781,-2.67946]}, + {"t":4.03362, "x":2.7872, "y":0.7203, "heading":-3.14159, "vx":-0.73453, "vy":0.01047, "omega":0.0, "ax":14.49061, "ay":-0.20658, "alpha":0.00007, "fx":[188.06185,188.06187,188.06186,188.06185], "fy":[-2.68138,-2.68059,-2.68061,-2.6814]}, + {"t":4.08431, "x":2.76859, "y":0.72057, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/OtoFR.traj b/src/main/deploy/choreo/OtoFR.traj new file mode 100644 index 0000000..e63da1a --- /dev/null +++ b/src/main/deploy/choreo/OtoFR.traj @@ -0,0 +1,185 @@ +{ + "name":"OtoFR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":0.6150895357131958, "y":0.7198631167411804, "heading":3.141592653589793, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":2.405749559402466, "y":0.7364640235900879, "heading":0.8728935406274366, "intervals":32, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":4.684704303741455, "y":0.7244694828987122, "heading":0.008196575740831446, "intervals":22, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":6.24398946762085, "y":0.7484585046768188, "heading":0.0, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":7.509115219116211, "y":1.1714202165603638, "heading":1.0370889895879676, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":2.2169458866119385, "heading":1.5707963267948966, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.017363756895065308, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"O.x", "val":0.6150895357131958}, "y":{"exp":"O.y", "val":0.7198631167411804}, "heading":{"exp":"O.heading", "val":3.141592653589793}, "intervals":28, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"2.405749559402466 m", "val":2.405749559402466}, "y":{"exp":"0.7364640235900879 m", "val":0.7364640235900879}, "heading":{"exp":"0.8728935406274366 rad", "val":0.8728935406274366}, "intervals":32, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"4.684704303741455 m", "val":4.684704303741455}, "y":{"exp":"0.7244694828987122 m", "val":0.7244694828987122}, "heading":{"exp":"8.196575740831445 mrad", "val":0.008196575740831446}, "intervals":22, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"6.24398946762085 m", "val":6.24398946762085}, "y":{"exp":"0.7484585046768188 m", "val":0.7484585046768188}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":19, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":{"exp":"7.509115219116211 m", "val":7.509115219116211}, "y":{"exp":"1.1714202165603638 m", "val":1.1714202165603638}, "heading":{"exp":"1.0370889895879676 rad", "val":1.0370889895879676}, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FR.x", "val":7.82036542892456}, "y":{"exp":"FR.y", "val":2.2169458866119385}, "heading":{"exp":"FR.heading", "val":1.5707963267948966}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"17.363756895065308 mm", "val":0.017363756895065308}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.24797,2.76762,3.80776,4.7003,5.48353], + "samples":[ + {"t":0.0, "x":0.61509, "y":0.71986, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":14.48793, "ay":0.16504, "alpha":-0.00441, "fx":[188.02676,188.02733,188.02739,188.02682], "fy":[2.16718,2.11723,2.11667,2.1666]}, + {"t":0.04457, "x":0.62948, "y":0.72003, "heading":3.14159, "vx":0.64573, "vy":0.00736, "omega":-0.0002, "ax":14.47283, "ay":0.16382, "alpha":-0.0089, "fx":[187.83044,187.83158,187.83181,187.83067], "fy":[2.17712,2.0763,2.07519,2.17595]}, + {"t":0.08914, "x":0.67264, "y":0.72052, "heading":3.14158, "vx":1.29079, "vy":0.01466, "omega":-0.00059, "ax":4.68427, "ay":0.04726, "alpha":-3.4664, "fx":[52.00265,52.05066,69.58397,69.53579], "fy":[11.91703,-10.63847,-9.92708,11.102]}, + {"t":0.13371, "x":0.73482, "y":0.72122, "heading":3.14156, "vx":1.49957, "vy":0.01676, "omega":-0.15509, "ax":0.00006, "ay":-0.0048, "alpha":-4.40409, "fx":[-12.49035,-12.48983,12.48775,12.49575], "fy":[12.43051,-12.55153,-12.55459,12.42651]}, + {"t":0.17828, "x":0.80166, "y":0.72196, "heading":3.13464, "vx":1.49957, "vy":0.01655, "omega":-0.35138, "ax":0.00005, "ay":-0.00479, "alpha":-4.58072, "fx":[-12.89874,-13.08305,12.89576,13.08871], "fy":[13.02366,-12.95935,-13.14774,12.83486]}, + {"t":0.22285, "x":0.86849, "y":0.72269, "heading":3.11898, "vx":1.49957, "vy":0.01634, "omega":-0.55555, "ax":0.00005, "ay":-0.00479, "alpha":-4.80914, "fx":[-13.31978,-13.95098,13.31652,13.95689], "fy":[13.89178,-13.38035,-14.01573,13.25567]}, + {"t":0.26742, "x":0.93533, "y":0.72342, "heading":3.09422, "vx":1.49958, "vy":0.01612, "omega":-0.76989, "ax":0.00005, "ay":-0.0048, "alpha":-5.07356, "fx":[-13.67557,-15.06853,13.67198,15.07475], "fy":[15.00949,-13.73625,-15.13343,13.61101]}, + {"t":0.31199, "x":1.00216, "y":0.72413, "heading":3.05991, "vx":1.49958, "vy":0.01591, "omega":-0.99602, "ax":0.00005, "ay":-0.00483, "alpha":-5.28535, "fx":[-13.68965,-16.18536,13.68581,16.19181], "fy":[16.12624,-13.7508,-16.25055,13.62439]}, + {"t":0.35656, "x":1.069, "y":0.72483, "heading":3.01552, "vx":1.49958, "vy":0.01569, "omega":-1.23159, "ax":0.00005, "ay":-0.00489, "alpha":-5.50623, "fx":[-13.48816,-17.4866,13.48413,17.49325], "fy":[17.42707,-13.55028,-17.55239,13.42174]}, + {"t":0.40113, "x":1.13584, "y":0.72553, "heading":2.96062, "vx":1.49958, "vy":0.01548, "omega":-1.47701, "ax":0.00005, "ay":-0.005, "alpha":-5.48779, "fx":[-12.45463,-18.14736,12.45083,18.15379], "fy":[18.08662,-12.51856,-18.21414,12.38665]}, + {"t":0.4457, "x":1.20267, "y":0.72621, "heading":2.89479, "vx":1.49958, "vy":0.01525, "omega":-1.7216, "ax":0.00005, "ay":-0.00517, "alpha":-5.44566, "fx":[-11.13681,-18.7883,11.13346,18.79433], "fy":[18.72546,-11.20347,-18.85677,11.06657]}, + {"t":0.49027, "x":1.26951, "y":0.72689, "heading":2.81806, "vx":1.49959, "vy":0.01502, "omega":-1.96431, "ax":0.00005, "ay":-0.00541, "alpha":-5.01079, "fx":[-8.88248,-18.02721,8.88017,18.03229], "fy":[17.96088,-8.95297,-18.09822,8.80949]}, + {"t":0.53484, "x":1.33635, "y":0.72755, "heading":2.73051, "vx":1.49959, "vy":0.01478, "omega":-2.18765, "ax":0.00006, "ay":-0.00572, "alpha":-4.43091, "fx":[-6.42489,-16.56886,6.42385,16.57277], "fy":[16.49785,-6.49999,-16.6434,6.34861]}, + {"t":0.57941, "x":1.40319, "y":0.72821, "heading":2.63301, "vx":1.49959, "vy":0.01453, "omega":-2.38513, "ax":0.00006, "ay":-0.00606, "alpha":-3.54489, "fx":[-3.82219,-13.69399,3.82244,13.69673], "fy":[13.61771,-3.90198,-13.77266,3.74257]}, + {"t":0.62398, "x":1.47002, "y":0.72885, "heading":2.5267, "vx":1.49959, "vy":0.01426, "omega":-2.54313, "ax":0.00006, "ay":-0.00633, "alpha":-2.41856, "fx":[-1.60135,-9.56686,1.60253,9.56875], "fy":[9.48615,-1.68461,-9.6492,1.51923]}, + {"t":0.66855, "x":1.53686, "y":0.72948, "heading":2.41335, "vx":1.4996, "vy":0.01398, "omega":-2.65093, "ax":0.00006, "ay":-0.00642, "alpha":-1.37574, "fx":[-0.29051,-5.50968,0.29201,5.51123], "fy":[5.42729,-0.37473,-5.59347,0.20779]}, + {"t":0.71312, "x":1.6037, "y":0.73009, "heading":2.2952, "vx":1.4996, "vy":0.01369, "omega":-2.71224, "ax":0.00006, "ay":-0.00627, "alpha":-0.30545, "fx":[0.0805,-1.22186,-0.07904,1.22332], "fy":[1.14126,-0.00157,-1.30389,-0.1611]}, + {"t":0.75769, "x":1.67054, "y":0.7307, "heading":2.17431, "vx":1.4996, "vy":0.01341, "omega":-2.72586, "ax":0.00005, "ay":-0.00592, "alpha":0.32803, "fx":[-0.24213,1.29381,0.24349,-1.29247], "fy":[-1.36996,-0.31967,1.21628,0.16595]}, + {"t":0.80226, "x":1.73737, "y":0.73129, "heading":2.05282, "vx":1.4996, "vy":0.01315, "omega":-2.71124, "ax":0.00005, "ay":-0.0055, "alpha":0.73674, "fx":[-0.89096,2.81797,0.89225,-2.81679], "fy":[-2.88874,-0.96306,2.74596,0.82012]}, + {"t":0.84684, "x":1.80421, "y":0.73187, "heading":1.93198, "vx":1.49961, "vy":0.0129, "omega":-2.6784, "ax":0.00004, "ay":-0.00513, "alpha":0.7343, "fx":[-1.21887,2.68152,1.22006,-2.68046], "fy":[-2.74747,-1.28602,2.61445,1.15288]}, + {"t":0.89141, "x":1.87105, "y":0.73244, "heading":1.8126, "vx":1.49961, "vy":0.01267, "omega":-2.64567, "ax":0.00004, "ay":-0.00485, "alpha":0.53815, "fx":[-1.11996,1.8454,1.12105,-1.84439], "fy":[-1.90787,-1.18351,1.78189,1.05749]}, + {"t":0.93598, "x":1.93789, "y":0.733, "heading":1.69469, "vx":1.49961, "vy":0.01246, "omega":-2.62169, "ax":0.00004, "ay":-0.00471, "alpha":0.17759, "fx":[-0.43801,0.56182,0.43901,-0.56083], "fy":[-0.62243,-0.49962,0.5002,0.37739]}, + {"t":0.98055, "x":2.00473, "y":0.73355, "heading":1.57784, "vx":1.49961, "vy":0.01225, "omega":-2.61377, "ax":0.00004, "ay":-0.00469, "alpha":-0.16648, "fx":[0.47023,-0.4741,-0.46924,0.47507], "fy":[0.41366,0.40881,-0.53551,-0.53065]}, + {"t":1.02512, "x":2.07156, "y":0.73409, "heading":1.46134, "vx":1.49961, "vy":0.01204, "omega":-2.62119, "ax":0.00004, "ay":-0.00481, "alpha":-0.39566, "fx":[1.23998,-0.99061,-1.23897,0.99157], "fy":[0.9287,1.17709,-1.05346,-1.30184]}, + {"t":1.06969, "x":2.1384, "y":0.73462, "heading":1.34451, "vx":1.49962, "vy":0.01182, "omega":-2.63883, "ax":0.00004, "ay":-0.00504, "alpha":-0.37793, "fx":[1.28647,-0.80214,-1.28543,0.80313], "fy":[0.73725,1.22058,-0.86799,-1.3513]}, + {"t":1.11426, "x":2.20524, "y":0.73514, "heading":1.2269, "vx":1.49962, "vy":0.0116, "omega":-2.65567, "ax":0.00004, "ay":-0.00538, "alpha":-0.04458, "fx":[0.16222,-0.07584,-0.16116,0.0769], "fy":[0.0066,0.09193,-0.14612,-0.23145]}, + {"t":1.15883, "x":2.27208, "y":0.73566, "heading":1.10854, "vx":1.49962, "vy":0.01136, "omega":-2.65766, "ax":0.00006, "ay":-0.00741, "alpha":0.63523, "fx":[-2.41585,0.80812,2.41728,-0.8067], "fy":[-0.90363,-2.51277,0.71122,2.32037]}, + {"t":1.2034, "x":2.33892, "y":0.73616, "heading":0.99008, "vx":1.49962, "vy":0.01103, "omega":-2.62934, "ax":-0.00622, "ay":-0.18382, "alpha":1.60536, "fx":[-6.38979,1.22525,6.2293,-1.38753], "fy":[-3.69266,-8.68631,-1.0789,3.91511]}, + {"t":1.24797, "x":2.40575, "y":0.73646, "heading":0.87289, "vx":1.49934, "vy":0.00283, "omega":-2.55779, "ax":0.00699, "ay":-0.16237, "alpha":2.60939, "fx":[-10.34169,1.00778,10.5214,-0.82486], "fy":[-3.02105,-12.52704,-1.19538,8.31457]}, + {"t":1.29546, "x":2.47696, "y":0.73642, "heading":0.75143, "vx":1.49968, "vy":-0.00488, "omega":-2.43387, "ax":-0.00002, "ay":-0.00697, "alpha":3.51201, "fx":[-14.07906,-0.47302,14.0784,0.47246], "fy":[0.38173,-14.16855,-0.56375,13.9888]}, + {"t":1.34295, "x":2.54818, "y":0.73618, "heading":0.63584, "vx":1.49968, "vy":-0.00521, "omega":-2.26709, "ax":-0.00002, "ay":-0.00553, "alpha":4.25271, "fx":[-16.87005,-2.52771,16.86845,2.52827], "fy":[2.45458,-16.93919,-2.60143,16.79908]}, + {"t":1.39044, "x":2.6194, "y":0.73592, "heading":0.52818, "vx":1.49967, "vy":-0.00547, "omega":-2.06513, "ax":-0.00002, "ay":-0.00524, "alpha":4.73712, "fx":[-18.3825,-4.81132,18.37979,4.813], "fy":[4.74222,-18.44702,-4.88195,18.31491]}, + {"t":1.43792, "x":2.69062, "y":0.73566, "heading":0.43011, "vx":1.49967, "vy":-0.00572, "omega":-1.84017, "ax":-0.00002, "ay":-0.00497, "alpha":4.96155, "fx":[-18.66987,-6.89405,18.66635,6.89655], "fy":[6.82898,-18.73066,-6.96142,18.60518]}, + {"t":1.48541, "x":2.76183, "y":0.73538, "heading":0.34272, "vx":1.49967, "vy":-0.00595, "omega":-1.60455, "ax":-0.00002, "ay":-0.00475, "alpha":4.94067, "fx":[-17.92311,-8.45713,17.91925,8.45999], "fy":[8.39539,-17.98132,-8.52153,17.86069]}, + {"t":1.5329, "x":2.83305, "y":0.73509, "heading":0.26652, "vx":1.49967, "vy":-0.00618, "omega":-1.36992, "ax":-0.00002, "ay":-0.0046, "alpha":4.73197, "fx":[-16.50084,-9.38077,16.49702,9.38359], "fy":[9.32139,-16.55749,-9.44277,16.44007]}, + {"t":1.58039, "x":2.90427, "y":0.73479, "heading":0.20146, "vx":1.49967, "vy":-0.0064, "omega":-1.1452, "ax":-0.00002, "ay":-0.0045, "alpha":4.3867, "fx":[-14.6994,-9.67172,14.6959,9.6742], "fy":[9.61383,-14.75526,-9.73192,14.63978]}, + {"t":1.62788, "x":2.97549, "y":0.73448, "heading":0.14708, "vx":1.49967, "vy":-0.00661, "omega":-0.93688, "ax":-0.00002, "ay":-0.00444, "alpha":3.94989, "fx":[-12.7422,-9.41584,12.73918,9.41783], "fy":[9.35876,-12.79779,-9.47475,12.68337]}, + {"t":1.67537, "x":3.04671, "y":0.73417, "heading":0.10259, "vx":1.49967, "vy":-0.00682, "omega":-0.74931, "ax":-0.00002, "ay":-0.0044, "alpha":3.47318, "fx":[-10.82389,-8.77094,10.82137,8.7724], "fy":[8.71422,-10.87949,-8.82898,10.7656]}, + {"t":1.72286, "x":3.11793, "y":0.73384, "heading":0.067, "vx":1.49967, "vy":-0.00703, "omega":-0.58437, "ax":-0.00002, "ay":-0.00439, "alpha":2.97991, "fx":[-9.01158,-7.85257,9.00954,7.85352], "fy":[7.79591,-9.06733,-7.91006,8.95363]}, + {"t":1.77035, "x":3.18914, "y":0.7335, "heading":0.03925, "vx":1.49967, "vy":-0.00724, "omega":-0.44285, "ax":-0.00002, "ay":-0.00438, "alpha":2.50458, "fx":[-7.3866,-6.80932,7.38496,6.80984], "fy":[6.75258,-7.44257,-6.86647,7.32887]}, + {"t":1.81784, "x":3.26036, "y":0.73315, "heading":0.01822, "vx":1.49967, "vy":-0.00745, "omega":-0.32391, "ax":-0.00002, "ay":-0.00439, "alpha":2.05806, "fx":[-5.94929,-5.72325,5.94798,5.72342], "fy":[5.66636,-6.00548,-5.78022,5.89169]}, + {"t":1.86533, "x":3.33158, "y":0.73279, "heading":0.00284, "vx":1.49966, "vy":-0.00766, "omega":-0.22618, "ax":-0.00002, "ay":-0.00439, "alpha":1.65552, "fx":[-4.71317,-4.67815,4.71208,4.67805], "fy":[4.62109,-4.76954,-4.73503,4.65562]}, + {"t":1.91282, "x":3.4028, "y":0.73242, "heading":-0.0079, "vx":1.49966, "vy":-0.00786, "omega":-0.14756, "ax":-0.00002, "ay":-0.00439, "alpha":1.30069, "fx":[-3.66245,-3.716,3.66153,3.71571], "fy":[3.65879,-3.719,-3.77286,3.60493]}, + {"t":1.96031, "x":3.47402, "y":0.73204, "heading":-0.01491, "vx":1.49966, "vy":-0.00807, "omega":-0.08579, "ax":-0.00002, "ay":-0.0044, "alpha":0.99648, "fx":[-2.78528,-2.86719,2.78447,2.86675], "fy":[2.80984,-2.84196,-2.92405,2.72775]}, + {"t":2.0078, "x":3.54523, "y":0.73165, "heading":-0.01898, "vx":1.49966, "vy":-0.00828, "omega":-0.03847, "ax":-0.00002, "ay":-0.00441, "alpha":0.74124, "fx":[-2.06282,-2.14171,2.06206,2.14117], "fy":[2.08425,-2.1196,-2.1986,2.00525]}, + {"t":2.05529, "x":3.61645, "y":0.73126, "heading":-0.02081, "vx":1.49966, "vy":-0.00849, "omega":-0.00327, "ax":-0.00003, "ay":-0.00441, "alpha":0.53245, "fx":[-1.47881,-1.54149,1.47809,1.54089], "fy":[1.48393,-1.53568,-1.59842,1.42119]}, + {"t":2.10277, "x":3.68767, "y":0.73085, "heading":-0.02096, "vx":1.49966, "vy":-0.0087, "omega":0.02202, "ax":-0.00003, "ay":-0.00442, "alpha":0.36518, "fx":[-1.01405,-1.05764,1.01335,1.057], "fy":[1.0,-1.07101,-1.11462,0.95638]}, + {"t":2.15026, "x":3.75889, "y":0.73043, "heading":-0.01992, "vx":1.49966, "vy":-0.00891, "omega":0.03936, "ax":-0.00003, "ay":-0.00442, "alpha":0.23485, "fx":[-0.65292,-0.67969,0.65222,0.67901], "fy":[0.62197,-0.70995,-0.73673,0.59518]}, + {"t":2.19775, "x":3.8301, "y":0.73, "heading":-0.01805, "vx":1.49966, "vy":-0.00912, "omega":0.05052, "ax":-0.00003, "ay":-0.00443, "alpha":0.13556, "fx":[-0.37774,-0.39181,0.37703,0.3911], "fy":[0.334,-0.43483,-0.4489,0.31993]}, + {"t":2.24524, "x":3.90132, "y":0.72956, "heading":-0.01565, "vx":1.49966, "vy":-0.00933, "omega":0.05695, "ax":-0.00003, "ay":-0.00443, "alpha":0.06199, "fx":[-0.17335,-0.17895,0.17263,0.17823], "fy":[0.12107,-0.23051,-0.2361,0.11547]}, + {"t":2.29273, "x":3.97254, "y":0.72912, "heading":-0.01295, "vx":1.49965, "vy":-0.00954, "omega":0.0599, "ax":-0.00003, "ay":-0.00444, "alpha":0.00865, "fx":[-0.02458,-0.02522,0.02383,0.02448], "fy":[-0.03275,-0.0818,-0.08244,-0.03338]}, + {"t":2.34022, "x":4.04376, "y":0.72866, "heading":-0.0101, "vx":1.49965, "vy":-0.00975, "omega":0.06031, "ax":-0.00003, "ay":-0.00444, "alpha":-0.02981, "fx":[0.08327,0.08503,-0.08403,-0.08579], "fy":[-0.14308,0.02598,0.02775,-0.14131]}, + {"t":2.38771, "x":4.11497, "y":0.72819, "heading":-0.00724, "vx":1.49965, "vy":-0.00996, "omega":0.05889, "ax":-0.00003, "ay":-0.00445, "alpha":-0.0581, "fx":[0.16315,0.16563,-0.16392,-0.16641], "fy":[-0.22376,0.10579,0.10828,-0.22127]}, + {"t":2.4352, "x":4.18619, "y":0.72771, "heading":-0.00444, "vx":1.49965, "vy":-0.01017, "omega":0.05613, "ax":-0.00003, "ay":-0.00446, "alpha":-0.08117, "fx":[0.22874,0.2309,-0.22953,-0.2317], "fy":[-0.28912,0.17131,0.17348,-0.28695]}, + {"t":2.48269, "x":4.25741, "y":0.72722, "heading":-0.00177, "vx":1.49965, "vy":-0.01039, "omega":0.05228, "ax":-0.00003, "ay":-0.00446, "alpha":-0.10319, "fx":[0.29168,0.29285,-0.2925,-0.29366], "fy":[-0.35116,0.23418,0.23535,-0.34999]}, + {"t":2.53018, "x":4.32863, "y":0.72672, "heading":0.00071, "vx":1.49965, "vy":-0.0106, "omega":0.04738, "ax":-0.00003, "ay":-0.00447, "alpha":-0.12852, "fx":[0.36428,0.3639,-0.36512,-0.36472], "fy":[-0.4223,0.3067,0.30632,-0.42269]}, + {"t":2.57767, "x":4.39984, "y":0.72622, "heading":0.00296, "vx":1.49965, "vy":-0.01081, "omega":0.04128, "ax":-0.00003, "ay":-0.00448, "alpha":-0.16096, "fx":[0.45739,0.45481,-0.45824,-0.45565], "fy":[-0.51331,0.39973,0.39715,-0.51589]}, + {"t":2.62516, "x":4.47106, "y":0.7257, "heading":0.00492, "vx":1.49964, "vy":-0.01102, "omega":0.03363, "ax":-0.00003, "ay":-0.00446, "alpha":-0.20433, "fx":[0.58189,0.5763,-0.58275,-0.57715], "fy":[-0.63462,0.52442,0.51882,-0.64022]}, + {"t":2.67265, "x":4.54228, "y":0.72517, "heading":0.00651, "vx":1.49964, "vy":-0.01123, "omega":0.02393, "ax":-0.00001, "ay":-0.00185, "alpha":-0.26207, "fx":[0.7479,0.73828,-0.74826,-0.73865], "fy":[-0.76244,0.72408,0.71447,-0.77205]}, + {"t":2.72014, "x":4.61349, "y":0.72463, "heading":0.00765, "vx":1.49964, "vy":-0.01132, "omega":0.01148, "ax":-0.00591, "ay":0.33121, "alpha":-0.33644, "fx":[0.88611,0.87127,-1.03901,-1.0254], "fy":[3.35297,5.25882,5.24391,3.3381]}, + {"t":2.76762, "x":4.6847, "y":0.72447, "heading":0.0082, "vx":1.49936, "vy":0.00441, "omega":-0.0045, "ax":0.00394, "ay":0.33392, "alpha":-0.24925, "fx":[0.76512,0.7529,-0.66244,-0.6509], "fy":[3.63334,5.04522,5.03394,3.62202]}, + {"t":2.8149, "x":4.7556, "y":0.72505, "heading":0.00798, "vx":1.49955, "vy":0.02019, "omega":-0.01628, "ax":0.00002, "ay":-0.0018, "alpha":-0.18165, "fx":[0.5196,0.51136,-0.51897,-0.51074], "fy":[-0.53435,0.49598,0.48773,-0.54259]}, + {"t":2.86218, "x":4.82649, "y":0.726, "heading":0.00721, "vx":1.49955, "vy":0.02011, "omega":-0.02487, "ax":0.00006, "ay":-0.00446, "alpha":-0.12795, "fx":[0.36628,0.36103,-0.36474,-0.35949], "fy":[-0.41811,0.30766,0.3024,-0.42336]}, + {"t":2.90946, "x":4.89739, "y":0.72695, "heading":0.00604, "vx":1.49955, "vy":0.0199, "omega":-0.03092, "ax":0.00006, "ay":-0.00447, "alpha":-0.08639, "fx":[0.24727,0.2443,-0.24574,-0.24277], "fy":[-0.3015,0.18853,0.18556,-0.30447]}, + {"t":2.95674, "x":4.96829, "y":0.72789, "heading":0.00458, "vx":1.49955, "vy":0.01969, "omega":-0.035, "ax":0.00006, "ay":-0.00445, "alpha":-0.05272, "fx":[0.15096,0.14958,-0.14945,-0.14807], "fy":[-0.20664,0.09238,0.09101,-0.20802]}, + {"t":3.00402, "x":5.03918, "y":0.72881, "heading":0.00292, "vx":1.49956, "vy":0.01948, "omega":-0.03749, "ax":0.00006, "ay":-0.00444, "alpha":-0.02547, "fx":[0.07319,0.07277,-0.07171,-0.07128], "fy":[-0.12969,0.01478,0.01436,-0.13011]}, + {"t":3.0513, "x":5.11008, "y":0.72973, "heading":0.00115, "vx":1.49956, "vy":0.01927, "omega":-0.0387, "ax":0.00006, "ay":-0.00443, "alpha":0.00096, "fx":[-0.00199,-0.00198,0.00346,0.00345], "fy":[-0.0548,-0.06024,-0.06023,-0.05479]}, + {"t":3.09858, "x":5.18098, "y":0.73063, "heading":-0.00068, "vx":1.49956, "vy":0.01906, "omega":-0.03865, "ax":0.00006, "ay":-0.00442, "alpha":0.0266, "fx":[-0.07467,-0.07477,0.07612,0.07622], "fy":[0.01812,-0.13276,-0.13286,0.01802]}, + {"t":3.14586, "x":5.25188, "y":0.73153, "heading":-0.00251, "vx":1.49956, "vy":0.01885, "omega":-0.03739, "ax":0.00006, "ay":-0.00441, "alpha":0.05836, "fx":[-0.1644,-0.16523,0.16583,0.16666], "fy":[0.10872,-0.22234,-0.22317,0.10789]}, + {"t":3.19313, "x":5.32278, "y":0.73241, "heading":-0.00428, "vx":1.49957, "vy":0.01864, "omega":-0.03464, "ax":0.00005, "ay":-0.0044, "alpha":0.09509, "fx":[-0.26785,-0.27016,0.26925,0.27157], "fy":[0.21378,-0.32563,-0.32794,0.21147]}, + {"t":3.24041, "x":5.39367, "y":0.73329, "heading":-0.00591, "vx":1.49957, "vy":0.01843, "omega":-0.03014, "ax":0.00005, "ay":-0.00439, "alpha":0.14439, "fx":[-0.40638,-0.41123,0.40777,0.41263], "fy":[0.35499,-0.46401,-0.46887,0.35013]}, + {"t":3.28769, "x":5.46457, "y":0.73416, "heading":-0.00734, "vx":1.49957, "vy":0.01822, "omega":-0.02331, "ax":0.00005, "ay":-0.00438, "alpha":0.20474, "fx":[-0.57572,-0.58426,0.57709,0.58564], "fy":[0.52814,-0.63321,-0.64175,0.51959]}, + {"t":3.33497, "x":5.53547, "y":0.73501, "heading":-0.00844, "vx":1.49957, "vy":0.01802, "omega":-0.01363, "ax":0.00005, "ay":-0.00437, "alpha":0.283, "fx":[-0.79516,-0.80874,0.79649,0.8101], "fy":[0.75274,-0.85249,-0.86608,0.73915]}, + {"t":3.38225, "x":5.60637, "y":0.73586, "heading":-0.00908, "vx":1.49958, "vy":0.01781, "omega":-0.00025, "ax":0.00005, "ay":-0.00436, "alpha":0.37866, "fx":[-1.06348,-1.08303,1.06479,1.08439], "fy":[1.02717,-1.12067,-1.14024,1.00759]}, + {"t":3.42953, "x":5.67727, "y":0.7367, "heading":-0.0091, "vx":1.49958, "vy":0.0176, "omega":0.01765, "ax":0.00005, "ay":-0.00435, "alpha":0.49554, "fx":[-1.39193,-1.41755,1.39321,1.41891], "fy":[1.36181,-1.44897,-1.47462,1.33615]}, + {"t":3.47681, "x":5.74816, "y":0.73753, "heading":-0.00826, "vx":1.49958, "vy":0.0174, "omega":0.04108, "ax":0.00005, "ay":-0.00434, "alpha":0.63539, "fx":[-1.78648,-1.81629,1.7877,1.81766], "fy":[1.76068,-1.84335,-1.87323,1.7308]}, + {"t":3.52409, "x":5.81906, "y":0.73834, "heading":-0.00632, "vx":1.49958, "vy":0.01719, "omega":0.07112, "ax":0.00005, "ay":-0.00433, "alpha":0.79643, "fx":[-2.24387,-2.27246,2.24503,2.27385], "fy":[2.21699,-2.30058,-2.32928,2.18828]}, + {"t":3.57137, "x":5.88996, "y":0.73915, "heading":-0.00296, "vx":1.49959, "vy":0.01699, "omega":0.10877, "ax":0.00005, "ay":-0.00432, "alpha":0.98278, "fx":[-2.77848,-2.79499,2.77957,2.79642], "fy":[2.73966,-2.83502,-2.8517,2.72298]}, + {"t":3.61864, "x":5.96086, "y":0.73995, "heading":0.00218, "vx":1.49959, "vy":0.01679, "omega":0.15524, "ax":0.00005, "ay":-0.0043, "alpha":1.18505, "fx":[-3.36774,-3.35312,3.36875,3.35459], "fy":[3.29797,-3.42409,-3.4097,3.31235]}, + {"t":3.66592, "x":6.03176, "y":0.74074, "heading":0.00952, "vx":1.49959, "vy":0.01658, "omega":0.21127, "ax":0.00004, "ay":-0.00396, "alpha":1.40765, "fx":[-4.0295,-3.95374,4.03049,3.95501], "fy":[3.90295,-4.08142,-4.0058,3.97857]}, + {"t":3.7132, "x":6.10266, "y":0.74152, "heading":0.01951, "vx":1.49959, "vy":0.01639, "omega":0.27782, "ax":-0.00044, "ay":0.03784, "alpha":1.63192, "fx":[-4.72236,-4.54582,4.71446,4.53103], "fy":[5.02793,-4.22557,-4.04557,5.2077]}, + {"t":3.76048, "x":6.17356, "y":0.74234, "heading":0.03265, "vx":1.49957, "vy":0.01818, "omega":0.35497, "ax":-0.41628, "ay":4.70896, "alpha":1.50573, "fx":[-10.12068,-10.11456,-0.54574,-0.82933], "fy":[64.73138,57.08571,57.49882,65.13933]}, + {"t":3.80776, "x":6.24399, "y":0.74846, "heading":0.04943, "vx":1.47989, "vy":0.24082, "omega":0.42616, "ax":-1.11054, "ay":4.6439, "alpha":1.60244, "fx":[-19.35248,-19.4483,-9.31945,-9.53086], "fy":[63.93826,55.75815,56.59886,64.78227]}, + {"t":3.85474, "x":6.31228, "y":0.76489, "heading":0.06945, "vx":1.42772, "vy":0.45897, "omega":0.50144, "ax":-0.01216, "ay":0.03775, "alpha":2.09555, "fx":[-6.49592,-5.67998,6.18611,5.3585], "fy":[6.0054,-5.84983,-5.02656,6.83069]}, + {"t":3.90171, "x":6.37934, "y":0.7865, "heading":0.09301, "vx":1.42715, "vy":0.46074, "omega":0.59988, "ax":0.00098, "ay":-0.00303, "alpha":2.16975, "fx":[-6.68516,-5.54412,6.71041,5.5697], "fy":[5.51753,-6.73717,-5.59627,6.65839]}, + {"t":3.94869, "x":6.44638, "y":0.80814, "heading":0.12118, "vx":1.4272, "vy":0.4606, "omega":0.7018, "ax":0.00104, "ay":-0.00321, "alpha":2.20794, "fx":[-6.95903,-5.44685,6.9853,5.47437], "fy":[5.41892,-7.01387,-5.50224,6.93045]}, + {"t":3.99566, "x":6.51343, "y":0.82977, "heading":0.15415, "vx":1.42725, "vy":0.46045, "omega":0.80552, "ax":0.00099, "ay":-0.00308, "alpha":2.20052, "fx":[-7.11164,-5.19725,7.13674,5.22365], "fy":[5.17049,-7.1641,-5.25033,7.08425]}, + {"t":4.04264, "x":6.58047, "y":0.8514, "heading":0.19199, "vx":1.42729, "vy":0.4603, "omega":0.90889, "ax":0.00095, "ay":-0.00295, "alpha":2.14634, "fx":[-7.1239,-4.8032,7.148,4.8285], "fy":[4.77748,-7.17423,-4.85415,7.09764]}, + {"t":4.08961, "x":6.64752, "y":0.87302, "heading":0.23469, "vx":1.42734, "vy":0.46017, "omega":1.00972, "ax":0.00092, "ay":-0.00284, "alpha":2.04082, "fx":[-6.96266,-4.27337,6.9859,4.29764], "fy":[4.24858,-7.01109,-4.32238,6.93745]}, + {"t":4.13659, "x":6.71457, "y":0.89463, "heading":0.28212, "vx":1.42738, "vy":0.46003, "omega":1.10559, "ax":0.00088, "ay":-0.00274, "alpha":1.883, "fx":[-6.60386,-3.63306,6.62634,3.65637], "fy":[3.60911,-6.65057,-3.68028,6.57961]}, + {"t":4.18357, "x":6.78163, "y":0.91624, "heading":0.33406, "vx":1.42742, "vy":0.4599, "omega":1.19405, "ax":0.00085, "ay":-0.00264, "alpha":1.67479, "fx":[-6.03302,-2.92084,6.05481,2.94325], "fy":[2.89766,-6.07816,-2.96639,6.00965]}, + {"t":4.23054, "x":6.84868, "y":0.93784, "heading":0.39015, "vx":1.42746, "vy":0.45978, "omega":1.27272, "ax":0.00082, "ay":-0.00256, "alpha":1.41728, "fx":[-5.23507,-2.1799,5.25622,2.20146], "fy":[2.15746,-5.27874,-2.22388,5.21253]}, + {"t":4.27752, "x":6.91574, "y":0.95943, "heading":0.44994, "vx":1.4275, "vy":0.45966, "omega":1.3393, "ax":0.0008, "ay":-0.00247, "alpha":1.11889, "fx":[-4.22689,-1.46861,4.24742,1.48937], "fy":[1.44688,-4.26918,-1.51109,4.20512]}, + {"t":4.32449, "x":6.9828, "y":0.98103, "heading":0.51285, "vx":1.42754, "vy":0.45954, "omega":1.39186, "ax":0.00077, "ay":-0.00239, "alpha":0.78221, "fx":[-3.01136,-0.83569,3.03127,0.8557], "fy":[0.81465,-3.0523,-0.87672,2.99032]}, + {"t":4.37147, "x":7.04986, "y":1.00261, "heading":0.57823, "vx":1.42757, "vy":0.45943, "omega":1.4286, "ax":0.00074, "ay":-0.00231, "alpha":0.42069, "fx":[-1.64154,-0.33807,1.66082,0.35738], "fy":[0.31772,-1.68116,-0.37771,1.6212]}, + {"t":4.41844, "x":7.11692, "y":1.02419, "heading":0.64534, "vx":1.42761, "vy":0.45932, "omega":1.44837, "ax":0.00072, "ay":-0.00223, "alpha":0.0352, "fx":[-0.13045,-0.01048,0.14909,0.02913], "fy":[-0.00918,-0.16876,-0.04879,0.11079]}, + {"t":4.46542, "x":7.18398, "y":1.04576, "heading":0.71338, "vx":1.42764, "vy":0.45922, "omega":1.45002, "ax":0.00069, "ay":-0.00216, "alpha":-0.35976, "fx":[1.44824,0.11324,-1.43023,-0.09523], "fy":[-0.13224,1.41124,0.07623,-1.46723]}, + {"t":4.5124, "x":7.25105, "y":1.06733, "heading":0.7815, "vx":1.42768, "vy":0.45912, "omega":1.43312, "ax":0.00064, "ay":-0.00199, "alpha":-0.76802, "fx":[3.0888,0.02116,-3.07223,-0.00458], "fy":[-0.03864,3.05473,-0.01291,-3.10627]}, + {"t":4.55937, "x":7.31812, "y":1.0889, "heading":0.84882, "vx":1.42771, "vy":0.45902, "omega":1.39704, "ax":-0.00329, "ay":0.01023, "alpha":-1.17964, "fx":[4.67997,-0.34124,-4.76518,0.25564], "fy":[0.43229,4.85382,-0.16577,-4.58938]}, + {"t":4.60635, "x":7.38518, "y":1.11047, "heading":0.91445, "vx":1.42755, "vy":0.4595, "omega":1.34163, "ax":-0.51555, "ay":1.4764, "alpha":-1.54281, "fx":[-0.45524,-7.42713,-12.92014,-5.96127], "fy":[20.04068,25.17999,18.32585,13.09737]}, + {"t":4.65332, "x":7.45167, "y":1.13369, "heading":0.97747, "vx":1.40333, "vy":0.52886, "omega":1.26915, "ax":-7.68415, "ay":11.68195, "alpha":-0.0745, "fx":[-99.27568,-99.5547,-100.17562,-99.89931], "fy":[151.89702,151.74712,151.32424,151.47375]}, + {"t":4.7003, "x":7.50912, "y":1.17142, "heading":1.03709, "vx":1.04236, "vy":1.07763, "omega":1.26565, "ax":-11.92449, "ay":7.15411, "alpha":-0.08444, "fx":[-154.50317,-154.54065,-155.01222,-154.97706], "fy":[93.23525,93.24796,92.46143,92.44489]}, + {"t":4.74925, "x":7.54585, "y":1.23274, "heading":1.09904, "vx":0.45864, "vy":1.42783, "omega":1.26152, "ax":-1.17468, "ay":0.35162, "alpha":-1.82169, "fx":[-8.33555,-17.43858,-22.12222,-13.08474], "fy":[6.91904,11.54714,2.25456,-2.46713]}, + {"t":4.7982, "x":7.5669, "y":1.30306, "heading":1.1608, "vx":0.40114, "vy":1.44504, "omega":1.17234, "ax":-0.00837, "ay":0.00232, "alpha":-1.76302, "fx":[6.47078,-2.70067,-6.6869,2.48242], "fy":[2.62358,6.60888,-2.56158,-6.55037]}, + {"t":4.84715, "x":7.58652, "y":1.3738, "heading":1.21819, "vx":0.40073, "vy":1.44516, "omega":1.08604, "ax":0.00027, "ay":-0.00008, "alpha":-1.68466, "fx":[6.13801,-2.82971,-6.13091,2.8367], "fy":[2.83231,6.13345,-2.83416,-6.13553]}, + {"t":4.89611, "x":7.60614, "y":1.44454, "heading":1.27135, "vx":0.40074, "vy":1.44515, "omega":1.00357, "ax":0.00031, "ay":-0.00009, "alpha":-1.63746, "fx":[5.81191,-3.06269,-5.8039,3.0707], "fy":[3.06557,5.8068,-3.06782,-5.80901]}, + {"t":4.94506, "x":7.62576, "y":1.51529, "heading":1.32048, "vx":0.40076, "vy":1.44515, "omega":0.92342, "ax":0.00029, "ay":-0.00008, "alpha":-1.6235, "fx":[5.60587,-3.31587,-5.59846,3.32329], "fy":[3.31854,5.60115,-3.32063,-5.60318]}, + {"t":4.99401, "x":7.64538, "y":1.58603, "heading":1.36568, "vx":0.40077, "vy":1.44515, "omega":0.84394, "ax":0.00027, "ay":-0.00007, "alpha":-1.64463, "fx":[5.52081,-3.61232,-5.51394,3.6192], "fy":[3.61479,5.51643,-3.61673,-5.51832]}, + {"t":5.04296, "x":7.66499, "y":1.65677, "heading":1.40699, "vx":0.40078, "vy":1.44514, "omega":0.76344, "ax":0.00025, "ay":-0.00007, "alpha":-1.70315, "fx":[5.5574,-3.97397,-5.551,3.98038], "fy":[3.97627,5.55332,-3.97808,-5.55507]}, + {"t":5.09191, "x":7.68461, "y":1.72751, "heading":1.44436, "vx":0.40079, "vy":1.44514, "omega":0.68006, "ax":0.00023, "ay":-0.00006, "alpha":-1.80172, "fx":[5.71732,-4.42095,-5.71136,4.42691], "fy":[4.42309,5.71352,-4.42478,-5.71515]}, + {"t":5.14086, "x":7.70423, "y":1.79825, "heading":1.47765, "vx":0.40081, "vy":1.44514, "omega":0.59187, "ax":0.00021, "ay":-0.00006, "alpha":-1.94365, "fx":[6.00498,-4.97218,-5.99941,4.97775], "fy":[4.97417,6.00144,-4.97575,-6.00296]}, + {"t":5.18982, "x":7.72385, "y":1.869, "heading":1.50663, "vx":0.40082, "vy":1.44513, "omega":0.49672, "ax":0.0002, "ay":-0.00006, "alpha":-2.133, "fx":[6.42858,-5.64559,-6.42337,5.65079], "fy":[5.64745,6.42527,-5.64893,-6.42668]}, + {"t":5.23877, "x":7.74347, "y":1.93974, "heading":1.53094, "vx":0.40083, "vy":1.44513, "omega":0.39231, "ax":0.00019, "ay":-0.00005, "alpha":-2.37465, "fx":[7.00136,-6.45781,-6.99649,6.46268], "fy":[6.45955,6.99827,-6.46094,-6.99959]}, + {"t":5.28772, "x":7.7631, "y":2.01048, "heading":1.55015, "vx":0.40084, "vy":1.44513, "omega":0.27607, "ax":0.00018, "ay":-0.00005, "alpha":-2.67463, "fx":[7.74406,-7.42421,-7.73948,7.42875], "fy":[7.42585,7.74114,-7.42723,-7.74245]}, + {"t":5.33667, "x":7.78272, "y":2.08122, "heading":1.56366, "vx":0.40084, "vy":1.44513, "omega":0.14514, "ax":-0.44521, "ay":-1.60583, "alpha":-2.95526, "fx":[2.79253,-14.34547,-14.17841,2.61909], "fy":[-12.66188,-12.46149,-28.98034,-29.25938]}, + {"t":5.38562, "x":7.80181, "y":2.15004, "heading":1.57076, "vx":0.37905, "vy":1.36652, "omega":0.00047, "ax":-3.86994, "ay":-13.95165, "alpha":-0.00617, "fx":[-50.20135,-50.26628,-50.2483,-50.18339], "fy":[-181.07358,-181.05559,-181.06071,-181.07868]}, + {"t":5.43457, "x":7.81572, "y":2.20022, "heading":1.57079, "vx":0.18961, "vy":0.68356, "omega":0.00017, "ax":-3.8734, "ay":-13.96397, "alpha":-0.00347, "fx":[-50.25649,-50.29305,-50.28292,-50.24637], "fy":[-181.23068,-181.22055,-181.22339,-181.23352]}, + {"t":5.48353, "x":7.82037, "y":2.21695, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/PLtoD.traj b/src/main/deploy/choreo/PLtoD.traj new file mode 100644 index 0000000..587f7cd --- /dev/null +++ b/src/main/deploy/choreo/PLtoD.traj @@ -0,0 +1,106 @@ +{ + "name":"PLtoD", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":3.7620644569396977, "y":7.357067584991455, "heading":3.141592653589793, "intervals":26, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":2.1236233711242676, "y":6.343014240264893, "heading":3.141592653589793, "intervals":18, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":0.8098713755607605, "y":6.312607765197754, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"3.7620644569396973 m", "val":3.7620644569396977}, "y":{"exp":"7.357067584991455 m", "val":7.357067584991455}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":26, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"2.1236233711242676 m", "val":2.1236233711242676}, "y":{"exp":"6.343014240264893 m", "val":6.343014240264893}, "heading":{"exp":"3.141592653589793 rad", "val":3.141592653589793}, "intervals":18, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"D.x", "val":0.8098713755607605}, "y":{"exp":"D.y", "val":6.312607765197754}, "heading":{"exp":"D.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.33767,2.26667], + "samples":[ + {"t":0.0, "x":3.76206, "y":7.35707, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-12.28112, "ay":-7.69421, "alpha":0.0, "fx":[-159.3866,-159.3866,-159.3866,-159.3866], "fy":[-99.85685,-99.85685,-99.85685,-99.85685]}, + {"t":0.05145, "x":3.74581, "y":7.34688, "heading":3.14159, "vx":-0.63185, "vy":-0.39586, "omega":0.0, "ax":-12.27089, "ay":-7.6878, "alpha":0.0, "fx":[-159.25384,-159.25384,-159.25384,-159.25384], "fy":[-99.77368,-99.77368,-99.77368,-99.77368]}, + {"t":0.1029, "x":3.69706, "y":7.31634, "heading":3.14159, "vx":-1.26317, "vy":-0.79138, "omega":0.0, "ax":-0.14998, "ay":-0.09396, "alpha":0.0, "fx":[-1.94647,-1.94647,-1.94647,-1.94647], "fy":[-1.21948,-1.21948,-1.21948,-1.21948]}, + {"t":0.15435, "x":3.63188, "y":7.2755, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20579, "x":3.56649, "y":7.23454, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.25724, "x":3.50111, "y":7.19357, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.30869, "x":3.43572, "y":7.15261, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.36014, "x":3.37033, "y":7.11165, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.41159, "x":3.30495, "y":7.07068, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.46304, "x":3.23956, "y":7.02972, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.51449, "x":3.17418, "y":6.98875, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.56594, "x":3.10879, "y":6.94779, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.61738, "x":3.04341, "y":6.90682, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.66883, "x":2.97802, "y":6.86586, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.72028, "x":2.91264, "y":6.8249, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.77173, "x":2.84725, "y":6.78393, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.82318, "x":2.78187, "y":6.74297, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.87463, "x":2.71648, "y":6.702, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.92608, "x":2.6511, "y":6.66104, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.97752, "x":2.58571, "y":6.62007, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.02897, "x":2.52033, "y":6.57911, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.08042, "x":2.45494, "y":6.53814, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.13187, "x":2.38955, "y":6.49718, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[-0.00002,-0.00002,-0.00002,-0.00002], "fy":[0.00003,0.00003,0.00003,0.00003]}, + {"t":1.18332, "x":2.32417, "y":6.45622, "heading":3.14159, "vx":-1.27088, "vy":-0.79622, "omega":0.0, "ax":-0.00023, "ay":0.00037, "alpha":0.0, "fx":[-0.003,-0.003,-0.003,-0.003], "fy":[0.00479,0.00479,0.00479,0.00479]}, + {"t":1.23477, "x":2.25878, "y":6.41525, "heading":3.14159, "vx":-1.2709, "vy":-0.7962, "omega":0.0, "ax":-0.0366, "ay":0.05858, "alpha":0.0, "fx":[-0.47498,-0.47498,-0.47498,-0.47498], "fy":[0.76021,0.76021,0.76021,0.76021]}, + {"t":1.28622, "x":2.19335, "y":6.37437, "heading":3.14159, "vx":-1.27278, "vy":-0.79319, "omega":0.0, "ax":-3.2059, "ay":7.14515, "alpha":0.0, "fx":[-41.60672,-41.60672,-41.60672,-41.60672], "fy":[92.73113,92.73113,92.73113,92.73113]}, + {"t":1.33767, "x":2.12362, "y":6.34301, "heading":3.14159, "vx":-1.43772, "vy":-0.42558, "omega":0.0, "ax":-1.19655, "ay":7.73872, "alpha":0.0, "fx":[-15.52911,-15.52911,-15.52911,-15.52911], "fy":[100.4346,100.4346,100.4346,100.4346]}, + {"t":1.38928, "x":2.04783, "y":6.33136, "heading":3.14159, "vx":-1.49947, "vy":-0.02617, "omega":0.0, "ax":-0.00112, "ay":0.06881, "alpha":0.0, "fx":[-0.01455,-0.01455,-0.01455,-0.01455], "fy":[0.89308,0.89308,0.89308,0.89308]}, + {"t":1.44089, "x":1.97044, "y":6.3301, "heading":3.14159, "vx":-1.49953, "vy":-0.02262, "omega":0.0, "ax":-0.00001, "ay":0.00043, "alpha":0.0, "fx":[-0.00008,-0.00008,-0.00008,-0.00008], "fy":[0.00561,0.00561,0.00561,0.00561]}, + {"t":1.4925, "x":1.89304, "y":6.32893, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.00004,0.00004,0.00004,0.00004]}, + {"t":1.54411, "x":1.81565, "y":6.32776, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.59572, "x":1.73826, "y":6.3266, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.64733, "x":1.66086, "y":6.32543, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.69894, "x":1.58347, "y":6.32427, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.75056, "x":1.50608, "y":6.3231, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.80217, "x":1.42869, "y":6.32193, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.85378, "x":1.35129, "y":6.32077, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.90539, "x":1.2739, "y":6.3196, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.957, "x":1.19651, "y":6.31843, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.00861, "x":1.11912, "y":6.31727, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.06022, "x":1.04172, "y":6.3161, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.11183, "x":0.96433, "y":6.31494, "heading":3.14159, "vx":-1.49953, "vy":-0.0226, "omega":0.0, "ax":0.0861, "ay":0.0013, "alpha":0.0, "fx":[1.11737,1.11737,1.11737,1.11737], "fy":[0.01684,0.01684,0.01684,0.01684]}, + {"t":2.16345, "x":0.88705, "y":6.31377, "heading":3.14159, "vx":-1.49509, "vy":-0.02253, "omega":0.0, "ax":14.4778, "ay":0.21817, "alpha":0.0, "fx":[187.89552,187.89552,187.89552,187.89552], "fy":[2.8315,2.8315,2.8315,2.8315]}, + {"t":2.21506, "x":0.82917, "y":6.3129, "heading":3.14159, "vx":-0.74787, "vy":-0.01127, "omega":0.0, "ax":14.49047, "ay":0.21836, "alpha":0.0, "fx":[188.05994,188.05994,188.05994,188.05994], "fy":[2.83397,2.83397,2.83397,2.83397]}, + {"t":2.26667, "x":0.80987, "y":6.31261, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/PRtoO.traj b/src/main/deploy/choreo/PRtoO.traj new file mode 100644 index 0000000..8506bf1 --- /dev/null +++ b/src/main/deploy/choreo/PRtoO.traj @@ -0,0 +1,105 @@ +{ + "name":"PRtoO", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":3.7242095470428462, "y":0.7309682965278625, "heading":3.141592690548533, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7400096654891968, "y":0.7318795323371887, "heading":0.0, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":0.6150895357131958, "y":0.7198631167411804, "heading":3.141592653589793, "intervals":9, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"PR.x", "val":3.7242095470428462}, "y":{"exp":"PR.y", "val":0.7309682965278625}, "heading":{"exp":"PR.heading", "val":3.141592690548533}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"1.7400096654891968 m", "val":1.7400096654891968}, "y":{"exp":"0.7318795323371887 m", "val":0.7318795323371887}, "heading":{"exp":"0 deg", "val":0.0}, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":false, "overrideIntervals":false}, + {"x":{"exp":"O.x", "val":0.6150895357131958}, "y":{"exp":"O.y", "val":0.7198631167411804}, "heading":{"exp":"O.heading", "val":3.141592653589793}, "intervals":9, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.37522,2.17785], + "samples":[ + {"t":0.0, "x":3.72421, "y":0.73097, "heading":-3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-14.49218, "ay":0.00825, "alpha":0.0, "fx":[-188.08214,-188.08214,-188.08214,-188.08214], "fy":[0.10712,0.10712,0.10712,0.10712]}, + {"t":0.05093, "x":3.70541, "y":0.73098, "heading":-3.14159, "vx":-0.73814, "vy":0.00042, "omega":0.0, "ax":-14.48022, "ay":0.00825, "alpha":0.0, "fx":[-187.92699,-187.92699,-187.92699,-187.92699], "fy":[0.10703,0.10703,0.10703,0.10703]}, + {"t":0.10187, "x":3.64903, "y":0.73101, "heading":-3.14159, "vx":-1.47568, "vy":0.00084, "omega":0.0, "ax":-0.47162, "ay":0.00027, "alpha":0.0, "fx":[-6.12074,-6.12074,-6.12074,-6.12074], "fy":[0.00349,0.00349,0.00349,0.00349]}, + {"t":0.1528, "x":3.57326, "y":0.73105, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[-0.00001,-0.00001,-0.00001,-0.00001], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20374, "x":3.49687, "y":0.7311, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.25467, "x":3.42049, "y":0.73114, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.3056, "x":3.3441, "y":0.73118, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.35654, "x":3.26772, "y":0.73123, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.40747, "x":3.19133, "y":0.73127, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.45841, "x":3.11494, "y":0.73132, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.50934, "x":3.03856, "y":0.73136, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.56027, "x":2.96217, "y":0.7314, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.61121, "x":2.88579, "y":0.73145, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.66214, "x":2.8094, "y":0.73149, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.71308, "x":2.73302, "y":0.73153, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.76401, "x":2.65663, "y":0.73158, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.81494, "x":2.58024, "y":0.73162, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.86588, "x":2.50386, "y":0.73166, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.91681, "x":2.42747, "y":0.73171, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.96775, "x":2.35109, "y":0.73175, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.01868, "x":2.2747, "y":0.73179, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.06961, "x":2.19832, "y":0.73184, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.12055, "x":2.12193, "y":0.73188, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.17148, "x":2.04554, "y":0.73192, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.00001,-0.00001,-0.00001,-0.00001]}, + {"t":1.22242, "x":1.96916, "y":0.73197, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.00004,-0.00004,-0.00004,-0.00004]}, + {"t":1.27335, "x":1.89277, "y":0.73201, "heading":-3.14159, "vx":-1.4997, "vy":0.00085, "omega":0.0, "ax":0.0, "ay":-0.00108, "alpha":0.0, "fx":[-0.00001,-0.00001,-0.00001,-0.00001], "fy":[-0.01402,-0.01402,-0.01402,-0.01402]}, + {"t":1.32428, "x":1.81639, "y":0.73205, "heading":-3.14159, "vx":-1.4997, "vy":0.0008, "omega":0.0, "ax":0.00639, "ay":-0.16547, "alpha":0.0, "fx":[0.08296,0.08296,0.08296,0.08296], "fy":[-2.14744,-2.14744,-2.14744,-2.14744]}, + {"t":1.37522, "x":1.74001, "y":0.73188, "heading":-3.14159, "vx":-1.49937, "vy":-0.00763, "omega":0.0, "ax":-0.00459, "ay":-0.17192, "alpha":0.0, "fx":[-0.05963,-0.05963,-0.05963,-0.05963], "fy":[-2.23127,-2.23127,-2.23127,-2.23127]}, + {"t":1.42538, "x":1.66479, "y":0.73128, "heading":-3.14159, "vx":-1.49961, "vy":-0.01625, "omega":0.0, "ax":0.00001, "ay":-0.00119, "alpha":0.0, "fx":[0.00017,0.00017,0.00017,0.00017], "fy":[-0.01539,-0.01539,-0.01539,-0.01539]}, + {"t":1.47555, "x":1.58956, "y":0.73046, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.00004,-0.00004,-0.00004,-0.00004]}, + {"t":1.52571, "x":1.51434, "y":0.72965, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[-0.00002,-0.00002,-0.00002,-0.00002]}, + {"t":1.57587, "x":1.43911, "y":0.72883, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.62604, "x":1.36388, "y":0.72801, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.6762, "x":1.28866, "y":0.72719, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.72637, "x":1.21343, "y":0.72637, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.77653, "x":1.1382, "y":0.72555, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.8267, "x":1.06298, "y":0.72474, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.87686, "x":0.98775, "y":0.72392, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.92702, "x":0.91252, "y":0.7231, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.97719, "x":0.8373, "y":0.72228, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.00002,0.00002,0.00002,0.00002], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.02735, "x":0.76207, "y":0.72146, "heading":-3.14159, "vx":-1.4996, "vy":-0.01631, "omega":0.0, "ax":0.9244, "ay":0.01006, "alpha":0.0, "fx":[11.99704,11.99704,11.99704,11.99704], "fy":[0.13051,0.13051,0.13051,0.13051]}, + {"t":2.07752, "x":0.68801, "y":0.72066, "heading":-3.14159, "vx":-1.45323, "vy":-0.01581, "omega":0.0, "ax":14.47857, "ay":0.1575, "alpha":0.0, "fx":[187.90551,187.90551,187.90551,187.90551], "fy":[2.04409,2.04409,2.04409,2.04409]}, + {"t":2.12768, "x":0.63332, "y":0.72006, "heading":-3.14159, "vx":-0.72693, "vy":-0.00791, "omega":0.0, "ax":14.49089, "ay":0.15764, "alpha":0.0, "fx":[188.0654,188.0654,188.0654,188.0654], "fy":[2.04583,2.04583,2.04583,2.04583]}, + {"t":2.17785, "x":0.61509, "y":0.71986, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SLtoCL.traj b/src/main/deploy/choreo/SLtoCL.traj new file mode 100644 index 0000000..303097f --- /dev/null +++ b/src/main/deploy/choreo/SLtoCL.traj @@ -0,0 +1,115 @@ +{ + "name":"SLtoCL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.814626932144165, "y":7.330637454986572, "heading":3.141592653589793, "intervals":55, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7636412382125854, "y":4.111053943634033, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.25}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SL.x", "val":2.814626932144165}, "y":{"exp":"SL.y", "val":7.330637454986572}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":55, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"CL.x", "val":1.7636412382125854}, "y":{"exp":"CL.y", "val":4.111053943634033}, "heading":{"exp":"CL.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.25 m / s", "val":1.25}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.80263], + "samples":[ + {"t":0.0, "x":2.81463, "y":7.33064, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-4.49499, "ay":-13.76994, "alpha":0.0, "fx":[-58.33688,-58.33688,-58.33688,-58.33688], "fy":[-178.70885,-178.70885,-178.70885,-178.70885]}, + {"t":0.05096, "x":2.80879, "y":7.31276, "heading":3.14159, "vx":-0.22905, "vy":-0.70167, "omega":0.0, "ax":-3.11583, "ay":-9.54502, "alpha":0.0, "fx":[-40.43785,-40.43785,-40.43785,-40.43785], "fy":[-123.87707,-123.87707,-123.87707,-123.87707]}, + {"t":0.10191, "x":2.79307, "y":7.26461, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":-0.00001, "ay":-0.00002, "alpha":0.0, "fx":[-0.00007,-0.00007,-0.00007,-0.00007], "fy":[-0.00021,-0.00021,-0.00021,-0.00021]}, + {"t":0.15287, "x":2.77331, "y":7.20407, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20383, "x":2.75355, "y":7.14353, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.25478, "x":2.73379, "y":7.08299, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.30574, "x":2.71402, "y":7.02245, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.3567, "x":2.69426, "y":6.96191, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.40766, "x":2.6745, "y":6.90137, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.45861, "x":2.65474, "y":6.84083, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.50957, "x":2.63498, "y":6.78029, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.56053, "x":2.61521, "y":6.71975, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.61148, "x":2.59545, "y":6.65921, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.66244, "x":2.57569, "y":6.59867, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.7134, "x":2.55593, "y":6.53813, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.76435, "x":2.53616, "y":6.47759, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.81531, "x":2.5164, "y":6.41705, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.86627, "x":2.49664, "y":6.35651, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.91722, "x":2.47688, "y":6.29597, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.96818, "x":2.45711, "y":6.23543, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.01914, "x":2.43735, "y":6.17489, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.0701, "x":2.41759, "y":6.11435, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.12105, "x":2.39783, "y":6.05381, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.17201, "x":2.37806, "y":5.99328, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.22297, "x":2.3583, "y":5.93274, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.27392, "x":2.33854, "y":5.8722, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.32488, "x":2.31878, "y":5.81166, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.37584, "x":2.29902, "y":5.75112, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.42679, "x":2.27925, "y":5.69058, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.47775, "x":2.25949, "y":5.63004, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.52871, "x":2.23973, "y":5.5695, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.57966, "x":2.21997, "y":5.50896, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.63062, "x":2.2002, "y":5.44842, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.68158, "x":2.18044, "y":5.38788, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.73254, "x":2.16068, "y":5.32734, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.78349, "x":2.14092, "y":5.2668, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.83445, "x":2.12115, "y":5.20626, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.88541, "x":2.10139, "y":5.14572, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.93636, "x":2.08163, "y":5.08518, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.98732, "x":2.06187, "y":5.02464, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.03828, "x":2.0421, "y":4.9641, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.08923, "x":2.02234, "y":4.90356, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.14019, "x":2.00258, "y":4.84302, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.19115, "x":1.98282, "y":4.78248, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.2421, "x":1.96306, "y":4.72194, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.29306, "x":1.94329, "y":4.6614, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.34402, "x":1.92353, "y":4.60086, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.39498, "x":1.90377, "y":4.54032, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.44593, "x":1.88401, "y":4.47978, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.49689, "x":1.86424, "y":4.41924, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.54785, "x":1.84448, "y":4.3587, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.5988, "x":1.82472, "y":4.29816, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.64976, "x":1.80496, "y":4.23762, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":0.00001, "ay":0.00002, "alpha":0.0, "fx":[0.00007,0.00007,0.00007,0.00007], "fy":[0.00021,0.00021,0.00021,0.00021]}, + {"t":2.70072, "x":1.78519, "y":4.17708, "heading":3.14159, "vx":-0.38782, "vy":-1.18806, "omega":0.0, "ax":3.11583, "ay":9.54502, "alpha":0.0, "fx":[40.43785,40.43785,40.43785,40.43785], "fy":[123.87707,123.87707,123.87707,123.87707]}, + {"t":2.75167, "x":1.76948, "y":4.12893, "heading":3.14159, "vx":-0.22905, "vy":-0.70167, "omega":0.0, "ax":4.49499, "ay":13.76994, "alpha":0.0, "fx":[58.33688,58.33688,58.33688,58.33688], "fy":[178.70885,178.70885,178.70885,178.70885]}, + {"t":2.80263, "x":1.76364, "y":4.11105, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SLtoCM.traj b/src/main/deploy/choreo/SLtoCM.traj new file mode 100644 index 0000000..a8764b1 --- /dev/null +++ b/src/main/deploy/choreo/SLtoCM.traj @@ -0,0 +1,110 @@ +{ + "name":"SLtoCM", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.814626932144165, "y":7.330637454986572, "heading":3.141592653589793, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7500560283660889, "y":3.764630317687988, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SL.x", "val":2.814626932144165}, "y":{"exp":"SL.y", "val":7.330637454986572}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":50, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"CM.x", "val":1.7500560283660889}, "y":{"exp":"CM.y", "val":3.764630317687988}, "heading":{"exp":"CM.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.58508], + "samples":[ + {"t":0.0, "x":2.81463, "y":7.33064, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-4.1455, "ay":-13.88623, "alpha":0.0, "fx":[-53.80105,-53.80105,-53.80105,-53.80105], "fy":[-180.21808,-180.21808,-180.21808,-180.21808]}, + {"t":0.0517, "x":2.80909, "y":7.31208, "heading":3.14159, "vx":-0.21433, "vy":-0.71794, "omega":0.0, "ax":-4.14149, "ay":-13.87279, "alpha":0.0, "fx":[-53.74896,-53.74896,-53.74896,-53.74896], "fy":[-180.04359,-180.04359,-180.04359,-180.04359]}, + {"t":0.1034, "x":2.79247, "y":7.25642, "heading":3.14159, "vx":-0.42845, "vy":-1.43519, "omega":0.0, "ax":-0.01069, "ay":-0.03581, "alpha":0.0, "fx":[-0.13874,-0.13874,-0.13874,-0.13874], "fy":[-0.46473,-0.46473,-0.46473,-0.46473]}, + {"t":0.1551, "x":2.7703, "y":7.18217, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20681, "x":2.74812, "y":7.10787, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.25851, "x":2.72594, "y":7.03357, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.31021, "x":2.70376, "y":6.95928, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.36191, "x":2.68158, "y":6.88498, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.41361, "x":2.6594, "y":6.81068, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.46531, "x":2.63722, "y":6.73639, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.51702, "x":2.61504, "y":6.66209, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.56872, "x":2.59286, "y":6.58779, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.62042, "x":2.57068, "y":6.5135, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.67212, "x":2.5485, "y":6.4392, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.72382, "x":2.52632, "y":6.3649, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.77552, "x":2.50414, "y":6.2906, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.82723, "x":2.48196, "y":6.21631, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.87893, "x":2.45978, "y":6.14201, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.93063, "x":2.4376, "y":6.06771, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.98233, "x":2.41542, "y":5.99342, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.03403, "x":2.39324, "y":5.91912, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.08573, "x":2.37106, "y":5.84482, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.13743, "x":2.34888, "y":5.77053, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.18914, "x":2.3267, "y":5.69623, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.24084, "x":2.30452, "y":5.62193, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.29254, "x":2.28234, "y":5.54763, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.34424, "x":2.26016, "y":5.47334, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.39594, "x":2.23798, "y":5.39904, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.44764, "x":2.2158, "y":5.32474, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.49935, "x":2.19362, "y":5.25045, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.55105, "x":2.17144, "y":5.17615, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.60275, "x":2.14926, "y":5.10185, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.65445, "x":2.12708, "y":5.02755, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.70615, "x":2.1049, "y":4.95326, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.75785, "x":2.08272, "y":4.87896, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.80956, "x":2.06054, "y":4.80466, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.86126, "x":2.03836, "y":4.73037, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.91296, "x":2.01618, "y":4.65607, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.96466, "x":1.994, "y":4.58177, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.01636, "x":1.97182, "y":4.50748, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.06806, "x":1.94964, "y":4.43318, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.11976, "x":1.92746, "y":4.35888, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.17147, "x":1.90528, "y":4.28458, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.22317, "x":1.8831, "y":4.21029, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.27487, "x":1.86092, "y":4.13599, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.32657, "x":1.83874, "y":4.06169, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.37827, "x":1.81656, "y":3.9874, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.42997, "x":1.79438, "y":3.9131, "heading":3.14159, "vx":-0.429, "vy":-1.43704, "omega":0.0, "ax":0.01069, "ay":0.03581, "alpha":0.0, "fx":[0.13874,0.13874,0.13874,0.13874], "fy":[0.46473,0.46473,0.46473,0.46473]}, + {"t":2.48168, "x":1.77221, "y":3.83885, "heading":3.14159, "vx":-0.42845, "vy":-1.43519, "omega":0.0, "ax":4.14149, "ay":13.87279, "alpha":0.0, "fx":[53.74896,53.74896,53.74896,53.74896], "fy":[180.04359,180.04359,180.04359,180.04359]}, + {"t":2.53338, "x":1.7556, "y":3.78319, "heading":3.14159, "vx":-0.21433, "vy":-0.71794, "omega":0.0, "ax":4.1455, "ay":13.88623, "alpha":0.0, "fx":[53.80105,53.80105,53.80105,53.80105], "fy":[180.21808,180.21808,180.21808,180.21808]}, + {"t":2.58508, "x":1.75006, "y":3.76463, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SLtoFL.traj b/src/main/deploy/choreo/SLtoFL.traj new file mode 100644 index 0000000..fb1147a --- /dev/null +++ b/src/main/deploy/choreo/SLtoFL.traj @@ -0,0 +1,150 @@ +{ + "name":"SLtoFL", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.814626932144165, "y":7.330637454986572, "heading":3.141592653589793, "intervals":34, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":5.304653644561768, "y":7.37657356262207, "heading":3.141592653589793, "intervals":36, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.739718437194824, "y":6.998943328857422, "heading":-1.650627593283163, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":5.865901947021484, "heading":-1.5707963267948966, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SL.x", "val":2.814626932144165}, "y":{"exp":"SL.y", "val":7.330637454986572}, "heading":{"exp":"SL.heading", "val":3.141592653589793}, "intervals":34, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"5.304653644561768 m", "val":5.304653644561768}, "y":{"exp":"7.37657356262207 m", "val":7.37657356262207}, "heading":{"exp":"3.141592653589793 rad", "val":3.141592653589793}, "intervals":36, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.739718437194824 m", "val":7.739718437194824}, "y":{"exp":"6.998943328857422 m", "val":6.998943328857422}, "heading":{"exp":"-1.650627593283163 rad", "val":-1.650627593283163}, "intervals":16, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FL.x", "val":7.82036542892456}, "y":{"exp":"FL.y", "val":5.865901947021484}, "heading":{"exp":"FL.heading", "val":-1.5707963267948966}, "intervals":27, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.7131,3.36292,4.17908], + "samples":[ + {"t":0.0, "x":2.81463, "y":7.33064, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":14.48921, "ay":0.28428, "alpha":-0.00054, "fx":[188.04359,188.04371,188.04372,188.0436], "fy":[3.69251,3.6864,3.68628,3.69239]}, + {"t":0.05039, "x":2.83302, "y":7.331, "heading":3.14159, "vx":0.73004, "vy":0.01432, "omega":-0.00003, "ax":14.47714, "ay":0.28404, "alpha":-0.00093, "fx":[187.88685,187.88705,187.88708,187.88687], "fy":[3.69171,3.68114,3.68093,3.69151]}, + {"t":0.10077, "x":2.88818, "y":7.33208, "heading":3.14159, "vx":1.45948, "vy":0.02863, "omega":-0.00007, "ax":0.79255, "ay":0.01555, "alpha":-0.47102, "fx":[8.95382,8.9541,11.61788,11.61753], "fy":[1.54294,-1.13901,-1.13724,1.54054]}, + {"t":0.15116, "x":2.96272, "y":7.33354, "heading":3.14159, "vx":1.49941, "vy":0.02942, "omega":-0.02381, "ax":0.0, "ay":0.0, "alpha":-0.39797, "fx":[-1.1287,-1.12872,1.12873,1.12875], "fy":[1.12873,-1.12872,-1.12873,1.12872]}, + {"t":0.20154, "x":3.03827, "y":7.33503, "heading":3.14039, "vx":1.49941, "vy":0.02942, "omega":-0.04386, "ax":0.0, "ay":0.0, "alpha":-0.3326, "fx":[-0.94219,-0.94447,0.94219,0.94447], "fy":[0.94447,-0.94219,-0.94447,0.94219]}, + {"t":0.25193, "x":3.11382, "y":7.33651, "heading":3.13818, "vx":1.49941, "vy":0.02942, "omega":-0.06062, "ax":0.0, "ay":0.0, "alpha":-0.27605, "fx":[-0.78024,-0.78559,0.78024,0.78559], "fy":[0.78559,-0.78024,-0.78559,0.78024]}, + {"t":0.30231, "x":3.18937, "y":7.33799, "heading":3.13512, "vx":1.49941, "vy":0.02942, "omega":-0.07453, "ax":0.0, "ay":0.0, "alpha":-0.2268, "fx":[-0.63908,-0.6474,0.63908,0.6474], "fy":[0.6474,-0.63908,-0.6474,0.63908]}, + {"t":0.3527, "x":3.26491, "y":7.33947, "heading":3.13137, "vx":1.49941, "vy":0.02942, "omega":-0.08595, "ax":0.0, "ay":0.0, "alpha":-0.18357, "fx":[-0.51528,-0.52593,0.51528,0.52593], "fy":[0.52593,-0.51528,-0.52593,0.51528]}, + {"t":0.40308, "x":3.34046, "y":7.34095, "heading":3.12704, "vx":1.49941, "vy":0.02942, "omega":-0.0952, "ax":0.0, "ay":0.0, "alpha":-0.1452, "fx":[-0.40577,-0.41776,0.40577,0.41776], "fy":[0.41776,-0.40577,-0.41776,0.40577]}, + {"t":0.45347, "x":3.41601, "y":7.34244, "heading":3.12224, "vx":1.49941, "vy":0.02942, "omega":-0.10252, "ax":0.0, "ay":0.0, "alpha":-0.11067, "fx":[-0.30776,-0.31991,0.30776,0.31991], "fy":[0.31991,-0.30776,-0.31991,0.30776]}, + {"t":0.50385, "x":3.49156, "y":7.34392, "heading":3.11708, "vx":1.49941, "vy":0.02942, "omega":-0.10809, "ax":0.0, "ay":0.0, "alpha":-0.07908, "fx":[-0.21873,-0.22972,0.21873,0.22972], "fy":[0.22972,-0.21873,-0.22972,0.21873]}, + {"t":0.55424, "x":3.56711, "y":7.3454, "heading":3.11163, "vx":1.49941, "vy":0.02942, "omega":-0.11208, "ax":0.0, "ay":0.0, "alpha":-0.04959, "fx":[-0.13636,-0.14479,0.13636,0.14479], "fy":[0.14479,-0.13636,-0.14479,0.13636]}, + {"t":0.60462, "x":3.64265, "y":7.34688, "heading":3.10598, "vx":1.49941, "vy":0.02942, "omega":-0.11458, "ax":0.0, "ay":0.0, "alpha":-0.02141, "fx":[-0.05852,-0.06284,0.05852,0.06284], "fy":[0.06284,-0.05852,-0.06284,0.05852]}, + {"t":0.65501, "x":3.7182, "y":7.34837, "heading":3.10021, "vx":1.49941, "vy":0.02942, "omega":-0.11566, "ax":0.0, "ay":0.0, "alpha":0.0062, "fx":[0.01685,0.01831,-0.01685,-0.01831], "fy":[-0.01831,0.01685,0.01831,-0.01685]}, + {"t":0.70539, "x":3.79375, "y":7.34985, "heading":3.09438, "vx":1.49941, "vy":0.02942, "omega":-0.11534, "ax":0.0, "ay":0.0, "alpha":0.03398, "fx":[0.09171,0.10081,-0.09171,-0.10081], "fy":[-0.10081,0.09171,0.10081,-0.09171]}, + {"t":0.75578, "x":3.8693, "y":7.35133, "heading":3.08857, "vx":1.49941, "vy":0.02942, "omega":-0.11363, "ax":0.0, "ay":0.0, "alpha":0.06265, "fx":[0.16803,0.18687,-0.16803,-0.18687], "fy":[-0.18687,0.16803,0.18687,-0.16803]}, + {"t":0.80616, "x":3.94485, "y":7.35281, "heading":3.08285, "vx":1.49941, "vy":0.02942, "omega":-0.11047, "ax":0.0, "ay":0.0, "alpha":0.09299, "fx":[0.2478,0.27877,-0.2478,-0.27877], "fy":[-0.27877,0.2478,0.27877,-0.2478]}, + {"t":0.85655, "x":4.0204, "y":7.35429, "heading":3.07728, "vx":1.49941, "vy":0.02942, "omega":-0.10579, "ax":0.0, "ay":0.0, "alpha":0.12579, "fx":[0.33311,0.37897,-0.33311,-0.37897], "fy":[-0.37897,0.33311,0.37897,-0.33311]}, + {"t":0.90693, "x":4.09594, "y":7.35578, "heading":3.07195, "vx":1.49941, "vy":0.02942, "omega":-0.09945, "ax":0.0, "ay":0.0, "alpha":0.16193, "fx":[0.42619,0.49011,-0.42619,-0.49011], "fy":[-0.49011,0.42619,0.49011,-0.42619]}, + {"t":0.95732, "x":4.17149, "y":7.35726, "heading":3.06694, "vx":1.49941, "vy":0.02942, "omega":-0.09129, "ax":0.0, "ay":0.0, "alpha":0.20236, "fx":[0.52952,0.61513,-0.52952,-0.61513], "fy":[-0.61513,0.52952,0.61513,-0.52952]}, + {"t":1.00771, "x":4.24704, "y":7.35874, "heading":3.06234, "vx":1.49941, "vy":0.02942, "omega":-0.0811, "ax":0.0, "ay":0.0, "alpha":0.24815, "fx":[0.64586,0.7573,-0.64586,-0.7573], "fy":[-0.7573,0.64586,0.7573,-0.64586]}, + {"t":1.05809, "x":4.32259, "y":7.36022, "heading":3.05825, "vx":1.49941, "vy":0.02942, "omega":-0.06859, "ax":0.0, "ay":0.0, "alpha":0.30051, "fx":[0.7784,0.92029,-0.7784,-0.92029], "fy":[-0.92029,0.7784,0.92029,-0.7784]}, + {"t":1.10848, "x":4.39814, "y":7.36171, "heading":3.0548, "vx":1.49941, "vy":0.02942, "omega":-0.05345, "ax":0.0, "ay":0.0, "alpha":0.36083, "fx":[0.93083,1.10825,-0.93083,-1.10825], "fy":[-1.10825,0.93083,1.10825,-0.93083]}, + {"t":1.15886, "x":4.47368, "y":7.36319, "heading":3.0521, "vx":1.49941, "vy":0.02942, "omega":-0.03527, "ax":0.0, "ay":0.0, "alpha":0.43071, "fx":[1.10753,1.32587,-1.10753,-1.32587], "fy":[-1.32587,1.10753,1.32587,-1.10753]}, + {"t":1.20925, "x":4.54923, "y":7.36467, "heading":3.05033, "vx":1.49941, "vy":0.02942, "omega":-0.01357, "ax":0.0, "ay":0.0, "alpha":0.512, "fx":[1.31375,1.57843,-1.31375,-1.57843], "fy":[-1.57843,1.31375,1.57843,-1.31375]}, + {"t":1.25963, "x":4.62478, "y":7.36615, "heading":3.04964, "vx":1.49941, "vy":0.02942, "omega":0.01223, "ax":0.0, "ay":0.0, "alpha":0.60684, "fx":[1.55582,1.87187,-1.55582,-1.87187], "fy":[-1.87187,1.55582,1.87187,-1.55582]}, + {"t":1.31002, "x":4.70033, "y":7.36763, "heading":3.05026, "vx":1.49941, "vy":0.02942, "omega":0.0428, "ax":0.0, "ay":0.0, "alpha":0.71773, "fx":[1.8415,2.21281,-1.8415,-2.21281], "fy":[-2.21281,1.8415,2.21281,-1.8415]}, + {"t":1.3604, "x":4.77588, "y":7.36912, "heading":3.05241, "vx":1.49941, "vy":0.02942, "omega":0.07897, "ax":0.0, "ay":0.0, "alpha":0.84761, "fx":[2.18035,2.60853,-2.18035,-2.60853], "fy":[-2.60853,2.18035,2.60853,-2.18035]}, + {"t":1.41079, "x":4.85143, "y":7.3706, "heading":3.05639, "vx":1.49941, "vy":0.02942, "omega":0.12167, "ax":0.0, "ay":0.0, "alpha":0.99989, "fx":[2.58427,3.06689,-2.58427,-3.06689], "fy":[-3.06689,2.58427,3.06689,-2.58427]}, + {"t":1.46117, "x":4.92697, "y":7.37208, "heading":3.06252, "vx":1.49941, "vy":0.02942, "omega":0.17205, "ax":0.0, "ay":0.0, "alpha":1.17855, "fx":[3.06816,3.59617,-3.06816,-3.59617], "fy":[-3.59617,3.06816,3.59617,-3.06816]}, + {"t":1.51156, "x":5.00252, "y":7.37356, "heading":3.07119, "vx":1.49941, "vy":0.02942, "omega":0.23143, "ax":0.0, "ay":0.0, "alpha":1.38829, "fx":[3.65077,4.20467,-3.65077,-4.20467], "fy":[-4.20468,3.65076,4.20466,-3.65078]}, + {"t":1.56194, "x":5.07807, "y":7.37505, "heading":3.08285, "vx":1.49941, "vy":0.02942, "omega":0.30138, "ax":0.0, "ay":-0.0001, "alpha":1.63457, "fx":[4.35585,4.90013,-4.3558,-4.90007], "fy":[-4.90145,4.35448,4.89876,-4.35717]}, + {"t":1.61233, "x":5.15362, "y":7.37653, "heading":3.09804, "vx":1.49941, "vy":0.02941, "omega":0.38374, "ax":0.0003, "ay":-0.01547, "alpha":1.92375, "fx":[5.21694,5.69278,-5.20992,-5.68426], "fy":[-5.88926,5.01257,5.48773,-5.41425]}, + {"t":1.66271, "x":5.22917, "y":7.37799, "heading":3.11737, "vx":1.49943, "vy":0.02863, "omega":0.48067, "ax":-0.0488, "ay":-2.25279, "alpha":2.15701, "fx":[5.42193,5.83876,-6.81494,-6.97895], "fy":[-35.35472,-23.42172,-23.1163,-35.05593]}, + {"t":1.7131, "x":5.30465, "y":7.37657, "heading":3.14159, "vx":1.49697, "vy":-0.08487, "omega":0.58935, "ax":-0.2534, "ay":-2.65926, "alpha":1.65814, "fx":[1.55616,1.58526,-8.22228,-8.07373], "fy":[-39.09178,-29.99288,-29.93941,-39.02564]}, + {"t":1.75893, "x":5.37299, "y":7.36989, "heading":-3.11458, "vx":1.48535, "vy":-0.20674, "omega":0.66534, "ax":-0.00334, "ay":-0.02393, "alpha":1.52492, "fx":[4.39651,4.16362,-4.48392,-4.24959], "fy":[-4.51725,4.12962,3.8959,-4.75069]}, + {"t":1.80476, "x":5.44106, "y":7.36039, "heading":-3.08409, "vx":1.4852, "vy":-0.20784, "omega":0.73523, "ax":-0.00003, "ay":-0.00021, "alpha":1.30911, "fx":[3.91974,3.493,-3.92051,-3.49375], "fy":[-3.49609,3.91741,3.49066,-3.92284]}, + {"t":1.85058, "x":5.50912, "y":7.35087, "heading":-3.0504, "vx":1.4852, "vy":-0.20785, "omega":0.79522, "ax":0.0, "ay":0.0, "alpha":1.12203, "fx":[3.45888,2.87926,-3.45889,-2.87927], "fy":[-2.87929,3.45886,2.87924,-3.45891]}, + {"t":1.89641, "x":5.57719, "y":7.34134, "heading":-3.01395, "vx":1.4852, "vy":-0.20785, "omega":0.84664, "ax":0.0, "ay":0.0, "alpha":0.9597, "fx":[3.04624,2.35329,-3.04624,-2.35329], "fy":[-2.35329,3.04624,2.35329,-3.04624]}, + {"t":1.94224, "x":5.64525, "y":7.33182, "heading":-2.97515, "vx":1.4852, "vy":-0.20785, "omega":0.89062, "ax":0.0, "ay":0.0, "alpha":0.81856, "fx":[2.67414,1.90489,-2.67414,-1.90489], "fy":[-1.90489,2.67414,1.90489,-2.67414]}, + {"t":1.98807, "x":5.71332, "y":7.32229, "heading":-2.93434, "vx":1.4852, "vy":-0.20785, "omega":0.92814, "ax":0.0, "ay":0.0, "alpha":0.69559, "fx":[2.33657,1.52465,-2.33657,-1.52465], "fy":[-1.52465,2.33657,1.52465,-2.33657]}, + {"t":2.0339, "x":5.78138, "y":7.31276, "heading":-2.8918, "vx":1.4852, "vy":-0.20785, "omega":0.96002, "ax":0.0, "ay":0.0, "alpha":0.58801, "fx":[2.02822,1.2037,-2.02822,-1.2037], "fy":[-1.2037,2.02822,1.2037,-2.02822]}, + {"t":2.07973, "x":5.84944, "y":7.30324, "heading":-2.84781, "vx":1.4852, "vy":-0.20785, "omega":0.98696, "ax":0.0, "ay":0.0, "alpha":0.49356, "fx":[1.7452,0.93449,-1.7452,-0.93449], "fy":[-0.93449,1.7452,0.93449,-1.7452]}, + {"t":2.12555, "x":5.91751, "y":7.29371, "heading":-2.80258, "vx":1.4852, "vy":-0.20785, "omega":1.00958, "ax":0.0, "ay":0.0, "alpha":0.41003, "fx":[1.48346,0.70999,-1.48346,-0.70999], "fy":[-0.70999,1.48346,0.70999,-1.48346]}, + {"t":2.17138, "x":5.98557, "y":7.28419, "heading":-2.75631, "vx":1.4852, "vy":-0.20785, "omega":1.02837, "ax":0.0, "ay":0.0, "alpha":0.33569, "fx":[1.24011,0.52448,-1.24011,-0.52448], "fy":[-0.52448,1.24011,0.52448,-1.24011]}, + {"t":2.21721, "x":6.05364, "y":7.27466, "heading":-2.70918, "vx":1.4852, "vy":-0.20785, "omega":1.04376, "ax":0.0, "ay":0.0, "alpha":0.26878, "fx":[1.0116,0.37269,-1.0116,-0.37269], "fy":[-0.37269,1.0116,0.37269,-1.0116]}, + {"t":2.26304, "x":6.1217, "y":7.26514, "heading":-2.66135, "vx":1.4852, "vy":-0.20785, "omega":1.05607, "ax":0.0, "ay":0.0, "alpha":0.20793, "fx":[0.79547,0.25057,-0.79547,-0.25057], "fy":[-0.25057,0.79547,0.25057,-0.79547]}, + {"t":2.30887, "x":6.18977, "y":7.25561, "heading":-2.61295, "vx":1.4852, "vy":-0.20785, "omega":1.0656, "ax":0.0, "ay":0.0, "alpha":0.15165, "fx":[0.58834,0.15447,-0.58834,-0.15447], "fy":[-0.15447,0.58834,0.15447,-0.58834]}, + {"t":2.3547, "x":6.25783, "y":7.24609, "heading":-2.56411, "vx":1.4852, "vy":-0.20785, "omega":1.07255, "ax":0.0, "ay":0.0, "alpha":0.09884, "fx":[0.3879,0.08183,-0.3879,-0.08183], "fy":[-0.08183,0.3879,0.08183,-0.3879]}, + {"t":2.40053, "x":6.3259, "y":7.23656, "heading":-2.51496, "vx":1.4852, "vy":-0.20785, "omega":1.07708, "ax":0.0, "ay":0.0, "alpha":0.04816, "fx":[0.19076,0.03054,-0.19076,-0.03054], "fy":[-0.03054,0.19076,0.03054,-0.19076]}, + {"t":2.44635, "x":6.39396, "y":7.22704, "heading":-2.4656, "vx":1.4852, "vy":-0.20785, "omega":1.07929, "ax":0.0, "ay":0.0, "alpha":-0.00137, "fx":[-0.00544,-0.0006,0.00544,0.0006], "fy":[0.0006,-0.00544,-0.0006,0.00544]}, + {"t":2.49218, "x":6.46202, "y":7.21751, "heading":-2.41614, "vx":1.4852, "vy":-0.20785, "omega":1.07923, "ax":0.0, "ay":0.0, "alpha":-0.051, "fx":[-0.20417,-0.01226,0.20417,0.01226], "fy":[0.01226,-0.20417,-0.01226,0.20417]}, + {"t":2.53801, "x":6.53009, "y":7.20798, "heading":-2.36668, "vx":1.4852, "vy":-0.20785, "omega":1.07689, "ax":0.0, "ay":0.0, "alpha":-0.1017, "fx":[-0.4079,-0.00428,0.4079,0.00428], "fy":[0.00428,-0.4079,-0.00428,0.4079]}, + {"t":2.58384, "x":6.59815, "y":7.19846, "heading":-2.31732, "vx":1.4852, "vy":-0.20785, "omega":1.07223, "ax":0.0, "ay":0.0, "alpha":-0.15474, "fx":[-0.62018,0.02411,0.62018,-0.02411], "fy":[-0.02411,-0.62018,0.02411,0.62018]}, + {"t":2.62967, "x":6.66622, "y":7.18893, "heading":-2.26819, "vx":1.4852, "vy":-0.20785, "omega":1.06514, "ax":0.0, "ay":0.0, "alpha":-0.21118, "fx":[-0.84378,0.07444,0.84378,-0.07444], "fy":[-0.07444,-0.84378,0.07444,0.84378]}, + {"t":2.6755, "x":6.73428, "y":7.17941, "heading":-2.21937, "vx":1.4852, "vy":-0.20785, "omega":1.05546, "ax":0.0, "ay":0.0, "alpha":-0.27237, "fx":[-1.08226,0.14899,1.08226,-0.14899], "fy":[-0.14899,-1.08226,0.14899,1.08226]}, + {"t":2.72132, "x":6.80235, "y":7.16988, "heading":-2.171, "vx":1.4852, "vy":-0.20785, "omega":1.04298, "ax":0.0, "ay":0.0, "alpha":-0.33964, "fx":[-1.33899,0.25082,1.33899,-0.25082], "fy":[-0.25082,-1.33899,0.25082,1.33899]}, + {"t":2.76715, "x":6.87041, "y":7.16036, "heading":-2.1232, "vx":1.4852, "vy":-0.20785, "omega":1.02741, "ax":0.0, "ay":0.0, "alpha":-0.41445, "fx":[-1.61746,0.38379,1.61746,-0.38379], "fy":[-0.38379,-1.61746,0.38379,1.61746]}, + {"t":2.81298, "x":6.93847, "y":7.15083, "heading":-2.07612, "vx":1.4852, "vy":-0.20785, "omega":1.00842, "ax":0.0, "ay":0.0, "alpha":-0.49856, "fx":[-1.92179,0.55274,1.92179,-0.55274], "fy":[-0.55274,-1.92179,0.55274,1.92179]}, + {"t":2.85881, "x":7.00654, "y":7.14131, "heading":-2.02991, "vx":1.4852, "vy":-0.20785, "omega":0.98557, "ax":0.0, "ay":0.0, "alpha":-0.59368, "fx":[-2.25561,0.76322,2.25561,-0.76322], "fy":[-0.76322,-2.25561,0.76322,2.25561]}, + {"t":2.90464, "x":7.0746, "y":7.13178, "heading":-1.98474, "vx":1.4852, "vy":-0.20785, "omega":0.95836, "ax":0.0, "ay":0.0, "alpha":-0.70208, "fx":[-2.62398,1.02209,2.62398,-1.02209], "fy":[-1.02209,-2.62398,1.02209,2.62398]}, + {"t":2.95047, "x":7.14267, "y":7.12226, "heading":-1.94082, "vx":1.4852, "vy":-0.20785, "omega":0.92619, "ax":0.0, "ay":0.0, "alpha":-0.82598, "fx":[-3.03129,1.33686,3.03129,-1.33686], "fy":[-1.33685,-3.03129,1.33685,3.03129]}, + {"t":2.99629, "x":7.21073, "y":7.11273, "heading":-1.89837, "vx":1.4852, "vy":-0.20785, "omega":0.88834, "ax":0.0, "ay":0.0, "alpha":-0.96824, "fx":[-3.48369,1.71648,3.48369,-1.71648], "fy":[-1.71648,-3.48369,1.71648,3.48369]}, + {"t":3.04212, "x":7.2788, "y":7.1032, "heading":-1.85766, "vx":1.4852, "vy":-0.20785, "omega":0.84396, "ax":0.0, "ay":0.0, "alpha":-1.13186, "fx":[-3.98734,2.17062,3.98734,-2.17062], "fy":[-2.17062,-3.98734,2.17062,3.98734]}, + {"t":3.08795, "x":7.34686, "y":7.09368, "heading":-1.81898, "vx":1.4852, "vy":-0.20785, "omega":0.79209, "ax":0.0, "ay":0.0, "alpha":-1.32043, "fx":[-4.55025,2.71024,4.55025,-2.71024], "fy":[-2.71024,-4.55025,2.71024,4.55025]}, + {"t":3.13378, "x":7.41492, "y":7.08415, "heading":-1.78268, "vx":1.4852, "vy":-0.20785, "omega":0.73158, "ax":0.0, "ay":-0.00001, "alpha":-1.53801, "fx":[-5.18198,3.34708,5.18195,-3.34711], "fy":[-3.34719,-5.18206,3.34699,5.18186]}, + {"t":3.17961, "x":7.48299, "y":7.07463, "heading":-1.74916, "vx":1.4852, "vy":-0.20785, "omega":0.66109, "ax":-0.00012, "ay":-0.00089, "alpha":-1.7892, "fx":[-5.89599,4.09201,5.8928,-4.0953], "fy":[-4.1052,-5.90593,4.08207,5.88282]}, + {"t":3.22544, "x":7.55105, "y":7.0651, "heading":-1.71886, "vx":1.48519, "vy":-0.20789, "omega":0.5791, "ax":-0.0144, "ay":-0.10166, "alpha":-2.07896, "fx":[-6.88616,4.77285,6.51822,-5.15221], "fy":[-6.2811,-8.0202,3.64148,5.38236]}, + {"t":3.27127, "x":7.6191, "y":7.05547, "heading":-1.69232, "vx":1.48453, "vy":-0.21255, "omega":0.48382, "ax":-2.14109, "ay":-7.8358, "alpha":-1.26332, "fx":[-32.2653,-23.27963,-23.12169,-32.48306], "fy":[-103.35721,-105.08429,-100.07346,-98.26264]}, + {"t":3.31709, "x":7.68489, "y":7.0375, "heading":-1.67015, "vx":1.38641, "vy":-0.57165, "omega":0.42593, "ax":-8.29033, "ay":-11.76706, "alpha":-0.02117, "fx":[-107.63103,-107.46091,-107.55585,-107.72602], "fy":[-152.6901,-152.80878,-152.74005,-152.62116]}, + {"t":3.36292, "x":7.73972, "y":6.99894, "heading":-1.65063, "vx":1.00648, "vy":-1.11092, "omega":0.42496, "ax":-12.70234, "ay":-6.76867, "alpha":-0.02053, "fx":[-164.83801,-164.77801,-164.86879,-164.92863], "fy":[-87.87647,-87.98576,-87.8135,-87.70426]}, + {"t":3.41393, "x":7.77453, "y":6.93347, "heading":-1.62895, "vx":0.35854, "vy":-1.45618, "omega":0.42391, "ax":-5.93887, "ay":-0.83283, "alpha":-1.59306, "fx":[-80.8597,-73.30716,-73.28211,-80.8542], "fy":[-15.4335,-16.66399,-5.98703,-5.15012]}, + {"t":3.46494, "x":7.7851, "y":6.85811, "heading":-1.60733, "vx":0.0556, "vy":-1.49867, "omega":0.34265, "ax":-0.04704, "ay":-0.00171, "alpha":-1.87111, "fx":[-6.10745,4.49866,4.88659,-5.71999], "fy":[-5.13063,-5.52055,5.08844,5.47404]}, + {"t":3.51595, "x":7.78787, "y":6.78166, "heading":-1.58985, "vx":0.0532, "vy":-1.49875, "omega":0.2472, "ax":-0.00031, "ay":-0.00001, "alpha":-1.54351, "fx":[-4.46434,4.28945,4.45634,-4.29745], "fy":[-4.29359,-4.4605,4.29332,4.4602]}, + {"t":3.56696, "x":7.79058, "y":6.70521, "heading":-1.57724, "vx":0.05318, "vy":-1.49876, "omega":0.16847, "ax":0.0, "ay":0.0, "alpha":-1.25724, "fx":[-3.58874,3.54267,3.58869,-3.54272], "fy":[-3.5427,-3.58872,3.54269,3.58871]}, + {"t":3.61797, "x":7.7933, "y":6.62876, "heading":-1.56865, "vx":0.05318, "vy":-1.49876, "omega":0.10434, "ax":0.0, "ay":0.0, "alpha":-1.0048, "fx":[-2.8437,2.8559,2.8437,-2.8559], "fy":[-2.8559,-2.8437,2.8559,2.8437]}, + {"t":3.66898, "x":7.79601, "y":6.55231, "heading":-1.56332, "vx":0.05318, "vy":-1.49876, "omega":0.05308, "ax":0.0, "ay":0.0, "alpha":-0.77945, "fx":[-2.19411,2.22711,2.19411,-2.22711], "fy":[-2.22711,-2.19411,2.22711,2.19411]}, + {"t":3.71999, "x":7.79872, "y":6.47585, "heading":-1.56062, "vx":0.05318, "vy":-1.49876, "omega":0.01332, "ax":0.0, "ay":0.0, "alpha":-0.57516, "fx":[-1.61459,1.64778,1.61459,-1.64778], "fy":[-1.64778,-1.61459,1.64778,1.61459]}, + {"t":3.771, "x":7.80143, "y":6.3994, "heading":-1.55994, "vx":0.05318, "vy":-1.49876, "omega":-0.01602, "ax":0.0, "ay":0.0, "alpha":-0.38642, "fx":[-1.08401,1.1078,1.08401,-1.1078], "fy":[-1.1078,-1.08401,1.1078,1.08401]}, + {"t":3.82201, "x":7.80415, "y":6.32295, "heading":-1.56075, "vx":0.05318, "vy":-1.49876, "omega":-0.03573, "ax":0.0, "ay":0.0, "alpha":-0.20814, "fx":[-0.58438,0.59623,0.58438,-0.59623], "fy":[-0.59623,-0.58438,0.59623,0.58438]}, + {"t":3.87302, "x":7.80686, "y":6.2465, "heading":-1.56258, "vx":0.05318, "vy":-1.49876, "omega":-0.04634, "ax":0.0, "ay":0.0, "alpha":-0.0355, "fx":[-0.09986,0.10151,0.09986,-0.10151], "fy":[-0.10151,-0.09986,0.10151,0.09986]}, + {"t":3.92403, "x":7.80957, "y":6.17005, "heading":-1.56494, "vx":0.05318, "vy":-1.49876, "omega":-0.04815, "ax":0.0, "ay":0.0, "alpha":0.13618, "fx":[0.38396,-0.38848,-0.38396,0.38848], "fy":[0.38848,0.38395,-0.38848,-0.38396]}, + {"t":3.97504, "x":7.81229, "y":6.0936, "heading":-1.5674, "vx":0.05318, "vy":-1.49876, "omega":-0.04121, "ax":0.0, "ay":0.0, "alpha":0.31154, "fx":[0.88058,-0.88658,-0.88058,0.88658], "fy":[0.88659,0.88058,-0.88657,-0.88057]}, + {"t":4.02605, "x":7.815, "y":6.01715, "heading":-1.5695, "vx":0.05318, "vy":-1.49876, "omega":-0.02532, "ax":-0.01518, "ay":0.4279, "alpha":0.49445, "fx":[1.20418,-1.60176,-1.59953,1.20889], "fy":[6.95642,6.95257,4.15041,4.15418]}, + {"t":4.07706, "x":7.81769, "y":5.94126, "heading":-1.57079, "vx":0.05241, "vy":-1.47693, "omega":-0.0001, "ax":-0.51349, "ay":14.47094, "alpha":0.00114, "fx":[-6.65746,-6.67041,-6.67087,-6.65792], "fy":[187.80678,187.80632,187.80628,187.80674]}, + {"t":4.12807, "x":7.8197, "y":5.88474, "heading":-1.57079, "vx":0.02621, "vy":-0.73877, "omega":-0.00004, "ax":-0.51392, "ay":14.48298, "alpha":0.00073, "fx":[-6.66543,-6.6737,-6.67399,-6.66572], "fy":[187.96299,187.96269,187.96268,187.96297]}, + {"t":4.17908, "x":7.82037, "y":5.8659, "heading":-1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SRtoCM.traj b/src/main/deploy/choreo/SRtoCM.traj new file mode 100644 index 0000000..92297d5 --- /dev/null +++ b/src/main/deploy/choreo/SRtoCM.traj @@ -0,0 +1,103 @@ +{ + "name":"SRtoCM", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.768587827682495, "y":0.7205682992935181, "heading":3.141592653589793, "intervals":43, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7500560283660889, "y":3.764630317687988, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SR.x", "val":2.768587827682495}, "y":{"exp":"SR.y", "val":0.7205682992935181}, "heading":{"exp":"SR.heading", "val":3.141592653589793}, "intervals":43, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"CM.x", "val":1.7500560283660889}, "y":{"exp":"CM.y", "val":3.764630317687988}, "heading":{"exp":"CM.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.24433], + "samples":[ + {"t":0.0, "x":2.76859, "y":0.72057, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-4.59588, "ay":13.73559, "alpha":0.0, "fx":[-59.64614,-59.64614,-59.64614,-59.64614], "fy":[178.263,178.263,178.263,178.263]}, + {"t":0.05219, "x":2.76233, "y":0.73928, "heading":3.14159, "vx":-0.23988, "vy":0.71691, "omega":0.0, "ax":-4.52134, "ay":13.51282, "alpha":0.0, "fx":[-58.67876,-58.67876,-58.67876,-58.67876], "fy":[175.37183,175.37183,175.37183,175.37183]}, + {"t":0.10439, "x":2.74365, "y":0.7951, "heading":3.14159, "vx":-0.47586, "vy":1.42219, "omega":0.0, "ax":-0.00016, "ay":0.00047, "alpha":0.0, "fx":[-0.00204,-0.00204,-0.00204,-0.00204], "fy":[0.0061,0.0061,0.0061,0.0061]}, + {"t":0.15658, "x":2.71881, "y":0.86933, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20877, "x":2.69397, "y":0.94356, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.26097, "x":2.66914, "y":1.01779, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.31316, "x":2.6443, "y":1.09202, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.36536, "x":2.61946, "y":1.16625, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.41755, "x":2.59463, "y":1.24048, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.46974, "x":2.56979, "y":1.31472, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.52194, "x":2.54495, "y":1.38895, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.57413, "x":2.52011, "y":1.46318, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.62632, "x":2.49528, "y":1.53741, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.67852, "x":2.47044, "y":1.61164, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.73071, "x":2.4456, "y":1.68587, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.7829, "x":2.42076, "y":1.7601, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.8351, "x":2.39593, "y":1.83433, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.88729, "x":2.37109, "y":1.90856, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.93949, "x":2.34625, "y":1.98279, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.99168, "x":2.32142, "y":2.05702, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.04387, "x":2.29658, "y":2.13125, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.09607, "x":2.27174, "y":2.20548, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.14826, "x":2.2469, "y":2.27971, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.20045, "x":2.22207, "y":2.35395, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.25265, "x":2.19723, "y":2.42818, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.30484, "x":2.17239, "y":2.50241, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.35703, "x":2.14755, "y":2.57664, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.40923, "x":2.12272, "y":2.65087, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.46142, "x":2.09788, "y":2.7251, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.51362, "x":2.07304, "y":2.79933, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.56581, "x":2.0482, "y":2.87356, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.618, "x":2.02337, "y":2.94779, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.6702, "x":1.99853, "y":3.02202, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.72239, "x":1.97369, "y":3.09625, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.77458, "x":1.94886, "y":3.17048, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.82678, "x":1.92402, "y":3.24471, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.87897, "x":1.89918, "y":3.31894, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.93116, "x":1.87434, "y":3.39318, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.98336, "x":1.84951, "y":3.46741, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.03555, "x":1.82467, "y":3.54164, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":2.08775, "x":1.79983, "y":3.61587, "heading":3.14159, "vx":-0.47587, "vy":1.42222, "omega":0.0, "ax":0.00016, "ay":-0.00047, "alpha":0.0, "fx":[0.00204,0.00204,0.00204,0.00204], "fy":[-0.0061,-0.0061,-0.0061,-0.0061]}, + {"t":2.13994, "x":1.77499, "y":3.6901, "heading":3.14159, "vx":-0.47586, "vy":1.42219, "omega":0.0, "ax":4.52134, "ay":-13.51282, "alpha":0.0, "fx":[58.67876,58.67876,58.67876,58.67876], "fy":[-175.37183,-175.37183,-175.37183,-175.37183]}, + {"t":2.19213, "x":1.75632, "y":3.74592, "heading":3.14159, "vx":-0.23988, "vy":0.71691, "omega":0.0, "ax":4.59588, "ay":-13.73559, "alpha":0.0, "fx":[59.64614,59.64614,59.64614,59.64614], "fy":[-178.263,-178.263,-178.263,-178.263]}, + {"t":2.24433, "x":1.75006, "y":3.76463, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SRtoCR.traj b/src/main/deploy/choreo/SRtoCR.traj new file mode 100644 index 0000000..5b68f1c --- /dev/null +++ b/src/main/deploy/choreo/SRtoCR.traj @@ -0,0 +1,99 @@ +{ + "name":"SRtoCR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.768587827682495, "y":0.7205682992935181, "heading":3.141592653589793, "intervals":39, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":1.7531986236572266, "y":3.3997113704681396, "heading":3.141592653589793, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.0, "w":16.541, "h":8.0692}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.5}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SR.x", "val":2.768587827682495}, "y":{"exp":"SR.y", "val":0.7205682992935181}, "heading":{"exp":"SR.heading", "val":3.141592653589793}, "intervals":39, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"1.7531986236572266 m", "val":1.7531986236572266}, "y":{"exp":"3.3997113704681396 m", "val":3.3997113704681396}, "heading":{"exp":"CR.heading", "val":3.141592653589793}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0 m", "val":0.0}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":false}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.5 m / s", "val":1.5}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,2.01408], + "samples":[ + {"t":0.0, "x":2.76859, "y":0.72057, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":-5.13596, "ay":13.55144, "alpha":0.0, "fx":[-66.6555,-66.6555,-66.6555,-66.6555], "fy":[175.87307,175.87307,175.87307,175.87307]}, + {"t":0.05164, "x":2.76174, "y":0.73864, "heading":3.14159, "vx":-0.26524, "vy":0.69984, "omega":0.0, "ax":-5.13138, "ay":13.53934, "alpha":0.0, "fx":[-66.596,-66.596,-66.596,-66.596], "fy":[175.71609,175.71609,175.71609,175.71609]}, + {"t":0.10329, "x":2.7412, "y":0.79284, "heading":3.14159, "vx":-0.53024, "vy":1.39905, "omega":0.0, "ax":-0.02433, "ay":0.0642, "alpha":0.0, "fx":[-0.31576,-0.31576,-0.31576,-0.31576], "fy":[0.83315,0.83315,0.83315,0.83315]}, + {"t":0.15493, "x":2.71378, "y":0.86517, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.20657, "x":2.68634, "y":0.93759, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.25821, "x":2.65889, "y":1.01002, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.30986, "x":2.63144, "y":1.08244, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.3615, "x":2.60399, "y":1.15486, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.41314, "x":2.57654, "y":1.22728, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.46479, "x":2.5491, "y":1.29971, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.51643, "x":2.52165, "y":1.37213, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.56807, "x":2.4942, "y":1.44455, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.61972, "x":2.46675, "y":1.51697, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.67136, "x":2.4393, "y":1.58939, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.723, "x":2.41186, "y":1.66182, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.77464, "x":2.38441, "y":1.73424, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.82629, "x":2.35696, "y":1.80666, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.87793, "x":2.32951, "y":1.87908, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.92957, "x":2.30207, "y":1.95151, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":0.98122, "x":2.27462, "y":2.02393, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.03286, "x":2.24717, "y":2.09635, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.0845, "x":2.21972, "y":2.16877, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.13615, "x":2.19227, "y":2.2412, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.18779, "x":2.16483, "y":2.31362, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.23943, "x":2.13738, "y":2.38604, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.29107, "x":2.10993, "y":2.45846, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.34272, "x":2.08248, "y":2.53088, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.39436, "x":2.05503, "y":2.60331, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.446, "x":2.02759, "y":2.67573, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.49765, "x":2.00014, "y":2.74815, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.54929, "x":1.97269, "y":2.82057, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.60093, "x":1.94524, "y":2.893, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.65258, "x":1.91779, "y":2.96542, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.70422, "x":1.89035, "y":3.03784, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.75586, "x":1.8629, "y":3.11026, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.8075, "x":1.83545, "y":3.18269, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}, + {"t":1.85915, "x":1.808, "y":3.25511, "heading":3.14159, "vx":-0.53149, "vy":1.40236, "omega":0.0, "ax":0.02433, "ay":-0.0642, "alpha":0.0, "fx":[0.31576,0.31576,0.31576,0.31576], "fy":[-0.83315,-0.83315,-0.83315,-0.83315]}, + {"t":1.91079, "x":1.78059, "y":3.32744, "heading":3.14159, "vx":-0.53024, "vy":1.39905, "omega":0.0, "ax":5.13138, "ay":-13.53934, "alpha":0.0, "fx":[66.596,66.596,66.596,66.596], "fy":[-175.71609,-175.71609,-175.71609,-175.71609]}, + {"t":1.96243, "x":1.76005, "y":3.38164, "heading":3.14159, "vx":-0.26524, "vy":0.69984, "omega":0.0, "ax":5.13596, "ay":-13.55144, "alpha":0.0, "fx":[66.6555,66.6555,66.6555,66.6555], "fy":[-175.87307,-175.87307,-175.87307,-175.87307]}, + {"t":2.01408, "x":1.7532, "y":3.39971, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/SRtoFR.traj b/src/main/deploy/choreo/SRtoFR.traj new file mode 100644 index 0000000..520a4a9 --- /dev/null +++ b/src/main/deploy/choreo/SRtoFR.traj @@ -0,0 +1,162 @@ +{ + "name":"SRtoFR", + "version":3, + "snapshot":{ + "waypoints":[ + {"x":2.768587827682495, "y":0.7205682992935181, "heading":3.141592653589793, "intervals":39, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":5.382783889770508, "y":0.7094446420669556, "heading":-3.126526630663652, "intervals":36, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.713675022125244, "y":0.7875750660896301, "heading":2.261243128434208, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":7.82036542892456, "y":2.2169458866119385, "heading":1.5707963267948966, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":0.0, "y":0.11784505844116212, "w":16.541, "h":8.0692}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":1.35}}, "enabled":true}], + "targetDt":0.05 + }, + "params":{ + "waypoints":[ + {"x":{"exp":"SR.x", "val":2.768587827682495}, "y":{"exp":"SR.y", "val":0.7205682992935181}, "heading":{"exp":"SR.heading", "val":3.141592653589793}, "intervals":39, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"5.382783889770508 m", "val":5.382783889770508}, "y":{"exp":"0.7094446420669556 m", "val":0.7094446420669556}, "heading":{"exp":"-3.126526630663652 rad", "val":-3.126526630663652}, "intervals":36, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"7.713675022125244 m", "val":7.713675022125244}, "y":{"exp":"0.7875750660896301 m", "val":0.7875750660896301}, "heading":{"exp":"2.261243128434208 rad", "val":2.261243128434208}, "intervals":23, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}, + {"x":{"exp":"FR.x", "val":7.82036542892456}, "y":{"exp":"FR.y", "val":2.2169458866119385}, "heading":{"exp":"FR.heading", "val":1.5707963267948966}, "intervals":40, "split":false, "fixTranslation":true, "fixHeading":true, "overrideIntervals":false}], + "constraints":[ + {"from":"first", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"last", "to":null, "data":{"type":"StopPoint", "props":{}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"KeepInRectangle", "props":{"x":{"exp":"0 m", "val":0.0}, "y":{"exp":"0.11784505844116211 m", "val":0.11784505844116212}, "w":{"exp":"16.541 m", "val":16.541}, "h":{"exp":"8.0692 m", "val":8.0692}}}, "enabled":true}, + {"from":"first", "to":"last", "data":{"type":"MaxVelocity", "props":{"max":{"exp":"1.35 m / s", "val":1.35}}}, "enabled":true}], + "targetDt":{ + "exp":"0.05 s", + "val":0.05 + } + }, + "trajectory":{ + "config":{ + "frontLeft":{ + "x":0.2571369, + "y":0.2571369 + }, + "backLeft":{ + "x":-0.2571369, + "y":0.2571369 + }, + "mass":51.91273956176, + "inertia":5.834321946299203, + "gearing":5.902777777777778, + "radius":0.050165, + "vmax":668.1120376634293, + "tmax":54.79744136460554, + "cof":1.48, + "bumper":{ + "front":0.42037, + "side":0.42037, + "back":0.42037 + }, + "differentialTrackWidth":0.5427218 + }, + "sampleType":"Swerve", + "waypoints":[0.0,1.9854,3.72098,4.83786], + "samples":[ + {"t":0.0, "x":2.76859, "y":0.72057, "heading":3.14159, "vx":0.0, "vy":0.0, "omega":0.0, "ax":14.48354, "ay":-0.01271, "alpha":0.0, "fx":[187.97004,187.97004,187.97004,187.97004], "fy":[-0.16499,-0.16498,-0.16498,-0.16499]}, + {"t":0.05091, "x":2.78736, "y":0.72055, "heading":3.14159, "vx":0.73732, "vy":-0.00065, "omega":0.0, "ax":12.02986, "ay":-0.01539, "alpha":0.00004, "fx":[156.12578,156.12578,156.12571,156.12571], "fy":[-0.19991,-0.19952,-0.19952,-0.19991]}, + {"t":0.10182, "x":2.84048, "y":0.7205, "heading":-3.14159, "vx":1.34973, "vy":-0.00143, "omega":0.0, "ax":0.00003, "ay":-0.00495, "alpha":0.0002, "fx":[0.00099,0.00099,-0.00012,-0.00012], "fy":[-0.06477,-0.06366,-0.06366,-0.06477]}, + {"t":0.15272, "x":2.90919, "y":0.72042, "heading":-3.14159, "vx":1.34974, "vy":-0.00168, "omega":0.00001, "ax":-0.00001, "ay":-0.00493, "alpha":0.00018, "fx":[0.00041,0.00041,-0.00058,-0.00058], "fy":[-0.06451,-0.06351,-0.06351,-0.06451]}, + {"t":0.20363, "x":2.9779, "y":0.72033, "heading":-3.14159, "vx":1.34974, "vy":-0.00193, "omega":0.00002, "ax":-0.00001, "ay":-0.00493, "alpha":0.00016, "fx":[0.00034,0.00034,-0.00054,-0.00054], "fy":[-0.06448,-0.0636,-0.0636,-0.06448]}, + {"t":0.25454, "x":3.04661, "y":0.72022, "heading":-3.14159, "vx":1.34974, "vy":-0.00218, "omega":0.00003, "ax":-0.00001, "ay":-0.00494, "alpha":0.00013, "fx":[0.00026,0.00026,-0.00048,-0.00048], "fy":[-0.06444,-0.06371,-0.06371,-0.06444]}, + {"t":0.30545, "x":3.11533, "y":0.72011, "heading":-3.14159, "vx":1.34974, "vy":-0.00244, "omega":0.00004, "ax":-0.00001, "ay":-0.00494, "alpha":0.00009, "fx":[0.00014,0.00014,-0.00038,-0.00038], "fy":[-0.06437,-0.06385,-0.06385,-0.06437]}, + {"t":0.35635, "x":3.18404, "y":0.71997, "heading":-3.14159, "vx":1.34973, "vy":-0.00269, "omega":0.00004, "ax":-0.00001, "ay":-0.00494, "alpha":0.00003, "fx":[-0.00005,-0.00005,-0.00022,-0.00022], "fy":[-0.06424,-0.06407,-0.06407,-0.06424]}, + {"t":0.40726, "x":3.25275, "y":0.71983, "heading":-3.14159, "vx":1.34973, "vy":-0.00294, "omega":0.00004, "ax":-0.00001, "ay":-0.00495, "alpha":-0.00007, "fx":[-0.00034,-0.00034,0.00005,0.00005], "fy":[-0.06401,-0.0644,-0.0644,-0.06401]}, + {"t":0.45817, "x":3.32146, "y":0.71968, "heading":-3.14158, "vx":1.34973, "vy":-0.00319, "omega":0.00004, "ax":-0.00001, "ay":-0.00495, "alpha":-0.00022, "fx":[-0.00077,-0.00077,0.00045,0.00045], "fy":[-0.06364,-0.06487,-0.06487,-0.06364]}, + {"t":0.50908, "x":3.39017, "y":0.71951, "heading":-3.14158, "vx":1.34973, "vy":-0.00344, "omega":0.00003, "ax":-0.00001, "ay":-0.00496, "alpha":-0.00043, "fx":[-0.00138,-0.00138,0.00104,0.00104], "fy":[-0.06309,-0.06552,-0.06552,-0.06309]}, + {"t":0.55998, "x":3.45889, "y":0.71932, "heading":-3.14158, "vx":1.34973, "vy":-0.0037, "omega":0.00001, "ax":-0.00001, "ay":-0.00496, "alpha":-0.00072, "fx":[-0.00221,-0.00221,0.00185,0.00185], "fy":[-0.06233,-0.0664,-0.0664,-0.06233]}, + {"t":0.61089, "x":3.5276, "y":0.71913, "heading":-3.14158, "vx":1.34973, "vy":-0.00395, "omega":-0.00003, "ax":-0.00002, "ay":-0.00496, "alpha":-0.00109, "fx":[-0.00329,-0.00329,0.0029,0.0029], "fy":[-0.06133,-0.06752,-0.06752,-0.06133]}, + {"t":0.6618, "x":3.59631, "y":0.71892, "heading":-3.14158, "vx":1.34973, "vy":-0.0042, "omega":-0.00009, "ax":-0.00002, "ay":-0.00497, "alpha":-0.00155, "fx":[-0.00461,-0.00461,0.0042,0.0042], "fy":[-0.06009,-0.0689,-0.0689,-0.06009]}, + {"t":0.71271, "x":3.66502, "y":0.7187, "heading":-3.14159, "vx":1.34973, "vy":-0.00445, "omega":-0.00017, "ax":-0.00002, "ay":-0.00497, "alpha":-0.00209, "fx":[-0.00615,-0.00615,0.00571,0.00571], "fy":[-0.05863,-0.0705,-0.0705,-0.05863]}, + {"t":0.76361, "x":3.73373, "y":0.71847, "heading":3.14159, "vx":1.34973, "vy":-0.00471, "omega":-0.00027, "ax":-0.00002, "ay":-0.00498, "alpha":-0.00268, "fx":[-0.00783,-0.00783,0.00736,0.00736], "fy":[-0.05705,-0.07223,-0.07223,-0.05705]}, + {"t":0.81452, "x":3.80244, "y":0.71822, "heading":3.14158, "vx":1.34973, "vy":-0.00496, "omega":-0.00041, "ax":-0.00002, "ay":-0.00499, "alpha":-0.00325, "fx":[-0.00947,-0.00947,0.00898,0.00898], "fy":[-0.05549,-0.07394,-0.07394,-0.05549]}, + {"t":0.86543, "x":3.87116, "y":0.71796, "heading":3.14156, "vx":1.34973, "vy":-0.00521, "omega":-0.00057, "ax":-0.00002, "ay":-0.00499, "alpha":-0.00372, "fx":[-0.01081,-0.01081,0.01029,0.0103], "fy":[-0.05425,-0.07535,-0.07535,-0.05425]}, + {"t":0.91634, "x":3.93987, "y":0.71769, "heading":3.14153, "vx":1.34973, "vy":-0.00547, "omega":-0.00076, "ax":-0.00002, "ay":-0.005, "alpha":-0.00394, "fx":[-0.01144,-0.01144,0.0109,0.0109], "fy":[-0.05371,-0.07606,-0.07606,-0.05371]}, + {"t":0.96725, "x":4.00858, "y":0.71741, "heading":3.14149, "vx":1.34973, "vy":-0.00572, "omega":-0.00096, "ax":-0.00002, "ay":-0.00501, "alpha":-0.00371, "fx":[-0.01079,-0.01079,0.01022,0.01023], "fy":[-0.05447,-0.07548,-0.07549,-0.05447]}, + {"t":1.01815, "x":4.07729, "y":0.71711, "heading":3.14144, "vx":1.34972, "vy":-0.00598, "omega":-0.00115, "ax":-0.00002, "ay":-0.00501, "alpha":-0.00275, "fx":[-0.00808,-0.00809,0.00749,0.0075], "fy":[-0.05728,-0.07286,-0.07286,-0.05728]}, + {"t":1.06906, "x":4.146, "y":0.7168, "heading":3.14138, "vx":1.34972, "vy":-0.00623, "omega":-0.00129, "ax":-0.00002, "ay":-0.00502, "alpha":-0.00072, "fx":[-0.00235,-0.00235,0.00174,0.00174], "fy":[-0.06313,-0.06721,-0.06721,-0.06313]}, + {"t":1.11997, "x":4.21471, "y":0.71648, "heading":3.14131, "vx":1.34972, "vy":-0.00649, "omega":-0.00133, "ax":-0.00002, "ay":-0.00503, "alpha":0.00279, "fx":[0.00758,0.00759,-0.00823,-0.00823], "fy":[-0.07318,-0.05737,-0.05737,-0.07318]}, + {"t":1.17088, "x":4.28342, "y":0.71614, "heading":3.14125, "vx":1.34972, "vy":-0.00674, "omega":-0.00119, "ax":-0.00003, "ay":-0.00504, "alpha":0.00824, "fx":[0.02304,0.02306,-0.02371,-0.02372], "fy":[-0.08877,-0.04201,-0.04199,-0.08876]}, + {"t":1.22178, "x":4.35213, "y":0.71579, "heading":3.14119, "vx":1.34972, "vy":-0.007, "omega":-0.00077, "ax":-0.00003, "ay":-0.00505, "alpha":0.01613, "fx":[0.04538,0.04542,-0.04607,-0.04611], "fy":[-0.11126,-0.01977,-0.01973,-0.11122]}, + {"t":1.27269, "x":4.42084, "y":0.71543, "heading":3.14115, "vx":1.34972, "vy":-0.00726, "omega":0.00005, "ax":-0.00003, "ay":-0.00506, "alpha":0.02688, "fx":[0.07583,0.0759,-0.07655,-0.07662], "fy":[-0.14187,0.01058,0.01065,-0.1418]}, + {"t":1.3236, "x":4.48956, "y":0.71505, "heading":3.14115, "vx":1.34972, "vy":-0.00752, "omega":0.00142, "ax":-0.00003, "ay":-0.00506, "alpha":0.04076, "fx":[0.11519,0.11529,-0.11594,-0.11604], "fy":[-0.1814,0.04983,0.04993,-0.1813]}, + {"t":1.37451, "x":4.55827, "y":0.71466, "heading":3.14122, "vx":1.34972, "vy":-0.00777, "omega":0.0035, "ax":-0.00003, "ay":-0.00507, "alpha":0.05777, "fx":[0.1634,0.16353,-0.16418,-0.1643], "fy":[-0.22977,0.09793,0.09805,-0.22965]}, + {"t":1.42541, "x":4.62698, "y":0.71426, "heading":3.1414, "vx":1.34971, "vy":-0.00803, "omega":0.00644, "ax":-0.00003, "ay":-0.00508, "alpha":0.07736, "fx":[0.21898,0.21906,-0.21978,-0.21986], "fy":[-0.28545,0.15339,0.15347,-0.28537]}, + {"t":1.47632, "x":4.69569, "y":0.71384, "heading":-3.14146, "vx":1.34971, "vy":-0.00829, "omega":0.01038, "ax":-0.00003, "ay":-0.0051, "alpha":0.09823, "fx":[0.27823,0.27815,-0.27905,-0.27898], "fy":[-0.34469,0.21251,0.21244,-0.34477]}, + {"t":1.52723, "x":4.7644, "y":0.71341, "heading":-3.14093, "vx":1.34971, "vy":-0.00855, "omega":0.01538, "ax":-0.00003, "ay":-0.00511, "alpha":0.11794, "fx":[0.33431,0.33386,-0.33516,-0.33471], "fy":[-0.40055,0.26847,0.26802,-0.401]}, + {"t":1.57814, "x":4.83311, "y":0.71297, "heading":-3.14015, "vx":1.34971, "vy":-0.00881, "omega":0.02138, "ax":-0.00003, "ay":-0.00512, "alpha":0.13257, "fx":[0.37609,0.375,-0.37697,-0.37588], "fy":[-0.44186,0.31012,0.30903,-0.44294]}, + {"t":1.62904, "x":4.90182, "y":0.71252, "heading":-3.13906, "vx":1.34971, "vy":-0.00907, "omega":0.02813, "ax":-0.00003, "ay":-0.00513, "alpha":0.13624, "fx":[0.38693,0.38497,-0.38784,-0.38588], "fy":[-0.45199,0.32082,0.31886,-0.45395]}, + {"t":1.67995, "x":4.97053, "y":0.71205, "heading":-3.13763, "vx":1.34971, "vy":-0.00933, "omega":0.03507, "ax":-0.00004, "ay":-0.00514, "alpha":0.12076, "fx":[0.34339,0.34067,-0.34432,-0.34161], "fy":[-0.40786,0.27713,0.27441,-0.41058]}, + {"t":1.73086, "x":5.03924, "y":0.71157, "heading":-3.13584, "vx":1.3497, "vy":-0.00959, "omega":0.04121, "ax":-0.00004, "ay":-0.00515, "alpha":0.07527, "fx":[0.21424,0.21178,-0.2152,-0.21274], "fy":[-0.27915,0.14783,0.14537,-0.28161]}, + {"t":1.78177, "x":5.10795, "y":0.71107, "heading":-3.13374, "vx":1.3497, "vy":-0.00986, "omega":0.04505, "ax":-0.00004, "ay":-0.00517, "alpha":-0.01382, "fx":[-0.04,-0.03938,0.03901,0.03839], "fy":[-0.02818,-0.10657,-0.10595,-0.02756]}, + {"t":1.83268, "x":5.17666, "y":0.71056, "heading":-3.13145, "vx":1.3497, "vy":-0.01012, "omega":0.04434, "ax":-0.00004, "ay":-0.00517, "alpha":-0.16259, "fx":[-0.46631,-0.45696,0.46529,0.45594], "fy":[0.38933,-0.53292,-0.52357,0.39868]}, + {"t":1.88358, "x":5.24537, "y":0.71004, "heading":-3.12919, "vx":1.3497, "vy":-0.01038, "omega":0.03606, "ax":-0.00003, "ay":-0.00329, "alpha":-0.38866, "fx":[-1.11623,-1.08889,1.11556,1.08823], "fy":[1.04586,-1.1586,-1.13126,1.0732]}, + {"t":1.93449, "x":5.31408, "y":0.70951, "heading":-3.12736, "vx":1.3497, "vy":-0.01055, "omega":0.01628, "ax":-0.00514, "ay":0.36482, "alpha":-0.70841, "fx":[-2.10449,-2.04948,1.97319,1.91385], "fy":[6.71379,2.69834,2.75561,6.771]}, + {"t":1.9854, "x":5.38278, "y":0.70944, "heading":-3.12653, "vx":1.34943, "vy":0.00802, "omega":-0.01978, "ax":0.00001, "ay":0.40946, "alpha":-0.37674, "fx":[-1.08493,-1.05339,1.08574,1.05284], "fy":[6.36549,4.23043,4.26262,6.39764]}, + {"t":2.03361, "x":5.44784, "y":0.71031, "heading":-3.12748, "vx":1.34943, "vy":0.02776, "omega":-0.03795, "ax":0.00006, "ay":-0.00296, "alpha":-0.166, "fx":[-0.47662,-0.46334,0.4782,0.46491], "fy":[0.42567,-0.51587,-0.50258,0.43896]}, + {"t":2.08182, "x":5.5129, "y":0.71164, "heading":-3.12931, "vx":1.34944, "vy":0.02762, "omega":-0.04595, "ax":0.00011, "ay":-0.00544, "alpha":-0.02205, "fx":[-0.06186,-0.06032,0.06473,0.0632], "fy":[-0.0089,-0.13395,-0.13242,-0.00736]}, + {"t":2.13003, "x":5.57796, "y":0.71297, "heading":-3.13153, "vx":1.34944, "vy":0.02736, "omega":-0.04701, "ax":0.00011, "ay":-0.00542, "alpha":0.07028, "fx":[0.20274,0.19873,-0.1999,-0.19589], "fy":[-0.2677,0.13093,0.12691,-0.27171]}, + {"t":2.17824, "x":5.64301, "y":0.71428, "heading":-3.13379, "vx":1.34945, "vy":0.0271, "omega":-0.04362, "ax":0.00011, "ay":-0.00539, "alpha":0.12535, "fx":[0.35968,0.35413,-0.35688,-0.35134], "fy":[-0.42268,0.28834,0.28279,-0.42822]}, + {"t":2.22645, "x":5.70807, "y":0.71558, "heading":-3.13589, "vx":1.34945, "vy":0.02684, "omega":-0.03758, "ax":0.00011, "ay":-0.00536, "alpha":0.15544, "fx":[0.44475,0.43973,-0.442,-0.43698], "fy":[-0.50786,0.37387,0.36884,-0.51288]}, + {"t":2.27466, "x":5.77313, "y":0.71687, "heading":-3.13771, "vx":1.34946, "vy":0.02658, "omega":-0.03009, "ax":0.0001, "ay":-0.00532, "alpha":0.17048, "fx":[0.48673,0.48298,-0.48403,-0.48027], "fy":[-0.5507,0.4163,0.41254,-0.55446]}, + {"t":2.32287, "x":5.83819, "y":0.71814, "heading":-3.13916, "vx":1.34946, "vy":0.02632, "omega":-0.02187, "ax":0.0001, "ay":-0.00529, "alpha":0.17799, "fx":[0.50736,0.5049,-0.5047,-0.50224], "fy":[-0.57224,0.43736,0.4349,-0.5747]}, + {"t":2.37108, "x":5.90325, "y":0.71941, "heading":-3.14021, "vx":1.34947, "vy":0.02607, "omega":-0.01329, "ax":0.0001, "ay":-0.00526, "alpha":0.18325, "fx":[0.52177,0.52034,-0.51915,-0.51771], "fy":[-0.58729,0.45219,0.45076,-0.58873]}, + {"t":2.41929, "x":5.9683, "y":0.72066, "heading":-3.14085, "vx":1.34947, "vy":0.02581, "omega":-0.00445, "ax":0.0001, "ay":-0.00523, "alpha":0.18945, "fx":[0.539,0.53821,-0.53642,-0.53562], "fy":[-0.60479,0.46983,0.46904,-0.60559]}, + {"t":2.4675, "x":6.03336, "y":0.72189, "heading":-3.14107, "vx":1.34948, "vy":0.02556, "omega":0.00468, "ax":0.0001, "ay":-0.0052, "alpha":0.19774, "fx":[0.56239,0.5618,-0.55985,-0.55925], "fy":[-0.62802,0.49362,0.49303,-0.62861]}, + {"t":2.51571, "x":6.09842, "y":0.72312, "heading":-3.14084, "vx":1.34948, "vy":0.02531, "omega":0.01421, "ax":0.0001, "ay":-0.00517, "alpha":0.20735, "fx":[0.58978,0.5889,-0.58728,-0.58639], "fy":[-0.65476,0.52141,0.52053,-0.65564]}, + {"t":2.56393, "x":6.16348, "y":0.72434, "heading":-3.14016, "vx":1.34949, "vy":0.02506, "omega":0.02421, "ax":0.00009, "ay":-0.00514, "alpha":0.21557, "fx":[0.6135,0.61175,-0.61104,-0.60928], "fy":[-0.67726,0.54552,0.54376,-0.67902]}, + {"t":2.61214, "x":6.22854, "y":0.72554, "heading":-3.13899, "vx":1.34949, "vy":0.02481, "omega":0.0346, "ax":0.00009, "ay":-0.00512, "alpha":0.21765, "fx":[0.6201,0.61689,-0.61768,-0.61446], "fy":[-0.68207,0.5525,0.54928,-0.68528]}, + {"t":2.66035, "x":6.2936, "y":0.72673, "heading":-3.13732, "vx":1.3495, "vy":0.02457, "omega":0.0451, "ax":0.00009, "ay":-0.00509, "alpha":0.20672, "fx":[0.58999,0.58498,-0.5876,-0.58259], "fy":[-0.64983,0.52275,0.51774,-0.65484]}, + {"t":2.70856, "x":6.35866, "y":0.72791, "heading":-3.13515, "vx":1.3495, "vy":0.02432, "omega":0.05506, "ax":0.00009, "ay":-0.00506, "alpha":0.17369, "fx":[0.49698,0.49063,-0.49462,-0.48827], "fy":[-0.55515,0.43009,0.42374,-0.5615]}, + {"t":2.75677, "x":6.42372, "y":0.72907, "heading":-3.13249, "vx":1.34951, "vy":0.02408, "omega":0.06344, "ax":0.00009, "ay":-0.00504, "alpha":0.10724, "fx":[0.30807,0.30254,-0.30576,-0.30022], "fy":[-0.36676,0.24153,0.236,-0.37229]}, + {"t":2.80498, "x":6.48878, "y":0.73023, "heading":-3.12943, "vx":1.34951, "vy":0.02383, "omega":0.06861, "ax":0.00009, "ay":-0.00501, "alpha":-0.00612, "fx":[-0.01642,-0.016,0.01871,0.01829], "fy":[-0.04792,-0.08263,-0.08221,-0.0475]}, + {"t":2.85319, "x":6.55384, "y":0.73137, "heading":-3.12613, "vx":1.34951, "vy":0.02359, "omega":0.06831, "ax":0.00009, "ay":-0.00499, "alpha":-0.18162, "fx":[-0.52189,-0.50596,0.52414,0.50821], "fy":[0.44232,-0.58778,-0.57184,0.45825]}, + {"t":2.9014, "x":6.6189, "y":0.7325, "heading":-3.12283, "vx":1.34952, "vy":0.02335, "omega":0.05955, "ax":0.00009, "ay":-0.00497, "alpha":-0.43554, "fx":[-1.25714,-1.21078,1.25935,1.21301], "fy":[1.14743,-1.32271,-1.27636,1.19378]}, + {"t":2.94961, "x":6.68396, "y":0.73362, "heading":-3.11996, "vx":1.34952, "vy":0.02311, "omega":0.03856, "ax":0.00008, "ay":-0.00494, "alpha":-0.78396, "fx":[-2.26998,-2.17375,2.27213,2.17597], "fy":[2.11069,-2.33522,-2.23904,2.20688]}, + {"t":2.99782, "x":6.74903, "y":0.73473, "heading":-3.1181, "vx":1.34953, "vy":0.02287, "omega":0.00076, "ax":0.00008, "ay":-0.00492, "alpha":-1.24079, "fx":[-3.59977,-3.43436,3.60184,3.43661], "fy":[3.37161,-3.66468,-3.49936,3.53693]}, + {"t":3.04603, "x":6.81409, "y":0.73583, "heading":-3.11807, "vx":1.34953, "vy":0.02264, "omega":-0.05906, "ax":0.00008, "ay":-0.0049, "alpha":-1.81502, "fx":[-5.26647,-5.02407,5.2684,5.02638], "fy":[4.96166,-5.33099,-5.0888,5.20387]}, + {"t":3.09424, "x":6.87915, "y":0.73691, "heading":-3.12091, "vx":1.34953, "vy":0.0224, "omega":-0.14656, "ax":0.00008, "ay":-0.00487, "alpha":-2.50697, "fx":[-7.25491,-6.96049,7.25663,6.96294], "fy":[6.89847,-7.31901,-7.02496,7.19253]}, + {"t":3.14245, "x":6.94421, "y":0.73799, "heading":-3.12798, "vx":1.34954, "vy":0.02217, "omega":-0.26742, "ax":0.00008, "ay":-0.00485, "alpha":-3.30363, "fx":[-9.49571,-9.23999,9.49714,9.24267], "fy":[9.1784,-9.55935,-9.30425,9.43351]}, + {"t":3.19066, "x":7.00927, "y":0.73905, "heading":-3.14087, "vx":1.34954, "vy":0.02193, "omega":-0.42669, "ax":0.00008, "ay":-0.00483, "alpha":-4.17345, "fx":[-11.84473,-11.82668,11.84576,11.8297], "fy":[11.76553,-11.90791,-11.89084,11.78257]}, + {"t":3.23887, "x":7.07434, "y":0.7401, "heading":3.12174, "vx":1.34955, "vy":0.0217, "omega":-0.6279, "ax":0.00008, "ay":-0.00482, "alpha":-5.0611, "fx":[-14.06623,-14.63464,14.06678,14.6381], "fy":[14.57382,-14.12914,-14.69892,14.00387]}, + {"t":3.28708, "x":7.1394, "y":0.74114, "heading":3.09147, "vx":1.34955, "vy":0.02147, "omega":-0.8719, "ax":0.00008, "ay":-0.00485, "alpha":-5.88231, "fx":[-15.82655,-17.49633,15.82657,17.50029], "fy":[17.43545,-15.88965,-17.56117,15.76347]}, + {"t":3.33529, "x":7.20446, "y":0.74217, "heading":3.04944, "vx":1.34955, "vy":0.02123, "omega":-1.15549, "ax":0.00008, "ay":-0.00495, "alpha":-6.51989, "fx":[-16.71166,-20.11274,16.71124,20.11718], "fy":[20.05094,-16.77596,-20.17897,16.64693]}, + {"t":3.3835, "x":7.26952, "y":0.74319, "heading":2.99373, "vx":1.34956, "vy":0.02099, "omega":-1.46981, "ax":0.00008, "ay":-0.00518, "alpha":-6.81642, "fx":[-16.27381,-21.96756,16.27318,21.97235], "fy":[21.90315,-16.34116,-22.03675,16.20581]}, + {"t":3.43171, "x":7.33459, "y":0.7442, "heading":2.92287, "vx":1.34956, "vy":0.02074, "omega":-1.79844, "ax":0.00009, "ay":-0.00564, "alpha":-6.56469, "fx":[-14.13531,-22.21277,14.13496,22.21758], "fy":[22.14262,-14.20893,-22.28771,14.06133]}, + {"t":3.47993, "x":7.39965, "y":0.74519, "heading":2.83617, "vx":1.34956, "vy":0.02047, "omega":-2.11492, "ax":0.0001, "ay":-0.00648, "alpha":-5.49448, "fx":[-10.17587,-19.54597,10.17652,19.55038], "fy":[19.46479,-10.26092,-19.63154,10.09146]}, + {"t":3.52814, "x":7.46471, "y":0.74617, "heading":2.7342, "vx":1.34957, "vy":0.02016, "omega":-2.37982, "ax":0.00011, "ay":-0.00758, "alpha":-3.28394, "fx":[-4.86018,-12.24014,4.86244,12.2437], "fy":[12.14387,-4.96006,-12.33996,4.76255]}, + {"t":3.57635, "x":7.52978, "y":0.74713, "heading":2.61947, "vx":1.34958, "vy":0.01979, "omega":-2.53814, "ax":-0.00063, "ay":0.0411, "alpha":0.28832, "fx":[0.29273,1.10835,-0.30918,-1.12483], "fy":[-0.58323,0.83432,1.64991,0.23242]}, + {"t":3.62456, "x":7.59484, "y":0.74813, "heading":2.49711, "vx":1.34954, "vy":0.02178, "omega":-2.52424, "ax":-0.88036, "ay":6.52568, "alpha":3.2382, "fx":[-9.90595,4.03463,-12.88215,-26.94844], "fy":[74.28094,87.03522,94.73625,82.71364]}, + {"t":3.67277, "x":7.65888, "y":0.75677, "heading":2.37541, "vx":1.3071, "vy":0.33638, "omega":-2.36812, "ax":-7.07314, "ay":12.5545, "alpha":0.06413, "fx":[-92.0068,-91.40306,-91.58749,-92.18884], "fy":[162.81302,163.15429,163.05599,162.7152]}, + {"t":3.72098, "x":7.71368, "y":0.78758, "heading":2.26124, "vx":0.9661, "vy":0.94164, "omega":-2.36503, "ax":-12.3814, "ay":7.3684, "alpha":0.06183, "fx":[-160.91478,-160.57776,-160.46165,-160.79834], "fy":[95.24451,95.80856,96.01139,95.44947]}, + {"t":3.76954, "x":7.74599, "y":0.84199, "heading":2.1464, "vx":0.36486, "vy":1.29945, "omega":-2.36203, "ax":-6.11654, "ay":1.00023, "alpha":5.66546, "fx":[-85.14341,-60.58722,-74.77367,-97.02229], "fy":[-13.02114,8.45577,39.43983,17.05003]}, + {"t":3.8181, "x":7.7565, "y":0.90627, "heading":2.0317, "vx":0.06784, "vy":1.34802, "omega":-2.08691, "ax":-0.04553, "ay":0.00225, "alpha":7.22418, "fx":[-9.84093,26.88426,8.63583,-28.04294], "fy":[-27.42692,-9.21719,27.5013,9.25985]}, + {"t":3.86666, "x":7.75974, "y":0.97173, "heading":1.93036, "vx":0.06563, "vy":1.34813, "omega":-1.73611, "ax":-0.00019, "ay":0.00001, "alpha":6.33124, "fx":[-10.49254,23.12417,10.48749,-23.1291], "fy":[-23.12649,-10.48993,23.12678,10.4901]}, + {"t":3.91522, "x":7.76292, "y":1.0372, "heading":1.84605, "vx":0.06562, "vy":1.34813, "omega":-1.42866, "ax":0.00007, "ay":0.0, "alpha":5.49614, "fx":[-10.7636,19.239,10.76548,-19.23715], "fy":[-19.23813,-10.76458,19.23801,10.7645]}, + {"t":3.96378, "x":7.76611, "y":1.10266, "heading":1.77668, "vx":0.06563, "vy":1.34813, "omega":-1.16177, "ax":0.00006, "ay":0.0, "alpha":4.73513, "fx":[-10.39987,15.8924,10.40151,-15.89078], "fy":[-15.89164,-10.40073,15.89154,10.40065]}, + {"t":4.01234, "x":7.7693, "y":1.16813, "heading":1.72026, "vx":0.06563, "vy":1.34813, "omega":-0.93183, "ax":0.00005, "ay":0.0, "alpha":4.0532, "fx":[-9.65495,13.08001,9.65637,-13.0786], "fy":[-13.07935,-9.6557,13.07926,9.65563]}, + {"t":4.0609, "x":7.77248, "y":1.23359, "heading":1.67501, "vx":0.06563, "vy":1.34813, "omega":-0.73501, "ax":0.00005, "ay":0.0, "alpha":3.44838, "fx":[-8.70918,10.74526,8.71042,-10.74402], "fy":[-10.74468,-8.70983,10.7446,8.70977]}, + {"t":4.10946, "x":7.77567, "y":1.29906, "heading":1.63932, "vx":0.06563, "vy":1.34813, "omega":-0.56756, "ax":0.00004, "ay":0.0, "alpha":2.91492, "fx":[-7.68127,8.81449,7.68236,-8.8134], "fy":[-8.81398,-7.68184,8.81391,7.68178]}, + {"t":4.15802, "x":7.77886, "y":1.36452, "heading":1.61176, "vx":0.06564, "vy":1.34813, "omega":-0.42601, "ax":0.00004, "ay":0.0, "alpha":2.44519, "fx":[-6.64473,7.2137,6.64569,-7.21274], "fy":[-7.21325,-6.64524,7.21319,6.64519]}, + {"t":4.20658, "x":7.78205, "y":1.42999, "heading":1.59107, "vx":0.06564, "vy":1.34813, "omega":-0.30727, "ax":0.00003, "ay":0.0, "alpha":2.03093, "fx":[-5.64172,5.87614,5.64257,-5.8753], "fy":[-5.87574,-5.64217,5.8757,5.64212]}, + {"t":4.25514, "x":7.78523, "y":1.49545, "heading":1.57615, "vx":0.06564, "vy":1.34813, "omega":-0.20865, "ax":0.00003, "ay":0.0, "alpha":1.6639, "fx":[-4.69343,4.74472,4.69418,-4.74398], "fy":[-4.74437,-4.69383,4.74433,4.69379]}, + {"t":4.3037, "x":7.78842, "y":1.56092, "heading":1.56602, "vx":0.06564, "vy":1.34813, "omega":-0.12785, "ax":0.00003, "ay":0.0, "alpha":1.33621, "fx":[-3.80749,3.77194,3.80815,-3.77129], "fy":[-3.77164,-3.80784,3.7716,3.8078]}, + {"t":4.35226, "x":7.79161, "y":1.62638, "heading":1.55981, "vx":0.06564, "vy":1.34813, "omega":-0.06296, "ax":0.00002, "ay":0.0, "alpha":1.04048, "fx":[-2.98295,2.91869,2.98352,-2.91811], "fy":[-2.91842,-2.98325,2.91838,2.98322]}, + {"t":4.40082, "x":7.7948, "y":1.69185, "heading":1.55675, "vx":0.06564, "vy":1.34813, "omega":-0.01244, "ax":0.00002, "ay":0.0, "alpha":0.7698, "fx":[-2.2135,2.15269,2.21401,-2.15219], "fy":[-2.15245,-2.21377,2.15242,2.21374]}, + {"t":4.44938, "x":7.79798, "y":1.75731, "heading":1.55615, "vx":0.06564, "vy":1.34813, "omega":0.02494, "ax":0.00002, "ay":0.0, "alpha":0.51777, "fx":[-1.48963,1.44705,1.49007,-1.44661], "fy":[-1.44684,-1.48986,1.44682,1.48984]}, + {"t":4.49794, "x":7.80117, "y":1.82278, "heading":1.55736, "vx":0.06564, "vy":1.34813, "omega":0.05009, "ax":0.00001, "ay":0.0, "alpha":0.27833, "fx":[-0.79975,0.77892,0.80013,-0.77854], "fy":[-0.77874,-0.79995,0.77872,0.79993]}, + {"t":4.5465, "x":7.80436, "y":1.88824, "heading":1.55979, "vx":0.06565, "vy":1.34813, "omega":0.0636, "ax":0.00001, "ay":0.0, "alpha":0.04572, "fx":[-0.13092,0.12839,0.13125,-0.12807], "fy":[-0.12824,-0.13109,0.12822,0.13108]}, + {"t":4.59506, "x":7.80755, "y":1.95371, "heading":1.56288, "vx":0.06565, "vy":1.34813, "omega":0.06582, "ax":0.00001, "ay":0.0, "alpha":-0.18568, "fx":[0.53091,-0.52231,-0.53064,0.52258], "fy":[0.52243,0.53077,-0.52245,-0.53079]}, + {"t":4.64362, "x":7.81073, "y":2.01917, "heading":1.56608, "vx":0.06565, "vy":1.34813, "omega":0.05681, "ax":0.00001, "ay":0.0, "alpha":-0.42143, "fx":[1.201,-1.18949,-1.20077,1.18972], "fy":[1.1896,1.20088,-1.18961,-1.20089]}, + {"t":4.69218, "x":7.81392, "y":2.08464, "heading":1.56884, "vx":0.06565, "vy":1.34813, "omega":0.03634, "ax":0.0, "ay":-0.0001, "alpha":-0.66717, "fx":[1.89596,-1.88849,-1.89591,1.88854], "fy":[1.88717,1.89459,-1.88985,-1.89727]}, + {"t":4.74074, "x":7.81711, "y":2.1501, "heading":1.5706, "vx":0.06565, "vy":1.34813, "omega":0.00394, "ax":-0.6475, "ay":-13.29725, "alpha":-0.07941, "fx":[-8.0068,-8.83679,-8.79827,-7.9719], "fy":[-172.55636,-172.51931,-172.59221,-172.62893]}, + {"t":4.7893, "x":7.81953, "y":2.19989, "heading":1.57079, "vx":0.0342, "vy":0.70241, "omega":0.00009, "ax":-0.70437, "ay":-14.46483, "alpha":-0.00181, "fx":[-9.13164,-9.15213,-9.15113,-9.13065], "fy":[-187.72775,-187.72676,-187.72684,-187.72783]}, + {"t":4.83786, "x":7.82037, "y":2.21695, "heading":1.5708, "vx":0.0, "vy":0.0, "omega":0.0, "ax":0.0, "ay":0.0, "alpha":0.0, "fx":[0.0,0.0,0.0,0.0], "fy":[0.0,0.0,0.0,0.0]}], + "splits":[0] + }, + "events":[] +} diff --git a/src/main/deploy/choreo/rebuiltChoreo.chor b/src/main/deploy/choreo/rebuiltChoreo.chor new file mode 100644 index 0000000..58b33e4 --- /dev/null +++ b/src/main/deploy/choreo/rebuiltChoreo.chor @@ -0,0 +1,282 @@ +{ + "name":"rebuiltChoreo", + "version":2, + "type":"Swerve", + "variables":{ + "expressions":{ + "slow":{ + "dimension":"LinVel", + "var":{ + "exp":"1.15 m / s", + "val":1.15 + } + }, + "slowaccel":{ + "dimension":"LinAcc", + "var":{ + "exp":"1.5 m / s ^ 2", + "val":1.5 + } + } + }, + "poses":{ + "CL":{ + "x":{ + "exp":"1.7636412382125854 m", + "val":1.7636412382125854 + }, + "y":{ + "exp":"4.111053943634033 m", + "val":4.111053943634033 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "CM":{ + "x":{ + "exp":"1.7500560283660889 m", + "val":1.7500560283660889 + }, + "y":{ + "exp":"3.7646303176879883 m", + "val":3.764630317687988 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "CR":{ + "x":{ + "exp":"1.7568485736846924 m", + "val":1.7568485736846924 + }, + "y":{ + "exp":"3.397829055786133 m", + "val":3.397829055786133 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "D":{ + "x":{ + "exp":"0.8098713755607605 m", + "val":0.8098713755607605 + }, + "y":{ + "exp":"6.312607765197754 m", + "val":6.312607765197754 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "FL":{ + "x":{ + "exp":"7.8203654289245605 m", + "val":7.82036542892456 + }, + "y":{ + "exp":"5.865901947021484 m", + "val":5.865901947021484 + }, + "heading":{ + "exp":"-1.5707963267948966 rad", + "val":-1.5707963267948966 + } + }, + "FLM":{ + "x":{ + "exp":"7.8203654289245605 m", + "val":7.82036542892456 + }, + "y":{ + "exp":"4.503572463989258 m", + "val":4.503572463989258 + }, + "heading":{ + "exp":"-1.5707963267948966 rad", + "val":-1.5707963267948966 + } + }, + "FR":{ + "x":{ + "exp":"7.8203654289245605 m", + "val":7.82036542892456 + }, + "y":{ + "exp":"2.2169458866119385 m", + "val":2.2169458866119385 + }, + "heading":{ + "exp":"1.5707963267948966 rad", + "val":1.5707963267948966 + } + }, + "FRM":{ + "x":{ + "exp":"7.8203654289245605 m", + "val":7.82036542892456 + }, + "y":{ + "exp":"3.55698299407959 m", + "val":3.55698299407959 + }, + "heading":{ + "exp":"1.5707963267948966 rad", + "val":1.5707963267948966 + } + }, + "O":{ + "x":{ + "exp":"0.6150895357131958 m", + "val":0.6150895357131958 + }, + "y":{ + "exp":"0.7198631167411804 m", + "val":0.7198631167411804 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "PLO":{ + "x":{ + "exp":"3.7620644569396973 m", + "val":3.7620644569396977 + }, + "y":{ + "exp":"7.357067584991455 m", + "val":7.357067584991455 + }, + "heading":{ + "exp":"0 rad", + "val":0.0 + } + }, + "PR":{ + "x":{ + "exp":"3.7242095470428467 m", + "val":3.7242095470428462 + }, + "y":{ + "exp":"0.7309682965278625 m", + "val":0.7309682965278625 + }, + "heading":{ + "exp":"3.141592690548533 rad", + "val":3.141592690548533 + } + }, + "SL":{ + "x":{ + "exp":"2.814626932144165 m", + "val":2.814626932144165 + }, + "y":{ + "exp":"7.330637454986572 m", + "val":7.330637454986572 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + }, + "SR":{ + "x":{ + "exp":"2.768587827682495 m", + "val":2.768587827682495 + }, + "y":{ + "exp":"0.7205682992935181 m", + "val":0.7205682992935181 + }, + "heading":{ + "exp":"3.141592653589793 rad", + "val":3.141592653589793 + } + } + } + }, + "config":{ + "frontLeft":{ + "x":{ + "exp":"20.247 / 2 in", + "val":0.2571369 + }, + "y":{ + "exp":"20.247 / 2 in", + "val":0.2571369 + } + }, + "backLeft":{ + "x":{ + "exp":"-20.247 / 2 in", + "val":-0.2571369 + }, + "y":{ + "exp":"20.247 / 2 in", + "val":0.2571369 + } + }, + "mass":{ + "exp":"114.448 lb", + "val":51.91273956176 + }, + "inertia":{ + "exp":"19936.881 in ^ 2 lb", + "val":5.834321946299203 + }, + "gearing":{ + "exp":"(50 / 16) * (17 / 27) * (45 / 15)", + "val":5.902777777777778 + }, + "radius":{ + "exp":"1.975 in", + "val":0.050165 + }, + "vmax":{ + "exp":"6380 RPM", + "val":668.1120376634293 + }, + "tmax":{ + "exp":"257 / 4.69 N * m", + "val":54.79744136460554 + }, + "cof":{ + "exp":"1.48", + "val":1.48 + }, + "bumper":{ + "front":{ + "exp":"33.1 / 2 in", + "val":0.42037 + }, + "side":{ + "exp":"33.1 / 2 in", + "val":0.42037 + }, + "back":{ + "exp":"33.1 / 2 in", + "val":0.42037 + } + }, + "differentialTrackWidth":{ + "exp":"21.367 in", + "val":0.5427218 + } + }, + "generationFeatures":[], + "codegen":{ + "root":null, + "genVars":true, + "genTrajData":true, + "useChoreoLib":true + } +} diff --git a/src/main/deploy/example.txt b/src/main/deploy/example.txt deleted file mode 100644 index bb82515..0000000 --- a/src/main/deploy/example.txt +++ /dev/null @@ -1,3 +0,0 @@ -Files placed in this directory will be deployed to the RoboRIO into the -'deploy' directory in the home folder. Use the 'Filesystem.getDeployDirectory' wpilib function -to get a proper path relative to the deploy directory. \ No newline at end of file diff --git a/src/main/java/frc/robot/Autos.java b/src/main/java/frc/robot/Autos.java index 97a4364..5fb1db7 100644 --- a/src/main/java/frc/robot/Autos.java +++ b/src/main/java/frc/robot/Autos.java @@ -23,43 +23,86 @@ public class Autos { // Declare triggers // mehhhhhhh - private static boolean autoPreScore; - private static boolean autoScore; - private static boolean autoIntake; private static boolean autoFeed; + private static boolean autoIntake; + private static boolean autoScore; + private static boolean autoClimb; // private static boolean autoIntakeAlgae; - @AutoLogOutput(key = "Superstructure/Auto Pre Score Request") - public static Trigger autoPreScoreReq = - new Trigger(() -> autoPreScore).and(DriverStation::isAutonomous); - - @AutoLogOutput(key = "Superstructure/Auto Score Request") - public static Trigger autoScoreReq = - new Trigger(() -> autoScore).and(DriverStation::isAutonomous); + @AutoLogOutput(key = "Superstructure/Auto Feed Request") + public static Trigger autoFeedReq = new Trigger(() -> autoFeed).and(DriverStation::isAutonomous); @AutoLogOutput(key = "Superstructure/Auto Intake Request") public static Trigger autoIntakeReq = new Trigger(() -> autoIntake).and(DriverStation::isAutonomous); - @AutoLogOutput(key = "Superstructure/Auto Feed Request") - public static Trigger autoFeedReq = new Trigger(() -> autoFeed).and(DriverStation::isAutonomous); + @AutoLogOutput(key = "Superstructure/Auto Score Request") + public static Trigger autoScoreReq = + new Trigger(() -> autoScore).and(DriverStation::isAutonomous); - public enum PathEndType { - PLACEHOLDER; + @AutoLogOutput(key = "Superstructure/Auto Climb Request") + public static Trigger autoClimbReq = + new Trigger(() -> autoClimb).and(DriverStation::isAutonomous); + + public enum Action { + FEED, + INTAKE, + SCORE, + CLIMB; } public enum Path { - PLACEHOLDER("placeholder", "placeholder", PathEndType.PLACEHOLDER); + // R for right + // L for left + // M for middle + // P for park (starting pose but often used for scoring pose ig) + // D for depot + // O for outpost + // C for climb + // S was going to be for scoring + // F for feeding poses + // I for intake + DtoFL("D", "FL", Action.FEED), + FLMtoCL("FLM", "CL", Action.CLIMB), + FLMtoSL("FLM", "SL", Action.SCORE), + FLtoFLM("FL", "FLM", Action.FEED), + FLtoSL("FL", "SL", Action.SCORE), + FRMtoCR("FRM", "CR", Action.CLIMB), + FRMtoSR("FRM", "SR", Action.SCORE), + FRtoFRM("FR", "FRM", Action.FEED), + FRtoSR("FR", "SR", Action.SCORE), + OtoFR("O", "FR", Action.FEED), + SLtoCL("SL", "CL", Action.CLIMB), + SLtoCM("SL", "CM", Action.CLIMB), + SLtoFL("SL", "FL", Action.FEED), + SRtoCM("SR", "CM", Action.CLIMB), + SRtoCR("SR", "CR", Action.CLIMB), + SRtoFR("SR", "FR", Action.FEED), + // starting paths + PRtoO("PR", "O", Action.INTAKE), + PLtoD("PL", "D", Action.INTAKE), + // idk seperate intake and feed so action is included makes it easier for me but they use the + // same trajectories so I dont have to make new paths + DtoIL("D", "FL", Action.INTAKE), + ILMtoSL("FLM", "SL", Action.SCORE), + ILtoILM("FL", "FLM", Action.INTAKE), + ILtoSL("FL", "SL", Action.SCORE), + IRMtoSR("FRM", "SR", Action.SCORE), + IRtoIRM("FR", "FRM", Action.INTAKE), + IRtoSR("FR", "SR", Action.SCORE), + OtoIR("O", "FR", Action.INTAKE), + SLtoIL("SL", "FL", Action.INTAKE), + SRtoIR("SR", "FR", Action.INTAKE); private final String start; private final String end; - private final PathEndType type; + private final Action action; - private Path(String start, String end, PathEndType type) { + private Path(String start, String end, Action action) { this.start = start; this.end = end; - this.type = type; + this.action = action; } public AutoTrajectory getTrajectory(AutoRoutine routine) { @@ -88,7 +131,6 @@ public Autos(SwerveSubsystem swerve) { }); } - // TODO write leave auto public Command leaveAuto() { final AutoRoutine routine = factory.newRoutine("Leave Auto"); Path[] paths = {}; @@ -100,33 +142,179 @@ public Command leaveAuto() { autoCommand.andThen( Commands.print("Running path: " + path.toString()).andThen(runPath(path, routine))); } + + routine.active().whileTrue(autoCommand); + return routine.cmd(); } public Command runPath(Path path, AutoRoutine routine) { - PathEndType type = path.type; - switch (type) { + Action action = path.action; + switch (action) { + case INTAKE: + return intakePath(path, routine); + case FEED: + return feedPath(path, routine); + case SCORE: + return scorePath(path, routine); + case CLIMB: + return climbPath(path, routine); default: // this should never happen return Commands.none(); } } - public Command setAutoScoreReqTrue() { - return Commands.runOnce( - () -> { - autoScore = true; - }); + // TODO aligning to climb pos correctly + public Command climbPath(Path path, AutoRoutine routine) { + // path align and climb + return Commands.sequence( + path.getTrajectory(routine) + .cmd() + .until( + routine.observe( + path.getTrajectory(routine) + .atTime( + path.getTrajectory(routine).getRawTrajectory().getTotalTime() + - (0.3)))), + setAutoClimbReqTrue()); } - public Command setAutoPreScoreReqTrue() { - return Commands.runOnce(() -> autoPreScore = true); + public Command feedPath(Path path, AutoRoutine routine) { + return Commands.sequence( + setAutoFeedReqTrue(), + path.getTrajectory(routine).cmd().until(path.getTrajectory(routine).done()), + setAutoFeedReqFalse()); + } + + public Command scorePath(Path path, AutoRoutine routine) { + // path align and score + return Commands.sequence( + path.getTrajectory(routine).cmd().until(path.getTrajectory(routine).done()), + // .getRawTrajectory().getTotalTime() + // - (0.3)))), + setAutoScoreReqTrue(), + waitUntilEmpty(), + setAutoScoreReqFalse(), + Commands.print("score in auto")); + } + + // feeding and intake could prob be improved + public Command intakePath(Path path, AutoRoutine routine) { + return Commands.sequence( + setAutoIntakeReqTrue(), + path.getTrajectory(routine).cmd().until(path.getTrajectory(routine).done()), + setAutoIntakeReqFalse()); + } + + public Command shootPreload() { + return Commands.sequence(setAutoScoreReqTrue(), waitUntilEmpty(), setAutoScoreReqFalse()); + } + + public Command setAutoIntakeReqTrue() { + return Commands.runOnce(() -> autoIntake = true); + } + + public Command setAutoIntakeReqFalse() { + return Commands.runOnce(() -> autoIntake = false); + } + + public Command setAutoScoreReqTrue() { + return Commands.runOnce(() -> autoScore = true); } public Command setAutoScoreReqFalse() { - return Commands.runOnce( - () -> { - autoScore = false; - autoPreScore = false; - }); + return Commands.runOnce(() -> autoScore = false); + } + + public Command setAutoFeedReqTrue() { + return Commands.runOnce(() -> autoFeed = true); + } + + public Command setAutoFeedReqFalse() { + return Commands.runOnce(() -> autoFeed = false); + } + + public Command setAutoClimbReqTrue() { + return Commands.runOnce(() -> autoClimb = true); + } + + public Command setAutoClimbReqFalse() { + return Commands.runOnce(() -> autoClimb = false); + } + + public Command getDepotScoreClimbAuto() { + final AutoRoutine routine = factory.newRoutine("Depot Score Climb Auto"); + Path[] paths = {Path.PLtoD, Path.DtoIL, Path.ILtoILM, Path.ILMtoSL, Path.SLtoCL}; + Command autoCommand = paths[0].getTrajectory(routine).resetOdometry().andThen(shootPreload()); + + for (Path p : paths) { + autoCommand = autoCommand.andThen(runPath(p, routine)); + } + + routine.active().onTrue(autoCommand); + + return routine.cmd(); + } + + public Command getOutpostScoreClimbAuto() { + final AutoRoutine routine = factory.newRoutine("Outpost Score Climb Auto"); + Path[] paths = {Path.PRtoO, Path.OtoIR, Path.IRtoIRM, Path.IRMtoSR, Path.SRtoCR}; + Command autoCommand = paths[0].getTrajectory(routine).resetOdometry().andThen(shootPreload()); + + for (Path p : paths) { + autoCommand = autoCommand.andThen(runPath(p, routine)); + } + + routine.active().onTrue(autoCommand); + + return routine.cmd(); + } + + public Command getDepotFeedClimbAuto() { + final AutoRoutine routine = factory.newRoutine("Depot Feed Climb Auto"); + Path[] paths = {Path.PLtoD, Path.DtoFL, Path.FLtoFLM, Path.FLMtoCL}; + Command autoCommand = paths[0].getTrajectory(routine).resetOdometry().andThen(shootPreload()); + + for (Path p : paths) { + autoCommand = autoCommand.andThen(runPath(p, routine)); + } + + routine.active().whileTrue(autoCommand); + + return routine.cmd(); + } + + public Command getOutpostFeedClimbAuto() { + final AutoRoutine routine = factory.newRoutine("Outpost Feed Climb Auto"); + Path[] paths = {Path.PRtoO, Path.OtoFR, Path.FRtoFRM, Path.FRMtoCR}; + Command autoCommand = paths[0].getTrajectory(routine).resetOdometry().andThen(shootPreload()); + + for (Path p : paths) { + autoCommand = autoCommand.andThen(runPath(p, routine)); + } + + routine.active().whileTrue(autoCommand); + + return routine.cmd(); + } + + public Command getTestAuto() { + final AutoRoutine routine = factory.newRoutine("Outpost Feed Climb Auto"); + Path[] paths = {Path.PLtoD}; + Command autoCommand = paths[0].getTrajectory(routine).resetOdometry().andThen(shootPreload()); + + for (Path p : paths) { + autoCommand = autoCommand.andThen(runPath(p, routine)); + } + + routine.active().whileTrue(autoCommand); + + return routine.cmd(); + } + + public Command waitUntilEmpty() { + // TODO wait till robot empty / done scoring + // return null; + return Commands.waitSeconds(3.0); } } diff --git a/src/main/java/frc/robot/Robot.java b/src/main/java/frc/robot/Robot.java index a94a93f..0ddf342 100644 --- a/src/main/java/frc/robot/Robot.java +++ b/src/main/java/frc/robot/Robot.java @@ -28,6 +28,7 @@ import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.button.RobotModeTriggers; import edu.wpi.first.wpilibj2.command.button.Trigger; +import frc.robot.Superstructure.SuperState; import frc.robot.components.rollers.RollerIO; import frc.robot.components.rollers.RollerIOSim; import frc.robot.subsystems.climber.ClimberSubsystem; @@ -76,41 +77,24 @@ public enum RobotEdition { } public static final RobotMode ROBOT_MODE = Robot.isReal() ? RobotMode.REAL : RobotMode.SIM; - // public static final RobotEdition ROBOT_EDITION = RobotEdition.COMP; - public static final RobotEdition ROBOT_EDITION; - public static final RobotEdition SIM_ROBOT_EDITION = RobotEdition.ALPHA; - public static final RobotEdition REPLAY_ROBOT_EDITION = RobotEdition.ALPHA; - - // for replay to work properly this needs to match the edition in the log - static { - switch (ROBOT_MODE) { - case REAL: - switch (RobotController.getSerialNumber()) { - case "023D2BD2": - ROBOT_EDITION = RobotEdition.ALPHA; - break; - case "2": // TODO get comp rio serial number - ROBOT_EDITION = RobotEdition.COMP; - break; - default: - // defaulting to comp is probably safer? - ROBOT_EDITION = RobotEdition.COMP; - } - break; - case SIM: - // you're gonna have to just lock in on this - ROBOT_EDITION = SIM_ROBOT_EDITION; - break; - case REPLAY: - // you're gonna have to just lock in on this - ROBOT_EDITION = REPLAY_ROBOT_EDITION; - break; - - default: - // TODO change to comp once there is a comp bot - ROBOT_EDITION = RobotEdition.ALPHA; - } - } + public static final RobotEdition ROBOT_EDITION = RobotEdition.ALPHA; + + // public static final RobotEdition ROBOT_EDITION; + + // // TODO get rio serial numbers + // static { + // switch (RobotController.getSerialNumber()) { + // case "1": + // ROBOT_EDITION = RobotEdition.ALPHA; + // break; + // case "2": + // ROBOT_EDITION = RobotEdition.COMP; + // break; + // default: + // // defaulting to comp is probably safer? + // ROBOT_EDITION = RobotEdition.COMP; + // } + // } /** * This is for when we're testing shot and extension numbers and should be FALSE once bring up is @@ -177,7 +161,7 @@ public enum RobotEdition { // Assign non-superstructure triggers @AutoLogOutput(key = "Superstructure/Autoaim Request") - private Trigger autoAimReq = driver.rightBumper().or(driver.leftBumper()); + private Trigger autoAimReq; // Auto stuff private final Autos autos; @@ -284,6 +268,15 @@ public Robot() { // now that we've assigned the correct subsystems based on robot edition, we can pass them into // the superstructure superstructure = new Superstructure(swerve, indexer, intake, shooter, driver, operator); + autoAimReq = + driver + .leftBumper() + .or( + new Trigger( + () -> + Superstructure.getState() == SuperState.SPIN_UP_SCORE + || Superstructure.getState() == SuperState.SCORE) + .and(() -> isTeleopEnabled())); // if this is alpha, we won't have assigned a climber yet // this creates a placeholder "no-operation" climber that will just not do anything, but is not // null (and we need it to be not null) @@ -354,6 +347,7 @@ public Robot() { // Set default commands driver.setDefaultCommand(driver.rumbleCmd(0.0, 0.0)); operator.setDefaultCommand(operator.rumbleCmd(0.0, 0.0)); + shooter.setDefaultCommand(shooter.rest()); swerve.setDefaultCommand( swerve.driveOpenLoopFieldRelative( () -> @@ -365,8 +359,16 @@ public Robot() { modifyJoystick(driver.getRightX()) * SwerveSubsystem.SWERVE_CONSTANTS.getMaxAngularSpeed()) .times(-1))); + // swerve.faceHubSOTM( + // () -> + // modifyJoystick(driver.getLeftX()) + // * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed(), + // () -> + // modifyJoystick(driver.getLeftY()) + // * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed() + // * -1)); - addControllerBindings(); + addControllerBindings(indexer, shooter); // Auto things autos = new Autos(swerve); @@ -427,7 +429,7 @@ private static double modifyJoystick(double val) { return MathUtil.applyDeadband(Math.abs(Math.pow(val, 2)) * Math.signum(val), 0.02); } - private void addControllerBindings() { + private void addControllerBindings(Indexer indexer, Shooter shooter) { // heading reset driver .leftStick() @@ -436,25 +438,39 @@ private void addControllerBindings() { Commands.runOnce( () -> swerve.setYaw( - DriverStation.getAlliance().equals(Alliance.Blue) + DriverStation.getAlliance().orElse(Alliance.Blue).equals(Alliance.Blue) // ? Rotation2d.kCW_90deg // : Rotation2d.kCCW_90deg))); ? Rotation2d.kZero : Rotation2d.k180deg))); - // TODO: ACTUAL BUTTON BINDING - driver - .leftBumper() - .whileTrue( - swerve.faceHub( - () -> - modifyJoystick(driver.getLeftY()) - * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed(), - () -> - modifyJoystick(driver.getLeftX()) - * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed())); + // autoaim (alpha) + autoAimReq.whileTrue( + // swerve.faceHubSOTM( + // () -> + // modifyJoystick(driver.getLeftY()) + // * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed(), + // () -> + // modifyJoystick(driver.getLeftX()) + // * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed())); + swerve.faceHubSOTM( + () -> + -1 + * modifyJoystick(driver.getLeftY()) + * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed(), + () -> + -1 + * modifyJoystick(driver.getLeftX()) + * SwerveSubsystem.SWERVE_CONSTANTS.getMaxLinearSpeed())); // TODO add binding for climb + // current zero shooter hood + driver.b().whileTrue(shooter.runCurrentZeroing()); + + new Trigger(() -> indexer.firstBeambreak()).onTrue(driver.rumbleCmd(1, 1).withTimeout(0.1)); + + new Trigger(() -> indexer.isFull()).onTrue(driver.rumbleCmd(1, 1).withTimeout(0.5)); + // ---zeroing stuff--- // create triggers for joystick disconnect alerts @@ -473,7 +489,11 @@ private void addAutos() { System.out.println("------- Regenerating Autos"); System.out.println( "Regenerating Autos on " + DriverStation.getAlliance().map((a) -> a.toString())); - + autoChooser.addOption("Depot Feed Climb", autos.getDepotFeedClimbAuto()); + autoChooser.addOption("Depot Score Climb", autos.getDepotScoreClimbAuto()); + autoChooser.addOption("Outpost Feed Climb", autos.getOutpostFeedClimbAuto()); + autoChooser.addOption("Outpost Score Climb", autos.getOutpostScoreClimbAuto()); + autoChooser.addOption("Test Auto", autos.getTestAuto()); // Sysid Autos // autoChooser.addOption("Hood Sysid", shooter.runHoodSysid()); // autoChooser.addOption("Index Roller Sysid", indexer.runRollerSysId()); @@ -556,7 +576,9 @@ public void simulationInit() { public void simulationPeriodic() {} @Override - public void disabledInit() {} + public void disabledInit() { + addAutos(); + } @Override public void disabledPeriodic() {} @@ -565,7 +587,10 @@ public void disabledPeriodic() {} public void disabledExit() {} @Override - public void autonomousInit() {} + public void autonomousInit() { + // TODO + superstructure.resetStateForAuto(SuperState.READY); + } @Override public void autonomousPeriodic() {} diff --git a/src/main/java/frc/robot/Superstructure.java b/src/main/java/frc/robot/Superstructure.java index 0ce8617..1ff9ff8 100644 --- a/src/main/java/frc/robot/Superstructure.java +++ b/src/main/java/frc/robot/Superstructure.java @@ -4,6 +4,10 @@ package frc.robot; +import edu.wpi.first.math.geometry.Pose3d; +import edu.wpi.first.math.geometry.Rotation3d; +import edu.wpi.first.math.geometry.Transform3d; +import edu.wpi.first.math.geometry.Translation3d; import edu.wpi.first.wpilibj.DriverStation; import edu.wpi.first.wpilibj.DriverStation.Alliance; import edu.wpi.first.wpilibj.Timer; @@ -16,6 +20,7 @@ import frc.robot.subsystems.swerve.SwerveSubsystem; import frc.robot.utils.CommandXboxControllerSubsystem; import frc.robot.utils.FieldUtils.FeedTargets; +import frc.robot.utils.autoaim.AutoAim; import org.littletonrobotics.junction.AutoLogOutput; import org.littletonrobotics.junction.Logger; @@ -51,6 +56,8 @@ public Trigger getTrigger() { public boolean isScoringActive = isOurShift(); // assuming we want the dashboard to show if the time allows us to score not if + public boolean practice = true; + // its litterly possible private SuperState prevState = SuperState.IDLE; @@ -86,6 +93,9 @@ public Trigger getTrigger() { @AutoLogOutput(key = "Superstructure/Is Empty") private Trigger isEmpty; + @AutoLogOutput(key = "Superstructure/Can Score") + private boolean canScore = canScore(); + private boolean shouldFeed = false; // @AutoLogOutput(key = "Superstructure/At Extension?") @@ -231,6 +241,7 @@ private void addCommands() { SuperState.SPIN_UP_SCORE, intake.rest(), indexer.rest(), /*shooter.shoot(swerve::getPose)*/ + // shooter.shootOTM(swerve::getPose, swerve::getVelocityFieldRelative)); shooter.testShoot()); bindCommands( @@ -244,6 +255,7 @@ private void addCommands() { SuperState.SCORE, intake.rest(), indexer.kick(), /*shooter.shoot(swerve::getPose)*/ + // shooter.shootOTM(swerve::getPose, swerve::getVelocityFieldRelative)); shooter.testShoot()); bindCommands(SuperState.SCORE_FLOW, intake.intake(), indexer.kick(), shooter.testShoot()); @@ -268,6 +280,22 @@ private void addCommands() { public void periodic() { Logger.recordOutput("Superstructure/Superstructure State", state); Logger.recordOutput("Superstructure/State Timer", stateTimer.get()); + + // this really should be in robot.java but i cooked myself with the robot selecting thing + Logger.recordOutput( + "shooter sotm viz", + new Pose3d(swerve.getPose()) + .transformBy( + new Transform3d( + new Translation3d(0, 0, 0.5), + new Rotation3d( + 0, + ((Math.PI / 2) + - AutoAim.getSOTMPitchfr( + swerve.getPose(), swerve.getVelocityFieldRelative()) + .getRadians()) + * -1, + 0)))); } /** @@ -395,13 +423,14 @@ public boolean isOurShift() { } public boolean inScoringArea() { - return (DriverStation.getAlliance().orElse(Alliance.Blue) == Alliance.Blue - && (swerve.getPose().getX() <= 4.6914191246032715) - || DriverStation.getAlliance().orElse(Alliance.Blue) == Alliance.Red - && (swerve.getPose().getX() >= 11.889562606811523)); + return true; + // (DriverStation.getAlliance().orElse(Alliance.Blue) == Alliance.Blue + // && (swerve.getPose().getX() <= 4.6914191246032715) + // || DriverStation.getAlliance().orElse(Alliance.Blue) == Alliance.Red + // && (swerve.getPose().getX() >= 11.889562606811523)); } public boolean canScore() { - return isOurShift() && inScoringArea(); + return isOurShift() && inScoringArea() && practice; } } diff --git a/src/main/java/frc/robot/subsystems/indexer/Indexer.java b/src/main/java/frc/robot/subsystems/indexer/Indexer.java index 6bd3118..032584b 100644 --- a/src/main/java/frc/robot/subsystems/indexer/Indexer.java +++ b/src/main/java/frc/robot/subsystems/indexer/Indexer.java @@ -26,4 +26,6 @@ public interface Indexer { /** Not running (set to 0) */ public Command rest(); + + public boolean firstBeambreak(); } diff --git a/src/main/java/frc/robot/subsystems/indexer/LindexerSubsystem.java b/src/main/java/frc/robot/subsystems/indexer/LindexerSubsystem.java index 44cceff..1fc24c4 100644 --- a/src/main/java/frc/robot/subsystems/indexer/LindexerSubsystem.java +++ b/src/main/java/frc/robot/subsystems/indexer/LindexerSubsystem.java @@ -74,7 +74,7 @@ public Command index() { return this.run( () -> { indexRollerIO.setRollerVoltage(7); - kickerIO.setRollerVoltage(7); + kickerIO.setRollerVoltage(5.5); }); } @@ -120,12 +120,10 @@ public static TalonFXConfiguration getIndexerConfigs() { config.Slot0.kP = 0; config.Slot0.kD = 0; - config.CurrentLimits.StatorCurrentLimit = 80.0; + config.CurrentLimits.StatorCurrentLimit = 60.0; config.CurrentLimits.StatorCurrentLimitEnable = true; - config.CurrentLimits.SupplyCurrentLimit = 60.0; + config.CurrentLimits.SupplyCurrentLimit = 40.0; config.CurrentLimits.SupplyCurrentLimitEnable = true; - config.CurrentLimits.SupplyCurrentLowerLimit = 40.0; - config.CurrentLimits.SupplyCurrentLowerTime = 0.25; return config; } @@ -175,4 +173,9 @@ public Command runRollerSysId() { indexRollerSysid.dynamic(Direction.kForward), indexRollerSysid.dynamic(Direction.kReverse)); } + + /** for controller rumble */ + public boolean firstBeambreak() { + return firstCANRangeInputs.isDetected; + } } diff --git a/src/main/java/frc/robot/subsystems/indexer/SpindexerSubsystem.java b/src/main/java/frc/robot/subsystems/indexer/SpindexerSubsystem.java index 4346925..17728da 100644 --- a/src/main/java/frc/robot/subsystems/indexer/SpindexerSubsystem.java +++ b/src/main/java/frc/robot/subsystems/indexer/SpindexerSubsystem.java @@ -58,4 +58,10 @@ public Command rest() { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'rest'"); } + + @Override + public boolean firstBeambreak() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'firstBeambreak'"); + } } diff --git a/src/main/java/frc/robot/subsystems/shooter/HoodIO.java b/src/main/java/frc/robot/subsystems/shooter/HoodIO.java index 3c38920..6073062 100644 --- a/src/main/java/frc/robot/subsystems/shooter/HoodIO.java +++ b/src/main/java/frc/robot/subsystems/shooter/HoodIO.java @@ -47,6 +47,7 @@ public static class HoodIOInputs { private final StatusSignal hoodStatorCurrent; private final StatusSignal hoodSupplyCurrent; private final StatusSignal hoodTemp; + private VoltageOut voltageOut = new VoltageOut(0.0).withEnableFOC(true); private PositionVoltage positionVoltage = new PositionVoltage(0.0).withEnableFOC(true); private VelocityVoltage velocityVoltage = new VelocityVoltage(0.0).withEnableFOC(true); @@ -82,10 +83,6 @@ public static TalonFXConfiguration getHoodConfiguration() { config.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; - config.MotorOutput.NeutralMode = NeutralModeValue.Brake; - - config.MotorOutput.Inverted = InvertedValue.Clockwise_Positive; - config.Feedback.SensorToMechanismRatio = ShooterSubsystem.HOOD_GEAR_RATIO; config.Slot0.GravityType = GravityTypeValue.Arm_Cosine; diff --git a/src/main/java/frc/robot/subsystems/shooter/Shooter.java b/src/main/java/frc/robot/subsystems/shooter/Shooter.java index cacef67..7773d07 100644 --- a/src/main/java/frc/robot/subsystems/shooter/Shooter.java +++ b/src/main/java/frc/robot/subsystems/shooter/Shooter.java @@ -5,11 +5,14 @@ package frc.robot.subsystems.shooter; import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.wpilibj2.command.Command; +import edu.wpi.first.wpilibj2.command.Subsystem; import java.util.function.Supplier; /** Add your docs here. */ -public interface Shooter { +public interface Shooter extends Subsystem { /** * Sets hood angle and flywheel velocity based on distance from hub from the shot map + current @@ -40,4 +43,15 @@ public interface Shooter { /** Shoots based on dashboard numbers. For testing only */ public Command testShoot(); + + /** + * Runs the hood backwards until it hits its hard stop and the current spikes, then resets encoder + * position. + */ + public Command runCurrentZeroing(); + + public Command shootOTM( + Supplier robotPoseSupplier, Supplier fieldRelRobotVelocity); + + public Rotation2d getHoodSetpoint(); } diff --git a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java index cd4ab04..03c17b7 100644 --- a/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java +++ b/src/main/java/frc/robot/subsystems/shooter/ShooterSubsystem.java @@ -7,14 +7,16 @@ import static edu.wpi.first.units.Units.Volts; import edu.wpi.first.math.MathUtil; +import edu.wpi.first.math.filter.LinearFilter; import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.Commands; import edu.wpi.first.wpilibj2.command.SubsystemBase; +import edu.wpi.first.wpilibj2.command.button.Trigger; import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine; import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Config; -import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Direction; import edu.wpi.first.wpilibj2.command.sysid.SysIdRoutine.Mechanism; import frc.robot.utils.LoggedTunableNumber; import frc.robot.utils.autoaim.AutoAim; @@ -28,6 +30,7 @@ public class ShooterSubsystem extends SubsystemBase implements Shooter { public static double HOOD_GEAR_RATIO = 24.230769; public static Rotation2d HOOD_MAX_ROTATION = Rotation2d.fromDegrees(40); public static Rotation2d HOOD_MIN_ROTATION = Rotation2d.fromDegrees(2); + public static double CURRENT_ZERO_THRESHOLD = 30.0; // TODO tune public static double FLYWHEEL_GEAR_RATIO = 28.0 / 24.0; @@ -60,6 +63,14 @@ public class ShooterSubsystem extends SubsystemBase implements Shooter { private LoggedTunableNumber testDegrees = new LoggedTunableNumber("Shooter/Test Degrees", 10.0); private LoggedTunableNumber testVelocity = new LoggedTunableNumber("Shooter/Test Velocity", 30.0); + private LinearFilter currentFilter = LinearFilter.movingAverage(10); + + @AutoLogOutput(key = "Shooter/Hood/Setpoint") + public Rotation2d hoodSetpoint = Rotation2d.kZero; + + @AutoLogOutput(key = "Shooter/Hood/Current Filter Value") + private double currentFilterValue = 0.0; + /** Creates a new HoodSubsystem. */ public ShooterSubsystem(HoodIO hoodIO, FlywheelIO flywheelIO) { this.hoodIO = hoodIO; @@ -81,11 +92,30 @@ public Command shoot(Supplier robotPoseSupplier) { () -> { ShotData shotData = AutoAim.HUB_SHOT_TREE.get(AutoAim.distanceToHub(robotPoseSupplier.get())); + hoodSetpoint = shotData.hoodAngle(); hoodIO.setHoodPosition(shotData.hoodAngle()); flywheelIO.setMotionProfiledFlywheelVelocity(shotData.flywheelVelocityRotPerSec()); }); } + @Override + public Command shootOTM( + Supplier robotPoseSupplier, Supplier fieldRelRobotVelocity) { + return this.run( + () -> { + // InterceptSolution sol = + // ShootOnTheFlyCalculator.solveShootOnTheFly( + // robotPoseSupplier.get(), fieldRelRobotVelocity.get(), 10, 0.01); + // hoodIO.setHoodPosition(sol.shotData().hoodAngle()); + // flywheelIO.setMotionProfiledFlywheelVelocity(sol.shotData().flywheelVelocityRotPerSec()); + Rotation2d rot = + AutoAim.getSOTMPitchfr(robotPoseSupplier.get(), fieldRelRobotVelocity.get()); + hoodSetpoint = rot; + hoodIO.setHoodPosition(rot); + flywheelIO.setMotionProfiledFlywheelVelocity(30); + }); + } + @Override public Command feed(Supplier robotPoseSupplier, Supplier feedTarget) { return this.run( @@ -114,7 +144,7 @@ public Command rest() { public Command spit() { return this.run( () -> { - hoodIO.setHoodPosition(Rotation2d.kZero); + hoodIO.setHoodPosition(HOOD_MIN_ROTATION); flywheelIO.setMotionProfiledFlywheelVelocity(20); }); // TODO: TUNE HOOD POS AND FLYWHEEL VELOCITY } @@ -126,42 +156,8 @@ public void periodic() { flywheelIO.updateInputs(flywheelInputs); Logger.processInputs("Shooter/Flywheel", flywheelInputs); - } - - public Command runHoodSysid() { - return Commands.sequence( - hoodSysid - .quasistatic(Direction.kForward) - .until( - () -> - hoodInputs.hoodPositionRotations.getDegrees() - > (HOOD_MAX_ROTATION.getDegrees() - 5)), // Stop before endstop - hoodSysid - .quasistatic(Direction.kReverse) - .until( - () -> - hoodInputs.hoodPositionRotations.getDegrees() - < (HOOD_MIN_ROTATION.getDegrees() + 5)), - hoodSysid - .dynamic(Direction.kForward) - .until( - () -> - hoodInputs.hoodPositionRotations.getDegrees() - > (HOOD_MAX_ROTATION.getDegrees() - 5)), - hoodSysid - .dynamic(Direction.kReverse) - .until( - () -> - hoodInputs.hoodPositionRotations.getDegrees() - < (HOOD_MIN_ROTATION.getDegrees() + 5))); - } - public Command runFlywheelSysid() { - return Commands.sequence( - flywheelSysid.quasistatic(Direction.kForward), - flywheelSysid.quasistatic(Direction.kReverse), - flywheelSysid.dynamic(Direction.kForward), - flywheelSysid.dynamic(Direction.kReverse)); + currentFilterValue = currentFilter.calculate(hoodInputs.hoodStatorCurrentAmps); } @Override @@ -184,4 +180,15 @@ public boolean atHoodSetpoint() { public Command zeroHood() { return this.runOnce(() -> hoodIO.resetEncoder(HOOD_MIN_ROTATION)); } + + public Command runCurrentZeroing() { + return this.run(() -> hoodIO.setHoodVoltage(-3.0)) + .until( + new Trigger(() -> Math.abs(currentFilterValue) > CURRENT_ZERO_THRESHOLD).debounce(0.25)) + .andThen(Commands.parallel(Commands.print("Hood Zeroed"), zeroHood())); + } + + public Rotation2d getHoodSetpoint() { + return hoodSetpoint; + } } diff --git a/src/main/java/frc/robot/subsystems/shooter/TurretSubsystem.java b/src/main/java/frc/robot/subsystems/shooter/TurretSubsystem.java index 685b95a..78c5d1d 100644 --- a/src/main/java/frc/robot/subsystems/shooter/TurretSubsystem.java +++ b/src/main/java/frc/robot/subsystems/shooter/TurretSubsystem.java @@ -5,6 +5,8 @@ package frc.robot.subsystems.shooter; import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.wpilibj2.command.Command; import edu.wpi.first.wpilibj2.command.SubsystemBase; import java.util.function.Supplier; @@ -66,4 +68,23 @@ public Command testShoot() { // TODO Auto-generated method stub throw new UnsupportedOperationException("Unimplemented method 'testShoot'"); } + + @Override + public Command runCurrentZeroing() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'runCurrentZeroing'"); + } + + @Override + public Command shootOTM( + Supplier robotPoseSupplier, Supplier fieldRelRobotVelocity) { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'shootOTM'"); + } + + @Override + public Rotation2d getHoodSetpoint() { + // TODO Auto-generated method stub + throw new UnsupportedOperationException("Unimplemented method 'getHoodSetpoint'"); + } } diff --git a/src/main/java/frc/robot/subsystems/swerve/SwerveSubsystem.java b/src/main/java/frc/robot/subsystems/swerve/SwerveSubsystem.java index e422313..bf427f0 100644 --- a/src/main/java/frc/robot/subsystems/swerve/SwerveSubsystem.java +++ b/src/main/java/frc/robot/subsystems/swerve/SwerveSubsystem.java @@ -50,7 +50,9 @@ import frc.robot.subsystems.swerve.odometry.PhoenixOdometryThread.SignalType; import frc.robot.utils.FieldUtils; import frc.robot.utils.Tracer; +import frc.robot.utils.autoaim.AutoAim; import frc.robot.utils.autoaim.AutoAlign; +import frc.robot.utils.rusthoundsSOTM.ChassisAccelerations; import java.util.Arrays; import java.util.List; import java.util.Map; @@ -135,6 +137,8 @@ public class SwerveSubsystem extends SubsystemBase { private final SwerveDriveSimulation swerveSimulation = new SwerveDriveSimulation(driveTrainSimConfig, new Pose2d(3, 3, Rotation2d.kZero)); + private ChassisSpeeds prevFieldRelVelocities; + public SwerveSubsystem(CANBus canbus) { if (Robot.ROBOT_MODE == RobotMode.SIM) { // Add simulated modules @@ -272,6 +276,15 @@ public void periodic() { Tracer.trace("Update vision", this::updateVision); Logger.recordOutput("Current Hub Pose", FieldUtils.getCurrentHubPose()); + + prevFieldRelVelocities = getVelocityFieldRelative(); + Logger.recordOutput( + "Chassis Accelerations/X", this.getChassisAccelerations().axMetersPerSecondSquared); + Logger.recordOutput( + "Chassis Accelerations/Y", this.getChassisAccelerations().ayMetersPerSecondSquared); + Logger.recordOutput( + "Chassis Accelerations/Omega", + this.getChassisAccelerations().omegaRadiansPerSecondSquared); }); } @@ -357,23 +370,22 @@ private void updateVision() { cameraPoses[i] = cameras[i].getPose(); } // only do all this logging stuff if we're not irl for performance - if (Robot.ROBOT_MODE != RobotMode.REAL) { - Logger.recordOutput("Vision/Camera Poses", cameraPoses); - Pose3d[] arr = new Pose3d[cameras.length]; - for (int k = 0; k < cameras.length; k++) { - // honetsly not sure if this distinction is the way to go but - if (Robot.ROBOT_MODE == RobotMode.SIM) - // If we're in sim, use the maplesim pose to calculate vision - arr[k] = - new Pose3d(swerveSimulation.getSimulatedDriveTrainPose()) - .transformBy(cameras[k].getCameraConstants().robotToCamera()); - else { - // if we're in replay, use whatever the pose was - arr[k] = getPose3d().transformBy(cameras[k].getCameraConstants().robotToCamera()); - } + + Logger.recordOutput("Vision/Camera Poses", cameraPoses); + Pose3d[] arr = new Pose3d[cameras.length]; + for (int k = 0; k < cameras.length; k++) { + // honetsly not sure if this distinction is the way to go but + if (Robot.ROBOT_MODE == RobotMode.SIM) + // If we're in sim, use the maplesim pose to calculate vision + arr[k] = + new Pose3d(swerveSimulation.getSimulatedDriveTrainPose()) + .transformBy(cameras[k].getCameraConstants().robotToCamera()); + else { + // if we're in replay, use whatever the pose was + arr[k] = getPose3d().transformBy(cameras[k].getCameraConstants().robotToCamera()); } - Logger.recordOutput("Vision/Camera Poses on Robot", arr); } + Logger.recordOutput("Vision/Camera Poses on Robot", arr); } /** @@ -605,6 +617,33 @@ public Command faceHub(DoubleSupplier xVel, DoubleSupplier yVel) { yVel); } + // public Command faceHubSOTM(DoubleSupplier xVel, DoubleSupplier yVel) { + // return driveWithHeadingSnap(() -> AutoAim.getSOTMYaw(getPose(), getVelocityFieldRelative()), + // xVel, yVel); + // } + public Command faceHubSOTM(DoubleSupplier xVel, DoubleSupplier yVel) { + return driveWithHeadingSnap( + () -> { + // Translation2d robotHubVec = + // ShootOnTheFlyCalculator.calculateEffectiveTargetLocation( + // () -> getPose(), + // () -> getVelocityFieldRelative(), + // // () -> getChassisAccelerations(), + // 5, + // 0.01) + // .getTranslation() + // .minus(getPose().getTranslation()); + // Rotation2d rot = + // Rotation2d.fromRadians(Math.atan2(robotHubVec.getY(), robotHubVec.getX())) + // .plus(Rotation2d.kCW_90deg); + // Logger.recordOutput("Autoaim/Target Rotation", rot); + // return rot; + return AutoAim.getSOTMYawfr(getPose(), getVelocityFieldRelative()); + }, + xVel, + yVel); + } + public boolean isInAutoAimTolerance(Pose2d target) { return isInTolerance( target, AutoAlign.TRANSLATION_TOLERANCE_METERS, AutoAlign.ROTATION_TOLERANCE_RADIANS); @@ -674,6 +713,10 @@ public ChassisSpeeds getVelocityFieldRelative() { return ChassisSpeeds.fromRobotRelativeSpeeds(getVelocityRobotRelative(), getRotation()); } + public ChassisAccelerations getChassisAccelerations() { + return new ChassisAccelerations(getVelocityFieldRelative(), prevFieldRelVelocities, 0.020); + } + public boolean isNotMoving() { return MathUtil.isNear( 0, diff --git a/src/main/java/frc/robot/subsystems/swerve/constants/AlphaSwerveConstants.java b/src/main/java/frc/robot/subsystems/swerve/constants/AlphaSwerveConstants.java index 78470e3..98e3be3 100644 --- a/src/main/java/frc/robot/subsystems/swerve/constants/AlphaSwerveConstants.java +++ b/src/main/java/frc/robot/subsystems/swerve/constants/AlphaSwerveConstants.java @@ -64,13 +64,13 @@ public CameraConstants[] getCameraConstants() { "Front_Right", new Transform3d( new Translation3d( - Units.inchesToMeters(-9.859), + Units.inchesToMeters(9.859), Units.inchesToMeters(-9.665), Units.inchesToMeters(8.844)), new Rotation3d( Units.degreesToRadians(0.0), Units.degreesToRadians(-90 + 61.875), // -61.875 - 45 + 90), - Units.degreesToRadians(63.835 + 180))), + Units.degreesToRadians(63.835 - 90))), FRONT_RIGHT_CAMERA_MATRIX, FRONT_RIGHT_DIST_COEFFS); final CameraConstants frontLeftCamConstants = @@ -79,12 +79,12 @@ public CameraConstants[] getCameraConstants() { new Transform3d( new Translation3d( Units.inchesToMeters(9.859), - Units.inchesToMeters(-9.665), + Units.inchesToMeters(9.665), Units.inchesToMeters(8.844)), new Rotation3d( Units.degreesToRadians(0.0), Units.degreesToRadians(-90 + 61.875), // -61.875 - 45 + 90), - Units.degreesToRadians(-63.835))), + Units.degreesToRadians(90 - 63.835))), FRONT_LEFT_CAMERA_MATRIX, FRONT_LEFT_DIST_COEFFS); @@ -94,12 +94,12 @@ public CameraConstants[] getCameraConstants() { new Transform3d( new Translation3d( Units.inchesToMeters(-9.859), - Units.inchesToMeters(9.665), + Units.inchesToMeters(-9.665), Units.inchesToMeters(8.844)), new Rotation3d( Units.degreesToRadians(0.0), Units.degreesToRadians(-90 + 61.875), // -61.875 - 45 + 90), - Units.degreesToRadians(-63.835 + 180))), + Units.degreesToRadians(-63.835 - 90))), BACK_RIGHT_CAMERA_MATRIX, BACK_RIGHT_DIST_COEFFS); final CameraConstants backLeftCamConstants = @@ -107,13 +107,13 @@ public CameraConstants[] getCameraConstants() { "Back_Left", new Transform3d( new Translation3d( - Units.inchesToMeters(9.859), + Units.inchesToMeters(-9.859), Units.inchesToMeters(9.665), Units.inchesToMeters(8.844)), new Rotation3d( Units.degreesToRadians(0.0), Units.degreesToRadians(-90 + 61.875), // -61.875 - 45 + 90), - Units.degreesToRadians(63.835))), + Units.degreesToRadians(63.835 + 90))), BACK_LEFT_CAMERA_MATRIX, BACK_LEFT_DIST_COEFFS); diff --git a/src/main/java/frc/robot/utils/autoaim/AutoAim.java b/src/main/java/frc/robot/utils/autoaim/AutoAim.java index d1f27a5..47838cf 100644 --- a/src/main/java/frc/robot/utils/autoaim/AutoAim.java +++ b/src/main/java/frc/robot/utils/autoaim/AutoAim.java @@ -2,6 +2,12 @@ import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; +import edu.wpi.first.math.geometry.Transform2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.geometry.Twist2d; +import edu.wpi.first.math.interpolation.InterpolatingTreeMap; +import edu.wpi.first.math.interpolation.InverseInterpolator; +import edu.wpi.first.math.kinematics.ChassisSpeeds; import edu.wpi.first.math.util.Units; import frc.robot.utils.FieldUtils; import frc.robot.utils.autoaim.InterpolatingShotTree.ShotData; @@ -9,30 +15,86 @@ public class AutoAim { + public static double LATENCY_COMPENSATION_SECS = 0.6; // TODO tune latency comp + public static final InterpolatingShotTree HUB_SHOT_TREE = new InterpolatingShotTree(); static { // For hub shot tree + HUB_SHOT_TREE.put( + Units.inchesToMeters(24 + 17), + new ShotData(Rotation2d.fromDegrees(8), 27.5, 1.46, Units.inchesToMeters(24 + 17) / 1.46)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 12), - new ShotData(Rotation2d.fromDegrees(6), 30)); + new ShotData( + Rotation2d.fromDegrees(6), + 30, + 1.55, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 12) / 1.55)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 3 * 12), - new ShotData(Rotation2d.fromDegrees(10.5), 30)); + new ShotData( + Rotation2d.fromDegrees(10.5), + 30, + 1.54, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 3 * 12) / 1.54)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 5 * 12), - new ShotData(Rotation2d.fromDegrees(14.5), 30)); + new ShotData( + Rotation2d.fromDegrees(14.5), + 30, + 1.54, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 5 * 12) / 1.54)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 7 * 12), - new ShotData(Rotation2d.fromDegrees(18), 30)); + new ShotData( + Rotation2d.fromDegrees(18), + 30, + 1.52, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 7 * 12) / 1.52)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 9 * 12), - new ShotData(Rotation2d.fromDegrees(21.5), 30)); + new ShotData( + Rotation2d.fromDegrees(21.5), + 30, + 1.46, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 9 * 12) / 1.46)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 11 * 12), - new ShotData(Rotation2d.fromDegrees(24.5), 30)); + new ShotData( + Rotation2d.fromDegrees(24.5), + 30, + 1.35, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 11 * 12) / 1.35)); HUB_SHOT_TREE.put( Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 13 * 12), - new ShotData(Rotation2d.fromDegrees(28), 30)); + new ShotData( + Rotation2d.fromDegrees(28), + 30, + 1.36, + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 13 * 12) / 1.36)); + } + + // im sorry kevin + + private static final InterpolatingTreeMap velocityHoodAngleMap = + new InterpolatingTreeMap<>(InverseInterpolator.forDouble(), Rotation2d::interpolate); + + static { + velocityHoodAngleMap.put(Units.inchesToMeters(24 + 17) / 1.46, Rotation2d.fromDegrees(8)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 12) / 1.55, Rotation2d.fromDegrees(6)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 3 * 12) / 1.54, Rotation2d.fromDegrees(10.5)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 5 * 12) / 1.54, Rotation2d.fromDegrees(14.5)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 7 * 12) / 1.52, Rotation2d.fromDegrees(18)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 9 * 12) / 1.46, Rotation2d.fromDegrees(21.5)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 11 * 12) / 1.35, Rotation2d.fromDegrees(24.5)); + velocityHoodAngleMap.put( + Units.inchesToMeters(24 * Math.sqrt(2) + 6 + 13 * 12) / 1.36, Rotation2d.fromDegrees(28)); } // Ig we'll see if we need more than 1 feed shot tree @@ -41,7 +103,7 @@ public class AutoAim { static { // For feed shot tree // TODO: POPULATE FEED_SHOT_TREE.put( - 1.0, new ShotData(Rotation2d.kCW_90deg, 10)); // Placeholder to prevent crashes + 1.0, new ShotData(Rotation2d.kCW_90deg, 10, 0, 0)); // Placeholder to prevent crashes } // TODO: SOTM @@ -51,4 +113,151 @@ public static double distanceToHub(Pose2d pose) { Logger.recordOutput("Autoaim/Distance To Hub", distance); return distance; } + + public static Rotation2d getSOTMYaw(Pose2d robot, ChassisSpeeds fieldRelativeSpeeds) { + // // V_ball-ground = V_ball-robot + V_robot-ground (relative motion) + // // if we want the ball to go straight towards the goal, + // // the V_ball-robot vector needs to cancel out with the V_robot-ground vector to "offset" the + // // velocity it already has + // //this is the desired final ground velocity of the ball + // double v_ballGround = + // HUB_SHOT_TREE.calculateShot(robot).groundVelocity(); + // // let phi be the azimuth + // // phi = arcsin(-V_robot-ground / |V_ball-ground|) + // double phi = Math.asin((-1) * fieldRelativeSpeeds.vyMetersPerSecond / v_ballGround); + // return Rotation2d.fromRadians(phi); + + // the ball exits the shooter with velocity v at an angle theta (just assume it's the correct + // velocity and angle) + // the magnitude of the V_ball-ground vector (or |V_ball-ground|) is v * cos (theta) + double v_BallGround = HUB_SHOT_TREE.calculateShot(robot).groundVelocity(); + + double v_RobotGround = fieldRelativeSpeeds.vyMetersPerSecond; // sob + // use law of cosines to find needed velocity of the ball relative to the ground + // let the current angle between the robot and hub be alpha + // the following is from the static autoaim + Translation2d robotHubVec = FieldUtils.getCurrentHubTranslation().minus(robot.getTranslation()); + // return FieldUtils.getCurrentHubPose().minus(getPose()).getRotation(); + // Logger.recordOutput("robot hub vec", robotHubVec); + // atan2 takes y as the first arg (i think bc θ = atan(y/x) but idk) + Rotation2d alpha = + Rotation2d.k180deg.minus( + Rotation2d.fromRadians(Math.atan2(robotHubVec.getY(), robotHubVec.getX()))); + double v_BallRobot = + Math.sqrt( + Math.pow(v_RobotGround, 2) + + Math.pow(v_BallGround, 2) + - 2 * v_RobotGround * v_BallGround * alpha.getCos()); + + // use law of sines to find heading + // let phi be the desired angle + // V_ball-robot / alpha = V_ball_ground / phi + // so phi = alpha * v_ball-ground / v_ball-robot + + double phi = alpha.getRadians() * v_BallGround / v_BallRobot; + // let phi be the azimuth + // phi = arcsin(-V_robot-ground / |V_ball-ground|) + // double phi = Math.acos((-1) * fieldRelativeSpeeds.vyMetersPerSecond / v_BallGround); + Logger.recordOutput( + "sotm target??", robot.transformBy(new Transform2d(0, 5, new Rotation2d()))); + + // Logger.recordOutput( + // "autoaim target", + // new Pose3d( + // new Translation3d( + // swerveSimulation + // .getSimulatedDriveTrainPose() + // .getTranslation()) + // .plus(new Translation3d(0, 0, 1)), + // new Rotation3d( + // AutoAim.getSOTMHeading( + // getPose(), getVelocityFieldRelative())))); + if (v_RobotGround < 0.05) return alpha; + else { + return robot.getRotation().plus(Rotation2d.fromRadians(phi)).plus(Rotation2d.kCW_90deg); + } + } + + // public static Rotation2d getSOTMPitch(Pose2d robot, ChassisSpeeds fieldRelativeSpeeds) { + // //simple case in which you are moving straight backwards from the goal + // //you know your current distance from the goal + // //that means you know the ball's ground velocity if you were to launch it right then + // double v_BallGround = HUB_SHOT_TREE.calculateShot(robot).groundVelocity(); + // //you know your current velocity + // double v_RobotGround = fieldRelativeSpeeds.vxMetersPerSecond; + // double desiredV_BallGround = v_BallGround - v_RobotGround; + // ShotData shot = HUB_SHOT_TREE.get(null) + + // } + // brooooo + + public static Translation2d getBallGroundVector(Pose2d robot) { + Translation2d robotToHub = FieldUtils.getCurrentHubTranslation().minus(robot.getTranslation()); + double ballGroundVelocity = AutoAim.HUB_SHOT_TREE.calculateShot(robot).groundVelocity(); + double v_x = ballGroundVelocity * robotToHub.getAngle().getCos(); + double v_y = + ballGroundVelocity * robotToHub.getAngle().getSin(); // * Math.signum(robotToHub.getY()); + Logger.recordOutput("angle", robotToHub.getAngle()); + Translation2d V_BallGround = new Translation2d(v_x, v_y); + return V_BallGround; + } + + public static Rotation2d getSOTMYawfr(Pose2d robot, ChassisSpeeds fieldChassisSpeeds) { + ChassisSpeeds robotRelativeSpeeds = + ChassisSpeeds.fromFieldRelativeSpeeds(fieldChassisSpeeds, robot.getRotation()); + // calculate latency compensated pose + Pose2d compensatedPose = + robot.exp( + new Twist2d( + robotRelativeSpeeds.vxMetersPerSecond * LATENCY_COMPENSATION_SECS, + robotRelativeSpeeds.vyMetersPerSecond * LATENCY_COMPENSATION_SECS, + robotRelativeSpeeds.omegaRadiansPerSecond * LATENCY_COMPENSATION_SECS)); + + // note that this is a position vector not velocity + Translation2d robotToHub = + FieldUtils.getCurrentHubTranslation().minus(compensatedPose.getTranslation()); + // V_ball-ground = V_ball-robot + V_robot-ground (relative motion) + Translation2d V_RobotGround = + new Translation2d( + fieldChassisSpeeds.vxMetersPerSecond, fieldChassisSpeeds.vyMetersPerSecond); + Translation2d V_BallGround = AutoAim.getBallGroundVector(compensatedPose); + Translation2d V_BallRobot = V_BallGround.minus(V_RobotGround); + + Rotation2d rot = V_BallRobot.getAngle(); + if (V_RobotGround.getNorm() < 0.15) { + + // return FieldUtils.getCurrentHubPose().minus(getPose()).getRotation(); + // Logger.recordOutput("robot hub vec", robotHubVec); + // atan2 takes y as the first arg (i think bc θ = atan(y/x) but idk) + rot = Rotation2d.fromRadians(Math.atan2(robotToHub.getY(), robotToHub.getX())); + } + rot = rot.rotateBy(Rotation2d.k180deg); + + Pose2d poseSetpoint = new Pose2d(robot.getTranslation(), rot); + Logger.recordOutput("what this bastard is supposed to be doing", poseSetpoint); + Logger.recordOutput( + "Autoaim/Target viz", poseSetpoint.transformBy(new Transform2d(10, 0, new Rotation2d()))); + Logger.recordOutput("hi we are still alive", Logger.getTimestamp()); + // new Pose2d(V_BallGround.times(-1), rot)); + return rot; + } + + public static Rotation2d getSOTMPitchfr(Pose2d robot, ChassisSpeeds fieldChassisSpeeds) { + + ChassisSpeeds robotRelativeSpeeds = + ChassisSpeeds.fromFieldRelativeSpeeds(fieldChassisSpeeds, robot.getRotation()); + // calculate latency compensated pose + Pose2d compensatedPose = + robot.exp( + new Twist2d( + robotRelativeSpeeds.vxMetersPerSecond * LATENCY_COMPENSATION_SECS, + robotRelativeSpeeds.vyMetersPerSecond * LATENCY_COMPENSATION_SECS, + robotRelativeSpeeds.omegaRadiansPerSecond * LATENCY_COMPENSATION_SECS)); + + Translation2d V_BallGround = AutoAim.getBallGroundVector(compensatedPose); + double groundVelocity = V_BallGround.getNorm(); + Logger.recordOutput("Autoaim/Ground vel", groundVelocity); + Rotation2d hoodAngle = velocityHoodAngleMap.get(groundVelocity); + return hoodAngle; + } } diff --git a/src/main/java/frc/robot/utils/autoaim/AutoAlign.java b/src/main/java/frc/robot/utils/autoaim/AutoAlign.java index 851acbb..2b6bfac 100644 --- a/src/main/java/frc/robot/utils/autoaim/AutoAlign.java +++ b/src/main/java/frc/robot/utils/autoaim/AutoAlign.java @@ -11,10 +11,10 @@ import org.littletonrobotics.junction.Logger; public class AutoAlign { - static final double MAX_ANGULAR_SPEED = 10.0; - static final double MAX_ANGULAR_ACCELERATION = 10.0; - static final double MAX_TRANSLATIONAL_SPEED = 3.0; - static final double MAX_TRANSLATIONAL_ACCELERATION = 4.0; + static final double MAX_ANGULAR_SPEED = 15.614; + static final double MAX_ANGULAR_ACCELERATION = 47.613; + static final double MAX_TRANSLATIONAL_SPEED = 5.678; + static final double MAX_TRANSLATIONAL_ACCELERATION = 14.715; public static final Constraints DEFAULT_TRANSLATIONAL_CONSTRAINTS = new Constraints(MAX_TRANSLATIONAL_SPEED, MAX_TRANSLATIONAL_ACCELERATION); public static final Constraints DEFAULT_ANGULAR_CONSTRAINTS = @@ -29,20 +29,11 @@ public class AutoAlign { // Velocity controllers static final ProfiledPIDController VX_CONTROLLER = - new ProfiledPIDController( - 10.0, - 0.01, - 0.02, - new Constraints(MAX_TRANSLATIONAL_SPEED, MAX_TRANSLATIONAL_ACCELERATION)); + new ProfiledPIDController(10.0, 0.01, 0.02, DEFAULT_TRANSLATIONAL_CONSTRAINTS); static final ProfiledPIDController VY_CONTROLLER = - new ProfiledPIDController( - 10.0, - 0.01, - 0.02, - new Constraints(MAX_TRANSLATIONAL_SPEED, MAX_TRANSLATIONAL_ACCELERATION)); + new ProfiledPIDController(10.0, 0.01, 0.02, DEFAULT_TRANSLATIONAL_CONSTRAINTS); static final ProfiledPIDController HEADING_CONTROLLER = - new ProfiledPIDController( - 6.0, 0.0, 0.0, new Constraints(MAX_ANGULAR_SPEED, MAX_ANGULAR_ACCELERATION)); + new ProfiledPIDController(5.0, 0.0, 0.0, DEFAULT_ANGULAR_CONSTRAINTS); static { HEADING_CONTROLLER.enableContinuousInput(-Math.PI, Math.PI); diff --git a/src/main/java/frc/robot/utils/autoaim/InterpolatingShotTree.java b/src/main/java/frc/robot/utils/autoaim/InterpolatingShotTree.java index a9e90c0..ff035b1 100644 --- a/src/main/java/frc/robot/utils/autoaim/InterpolatingShotTree.java +++ b/src/main/java/frc/robot/utils/autoaim/InterpolatingShotTree.java @@ -1,11 +1,16 @@ package frc.robot.utils.autoaim; import edu.wpi.first.math.MathUtil; +import edu.wpi.first.math.geometry.Pose2d; import edu.wpi.first.math.geometry.Rotation2d; import java.util.TreeMap; public class InterpolatingShotTree { - public record ShotData(Rotation2d hoodAngle, double flywheelVelocityRotPerSec) {} + public record ShotData( + Rotation2d hoodAngle, + double flywheelVelocityRotPerSec, + double timeOfFlightSecs, + double groundVelocity) {} private final TreeMap map = new TreeMap<>(); @@ -89,7 +94,9 @@ private ShotData interpolate(ShotData startValue, ShotData endValue, double t) { MathUtil.interpolate( startValue.hoodAngle().getRadians(), endValue.hoodAngle().getRadians(), t)), MathUtil.interpolate( - startValue.flywheelVelocityRotPerSec(), endValue.flywheelVelocityRotPerSec(), t)); + startValue.flywheelVelocityRotPerSec(), endValue.flywheelVelocityRotPerSec(), t), + MathUtil.interpolate(startValue.timeOfFlightSecs(), endValue.timeOfFlightSecs(), t), + MathUtil.interpolate(startValue.groundVelocity(), endValue.groundVelocity(), t)); } /** @@ -112,4 +119,12 @@ private double inverseInterpolate(Double up, Double query, Double down) { } return queryToLower / upperToLower; } + + public ShotData calculateShot(Pose2d pose) { + return get(AutoAim.distanceToHub(pose)); + } + + public ShotData calculateShot(Pose2d robotPose, Pose2d targetPose) { + return get(robotPose.getTranslation().getDistance(targetPose.getTranslation())); + } } diff --git a/src/main/java/frc/robot/utils/rusthoundsSOTM/ChassisAccelerations.java b/src/main/java/frc/robot/utils/rusthoundsSOTM/ChassisAccelerations.java new file mode 100644 index 0000000..0b1d620 --- /dev/null +++ b/src/main/java/frc/robot/utils/rusthoundsSOTM/ChassisAccelerations.java @@ -0,0 +1,47 @@ +package frc.robot.utils.rusthoundsSOTM; + +import edu.wpi.first.math.kinematics.ChassisSpeeds; + +/** + * Represents the complete acceleration data of a chassis. Counterpart to {@link ChassisSpeeds}. + * Used when acceleration data is needed for some computation (in 2024, shooting on the move). + */ +public class ChassisAccelerations { + public double axMetersPerSecondSquared; + public double ayMetersPerSecondSquared; + public double omegaRadiansPerSecondSquared; + + /** + * Creates a {@link ChassisAccelerations} object based on given acceleration data. + * + * @param axMetersPerSecondSquared the acceleration in the x direction, in m/s^2 + * @param ayMetersPerSecondSquared the acceleration in the y direction, in m/s^2 + * @param omegaRadiansPerSecondSquared the rotational acceleration of the chassis (CCW+), in + * rad/s^2 + */ + public ChassisAccelerations( + double axMetersPerSecondSquared, + double ayMetersPerSecondSquared, + double omegaRadiansPerSecondSquared) { + this.axMetersPerSecondSquared = axMetersPerSecondSquared; + this.ayMetersPerSecondSquared = ayMetersPerSecondSquared; + this.omegaRadiansPerSecondSquared = omegaRadiansPerSecondSquared; + } + + /** + * Creates a {@link ChassisAccelerations} object based on the current {@link ChassisSpeeds}, the + * {@link ChassisSpeeds} from the previous iteration, and the time between iterations. + * + * @param speed the current speed of the chassis + * @param previousSpeed the previous speed of the chassis + * @param dt the time elapsed between measurements (your loop time), in seconds + */ + public ChassisAccelerations(ChassisSpeeds speed, ChassisSpeeds previousSpeed, double dt) { + this.axMetersPerSecondSquared = + (speed.vxMetersPerSecond - previousSpeed.vxMetersPerSecond) / dt; + this.ayMetersPerSecondSquared = + (speed.vyMetersPerSecond - previousSpeed.vyMetersPerSecond) / dt; + this.omegaRadiansPerSecondSquared = + (speed.omegaRadiansPerSecond - previousSpeed.omegaRadiansPerSecond) / dt; + } +} diff --git a/src/main/java/frc/robot/utils/rusthoundsSOTM/ShootOnTheFlyCalculator.java b/src/main/java/frc/robot/utils/rusthoundsSOTM/ShootOnTheFlyCalculator.java new file mode 100644 index 0000000..4089c9e --- /dev/null +++ b/src/main/java/frc/robot/utils/rusthoundsSOTM/ShootOnTheFlyCalculator.java @@ -0,0 +1,172 @@ +package frc.robot.utils.rusthoundsSOTM; + +import edu.wpi.first.math.MathUtil; +import edu.wpi.first.math.geometry.Pose2d; +import edu.wpi.first.math.geometry.Translation2d; +import edu.wpi.first.math.interpolation.InterpolatingTreeMap; +import edu.wpi.first.math.kinematics.ChassisSpeeds; +import frc.robot.utils.FieldUtils; +import frc.robot.utils.autoaim.AutoAim; +import frc.robot.utils.autoaim.InterpolatingShotTree.ShotData; +import java.util.function.Supplier; +import org.littletonrobotics.junction.Logger; + +/** + * Provides static methods to calculate the effective target position to aim for when shooting on + * the fly. + */ +public class ShootOnTheFlyCalculator { + /** + * Calculates the effective position of the target given the position, velocity, and acceleration + * of the robot's chassis. Does not account for air resistance, though this is very often + * unnecessary. + * + *

When shooting a projectile while moving, the projectile inherits the translational velocity + * of the chassis. Shooting on the fly can be accomplished by targeting a "virtual" goal if you + * are moving, which acts to negate the forces applied on the projectile due to the movement of + * the chassis. + * + *

An iterative approach (see {@code goalPositionIterations}) is required because the time + * taken for the projectile to travel to the target will change given a different target location. + * To account for this, we re-simulate the projectile's travel with a new shot time derived from + * the new virtual goal position several times. + * + *

When solving this problem mathematically, the acceleration of the chassis does not matter in + * the final velocities of the projectile (it will not inherit the acceleration of the chassis). + * The {@code accelerationCompensationFactor} is necessary due to other errors: + * + *

(1) the time taken to move the projectile through a shooter is non-zero, so (2) if the + * chassis is accelerating, the velocity of the chassis by the time the projectile leaves the + * robot will have changed. + * + *

To account for this, we multiply the acceleration at the time of the shot command by + * a specific value and add it to the velocity at the time of the shot. This value is based on the + * time delta between commanding a shot and the shot actually leaving the shooter, meaning that + * the effective velocity generated is the velocity as the projectile leaves the shooter. This is + * extremely complicated to determine theoretically, so if you find acceleration to be causing + * shot inaccuracies, find a value that provides adequate compensation (should be around [0,2]). + * + *

The easiest way to create the {@code xyDistanceToProjectileVelocity} lambda function is as + * follows: + * + *

If the speed of your shooter is always constant, simply create a lambda expression that + * always returns the same value. + * + *

If the speed of your shooter is controlled using an {@link InterpolatingTreeMap} based on + * distance from the goal, simply get the appropriate shooter speed from that map, and multiply it + * by some constant that describes how fast the projectile moves given a shooter speed. This can + * be calculated experimentally by pointing a camera at the shooter and calculating the speed of + * the projectile based on the distance travelled in n frames. If you find the relationship + * between shooter speed and projectile speed is not constant, you can create a second {@link + * InterpolatingTreeMap}, or define it as an equation. + * + * @param robotPose the current pose of the robot + * @param targetPose the 3D pose of the target. this should be the center of the target, if that + * makes sense (2024 game), but could also be offset if desired. this may also be deeper into + * the target area if required (2020 game). this should take into account any necessary field + * reflections before being passed. + * @param fieldRelRobotVelocity the field-relative velocity of the robot's chassis + * @param fieldRelRobotAcceleration the field-relative acceleration of the robot's chassis + * @param xyDistanceToProjectileVelocity a function that takes in the xy-distance from the robot + * to the goal, and returns the velocity of the shot projectile in m/s. + * @param goalPositionIterations the number of iterations to use when iteratively solving for the + * pose of the target. a higher number of iterations will increase the accuracy of the result, + * but will also reduce performance. + * @param accelerationCompensationFactor the value to multiply the acceleration + * @return + */ + // i 2d ified everything but that scares me a bit + public static Pose2d calculateEffectiveTargetLocation( + Supplier robotPose, + Supplier fieldRelRobotVelocity, + // Supplier fieldRelRobotAcceleration, + double goalPositionIterations, + double accelerationCompensationFactor) { + + double shotTime = AutoAim.HUB_SHOT_TREE.calculateShot(robotPose.get()).timeOfFlightSecs(); + + Pose2d correctedTargetPose = new Pose2d(); + for (int i = 0; i < goalPositionIterations; i++) { + double virtualGoalX = + FieldUtils.getCurrentHubPose().getY() + + shotTime + * MathUtil.applyDeadband( + Math.abs(Math.pow(fieldRelRobotVelocity.get().vxMetersPerSecond, 2)) + * Math.signum(fieldRelRobotVelocity.get().vxMetersPerSecond), + 0.1); + Logger.recordOutput("Autoaim/virtual x", virtualGoalX); + double virtualGoalY = + FieldUtils.getCurrentHubPose().getX() + - shotTime + * MathUtil.applyDeadband( + Math.abs(Math.pow(fieldRelRobotVelocity.get().vyMetersPerSecond, 2)) + * Math.signum(fieldRelRobotVelocity.get().vyMetersPerSecond), + 0.1); + Logger.recordOutput("Autoaim/virtual y", virtualGoalY); + + correctedTargetPose = + new Pose2d(virtualGoalY, virtualGoalX, FieldUtils.getCurrentHubPose().getRotation()); + // i don't think rotation even matters here but + + double newShotTime = + AutoAim.HUB_SHOT_TREE + .calculateShot(robotPose.get(), correctedTargetPose) + .timeOfFlightSecs(); + + shotTime = newShotTime; + if (Math.abs(newShotTime - shotTime) <= 0.010) { + break; + } + } + Logger.recordOutput("Autoaim/Virtual Target", correctedTargetPose); + Logger.recordOutput( + "Autoaim/shot", + new Pose2d( + robotPose.get().getTranslation().plus(new Translation2d(0, 10)), + robotPose.get().getRotation())); + return correctedTargetPose; + } + + public record InterceptSolution(Pose2d effectiveTargetPose, ShotData shotData) {} + + public static InterceptSolution solveShootOnTheFly( + Pose2d shooterPose, + ChassisSpeeds fieldRelRobotVelocity, + int maxIterations, + double timeTolerance) { + ShotData sol = AutoAim.HUB_SHOT_TREE.calculateShot(shooterPose); + + double t = sol.timeOfFlightSecs(); + Pose2d effectiveTarget = FieldUtils.getCurrentHubPose(); + + for (int i = 0; i < maxIterations; i++) { + + double dx = fieldRelRobotVelocity.vxMetersPerSecond * t; + // + 0.5 * fieldRelRobotAcceleration.axMetersPerSecondSquared * t * t; + + double dy = fieldRelRobotVelocity.vyMetersPerSecond * t; + // + 0.5 * fieldRelRobotAcceleration.ayMetersPerSecondSquared * t * t; + + effectiveTarget = + new Pose2d( + FieldUtils.getCurrentHubPose().getX() - dx, + FieldUtils.getCurrentHubPose().getY() - dy, + FieldUtils.getCurrentHubPose().getRotation()); + + // ShotSolution newSol = BallPhysics.solveBallisticWithSpeed( + // shooterPose, + // effectiveTarget, + // targetSpeedRps); + ShotData newSol = AutoAim.HUB_SHOT_TREE.calculateShot(shooterPose, effectiveTarget); + + if (Math.abs(newSol.timeOfFlightSecs() - t) < timeTolerance) { + return new InterceptSolution(effectiveTarget, newSol); + } + + sol = newSol; + t = newSol.timeOfFlightSecs(); + } + + return new InterceptSolution(effectiveTarget, sol); + } +}