diff --git a/examples/pybullet/gym/pybullet_data/args/run_humanoid3d_walker_args.txt b/examples/pybullet/gym/pybullet_data/args/run_humanoid3d_walker_args.txt new file mode 100644 index 000000000..875f2d4af --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/args/run_humanoid3d_walker_args.txt @@ -0,0 +1,25 @@ +--scene imitate + +--num_update_substeps 10 +--num_sim_substeps 2 +--world_scale 4 + +--terrain_file data/terrain/plane.txt + +--char_types general +--character_files data/characters/humanoid3d.txt +--enable_char_soft_contact false +--fall_contact_bodies 0 1 2 3 4 6 7 8 9 10 12 13 14 + +--char_ctrls ct_pd +--char_ctrl_files data/controllers/humanoid3d_ctrl.txt +--motion_file data/motions/walker/walk_forward0.txt +--sync_char_root_pos true +--sync_char_root_rot false + +--agent_files data/agents/ct_agent_humanoid_ppo.txt +--train_agents false + +#--output_path output +#--int_output_path output/intermediate +--model_files data/policies/humanoid3d/humanoid3d_walker.ckpt diff --git a/examples/pybullet/gym/pybullet_data/args/train_humanoid3d_walker_args.txt b/examples/pybullet/gym/pybullet_data/args/train_humanoid3d_walker_args.txt new file mode 100644 index 000000000..acc4f58f6 --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/args/train_humanoid3d_walker_args.txt @@ -0,0 +1,33 @@ +--scene imitate + +--time_lim_min 0.5 +--time_lim_max 0.5 +--time_lim_exp 0.2 +--time_end_lim_min 20 +--time_end_lim_max 20 +--time_end_lim_exp 50 +--anneal_samples 32000000 + +--num_update_substeps 10 +--num_sim_substeps 2 +--world_scale 4 + +--terrain_file data/terrain/plane.txt + +--char_types general +--character_files data/characters/humanoid3d.txt +--enable_char_soft_contact false +--fall_contact_bodies 0 1 2 3 4 6 7 8 9 10 12 13 14 + +--char_ctrls ct_pd +--char_ctrl_files data/controllers/humanoid3d_ctrl.txt +--motion_file data/motions/walker/ +--sync_char_root_pos true +--sync_char_root_rot false + +--agent_files data/agents/ct_agent_humanoid_ppo.txt +#--train_agents false + +--output_path output +#--int_output_path output/intermediate +#--model_files data/policies/humanoid3d/agent0_model.ckpt diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left0.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left0.txt new file mode 100644 index 000000000..2ce514b93 --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left0.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.85099999999999998, + 0.0, + 0.99841711834210922, + 0.0005924727143377589, + -3.3373323255332116e-05, + -0.056239716070965173, + 0.99878362641177887, + 0.021613777199764185, + -0.041076178599529209, + -0.016639104499784174, + 0.98896486376336656, + -0.0078469509995556797, + 0.12292666730396064, + -0.08231620780294667, + 0.96022066222248514, + -0.021222030599688191, + -0.030387228399892229, + 0.27677160549523661, + -0.11315842210000027, + 0.9905166637630467, + 0.081789118102716399, + 0.11027004720383801, + 0.0052721587008197129, + 0.97631628604487586, + -0.10727930549720792, + 0.15298629919528828, + -0.10905435559438516, + 0.3043470244, + 0.99693066559209442, + -0.052895812400410192, + 0.0081419895000151652, + -0.0571400826004465, + -0.25332930499999989, + 0.97976735512987367, + 0.11987032629653709, + 0.018622468200556422, + 0.15918617519587885, + 0.97696212708934549, + 0.156969660501661, + -0.11342824810127515, + 0.089663596000441409, + 0.92542069360000001 + ], + [ + 0.033333333333333333, + 0.037280309495802591, + 0.8479616351609357, + 0.0016967349838616017, + 0.9981967848068487, + -0.00064796498139499696, + 0.01228668629563358, + -0.05875198960482432, + 0.99860597651749672, + 0.023221792406870639, + -0.045858765518966768, + -0.01199273305070055, + 0.98817928869923943, + -0.0066572555810564859, + 0.13202059165355162, + -0.077639794650938204, + 0.95902474252693382, + -0.016550128297895182, + -0.036461484533691302, + 0.28047851365135051, + -0.16022778114772163, + 0.99108017038944529, + 0.075787315760312085, + 0.10878468844994402, + 0.013500747739424536, + 0.97634269046817046, + -0.10927522030150319, + 0.14804398138773728, + -0.11356432790405421, + 0.31903641997393428, + 0.99689576059375062, + -0.046562578147324382, + 0.0071170584901859594, + -0.063088162954147042, + -0.30592060468756943, + 0.9792485810685464, + 0.12552041328064764, + 0.010370194526707576, + 0.15877437258755672, + 0.97737893717106961, + 0.15434114290342382, + -0.1156345748839455, + 0.086820906888977867, + 0.9029569731785988 + ], + [ + 0.033333333333333333, + 0.076725896132073229, + 0.84589657578586752, + 0.0038758366252139159, + 0.99774429984972224, + -0.0066088755703692858, + 0.022431446957645401, + -0.062924280436642832, + 0.99839649122879592, + 0.025524284818377874, + -0.049752110101220569, + -0.0088138939757155966, + 0.98777096656751506, + -0.0061519157655435669, + 0.13685732395753247, + -0.074436176808550247, + 0.95912251812484284, + -0.012111865264727333, + -0.023987235045989982, + 0.28171246067669414, + -0.23490427003422243, + 0.99301994477923949, + 0.068975898670342067, + 0.094767774430029289, + 0.013144717677987625, + 0.97689408520545795, + -0.11116200712458725, + 0.14084978610190577, + -0.11611327321918029, + 0.33814332930003327, + 0.99753638863349314, + -0.033972352291780458, + 0.011691601793933071, + -0.060252295220214219, + -0.38867736061724684, + 0.97997579416903158, + 0.1275722089413652, + -0.0010326687726284912, + 0.15287808196011124, + 0.97839911489222509, + 0.14958449841594881, + -0.11790047631789766, + 0.08036869723824383, + 0.86853036647337056 + ], + [ + 0.033333333333333333, + 0.11775911594989921, + 0.8451627459473483, + 0.0066725901231912731, + 0.99716963996181895, + -0.01647982841013346, + 0.031520006055006627, + -0.066239064095753794, + 0.99825359073864761, + 0.029199633273673295, + -0.05128340916259682, + -0.0026761798783457745, + 0.98790016090232213, + -0.0072180325513496128, + 0.13588256487918904, + -0.074411697044931363, + 0.96073312731856109, + -0.0079745539560469071, + 0.0052936110490427596, + 0.27730892925392997, + -0.28608564213249249, + 0.9926616297483124, + 0.097062567337282649, + 0.071713840084339467, + -0.0076728083305616038, + 0.9770240423008334, + -0.1124637809960314, + 0.13790366624149175, + -0.11729662214817285, + 0.35386012714544507, + 0.99855453655239601, + -0.014210332038973339, + 0.022080854005315571, + -0.046897120171366879, + -0.51116420881491698, + 0.98340943682333293, + 0.12391407071286445, + -0.02005949859019119, + 0.13095342363791987, + 0.97959233227203502, + 0.14243812936589975, + -0.12260054303941649, + 0.071269549619864245, + 0.82401397588717973 + ], + [ + 0.033333333333333333, + 0.15899788069912979, + 0.84706557899567447, + 0.011446073604795992, + 0.99680963510193854, + -0.034620644542273461, + 0.032928809864679637, + -0.063934777862391948, + 0.99787396804007378, + 0.042780116631206386, + -0.049165866852573674, + -0.00035080708849769129, + 0.98799614528112079, + -0.010642350908802027, + 0.13345690681442113, + -0.077068873744900415, + 0.96191158761506623, + 0.013794275095694966, + 0.0092446039332157379, + 0.27285591964361883, + -0.3683037197746698, + 0.99508311740931943, + 0.066974239088812906, + 0.071556509515196473, + 0.014272585309838855, + 0.97601961728211384, + -0.11677585992681735, + 0.14595324500240014, + -0.11156502808719976, + 0.36406830095216358, + 0.99858416516681003, + 0.019807753652921742, + 0.043672745257133397, + -0.023021930740833758, + -0.67786131829866214, + 0.98929878978901475, + 0.1050486613957696, + -0.053826740201396064, + 0.085763426355522518, + 0.98188455480405901, + 0.13000612703600609, + -0.121784479744401, + 0.0645729700704437, + 0.76150988206590775 + ], + [ + 0.033333333333333333, + 0.19709617636637919, + 0.8506067692799244, + 0.013845212400001475, + 0.99660397940673007, + -0.044996460489773529, + 0.033492374681358246, + -0.060283394166766292, + 0.99748535049668319, + 0.05303936730126646, + -0.04697584116921865, + 0.0017525430764136496, + 0.98801779830945347, + -0.011317442250315401, + 0.1308062171045285, + -0.081132479879846647, + 0.96547604203338822, + 0.029069582074892634, + 0.0066020265756557119, + 0.25878057288488393, + -0.41477784416619085, + 0.99599263621403167, + 0.033609572576603242, + 0.074133511896675247, + 0.037057895953589326, + 0.97424965099268113, + -0.12265632388204416, + 0.1620918228788237, + -0.097566821759254227, + 0.37522338748948902, + 0.99737453323267511, + 0.044728750857950222, + 0.055130146288628175, + 0.014284476741741632, + -0.87327129662578606, + 0.99425585495210222, + 0.067556143682041228, + -0.077774633698731124, + 0.029027033904689158, + 0.98513264669968648, + 0.11575807265137472, + -0.11388863880851371, + 0.056063490551816197, + 0.69404999733930084 + ], + [ + 0.033333333333333333, + 0.23155529729994162, + 0.85553738827559878, + 0.014483675384345956, + 0.99594849412485331, + -0.04912744772466808, + 0.047823119277788963, + -0.058189691467127436, + 0.9973511634772716, + 0.055191983334700698, + -0.047340054925434576, + 0.0018495636705660394, + 0.98946145888862269, + -0.0072161177668177466, + 0.12061638985464956, + -0.079784932893404464, + 0.97177521742516315, + 0.033944683217965121, + 0.00021873237856431839, + 0.23345371583175842, + -0.40860419687406418, + 0.99611675427357893, + 0.014989741054789894, + 0.066469860766947608, + 0.055753718514583633, + 0.97405221584277901, + -0.1261515744140122, + 0.17088599898401763, + -0.078141131524137, + 0.39629587979729547, + 0.99501233039041881, + 0.060531506416533092, + 0.045826218851902224, + 0.064702061541428588, + -1.0670260791542705, + 0.99555995120963625, + 0.036107904673959267, + -0.081231445611177608, + -0.030952463737824096, + 0.98674990829268816, + 0.10590992610987145, + -0.11242434141265924, + 0.049683734699627176, + 0.62371857195593905 + ], + [ + 0.033333333333333333, + 0.26482823038079928, + 0.86188776172985349, + 0.013526451258913391, + 0.99513178421532889, + -0.049343128365653417, + 0.066948066796100825, + -0.05287668748864241, + 0.99748373403851076, + 0.053399623652525818, + -0.046627756508453071, + 0.0007299625652130089, + 0.99139676725278658, + -0.0028447115868886338, + 0.10383249484944045, + -0.079644023693259361, + 0.97867219745492795, + 0.03335196421906772, + -0.011195344405909949, + 0.20239328218867741, + -0.39241847355641796, + 0.99552434204502316, + 0.010088358826583195, + 0.060676599926899409, + 0.071748586280991497, + 0.97528859251520639, + -0.1288476260408368, + 0.17006780432596469, + -0.057335787298107219, + 0.42510605387797834, + 0.99056242619124413, + 0.069595811297204269, + 0.033888009881415902, + 0.11311103241628076, + -1.2131039679299447, + 0.99192708669699281, + 0.0076770040194483607, + -0.068330958749839396, + -0.10654857278457402, + 0.9871589287626682, + 0.099496387316749133, + -0.11658542496960982, + 0.045006188015785563, + 0.54967233691989448 + ], + [ + 0.033333333333333333, + 0.29871100775242432, + 0.86823530778670344, + 0.010796197372859086, + 0.99457431175382105, + -0.0464145760530877, + 0.081749231767511227, + -0.044549844384093366, + 0.9978779145169524, + 0.047614177222370234, + -0.044248498229717936, + -0.0038246896801003624, + 0.99256341420227967, + 0.00072053442449692285, + 0.08800909525693866, + -0.0840936904250974, + 0.98585688284680417, + 0.030472414050866349, + -0.02128925388719221, + 0.1634148285634506, + -0.35711576708709292, + 0.99478509970999074, + 0.0076015279979432405, + 0.057828336180600882, + 0.083670219921210376, + 0.97597961414976997, + -0.13144673787250252, + 0.1696919555152484, + -0.037285226298827967, + 0.46537446374271263, + 0.98545227852004902, + 0.074326742233149112, + 0.031842635848296705, + 0.14948374055690339, + -1.3062694897400453, + 0.99182764927425893, + 0.014450914600278498, + -0.049307792506280278, + -0.11678110635060261, + 0.98797399270301367, + 0.096933485137324429, + -0.11490030905686913, + 0.036182981914618183, + 0.49007727783412636 + ], + [ + 0.033333333333333333, + 0.33102798103414932, + 0.87354616729008394, + 0.0069788513024990626, + 0.99411968261035966, + -0.041211663385576344, + 0.092739870279360301, + -0.037775281709592386, + 0.9983693887854771, + 0.040956934954023645, + -0.039246235408035221, + -0.0063895243627256453, + 0.99309255504131666, + 0.0032025086018352511, + 0.073600513135080314, + -0.091322973705512359, + 0.99120623463209023, + 0.025763804496428292, + -0.030614512554586075, + 0.12613159170243074, + -0.31801742463620525, + 0.99404370939193576, + 0.0059716182062045046, + 0.057868080809553815, + 0.092156002613714816, + 0.97485483970353493, + -0.13748048967236789, + 0.17436017671446122, + -0.018859619353076319, + 0.51677893274965991, + 0.97951938885149104, + 0.075586901857976216, + 0.036224101012943953, + 0.18307430632756255, + -1.3523336905392438, + 0.99404125524247111, + 0.026185821994912956, + -0.043873126525958255, + -0.096288287819756263, + 0.98959701073410677, + 0.095731422528835916, + -0.10506036397944057, + 0.022261424195971061, + 0.45011330917767817 + ], + [ + 0.033333333333333333, + 0.36197911537930894, + 0.87738359135491262, + 0.002392656927037815, + 0.99360013538437331, + -0.035498796583807037, + 0.10191704792992644, + -0.033339492295259537, + 0.9988103223177347, + 0.034650352788738549, + -0.033516102480595625, + -0.0073460164490086353, + 0.99333060653751604, + 0.0036039030861251017, + 0.059881377498308019, + -0.09846592622456464, + 0.99451224114692438, + 0.020313978518740523, + -0.044283451179965211, + 0.092583586219445624, + -0.28126952542511463, + 0.99305977145557178, + 0.0033777411549119267, + 0.062682903668868695, + 0.099457200689227573, + 0.97165750677465157, + -0.14801732117080182, + 0.18431129557725329, + -0.0013814791065978542, + 0.57672820796839952, + 0.97264764769556278, + 0.075093254524576186, + 0.044412135353419598, + 0.21527916478504189, + -1.3543005723490289, + 0.99531032073395109, + 0.045398171483148148, + -0.051260217212251664, + -0.068328336711930546, + 0.99181193831871828, + 0.096103235190403313, + -0.083920073075027024, + 0.0055379174323168228, + 0.42396361259559667 + ], + [ + 0.033333333333333333, + 0.39106838057054116, + 0.87952419759096356, + -0.0028432425495169508, + 0.99303884646806295, + -0.030071285371341395, + 0.10916634143715842, + -0.03243882085896245, + 0.99916560266413312, + 0.028828515488923689, + -0.027943658426333323, + -0.0074944713807535137, + 0.99356447864038899, + 0.0022536838973561115, + 0.049762318773689598, + -0.10172639442744721, + 0.99584535821542841, + 0.014297977594302149, + -0.061992492362537094, + 0.065149990392773999, + -0.25033987475869479, + 0.99154019413026551, + 0.0022394563890765044, + 0.073190931986120464, + 0.10717329767344078, + 0.96674849889109338, + -0.16236152568705683, + 0.19684172190261293, + 0.017012095309022764, + 0.64315627126296482, + 0.96488627864780363, + 0.072440935154246475, + 0.056394450856328819, + 0.24610251137236366, + -1.315584660194508, + 0.99657833368913251, + 0.057353742370918531, + -0.048795025130725554, + -0.034076657405535594, + 0.99327835169240175, + 0.099184778924336858, + -0.058053469311086382, + -0.013794578279257261, + 0.41252599007294277 + ], + [ + 0.033333333333333333, + 0.41892174869461279, + 0.87988659517974632, + -0.0082943967231289099, + 0.99203037902191138, + -0.026206142267473635, + 0.11873544799352957, + -0.033028148523275187, + 0.99940000925542316, + 0.023411507325506866, + -0.024331012561895637, + -0.0077152221433196746, + 0.99369021838567251, + 0.0024124299274957844, + 0.041589592161710091, + -0.10413566099229381, + 0.99592084376815881, + 0.0095472186448263569, + -0.080049252875582649, + 0.040529503800657792, + -0.22284699412655951, + 0.98992521071684425, + 0.0015952263046424579, + 0.081180982677722335, + 0.11599646758297355, + 0.96125434415868716, + -0.17798834025768961, + 0.20729418639419267, + 0.03659722469716644, + 0.70826393168174306, + 0.95710261125039797, + 0.068589246987379601, + 0.068343676381993429, + 0.27309201495826851, + -1.2349335667057313, + 0.99777511454435786, + 0.058714356617226078, + -0.031509487713957368, + -0.0021441331634670401, + 0.99332431517482278, + 0.1051748629656932, + -0.034202145911428269, + -0.03279125337144826, + 0.40247657946612925 + ], + [ + 0.033333333333333333, + 0.44551226371108626, + 0.87885997566864171, + -0.014294067465513469, + 0.99085057985532154, + -0.02423699873130487, + 0.12792931944803693, + -0.035521620436487746, + 0.99956505014012109, + 0.019398531841446222, + -0.021085145534531079, + -0.0069874271775221403, + 0.99387893197818478, + 0.0024759230725552549, + 0.033325021490068302, + -0.10529948393761475, + 0.99599431267794325, + 0.0072513327825549983, + -0.08671865557427931, + 0.020557773747600924, + -0.2021969835914407, + 0.98902463452012546, + -0.0013234555010032999, + 0.077645478531080378, + 0.12569685931457794, + 0.95582212596688654, + -0.19380413777105424, + 0.21328331064652281, + 0.057915879468575023, + 0.76290356518103919, + 0.95029182750078323, + 0.063479245739677129, + 0.081280652357582528, + 0.2937844167035909, + -1.1099696392588854, + 0.99725249828990392, + 0.069188258694947311, + -0.0091383347084086613, + 0.024838082697007401, + 0.99228961466693455, + 0.11206129490890154, + -0.013115214763406775, + -0.051298907875281005, + 0.39077132578789014 + ], + [ + 0.033333333333333333, + 0.47218601709059077, + 0.87694429039711386, + -0.021665434722551339, + 0.98936801792292095, + -0.023200190996982128, + 0.1381779611262331, + -0.038981114760500972, + 0.99965215643424976, + 0.015936076706879417, + -0.019604634358490389, + -0.0075674240806712098, + 0.99383318121768405, + 0.0023957833341830413, + 0.02804985920279511, + -0.10725238240550679, + 0.99615051582616376, + 0.0056287729845626569, + -0.087413744580247782, + 0.0033621410462957605, + -0.1910453559268844, + 0.98847023193859418, + -0.0012355542142316342, + 0.068644793376777757, + 0.13495542345272751, + 0.9502792699769963, + -0.20914334327033227, + 0.21672828163814195, + 0.079102610297469123, + 0.80860889007790071, + 0.94640372295826247, + 0.055401945429234135, + 0.092055416018119604, + 0.30459221591355146, + -0.93725626955544439, + 0.9973692061543461, + 0.068221873504347968, + 0.013449431937243669, + 0.020483050826762314, + 0.99050000808731886, + 0.11858501739382596, + 0.0065821864699909909, + -0.06931091147865158, + 0.37665457337426639 + ], + [ + 0.033333333333333333, + 0.49871995862833779, + 0.87405804016375288, + -0.029969956894926913, + 0.98778630205911244, + -0.023958415317846527, + 0.14761234343356572, + -0.043758563343563123, + 0.99970854356603989, + 0.014243430939673533, + -0.018197994828203404, + -0.0069846675201344311, + 0.99377875102875091, + 0.0029323388774645672, + 0.023886751470964397, + -0.10874106168604383, + 0.99606004402527748, + 0.0055636658174946091, + -0.087790407546290042, + -0.01123737789209074, + -0.18360074460387402, + 0.98781967422956407, + 0.00029086325160944122, + 0.059936032525487307, + 0.14359623466049021, + 0.94576345292081798, + -0.22218743471345354, + 0.21578093192835318, + 0.097994001810711509, + 0.84722385711824744, + 0.94466631715423077, + 0.045898949105968236, + 0.10512179452723452, + 0.30732433034272405, + -0.73197777066526049, + 0.99732853392540444, + 0.066413846813348651, + 0.030102513217620603, + -0.0043399386677021928, + 0.98827570242026064, + 0.12472998432909883, + 0.02639516285819982, + -0.084005133132994958, + 0.35597042342935115 + ], + [ + 0.033333333333333333, + 0.52610693513556106, + 0.8702171550470722, + -0.039618275746383012, + 0.98640074740834416, + -0.027854435569799298, + 0.15445927286355396, + -0.04878554045831774, + 0.99973769579257743, + 0.014778164980288978, + -0.016670618775544488, + -0.0053137482819335608, + 0.99369859890939416, + 0.0023547610453399435, + 0.021431516905047708, + -0.10999199838658742, + 0.99575582159005682, + 0.007848169121170907, + -0.088214462389586468, + -0.0250391420833974, + -0.17932093008312236, + 0.98718146407450524, + 0.0038831302566693388, + 0.054105322006367224, + 0.15010094076225289, + 0.94217822252627959, + -0.23244451342094422, + 0.21312968769944535, + 0.11333790803988701, + 0.87895893634346545, + 0.94448745555027946, + 0.036737396321259941, + 0.12306684922557176, + 0.30240429997171625, + -0.51182125501099496, + 0.99797704746103055, + 0.045185618557957795, + 0.034735440689840427, + -0.028169518572052597, + 0.98553449105107893, + 0.12973818293562409, + 0.046969384317388271, + -0.098405527152182162, + 0.33679172484966757 + ], + [ + 0.033333333333333333, + 0.55536579885118975, + 0.86610958576160468, + -0.051170065176123609, + 0.98508315581432104, + -0.033526267725532979, + 0.16049102284817229, + -0.052247460114739852, + 0.99966656112587882, + 0.018612864281332159, + -0.015900198919954405, + -0.0082165396798341457, + 0.99418971706127279, + -0.00062828383343655446, + 0.02495507570367729, + -0.10470747798354585, + 0.99458207192630665, + 0.01024769387938795, + -0.095343426966538886, + -0.040138733253622348, + -0.18058384838551256, + 0.9864264750872882, + 0.0067881470414895709, + 0.055966787259252249, + 0.15422207698798593, + 0.93889667579296421, + -0.24093549529225336, + 0.21056005801484018, + 0.12683682928071516, + 0.89757649570519615, + 0.94483974527229897, + 0.025988398762540044, + 0.14816085037497853, + 0.29094814194233926, + -0.29686141628623075, + 0.99854199786281905, + 0.014047519432418248, + 0.0052508715929057252, + -0.051855318429649612, + 0.98246850248118212, + 0.13222729541728043, + 0.07037715912864638, + -0.11098936639154196, + 0.3204041405620639 + ], + [ + 0.033333333333333333, + 0.58652621075227473, + 0.86171776541983225, + -0.065994755056407645, + 0.98470170600258977, + -0.036871059633171145, + 0.16214536404726151, + -0.052076444532028386, + 0.99959036309649962, + 0.021265565223346602, + -0.014113982101756494, + -0.012949025043258448, + 0.99466375374930693, + -0.0034148344800584546, + 0.041710111052041608, + -0.094300702642335296, + 0.99322744449464417, + 0.0073964174814826001, + -0.10179063547338106, + -0.055526597599738457, + -0.19949714532150964, + 0.98557016863368929, + 0.012864331509218388, + 0.062688838634087196, + 0.15670373698444967, + 0.93681486706323958, + -0.24549649339708024, + 0.20932348906800671, + 0.13525181515757229, + 0.90725648033180106, + 0.94774309817435187, + 0.015039974532663546, + 0.16688034899747048, + 0.2714917460023788, + -0.11485137292117165, + 0.99783315523455851, + -0.028600240483154939, + -0.027614506618104415, + -0.052425753053148831, + 0.9791860184602682, + 0.13315516302964545, + 0.091187359606576202, + -0.12308253027321464, + 0.30616038383765182 + ], + [ + 0.033333333333333333, + 0.61938611290687107, + 0.85749899063274704, + -0.083373440880032207, + 0.98486492569391337, + -0.037877183987842844, + 0.16150691259598521, + -0.050218664406636637, + 0.99957896046678651, + 0.020832372292516867, + -0.012232684720911342, + -0.016070951475353083, + 0.99423618298114991, + -0.0013655238610043817, + 0.069825121183325733, + -0.081344946047017294, + 0.99255198714578741, + 0.00093411864658876067, + -0.10057286152768063, + -0.068737033391300578, + -0.2371729357394724, + 0.98538820085354817, + 0.017122830365263207, + 0.06479376432982957, + 0.15658438748119299, + 0.93624588625677108, + -0.24384540981325581, + 0.21116103732119093, + 0.13926260408924271, + 0.89751307655333423, + 0.95386807135523499, + 0.013203853926981916, + 0.15327785722001666, + 0.25781244961514083, + -0.049927092302590854, + 0.99932775978407284, + -0.019468647388968644, + -0.025903195953957032, + -0.017147149417942622, + 0.97553321996034581, + 0.13416286965535182, + 0.11035730884247805, + -0.13474615224445749, + 0.29481132793094544 + ], + [ + 0.033333333333333333, + 0.65282816357395712, + 0.85429190223874096, + -0.10251345211308062, + 0.98398150613981039, + -0.03492596116985669, + 0.16699054330507965, + -0.051717804070419364, + 0.99964329570718813, + 0.018450948696773078, + -0.011821997680615993, + -0.01526709568646272, + 0.99292835097436116, + 0.0035105398964003685, + 0.093893707669708476, + -0.072559889753272405, + 0.99208978086098187, + -0.009687580958932622, + -0.099768505538384594, + -0.075566280767352875, + -0.29031735503584039, + 0.98639910150425325, + 0.021099991215636143, + 0.064925531710674944, + 0.14952016002662688, + 0.93797670000207645, + -0.23954620978317195, + 0.2127601064109429, + 0.13247815197886612, + 0.88704504919651994, + 0.95694497746461682, + 0.010426230307035484, + 0.12435195223068614, + 0.26207669832178099, + -0.13084667471790393, + 0.99987278277317482, + 0.0034297771501101628, + -0.00085639330880120823, + -0.015553825530356731, + 0.97143238449119229, + 0.13528183264826255, + 0.13249910115315083, + -0.14304522470425532, + 0.28878392181277202 + ], + [ + 0.033333333333333333, + 0.68797777593276344, + 0.85212921213805393, + -0.12640419152153731, + 0.98343577005162985, + -0.023513703133584175, + 0.17043971782325043, + -0.057021877698251275, + 0.99986072255258596, + 0.0095459434765388339, + -0.0074455037058141675, + -0.011488034398019294, + 0.9921498032167706, + 0.012509982628975898, + 0.10485559665995424, + -0.066989343634872231, + 0.9916971305206812, + -0.032821575004734149, + -0.099840389456669842, + -0.074104265493938032, + -0.36550170816570848, + 0.98804867748596181, + 0.032062110644562561, + 0.070903761116981018, + 0.13305821522447878, + 0.94259914902457009, + -0.23219959052021599, + 0.2117494374798955, + 0.11292639260752124, + 0.87502388638440765, + 0.96207948198798543, + -0.0017013878297420183, + 0.088005733360932564, + 0.25817661883444598, + -0.18631382909749186, + 0.99922560732806409, + 0.018544454247927045, + 0.025239080939887207, + -0.023817591604059479, + 0.96823964061937773, + 0.13726480736093388, + 0.14628983549993566, + -0.14923020814441576, + 0.28658554045216028 + ], + [ + 0.033333333333333333, + 0.72134201052386515, + 0.85291973372850849, + -0.15184987874995487, + 0.98350998952148416, + -0.0082021858391255892, + 0.16860161127990031, + -0.064917804435546025, + 0.99997778361523793, + -0.006438069041423999, + -0.0017155257133032659, + 0.00020128214319989994, + 0.99115058192443872, + 0.022854629903787109, + 0.11246195392596307, + -0.066712058594844678, + 0.99216623026513073, + -0.062802569111874068, + -0.09415181847711529, + -0.052890867944098197, + -0.49347138801867552, + 0.99146861594421587, + 0.038790980917038496, + 0.078530405366137382, + 0.096530921627139721, + 0.94681027156698783, + -0.21841044294246093, + 0.21804311555765202, + 0.091128413937899874, + 0.83617302219623224, + 0.96544042218848025, + -0.016079902623743939, + 0.061626534192012049, + 0.25272197810958325, + -0.22668969257010615, + 0.99756079712180812, + 0.0059076723839444345, + 0.045899407712197984, + -0.052257055259325079, + 0.96561364338808076, + 0.14002638484585622, + 0.1590142977273396, + -0.15065641827707707, + 0.27980342208449177 + ], + [ + 0.033333333333333333, + 0.75292572425580628, + 0.85624767564310622, + -0.17752386261622288, + 0.98203229408850778, + 0.010767757478737367, + 0.17505173420674897, + -0.069667202594558955, + 0.99963457000507283, + -0.02655743361730967, + 0.00063328563425425169, + 0.0050028111837953646, + 0.99119837283093515, + 0.027959200797978041, + 0.11356833194277106, + -0.062018567927526955, + 0.99138703649822768, + -0.095277035022119011, + -0.087703732658324984, + -0.019547013543063284, + -0.66992625198490874, + 0.99466841465311895, + 0.043096019754891156, + 0.082886362215807016, + 0.04367297712965261, + 0.952462172034648, + -0.1985639782067273, + 0.21965102625249999, + 0.071704839920206875, + 0.77505836518152726, + 0.96469491090839488, + -0.043243189004387728, + 0.067443918884055806, + 0.25088856745124061, + -0.31142943708430887, + 0.99804097210692111, + 0.044156846289985424, + 0.03028448321892151, + -0.032361103160391286, + 0.96613350840924805, + 0.14166159296790265, + 0.16212698153000546, + -0.14224232445584889, + 0.2698834460287301 + ], + [ + 0.033333333333333333, + 0.78218772186117969, + 0.85972594356366527, + -0.19801020720262599, + 0.98053150860621208, + 0.015407797081814707, + 0.18297696502255437, + -0.069570041617398493, + 0.99948275391171726, + -0.031769251973946956, + 3.8036226922577672e-05, + 0.0049937776593509536, + 0.99150584115501816, + 0.021569531456658221, + 0.11514059615177995, + -0.056511639385463469, + 0.99244806629885574, + -0.10303811988113308, + -0.062978024477171143, + 0.021534855095314755, + -0.86937981637503392, + 0.99691224862899375, + 0.036673682822662507, + 0.069432721949092072, + -0.00032656461239887927, + 0.95665863485119662, + -0.18072599521176719, + 0.22094976458987495, + 0.057650434057690339, + 0.69854036468119718, + 0.96722133232080765, + -0.054384273970866849, + 0.062445335924943939, + 0.24005379619877798, + -0.35383535499859964, + 0.99708628591619486, + 0.068665689791779935, + 0.031215475292318762, + -0.011382248703221097, + 0.96950207941063604, + 0.13687665570347465, + 0.15867567901350951, + -0.12709259628903238, + 0.26770246702414119 + ], + [ + 0.033333333333333333, + 0.80935974262066002, + 0.86434984484778787, + -0.21680774598404026, + 0.98075878036839836, + 0.017167153828479605, + 0.18212288203238236, + -0.068181811357133928, + 0.99950460982670841, + -0.031099530869882697, + 0.00064866287814963227, + 0.0047888778751484255, + 0.99068268219735078, + 0.012753546074794902, + 0.12329567267969066, + -0.056421160527265611, + 0.99174221103601246, + -0.10359946125496844, + -0.029577475294504888, + 0.069568034558154732, + -1.0418024421742051, + 0.99551270928464974, + 0.034471301834558724, + 0.055284874374472243, + -0.068627674213585357, + 0.95756794447368876, + -0.1669321366077795, + 0.22996835158530868, + 0.048081709132809465, + 0.61529669371267892, + 0.97177903540174715, + -0.060191985913112069, + 0.060045104920933408, + 0.2200386706025097, + -0.35789947205385991, + 0.99597239371644042, + 0.080666135364936248, + 0.038419623270630615, + 0.0074765037131265142, + 0.97492448883886318, + 0.12788535054400355, + 0.14384113533875501, + -0.11170186194946224, + 0.28242364429386979 + ], + [ + 0.033333333333333333, + 0.83617887993460283, + 0.8695721209754278, + -0.23451234820121175, + 0.98081888396607853, + 0.018128874998127351, + 0.18275612779820044, + -0.065313539936572226, + 0.99957100220768391, + -0.02887277839492515, + -0.0007916437928514276, + 0.0048525780147539938, + 0.98919594817103673, + 0.0076363542248901913, + 0.13182188706293457, + -0.063687143972096558, + 0.98840555955558485, + -0.10066299502774197, + -0.0003881485652039739, + 0.11367172301125417, + -1.1630272662439831, + 0.9868165116017944, + 0.063541966897009833, + 0.04466038799058878, + -0.14198957925655958, + 0.95721778790167333, + -0.15476714881720471, + 0.24149205287957079, + 0.038246889646493469, + 0.53592308135923161, + 0.97699894929226183, + -0.063813840139245417, + 0.056362139669235263, + 0.19550998977137918, + -0.34716684507415929, + 0.99531897694056637, + 0.084435182128480765, + 0.041812496297431619, + 0.021506959671044615, + 0.98008294893124681, + 0.11941763996440305, + 0.12722031330311664, + -0.094825272805407451, + 0.30908979747728388 + ], + [ + 0.033333333333333333, + 0.86349134259183957, + 0.87412529002644379, + -0.25175619683695799, + 0.9795165989410789, + 0.017476828443474694, + 0.1916414494355119, + -0.059290367891547381, + 0.9997200013751455, + -0.022847651390173484, + -0.0058804530141151777, + 0.0018231699813545774, + 0.98750841606230944, + 0.0054760184143446194, + 0.13905821554224931, + -0.073891502343908816, + 0.98438997853236976, + -0.096795560919365892, + 0.011300131627102304, + 0.14655816789437548, + -1.2364052726353316, + 0.98885264423059527, + 0.070116914483086462, + 0.046272595824717488, + -0.1229345890186062, + 0.95813222610809956, + -0.14436102317387928, + 0.2459564002297642, + 0.025455480104375868, + 0.47396526080348006, + 0.98304077526020972, + -0.065785646268455164, + 0.042521193762935165, + 0.16581625674771014, + -0.32313403856467249, + 0.99471963178338885, + 0.085967156955645746, + 0.045798347028755189, + 0.0323266682340832, + 0.98586017268259019, + 0.11183648359194373, + 0.097980322059397315, + -0.077279863775624236, + 0.34701150748280885 + ], + [ + 0.033333333333333333, + 0.89057361745618513, + 0.87788879023772293, + -0.26872899411526896, + 0.97735694483146029, + 0.01631486611342475, + 0.20453777174220997, + -0.051686820990912867, + 0.99974251241510692, + -0.019340825241931793, + -0.011797384750016748, + -0.0012895975925951183, + 0.9864686686454901, + 0.0074625682935221841, + 0.14199967978831829, + -0.081608619613824915, + 0.98045674628588253, + -0.091234628869277981, + 0.015427806613100099, + 0.17361680201148263, + -1.2674930454526234, + 0.99635975499812413, + 0.046344820180227793, + 0.041918814282260505, + -0.05798456063220405, + 0.96397960528881343, + -0.13195549944446955, + 0.23074867805150689, + 0.0092797807660631188, + 0.42998879108261689, + 0.98840517382681214, + -0.067110348710027246, + 0.030747073587511317, + 0.13268771953052741, + -0.29135591109688536, + 0.9942616661075333, + 0.08804626991958929, + 0.044483288268052999, + 0.041386359192131586, + 0.99043610548146865, + 0.10961652407707714, + 0.060193570109942404, + -0.058286128069893382, + 0.39446063320059216 + ], + [ + 0.033333333333333333, + 0.91622399628856432, + 0.88040705882419756, + -0.28399812762781573, + 0.97493699637909126, + 0.013064075724944391, + 0.21710161764076694, + -0.046840907703960058, + 0.99975287593480766, + -0.014337712611521867, + -0.016666731967196993, + -0.0032919754987009307, + 0.98627920333484476, + 0.0094465986033371394, + 0.14109468238892578, + -0.085184420204515068, + 0.97559355943712733, + -0.083046899887731271, + 0.016384672327909619, + 0.20261283699840091, + -1.2576766890039046, + 0.99944406697520771, + 0.02658107265480612, + 0.017054824105672377, + -0.010683470377222117, + 0.97081700523346681, + -0.12174912103096219, + 0.20631467082354174, + -0.011213852178647463, + 0.40762119075127201, + 0.99177416604396784, + -0.065469608531324011, + 0.032165805258723937, + 0.10518124784677704, + -0.26865569423772678, + 0.99391620541757975, + 0.092228736849967588, + 0.031021041607813906, + 0.051595849493395803, + 0.99290711778979979, + 0.1112641671781444, + 0.019922485120209978, + -0.036862380974939643, + 0.45363061542495886 + ], + [ + 0.033333333333333333, + 0.94068197577825707, + 0.88163480444640319, + -0.29867308070530979, + 0.97261012555755788, + 0.0095704296216218305, + 0.22820864298404495, + -0.043113406350574097, + 0.99972608111961347, + -0.0088977097402739604, + -0.021094045678724329, + -0.0048615560782182942, + 0.98651439778980976, + 0.0098904401162098077, + 0.13883352601774687, + -0.08612069554524153, + 0.97042500493276929, + -0.074473299887825986, + 0.016955141857578002, + 0.22900122394791284, + -1.2056787498148991, + 0.99954507640366097, + 0.016142646099906344, + -0.015614052925803167, + 0.020130985204973379, + 0.97638339772185034, + -0.11378372826961096, + 0.18077878150160345, + -0.032369059192349954, + 0.39159849093401639, + 0.99439689939877074, + -0.062765331813639941, + 0.02981287169941237, + 0.079665000279100728, + -0.24472705343324788, + 0.99324162122997217, + 0.095811609992941416, + 0.022211781665377087, + 0.06162673123139447, + 0.993056114173274, + 0.11585028387555814, + -0.015563645227026635, + -0.013267960516869648, + 0.51420681556539305 + ], + [ + 0.033333333333333333, + 0.96448087300074947, + 0.88168674521073398, + -0.31342957733646098, + 0.97071855203666479, + 0.0080726084517385079, + 0.23632646431455667, + -0.042309904150285606, + 0.99966895967551717, + -0.0055778174622947542, + -0.024232802695743492, + -0.0066053226367610253, + 0.98678355528321549, + 0.010160236504018981, + 0.13720983613057963, + -0.085606340219746044, + 0.96509570082281937, + -0.069206385234857129, + 0.018541037397677054, + 0.25190671771164341, + -1.1122917443782072, + 0.99825855391120866, + 0.0047133349460349704, + -0.036710223656704996, + 0.045934774363914598, + 0.97910538880820086, + -0.10739316764293279, + 0.16535376336337654, + -0.049774271385197737, + 0.36437753630237185, + 0.9961867754243986, + -0.062611658465292333, + 0.022113830000356154, + 0.056592112670227297, + -0.21885885875302041, + 0.99261230542398049, + 0.096057477423656529, + 0.021495378118550439, + 0.070934623925377485, + 0.99130068672457861, + 0.12311047692275871, + -0.045582607185398111, + 0.0094331804504918532, + 0.58010461865505969 + ], + [ + 0.033333333333333333, + 0.98788466103495054, + 0.88058591566646083, + -0.32740235565894654, + 0.96901792262165254, + 0.0061846390211744541, + 0.24302146474766589, + -0.043664442628914023, + 0.99961763848493668, + -0.0031568724212292939, + -0.026722192629840179, + -0.006366742288507362, + 0.98700011696775491, + 0.0094287666665424392, + 0.13603527562217857, + -0.085066275639550187, + 0.96080997253702261, + -0.064181484510250908, + 0.020120042371702986, + 0.26892399969959396, + -0.97966842292913237, + 0.99682773303233718, + 0.0048789964939247648, + -0.048483073494929974, + 0.062928988831134153, + 0.98016757323566517, + -0.10118117182407399, + 0.15726714649716381, + -0.065581578802692303, + 0.33400387346159516, + 0.99715812605059861, + -0.061940559226795915, + 0.015155127376871684, + 0.040116840455363165, + -0.20957492440416037, + 0.99160284863299708, + 0.097086481608094855, + 0.022261013042583256, + 0.082476984487821967, + 0.98822324928252414, + 0.13240413441175203, + -0.070540596756606941, + 0.030132689514655111, + 0.65053017556783932 + ], + [ + 0.033333333333333333, + 1.0118137052554008, + 0.87843522828568588, + -0.34153802447768922, + 0.96784851611853739, + 0.0048498886544436357, + 0.24733329254260575, + -0.045518906261228807, + 0.99956408668888264, + -0.00078968232137369089, + -0.028705134860836388, + -0.0068577136330096339, + 0.98716498599353242, + 0.0082856763826750068, + 0.13609187717176949, + -0.083160320845548322, + 0.95826336929192779, + -0.059127659199202286, + 0.018183084724890185, + 0.27911397389022458, + -0.82056100016300093, + 0.99603021523783264, + 0.0088956243670942209, + -0.06116671566068721, + 0.064057092469772287, + 0.9802097378045368, + -0.096004742507407134, + 0.15462815660654106, + -0.077859440748765801, + 0.30011156798116512, + 0.99773193665442306, + -0.061956239337426347, + 0.0084311419785489811, + 0.024926348146396913, + -0.20604370138540073, + 0.9904165857666799, + 0.097686653064506246, + 0.025677140243856485, + 0.094196544099159507, + 0.98495948361649399, + 0.14167877878764693, + -0.085854805556680333, + 0.04910083133710795, + 0.7228330351128408 + ], + [ + 0.033333333333333333, + 1.0365394095483424, + 0.87507557234833355, + -0.35605697443307366, + 0.96733433748335262, + 0.0043593212562247855, + 0.24886222636482863, + -0.048092287662046776, + 0.99953782114688472, + 0.00027854401811905436, + -0.029636331430409092, + -0.0067641976253700479, + 0.98716356941222838, + 0.0072515362716671474, + 0.13688352633993572, + -0.081965862795150446, + 0.9572322506954325, + -0.053007915599953687, + 0.012240314815967167, + 0.28415973290653074, + -0.65147650502271237, + 0.99659238319700927, + 0.0029268770785025075, + -0.061812125934771929, + 0.054537292119216416, + 0.98023045181733959, + -0.091134413997643188, + 0.15162307405468445, + -0.088618414167079662, + 0.26940493385567749, + 0.99795554472054504, + -0.062913754566775767, + 0.0040800101418696612, + 0.010485407244074452, + -0.20660893687005735, + 0.98864755155625705, + 0.10027982604932728, + 0.030030868953730517, + 0.10778739350786197, + 0.9817287247362454, + 0.15070946434422111, + -0.095939013016280883, + 0.065506291043571155, + 0.78961803946848608 + ], + [ + 0.033333333333333333, + 1.0619957267947668, + 0.87051522302306383, + -0.37119506441267519, + 0.96692504062738793, + 0.0050938069933630552, + 0.24984612700167688, + -0.051058121394155026, + 0.99951507253540861, + 0.0012163102999397585, + -0.030577397038099263, + -0.0057587458847813819, + 0.98717183657810048, + 0.0050364353130615382, + 0.13787379351776147, + -0.080356807100450622, + 0.95691257265265151, + -0.046171836552393909, + -0.0050447514925527201, + 0.28663747188921651, + -0.49180788223442051, + 0.99853171036966426, + 0.012944009010537197, + -0.037336844152536963, + 0.037051802732083979, + 0.98100893928897182, + -0.088810246701437293, + 0.14218294164066789, + -0.097561325443859634, + 0.2449098725528463, + 0.99787228031623387, + -0.06497226952144658, + 0.0026490708918761262, + -0.0047432892724353993, + -0.20621757712303002, + 0.98665188882974109, + 0.10479648591685269, + 0.031783170018747947, + 0.1205221013413819, + 0.97870098319971977, + 0.15862846775729467, + -0.10370799432581997, + 0.078905301556932442, + 0.84813193508689888 + ], + [ + 0.033333333333333333, + 1.0898814364358616, + 0.86553376789974945, + -0.38662814595694889, + 0.96613222112506159, + 0.0044285265075082493, + 0.25295043949796964, + -0.050842842315426677, + 0.99942219614365302, + 0.0036656411581778318, + -0.032562727206708185, + -0.009028052235030502, + 0.98722835045478863, + 0.0036803983962380472, + 0.13850423503826761, + -0.078633425478140367, + 0.9581238754812168, + -0.032739975882799935, + -0.038190612438867934, + 0.28190106479683896, + -0.34409454870911571, + 0.9993509264229592, + 0.033188211993805859, + -0.0010421326819845442, + 0.013970769545756807, + 0.98278316227471441, + -0.08793392228711365, + 0.12423251469035924, + -0.10474332224168642, + 0.23316879982041877, + 0.9976618934344883, + -0.063507465426991649, + 0.0060593170155408774, + -0.0245118930532967, + -0.20577735332184777, + 0.98480062210641239, + 0.10764879775962378, + 0.027960175007532478, + 0.13340801944890276, + 0.9756382930964782, + 0.16553002314120155, + -0.11201903471741621, + 0.09045146954937866, + 0.89285716424724204 + ], + [ + 0.033333333333333333, + 1.1200000000000001, + 0.85099999999999998, + -0.40200000000000002, + 0.96496277720318024, + 0.003366335581845474, + 0.257756141255789, + -0.04896200610679171, + 0.99926601290030148, + 0.0092464979742730539, + -0.035085092374251829, + -0.012287149003591643, + 0.98738542540898533, + 0.0013951488588329912, + 0.13853448988841016, + -0.076656835056874165, + 0.96004014367426493, + -0.017722243291289939, + -0.070358493323649934, + 0.27029340917574557, + -0.21432653591513576, + 0.99795776181700313, + 0.050102757538610751, + 0.039248262896422276, + 0.0054399610144057753, + 0.98339771194030678, + -0.087664192969020421, + 0.11507794474270197, + -0.10954905775704037, + 0.21593862268853997, + 0.99711967216645847, + -0.058758575500390792, + 0.017924914092444282, + -0.044480182537819643, + -0.2160306202763366, + 0.98331661236880175, + 0.10814641708849572, + 0.015457479083331218, + 0.14544366143236809, + 0.97342912805810644, + 0.16927290198261205, + -0.11819675219396994, + 0.099055262723475715, + 0.91771073003886194 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left1.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left1.txt new file mode 100644 index 000000000..43be4539a --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_left1.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.86599999999999999, + 0.0, + 0.99714402355187448, + -0.0084582777722180379, + 0.00063657494112741807, + -0.075045643472829104, + 0.99879206507343399, + 0.018001889800448544, + -0.044543903401163834, + -0.010304532000314786, + 0.99823581965548525, + 0.014334810100685073, + 0.0085176081004389257, + -0.056984313002494173, + 0.9587662298669658, + -0.0066990222002466949, + -0.00053066759993308809, + 0.28411645140706571, + -0.11243585580000037, + 0.98550562596160618, + 0.10584945980339176, + 0.13166255830456433, + 0.015476556401544226, + 0.97714398973350325, + -0.13066062029665698, + 0.095300981398538029, + -0.13796792589533149, + 0.22898370720000005, + 0.99784003115309738, + -0.041741175501820792, + 0.034320800401434225, + -0.037350089101857178, + -0.19615406399999957, + 0.98194716252509384, + 0.10132213229767488, + 0.037828379199951218, + 0.15518572499645061, + 0.95516556816398668, + 0.2166675705073953, + -0.14979058720522251, + 0.13519127660136257, + 0.92828303340000018 + ], + [ + 0.033333333333333333, + 0.028693796370928157, + 0.86272487892379413, + -0.0010145781969069291, + 0.99695981229597785, + -0.0092736950675046115, + 0.0058126399261522691, + -0.077144957473917253, + 0.99866540401001203, + 0.020275972011671309, + -0.04669221508246349, + -0.0087254136402946797, + 0.99794831286351915, + 0.012408351876012752, + 0.01138787885217106, + -0.061769845975403428, + 0.95652431352837597, + -0.0019956734789082988, + 0.0011865537159439581, + 0.29164335584188089, + -0.15464161769033968, + 0.98874216755885203, + 0.08242924466553149, + 0.12330806436691438, + 0.019734917708921114, + 0.97627483076139376, + -0.13452224649305422, + 0.091834456932251868, + -0.14268024579538779, + 0.21191545153500913, + 0.99764998613949629, + -0.038857558756999221, + 0.035693379509516635, + -0.043710158344471374, + -0.23021273767253991, + 0.98131255449374521, + 0.10385795985351756, + 0.032555520114085655, + 0.15867996936641671, + 0.956244239726876, + 0.2152108043090761, + -0.14676255358273926, + 0.13319916127244597, + 0.93453098679015667 + ], + [ + 0.033333333333333333, + 0.060303692896705278, + 0.86067760279615424, + -0.0019475304825618536, + 0.99677084696211726, + -0.011761767214395494, + 0.016365389143277627, + -0.077728460145605707, + 0.99843890661455803, + 0.022989149100662572, + -0.050224442376380844, + -0.0082918134286134593, + 0.99769915494586547, + 0.0097591810339021767, + 0.012537797654823286, + -0.065908711380364596, + 0.95706231614630488, + -0.0025800437709292152, + 0.013955227778533058, + 0.28953465769137143, + -0.19841239114888878, + 0.98962580907531883, + 0.080173790686984187, + 0.11651988794900504, + 0.025219774210955309, + 0.9758930850866504, + -0.13728549918354818, + 0.089989621561563135, + -0.14383061636936117, + 0.19821314861120534, + 0.99783825053082997, + -0.032727483426292087, + 0.032813190447801656, + -0.046594335908891012, + -0.28802536194812867, + 0.98096431502086212, + 0.10901712776889354, + 0.02712470272647298, + 0.15839358891909755, + 0.95896667043052886, + 0.20817377611329141, + -0.1441322327436404, + 0.12756372300325744, + 0.92542816009996898 + ], + [ + 0.033333333333333333, + 0.095138634824732629, + 0.85912819264794082, + -0.0025408937755399316, + 0.996379485943378, + -0.016641720915616741, + 0.030170631030756293, + -0.077721979770091182, + 0.9981735695522308, + 0.026636329898449936, + -0.053595104161457185, + -0.008221665696268211, + 0.99745255458123072, + 0.0065038925764610324, + 0.011943596003477415, + -0.070024647483843364, + 0.96020084651011972, + -0.0010889018544052761, + 0.025013320790910305, + 0.27818605722971096, + -0.22733200480471774, + 0.98961573002083347, + 0.088704924426224713, + 0.11196880526328068, + 0.015972787038713483, + 0.97595815407678077, + -0.13878208937246411, + 0.085070723263472814, + -0.14494200634697199, + 0.19664715899687651, + 0.99828855244458181, + -0.021786408199193287, + 0.031445619113535599, + -0.044232245188841363, + -0.37227433675839505, + 0.98188412728780705, + 0.11142471601233378, + 0.016936178147533728, + 0.15231959529747735, + 0.96260167523419315, + 0.19703005357651093, + -0.14431570791676965, + 0.11726103049369808, + 0.9061021665195087 + ], + [ + 0.033333333333333333, + 0.13090981915718591, + 0.8582241064948567, + -0.0024309952341050284, + 0.99555443576306257, + -0.027565066351454861, + 0.043561713348818816, + -0.078828355809602846, + 0.99792162588420719, + 0.032377920975183827, + -0.055475530099821681, + -0.0051540650062689283, + 0.9970034831493737, + 0.0026143929900872016, + 0.012206540789071497, + -0.076342778959600996, + 0.96342878903240203, + 0.0052661934503355429, + 0.041116687467126878, + 0.26473884052370089, + -0.23559308228165735, + 0.99176497801319952, + 0.095528244780936439, + 0.083239330013104879, + -0.018649310296118292, + 0.97587885402815189, + -0.13894658772178167, + 0.08395788180355658, + -0.14596363281391089, + 0.20548433604794419, + 0.99901464434336273, + -0.0024517020162420971, + 0.033762130674447804, + -0.028702753823451332, + -0.49938566970300136, + 0.98427795586651157, + 0.1121219027673398, + 0.002239542934170185, + 0.1364572056086403, + 0.96637740275854289, + 0.18336651745923357, + -0.14663323337331041, + 0.10483382365922658, + 0.87481972872889824 + ], + [ + 0.033333333333333333, + 0.16597483792883452, + 0.85891023083175821, + -0.00059867449133324915, + 0.9950167057773297, + -0.043693246213514149, + 0.046077778499198571, + -0.07687323193371523, + 0.99771717097427171, + 0.043253870553463969, + -0.051778277224940314, + -0.0029256508433730924, + 0.99659798159435986, + -0.0023850630784651612, + 0.01576933372997474, + -0.080858534922866224, + 0.96407893207500517, + 0.026040961243473128, + 0.037005892302435207, + 0.2617331560989819, + -0.30451862921309136, + 0.99393074791188729, + 0.063979175507861502, + 0.089449561880726405, + -0.0026663338119469367, + 0.97629127487698464, + -0.13860821410000815, + 0.090124314458676275, + -0.13971656138923502, + 0.21158053689090822, + 0.99849439643068771, + 0.026096920973721981, + 0.048175957144341058, + -0.0026397282880112278, + -0.66597615569130586, + 0.98964531619744411, + 0.096141268918285436, + -0.024655867744313924, + 0.10368747622069711, + 0.97105381231083399, + 0.16654113131404011, + -0.14439077862433047, + 0.092031778345823656, + 0.83203058278406161 + ], + [ + 0.033333333333333333, + 0.19859037341114527, + 0.86087645915052158, + -0.00083321234140296878, + 0.99488197936134593, + -0.052156068027268986, + 0.045748122995852354, + -0.073462241677896223, + 0.9974843709240454, + 0.051984532591626456, + -0.048097830168710665, + -0.0030227250210989177, + 0.99602003854226118, + -0.0068508556090847751, + 0.025765882161893832, + -0.085048620894846924, + 0.96611077775040322, + 0.039410409365734297, + 0.032681102909644211, + 0.25299946691790753, + -0.35681901517055137, + 0.99480412591646517, + 0.030448163909142987, + 0.09558027562517564, + 0.017380198087338747, + 0.97657883107026411, + -0.13924018930822682, + 0.11021828016676749, + -0.1214820443683987, + 0.20913235415636325, + 0.9968075437950924, + 0.046027224310020723, + 0.056138504203931239, + 0.033236780849762289, + -0.85414126526589307, + 0.99496985633375201, + 0.070092886608854751, + -0.047055923300186528, + 0.05392320758632687, + 0.97673196609851332, + 0.14821637218211711, + -0.13432126297782018, + 0.07735872110207094, + 0.7801804708931005 + ], + [ + 0.033333333333333333, + 0.22768556395254, + 0.86391237616189887, + -0.0029930790181370392, + 0.99420020942145759, + -0.0541655463043417, + 0.061098822393343265, + -0.069992650200065717, + 0.99731069688307417, + 0.054448444294688876, + -0.04901327829680497, + -0.002106975815018744, + 0.99559299325847483, + -0.0054514915021121402, + 0.03116044266164265, + -0.088283066485953132, + 0.97124352410689418, + 0.040916482757900698, + 0.028189310464049974, + 0.23284591706685462, + -0.36390378679301366, + 0.99551721146440653, + 0.017876070267963357, + 0.084737079157461773, + 0.038020457726980393, + 0.97782377049967462, + -0.13871113591111262, + 0.12330502961153865, + -0.097034861222892829, + 0.21830617434377581, + 0.99405607374016192, + 0.058165728545222416, + 0.045532487044576374, + 0.079975389380938872, + -1.0459159891990446, + 0.9975472495967973, + 0.040164340696484974, + -0.057286674970371647, + 0.0021324701922105891, + 0.98115657711442272, + 0.13139943416896971, + -0.12597572399038279, + 0.064777132155439926, + 0.71416119444954895 + ], + [ + 0.033333333333333333, + 0.25672264287829005, + 0.86903345943586197, + -0.0059390653535345405, + 0.99283967024281927, + -0.05549300183772831, + 0.083592256219598399, + -0.064824768717557213, + 0.9972497822078572, + 0.055195723240051946, + -0.049123545976337113, + -0.005760317100610101, + 0.99523525942417868, + -0.00067804698636245652, + 0.027615629798861219, + -0.093507730386232696, + 0.97767727289113449, + 0.040645928891092357, + 0.014316731349419895, + 0.20564554393471096, + -0.35356830791977606, + 0.9954189154044355, + 0.013804097226388114, + 0.077116366044459109, + 0.054805983641559128, + 0.97973377651024474, + -0.13740108109476781, + 0.12661721097177572, + -0.072185538473378788, + 0.24514517662736482, + 0.98926502492302948, + 0.068592957692488327, + 0.031343109130611842, + 0.12516919001519933, + -1.1891916890907106, + 0.99597140908796034, + 0.0093026071533526909, + -0.056802397363574279, + -0.068759737006796356, + 0.98324271944065811, + 0.11746762050204834, + -0.1262461133624459, + 0.059135705469728829, + 0.62197979626507982 + ], + [ + 0.033333333333333333, + 0.28569212055595145, + 0.8744081059307186, + -0.010926294756744328, + 0.99205668419965631, + -0.051744835228038563, + 0.099977671758936099, + -0.056129070112276941, + 0.99760928352522638, + 0.051519075253317961, + -0.045218836774352407, + -0.0087612276595239978, + 0.99431170637010735, + 0.0028299641427717566, + 0.023792349971296544, + -0.10377931374392227, + 0.98476109210527241, + 0.036332050657077654, + 0.0049045992319282821, + 0.17000446605032721, + -0.32266926877974467, + 0.99514762201382712, + 0.012768252416616079, + 0.071857572112252049, + 0.065989934539921691, + 0.98055886670557835, + -0.13661843909347784, + 0.13153632848332303, + -0.050377627116218515, + 0.28714532210098503, + 0.98436176862365399, + 0.071872613793980134, + 0.030650272292791755, + 0.15788222403713151, + -1.2799114809949359, + 0.99591572989955413, + 0.021577339860134142, + -0.040789604767347325, + -0.077604674383198402, + 0.98434233200742194, + 0.10824706677042009, + -0.12867160931969593, + 0.0528806477727915, + 0.52265030253543887 + ], + [ + 0.033333333333333333, + 0.3128880788496759, + 0.87904851381701854, + -0.01708447482184236, + 0.99120725077228555, + -0.045985881279034579, + 0.11330746610376134, + -0.050546046972862704, + 0.99809755059227723, + 0.046510837845425972, + -0.039126977393335621, + -0.010348966357782857, + 0.99323052121079225, + 0.0026353842158481551, + 0.022033774614453282, + -0.11402060893370201, + 0.99014256458201488, + 0.030121533350263806, + -0.0036016106019998951, + 0.1367385221239831, + -0.285581592289261, + 0.99480537117806267, + 0.012460752204541988, + 0.06850398526104623, + 0.074257707567149431, + 0.97964997809360643, + -0.13934738333369701, + 0.14141928479021426, + -0.029475635169956417, + 0.33887200276518931, + 0.97882222250583384, + 0.071631025220106753, + 0.035884693675544761, + 0.18838349639623034, + -1.3220412793502176, + 0.99760876861251391, + 0.033870777372182893, + -0.030608367190565911, + -0.051890683995830307, + 0.98520816540491762, + 0.10327760989119621, + -0.13009117629844799, + 0.042129466694043147, + 0.44255166290062259 + ], + [ + 0.033333333333333333, + 0.33921616783849151, + 0.88246428448620551, + -0.023684665862578048, + 0.9897628378038501, + -0.040693429303319553, + 0.12843008449389989, + -0.047109267781348649, + 0.99845700840656848, + 0.041316103686002761, + -0.035152823234577871, + -0.011868485946050172, + 0.99228727062269662, + -0.0016206473927407299, + 0.024805618148132473, + -0.12144145655613857, + 0.99375910015119306, + 0.024272766004041758, + -0.023284042550861573, + 0.10635571004743391, + -0.25113402768731247, + 0.99393653544980254, + 0.010854234661587154, + 0.073528503098872947, + 0.081030292607109144, + 0.97613172421588856, + -0.14707232842512089, + 0.15952566742968019, + -0.0093887497594152252, + 0.40276035515247027, + 0.97243279105822189, + 0.070931054656323114, + 0.042150236408502857, + 0.2180977073028634, + -1.3197758622481071, + 0.99769304899054001, + 0.04941257070420766, + -0.033027648784013694, + -0.032804759840019154, + 0.98691889910062625, + 0.1012121661509494, + -0.12294186268650635, + 0.025149203172521142, + 0.38737975127624685 + ], + [ + 0.033333333333333333, + 0.36374498550017326, + 0.88409192275853299, + -0.030500969499735318, + 0.98809912764542873, + -0.03611943399934605, + 0.14224776791305666, + -0.046055107834668804, + 0.99879178097911026, + 0.036750892594885627, + -0.030673736804237902, + -0.011111796097860102, + 0.99178175922934086, + -0.0050895720577869216, + 0.030281551199171947, + -0.1242017148560927, + 0.99532506683837219, + 0.018911423070431806, + -0.045833490179058731, + 0.082883415582655412, + -0.23058371613540068, + 0.99254002715037848, + 0.008557070654654806, + 0.081839893946275125, + 0.089962785667183992, + 0.97091808149522008, + -0.15942112588781104, + 0.17835333971050263, + 0.0096472721747627548, + 0.47194462700256434, + 0.96538054539885398, + 0.068825795622012298, + 0.052140447694465415, + 0.24613976951445479, + -1.2777984369718243, + 0.99772312457418244, + 0.060268256838638311, + -0.029789099784727515, + -0.0053771220534801264, + 0.98901895988793653, + 0.10254195918703647, + -0.1062596887037538, + 0.0059600457086911663, + 0.34754103493622024 + ], + [ + 0.033333333333333333, + 0.38791077973172872, + 0.88454850168787025, + -0.037994536090211112, + 0.98623865823154411, + -0.032371824948112277, + 0.15566356713925858, + -0.045323590156274782, + 0.99905699098144574, + 0.032489213150493412, + -0.026430692282294863, + -0.011445449114813889, + 0.99143117653650203, + -0.0080917186074247038, + 0.035786628874253781, + -0.12537170125367977, + 0.9960149706890673, + 0.014290240358291972, + -0.062383296245952298, + 0.062115147454129896, + -0.21819987500656982, + 0.99133912338976038, + 0.0069944951461875775, + 0.084109842848896568, + 0.10061487867311288, + 0.96496423622027128, + -0.17464767414439861, + 0.19360501204815628, + 0.029314024657384169, + 0.53678319389247786, + 0.95927448410361693, + 0.064640495171835746, + 0.064818162962958698, + 0.26723150316118549, + -1.193154422499807, + 0.99755080858493006, + 0.061438474652781905, + -0.010852863359888928, + 0.031621408583161724, + 0.99097565083149297, + 0.1063428874733888, + -0.080373327008321158, + -0.014091772370237638, + 0.3194609627937528 + ], + [ + 0.033333333333333333, + 0.41118811442017433, + 0.88410872853004252, + -0.04607497296652522, + 0.98394449911203885, + -0.029894801046817431, + 0.16976809571146459, + -0.046241942174105065, + 0.99924605423392165, + 0.02909770981650878, + -0.022963076507866258, + -0.011547445547244534, + 0.99114412127529872, + -0.0095753367550499326, + 0.040768647588316588, + -0.12601413079993512, + 0.99633498857063751, + 0.010869188367719301, + -0.071272895528587996, + 0.046028530903622279, + -0.21604487126120522, + 0.9905543327063735, + 0.0054303084246966477, + 0.078472991792116822, + 0.11231480430574717, + 0.9589346626549633, + -0.19125907647561119, + 0.20360817881382445, + 0.04907125375029401, + 0.59389395285033408, + 0.95398242251760246, + 0.057541804231947068, + 0.079311303084131854, + 0.28340112119798666, + -1.0672031030763229, + 0.99677633275606903, + 0.063770461793464628, + 0.017767563468617846, + 0.045327523078138247, + 0.99168191028745112, + 0.11242739196276849, + -0.052064449330554798, + -0.034876402638285189, + 0.30341606759370493 + ], + [ + 0.033333333333333333, + 0.43346536466003066, + 0.8831102284393515, + -0.055359714109339278, + 0.98117998637978132, + -0.028138342030940972, + 0.18463372605602446, + -0.049035244857048681, + 0.99938418803215967, + 0.026169102273780741, + -0.020668461897739247, + -0.01091959157967882, + 0.99070194424381164, + -0.011033103848848284, + 0.045339688629374555, + -0.12779765618345018, + 0.99638499697766381, + 0.0076070343815497531, + -0.077388108795550248, + 0.03420747641652333, + -0.22200193723344219, + 0.98987859162694192, + 0.0051506722970810371, + 0.069273449757223104, + 0.12375392346218135, + 0.95309163424208998, + -0.20765614429506574, + 0.20959768047848881, + 0.067557936708328242, + 0.64204697934345378, + 0.94962588823101135, + 0.046863896780125536, + 0.09660100265094268, + 0.2944192484653082, + -0.91123009022416934, + 0.99624441447603951, + 0.068469547645746615, + 0.043420960833926762, + 0.030390916911777421, + 0.99116941276065496, + 0.1192055737465019, + -0.022990349605064648, + -0.0533354499418775, + 0.28449090384300157 + ], + [ + 0.033333333333333333, + 0.45610870629924705, + 0.8814663150492531, + -0.065305817237452976, + 0.97823465416184574, + -0.029204831865869137, + 0.19873342324497437, + -0.052048685649823317, + 0.99945291895991117, + 0.025375530606018444, + -0.01856353633889123, + -0.010263544590975849, + 0.99037064833558841, + -0.012577462980992712, + 0.048801148840327657, + -0.12894275556297119, + 0.9959663543772902, + 0.0071172981183298964, + -0.086722805166576239, + 0.021897946934467862, + -0.22493723078519529, + 0.98921960307758716, + 0.0036128249090403588, + 0.065771681959053599, + 0.13078841781853068, + 0.94772888843327074, + -0.22305870903639916, + 0.21213175137836554, + 0.083993371221778634, + 0.68166265486841005, + 0.94597072471993204, + 0.035645569492153584, + 0.12003605819778747, + 0.29909885670253555, + -0.73758628403689974, + 0.99616390848602043, + 0.064501384209946278, + 0.057312484433159026, + 0.014571135609666814, + 0.98939494246438131, + 0.12647677741975091, + 0.0053328677342144833, + -0.071223824112075021, + 0.26871891901910711 + ], + [ + 0.033333333333333333, + 0.4797761243967778, + 0.8791746001770202, + -0.076833703631302583, + 0.97522934918745496, + -0.032443538746034721, + 0.21198247202011891, + -0.054208531001006914, + 0.99944321259396696, + 0.026392488876783478, + -0.017174122031263971, + -0.011034077360375559, + 0.98998321178289073, + -0.014145509417922104, + 0.052297680425201755, + -0.13037675242727598, + 0.9954320134834751, + 0.0085583424350767854, + -0.094844337839858184, + 0.006812700398332489, + -0.22237318788089511, + 0.98860956365290187, + 0.0066244072864038526, + 0.06267581876856386, + 0.13667110017780978, + 0.94234369243155947, + -0.23713930247099108, + 0.2147788914120089, + 0.098098646075544166, + 0.71106213513225935, + 0.9423043876191356, + 0.022428266365897641, + 0.1503441291261608, + 0.29825501970435025, + -0.56560374668617375, + 0.99679421526727319, + 0.055670322817622055, + 0.057450903380819034, + 0.0012252623435759073, + 0.98665795050935168, + 0.13313333483946621, + 0.032311249640763741, + -0.087963554941013239, + 0.25781099902963611 + ], + [ + 0.033333333333333333, + 0.50458294544930027, + 0.87617201491875984, + -0.090103110024532349, + 0.97241483644266535, + -0.037130927479650043, + 0.22366272733631409, + -0.054823940857687048, + 0.99938134415400215, + 0.029067943502724271, + -0.015722576575752566, + -0.01203263077144595, + 0.9897060842852734, + -0.015300799758101304, + 0.055895069965651731, + -0.13085676676812921, + 0.99435981680921925, + 0.010917407973657554, + -0.10491073244253005, + -0.011095185291130958, + -0.21716524755128988, + 0.98811795066709662, + 0.010199927821668205, + 0.061674383588663687, + 0.1404106386669054, + 0.93727696890467038, + -0.24946652562701957, + 0.21822055631108178, + 0.10797279729514828, + 0.73677126787314406, + 0.93747132359924679, + 0.0064626417311730031, + 0.18837952287250007, + 0.29260708647136374, + -0.40586149784791575, + 0.99767892324065111, + 0.04773834169812112, + 0.048526755023228528, + -0.0017236299498566495, + 0.98333483934713317, + 0.13882966918830325, + 0.055759394477635095, + -0.10329475594966855, + 0.24624094671952065 + ], + [ + 0.033333333333333333, + 0.53104341599884231, + 0.87284668972465573, + -0.10633275040292919, + 0.97011529911384553, + -0.040689412695202487, + 0.23328880968214785, + -0.052886760128222986, + 0.99932401832532847, + 0.030825188066782246, + -0.013755785167250111, + -0.014563397721630435, + 0.98959699325013317, + -0.016989122772069497, + 0.058377031991300884, + -0.13038896730022079, + 0.99264673168183271, + 0.010506422307562194, + -0.11648379344301442, + -0.031202676756904562, + -0.21907219276917028, + 0.98754466894228388, + 0.015207560564679321, + 0.066311269530784867, + 0.14186991393019929, + 0.93392807703761249, + -0.25774042161995686, + 0.22024638594915716, + 0.11331262710011199, + 0.75644795827844102, + 0.93505938581190873, + -0.011617062485225314, + 0.22001351870689673, + 0.27771035351689782, + -0.25180047307933123, + 0.99805895799536859, + 0.037030109411139447, + 0.050046678265763693, + 0.0015547851173443917, + 0.9793576893746504, + 0.14380486802054529, + 0.080113480112533872, + -0.11730518530993424, + 0.23656104352612045 + ], + [ + 0.033333333333333333, + 0.55818511155927808, + 0.86928799790738265, + -0.12520983492424684, + 0.96867896107298301, + -0.042485311002862784, + 0.23927392917266613, + -0.051029947499779217, + 0.99935885728126395, + 0.02973633357656786, + -0.010779437504504694, + -0.016775832795898313, + 0.98953977810474458, + -0.017919738069595407, + 0.06165217835216185, + -0.12918560074699914, + 0.99133422358201573, + 0.0063436969922260377, + -0.12252397396213718, + -0.046947741884336675, + -0.24011497674278073, + 0.98709384732177252, + 0.021260437624332676, + 0.070267085269830637, + 0.14232451334610402, + 0.93296019287036214, + -0.25986310383104677, + 0.22161317629935637, + 0.11377190284556944, + 0.76991723963092806, + 0.93555450752962377, + -0.02657132672399394, + 0.23808361089978311, + 0.25951478234977388, + -0.12664292569574412, + 0.99792489377927118, + 0.033309938690814778, + 0.054451442207008462, + 0.0084495444623562347, + 0.97482608079469335, + 0.1483372817278476, + 0.10570391793377112, + -0.12859566394517977, + 0.22403209833855506 + ], + [ + 0.033333333333333333, + 0.5871329247717314, + 0.86560468331276597, + -0.14561446889116766, + 0.96778710686763991, + -0.045374241955949475, + 0.24280124923514271, + -0.0487529211180254, + 0.99943011273702054, + 0.028530164262539844, + -0.0077210409598383592, + -0.016305367463368418, + 0.98925833050169598, + -0.01802667150733861, + 0.066330858909647253, + -0.12900857259760809, + 0.99069110332955324, + 0.0026008053405977777, + -0.12257717710300879, + -0.059154114385310722, + -0.27849073817368647, + 0.98746576686007015, + 0.026353698138466861, + 0.071569481327549977, + 0.13818339703591617, + 0.93371468408844216, + -0.25564649048649535, + 0.22532896593473675, + 0.10976619575416281, + 0.77316693720284146, + 0.94054962888351068, + -0.028310914375270266, + 0.23260588248562747, + 0.24588491447709621, + -0.073109185525049747, + 0.99802425610869938, + 0.028355742380421049, + 0.053594652807942567, + 0.016466611161028589, + 0.96968906112685249, + 0.15245739760588617, + 0.12992818644300599, + -0.13992331118793433, + 0.21413822277436634 + ], + [ + 0.033333333333333333, + 0.61661657017044735, + 0.86186800355057991, + -0.16794320724548553, + 0.96662966147488505, + -0.044515283242076625, + 0.24727546490670882, + -0.050003315590047975, + 0.99960609058435335, + 0.024451898518556579, + -0.0055128729513062693, + -0.012624442852121763, + 0.98888136902045642, + -0.015477219752119286, + 0.072181576965638011, + -0.12908878192827694, + 0.99039272344734364, + -0.0074718412218488933, + -0.12336150131823218, + -0.062035191011399676, + -0.34348398269381042, + 0.98782787193530452, + 0.033808214786531197, + 0.076535909690787177, + 0.13113105874856343, + 0.93606792569328701, + -0.24602510787956328, + 0.23066285318765342, + 0.10021543264611117, + 0.77250037931942317, + 0.94736600418428663, + -0.025771136183057888, + 0.20700724447492583, + 0.24286107837739399, + -0.11597093848341147, + 0.99893366067196354, + 0.0089534996126189557, + 0.041840520520983471, + 0.017342066305096892, + 0.96348320733224369, + 0.15610298014235796, + 0.1568323216679697, + -0.15078326054201732, + 0.21171251799742977 + ], + [ + 0.033333333333333333, + 0.64541808432050995, + 0.85812985909309014, + -0.19550824519071464, + 0.96561407001063515, + -0.032636675026537318, + 0.25186733324225979, + -0.055562232551804092, + 0.99990344171324119, + 0.010795183514711659, + -0.0025691276190292168, + -0.0083648578096487281, + 0.98889551851534496, + -0.0088591503167600831, + 0.077209984245211694, + -0.12667196709922118, + 0.98940110558845074, + -0.035705343542070958, + -0.13071061644200049, + -0.052204553941647115, + -0.44770663627043039, + 0.98786713657676672, + 0.042845557819609574, + 0.093579074842150389, + 0.11630019517796818, + 0.93896331684918943, + -0.23329593772963403, + 0.23808537619742431, + 0.085066143037933958, + 0.7696042627461952, + 0.95764057132632785, + -0.036318038834278456, + 0.16041650640010571, + 0.23637275790454598, + -0.15093956078127149, + 0.99676506046700131, + 0.03974813025684918, + 0.069617754285237199, + 0.0057331197074645176, + 0.95814338264374133, + 0.1586086089699231, + 0.17574148354533103, + -0.1609953366340815, + 0.21370178403002632 + ], + [ + 0.033333333333333333, + 0.67158803989980997, + 0.85627372097997156, + -0.22450676906122924, + 0.96424255893866551, + -0.015326489696852802, + 0.25732459955557585, + -0.061525902744689387, + 0.99996042874995195, + -0.0088920860973176891, + -7.9211566758784704e-05, + -0.0002558604655902145, + 0.98886620339327369, + -0.0034786830282421497, + 0.082077328502541735, + -0.12407595535335397, + 0.98809650079832256, + -0.072684957626694219, + -0.13321745151989228, + -0.025205409250025228, + -0.60549891935939648, + 0.98906507087893047, + 0.053524990760306201, + 0.11270795951944548, + 0.078627455715725436, + 0.94276404989547569, + -0.21571214384318485, + 0.24503807787195431, + 0.067974683640868797, + 0.75848444769713619, + 0.96550881913123288, + -0.050246404772273927, + 0.10735220701863549, + 0.23182649252296647, + -0.19697271960656879, + 0.99181120108022236, + 0.050323540201992208, + 0.11522620915213591, + -0.022383106079661753, + 0.95451310095723829, + 0.16046162184252238, + 0.18830651643961127, + -0.1664255505715479, + 0.21595997572785763 + ], + [ + 0.033333333333333333, + 0.69457428028954049, + 0.85748974275517054, + -0.2507379146831783, + 0.96103950298391772, + 0.00038331882404237715, + 0.26785246793014034, + -0.068249411681249247, + 0.99966064357271822, + -0.025662557591703185, + 0.0013579291903362684, + 0.0042646052508288476, + 0.98901975994812363, + -0.0012679227466982027, + 0.086263046020220682, + -0.11998747307689102, + 0.98751202627450818, + -0.10285274377515195, + -0.11830500536832909, + 0.015660037226575052, + -0.79405648842066168, + 0.99089176760324948, + 0.063426318206936547, + 0.11602444155888088, + 0.025474222574399928, + 0.94920931664789521, + -0.19342870540761112, + 0.24252409791162841, + 0.052621963525910698, + 0.73119324256347706, + 0.96235173307711241, + -0.073846239380516154, + 0.11919591143295843, + 0.23284803943881491, + -0.28057021461235282, + 0.99219703791199521, + 0.082639640260114763, + 0.092203792131915874, + -0.014635181339363937, + 0.95586598376255671, + 0.15948452382960793, + 0.19072386667385099, + -0.15655450943827212, + 0.20218173897887615 + ], + [ + 0.033333333333333333, + 0.71669248227342286, + 0.86050972714732277, + -0.27333069140504662, + 0.95854636313877717, + 0.0020553031058821538, + 0.27714466023866219, + -0.066147431875794194, + 0.99955225376484635, + -0.029701005211284142, + 0.0017255215775082427, + 0.0031882374975920765, + 0.98809624419398356, + -0.008171454271890019, + 0.095813063475762419, + -0.12007870923779719, + 0.98917858679548865, + -0.10809009414500761, + -0.082062458090545742, + 0.055749510716603376, + -0.97577243861789908, + 0.99216160347731874, + 0.065787715671271452, + 0.10409817296377243, + -0.021234392802157453, + 0.95399219870496033, + -0.1737330406162054, + 0.24080506417720174, + 0.041576874280508484, + 0.68130725570652084, + 0.96316091607677468, + -0.080729133946131015, + 0.13356231666758164, + 0.21900905059116765, + -0.31518795577090597, + 0.99196568771681448, + 0.10425603228849861, + 0.071585415927890986, + 0.0032066104219017569, + 0.96067735481116856, + 0.1518788675389382, + 0.1855113739412878, + -0.14006198515843382, + 0.19543247935663005 + ], + [ + 0.033333333333333333, + 0.73674321818651423, + 0.86576110747800861, + -0.2960748676395808, + 0.95750803812475904, + 0.003294288209817696, + 0.28169544533101221, + -0.06176714880442722, + 0.99957686134573331, + -0.02879246174325073, + 0.0024908221132988718, + 0.0032997294095228297, + 0.98514834027314802, + -0.01870629362048563, + 0.11227303701854641, + -0.12855966472684224, + 0.98859709823146091, + -0.10930737141855389, + -0.039455162313971601, + 0.095765161142660329, + -1.1128009156266474, + 0.98848435592669304, + 0.079148455086407318, + 0.09920841539710902, + -0.082412926534739556, + 0.95483901650863623, + -0.16033585004842715, + 0.24811861357037374, + 0.03181228287916902, + 0.61851256702856117, + 0.96994592348608011, + -0.084046885384180231, + 0.11953494594415823, + 0.19455699233921389, + -0.30222558138906891, + 0.99054797083474488, + 0.10879966120806589, + 0.082189884472611552, + 0.014905505243308453, + 0.96763027480340313, + 0.13804282739313384, + 0.16969361966185181, + -0.1258566825212665, + 0.20963813692695446 + ], + [ + 0.033333333333333333, + 0.75689708161504476, + 0.87111228792155837, + -0.31910973189350139, + 0.95464141261965085, + 0.0038107730977597373, + 0.29247311600330073, + -0.05572008376945034, + 0.99969599046010837, + -0.024597003742413793, + -2.6423858720575568e-05, + 0.001706858710650769, + 0.98139828738659041, + -0.028149104042492011, + 0.12640453934574752, + -0.1417283383415664, + 0.98594561254119906, + -0.1086001291750392, + -0.0079939766724029526, + 0.1267018444652076, + -1.202074729970986, + 0.98870343320424026, + 0.087572830730841933, + 0.097021067814371836, + -0.073371880772504741, + 0.95388075199370215, + -0.15150604964972769, + 0.25844271442495353, + 0.019099509316354187, + 0.56270159058140234, + 0.97777883004006549, + -0.086779653360167908, + 0.09418736983204945, + 0.16597165617143944, + -0.2757346075697088, + 0.98905865992825737, + 0.11036287866257063, + 0.095570428340277028, + 0.021196590789236143, + 0.97487158762989157, + 0.12346132095488845, + 0.14600985345710599, + -0.11429703650350286, + 0.24798149987181733 + ], + [ + 0.033333333333333333, + 0.77701263204155158, + 0.87547203296417786, + -0.34174168468992971, + 0.94918790380497586, + 0.0019296591266786103, + 0.31111116418412016, + -0.047417752013060727, + 0.99982859481879882, + -0.017912009523049322, + -0.0044922875872746258, + -0.0013267440392241148, + 0.97885602913361036, + -0.0298766299652862, + 0.13741725293860571, + -0.14854211458541022, + 0.98313406299110839, + -0.10465521893184131, + 0.011521336549448884, + 0.14953915253550801, + -1.2431574199190334, + 0.99284872592998108, + 0.072090041511459729, + 0.088443823062729923, + -0.035101616716867297, + 0.95378909128920009, + -0.14567457758852534, + 0.26279566282404798, + 0.0019303841575934609, + 0.52365103756835263, + 0.98462340234978651, + -0.087247579095495131, + 0.068183157620905932, + 0.13511355410893622, + -0.24562451341686592, + 0.98802484634273291, + 0.11316034545267922, + 0.10136435863362969, + 0.02696119480368301, + 0.981703807745126, + 0.11083024653078032, + 0.11760443204335844, + -0.10071488408575037, + 0.30357996784371699 + ], + [ + 0.033333333333333333, + 0.79607203464514165, + 0.87833028241339817, + -0.36344632104542196, + 0.94177633695778351, + -0.0015724336489573957, + 0.33370635756234179, + -0.04116947317216544, + 0.99988146894815932, + -0.011628701560024735, + -0.0096458682195791207, + -0.0029628669206618339, + 0.97819984820415662, + -0.029160018628465328, + 0.14222960191861161, + -0.14847723941744687, + 0.97970118433217768, + -0.10052261698741563, + 0.023787878574426571, + 0.17179909698557211, + -1.2428872640159532, + 0.99634248662659464, + 0.054692712236288347, + 0.065159071918024516, + -0.0080406416257876173, + 0.95635477503506316, + -0.13975146916165845, + 0.25599629860597278, + -0.017915530548478574, + 0.49798282023273466, + 0.98914645192013584, + -0.086590748515342569, + 0.050645335962426721, + 0.1073610211883809, + -0.21944130397656245, + 0.98800570131797283, + 0.11663230263281937, + 0.095125823293225886, + 0.034535747979928491, + 0.98747877595646738, + 0.10344485909914937, + 0.080916050577147694, + -0.087392339026200791, + 0.38000087382408376 + ], + [ + 0.033333333333333333, + 0.81332844897741452, + 0.87964231120006542, + -0.38397253836151168, + 0.93279983019658796, + -0.0059450139166742511, + 0.35835218161893673, + -0.037852972455221762, + 0.99986367455365299, + -0.0057991341083237068, + -0.014851908705997062, + -0.0042922208061731129, + 0.97858489908690272, + -0.028045083238087003, + 0.14283729056053623, + -0.14554235469639121, + 0.97588577487634443, + -0.096394534051754258, + 0.033509151719948643, + 0.19295643277680979, + -1.2023197432931343, + 0.99865444297815176, + 0.041469206050610184, + 0.027823705634077784, + 0.013980338848456956, + 0.96167587277078093, + -0.13351853393252155, + 0.23661821838483718, + -0.036934205764471893, + 0.47337806008780969, + 0.99176645173705236, + -0.085174883832222534, + 0.042655731031546587, + 0.085586406532982356, + -0.2045307199305918, + 0.98852563056965126, + 0.12156409134232991, + 0.07775923132800025, + 0.044640243573098336, + 0.99152020406460162, + 0.10124813849069837, + 0.037729653126612882, + -0.072200918683936813, + 0.46768669703540422 + ], + [ + 0.033333333333333333, + 0.82994286836605313, + 0.88004268701028687, + -0.40437036877607074, + 0.92209713547453365, + -0.010426456884766127, + 0.38516393696298318, + -0.035733785269192422, + 0.99977945320294193, + -0.00040308804214444816, + -0.020128671013116935, + -0.0059765438593351507, + 0.97961603215125836, + -0.026597484129742575, + 0.13883096196779093, + -0.14272689791798424, + 0.97254968574458345, + -0.094563356737370874, + 0.037656786486223615, + 0.2092530686804944, + -1.1217069472778043, + 0.99886123335654431, + 0.025167971925942993, + -0.005475766950025736, + 0.040160000782957263, + 0.96825195438865008, + -0.12697039566368881, + 0.20793923161926411, + -0.05592805558175426, + 0.44655986156916333, + 0.99378742918680862, + -0.082832677054025888, + 0.030981755437222369, + 0.067567921622359972, + -0.19821655292902174, + 0.98872508781886392, + 0.12405358769744848, + 0.061808122917095455, + 0.056684777837057082, + 0.99327022133747522, + 0.10369864570987704, + -0.0023119607958785749, + -0.051531671032663165, + 0.54607758060593892 + ], + [ + 0.033333333333333333, + 0.84545822988620212, + 0.87998923943922436, + -0.42393549528354202, + 0.91195908548551508, + -0.016033037049456356, + 0.40835842613617207, + -0.036289997616180146, + 0.99972529582087544, + 0.0042227749688945769, + -0.02237035179890539, + -0.0055739059750207287, + 0.98135215455807301, + -0.026255551104568248, + 0.12955034832527082, + -0.13955393949732939, + 0.96913742416727178, + -0.091234571077379895, + 0.048925862111538078, + 0.22373011897237902, + -1.0032366060267495, + 0.99783823488322487, + 0.014357762366391868, + -0.028772590382195665, + 0.057313608398519233, + 0.97296026942021951, + -0.12068258366942326, + 0.1826900069884374, + -0.073541753277788294, + 0.41184410075927497, + 0.99518415354922019, + -0.079735516112086818, + 0.01075011695858777, + 0.055992704705506192, + -0.19968781502057287, + 0.987725848559173, + 0.12837872256621308, + 0.058051036571258915, + 0.067428694435910388, + 0.99284845986752168, + 0.1092101877883787, + -0.037337237081453992, + -0.030512314711283631, + 0.62685739996129985 + ], + [ + 0.033333333333333333, + 0.86123914214005437, + 0.87943942265239372, + -0.44319481264412774, + 0.90286773782313845, + -0.022524231462446816, + 0.42775353321569121, + -0.036734477220278498, + 0.99966100905980049, + 0.0098810060628129089, + -0.02362386145765339, + -0.0047059382228968995, + 0.98236509854267984, + -0.02585422912230869, + 0.1237135198407405, + -0.13778728900133236, + 0.96666751267075068, + -0.086510620516419154, + 0.063597914732785615, + 0.23243308225476345, + -0.852898854596846, + 0.99671549449026586, + 0.014056713432395524, + -0.045493113843895594, + 0.065505789387586597, + 0.97531469489276346, + -0.11523063216768981, + 0.16613108315504546, + -0.088789698423868468, + 0.37202175938007415, + 0.99603081084194212, + -0.074887061946183581, + -0.0095437205121937808, + 0.047153676478053748, + -0.21038840699451472, + 0.98639978340391754, + 0.13129211950725317, + 0.059059537253204619, + 0.07930837103001849, + 0.99108884787841012, + 0.11622509478808671, + -0.064405472561029839, + -0.0093036582448107127, + 0.70139131138902244 + ], + [ + 0.033333333333333333, + 0.87693569237556501, + 0.8781172631977211, + -0.46298934852853396, + 0.89518919354882653, + -0.027926005786016207, + 0.44314200126603059, + -0.038491722073430858, + 0.99960834046958191, + 0.014159702029909682, + -0.02388631085000106, + -0.0034803241299599746, + 0.98320164251521602, + -0.025681569728605403, + 0.12121014229658973, + -0.13402644715165996, + 0.96436320577427315, + -0.083347082827891661, + 0.074939306384754822, + 0.23966846161190941, + -0.69388113775578508, + 0.99667797100719313, + 0.013306407356727737, + -0.045234281093455654, + 0.066406486476847049, + 0.9751611770887102, + -0.11048853169104936, + 0.16248747799143787, + -0.10222906905425219, + 0.33447356940702827, + 0.99631590276723092, + -0.07138797820866806, + -0.027598514285090484, + 0.038687213257768679, + -0.22007221775612038, + 0.9845031104452916, + 0.13614412550326477, + 0.062649914127239845, + 0.091068056278514151, + 0.98882190466568176, + 0.12367805225225487, + -0.082616439881722431, + 0.010464420943920038, + 0.77218643283823474 + ], + [ + 0.033333333333333333, + 0.89259908768069185, + 0.8756925367194941, + -0.48342260427321804, + 0.88850505396916679, + -0.032656937059161319, + 0.45590259903857355, + -0.040560001516709424, + 0.99954223155317046, + 0.017646206851593002, + -0.024404697570061609, + -0.0028895435578468859, + 0.9838907115526665, + -0.0266170731915828, + 0.12235375599288677, + -0.12759372057250548, + 0.96255978317731294, + -0.079436178713155836, + 0.075980475387901314, + 0.24778120324375777, + -0.5429960270932046, + 0.99821734903245629, + 0.015787182423799, + -0.013355812579910791, + 0.05598670585115214, + 0.97365868670207689, + -0.1068766412100542, + 0.1671772561711512, + -0.1123294725008953, + 0.2997831503236183, + 0.9964010356982651, + -0.068148717206177489, + -0.040514248751806238, + 0.029988732061457687, + -0.23042175238502657, + 0.98303108708900988, + 0.13656528599167822, + 0.063595956894947597, + 0.10466784962550198, + 0.98628973208503967, + 0.13169893264055976, + -0.095479814073982774, + 0.027776980205839887, + 0.83781569472833772 + ], + [ + 0.033333333333333333, + 0.90900000000000003, + 0.86599999999999999, + -0.505, + 0.88281921002378361, + -0.036002257684949156, + 0.46645159070592662, + -0.041916504893416695, + 0.99945437692262584, + 0.020801313769231358, + -0.025469820955523786, + -0.0030890154051855931, + 0.98418256304057927, + -0.028334752979698809, + 0.12762784301691177, + -0.11955316000552288, + 0.96202431351558371, + -0.07224448622727897, + 0.062913815225330114, + 0.25560087298055029, + -0.40719424661774645, + 0.99757382209587842, + 0.04340785136612501, + 0.037988013509492248, + 0.03897613036718376, + 0.97274931717961366, + -0.10569980639816903, + 0.16772328693404207, + -0.12022984602013753, + 0.27926768924075551, + 0.99668589692078768, + -0.065292060056437978, + -0.044507723954528719, + 0.019319220511681744, + -0.243544268376546, + 0.98115145846651552, + 0.14009646920088728, + 0.057957711944512609, + 0.11981526819496427, + 0.98400142307226457, + 0.13934152592017826, + -0.10279291685520077, + 0.041937510541212683, + 0.8963353941472324 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right0.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right0.txt new file mode 100644 index 000000000..0c2a346ad --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right0.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.86199999999999999, + 0.0, + 0.99745599133469354, + 0.039966068033894374, + -0.0023632221130576447, + -0.05898028431330353, + 0.99875334009571726, + -0.0016562663000099891, + -0.049320745600209527, + -0.0075157490000314613, + 0.94121634813930977, + 0.10384925979901313, + -0.31782663369170522, + -0.048097277996756935, + 0.95652629218413121, + 0.036659515401290733, + -0.12737984200101851, + 0.25978434930306366, + -0.099208005300000068, + 0.99918425710886416, + 0.0067657037999371847, + -0.0037665871999624035, + 0.039634056299651152, + 0.98370212206970464, + -0.08353491230186777, + 0.084258743201466563, + -0.1351018788040653, + 0.28545907120000014, + 0.98578402034958335, + -0.047476876101189593, + 0.1477337419063606, + -0.064424785303711166, + -0.22122222800000038, + 0.98982032780814844, + 0.044498213499623615, + -0.00044916509990933722, + 0.13518663359897862, + 0.95987481914293149, + 0.2391850618910544, + -0.10676096539466078, + 0.10016453469914892, + 0.92519729130000006 + ], + [ + 0.033333333333333333, + 0.0334822739218665, + 0.85659193500608855, + 0.00082392872974831649, + 0.99730277192527206, + 0.040941842706913173, + -0.0050975316213655222, + -0.060703886179556084, + 0.99865876356975758, + 0.0026110285538778824, + -0.051579976301418091, + -0.0036554780752910778, + 0.93852585412663592, + 0.10460697702813378, + -0.32645786856540027, + -0.040643099594393259, + 0.95427722347285948, + 0.047166604380876088, + -0.14644307414090882, + 0.25629030069097114, + -0.098916435500515779, + 0.99853947072476745, + 0.015874437524806686, + -0.017255965101445978, + 0.048674010584602717, + 0.98439272971023584, + -0.083954598033294109, + 0.070855474401629773, + -0.13748483883693696, + 0.28818556074407742, + 0.9844072403380737, + -0.041294177043025036, + 0.15553089255585362, + -0.071044476020988331, + -0.27047788188277366, + 0.98873213407850247, + 0.047043162861987751, + -0.0093434253729276721, + 0.14180411937179838, + 0.96043822683913938, + 0.23679658601104389, + -0.10817673789488481, + 0.098911994510401141, + 0.95439241923804607 + ], + [ + 0.033333333333333333, + 0.068842641687387254, + 0.85148888137817602, + 0.0025713603749985769, + 0.99727288317286211, + 0.038375239417478849, + -0.010834384040669, + -0.062102766526116515, + 0.99859933353553809, + 0.0067555424970222877, + -0.052427050246548507, + -0.0022667400371142333, + 0.93572255887116085, + 0.10815855169629286, + -0.3343209767045594, + -0.030895065137926031, + 0.95349606023821543, + 0.054535823422611561, + -0.15306581919947154, + 0.25385421419904342, + -0.14526685863451549, + 0.99920018497982321, + -0.0075668806245842131, + -0.010031753173937711, + 0.037961777910912618, + 0.98540453508437675, + -0.08309308504500984, + 0.05897970267836284, + -0.13636288397074176, + 0.289277672069846, + 0.98305241728525694, + -0.029165834825916215, + 0.16561647555859649, + -0.072996451777255042, + -0.34220945856068907, + 0.98848884135996284, + 0.043922656522344741, + -0.021772244334829292, + 0.14313133873293682, + 0.96247430902634923, + 0.22988286631886323, + -0.1095878510183889, + 0.093742067112085173, + 0.97849544106271769 + ], + [ + 0.033333333333333333, + 0.10640435936268025, + 0.84711769400730619, + 0.0058740134604203373, + 0.99742156476910004, + 0.032700974659449225, + -0.012862663085658773, + -0.062573319300055552, + 0.9984908179648575, + 0.010090774605996245, + -0.053906938627875794, + -0.0028817833872545311, + 0.93167949876809686, + 0.11207846265532415, + -0.34494709286974418, + -0.020572625130475985, + 0.9569762249217505, + 0.057764573545172844, + -0.14331136895329655, + 0.24560458160708548, + -0.17315857466934592, + 0.99971028871865719, + -0.012993081854145249, + -0.020243245284022656, + 0.00085409271234958739, + 0.9867419527068072, + -0.080542382778840182, + 0.051369085920867912, + -0.13120388849541895, + 0.28825812827229025, + 0.9830204646358055, + -0.0091906225083656212, + 0.17146399454529074, + -0.064702373524363907, + -0.45664939707295643, + 0.98941498523733895, + 0.036984834277777136, + -0.039716555208617103, + 0.13458344721251067, + 0.9634689999424183, + 0.22255071253233408, + -0.11984750968986448, + 0.088516896254017985, + 0.98384652776544035 + ], + [ + 0.033333333333333333, + 0.14037371021516065, + 0.84689220799025844, + 0.013077628651901754, + 0.99719088159824665, + 0.014251575929917243, + -0.027376819314310442, + -0.068247695968852704, + 0.99851489428990192, + 0.022522814350320719, + -0.049582680078219948, + 0.00151213465930394, + 0.92725196140138866, + 0.11426638507277855, + -0.35640531148632487, + -0.011056548467440802, + 0.95811685440174021, + 0.074004704803473695, + -0.11211227935349288, + 0.2529154676891664, + -0.25995061765912519, + 0.99867284321193317, + -0.040028623096988597, + -0.031651128212732117, + 0.0069618709276923797, + 0.98823074721478477, + -0.079395347959820076, + 0.053432044352755247, + -0.11933727673251332, + 0.28193095292247433, + 0.98265781726011048, + 0.026000918191729096, + 0.18129146143738467, + -0.028999524835411756, + -0.63443274581031284, + 0.99286893310320301, + 0.024297641110653492, + -0.060825214413570305, + 0.099605218771450635, + 0.96417565938186101, + 0.21120119886332431, + -0.13482548729663082, + 0.08707146162477096, + 0.95427641305930122 + ], + [ + 0.033333333333333333, + 0.17322742843850561, + 0.8489471824621061, + 0.01985094848866719, + 0.996356978949681, + 0.0050186606147752423, + -0.054284278450231628, + -0.065580489911530843, + 0.99853833655491309, + 0.032976647108024872, + -0.042808424285696707, + -0.0010816588351478323, + 0.92658808218742539, + 0.11455650480242516, + -0.35819795167337709, + -0.0023580866561345752, + 0.95960723278279658, + 0.087822007284652476, + -0.091690136046643722, + 0.25106607253706359, + -0.34530046929534569, + 0.99637800853886771, + -0.076912993220157544, + -0.029103512286483703, + 0.021638880438379339, + 0.98974530572029651, + -0.081804661168635912, + 0.063861694220705562, + -0.098152489662680129, + 0.28479760693398976, + 0.98044047379003396, + 0.052662733293001272, + 0.18953237593275604, + 0.0063712125822630999, + -0.82968431209471805, + 0.99630475347308667, + -0.0008234240509366837, + -0.078229916506129232, + 0.035443480969120679, + 0.96735030254516718, + 0.19634653045168068, + -0.1389453459995483, + 0.079847498210191561, + 0.91239715938022181 + ], + [ + 0.033333333333333333, + 0.20326175231434915, + 0.85203136434462579, + 0.025404767854185772, + 0.99568731468872773, + 0.0096284699401652952, + -0.06947251713585853, + -0.060725886550709117, + 0.99853633020697719, + 0.032714006251900199, + -0.042866434824054334, + -0.0041784946103027836, + 0.92632715447035641, + 0.12257269350836932, + -0.35621729999267399, + 0.0017812587922832526, + 0.96488887962973036, + 0.086638511698632986, + -0.082361533433185155, + 0.23387987529512644, + -0.36640885272150936, + 0.99487426529243494, + -0.08741921825608534, + -0.027633860778360518, + 0.042654967785883124, + 0.99109233478026149, + -0.083457545502974156, + 0.074902255982355892, + -0.071836439828144763, + 0.31129062990666978, + 0.98156842734648275, + 0.062228664968452446, + 0.17390746081610267, + 0.049063334225186883, + -1.0258338410426247, + 0.99636057183113691, + -0.014391791520425308, + -0.08050305017816331, + -0.024036350579374567, + 0.96910532566681795, + 0.18886342559668695, + -0.14423764133759803, + 0.066037694216727144, + 0.88194676633563307 + ], + [ + 0.033333333333333333, + 0.23116647148834391, + 0.85698225462887567, + 0.031146310486799104, + 0.99560931957704057, + 0.013968127324445504, + -0.072883467583222297, + -0.057052382451881864, + 0.99845060153703302, + 0.028658569644703927, + -0.0472727943711993, + -0.0063533918968350384, + 0.92467363849764217, + 0.12780995842115223, + -0.3586642974230167, + 0.0017884490400803298, + 0.96945602309340428, + 0.082690408367662685, + -0.088455051018866512, + 0.21329092714215414, + -0.36730825391332467, + 0.99396903966082018, + -0.08996804554762676, + -0.019022972856276583, + 0.059744669049183761, + 0.99165214908262, + -0.084566837183625232, + 0.083812130951229039, + -0.049497393608082689, + 0.37298315983940261, + 0.98303287420279217, + 0.066938806379280791, + 0.13959191017854891, + 0.098385278623473169, + -1.1819668009544795, + 0.99262553065786485, + -0.028822359479680967, + -0.075585969760191316, + -0.090280610629457136, + 0.966980084951784, + 0.18776096314526247, + -0.16356295481527025, + 0.054244777052742811, + 0.84247031907251446 + ], + [ + 0.033333333333333333, + 0.25871253252666998, + 0.8623546915495619, + 0.038194267914069768, + 0.99453134478159588, + 0.01541101589498825, + -0.089021837996548892, + -0.05239291169338671, + 0.99864900368953968, + 0.023921736276587443, + -0.045613387134824566, + -0.006880180047915946, + 0.92369014583394105, + 0.12608485077807977, + -0.36179612202120448, + -0.0016404218846923502, + 0.97578543556028163, + 0.083152541545041592, + -0.077159177587255018, + 0.1870157744605786, + -0.34787406464405157, + 0.99346149542357776, + -0.090625272257338726, + -0.013498304101887269, + 0.068111033800734688, + 0.99080644916684046, + -0.088238375439079461, + 0.096477194869652186, + -0.034766654417020655, + 0.46176552512159386, + 0.98014930603456241, + 0.074019061622000781, + 0.12310470521581879, + 0.13665192260005204, + -1.2898331994321264, + 0.99525686836941973, + -0.013803375794916922, + -0.0565443382822063, + -0.07794851241933444, + 0.96280216055386825, + 0.18920057893049949, + -0.18781016846074214, + 0.044073588325831213, + 0.79124627599239561 + ], + [ + 0.033333333333333333, + 0.28662062073672656, + 0.86801902915933615, + 0.044958710790414053, + 0.99199911524427808, + 0.021715794544975856, + -0.11596984643328764, + -0.044912964053705061, + 0.99897993698404008, + 0.017553123615611885, + -0.040718680326895525, + -0.0085418046766765985, + 0.92509645386205819, + 0.12190252021449609, + -0.35955826287453668, + -0.0073608570047798425, + 0.98309400088362964, + 0.079033695304711452, + -0.053816598806243086, + 0.15615259884493762, + -0.31755585000155023, + 0.99313076040355941, + -0.090839988614559941, + -0.0095141270850933688, + 0.073135973327516257, + 0.98820261000522602, + -0.096311130531574224, + 0.11645042373699993, + -0.024881047527432861, + 0.56926416579768135, + 0.97688487602745777, + 0.075395818411974805, + 0.11522436956737983, + 0.16350765796318806, + -1.3386014400391002, + 0.9977700638086574, + 0.0055459173389237025, + -0.037793609441374998, + -0.054733770686206995, + 0.96081299472213144, + 0.18792896533621425, + -0.20135446383400382, + 0.031264565483469786, + 0.74119373582927195 + ], + [ + 0.033333333333333333, + 0.31361767047524841, + 0.87323590866271672, + 0.052211762400495555, + 0.98865792511377593, + 0.027951181998269011, + -0.1429295703736003, + -0.036679373596628789, + 0.99915373717780809, + 0.010854336212294244, + -0.03827586512791914, + -0.010437960419515314, + 0.92850585663749063, + 0.1179571190578155, + -0.35193341979333087, + -0.0102888427935865, + 0.98923261104973359, + 0.073617304379331033, + -0.034588357330187787, + 0.1216674947093376, + -0.27480301189483669, + 0.99266385214948571, + -0.0942241412702957, + -0.00081013722548617525, + 0.07576035582872602, + 0.98433929694388, + -0.10741287708217814, + 0.13903871348860855, + -0.014382575582612269, + 0.67818532053532465, + 0.97425648408333798, + 0.075195591720172317, + 0.10175062415491908, + 0.18659243471135181, + -1.3418155663033062, + 0.99840321465228676, + 0.027572166912512654, + -0.024136750584326825, + -0.042990857806727005, + 0.96215180655946442, + 0.18401753715121802, + -0.20044777992642746, + 0.014904183229065048, + 0.69613237847135556 + ], + [ + 0.033333333333333333, + 0.33847424669490939, + 0.87719037528588562, + 0.059255259663892723, + 0.98395852674115136, + 0.034917670246522876, + -0.17189644973887297, + -0.032526674055444293, + 0.99929632149478731, + 0.0038082766375886132, + -0.035932777688536956, + -0.010059540925130764, + 0.93296715903858729, + 0.11351480460895756, + -0.34142746152202053, + -0.01067510227991428, + 0.9932013280522044, + 0.066675867429057012, + -0.020121042805578679, + 0.093276976228522629, + -0.23618808497746502, + 0.99241491837824092, + -0.093293890045400799, + 0.015297873698211036, + 0.078580245105368679, + 0.97928888132122849, + -0.12111557271572251, + 0.16224656774129745, + -0.00059684380535483187, + 0.77169954688273701, + 0.97148689337823946, + 0.072782438653432466, + 0.085049204585667185, + 0.20900374498391633, + -1.3039161861155026, + 0.99899243087281175, + 0.038885421659857151, + -0.011692372471932949, + -0.019113750734569144, + 0.96532456268172506, + 0.17906622400271011, + -0.189944613727799, + -0.0021954089698329226, + 0.64790056735790003 + ], + [ + 0.033333333333333333, + 0.36160638119626154, + 0.87967147141906865, + 0.066354218439368257, + 0.97713239922235229, + 0.040816292634266477, + -0.20638127878936469, + -0.030871870867018671, + 0.99937379443672503, + -0.0022435853305933441, + -0.034329087432231224, + -0.0082764167413771558, + 0.93983740515696357, + 0.10839424834533472, + -0.32387322595958534, + -0.0079039420548662857, + 0.99567066919681657, + 0.060295793443982608, + -0.0033845059164978744, + 0.070660320646210542, + -0.20838411782404989, + 0.99152139054032928, + -0.09486795564864102, + 0.033151006916995851, + 0.082379693082753572, + 0.97147516316333615, + -0.13593754298293942, + 0.19331844490796568, + 0.01962066825816227, + 0.83589350833914189, + 0.96865437693086243, + 0.072739450215590987, + 0.071463700733773436, + 0.22651845380111973, + -1.2254525768138396, + 0.99754437988722988, + 0.06918292613202566, + -0.0021679183680247752, + 0.010687984710048273, + 0.97000405305181281, + 0.17392331252845675, + -0.16848868528389435, + -0.021316222777252678, + 0.60009201601253093 + ], + [ + 0.033333333333333333, + 0.38359795796846019, + 0.88084179968476251, + 0.073170589100732528, + 0.96786385127330476, + 0.048775035431546016, + -0.244782927036235, + -0.030690062701646079, + 0.99942920334126795, + -0.0085104856613299022, + -0.032068670652428161, + -0.0063592063209848854, + 0.94800503900215261, + 0.10069601331281672, + -0.30187066010496749, + -0.0045676577392935241, + 0.99683051517189958, + 0.051136089932210665, + 0.020404771279510781, + 0.057425339682069365, + -0.20490704863847423, + 0.98981315983443996, + -0.098175608785802324, + 0.046850504158856825, + 0.091850360468315684, + 0.96261432511887657, + -0.14849678809063724, + 0.22167305655103514, + 0.046727090665007277, + 0.86846033599476169, + 0.96669176417858282, + 0.070815134653427564, + 0.057891283652477851, + 0.23904152160322367, + -1.110903251709205, + 0.99704791944125171, + 0.071255835419329713, + 0.010689443723407611, + 0.026529003928696001, + 0.9739610713899719, + 0.16948535322942637, + -0.14483028308841139, + -0.041215719793849998, + 0.55044164442953281 + ], + [ + 0.033333333333333333, + 0.40381927217221175, + 0.88089970131401996, + 0.080349328265314532, + 0.95695629857326481, + 0.055980387156923619, + -0.28283943674043782, + -0.033206805011461296, + 0.99945536849301508, + -0.011982120811646698, + -0.03058979320224069, + -0.0031080095222831608, + 0.95657256206062768, + 0.090672192595129444, + -0.27703223572865521, + 0.00079206687916960638, + 0.99638572900782418, + 0.043160264052129742, + 0.051227959827379418, + 0.052233770382977981, + -0.21831357361503401, + 0.98831636576859039, + -0.098064406727631323, + 0.053102303059297445, + 0.10389551817533874, + 0.95364397703232928, + -0.15667519833937915, + 0.24490005510748034, + 0.077717503199932911, + 0.87736991688610066, + 0.96511647133459633, + 0.071889557282662664, + 0.040423172884759016, + 0.24849156003029349, + -0.97151149881581134, + 0.99742673984204799, + 0.067916114227008009, + 0.010935080230291242, + 0.020192179097972957, + 0.97702232724913807, + 0.16523617394633777, + -0.12127158207126397, + -0.058460091157870091, + 0.48912806980600437 + ], + [ + 0.033333333333333333, + 0.42315544842108177, + 0.88006856235042352, + 0.087926629924815619, + 0.94555459070548764, + 0.062783294077075363, + -0.31713381812976266, + -0.037562153546459379, + 0.99945965083184884, + -0.014038881277770067, + -0.029616861836929534, + 0.0024814645835981178, + 0.9636969916173832, + 0.081883830875602706, + -0.25402970970306321, + 0.0072147887646416952, + 0.99537458400291534, + 0.035540819781851182, + 0.073435569942597881, + 0.050729722229308577, + -0.23831113856561992, + 0.98557440585785616, + -0.10503758146657993, + 0.063107210465066704, + 0.11673764167955102, + 0.94744335258502055, + -0.15882853685838666, + 0.25699781652885151, + 0.10524595869335515, + 0.88086716754422645, + 0.96363606096554577, + 0.073047092510005282, + 0.021679844360979698, + 0.25612428356390848, + -0.81809433395626052, + 0.99746791789222078, + 0.068549883311358653, + 0.011834495815597082, + 0.014785499063187695, + 0.97953971773779125, + 0.16153650084498603, + -0.09539719851923531, + -0.072851045178553286, + 0.42419375159740097 + ], + [ + 0.033333333333333333, + 0.44245806991556375, + 0.87858735793609832, + 0.096388942026700702, + 0.93497149147998093, + 0.068036050027996453, + -0.34563219097328224, + -0.041686863389999475, + 0.99948315061472381, + -0.012860457281896633, + -0.029170213501858337, + 0.0041399178762160501, + 0.96888114544426929, + 0.074630429572743157, + -0.23557226653586039, + 0.014329418116100596, + 0.99360095448673691, + 0.02930265492613373, + 0.097783092260677967, + 0.048342160949475549, + -0.2570581793186425, + 0.98364512666367587, + -0.10584481204224047, + 0.066308224789779213, + 0.12977811787729085, + 0.94505436844950352, + -0.15715851635726952, + 0.25651682315682822, + 0.12795530801190036, + 0.88485665567257055, + 0.96306217924009707, + 0.075651503633604109, + -0.0012207908846409608, + 0.25843103255009015, + -0.65332697390146488, + 0.99717783784500003, + 0.071884812959548308, + 0.011805514671204869, + 0.018153875616229633, + 0.98184264473975935, + 0.15799819409624397, + -0.064576458847591486, + -0.082773622582714451, + 0.36423628621553916 + ], + [ + 0.033333333333333333, + 0.46220551076198235, + 0.87646850310921098, + 0.10629621110379099, + 0.92570614463045497, + 0.071009843734656783, + -0.36870445558859166, + -0.045637268929231652, + 0.99947305090262861, + -0.012020636704261364, + -0.029343157313209009, + 0.0069356997850348549, + 0.97344775447239784, + 0.069667135691206153, + -0.21719494217061774, + 0.019295507578999307, + 0.99190209674459084, + 0.025248461723243434, + 0.11610273297766055, + 0.044865365811640294, + -0.27663945502950521, + 0.98136578140631792, + -0.10851695655648202, + 0.069834615483100562, + 0.14236713000132145, + 0.94701989100793404, + -0.15177589524731425, + 0.24616719807456314, + 0.13971082366558338, + 0.90388894103629414, + 0.96325939134448946, + 0.07896395082028225, + -0.021408227900182021, + 0.2558079889989161, + -0.47926113843002333, + 0.99729016571781282, + 0.068346064116276542, + 0.01503506105935693, + 0.022695546287602654, + 0.98282955980193654, + 0.15718488855337506, + -0.030771903060429533, + -0.091608171971905517, + 0.31621084273061684 + ], + [ + 0.033333333333333333, + 0.48255463453943637, + 0.87375779337246928, + 0.11779263609512201, + 0.91725512721056657, + 0.07299366934214177, + -0.38843560206711042, + -0.049322802927842573, + 0.99947756417208411, + -0.010581957625449851, + -0.028918948282009187, + 0.00981403687139858, + 0.97705061514146374, + 0.066911459346793711, + -0.20101662152353766, + 0.02207419151480958, + 0.99090570810628986, + 0.021647989761926837, + 0.12668519729773192, + 0.039851009614243184, + -0.29555226321764144, + 0.97807079850040635, + -0.11453666415577436, + 0.076922075570533169, + 0.15601878083989149, + 0.95079869545271456, + -0.14700848173845305, + 0.2336192460068186, + 0.14068544671563118, + 0.93318497307227233, + 0.9643421711453446, + 0.080196779617820999, + -0.030091009792245538, + 0.25041402640286858, + -0.30671292221117913, + 0.99818273757055176, + 0.054056043012626905, + 0.012692696970366475, + 0.023410725610165564, + 0.982001174125398, + 0.15878343625094404, + 0.0055333003874235539, + -0.10213176281404704, + 0.29355241091054834 + ], + [ + 0.033333333333333333, + 0.50410741703270467, + 0.87044544908091315, + 0.13124734048114164, + 0.90986876512185744, + 0.073309100400415356, + -0.40504683787440837, + -0.051977544979066176, + 0.99952903703392026, + -0.0087981864315442668, + -0.027988362987179719, + 0.0089970872429788046, + 0.97762101999145046, + 0.065381138706773187, + -0.198268198624269, + 0.025926229702156696, + 0.99030094649161626, + 0.01907986158012406, + 0.13399656712905003, + 0.031383343631966737, + -0.31094843736130623, + 0.97532715813084248, + -0.11711478698168183, + 0.08445074563774875, + 0.16700039773568837, + 0.95391993115705198, + -0.14636909738692769, + 0.22398806500294621, + 0.13580205818652841, + 0.95892332021475701, + 0.96643410493557003, + 0.075892161456564036, + -0.020059773874391368, + 0.24462850634981759, + -0.15329019493933205, + 0.99952614612815993, + 0.017639693832486508, + -0.010256198361026141, + 0.023046362030997383, + 0.97980365978828465, + 0.16202573202066708, + 0.03630647620331006, + -0.11141943373733679, + 0.28818302330062157 + ], + [ + 0.033333333333333333, + 0.52693909518103732, + 0.86720938759877886, + 0.1462859128903162, + 0.90325767293602721, + 0.07172272002608987, + -0.41967157132816857, + -0.053452782277426551, + 0.999578289671047, + -0.0069557162378066778, + -0.026813120574327973, + 0.0087130588767723397, + 0.97917179777665808, + 0.062809436771055049, + -0.19105977428628773, + 0.027815961982339311, + 0.99047692389815234, + 0.016642022087935224, + 0.13526400675209305, + 0.019548780101279872, + -0.32311135384812545, + 0.97252411965789276, + -0.1187779318090645, + 0.097219037604164768, + 0.17503456323287092, + 0.95662688536743201, + -0.148376075968737, + 0.21696479299368693, + 0.12560183467422817, + 0.97344855381633133, + 0.96830625827209349, + 0.063432513291549031, + 0.0089506907416918146, + 0.24141083568030183, + -0.047281382408942765, + 0.99777158716893033, + -0.037884883445890506, + -0.051780210493118893, + 0.018314072348147088, + 0.97728346203158345, + 0.16521799223697944, + 0.054324815010865231, + -0.12111508723020098, + 0.29418958015484242 + ], + [ + 0.033333333333333333, + 0.55034418250716688, + 0.86416914723819571, + 0.16256554142685301, + 0.89796257180916905, + 0.070196283062631024, + -0.43117450094799625, + -0.053143684538243773, + 0.99961699288733608, + -0.006730858865519977, + -0.025437666727281049, + 0.0085725247904971189, + 0.97996893691521847, + 0.061013489423180016, + -0.18748275872000456, + 0.028079386966254172, + 0.99103540849881089, + 0.013010801117536924, + 0.13285203250261907, + 0.0054658591088681636, + -0.33522653330112778, + 0.9698046325470786, + -0.1218674997181724, + 0.11010411828812773, + 0.18028968450430272, + 0.95891751263877756, + -0.15127556380633636, + 0.21199903016722882, + 0.1124691911497963, + 0.96782501225751705, + 0.96732096142069801, + 0.046483797200017642, + 0.037497696084150003, + 0.24642105628859073, + -0.033779558290310104, + 0.98949458646565591, + -0.091482288433085104, + -0.11060449124995504, + 0.017265595082272569, + 0.97495845342489995, + 0.16918576659305942, + 0.065430145055130368, + -0.12865102640752882, + 0.30684515989328093 + ], + [ + 0.033333333333333333, + 0.57381034380987261, + 0.86145140488004812, + 0.18013420474189404, + 0.89338051738526303, + 0.069973995696415311, + -0.44052865476171027, + -0.053938811782941111, + 0.99966052472124522, + -0.007209395398744046, + -0.023410612157955864, + 0.0088771149828586037, + 0.97989996185688177, + 0.06163238145568091, + -0.1873930591215523, + 0.029687635507893391, + 0.99189875934729155, + 0.0086002959897013981, + 0.12660666084446429, + -0.0057999606902178575, + -0.35434473477036893, + 0.96751667496051674, + -0.1247154824159364, + 0.12352775368668015, + 0.18192972870927113, + 0.96116435074093698, + -0.15356489196056045, + 0.20783808665734896, + 0.096872310576896367, + 0.94436266428904003, + 0.96486845930695042, + 0.034051251278764585, + 0.041953321027029498, + 0.25711726386181316, + -0.088680897675629172, + 0.98185843298436581, + -0.09249653997797555, + -0.16463348322744528, + 0.017152955138600781, + 0.97328670460439137, + 0.17335577054117601, + 0.070584644583022854, + -0.13296080403445082, + 0.32131740034789891 + ], + [ + 0.033333333333333333, + 0.5987268239930581, + 0.85894169652920671, + 0.19986545176260836, + 0.88748180326108428, + 0.071434641627896811, + -0.45223350887637798, + -0.052516609804014354, + 0.9997321079321233, + -0.0089569418836437029, + -0.019284255331423576, + 0.0091434707851413451, + 0.98000517732314196, + 0.063215209055862434, + -0.18635290144424158, + 0.029432734959113294, + 0.992887123106591, + 0.00031077721971479224, + 0.11777116172543256, + -0.017464754578260088, + -0.38146128436147742, + 0.96475009004322965, + -0.12895400681075173, + 0.14110424321866005, + 0.1808804036780163, + 0.96224313279295881, + -0.15521418688145699, + 0.20939747977352807, + 0.078418142339737415, + 0.90464572148644984, + 0.96604009582995265, + 0.029849245825639602, + 0.01086949256672661, + 0.25643207658917866, + -0.14337676135385027, + 0.97575137604779971, + -0.09600089081515982, + -0.19660081268597632, + 0.006418843722563199, + 0.97181494455327933, + 0.1767124245729117, + 0.075178239251178364, + -0.13673574838922795, + 0.34079146519593939 + ], + [ + 0.033333333333333333, + 0.62355800982886733, + 0.85646908989495119, + 0.22109491573392426, + 0.87858772903050053, + 0.073589553143401848, + -0.46877955910333197, + -0.053980598663482544, + 0.99973810278055242, + -0.010674075950719683, + -0.014804262025531768, + 0.013806656989272375, + 0.98090962117638436, + 0.065461931265202486, + -0.18125059215725675, + 0.026062875537359396, + 0.99370280466248062, + -0.0092792473092416367, + 0.11014606418801513, + -0.0183432853977505, + -0.43413870520232861, + 0.96185529406300097, + -0.13111179309150389, + 0.16518956653826072, + 0.17423116283320342, + 0.96005232010779795, + -0.15645171270027472, + 0.22408452732610926, + 0.060071031802518861, + 0.8469623884649633, + 0.96636395170706524, + 0.033730196266031652, + -0.043427037429944582, + 0.25123112689517219, + -0.18091378042473508, + 0.97654611364963884, + -0.094657110845674047, + -0.18942357556597519, + -0.038941344377635842, + 0.97003455044049203, + 0.17827508087609137, + 0.082137553320636381, + -0.14319353625368425, + 0.36906333239371669 + ], + [ + 0.033333333333333333, + 0.64803187762589254, + 0.85684624868370829, + 0.23986064020362804, + 0.87078142303981099, + 0.086210525336577221, + -0.48126783283451641, + -0.051852981483430781, + 0.99956394781616131, + -0.018642360537229546, + -0.012580697184087384, + 0.01913380981750604, + 0.98147384966430729, + 0.071333553195557564, + -0.17618063860770017, + 0.024103717418776219, + 0.99515405004668778, + -0.034159841875128785, + 0.092203682691482144, + -5.2696005322142641e-05, + -0.54439523970572767, + 0.95880705932513599, + -0.11731752083969825, + 0.20524946926132301, + 0.15747468895113695, + 0.9572130135950575, + -0.1533155833110634, + 0.24134955520994916, + 0.044586665251130024, + 0.77791952697858446, + 0.96092674053526939, + 0.023922553628956456, + -0.09912959215948787, + 0.25733409162104098, + -0.26667061884836285, + 0.99020860544091682, + -0.046313933291066596, + -0.13033420930106215, + -0.018839617292615924, + 0.96979388865388039, + 0.17789684626612157, + 0.085282020188026567, + -0.14345557727325167, + 0.3895516142240904 + ], + [ + 0.033333333333333333, + 0.66996026439625889, + 0.85995298571389611, + 0.25870367733624849, + 0.86130092447149531, + 0.098003650360000985, + -0.496557817097596, + -0.044568332927456232, + 0.9993771353640164, + -0.030055484383134979, + -0.0071827017279308585, + 0.017041653851520091, + 0.98096117967884877, + 0.081796718287912268, + -0.17465412083318291, + 0.022812253645733908, + 0.99402899070451722, + -0.059753134208763131, + 0.085810208327587872, + 0.031185521287359019, + -0.69898077178104701, + 0.96044164307356861, + -0.064475042012501926, + 0.24519796551627143, + 0.11520753844393768, + 0.95767338279311931, + -0.13992892736161905, + 0.24926239286749663, + 0.033909389245163429, + 0.68534110755834055, + 0.95925767534040252, + 0.00666502126915539, + -0.11116664621829177, + 0.25965797996708245, + -0.35257121428553051, + 0.99454940277835935, + -0.013274630827084761, + -0.103098747985872, + 0.0081189761275016169, + 0.97210150074613533, + 0.17743009687788885, + 0.076381055040513485, + -0.13305325024182041, + 0.39760480599885473 + ], + [ + 0.033333333333333333, + 0.68670173853247207, + 0.86294600890489237, + 0.27836722488776877, + 0.84483086009880137, + 0.099170149957296172, + -0.52427951474526502, + -0.039459974665935947, + 0.99934954296642375, + -0.034143570633656861, + -0.0018033021591889111, + 0.011465411397206011, + 0.98295894667330386, + 0.087547382756431105, + -0.15891273801356851, + 0.029561911718273028, + 0.98981132990105269, + -0.071056655504363644, + 0.099529476424441696, + 0.072927129593315224, + -0.87452387232600071, + 0.96274052722109182, + 0.02967948346291362, + 0.26328564453730369, + 0.054133860826706875, + 0.95697317995775266, + -0.12319714001228976, + 0.26102239682077555, + 0.029868141761357981, + 0.58806121645706999, + 0.96698270128461372, + 0.0015650378729923371, + -0.084641876527985285, + 0.24037004557679162, + -0.36801189663708345, + 0.99492958813104304, + -0.002687175599700433, + -0.096205996303458788, + 0.029194177911842107, + 0.97443794372735149, + 0.17436875015335085, + 0.069865130439361975, + -0.12322782292591331, + 0.41789303385089138 + ], + [ + 0.033333333333333333, + 0.70120562484099491, + 0.86675159503362265, + 0.29717598844477833, + 0.82635267380890909, + 0.1000822788090014, + -0.55298629293102852, + -0.036482266756092972, + 0.99932298994564939, + -0.035988416765761151, + -0.0028899090283123693, + 0.0070741819731635998, + 0.98708696437918475, + 0.086875638627312665, + -0.12885669841502134, + 0.038831680872231641, + 0.98336717753513236, + -0.080034388392660763, + 0.10855702411074261, + 0.12165057886183599, + -1.0326031888429432, + 0.95929406339301626, + 0.11324035364652585, + 0.25765014258631813, + -0.023407824977459989, + 0.95439905029177285, + -0.10863748179638795, + 0.27617339719722495, + 0.032382171509110567, + 0.50463577212856614, + 0.97511783964152787, + -0.0017852232111421483, + -0.048880240475528587, + 0.21622380507700906, + -0.35390477744859627, + 0.99444660495403614, + 0.0059969049307079499, + -0.095431941076611307, + 0.0439628439593426, + 0.97617455647638007, + 0.16912255124699233, + 0.066554370079343866, + -0.11853823759105259, + 0.45965694661001366 + ], + [ + 0.033333333333333333, + 0.71397944551367565, + 0.87097585940260236, + 0.3155720544754706, + 0.81311161697974776, + 0.09940521352735715, + -0.57249183911695034, + -0.034945614898758498, + 0.99923330992016413, + -0.037511558539596652, + -0.0099523221065313389, + 0.0051600975389431798, + 0.99041373391144027, + 0.084582518809037208, + -0.10084378678371758, + 0.041916152717510959, + 0.97771300891097146, + -0.084889191862040761, + 0.096987502259375954, + 0.16572423394528568, + -1.1514776530924671, + 0.96689536911110963, + 0.11133529112457267, + 0.22831969455214929, + -0.024246963135845873, + 0.95525192516562574, + -0.094828001143821547, + 0.27868715046083609, + 0.028894321837557864, + 0.45178932148478979, + 0.98030180744140083, + -0.0030531353211458597, + -0.030259911804142569, + 0.19514964112044653, + -0.341675289363642, + 0.99426065546447628, + 0.011068664908486825, + -0.091480960320184684, + 0.05435501404093649, + 0.97824575393890778, + 0.16570812308024332, + 0.053535146970146802, + -0.11273886146580285, + 0.50679697428923132 + ], + [ + 0.033333333333333333, + 0.72592637233797797, + 0.87504486065246601, + 0.33520226041208467, + 0.79854963927677691, + 0.096706748162741774, + -0.59337400128272477, + -0.029556269596254334, + 0.9992191451357213, + -0.036735255984639302, + -0.014390897593416416, + 0.0021267412717819868, + 0.99287540218111325, + 0.081577349766480983, + -0.076665176298652951, + 0.040816938786076055, + 0.97255336653980407, + -0.087753163168764678, + 0.080357342994141337, + 0.19995506748490177, + -1.2154949477957633, + 0.97692543155149025, + 0.086242252908514144, + 0.19532852282608396, + 0.0050737729332739501, + 0.96083752156705171, + -0.083467539655344883, + 0.26393731271168552, + 0.012709127873412664, + 0.43032766238725312, + 0.98604353374472442, + -0.0050391470058963649, + -0.014388190870829059, + 0.16578822793290834, + -0.31552144421896389, + 0.99452211723855188, + 0.015246049851555593, + -0.083121759327013295, + 0.061514952764786385, + 0.98072144596482103, + 0.16541470449875953, + 0.030849751334695825, + -0.099356498543608479, + 0.54634912858137885 + ], + [ + 0.033333333333333333, + 0.73574938925717037, + 0.87882632231380153, + 0.35518818301953681, + 0.78147026304630673, + 0.090940988410806667, + -0.61668480744653242, + -0.027088980524096615, + 0.99934983627727314, + -0.0317676932935664, + -0.016773169981946778, + -0.0030625421058279381, + 0.99470044403012103, + 0.078715521221321277, + -0.053123162261831218, + 0.039405875151287309, + 0.96757515204719446, + -0.082825604945841833, + 0.063490463793370713, + 0.23001566319167621, + -1.2240891229560171, + 0.98429898079043776, + 0.064360000640628065, + 0.16329777328249467, + 0.018631800058575523, + 0.9684301412762325, + -0.075872813071455436, + 0.23738752808572988, + -0.0057913050055420781, + 0.41355572788051881, + 0.99077379751841355, + -0.0031098773264108342, + 0.010437535252886015, + 0.13508763330446377, + -0.28287051458143797, + 0.99445271485763098, + 0.019618789641836585, + -0.078937473039672024, + 0.066691651316995421, + 0.98258100993737429, + 0.16883608162643063, + -0.00034006745422025559, + -0.077645481553078294, + 0.57572581335265061 + ], + [ + 0.033333333333333333, + 0.74463807183373609, + 0.88155266103522212, + 0.37483084226100172, + 0.76205448685448862, + 0.086280585679039068, + -0.64123180974185201, + -0.02550266211620798, + 0.99941864255396873, + -0.027432480446086642, + -0.018934993596411594, + -0.0071625379343761841, + 0.99591353268066363, + 0.077198068226611447, + -0.02630810170440347, + 0.038788883334157871, + 0.9623451680347358, + -0.077590270951359591, + 0.042927578519326312, + 0.25696060090285799, + -1.1911758065096554, + 0.98846802263086908, + 0.043581940164266621, + 0.14062949874107331, + 0.035424946175999554, + 0.97349312962453183, + -0.073055456069970701, + 0.21569485226551202, + -0.021207489677045301, + 0.38747125383895159, + 0.99384379907344889, + -0.0019345433334070632, + 0.037376415114450778, + 0.10427734259434032, + -0.24376136826919406, + 0.99446090365151429, + 0.022270482355712166, + -0.075137409242269443, + 0.070042176269854414, + 0.98230256055694609, + 0.17705741022411636, + -0.029247956705441915, + -0.053636834699231958, + 0.6045574822384665 + ], + [ + 0.033333333333333333, + 0.75214982330617453, + 0.88278758866053575, + 0.3935325860990756, + 0.74293711814558261, + 0.083277489346172101, + -0.66369933318951557, + -0.024748603466201408, + 0.99937896155177608, + -0.02474766844466671, + -0.022812207132286055, + -0.010432991900709817, + 0.9960190140174624, + 0.078381631653824793, + 0.0056020775515293227, + 0.042083966805338845, + 0.95750509541712181, + -0.07018514153432745, + 0.018583395092541206, + 0.27912845713916268, + -1.122093174644186, + 0.99102786254844499, + 0.03068251700843173, + 0.1157372564741091, + 0.05939062439925951, + 0.97641321532001057, + -0.073688693315539761, + 0.20054526217971474, + -0.03112566855758166, + 0.35258177025918408, + 0.99423527825771685, + -0.0018779571445879174, + 0.071758209971786363, + 0.079645740918197316, + -0.21846333401820373, + 0.99364483708859797, + 0.023332794493109051, + -0.079917989540389964, + 0.075753768065608212, + 0.97997388369311167, + 0.18930687287768724, + -0.052629652258694724, + -0.032314313606198811, + 0.64822153601446542 + ], + [ + 0.033333333333333333, + 0.75863546305386031, + 0.88258246943040974, + 0.41202185357244342, + 0.72125530956865935, + 0.081286430319794725, + -0.6874899091195209, + -0.023257676662027112, + 0.99932026658900575, + -0.021833031248773265, + -0.026620603570153726, + -0.013178277449243738, + 0.99512454849452958, + 0.076971129065878691, + 0.040587043425828973, + 0.04642488750478746, + 0.95304404310671331, + -0.060817061762855507, + -0.0072833170450918279, + 0.29657257154053002, + -1.0273302988860014, + 0.99317604800798909, + 0.01900616784755798, + 0.090030073472947364, + 0.071656745093805291, + 0.97753793391384691, + -0.078012020946928981, + 0.19223269686669858, + -0.037152423912569711, + 0.31571175285485997, + 0.99291416873373817, + -0.0034957972353619037, + 0.10419286719313102, + 0.057035772595395225, + -0.20198719426548464, + 0.99299586377760918, + 0.026453284849635713, + -0.079237611888356638, + 0.083551415927284059, + 0.97692381873794953, + 0.20377394048683989, + -0.06283295524834101, + -0.012167715302705752, + 0.69240995876931855 + ], + [ + 0.033333333333333333, + 0.76400000000000001, + 0.875, + 0.43099999999999999, + 0.69659478590291724, + 0.080410162021329071, + -0.71260033828106795, + -0.022151026573958774, + 0.99932698689524169, + -0.018265613032515421, + -0.027076902700832146, + -0.016696765661455421, + 0.99360018722626098, + 0.073594460745451493, + 0.070617540327683553, + 0.048535412737437632, + 0.94877442847667948, + -0.047373145780139438, + -0.038169513207750326, + 0.31004186360736385, + -0.91329392238177098, + 0.99509170544816627, + 0.0064939527688945495, + 0.065767179873993567, + 0.073654629027082072, + 0.97967953072350955, + -0.084855908364828703, + 0.17677999679102915, + -0.04214646641780978, + 0.287369339104252, + 0.99092585874666572, + -0.0063867784418070858, + 0.12905870739723338, + 0.037000021260450239, + -0.19313218764560169, + 0.99297187317790125, + 0.028671717770969791, + -0.067698077638195367, + 0.092745684329378547, + 0.97318814174352453, + 0.21918274285519174, + -0.06925641201047078, + 0.0082045962543180126, + 0.73399683158724083 + ], + [ + 0.033333333333333333, + 0.76700000000000002, + 0.87, + 0.45000000000000001, + 0.67024083112990607, + 0.080774008797735636, + -0.73742868278278151, + -0.021253837260314878, + 0.9993602458081835, + -0.014555419800760052, + -0.028060396135581457, + -0.016728808126847707, + 0.99134378473840679, + 0.069215974361449717, + 0.1009701743646995, + 0.047451799149121843, + 0.94466391903911084, + -0.029380448169895781, + -0.075312723599273254, + 0.31792273117074166, + -0.78440933338667496, + 0.99612590379034138, + -0.0034965122179315537, + 0.049570218496481883, + 0.072551716991373541, + 0.9810319144604116, + -0.093123170707110597, + 0.16346918423144857, + -0.046714919397326506, + 0.26804473068239371, + 0.98918031476049184, + -0.010896754378207616, + 0.1450991417760423, + 0.018703066331786491, + -0.18629141302036534, + 0.99326752588715694, + 0.030221199162031552, + -0.04730407748993367, + 0.10133422616293641, + 0.9701142548679863, + 0.23307547245922591, + -0.063285151286889454, + 0.023433870069534721, + 0.77858875725355448 + ], + [ + 0.033333333333333333, + 0.77000000000000002, + 0.86199999999999999, + 0.47099999999999997, + 0.64391053084324679, + 0.08046496306612537, + -0.76063169936956343, + -0.018548204821634814, + 0.99931824501926758, + -0.0099429878952373377, + -0.02842763504057607, + -0.021355367693532443, + 0.98896660627183475, + 0.063382904188718822, + 0.12594749082820805, + 0.04544104631114694, + 0.94136135912074403, + -0.0074134369789497613, + -0.12020841276895186, + 0.31517260351444565, + -0.63977001873917516, + 0.99667491720951018, + -0.0019098905641240528, + 0.043898347766115751, + 0.068617758538547333, + 0.9819602966956742, + -0.10290010221218049, + 0.15064868491261049, + -0.049704309794696873, + 0.25989811771609622, + 0.98819236418613909, + -0.017214061976857362, + 0.15220241445265228, + -0.0037353004228517042, + -0.17216242445906907, + 0.99360456661010876, + 0.027905275055495209, + -0.021887580409952354, + 0.10720165418226051, + 0.96799732054967935, + 0.2434969140197073, + -0.048891664472937808, + 0.036056142563871268, + 0.82465254813380895 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right1.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right1.txt new file mode 100644 index 000000000..37bbf4d20 --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right1.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.85899999999999999, + 0.0, + 0.99827540042335183, + 0.035724071168015056, + -0.0016659582122317701, + -0.046553627485021801, + 0.99911656564655893, + -0.011414055599429972, + -0.038626544498201451, + -0.011991565599484623, + 0.9848748938301588, + 0.061136593398822825, + -0.088026032298290466, + -0.13614396089596012, + 0.95196474854686119, + 0.034066869195646519, + -0.17484783039606611, + 0.24905983649136709, + -0.12433551060000003, + 0.99888779795411919, + 0.016082688700688484, + 0.013370335500540852, + 0.04225811580194317, + 0.98501667340994303, + -0.076061432299521614, + 0.126332378999024, + -0.089425620699001923, + 0.17852100249999994, + 0.99047138971718141, + -0.044501586099542058, + 0.10690451009843259, + -0.074548378298621876, + -0.22014885060000033, + 0.98790529652385495, + 0.061445575898477191, + -0.0012398266996078589, + 0.14235880419690819, + 0.96486945182406192, + 0.20267254979544178, + -0.12970276489674565, + 0.10548919979925969, + 0.59618701929999995 + ], + [ + 0.033333333333333333, + 0.035486335816658103, + 0.85505556482579692, + 0.00090106420061850784, + 0.99815489691314552, + 0.033873928603115284, + 0.0021671471012926157, + -0.050345428816728446, + 0.99908206902713936, + -0.0082772005799823852, + -0.041675674261445042, + -0.0054447657307825428, + 0.98472673300094771, + 0.061053712695358794, + -0.095751961786467402, + -0.1319744948595582, + 0.95154166875673485, + 0.037694675388334709, + -0.17538470720679522, + 0.2497754362322345, + -0.14304479550974591, + 0.99915961045317081, + 0.0050685198286596293, + 0.017557252173988597, + 0.036689587649813851, + 0.98615040696052436, + -0.075581314267601105, + 0.11109909535706398, + -0.097220526618694736, + 0.17621366018537746, + 0.98978683931569622, + -0.036469935009694761, + 0.11064824147436314, + -0.082151830268496401, + -0.25658810930180576, + 0.98756877353965633, + 0.063117793432818231, + -0.0099684695999859973, + 0.14361299138791461, + 0.96694687625522191, + 0.19708299933806622, + -0.12434114657092538, + 0.10349545469057063, + 0.61894933464868662 + ], + [ + 0.033333333333333333, + 0.073201038843707003, + 0.85172809216458867, + 0.0034851696665339871, + 0.99811028150385261, + 0.027482952345487904, + 0.0068503196540739457, + -0.054530967415890842, + 0.99903956616634826, + -0.0027966044255283702, + -0.043727118693151545, + -0.00025165181672740953, + 0.98464916234594635, + 0.061763251438885926, + -0.10598872433651717, + -0.124168104506112, + 0.95432533617525817, + 0.037860267531364067, + -0.15561995612941365, + 0.25221455574711243, + -0.20758784635266248, + 0.99979506180817113, + 0.0041309712153945197, + 0.0068121987460987047, + 0.01861084117004316, + 0.98696824024828178, + -0.075874361451260308, + 0.096207372651068532, + -0.1043116266920997, + 0.17843572908874003, + 0.9897543648740329, + -0.021183108986732823, + 0.11366019076308534, + -0.083779079382355945, + -0.31549169415823647, + 0.98753945446772129, + 0.065639033649535161, + -0.021343405008776715, + 0.1414277278109993, + 0.96935042101957691, + 0.18912348971989934, + -0.12423820758131891, + 0.095691873648274361, + 0.64051077699345904 + ], + [ + 0.033333333333333333, + 0.11150932097135369, + 0.85050673657891396, + 0.0091147619706300441, + 0.99810153360433884, + 0.011591334984842999, + 0.0074200944747615603, + -0.060032589215538633, + 0.99899039418265378, + 0.0092551027873273798, + -0.043524157785557065, + 0.0061792468990943287, + 0.98399322362822339, + 0.062355484540148179, + -0.11824899819532425, + -0.11784016219991676, + 0.95967847282625784, + 0.045642576940262768, + -0.11135009124471397, + 0.25403767662279481, + -0.26741552975868649, + 0.99945648592287772, + -0.0059804642770999433, + -0.031591886072609494, + 0.0072745809568729048, + 0.98701305748556722, + -0.077482681838034237, + 0.089922498443611165, + -0.10823863747219381, + 0.17772309673522574, + 0.99008634820547481, + 0.0064235017434493497, + 0.11878607421045434, + -0.074683534304205268, + -0.40468059965670128, + 0.98896923127447234, + 0.060849295939612871, + -0.03596879054334174, + 0.13016708064207996, + 0.9722263649770132, + 0.17779433140978246, + -0.12535410017275106, + 0.086321611036934531, + 0.64622181190034189 + ], + [ + 0.033333333333333333, + 0.15037518960595725, + 0.85313602667623856, + 0.017410881369379523, + 0.99820632846781288, + -0.0089959244287322916, + -0.0017170305086210847, + -0.059162918764322794, + 0.99876733202941659, + 0.027548843625241341, + -0.040627671174056385, + 0.0073668189013931804, + 0.98313998112440015, + 0.063783923518654181, + -0.12679271684883925, + -0.11528658017900729, + 0.96243423988363508, + 0.066954669134871941, + -0.085608226236597917, + 0.24881446457405326, + -0.3404052819865796, + 0.99810761260157821, + -0.037860032866757647, + -0.045122151096093348, + 0.017657946046110609, + 0.98663711392343589, + -0.081778476169891076, + 0.096121148185352501, + -0.10305440861842308, + 0.17105460125001706, + 0.98926268567492903, + 0.040843339106806549, + 0.12718925736835446, + -0.059279449996769075, + -0.53466900815568685, + 0.99270944313379039, + 0.049752558766412804, + -0.051950412092235512, + 0.096715040674351271, + 0.976979011092872, + 0.16118121656961429, + -0.11712468487742747, + 0.076252445872223212, + 0.62906959885272817 + ], + [ + 0.033333333333333333, + 0.18681810393405965, + 0.85680400547172031, + 0.022845081266140526, + 0.99829275192374367, + -0.013468071782395133, + -0.0063910089745708434, + -0.056474308346980751, + 0.9985455896095965, + 0.034529505808677918, + -0.040552048623581485, + 0.0083636147844423966, + 0.98200362141400654, + 0.072420844434023621, + -0.13221905130408504, + -0.1137639279098917, + 0.96615484900908633, + 0.074625696526518639, + -0.086208152813399067, + 0.2313956947366636, + -0.36941122412590416, + 0.99665931641181305, + -0.060056132025955361, + -0.041759926410716464, + 0.03632597640518432, + 0.98700635850658014, + -0.08696454816563258, + 0.099455908248035185, + -0.09145566108495376, + 0.17924003176881426, + 0.99110538487357469, + 0.055695500508427351, + 0.11631112009232224, + -0.032861080940658975, + -0.69712840988501323, + 0.99690021545188134, + 0.028875786588925118, + -0.057385868867510285, + 0.045420385678505863, + 0.98181482767805206, + 0.14683231577649197, + -0.10373968232258432, + 0.060975351633580248, + 0.60622081858828447 + ], + [ + 0.033333333333333333, + 0.21977298283442567, + 0.86131542420304597, + 0.027938885002636936, + 0.99835796123328835, + -0.016120983135880469, + -0.0027026177296048419, + -0.054901648447492499, + 0.9983500422503454, + 0.035743129338960913, + -0.043657246779249717, + 0.010661456159808963, + 0.98036620395748109, + 0.080021094797520523, + -0.14085547618220293, + -0.11242092934542809, + 0.96920826549616179, + 0.078965438798770424, + -0.10647778341295529, + 0.20751452770517764, + -0.36821586216775259, + 0.99577256015891125, + -0.066412931241095652, + -0.02764056418729581, + 0.05711681197284197, + 0.98784699238489648, + -0.091665433174376643, + 0.097043364664834528, + -0.079613776267653619, + 0.21182949490510963, + 0.99359410811931559, + 0.066559582505255982, + 0.091058264468660541, + 0.0069973394417623897, + -0.87929616071691474, + 0.99851220369941396, + 0.0035255448180238026, + -0.054408499901937211, + -0.00081531312819576847, + 0.98461028265454964, + 0.13787838320236806, + -0.097131893858296653, + 0.045798885706198791, + 0.57590261749141081 + ], + [ + 0.033333333333333333, + 0.25127145736699213, + 0.8660195050149031, + 0.033565297366747779, + 0.99848258195990103, + -0.018381213334309365, + -0.0027751083130900149, + -0.051835926661908838, + 0.99846657845011511, + 0.03401910783267148, + -0.042921040722608238, + 0.0080607867902283935, + 0.97771671978383301, + 0.087657234592539532, + -0.15468034901551098, + -0.11162533183453412, + 0.97349327668972274, + 0.082457674048218715, + -0.11406152553973121, + 0.18028183663922939, + -0.35181377128257574, + 0.99500325269058332, + -0.067312058850589426, + -0.01914524835815665, + 0.07121146911669804, + 0.98858701596967613, + -0.095720982382662759, + 0.094611850666177277, + -0.067689017583284827, + 0.26406031169624017, + 0.9931638251621403, + 0.077573446358040254, + 0.07360347356591547, + 0.046802836329366541, + -1.030183690132761, + 0.99633177379575155, + -0.015524446238564289, + -0.05643476455807353, + -0.062426800681054308, + 0.98530996817294803, + 0.13400211237824239, + -0.099793502620455818, + 0.03534059042990087, + 0.53452512281545173 + ], + [ + 0.033333333333333333, + 0.28086297393385229, + 0.87023348598160732, + 0.038891166358005005, + 0.99856082737383678, + -0.017831711992815916, + -0.011674722545195228, + -0.049213869339613761, + 0.99882903121481026, + 0.028273932219028301, + -0.038459724558744753, + 0.0078740552590618913, + 0.97508221300717923, + 0.091200970908298915, + -0.16708312972570052, + -0.11393106926326244, + 0.97946900221837874, + 0.08420801775477306, + -0.099352022897614162, + 0.15387871517951229, + -0.32466334227080446, + 0.99436233385986406, + -0.065540559220552755, + -0.022619397854757462, + 0.0802268467441523, + 0.98778468503985439, + -0.10066543220098538, + 0.10473385592106127, + -0.056380015824853982, + 0.3283648549750936, + 0.99069505861745466, + 0.082548757065379563, + 0.064213993081316617, + 0.087095158478939297, + -1.1455741764261154, + 0.991169941643958, + -0.021140427631370858, + -0.053793963321981969, + -0.11933749876375367, + 0.98554227699707819, + 0.13355804562004694, + -0.10123382440417338, + 0.024907458683552774, + 0.48691677151329926 + ], + [ + 0.033333333333333333, + 0.31035596196093723, + 0.87387052851341274, + 0.043890237460837818, + 0.9985920954638372, + -0.016273851573144441, + -0.023803651586203237, + -0.0445238677933587, + 0.99913082988416269, + 0.02243672712585414, + -0.034703232269722682, + 0.0054647708916285591, + 0.97356254383405616, + 0.090099876017878458, + -0.17458505428550297, + -0.11652486603747889, + 0.98472432307193436, + 0.084749714849317814, + -0.088846372718972333, + 0.12345774758256976, + -0.29091821065131607, + 0.99381978395516724, + -0.065706207919703968, + -0.019442475361964487, + 0.087332247262490253, + 0.98516136507274898, + -0.10909066331238992, + 0.12486740869482305, + -0.04432202829181528, + 0.39952778564952357, + 0.98763265229596742, + 0.085099212394381896, + 0.058949186050025956, + 0.11774914705732713, + -1.2159919187652111, + 0.99324830365524985, + -0.014299151725598865, + -0.044951297712353261, + -0.10598453840005284, + 0.98702599186697493, + 0.13211193899550649, + -0.090750824032045804, + 0.0095086745325837895, + 0.44925447673892338 + ], + [ + 0.033333333333333333, + 0.33809017166458738, + 0.87645342314565078, + 0.048272460199555008, + 0.99839522138132197, + -0.011941529690701055, + -0.036957873681902551, + -0.041212830095733254, + 0.99935077118985094, + 0.016697411246312483, + -0.031613844755883184, + 0.0044494268925826461, + 0.97306730085494286, + 0.086468861160728522, + -0.17823178529077216, + -0.11788381894266357, + 0.98864606938943944, + 0.081419412668639432, + -0.081992274535317877, + 0.096057772397815461, + -0.2599213734703662, + 0.99326940773353012, + -0.065555283294351674, + -0.01043545687984769, + 0.094918331910061118, + 0.98122524615043627, + -0.12082094415452697, + 0.14731017334860386, + -0.029983805606169894, + 0.47022399895842709, + 0.9838791205315004, + 0.082797721195359358, + 0.05316640235252363, + 0.14933099881774867, + -1.2491690588910658, + 0.99638094074810879, + 0.0028082709745646814, + -0.036500783892388977, + -0.076712628056195498, + 0.9890083728033261, + 0.1299691580855086, + -0.069851365853671979, + -0.0095521285501047205, + 0.41926587575741581 + ], + [ + 0.033333333333333333, + 0.36391389378381384, + 0.87799484186925236, + 0.052509852562273147, + 0.99773797522401242, + -0.0084824455516141033, + -0.053158435516807018, + -0.040263651681849616, + 0.99954329239222084, + 0.011288076711718281, + -0.027809637431432818, + 0.0035227863690488401, + 0.97295350183221063, + 0.082451949555971002, + -0.18179648039477223, + -0.1162462859747838, + 0.99147131910519692, + 0.078902629209898767, + -0.07469153712704385, + 0.071973417156374495, + -0.22844630900959131, + 0.99277461578403015, + -0.065573595269614843, + -0.00033289469638776497, + 0.10049156700643669, + 0.97711602358254757, + -0.1337076494946503, + 0.16477984694976017, + -0.014633624433463102, + 0.54330030090303649, + 0.97897712570600526, + 0.080196801733399395, + 0.048818258288871902, + 0.18107743645684657, + -1.2441325899264808, + 0.99829200873069224, + 0.037176233479031422, + -0.025184088645562243, + -0.037373180863345727, + 0.99036709725571537, + 0.12864921557184031, + -0.043761476800044399, + -0.026595585241121236, + 0.38678583836346225 + ], + [ + 0.033333333333333333, + 0.3889143162560601, + 0.87857870332485188, + 0.055977891412973386, + 0.99659538816230064, + -0.0033815365232354694, + -0.072430403437065985, + -0.039243269006533958, + 0.99971164199690066, + 0.0055325055155573712, + -0.023155172358210286, + 0.0031404190233893306, + 0.97221808383580643, + 0.083381894290948125, + -0.18680214926410188, + -0.11377352151268849, + 0.99323396392679109, + 0.073293148762659827, + -0.072746598503765636, + 0.053125696728236117, + -0.21686661369616067, + 0.99167961280531192, + -0.066062911358019921, + 0.015198843573474506, + 0.10943597417320379, + 0.97315235921435184, + -0.14679305161898817, + 0.17727279471091423, + 0.00080125358550147167, + 0.61543095784183943, + 0.97453264123288474, + 0.074872879929072864, + 0.045170888583378734, + 0.20649400438601623, + -1.1947351886060555, + 0.99828252916183502, + 0.056423134684117103, + 0.001187646721490523, + 0.015716594349054976, + 0.99066927375427649, + 0.12805196501033267, + -0.016585961138574825, + -0.04361181249703671, + 0.35787461541385956 + ], + [ + 0.033333333333333333, + 0.41270802400486639, + 0.87860638474837338, + 0.059232358780287937, + 0.9949110303421459, + 0.0011311985211532487, + -0.092655746594125232, + -0.039568607715215233, + 0.99981306361165856, + 0.00024093828992668311, + -0.019169270994154854, + 0.0025137282594875679, + 0.97170613926898097, + 0.08124203110981161, + -0.19288951689713624, + -0.10945567851561457, + 0.99556035600927051, + 0.068142968722644914, + -0.052148683369171535, + 0.03868627895289322, + -0.20898974954150532, + 0.99065312321549648, + -0.066856698389991698, + 0.014439587859903529, + 0.11801724300375886, + 0.96909611638128867, + -0.15867329494913207, + 0.1879691849884301, + 0.018522639646519592, + 0.67726875950545684, + 0.97051892975074394, + 0.07005907553931337, + 0.041039911786619789, + 0.2269371247076902, + -1.0990915764371627, + 0.99529825856855458, + 0.076930652041107078, + 0.029069856644108431, + 0.051166343445900507, + 0.98995767699303994, + 0.127926670487159, + 0.0096589467786536987, + -0.059373979888004497, + 0.32483883588713258 + ], + [ + 0.033333333333333333, + 0.4358378945100928, + 0.87800903213805392, + 0.06232735975229764, + 0.99294734689612185, + 0.0057448889665516426, + -0.11103618415138336, + -0.041152501161102958, + 0.99984329479542711, + -0.0041444831424333264, + -0.017184080367270829, + 0.00095733695112079132, + 0.97116182993282107, + 0.080503971150793982, + -0.19833434648926368, + -0.10501094092123488, + 0.99693189809784721, + 0.062137613663907361, + -0.038048707103224541, + 0.028600758922650991, + -0.21349225437934308, + 0.98925538379267708, + -0.069225979718005481, + 0.017082599614267443, + 0.12763124288239172, + 0.9648452633770036, + -0.1692747095439521, + 0.19748317080851902, + 0.037684050939150338, + 0.73000108431396549, + 0.96711498575874133, + 0.066480410651468452, + 0.032043355704520847, + 0.24339717064024252, + -0.97127988571216339, + 0.9954098941975672, + 0.070718557994666795, + 0.043639724831354691, + 0.047472123455630025, + 0.98827053419962918, + 0.1274370786031829, + 0.03566730326248102, + -0.076216702289249164, + 0.29735199646590765 + ], + [ + 0.033333333333333333, + 0.45870609364882869, + 0.87679724146114291, + 0.065857968000691797, + 0.99088525375252123, + 0.0078138923638125801, + -0.12682573868095073, + -0.044727944173183258, + 0.99984136038544347, + -0.0062141418485861947, + -0.016668146555189257, + 0.0009007741592141369, + 0.97057225565149996, + 0.078237354186036792, + -0.20374448875784565, + -0.1017673634832508, + 0.99783255945630689, + 0.058859750654552297, + -0.022577594397930938, + 0.018867041977008669, + -0.21205129264355152, + 0.98805568799823118, + -0.070278199088862237, + 0.016987177269091561, + 0.13608221028333106, + 0.96072878329341294, + -0.17860220212129083, + 0.20505725208022407, + 0.05525379370044646, + 0.77532675504896109, + 0.96418239832317088, + 0.068237306762156794, + 0.019851106679729405, + 0.25554237670730001, + -0.82022770065645623, + 0.99638060424659991, + 0.068016762987800183, + 0.037124020552526824, + 0.034945937272555218, + 0.9859451570809934, + 0.12661639656761092, + 0.057148356321850759, + -0.092814334660544937, + 0.27263291529406991 + ], + [ + 0.033333333333333333, + 0.48191886654450417, + 0.87505940855439646, + 0.06964398824232669, + 0.98871743312798299, + 0.0089510967485284688, + -0.14091296062124545, + -0.05001252667848629, + 0.99983234167934742, + -0.0071722731871630393, + -0.01675392923496585, + 0.0017756363679472221, + 0.96964744296998551, + 0.07783722362350276, + -0.2091228820110263, + -0.099964109458124867, + 0.99829105859134371, + 0.056023967730240432, + -0.013594778793923231, + 0.009563439019504006, + -0.20862423248957432, + 0.98658730961408814, + -0.074259251642700363, + 0.021699649829586439, + 0.14373645762705681, + 0.9573100263652129, + -0.18547601627744895, + 0.21057875456491071, + 0.069373978784368157, + 0.81439570176703846, + 0.96209941346693284, + 0.0713007083786001, + 0.0097102211123078468, + 0.26303353245782912, + -0.6526433987840814, + 0.99785417384701158, + 0.057206307905905258, + 0.020182409346789446, + 0.024640544329039626, + 0.9830210890976453, + 0.12673920856316995, + 0.079104654728134466, + -0.10653245985333853, + 0.24501661283440232 + ], + [ + 0.033333333333333333, + 0.50585739117846307, + 0.87295875914061649, + 0.073789542011844456, + 0.98651155297599724, + 0.0094622112175032948, + -0.15344888594371872, + -0.056203752600632602, + 0.9998262550031799, + -0.0074538044581041515, + -0.01667806906324841, + 0.0037071036859235972, + 0.96832411154036968, + 0.079505565362393837, + -0.21486788459756798, + -0.099292861045122499, + 0.99853679437536824, + 0.053026661918169148, + -0.010581339504382692, + 0.00069185162618524206, + -0.20606500608318404, + 0.98529589252768268, + -0.073177314563340687, + 0.031008481638860011, + 0.15124668217130394, + 0.95534994736755918, + -0.18969618256063348, + 0.21240608838437006, + 0.078774932586299098, + 0.84720810370290023, + 0.9610403671030584, + 0.074811394424538658, + 0.0030357945804517666, + 0.26607414758660808, + -0.47793125507581113, + 0.99896673657428936, + 0.043793756126076853, + -0.0048331306013107986, + 0.011144819023873291, + 0.97991835950726036, + 0.12812429081288698, + 0.097157740758216926, + -0.11791754837620051, + 0.22084101851822216 + ], + [ + 0.033333333333333333, + 0.53092382662605875, + 0.87067493908200366, + 0.078243679722867984, + 0.98375314683477655, + 0.0093865992523537913, + -0.16822830655903695, + -0.061974790999477392, + 0.99985486794904055, + -0.0071431425486172323, + -0.014691457839291253, + 0.0048352476351340391, + 0.96742462219019421, + 0.082211453411396518, + -0.21907873641300388, + -0.09661979383039157, + 0.99870843399064879, + 0.049540541408576701, + -0.0090404934724380055, + -0.0067430045725750181, + -0.21303365853801073, + 0.98399244517112583, + -0.071178844099305028, + 0.042553769739763943, + 0.15773907784620425, + 0.95477807619812816, + -0.19112510281436168, + 0.21164664882454165, + 0.084117277220212783, + 0.86920424822427111, + 0.96181004792261338, + 0.077681952209007005, + 0.0055817732442933858, + 0.26240386777550945, + -0.30026375116673404, + 0.99919505027082034, + 0.011416305911853525, + -0.035822833175513311, + -0.013987283399542569, + 0.9764608234998865, + 0.13084193294476498, + 0.11566322714095588, + -0.12659647167492813, + 0.20590941460396744 + ], + [ + 0.033333333333333333, + 0.55943980436409579, + 0.86810926386245513, + 0.083570988013409384, + 0.98066824671993202, + 0.00771959965666668, + -0.18585700056213289, + -0.060723743284175805, + 0.99991919293559339, + -0.0065258826904629127, + -0.010895863160707097, + -0.00054828835942203474, + 0.96710639588620362, + 0.084761390376763834, + -0.22130835577762428, + -0.092430175810717011, + 0.99874492914940372, + 0.045277541249059125, + -0.0053854909878713947, + -0.020724556535949172, + -0.22967432980156771, + 0.9826364958910957, + -0.07118314917383628, + 0.053521584041982213, + 0.16276951882401466, + 0.95551890704511366, + -0.18911488303267965, + 0.2090822833772332, + 0.086624350344517043, + 0.87422559185700977, + 0.96552477800687764, + 0.078364101368153236, + 0.020770198182912012, + 0.2473652553188784, + -0.14763190471834087, + 0.99670896465228964, + -0.027346250087572924, + -0.072054367599615629, + -0.025131464297336013, + 0.97272996049694838, + 0.13424938216621721, + 0.13403334550423734, + -0.13344882776756015, + 0.20144161130360649 + ], + [ + 0.033333333333333333, + 0.5901086100513252, + 0.86549079015157582, + 0.088045088132893953, + 0.97733239478766154, + 0.0086545470679398277, + -0.20367863581096166, + -0.057109563365946352, + 0.99992932624720632, + -0.0080413072974305031, + -0.0074733163866604639, + -0.0045639270306598407, + 0.96728077434845106, + 0.086553490295388932, + -0.22154908455311381, + -0.088274571804252189, + 0.99880569448624068, + 0.036068014437066677, + 0.0010931769186053916, + -0.032940673348470943, + -0.26279060922398811, + 0.98111486558436656, + -0.068258582145183197, + 0.061863694200888275, + 0.17008018647896209, + 0.9557524361067089, + -0.18602332948521105, + 0.2113414775727209, + 0.085248939117780226, + 0.86357456521278086, + 0.96823923374429455, + 0.069936045488442775, + 0.047136841276668125, + 0.23537173571641498, + -0.069630167114277303, + 0.99154371051127976, + -0.068941540880225194, + -0.10920360488915931, + -0.012755656227574698, + 0.96991042803455685, + 0.13719845677747286, + 0.1458103098371146, + -0.13852688761719603, + 0.20026377875720175 + ], + [ + 0.033333333333333333, + 0.62145862966375487, + 0.86353775706562841, + 0.091986214264309904, + 0.9752872402676287, + 0.012865282215938596, + -0.21322215212780138, + -0.05644109607941377, + 0.9998876093902892, + -0.011750105923769147, + -0.0078805133682592413, + -0.0049599503631962772, + 0.96713448094417143, + 0.088910937197680409, + -0.22198784240525241, + -0.086412608106334513, + 0.99899426458679619, + 0.024234890387027381, + 0.0010368909710684886, + -0.037710134814517224, + -0.31183769578007475, + 0.98027058296037217, + -0.067930054850782517, + 0.068690800355965628, + 0.17244322479285357, + 0.95629099206843982, + -0.18092353041207154, + 0.21531857342398883, + 0.080075755198746754, + 0.84069598348748142, + 0.96777232715605166, + 0.058099535828901816, + 0.059266702292485512, + 0.23775749142098582, + -0.10366215302048609, + 0.985482093757168, + -0.0946055823556472, + -0.13975740455652955, + -0.018512010770298667, + 0.96856707829871824, + 0.14042909261199996, + 0.14957295594855191, + -0.14066063995612807, + 0.1974452672568377 + ], + [ + 0.033333333333333333, + 0.65509843619832275, + 0.86172443615753702, + 0.096006523336245653, + 0.9742690767053086, + 0.018696925565755515, + -0.21745916767935491, + -0.056229009793665768, + 0.99982842689470519, + -0.015814062046009925, + -0.0089360326223743361, + -0.003630363044649902, + 0.96554881375035873, + 0.091662864381038309, + -0.22727800536553242, + -0.087510661269375831, + 0.99918771547446195, + 0.010767005966004268, + -0.0020698695644209863, + -0.038777525287723817, + -0.37583163782451096, + 0.98024346305636789, + -0.069613275954542572, + 0.073257429158058773, + 0.17002968570013843, + 0.95803279249830686, + -0.175146279486638, + 0.21644762032145395, + 0.068171672541198047, + 0.80967467835761431, + 0.96845830471306527, + 0.046913869742280498, + 0.044243548341845719, + 0.24068674514443611, + -0.18638733622134762, + 0.98628446073759735, + -0.06443410526206865, + -0.14927919917501412, + -0.028406500669561848, + 0.96875894816763053, + 0.1435570635303319, + 0.14649042118475702, + -0.13942032261046769, + 0.19350783439602842 + ], + [ + 0.033333333333333333, + 0.6896687411017739, + 0.8608653242085893, + 0.099629084836847071, + 0.97283333423250751, + 0.02797355185684286, + -0.22272373507784718, + -0.056629692172462429, + 0.99973764821045841, + -0.021323966168053408, + -0.0082316206582688355, + 0.0014709312777535977, + 0.96260074048005229, + 0.094813584533803535, + -0.23685472412296804, + -0.091159411339362006, + 0.99954631987335563, + -0.0068607139521874401, + -0.00063580584587158353, + -0.029320313480998179, + -0.47239389064993687, + 0.98227440032256796, + -0.06495056028051352, + 0.079019426058788936, + 0.15708073559646502, + 0.96020449478783276, + -0.16785088201907025, + 0.21737422820384664, + 0.050811952407332432, + 0.77046964074065338, + 0.97017509179144779, + 0.038031167167683004, + 0.0027200075314821543, + 0.23938780910971283, + -0.24367487905433205, + 0.99090913217762688, + -0.048244605519774213, + -0.11850979869639354, + -0.041556917813573631, + 0.97002619396073675, + 0.14627703209682311, + 0.14012058775895356, + -0.1342327597759857, + 0.18984809465715155 + ], + [ + 0.033333333333333333, + 0.72383185070850253, + 0.86265327139689563, + 0.10269626491968518, + 0.97092303678659031, + 0.042999265073057277, + -0.22930987151860188, + -0.05363303706116903, + 0.99947509646590549, + -0.031382920454616693, + -0.00605911127332486, + 0.0052849804905636807, + 0.95896112079473317, + 0.0987040307615282, + -0.24777659857578355, + -0.096217671525304665, + 0.99940172343347877, + -0.033918594357543221, + -0.0028835393735072625, + -0.0061163188015641856, + -0.61634902547632209, + 0.98613630538241082, + -0.054902112434685173, + 0.096217254174370562, + 0.12354426435930745, + 0.963068467878618, + -0.15566236087032026, + 0.21711045518744712, + 0.033636376655474164, + 0.71279948386913328, + 0.97057382077052845, + 0.019075420957667566, + -0.023520927808048521, + 0.23889192683143212, + -0.32308106137871789, + 0.99587385818399499, + -0.020318485435183168, + -0.087532096006518789, + -0.012670828861994205, + 0.97306013959442916, + 0.1487720078397067, + 0.12687453340299354, + -0.12216262599332536, + 0.18415611698346929 + ], + [ + 0.033333333333333333, + 0.75619472219285144, + 0.86556885853549481, + 0.10707609854406883, + 0.96769746455958472, + 0.052785078858644044, + -0.24214055717156274, + -0.04629582170653368, + 0.99925723174659198, + -0.038374815859232116, + -0.0023203588321888558, + 0.0026408795500420567, + 0.95755216277389621, + 0.0995779782216238, + -0.2533513091258579, + -0.094821917216124221, + 0.99792251539797672, + -0.058267854395354125, + 0.0010599362981116626, + 0.027466105311467412, + -0.79695655508307894, + 0.9897003130563522, + -0.035072793281563354, + 0.11853458343970893, + 0.072199321578266321, + 0.965968187437518, + -0.14012729348449018, + 0.21615277796281951, + 0.023404680265787285, + 0.62582693565106096, + 0.97363905740912071, + 0.0034453981753855955, + -0.028374814512993146, + 0.22629623289008877, + -0.37280366792203273, + 0.9974592896280301, + 0.00313148745334297, + -0.070226531536329823, + 0.011549614255543917, + 0.97780153872222986, + 0.14829571306170011, + 0.1070596635967536, + -0.1022289625816066, + 0.1687828532740141 + ], + [ + 0.033333333333333333, + 0.78409988125974395, + 0.86829208682218006, + 0.11240162465546991, + 0.96168577186747051, + 0.058103365910426141, + -0.26462357904401679, + -0.041938484372727507, + 0.99920949053206587, + -0.039403039658789739, + 0.00062972807971922284, + 0.0052343040457055474, + 0.95984812361444971, + 0.095668178497587311, + -0.24779131174031907, + -0.090214439214494749, + 0.99434891693000227, + -0.073214144305108225, + 0.018820844369863931, + 0.07453654332612758, + -0.98948624534032148, + 0.99164920191750994, + -0.011111537098305077, + 0.12635507453311834, + 0.023297837225989097, + 0.96626230282628278, + -0.1268086107256361, + 0.22342451240983827, + 0.018390911807445183, + 0.53498378705243332, + 0.97840629102987953, + -0.0056428147856602941, + -0.015209112442892091, + 0.20605332128638182, + -0.38032462971364966, + 0.99774482915061014, + 0.013983476569845043, + -0.057071497120997843, + 0.032443219670809084, + 0.98092938466013968, + 0.14455084606691487, + 0.091028465086845908, + -0.092716847204548994, + 0.20124168439567999 + ], + [ + 0.033333333333333333, + 0.80890691829171713, + 0.87162290890489236, + 0.11842289980669789, + 0.95468710996278816, + 0.06177336151831643, + -0.28836665833771841, + -0.040015549937045092, + 0.99920552939907092, + -0.039407034771913506, + -0.0016794421421296565, + 0.0057074602844885249, + 0.96501789439917751, + 0.09073423581189187, + -0.23079165077560043, + -0.085105674741953782, + 0.98785139810414224, + -0.082286270064070854, + 0.032283881901443198, + 0.12781367685818268, + -1.1504009579490944, + 0.99229476782606441, + 0.011627710739402783, + 0.11654914833868039, + -0.040400323136159086, + 0.96367610704762663, + -0.1157581376182561, + 0.23988529484416329, + 0.019582124456069883, + 0.45304979790438349, + 0.98247562305664526, + -0.011980201432245262, + 0.0068122179279878859, + 0.18588092575625151, + -0.37434466668891192, + 0.99726075474543696, + 0.023173883548040553, + -0.052210047425656977, + 0.046990095910456033, + 0.98360319100068327, + 0.14090301332228419, + 0.07892607324693364, + -0.080260690576353835, + 0.23716319743122916 + ], + [ + 0.033333333333333333, + 0.83262949511516504, + 0.87507741809966899, + 0.12595739009459755, + 0.9496599448452564, + 0.063634275464714854, + -0.30426962759112292, + -0.038944343211107908, + 0.99922377610718316, + -0.038390456073128389, + -0.006864082223150967, + 0.0055590034927891557, + 0.96873946763073604, + 0.087610922205073258, + -0.21700272411898636, + -0.082328536303239649, + 0.98098305373019901, + -0.086084818859201884, + 0.029523374028586302, + 0.17143518495956495, + -1.2544532927698484, + 0.99589526282750573, + 0.023679473073060578, + 0.077165726020537631, + -0.040955570566636762, + 0.96293071341873349, + -0.10594906717504687, + 0.24768003089452381, + 0.013922593713606208, + 0.39911274423797627, + 0.98603532309612851, + -0.016418290433250323, + 0.017919207129125796, + 0.16475340166996999, + -0.35807244488503553, + 0.99682359772139384, + 0.027374458903623843, + -0.046787748276919887, + 0.058346042168139538, + 0.98642467005565893, + 0.14124343114432636, + 0.049889436987069206, + -0.067288242221621816, + 0.27389288473414941 + ], + [ + 0.033333333333333333, + 0.85656932475912173, + 0.87867428257815039, + 0.13506511207322119, + 0.94583911073648697, + 0.062974093860701297, + -0.31659679629987997, + -0.034483455109476868, + 0.99927402628133721, + -0.035870426555351088, + -0.01255041856419341, + 0.0026869856877209069, + 0.97070306095305248, + 0.086635733508590163, + -0.20769316382031455, + -0.084222127960002752, + 0.9752874389983418, + -0.086177925295945257, + 0.019328360722578708, + 0.20251960644717859, + -1.2986136091380283, + 0.99875962898927528, + 0.0045626704848786524, + 0.049127478452316041, + -0.0066989850103316324, + 0.96504565601219827, + -0.09824755021823614, + 0.24296972851925905, + 0.00010821912315996451, + 0.37369674362765676, + 0.99011489846474143, + -0.019957262979268458, + 0.022815128458024206, + 0.13694402289247548, + -0.32963284167174239, + 0.99658007278860194, + 0.030730645161165814, + -0.039504360278320216, + 0.065750980887314209, + 0.9880534085390611, + 0.14347917258689735, + 0.019779997399388356, + -0.052658718281045978, + 0.32000949616856361 + ], + [ + 0.033333333333333333, + 0.87874866430597132, + 0.88176150872905368, + 0.14540139334335592, + 0.94161644329097594, + 0.058388568488911469, + -0.3301450667202519, + -0.030878531606091282, + 0.99926589851585834, + -0.033938433733760334, + -0.017642315427050352, + -0.0021437083210603344, + 0.97143709188364435, + 0.088105590634365835, + -0.20290634856372888, + -0.085885942529333723, + 0.97022845371514155, + -0.080490922728742628, + 0.0087439821637315725, + 0.22825753379838609, + -1.2871723521978187, + 0.99897752227150216, + -0.010377347656773946, + 0.043266789031031642, + 0.0080128408723185128, + 0.96940472643526665, + -0.091379186326077583, + 0.22730672782703301, + -0.015361385221290739, + 0.36191843922164235, + 0.99327114593952226, + -0.01900255402568949, + 0.03508103944032586, + 0.1087228322675387, + -0.30002117099949038, + 0.99605219010511115, + 0.034226495703010881, + -0.037537966873580138, + 0.072797545437338754, + 0.98800037636632587, + 0.15045398332573834, + -0.010184152004673196, + -0.033393685770857537, + 0.36626390790028346 + ], + [ + 0.033333333333333333, + 0.89921782533544059, + 0.88352246153520397, + 0.15671299572736858, + 0.93671239462082279, + 0.053227149644347653, + -0.34482595183535797, + -0.02884134610765603, + 0.99937902158163205, + -0.027871397701991277, + -0.02123605466766286, + -0.0037130034782028986, + 0.97108357535136658, + 0.087945506938777215, + -0.20299535670888033, + -0.089750557918725854, + 0.96586295633672725, + -0.070949225513399952, + -0.00024206515446832872, + 0.24914834613135003, + -1.2322645207677736, + 0.99862971696562652, + -0.013846554349131018, + 0.039497444226623518, + 0.031415175081063944, + 0.97374340145325244, + -0.087935648611065911, + 0.20704110586377003, + -0.035001290152053589, + 0.36079573877000837, + 0.99512801189650391, + -0.015803949432160243, + 0.053142697068104108, + 0.081525019899322759, + -0.26842461584029714, + 0.99539642803034845, + 0.03162087499601246, + -0.041752492549894868, + 0.080267058590563808, + 0.98632666141551506, + 0.15945432007157115, + -0.038504050710281394, + -0.015857959210976161, + 0.41825451099056504 + ], + [ + 0.033333333333333333, + 0.91789308350031318, + 0.88383068453491342, + 0.16726063153501053, + 0.93042373647066934, + 0.051154600816987215, + -0.36164481155906336, + -0.030131506759912843, + 0.99942092817631689, + -0.023619464841342953, + -0.024327089418538714, + -0.0028498989841953871, + 0.97070851751248166, + 0.090644228244107825, + -0.20303071548751345, + -0.091033655772898001, + 0.96095102025307133, + -0.061104338099144909, + -0.0096874039637870109, + 0.26971383120724252, + -1.1426854175749395, + 0.99790615065953381, + -0.017997461619370169, + 0.023828421752439037, + 0.057372573307452573, + 0.97560836893488512, + -0.086621626574101357, + 0.19508644701740399, + -0.051247267868596659, + 0.35363442492817565, + 0.99514887180427358, + -0.014916378403947201, + 0.074732745485643626, + 0.062219300495663564, + -0.2485914585607715, + 0.99451366732565349, + 0.033268675836846513, + -0.044882410725527698, + 0.088438283101875056, + 0.98365059473955163, + 0.17085874346332908, + -0.056910044718009069, + 0.00020990677189695273, + 0.47903059485537031 + ], + [ + 0.033333333333333333, + 0.93575209673016224, + 0.88305001270991612, + 0.17809865951819981, + 0.92322078798916096, + 0.051371910820163784, + -0.37943003709041184, + -0.032513848694464095, + 0.99940802580199506, + -0.022474429199050794, + -0.025957023409406251, + -0.0021750702193558992, + 0.96925364839485362, + 0.094968904134265869, + -0.20827409001041977, + -0.090278323816593259, + 0.95660316784018007, + -0.051260355881725721, + -0.020980493051122425, + 0.28608141167217227, + -1.022573251824975, + 0.99700712272159031, + -0.022593112381079698, + 0.001008119275352392, + 0.073927885204964544, + 0.97679428736866414, + -0.084546156945665765, + 0.18629315848694955, + -0.063401313950253599, + 0.33545361586717337, + 0.99452706941626823, + -0.016145116719264104, + 0.092234594353881705, + 0.046346769129954467, + -0.23501463109620568, + 0.99367188080228641, + 0.035040637898753259, + -0.042904765713711907, + 0.09771145315441121, + 0.98026449799270832, + 0.18482358833167317, + -0.068038097435991415, + 0.01710474988412276, + 0.53556299548250275 + ], + [ + 0.033333333333333333, + 0.95292079718609712, + 0.88143035663098412, + 0.19002679360894556, + 0.91532774394360872, + 0.051838832018418879, + -0.39789208657211761, + -0.034201521974266069, + 0.99939247782642737, + -0.021188696179763183, + -0.027377640040462919, + -0.0040223430945738985, + 0.96713422974228269, + 0.098646679252431105, + -0.21714090944238754, + -0.088147829126997562, + 0.95408485417472921, + -0.04007876397617062, + -0.035112156002749764, + 0.29475908843217502, + -0.87543162260091822, + 0.99707607959238209, + -0.023991164669784588, + -0.01652104749233228, + 0.070645385640034364, + 0.97755360079323705, + -0.082969205731223863, + 0.18042871275399053, + -0.070360131398714082, + 0.30412712387879404, + 0.99387623396675195, + -0.01791560048488464, + 0.10460081811125013, + 0.030785250783278484, + -0.22516867387844741, + 0.99289524128652185, + 0.036398878875354958, + -0.03530843411400577, + 0.10764513889448853, + 0.9764066568788472, + 0.19939357623081608, + -0.074893724946197643, + 0.035541132849730053, + 0.58261206235078922 + ], + [ + 0.033333333333333333, + 0.96899999999999997, + 0.872, + 0.20300000000000001, + 0.90708535624063469, + 0.053813698790719983, + -0.41591130352316585, + -0.036304681763149785, + 0.99937158331579712, + -0.021013642018835179, + -0.028097619153618168, + -0.0050387605499097069, + 0.9633865504172201, + 0.10248356187078941, + -0.23246668420175676, + -0.085689642067905802, + 0.95223255350410041, + -0.027371645043318238, + -0.055730140293087302, + 0.29899516477293731, + -0.71927922763039398, + 0.99798796685947133, + -0.012166089875962969, + -0.023752129322483634, + 0.057513829758387258, + 0.97883177820052114, + -0.080725216851601445, + 0.17262670863538063, + -0.074644549799586402, + 0.26619174196744144, + 0.99336653870778802, + -0.021367690269106378, + 0.11169651551192135, + 0.017036138376033447, + -0.21881771540656392, + 0.99205693503598447, + 0.039344813376398134, + -0.022397583719384606, + 0.11736000831168228, + 0.97263060795843703, + 0.21299624457468422, + -0.076696442440520332, + 0.052344588798178167, + 0.62677393142086146 + ], + [ + 0.033333333333333333, + 0.98599999999999999, + 0.86599999999999999, + 0.218, + 0.8987105507027231, + 0.056652463316356379, + -0.43321696418167394, + -0.037853750157828818, + 0.99941080214554123, + -0.018925075926513896, + -0.028249227495277463, + -0.0046766656820340256, + 0.95876302030446692, + 0.10362818423413257, + -0.25069773516165639, + -0.084766242772750647, + 0.95105127747420504, + -0.012590465131828632, + -0.080389310168703529, + 0.29812833916460668, + -0.56088831225251234, + 0.99852434590982975, + -0.012939269995189068, + -0.022068489640944683, + 0.047902898474996347, + 0.98025601866282741, + -0.079861365957141162, + 0.16386712353151131, + -0.076601996894796895, + 0.22289575162782452, + 0.99218057640906787, + -0.025467345698036332, + 0.12215931094731247, + 0.0024941628945295028, + -0.21213191766421216, + 0.99095493456685602, + 0.042362574876726566, + -0.01340000469968361, + 0.12662610229119547, + 0.96918437604061736, + 0.22439362473887803, + -0.077435959951103583, + 0.065824148469675631, + 0.66280148780608761 + ], + [ + 0.033333333333333333, + 1.002, + 0.85899999999999999, + 0.23300000000000001, + 0.89192970255285187, + 0.060369419908596414, + -0.44634509704485748, + -0.039912318748696655, + 0.99934908553612078, + -0.019093544441214912, + -0.030381795527705577, + -0.0037132599293666496, + 0.95430078778054361, + 0.10159998924599806, + -0.26903703287689607, + -0.081280523912207359, + 0.94868725328583403, + 0.0041740343943210221, + -0.11235223170292517, + 0.29555380038366452, + -0.41480249115128093, + 0.99896707148700692, + -0.017681336266038648, + -0.0092643350007853564, + 0.040820736513613065, + 0.98146555482714604, + -0.079226407674701543, + 0.15696538328931706, + -0.076226041899354099, + 0.18668706812220362, + 0.99148254219611776, + -0.029978454877816241, + 0.1263566422888851, + -0.0098822928989659373, + -0.21068588347326603, + 0.98985045059419674, + 0.041051654438088642, + -0.0031524475658727164, + 0.13601804733455783, + 0.96585909043819462, + 0.23530255085658294, + -0.07619164316845746, + 0.077095787755096901, + 0.70870363905540579 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right2.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right2.txt new file mode 100644 index 000000000..8215c1f50 --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/turn_right2.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.85699999999999998, + 0.0, + 0.99776429811046785, + 0.048580618590632209, + -0.0022319476344911681, + -0.045840455094097177, + 0.99937194334193569, + -0.0056321362997305748, + -0.032594711798634469, + -0.012711516999483826, + 0.97894956094764818, + 0.011954484297717966, + 0.15753394759406703, + -0.12922036519454749, + 0.95567957235214118, + 0.011785302096965993, + -0.13430083599693407, + 0.26172685588956385, + -0.12788201969999954, + 0.99894027116568762, + 0.013353569600390646, + 0.033582713401112886, + 0.028499441801003129, + 0.97807438317739448, + -0.095773372201228113, + 0.147408461602313, + -0.11166336730281665, + 0.15678641739999996, + 0.990046540415081, + -0.052751668099476033, + 0.11230738069854594, + -0.066424103798876338, + -0.23328245330000033, + 0.98692559383861789, + 0.058890204197818347, + 0.017735957400046874, + 0.1489807097947061, + 0.96385210161541091, + 0.2239878632968656, + -0.095023753398212882, + 0.10857738989944317, + 0.75204841219999974 + ], + [ + 0.033333333333333333, + 0.035062090673336439, + 0.85371599730007997, + 0.00087081695720732215, + 0.99780405891450696, + 0.043687500954825036, + 0.0029513900421269221, + -0.049696595163817657, + 0.99930816654570986, + -0.0015007214700345837, + -0.036666822540090252, + -0.0060398869968407475, + 0.97998664295206128, + 0.012595988678291602, + 0.14919541996971306, + -0.13118020950138234, + 0.95777913924891722, + 0.01303984516718173, + -0.11970528517080695, + 0.2610741801860057, + -0.14710957944720093, + 0.99956445547101258, + 0.0052750271854469831, + 0.013019715978111905, + 0.025953043038921472, + 0.97909252444103345, + -0.096270986679406603, + 0.13805779505805324, + -0.11423559397651087, + 0.14518717704332362, + 0.99039689854196211, + -0.041289451695051035, + 0.11296325518169005, + -0.068179670840660511, + -0.29194909123463447, + 0.98618800245162086, + 0.060529894359152903, + 0.010630024925306117, + 0.15380623615263095, + 0.96426136422548658, + 0.22113872698763848, + -0.10080340187262075, + 0.10552894891543778, + 0.7417679498368912 + ], + [ + 0.033333333333333333, + 0.07387741211584925, + 0.85141217711315476, + 0.0045281093133217459, + 0.99807667521717058, + 0.033310974877394567, + 0.0050894113472468982, + -0.052032943721211623, + 0.99920960191363994, + 0.0066585608085309887, + -0.039012185240955781, + -0.0037261795809591354, + 0.98124097263126242, + 0.011696421027469045, + 0.14287568335822717, + -0.12890262398307437, + 0.96077417178127156, + 0.019034153879895002, + -0.10007100962664611, + 0.25794667056659587, + -0.20917018885015681, + 0.99980365072901345, + 0.0015229345371639974, + -0.015160698881779469, + 0.012668617475811437, + 0.97979458932413388, + -0.097707809747103302, + 0.13017671163992728, + -0.11623153785522615, + 0.148601999821315, + 0.99062655125227961, + -0.021181035796597299, + 0.11676000014145839, + -0.06765723940248014, + -0.36861863850457705, + 0.98646699302653618, + 0.063380643946373952, + 0.0022150480829781619, + 0.15119807936649493, + 0.96684584362366455, + 0.21323889334213766, + -0.10142297422835805, + 0.097219696217065665, + 0.72485551474464682 + ], + [ + 0.033333333333333333, + 0.11342588636040607, + 0.8506224688983498, + 0.011086321309475134, + 0.99826324523411569, + 0.016169966747493058, + 0.0052646004112459933, + -0.056403097189310025, + 0.99899424089713251, + 0.020374759508291009, + -0.039827152071208474, + 0.0030288260494977506, + 0.98221428696212765, + 0.01028952914777163, + 0.13690736940220935, + -0.12808431707575779, + 0.96363418661563605, + 0.033259967548211894, + -0.082229217390273709, + 0.25207396682659722, + -0.25080302632709034, + 0.99962208520236262, + 0.0046476609138876969, + -0.02674289669312915, + -0.0043478155630754054, + 0.98006426861981233, + -0.1000510136754053, + 0.12519314918225211, + -0.11743295719288818, + 0.15935661057595135, + 0.99144966079832397, + 0.0086398236170452686, + 0.11979860892607731, + -0.051002125937371287, + -0.49478340361037676, + 0.98878389230786989, + 0.06027764488433103, + -0.0092505735807777087, + 0.1363357866743867, + 0.97129200269396521, + 0.20059186378849997, + -0.099961791031055972, + 0.079764591257435236, + 0.70838924078573129 + ], + [ + 0.033333333333333333, + 0.15220616193904202, + 0.85212643020682632, + 0.019703120201663343, + 0.99836055884325081, + -0.0066634193437184732, + -0.0051280357640222894, + -0.056617105525138052, + 0.99863030258241237, + 0.036792257074255187, + -0.036609487837432973, + 0.0066025740300562205, + 0.98309480455763132, + 0.01045215819297937, + 0.13252527322955976, + -0.12590635248601267, + 0.96412964107437815, + 0.060324048297681183, + -0.078553974020796377, + 0.24626066995017651, + -0.32250284578226401, + 0.99945522186223523, + -0.02463850490508249, + -0.018424503870845571, + 0.011947435936865777, + 0.97996207532258706, + -0.10347172508426518, + 0.13008796034761475, + -0.10974996861107453, + 0.16662513151100039, + 0.99104596550873636, + 0.045775203633076654, + 0.12328235733910139, + -0.023108123033272691, + -0.66576167023484667, + 0.99465486034699468, + 0.042978984515170515, + -0.023900253712910467, + 0.090792585328338699, + 0.97677129138771468, + 0.18429471371273581, + -0.090702551098826925, + 0.061043837055691108, + 0.67763184254103426 + ], + [ + 0.033333333333333333, + 0.18782394603955072, + 0.85442023815173929, + 0.025768936589353333, + 0.99820182827281156, + -0.015779461848455308, + -0.018057748515988018, + -0.054936657480437467, + 0.99847777680136696, + 0.04339677922181738, + -0.033094275102965615, + 0.0079760731178781744, + 0.9840326172849877, + 0.014734125234221645, + 0.13186697097849756, + -0.11863311358046348, + 0.96637874929518475, + 0.074735486990178818, + -0.078656437711414312, + 0.23310916906369336, + -0.36451329547655986, + 0.99815027871964723, + -0.052610927998356018, + -0.0087248490693267507, + 0.029188839575421174, + 0.97893852319549579, + -0.10744962264243019, + 0.14501136209913801, + -0.095423536195079484, + 0.18688673975038914, + 0.9914369406905631, + 0.064584256104847554, + 0.11265952717246101, + 0.0137658067252851, + -0.86069203571371489, + 0.99897002505021726, + 0.014354569309911337, + -0.028716923811045486, + 0.032065147402214444, + 0.98234181598438319, + 0.16799683261637899, + -0.072334585234956048, + 0.039361511381748995, + 0.64011906831249088 + ], + [ + 0.033333333333333333, + 0.22029577692797023, + 0.85753981076205876, + 0.031401696456461077, + 0.99811476701122548, + -0.019596480969747917, + -0.025436979240522149, + -0.052305352449310519, + 0.99854972313139789, + 0.043408231766857645, + -0.031005842840935653, + 0.0072672937746180262, + 0.98542564938186494, + 0.020624922587035042, + 0.12860322558408066, + -0.1094171489209004, + 0.97026274223769926, + 0.082346887706476163, + -0.08520290169317675, + 0.21106791952710346, + -0.3706005481071572, + 0.99711748186599358, + -0.05674647465950753, + -0.00078877002285707978, + 0.050358145446281248, + 0.97914198146044418, + -0.11161144101309878, + 0.15245106851755971, + -0.074716384311267647, + 0.22194716157510272, + 0.99111624944705778, + 0.075278910975349819, + 0.092657032025472083, + 0.058620304166675241, + -1.0540570444105068, + 0.9994282624125439, + 0.00097095652207632697, + -0.026506454400631024, + -0.020966959950901681, + 0.98612848795978036, + 0.1551387845134112, + -0.055662951650131451, + 0.019600984349106725, + 0.59144065596583373 + ], + [ + 0.033333333333333333, + 0.25128059735560804, + 0.86216048643288135, + 0.037044547458376667, + 0.99813308321828775, + -0.023297996376670668, + -0.027066565769069604, + -0.049547477912159153, + 0.99864540612191055, + 0.042132467024339863, + -0.030190714446696524, + 0.0045528908668316373, + 0.98662472330289419, + 0.026350329276877277, + 0.12232957169043812, + -0.10446430684459478, + 0.97517613024860172, + 0.086873242264807818, + -0.084294652685951516, + 0.18541565818537806, + -0.35705196688940893, + 0.99598331726848377, + -0.061922833068072253, + 0.0021322124233826728, + 0.064639369875271052, + 0.97984011985062591, + -0.11684698216400291, + 0.15334280255663815, + -0.052403312818485218, + 0.27183018375466528, + 0.98808374493958462, + 0.085081256506280678, + 0.070032001863327434, + 0.10745795220686738, + -1.2025826898745946, + 0.99334814357444257, + 0.002600307963055863, + -0.032796876375458674, + -0.11034975738858195, + 0.9881841117935467, + 0.14519888009270759, + -0.049073868566081986, + 0.0010962858119581041, + 0.53280302301427973 + ], + [ + 0.033333333333333333, + 0.28177385220741558, + 0.86729905500272619, + 0.041668703686003221, + 0.99810394481155273, + -0.021621278343360219, + -0.033742394162602544, + -0.04671709013403201, + 0.99897611663951458, + 0.03640725504638357, + -0.026807721341880426, + 0.0016050670636048254, + 0.98690217477754127, + 0.033180893255333133, + 0.1176582719039852, + -0.10525994867329837, + 0.98116619188866139, + 0.086113814740934283, + -0.069227540649685781, + 0.15844514009922347, + -0.32989751539674572, + 0.99538478171303346, + -0.060675567980067048, + -0.0026255956740503282, + 0.074301534518133747, + 0.97884211829591972, + -0.12323562375412865, + 0.15991108608304389, + -0.03330965379028631, + 0.34047760244765884, + 0.98348335076085114, + 0.086574995888664089, + 0.053155622142149757, + 0.14979902769299749, + -1.2956801316979369, + 0.9846205522643634, + -0.0011492693708308954, + -0.03966653026023103, + -0.17013998241344502, + 0.98928825144796806, + 0.1377890189580499, + -0.045155927718565525, + -0.016848857334425604, + 0.46337801724118932 + ], + [ + 0.033333333333333333, + 0.31280663422485477, + 0.87184008139362434, + 0.045468096462537043, + 0.99811366539647106, + -0.017630496058901962, + -0.043636306700303329, + -0.039422700251195986, + 0.99935738749087977, + 0.027371680221096567, + -0.023078981107195091, + -0.0017215749566379375, + 0.98648834952745867, + 0.038224942903377211, + 0.11503412609722342, + -0.11021224895478757, + 0.98635334303936173, + 0.082395573030527747, + -0.068242120117350438, + 0.12514417789867505, + -0.30078761025476919, + 0.99453211655914209, + -0.06081030247135915, + 0.0077654206039822231, + 0.084543920470830536, + 0.9750885036711614, + -0.13246827842566689, + 0.17690454598155775, + -0.018956445614472774, + 0.42672888384524249, + 0.97929082739520246, + 0.083859085709888856, + 0.041566499723013101, + 0.17952536095019583, + -1.3404478056494924, + 0.98443920886525571, + -0.0076213424929320976, + -0.042343208227651662, + -0.17037726346066467, + 0.98993192944317598, + 0.13157779531125358, + -0.034589845777208812, + -0.039058948002342088, + 0.40736358229170433 + ], + [ + 0.033333333333333333, + 0.34189493879533595, + 0.87506337630347852, + 0.049579950358141507, + 0.99772429298129395, + -0.015059374383538701, + -0.054283847390189439, + -0.037050159927754685, + 0.99957816867606086, + 0.022283576192600917, + -0.018498396218246387, + -0.0021762986086011154, + 0.98615820375414687, + 0.040430419109129825, + 0.114315148545511, + -0.11309034084338203, + 0.98948805951363561, + 0.080216629228660102, + -0.073011446400254976, + 0.09564518372440009, + -0.26496379953089522, + 0.99351616093378814, + -0.06248846284186748, + 0.02442859378457593, + 0.091782753177031356, + 0.97029643323658787, + -0.14577880417319472, + 0.19297158941217171, + -0.0059445421967884212, + 0.52177335667776981, + 0.97315458148486456, + 0.083171117103598244, + 0.03462381810657307, + 0.21178743360851388, + -1.348242818262577, + 0.98861767360431063, + 0.010847318187462509, + -0.050765068545785282, + -0.14121026499827263, + 0.99002123864694636, + 0.1247197009563267, + -0.020218889802452983, + -0.062403042525879436, + 0.36358882677450399 + ], + [ + 0.033333333333333333, + 0.37135309408924139, + 0.87694489117353047, + 0.053681789375274007, + 0.99723223198477784, + -0.011241189112693053, + -0.065372867053835701, + -0.03358421371943239, + 0.99974538179574468, + 0.017813142733798807, + -0.013463411373054433, + -0.0032557761326340033, + 0.98596172624202583, + 0.043259032543579469, + 0.1135345103878018, + -0.11453403616497684, + 0.99210752791410861, + 0.0755729597045115, + -0.075427245189855607, + 0.06574276766858729, + -0.23097847098960247, + 0.99231063142950637, + -0.061355620214436843, + 0.039185742307170389, + 0.1000978332428438, + 0.96516132828979972, + -0.16084958890057841, + 0.20628296548085689, + 0.0061934059133826489, + 0.61402090496344752, + 0.96773843841307328, + 0.079099474597325553, + 0.029037561446980123, + 0.23744980092951462, + -1.3135504076137656, + 0.99346778897765153, + 0.045085711523312588, + -0.046049258359715704, + -0.094172696068516693, + 0.98908477618286861, + 0.11861989646972719, + -0.0001294523323476992, + -0.087410576744977819, + 0.33200381970949183 + ], + [ + 0.033333333333333333, + 0.39914845932028509, + 0.87749031976772929, + 0.057852743466385928, + 0.99649224501358724, + -0.0095887293975089553, + -0.076028403110588047, + -0.033629508125694096, + 0.99984529388065724, + 0.015093651087888599, + -0.008585186234680223, + -0.0028043856466379762, + 0.98635710492110973, + 0.042793124950197901, + 0.11115843778389436, + -0.11363191337862669, + 0.99366594223504257, + 0.072767684034726401, + -0.074032824501876593, + 0.043034873052462369, + -0.2068132757297142, + 0.99097443144635822, + -0.062193279556752031, + 0.050424209814142931, + 0.10751312134880094, + 0.96013112052964844, + -0.17548221597934796, + 0.21676857948888836, + 0.019120831881187014, + 0.69690295134331082, + 0.96193043130176903, + 0.076737062602900655, + 0.024709485137509885, + 0.26113350972808969, + -1.240493491508988, + 0.99716674039822106, + 0.061454379019303049, + -0.024097647719360005, + -0.036071519476342913, + 0.98722304124465188, + 0.11407311956931637, + 0.026081274785232398, + -0.10815617103504516, + 0.30530631269818342 + ], + [ + 0.033333333333333333, + 0.42630431446365841, + 0.87699988949674679, + 0.061464456389441362, + 0.99575103238638962, + -0.0068361134486051647, + -0.085116998938909352, + -0.034470937701065879, + 0.99990611497267445, + 0.012736155243825945, + -0.0042506895568438299, + -0.0027355489666979361, + 0.98686193881820594, + 0.04228902794033889, + 0.10865342119812457, + -0.11184626006163878, + 0.99474686015227709, + 0.068562352535114987, + -0.071763223819263422, + 0.025058486368950791, + -0.19601872241005547, + 0.98931954327451266, + -0.063172246546595257, + 0.056979659107953815, + 0.11836142534334074, + 0.9558291935951132, + -0.18872689279563365, + 0.222696908276171, + 0.034333651877650133, + 0.75823966706056933, + 0.95764934108838784, + 0.072711094028488785, + 0.021150323787523885, + 0.27780118812172078, + -1.1165051587987038, + 0.9973980964269038, + 0.071745989671273117, + 0.00074712364582946698, + 0.0069994297150643607, + 0.98353926491523147, + 0.10923375689441889, + 0.056489371680799955, + -0.13239128223506855, + 0.30050439894178366 + ], + [ + 0.033333333333333333, + 0.45328387819920468, + 0.87569878842608417, + 0.064518126641214632, + 0.99502714871662457, + -0.0032910923410211794, + -0.092268600087325028, + -0.037371746895112357, + 0.99994459408224468, + 0.010110759365398962, + -0.0011223442399229617, + -0.0027058555314266016, + 0.98762386526851531, + 0.038863004226008607, + 0.10586732390226146, + -0.10899943754157877, + 0.99560736283813001, + 0.063427044362135324, + -0.067746674943378341, + 0.012384552478956732, + -0.19582432185953869, + 0.98752767117486184, + -0.066673754354377682, + 0.059281306534157217, + 0.12972831548990862, + 0.9521118801419115, + -0.19891171228273125, + 0.226649833855566, + 0.050467328269193402, + 0.79675477667265782, + 0.95565227369592221, + 0.066550625146815756, + 0.014836956422226944, + 0.28649539402319746, + -0.9422412190612206, + 0.99664580090284571, + 0.077139646095001846, + 0.018837502673676013, + 0.019793206816540218, + 0.98033980032812962, + 0.10533007903132338, + 0.074988008834679321, + -0.14905116193733031, + 0.27026151852817476 + ], + [ + 0.033333333333333333, + 0.48027134153732209, + 0.87348305678801219, + 0.068489978726522779, + 0.99445479420228367, + -0.0027330407661195211, + -0.096929763163596167, + -0.040703977561332393, + 0.99993922520384382, + 0.010994154736076333, + 0.00067868002494197543, + -0.00046244329330757868, + 0.98816107275403642, + 0.035967568099857898, + 0.10399269975280991, + -0.10690905825371358, + 0.99626153642992754, + 0.06177905763005076, + -0.060384526965183115, + 8.9285016331876928e-05, + -0.1969481631952702, + 0.98619677898974856, + -0.065197359924174095, + 0.057243171847133761, + 0.14102636861963852, + 0.94897126450336522, + -0.20595473362184433, + 0.22948057044124603, + 0.06614268391590776, + 0.81571458518836859, + 0.95552673415139644, + 0.063584064290084147, + 0.011021064172871258, + 0.28775729918599552, + -0.73904555085058343, + 0.99762323204156678, + 0.065025421154631058, + 0.022790124333850362, + -0.00043786693035007695, + 0.9778847125411062, + 0.10133675632709906, + 0.085082685723696594, + -0.1619669330003593, + 0.23613640333921199 + ], + [ + 0.033333333333333333, + 0.50769414818127723, + 0.87000273638762682, + 0.072888713820455406, + 0.99374758091689641, + -0.0041269733355923169, + -0.10178783328761842, + -0.04569409707517632, + 0.99992087851018541, + 0.012351850927001553, + 0.0021503411906499373, + 0.0010220229253458375, + 0.98876163783892346, + 0.032239392373458672, + 0.10392151170282055, + -0.10252494585650909, + 0.99625550585016609, + 0.061400807330239032, + -0.059878193754741391, + -0.010932055392016552, + -0.20162024808173545, + 0.98402088113353237, + -0.064708432155928045, + 0.062337975906852437, + 0.15371955328111253, + 0.94636966677453593, + -0.20937162907937706, + 0.23239880247823499, + 0.08086266970848674, + 0.81758480303861758, + 0.95644867172228187, + 0.060787979827132736, + 0.020684095924710617, + 0.2847506418693313, + -0.52448695140164836, + 0.9980661900613268, + 0.058323229705443569, + 0.016841499114401758, + -0.013365816128208613, + 0.975697187395414, + 0.097902867946116787, + 0.094250973748121775, + -0.1718917709028982, + 0.2057867168458003 + ], + [ + 0.033333333333333333, + 0.53678723900155723, + 0.86615157476945603, + 0.078032871005091584, + 0.99264959752992066, + -0.0066088435975271871, + -0.10919616368702012, + -0.051761931436407164, + 0.99986453422878585, + 0.015831776617816665, + 0.0037501540705933592, + 0.0024908602978561058, + 0.9892018390424302, + 0.027156606923827591, + 0.10644723137809778, + -0.097011480080433365, + 0.99615090480872448, + 0.061664010753583291, + -0.058019753027499461, + -0.022685521487709137, + -0.20310776801428893, + 0.98178907165165841, + -0.069050376091316146, + 0.067787481351944248, + 0.16348431643121694, + 0.94305708775939967, + -0.21036070167398704, + 0.23992413563740786, + 0.093958041468682266, + 0.80310901911686672, + 0.9574997039255565, + 0.053958916818012431, + 0.050623484993228107, + 0.27878309677137675, + -0.31956140828568064, + 0.99863277470962386, + 0.044169100433341359, + -0.012542891954223721, + -0.024986950676135867, + 0.97351144526296074, + 0.093520220419480007, + 0.10280742756819643, + -0.18154907642707346, + 0.18130993241449475 + ], + [ + 0.033333333333333333, + 0.56822860198894964, + 0.86188946654138365, + 0.082592615206536213, + 0.99171833752701422, + -0.0077026931729491143, + -0.11575455849804482, + -0.055102538212511272, + 0.99984828908020695, + 0.016725494030555871, + 0.0039621015292807442, + 0.0028210679340287827, + 0.98932885316425234, + 0.023852236667717824, + 0.11086072126983301, + -0.091484378897080887, + 0.9958069702380663, + 0.058365282457623971, + -0.059523310378204755, + -0.03766891756534254, + -0.20691549299527803, + 0.98017253822959782, + -0.061839985925496326, + 0.077480545507473006, + 0.17156449664527468, + 0.94074290579446607, + -0.20629407705219646, + 0.24838763988523599, + 0.10367795967711337, + 0.77282004942928706, + 0.95920384607557074, + 0.04171433264879703, + 0.077799131576123129, + 0.2685799531824728, + -0.14863208556956098, + 0.99835077192786603, + 0.0022212187188085423, + -0.035329920777747617, + -0.045195122261979054, + 0.97195139572873079, + 0.088858864364056225, + 0.10962271183507087, + -0.18814209421293057, + 0.16504855695955611 + ], + [ + 0.033333333333333333, + 0.60298457519161575, + 0.85814052031087584, + 0.086353106691534301, + 0.99063484031877158, + -0.0062489729893669991, + -0.12489775843818807, + -0.054809793105759237, + 0.99988080365945331, + 0.014108900638120796, + 0.0057080588194839887, + -0.0025952765984874862, + 0.98950415583437012, + 0.020601722652219458, + 0.11409977712243861, + -0.086245785235461669, + 0.99536969590851421, + 0.049268037798062006, + -0.064333523378857393, + -0.051701321919102712, + -0.23362131934831934, + 0.97811652946603989, + -0.06024203246500405, + 0.08942013161931521, + 0.17794098002140876, + 0.94008241865100628, + -0.19862274107640124, + 0.25532051186673077, + 0.10772877559260451, + 0.73970666251864481, + 0.9603439128128809, + 0.026307087946712798, + 0.10119409836772933, + 0.25847100553553792, + -0.068276868944302405, + 0.99788945839038345, + -0.021259810778217581, + -0.043020070174755731, + -0.043748403870090873, + 0.97215661815562326, + 0.084372651214408956, + 0.11150005441954274, + -0.18804388681292519, + 0.15367525314968972 + ], + [ + 0.033333333333333333, + 0.63847843677666904, + 0.85496656638871737, + 0.090716356759441216, + 0.9902833017951812, + -0.0051489576403732536, + -0.12779621228653704, + -0.054594858238355637, + 0.99990717340617608, + 0.012575692855598234, + 0.0048770527241361944, + -0.0019263636206110818, + 0.98947081297049522, + 0.022355269878258203, + 0.11590416534060956, + -0.083749487430515718, + 0.99505098589558882, + 0.041766745569661777, + -0.06616260813086787, + -0.061250173208383711, + -0.27835751049874452, + 0.97719800382687327, + -0.058027133825285772, + 0.094246759908652653, + 0.18120281814452383, + 0.94159792639745976, + -0.18840132988821165, + 0.26021592257578868, + 0.10092550489538511, + 0.7165023763688072, + 0.95748080305701588, + 0.014221893699093992, + 0.11676861954177369, + 0.2634261547515967, + -0.131389854536094, + 0.99781552552379293, + -0.033883663856776977, + -0.051841714939978134, + -0.022989365789425426, + 0.97320375407538207, + 0.080415683860920892, + 0.10833570267701739, + -0.18620189679012572, + 0.15450576450249856 + ], + [ + 0.033333333333333333, + 0.67637159399950875, + 0.85300350198211627, + 0.093988209801256592, + 0.98988699325434015, + 0.0039601385663059416, + -0.12942030323977127, + -0.057952075008089403, + 0.99997371487437847, + 0.0051723823410296764, + 0.0050189598414500337, + 0.00079124165919096595, + 0.98940875953483176, + 0.029817834837303572, + 0.11510419999293797, + -0.08325999294587054, + 0.99523820638036076, + 0.024338481493237557, + -0.073254223175631974, + -0.059517809656779309, + -0.35033096507970612, + 0.97709784173832137, + -0.055611976326969299, + 0.10359691607649833, + 0.17735499637383162, + 0.94524116787039192, + -0.17482240390694784, + 0.26237155820217789, + 0.084364845177210934, + 0.69874452031082124, + 0.95866085913957988, + 0.0018475734836002897, + 0.10064136282564783, + 0.26615269999491181, + -0.20840708213268055, + 0.99768502968245409, + 0.0084853911249210025, + -0.063993686568463506, + -0.021386625829125396, + 0.97551051208736295, + 0.078660811471560871, + 0.09709649789934835, + -0.18100825296479778, + 0.16373897902209267 + ], + [ + 0.033333333333333333, + 0.71710688729555705, + 0.85184667786085566, + 0.096530715745649809, + 0.98912556103001814, + 0.017119055734659248, + -0.13370102483539156, + -0.058835349967272292, + 0.99992129916932793, + -0.0089929131682186941, + 0.00695360800110288, + 0.005307571576466507, + 0.98892904592782926, + 0.041793279649007649, + 0.11412937448919595, + -0.085130193087752853, + 0.9957232327816099, + -0.00069787865717281798, + -0.077191018205263626, + -0.050757298714118812, + -0.45468906815505383, + 0.97871375897051482, + -0.049291082044606707, + 0.11673414961617383, + 0.16144009894095598, + 0.95008203789061041, + -0.15709662537052774, + 0.26265959854318577, + 0.060619360504292612, + 0.67896090853431668, + 0.96481465009242418, + -0.0058632628377928188, + 0.052064564499890637, + 0.25765790156594198, + -0.23684816770805706, + 0.99714623684902681, + -0.0093281271122112545, + -0.055013601394269529, + -0.050851470421566014, + 0.97834195500219956, + 0.07990242850731967, + 0.080671991766607012, + -0.1730741192250167, + 0.17885368768774093 + ], + [ + 0.033333333333333333, + 0.75867444450381338, + 0.85241127757215296, + 0.097332258018089868, + 0.98808323639376572, + 0.038442447389371429, + -0.13781232233645685, + -0.056757907013644603, + 0.99956343618933952, + -0.027024827285314079, + 0.0081343813400091124, + 0.0087422871020327256, + 0.98817859801737506, + 0.050517954367527325, + 0.11683041813174103, + -0.085449681720284804, + 0.99582572081065968, + -0.038524289129045867, + -0.079154471840595472, + -0.024116021783621142, + -0.62086817876911682, + 0.98215480209173422, + -0.036088545684451342, + 0.13709438949302299, + 0.1235908166817543, + 0.95521136180270882, + -0.13655567042147781, + 0.26018236347735518, + 0.035056253280873202, + 0.64826788538904578, + 0.96813452786868548, + -0.023770400139024563, + 0.0050631324031082496, + 0.24924860825283826, + -0.28629200766440305, + 0.99856777775430539, + -0.00061141320345231977, + -0.010625341217137466, + -0.052432065844693933, + 0.9818368395982654, + 0.080997712395861343, + 0.061724604119692626, + -0.16008080534715807, + 0.19536698925933846 + ], + [ + 0.033333333333333333, + 0.7958644865622283, + 0.85401803149867317, + 0.098866580665860904, + 0.98768899218749673, + 0.055911025349325544, + -0.13712865809958999, + -0.050399832180671393, + 0.99926715354081486, + -0.036913905112399191, + 0.005473770157632782, + 0.0085180575280885806, + 0.98762976698220029, + 0.051168739343291789, + 0.12280596198875589, + -0.082993368317710203, + 0.99521677760451854, + -0.069208563955677052, + -0.067507846068922961, + 0.014015383291433613, + -0.82544662530579294, + 0.98694967100048991, + -0.00096869620440484408, + 0.14776626583967772, + 0.06398858663453956, + 0.95977956594067826, + -0.11863174610276839, + 0.25382820519506899, + 0.017914682994166545, + 0.58580451224390717, + 0.96903856307423841, + -0.046653416638161423, + -0.0017537040430008087, + 0.24245545263641943, + -0.35926536924676156, + 0.99944281190750262, + 0.020694425656332054, + -0.0039651661642077481, + -0.025885979418772923, + 0.98689911871166824, + 0.080289478606483181, + 0.037185392273489777, + -0.13491099181570856, + 0.20467563525437843 + ], + [ + 0.033333333333333333, + 0.82800267107100756, + 0.85704027417642015, + 0.10173804905593423, + 0.98573805428580252, + 0.066810042295295108, + -0.14641226921428963, + -0.049197093459506229, + 0.9989361577787802, + -0.042600051151666304, + 0.0045070868107685942, + 0.0170726240667184, + 0.98605924344602358, + 0.043966434620733984, + 0.13600448965399703, + -0.085187439422441433, + 0.99323984883965899, + -0.086196749597290512, + -0.036591844573716746, + 0.068598541868806609, + -1.0400010547064495, + 0.98961058183420558, + 0.021670599924824206, + 0.14162679740975273, + 0.011963765131438292, + 0.96376214401861859, + -0.1006285392539593, + 0.24699870325483061, + 0.0052978707687136107, + 0.5025584487401531, + 0.97182421512745798, + -0.060549279956423945, + 0.011732152161116746, + 0.22749469487073148, + -0.37982277599629205, + 0.99950335441680305, + 0.031134120124004246, + -0.0043272135963897587, + -0.0022330016018608924, + 0.99076314598578086, + 0.081492916930746589, + 0.010776832365225546, + -0.10784782302229633, + 0.22004458361511747 + ], + [ + 0.033333333333333333, + 0.85782735963333312, + 0.8621678797144775, + 0.10706556367707588, + 0.98362791069580691, + 0.068056353102362396, + -0.1600141241301036, + -0.047328069699535319, + 0.99897621235930112, + -0.043102904035762273, + 0.0020953803151215786, + 0.013574836473538984, + 0.98324958900306791, + 0.031022353690258759, + 0.15691418736287488, + -0.087383048133280364, + 0.98865746313729974, + -0.087859316792806716, + -0.0060571620652101425, + 0.12165718977247397, + -1.1927849297503033, + 0.98769747904482674, + 0.043997267527071851, + 0.12623291220501506, + -0.081136811712601078, + 0.96584390662957587, + -0.087735407191293857, + 0.24380269516051464, + 0.0028796152461972356, + 0.40839553962940828, + 0.97671589396683922, + -0.063088921123779049, + 0.032912151822871966, + 0.2023922942366729, + -0.36665127506545286, + 0.99914787024404661, + 0.03685719332381579, + -0.010162052795286144, + 0.015550349515763182, + 0.9935429970006634, + 0.085388996196854042, + -0.011842356725377283, + -0.07376171789364977, + 0.24730676172376542 + ], + [ + 0.033333333333333333, + 0.88680240906995211, + 0.86811854115680975, + 0.11297401035051663, + 0.98199344311741255, + 0.067783806363681698, + -0.17008771443483992, + -0.046523141205128918, + 0.99910438323415529, + -0.040056412574849994, + -0.0044692911602958853, + 0.012881795311838608, + 0.97843914302001822, + 0.018580377278521083, + 0.18158783833638165, + -0.096630584986122564, + 0.98155289142054136, + -0.085826970353713006, + 0.014825916301465743, + 0.170199426290748, + -1.2925408020317588, + 0.98338194300690163, + 0.081057750037316176, + 0.087822284773131698, + -0.13666324167121835, + 0.96609496154667773, + -0.080610109893403045, + 0.24526473124485987, + -0.0027833548971265567, + 0.32763098956767678, + 0.98127589683566463, + -0.063531082901469346, + 0.038640431607701475, + 0.17767479517337043, + -0.34529165981812426, + 0.99876597768427178, + 0.041122454389549194, + -0.0074343457184214918, + 0.026836469013248893, + 0.99434705292553749, + 0.091688679409997184, + -0.027206904006035135, + -0.046118421273451206, + 0.29718386158854937 + ], + [ + 0.033333333333333333, + 0.9168403798186503, + 0.8729683458576567, + 0.11948441053854821, + 0.98150639875123846, + 0.065041406888375911, + -0.17526037800555305, + -0.041214129879282337, + 0.99932809512105658, + -0.034113068887521608, + -0.011197017605514158, + 0.0073677424993987004, + 0.97329240977982179, + 0.0091367349697561752, + 0.20143894738439283, + -0.10973037690515682, + 0.97536839787263563, + -0.083794275925565723, + 0.020085342194249619, + 0.20305562484801568, + -1.3388171573514855, + 0.99082836526217444, + 0.06894025661204646, + 0.067193689469844789, + -0.094822991439746429, + 0.96935779309636294, + -0.079236291242070309, + 0.23218058331097877, + -0.012619661125575556, + 0.27238488782232717, + 0.98688941091034477, + -0.063378772675172862, + 0.027995260079973626, + 0.14576929450428214, + -0.31112734736233899, + 0.99845120654134778, + 0.041373427398698703, + 0.0070657931044690279, + 0.036517149795901732, + 0.99273633673759609, + 0.103173006935011, + -0.05899918395490239, + -0.018681345065650747, + 0.34411272695275158 + ], + [ + 0.033333333333333333, + 0.94572052316716548, + 0.87610336843817005, + 0.12715134758584554, + 0.98153505389033247, + 0.061030673483107888, + -0.17722696828765747, + -0.038141795844795982, + 0.9994533034196047, + -0.027249407939694052, + -0.018686646630907449, + 0.0011718738273898469, + 0.96821751968115399, + 0.0030932280352683338, + 0.21819658579304413, + -0.12221095070023265, + 0.96908212432412444, + -0.079090996133618141, + 0.018864402035444598, + 0.23295618682893854, + -1.3373938877665124, + 0.99672609112533372, + 0.04020911400949416, + 0.056535672293804171, + -0.041521610985992899, + 0.97287350654281568, + -0.082011029302822849, + 0.2145234255497078, + -0.027767449112160295, + 0.24894344865046131, + 0.99094456334660574, + -0.061498809071688365, + 0.02001470825580361, + 0.11766979353259663, + -0.28290740773270262, + 0.99791455539880203, + 0.041522714119513159, + 0.015543580201210053, + 0.046912700304810928, + 0.98970025898447378, + 0.11906150208822357, + -0.079011087128845206, + 0.0086604963644942041, + 0.40624043420729028 + ], + [ + 0.033333333333333333, + 0.97362512793650291, + 0.8773915496007052, + 0.13600045519220577, + 0.98118370101058094, + 0.056596223640635684, + -0.18089138380652936, + -0.036792928741225361, + 0.99954471713775483, + -0.01783844759197651, + -0.024312166755378842, + 0.0010328490559812476, + 0.96344193103155262, + -0.00014179072948317123, + 0.23210637360996669, + -0.13381426215173264, + 0.96291657777425776, + -0.072534917233674362, + 0.014452618314337355, + 0.25946381607707064, + -1.2891728314941682, + 0.99899398844506082, + 0.017539723164298381, + 0.041060757823572658, + -0.0041693319492755636, + 0.97597633098156034, + -0.08797207058462421, + 0.19343531984511084, + -0.048102943748229127, + 0.2472943892478614, + 0.9935520639281481, + -0.057184432840066558, + 0.032117736646048639, + 0.092480743388081349, + -0.26439343994614778, + 0.99730164146235856, + 0.041988292638659497, + 0.003796360908592796, + 0.060099973890404709, + 0.98429014080663468, + 0.14012001533455079, + -0.10181461592721354, + 0.03425031382475878, + 0.4667167224848221 + ], + [ + 0.033333333333333333, + 1.0010950281228355, + 0.87660988568636189, + 0.14438269632979697, + 0.98079476945774968, + 0.054376553162202593, + -0.18376777030895847, + -0.036252134643238995, + 0.99947166248985742, + -0.012271511580589327, + -0.029723285215833364, + -0.0047256956383346614, + 0.95969345800438555, + 0.0016422893583382242, + 0.244574428410885, + -0.13845258580733344, + 0.95726502107361289, + -0.0672980011490934, + 0.0045421190204663559, + 0.28123660434779141, + -1.2036657821794652, + 0.99955051944108764, + -0.00060521273132450317, + 0.0074900443581861062, + 0.029022267969855822, + 0.97833157007123894, + -0.095160218960928591, + 0.17283281365697803, + -0.062774917384772241, + 0.24731234677136757, + 0.99484845103831898, + -0.055937274757962334, + 0.043135238796469778, + 0.072711291649105017, + -0.26086615155282511, + 0.99604175512575321, + 0.04669300840015897, + -0.0019563318917406886, + 0.075609243998872658, + 0.97701952360039945, + 0.16464706365581422, + -0.12082831027595761, + 0.061030438053677652, + 0.52337297141480787 + ], + [ + 0.033333333333333333, + 1.0288846245702397, + 0.87491987112936653, + 0.15326869882356903, + 0.97948882344756238, + 0.053176262916403226, + -0.1907441647608952, + -0.037290661206582705, + 0.99941990810708392, + -0.0084333523833391728, + -0.032617509356782218, + -0.0049823619064360723, + 0.95673456066048024, + 0.003397491321092226, + 0.25246184708538538, + -0.14460447177302782, + 0.9532956839655643, + -0.06067345147990854, + -0.0057487857640338754, + 0.29582600068347847, + -1.074616529956044, + 0.99787090174519688, + -0.014252431875123692, + -0.026065436122185356, + 0.058061387131491934, + 0.98047429001710995, + -0.10109031226204604, + 0.14873373053466138, + -0.079556224039662157, + 0.25483121168925282, + 0.99566134798594408, + -0.055334914543737596, + 0.051840441784752021, + 0.053936035772123088, + -0.25519576373399799, + 0.99467746533678147, + 0.0486357645479654, + -0.0014218685372728627, + 0.090825550633582178, + 0.96848773014646206, + 0.18990853267165977, + -0.13799127718191409, + 0.083214621287096863, + 0.56963226299014635 + ], + [ + 0.033333333333333333, + 1.0568808560656029, + 0.87255422996801302, + 0.16297493189119722, + 0.97750454214271409, + 0.05277532502738351, + -0.20067121496174167, + -0.037824577253359588, + 0.99936869849258558, + -0.004724120636834141, + -0.034529849358287304, + -0.0068975836883837672, + 0.95516869946801097, + 0.0044112997226182426, + 0.25639408690833071, + -0.14797083560549731, + 0.95172317755059355, + -0.053138054512725484, + -0.018156281750877908, + 0.30177755037210241, + -0.91241510274968907, + 0.9964355862470754, + -0.019427283879594529, + -0.050723974817366055, + 0.064542865447980505, + 0.9810135475670777, + -0.10673017125523779, + 0.13378476565763314, + -0.091228978464174548, + 0.25020815566560994, + 0.99611555848584332, + -0.055357002463620512, + 0.058508821892081175, + 0.03558249824674687, + -0.25387094833549517, + 0.99313811282614506, + 0.05220532359626829, + 0.0027087903942433415, + 0.1046133619330349, + 0.96103697485405115, + 0.21228883093465861, + -0.14435859833577228, + 0.10247917012886554, + 0.60754972838026078 + ], + [ + 0.033333333333333333, + 1.0854687446886808, + 0.86952790465668306, + 0.17409246324463729, + 0.97484088576167949, + 0.052337833935778587, + -0.21333771551513556, + -0.037855220578910144, + 0.99934890769591156, + -0.0015660063155959157, + -0.034816903666306145, + -0.0093322843023055536, + 0.95524051997180937, + 0.0053265767007908372, + 0.25502226409127754, + -0.14983598166794396, + 0.95230763649929806, + -0.04136689323570928, + -0.040054592606562807, + 0.29965742977651738, + -0.72898642251931545, + 0.99637837659514605, + -0.017168392836556818, + -0.067109548195388918, + 0.049312123073760247, + 0.98149406740805656, + -0.11053751139165179, + 0.12120572799729822, + -0.098792842447085333, + 0.23963252543807415, + 0.99628601367903624, + -0.055594707601433972, + 0.063753357004796396, + 0.016090895092108086, + -0.25281424419495491, + 0.99151366253702289, + 0.057641417620476011, + 0.010153786519558006, + 0.11608197360673946, + 0.95525344139748525, + 0.23095652337408182, + -0.14246378602308368, + 0.11770308696541194, + 0.64008813067441639 + ], + [ + 0.033333333333333333, + 1.1148545900321183, + 0.8657297112079716, + 0.18659472055578633, + 0.97180123107436167, + 0.052941716215416677, + -0.22652644315123696, + -0.038539752461203301, + 0.99934977571715455, + -0.00031101470850961385, + -0.034433152168784495, + -0.010690513348077677, + 0.95798637636244344, + 0.00808161836079338, + 0.24412012894364515, + -0.15034012369678088, + 0.95303108170864981, + -0.026135765660625823, + -0.073718068211825208, + 0.2925992574660613, + -0.54357247917717511, + 0.99799875517980474, + -0.013764944689442709, + -0.053806908420252882, + 0.030229580935092381, + 0.98186917817092934, + -0.11159575565039814, + 0.11335066614692842, + -0.10310640505229568, + 0.22087201684772811, + 0.99589305135916784, + -0.056707792616265039, + 0.070409155601794754, + -0.0048792743885511256, + -0.24613739665301018, + 0.99001794712376179, + 0.060771337731971367, + 0.016115648471219206, + 0.12614116995442579, + 0.95199281478266951, + 0.2444334537806522, + -0.13307392089237285, + 0.1274884263506384, + 0.67232184654441884 + ], + [ + 0.033333333333333333, + 1.1455458438312818, + 0.86175985073788686, + 0.20094724691820851, + 0.969200784892019, + 0.05385576070207275, + -0.23720411967834662, + -0.038517544204116329, + 0.99930439206585131, + -0.00025131159972404901, + -0.034514089458372164, + -0.014122551796283512, + 0.9633049735071586, + 0.011377497532533008, + 0.22149958312438817, + -0.1511688302593886, + 0.95197501178229471, + -0.0053481283066293536, + -0.12345182860218647, + 0.28013321916633166, + -0.36944372523599311, + 0.99984582974931568, + 0.0024916528549110404, + -0.015659010464380219, + 0.00754346009662286, + 0.98264256003360462, + -0.11010976073415712, + 0.10630102784134188, + -0.10483096528003891, + 0.20155240763753107, + 0.99450502740522206, + -0.056867530252227773, + 0.082960973301828944, + -0.029039823993331774, + -0.23479103523414058, + 0.98930421442897132, + 0.059870776543039586, + 0.013422329214056814, + 0.13233481215341189, + 0.95054283998667133, + 0.25303273468476406, + -0.12207451865591479, + 0.13244076571414776, + 0.69956837926186144 + ], + [ + 0.033333333333333333, + 1.177, + 0.85699999999999998, + 0.217, + 0.96749114424866189, + 0.055535664777883943, + -0.24352587287744135, + -0.039646247960855405, + 0.9992736658288085, + 0.00022576552891074065, + -0.035606553683793764, + -0.013574356181557451, + 0.97072263933674163, + 0.02109155868534902, + 0.18791430592117464, + -0.1481246679709223, + 0.94907504561405465, + 0.015354793930627858, + -0.16922851886817133, + 0.26529699677477131, + -0.22163544173211772, + 0.99908116946836678, + 0.032319387062654879, + 0.023629147847524241, + -0.015295012442447048, + 0.98321796334714429, + -0.10601064171633351, + 0.10268318303571425, + -0.10723965831742836, + 0.18628023478569131, + 0.99252704451491047, + -0.054814172141306863, + 0.096867516532740491, + -0.05002156214813152, + -0.23262250885148691, + 0.98920584632899344, + 0.057046981852935358, + 0.0030208849919188944, + 0.13493816992932817, + 0.95145472213461946, + 0.25564629648664378, + -0.10994603976111422, + 0.13149430086982725, + 0.72143661767563549 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_data/data/motions/walker/walk_forward0.txt b/examples/pybullet/gym/pybullet_data/data/motions/walker/walk_forward0.txt new file mode 100644 index 000000000..a1550e81e --- /dev/null +++ b/examples/pybullet/gym/pybullet_data/data/motions/walker/walk_forward0.txt @@ -0,0 +1,1754 @@ +{ + "Frames" : + [ + [ + 0.033333333333333333, + 0.0, + 0.85400000000000009, + 0.0, + 0.99545682973894956, + 0.014965310142804658, + 0.073694035992006884, + -0.058403156401161636, + 0.99909729028758787, + -0.033807009800411292, + 0.012062003500129738, + -0.022720006600289798, + 0.99012092228076465, + -0.00061800000024837343, + -0.052343995900846152, + -0.13007798980234878, + 0.95003221217293177, + -0.020307004498972967, + -0.16653603720160401, + 0.2632340588056003, + -0.058176000000000137, + 0.99923479405851623, + 0.019581996000843309, + 0.030808993701293322, + -0.014041997100530185, + 0.98227451724260428, + -0.083408958995553215, + -0.096278952695967132, + -0.13751393239542825, + 0.25525200000000015, + 0.99214592213217101, + -0.0069228523895302832, + 0.10532524238347309, + -0.067120314571369438, + -0.21252000000000018, + 0.98105659429409231, + 0.039850983500378794, + -0.081852966200411645, + 0.17099692930086077, + 0.95692497188045067, + 0.1733249949029306, + -0.22132499350357812, + 0.072582997899913557, + 0.96971899999999966 + ], + [ + 0.033333333333333333, + 0.036532708667618707, + 0.85093290143605749, + 0.0026603644133645346, + 0.99540853359233095, + 0.013815500201026105, + 0.07621443646196259, + -0.0562347124163219, + 0.99922346966124598, + -0.029868701589630675, + 0.010915947173776801, + -0.023262855387714824, + 0.99021569537657028, + -0.00080199629970301482, + -0.056283100700024943, + -0.12768886406974361, + 0.94679831979054252, + -0.0099316911129487088, + -0.17807366516459402, + 0.26788817243075647, + -0.12269817696707865, + 0.99881069962702906, + 0.016191653744687749, + 0.045988729502437389, + -0.00023112405470507733, + 0.98114460336312281, + -0.084835060573477478, + -0.1035929938738909, + -0.13937995339774958, + 0.2521617826713069, + 0.99131730639669402, + -0.004272698799732042, + 0.1055629501419055, + -0.07828285662076602, + -0.25577330625225048, + 0.9807644650267946, + 0.034827746231209392, + -0.087713439335251525, + 0.1708638194385842, + 0.9558430511155368, + 0.17210891031733166, + -0.22512313087220201, + 0.077859877792220158, + 0.95886718744749821 + ], + [ + 0.033333333333333333, + 0.075349530130773237, + 0.8484689569582784, + 0.0073083013147445895, + 0.99539759731839883, + 0.005432268478782044, + 0.075528403500456712, + -0.058733073958419368, + 0.99952375966680873, + -0.022066832845339449, + 0.009469708990094276, + -0.019381263151465093, + 0.99034973426099238, + -0.00071710692491068343, + -0.059240186451159596, + -0.125289624135727, + 0.95164048054994166, + -0.0021778026506095306, + -0.14411373370597991, + 0.27130588772013953, + -0.20212000136005426, + 0.99906045685800449, + -0.017328788165605614, + 0.039582647511594522, + -0.0033362642820583973, + 0.98081997232456075, + -0.087179391790230945, + -0.10445201025045116, + -0.13957690744164264, + 0.24672857494299771, + 0.99066020612957106, + -0.0020934307168806129, + 0.11000039359783555, + -0.080547420489240476, + -0.31343186435457432, + 0.9811440442754501, + 0.028085431134198438, + -0.097690353002411148, + 0.16439029129204724, + 0.9558338240578973, + 0.16963438025885089, + -0.22809217768403056, + 0.074698301857597585, + 0.9385521382855313 + ], + [ + 0.033333333333333333, + 0.11580369074719789, + 0.84793128681147245, + 0.013241160184903396, + 0.99482833137136439, + -0.0070863459301811708, + 0.079218491998957974, + -0.063172821115060326, + 0.99990188825968618, + -0.0075513178756549185, + 0.0058645168147764921, + -0.0102371331721387, + 0.99071814380264489, + -0.0020559601238711168, + -0.061791580453330601, + -0.12105838737274816, + 0.95952143758020869, + 0.00028501142003537736, + -0.078621647116170257, + 0.27043884003086627, + -0.25213935677427068, + 0.99949505119930937, + -0.0020980661238590012, + -0.0025118531917507308, + -0.03160587508949908, + 0.98052099991721198, + -0.092080833494318948, + -0.10458442952328641, + -0.1384261027611155, + 0.2414147035881434, + 0.99185394893659884, + 0.019609716643215321, + 0.10354956735274848, + -0.071545021441789758, + -0.39924284963398554, + 0.98412818272424152, + 0.021043958382816669, + -0.1023441235425554, + 0.14343832179640958, + 0.95697541299858491, + 0.16247936389736489, + -0.23110981254624238, + 0.066232694105978984, + 0.90277886139445562 + ], + [ + 0.033333333333333333, + 0.15647362453054922, + 0.85032156210248411, + 0.020628261019208768, + 0.99413232563008247, + -0.025652431705570106, + 0.082093752639693235, + -0.065600973029731682, + 0.99988435455541735, + 0.014789572589293616, + 0.0018436175077017019, + -0.0030244226569295595, + 0.9910321955107112, + -0.0017220527876257432, + -0.066573715807844158, + -0.11584542441957849, + 0.96174307343315235, + 0.017044215359806714, + -0.050577058192591853, + 0.26870377111366667, + -0.32177762230489204, + 0.99893104830182067, + -0.0026527512086521234, + -0.034606230357466135, + -0.030530844569003759, + 0.98133469733570178, + -0.099102854150953754, + -0.099916955743911781, + -0.13106272566618826, + 0.23061139961598451, + 0.9933838751745967, + 0.05061034240173555, + 0.091816507967088165, + -0.046870018666626108, + -0.5396644138565535, + 0.98919146783357836, + 0.012262754834586736, + -0.10287374408358517, + 0.10376346942610608, + 0.96026779600024059, + 0.1488207422148996, + -0.22951155501217596, + 0.055340697206845292, + 0.85162055010200388 + ], + [ + 0.033333333333333333, + 0.1942712187578183, + 0.85383480203208129, + 0.026306808689395573, + 0.99371885749555899, + -0.03830326623065651, + 0.082743506715033568, + -0.064878379682938678, + 0.99952441253894508, + 0.030826860617381078, + -0.00055082779379951347, + 0.00059160112813324921, + 0.99115466063825464, + -0.0020496196950839356, + -0.070974586675573992, + -0.11211978326951551, + 0.96210558950181047, + 0.037133948344442419, + -0.06967985324568178, + 0.26099544551847303, + -0.38190756950278004, + 0.99904724445323556, + -0.038580965328561499, + -0.017299114033884344, + -0.010809862087738068, + 0.98330418698456945, + -0.1041989899391418, + -0.093147308941751147, + -0.11652907444576789, + 0.22060991475659034, + 0.99497775659152821, + 0.071292373791697519, + 0.06964092345261394, + -0.0093168185504283949, + -0.72975313560542443, + 0.99425490913269043, + -0.0018106825068067729, + -0.094599749389974605, + 0.050047822227935218, + 0.96357505693989798, + 0.13445318323558744, + -0.22633333778996342, + 0.047102774503676975, + 0.78005823240929661 + ], + [ + 0.033333333333333333, + 0.22846038243462138, + 0.85784514316572669, + 0.030373750836001436, + 0.99360357095368135, + -0.042002267476528396, + 0.082900145905693445, + -0.064150753103433988, + 0.99937865037925133, + 0.035061251891376342, + 0.00031128647190303702, + 0.0035951192870472453, + 0.99065671878714501, + -0.00015070598629297809, + -0.078994021522914348, + -0.11117188211607447, + 0.96594351670829537, + 0.046909133713902464, + -0.074009552188493005, + 0.24346507324107314, + -0.39475092907716319, + 0.99836851406858074, + -0.053331131810143324, + -0.017836822183746329, + 0.0098968818689788487, + 0.98614101353865102, + -0.10434969939305698, + -0.084872130181349217, + -0.09712756134085139, + 0.21518652694107746, + 0.9953147521320016, + 0.077911511277970608, + 0.044029670036819062, + 0.036602305326902028, + -0.930422389895596, + 0.99688505781289793, + -0.0052198488194380227, + -0.078170771313817222, + 0.009070016531418949, + 0.96462266348113723, + 0.12547690203977446, + -0.22820291285054517, + 0.041013348066013873, + 0.70622068666746718 + ], + [ + 0.033333333333333333, + 0.26004453225961038, + 0.86260837905516219, + 0.034420175212612501, + 0.99324583867331706, + -0.046225113459958098, + 0.085738051698205933, + -0.06304704065020747, + 0.99933649262990432, + 0.03615977618812926, + 0.0015061381185101869, + 0.0040959287290704364, + 0.98999353420424929, + 0.0010739893435067322, + -0.087456226302471421, + -0.1107386890910346, + 0.97036518363889013, + 0.05570534824207473, + -0.076162065014428251, + 0.22245823071181284, + -0.3902855651826076, + 0.99749133797096612, + -0.062272491726169735, + -0.021282740345496053, + 0.026080882088075248, + 0.98922427635669452, + -0.10297721877680198, + -0.072815877382480201, + -0.074356381572722438, + 0.22155223564942597, + 0.99234980263888806, + 0.084052194892070817, + 0.021750787836073867, + 0.087772438526541346, + -1.0945305635825433, + 0.99616803848544644, + -0.012912442248184794, + -0.064652533201061901, + -0.057467885692193535, + 0.96338696900140264, + 0.12092385362995026, + -0.23621150621263556, + 0.038302661974473219, + 0.63408630089203588 + ], + [ + 0.033333333333333333, + 0.29254104620557619, + 0.86753344197767912, + 0.037065959649781995, + 0.99385973718273113, + -0.046691693045133258, + 0.082085148909558037, + -0.057660531875342431, + 0.99936131577144249, + 0.035297128229577875, + 0.0055681492061484894, + 0.00026266467993987889, + 0.9892981714166903, + 0.001036902697876557, + -0.091920575602272098, + -0.11330781369938625, + 0.97662325860418009, + 0.060431217427009104, + -0.069129605389587623, + 0.19436094353630354, + -0.37444266618664745, + 0.99687133363911506, + -0.063915162026524738, + -0.023889589725261288, + 0.039895911249824875, + 0.9918471621373427, + -0.10355750113434251, + -0.054378299734327798, + -0.050577182967361939, + 0.24025339873594953, + 0.98846459443209389, + 0.084780866767303842, + 0.01029212825798774, + 0.12507606597707602, + -1.2000984211768471, + 0.9965124399998968, + -0.021630412912237544, + -0.048717163863454684, + -0.064200623889487274, + 0.96288511990825143, + 0.11678082124400846, + -0.24149195950372984, + 0.029935249187137223, + 0.57802303884155348 + ], + [ + 0.033333333333333333, + 0.32463858203076923, + 0.87203938641545664, + 0.039789831736205448, + 0.99465688779723438, + -0.045596110782276059, + 0.077258076124041411, + -0.05108678804409237, + 0.99942088142723196, + 0.032539542864572342, + 0.0091542731044858983, + -0.003908861894190695, + 0.98885680690849787, + 0.00073151712191628089, + -0.093627375079801956, + -0.11573934054199624, + 0.98301001651686182, + 0.064192214012803755, + -0.055353239911770935, + 0.16280874030261192, + -0.34527400012000481, + 0.99599069586625044, + -0.06762315725946616, + -0.032009466996418878, + 0.049041170181073374, + 0.99376677498650934, + -0.10494557799315289, + -0.027101192009527778, + -0.026068141173820149, + 0.26650581939277584, + 0.98405456708206984, + 0.084361127329685898, + 0.0044448517537228043, + 0.15652492610914109, + -1.2545232577703103, + 0.99860722418350067, + -0.010438762967466503, + -0.043015288087261322, + -0.028711130716199004, + 0.96439435629749726, + 0.11323442713322464, + -0.23852209758067397, + 0.015122797990513944, + 0.53752334213368524 + ], + [ + 0.033333333333333333, + 0.35505108270151603, + 0.87588996723868962, + 0.041552646310948432, + 0.9954971401132624, + -0.041670577543984247, + 0.0707354706971009, + -0.04738670888261623, + 0.99950683969902543, + 0.028503955996715999, + 0.012694769897952077, + -0.0035277052941163406, + 0.98857126419288432, + -0.00060927251135517706, + -0.091915009681588292, + -0.11949106826170212, + 0.98782123349717665, + 0.064734390706043698, + -0.044869044364641238, + 0.13418434398184287, + -0.31471948193927812, + 0.99515520309532335, + -0.070838330286202331, + -0.036079969533400529, + 0.057847113264513736, + 0.99401452908996024, + -0.10912716429765144, + 0.0029662705634502127, + -0.0041927567735672707, + 0.31045280527221097, + 0.97870729496920328, + 0.079042136867569071, + 0.0012507909860659976, + 0.18942757691366557, + -1.2635548818352735, + 0.99932293892172275, + 0.0013241093446657375, + -0.035484346202501009, + -0.009631804289707533, + 0.96765454704217846, + 0.10880705835101291, + -0.22755615681766539, + -0.0048884696961124848, + 0.50791834953398152 + ], + [ + 0.033333333333333333, + 0.38386307308340334, + 0.87830749721988877, + 0.042462007919452781, + 0.99640273334027496, + -0.03707360242357708, + 0.061555634937311948, + -0.044922653559555943, + 0.99962066719924647, + 0.020909624849372511, + 0.017126100684593477, + -0.005292066905559039, + 0.98878731393037833, + -0.0012905863138057111, + -0.0893969321688136, + -0.11960840570845607, + 0.9912708014058832, + 0.063235534032845819, + -0.042496429818272452, + 0.10759887995894525, + -0.28592527133085277, + 0.99468567598065838, + -0.074094472163004244, + -0.028469371160014474, + 0.065573699754855552, + 0.99267142172464873, + -0.11451957062921589, + 0.03363307593783528, + 0.018908533444568287, + 0.36497179491179654, + 0.97327359722055673, + 0.071791162012600829, + 0.00072809590740788679, + 0.2181375801795454, + -1.2282431326053049, + 0.999644686853288, + 0.0016026959899333329, + -0.021368375775194924, + 0.015853199307574607, + 0.97099463625550242, + 0.10639393042486317, + -0.21282569747428406, + -0.023557810305255882, + 0.47879091855674227 + ], + [ + 0.033333333333333333, + 0.41207649928016316, + 0.87943704848193927, + 0.043562366778015123, + 0.99708710062383121, + -0.03342890068236605, + 0.051747544113793363, + -0.044966810504208463, + 0.99962445077889106, + 0.015527407358784776, + 0.021912832774708922, + -0.0054483745743458493, + 0.98909556886767946, + -0.0026223090865856529, + -0.084660892512561758, + -0.12048075539418049, + 0.99370173091568803, + 0.062214649560164328, + -0.038956098956028515, + 0.084667760743978498, + -0.25927140117604675, + 0.99399331454800421, + -0.077442137251232696, + -0.02249552737155823, + 0.073986196416015074, + 0.98985608770031708, + -0.12246102977222201, + 0.061021626033806994, + 0.038269870471942719, + 0.43268923688947558, + 0.96747342603599029, + 0.065315847408126002, + 0.0032172500089422355, + 0.24437401517739477, + -1.1557992362894525, + 0.99863495515218759, + 0.012269644445861184, + -0.0063083520312510032, + 0.050377444040068067, + 0.97375030152311515, + 0.10385764465957403, + -0.19829199340260298, + -0.041282263525998494, + 0.44678486199448009 + ], + [ + 0.033333333333333333, + 0.43993098392667707, + 0.87953742433697357, + 0.043898100171138842, + 0.9975391127869544, + -0.029198745946043783, + 0.044376580115185887, + -0.04575883338410882, + 0.9995989519544245, + 0.010111993402547315, + 0.025708983525453265, + -0.0062234240680626458, + 0.98953764605924288, + -0.0032638439473239049, + -0.080206967096706328, + -0.11988092752130332, + 0.99545022266146865, + 0.059416226405987017, + -0.039171776212939123, + 0.06335722682716155, + -0.23719301456058253, + 0.99323469722976676, + -0.07778117121039356, + -0.015277592898471573, + 0.084861774546974508, + 0.98564378194349156, + -0.13291029077002731, + 0.087305098002686585, + 0.056736316291233733, + 0.50401695787831502, + 0.96248298710356517, + 0.056691264460445902, + 0.0037386084880136812, + 0.26532738810128031, + -1.0458599755590228, + 0.99714737185714786, + 0.017756246566187527, + 0.01379616645660066, + 0.072052066572482601, + 0.97616377470475335, + 0.10100260847216472, + -0.18363503304406753, + -0.056399757755601299, + 0.40899423972958937 + ], + [ + 0.033333333333333333, + 0.46807561900422412, + 0.87842968730749227, + 0.044130052799771988, + 0.99771789360843077, + -0.026992469817241498, + 0.040964224302871027, + -0.046393358080497209, + 0.99957464874688429, + 0.0062551248395274813, + 0.027601864864533292, + -0.0070379010922845282, + 0.98988320091060389, + -0.0029609248037177874, + -0.076225324718285914, + -0.11963352937565459, + 0.99657485840455007, + 0.057972045296256346, + -0.04068805533426411, + 0.042688121453580412, + -0.21991622316892662, + 0.99211258402926017, + -0.0799918409286937, + -0.010645657719185096, + 0.095919737110507122, + 0.98056891031086391, + -0.14489579777805414, + 0.11048867051554281, + 0.072677875627552263, + 0.57701256298251913, + 0.95883538003348734, + 0.04952226663975224, + 0.002988826696311083, + 0.27959493203182084, + -0.90734352938117546, + 0.99664823250205647, + 0.014396166266806818, + 0.031423429019040598, + 0.074145931486701552, + 0.9784130362379504, + 0.098206436231313504, + -0.1680989588101654, + -0.069326520533764646, + 0.36522409636385456 + ], + [ + 0.033333333333333333, + 0.49616480700176402, + 0.87608482491299644, + 0.044856390219968796, + 0.99757043778125443, + -0.027240557870283507, + 0.040124168987182629, + -0.050012245849593739, + 0.99955073245822645, + 0.0046960639689863264, + 0.029162574165792484, + -0.0050817805390262908, + 0.98999979268152705, + -0.0028258753006469494, + -0.073215648092395044, + -0.12054830481483055, + 0.99722351900967166, + 0.059786784642606373, + -0.035395491233434662, + 0.026794639695463602, + -0.20781680919236764, + 0.99074631228127441, + -0.083227104626997367, + -0.015383780641745818, + 0.10610529227907929, + 0.97658685954889213, + -0.15521043197500989, + 0.12236757364755527, + 0.084935295856160761, + 0.64944423784951366, + 0.95541381150024918, + 0.044612469247707454, + 0.0062535701356533271, + 0.29181341511785791, + -0.75471217592703776, + 0.99754002428973165, + 0.009342594902327821, + 0.032198005855255646, + 0.06156219846202212, + 0.97961630982503045, + 0.095349484698952339, + -0.15720010146864172, + -0.080922737167516398, + 0.32075601944077786 + ], + [ + 0.033333333333333333, + 0.5258639697177766, + 0.87245916660666423, + 0.044538820878187127, + 0.99747314411877042, + -0.027538674155666295, + 0.040841562163090588, + -0.051194872669448964, + 0.99952061205222253, + 0.0031377066943996455, + 0.030132065150984155, + -0.0063843190073131937, + 0.99029201357102237, + -0.0026197723932672116, + -0.071010413617385235, + -0.11946709089931652, + 0.99756194492957873, + 0.061062103391662841, + -0.032863226191569304, + 0.0078481795331082124, + -0.19916835541421662, + 0.98930956391907732, + -0.083380004771740401, + -0.018346917947370155, + 0.11822754393263037, + 0.97335083066700179, + -0.16431495629953205, + 0.12836296749130405, + 0.095455246859284873, + 0.71816826649065957, + 0.95442942492576888, + 0.037027514672022657, + 0.017204891670857536, + 0.29563055947529049, + -0.59334095211808491, + 0.99830808533946158, + 0.0036769125162224602, + 0.022228043984499315, + 0.05360374166818526, + 0.98077273051782088, + 0.09288695269567683, + -0.14580790734436311, + -0.090536839172717987, + 0.28079384367374682 + ], + [ + 0.033333333333333333, + 0.55659451871360044, + 0.86803168350734028, + 0.043540129013288534, + 0.9974243088090724, + -0.027099379470072838, + 0.040968784077348587, + -0.052267873118243546, + 0.99946945545011845, + 0.0011184123191296737, + 0.03181372726167498, + -0.0068879266726463995, + 0.99052439697765782, + -0.0022653003941290072, + -0.070108954339744442, + -0.11807210478160937, + 0.99756500997954134, + 0.06122848829773913, + -0.031659391935460524, + -0.010621016315217374, + -0.19503733189327621, + 0.98735513635965166, + -0.088100667234829677, + -0.021345433421037407, + 0.13004798963866926, + 0.97080295881436718, + -0.17193556207203489, + 0.13134138365381381, + 0.10358194143838649, + 0.77795028329133165, + 0.95450720589573734, + 0.025309007916931348, + 0.037340342924766554, + 0.29475608017754973, + -0.43546055318212784, + 0.99901365164442724, + 0.0019738778500763741, + 0.0066771749260372054, + 0.043854794142796784, + 0.98121975863252875, + 0.091185574230096406, + -0.13774462290050368, + -0.099596160485470306, + 0.24931207396295854 + ], + [ + 0.033333333333333333, + 0.58901062419482786, + 0.86315464610584425, + 0.041987250112108486, + 0.99756428774847639, + -0.026906067829473697, + 0.038052918440097006, + -0.051899236227733105, + 0.99936088655372957, + -0.0012162695593752112, + 0.034376280577296997, + -0.0097267902503112638, + 0.99079302675115177, + -0.0027065767778010272, + -0.068547518606545801, + -0.11671799465516326, + 0.9971138313890705, + 0.060445309468740147, + -0.033694884047218612, + -0.03122541600813122, + -0.19259272866914634, + 0.98537722474403611, + -0.094894861528375188, + -0.0190191448526832, + 0.14023181643380542, + 0.96880885750598544, + -0.17708922441166902, + 0.13331328011084162, + 0.11079879765281295, + 0.82394138749550028, + 0.95560221750565466, + 0.012071928093843125, + 0.064276045923747041, + 0.28731039029380928, + -0.28776443453738187, + 0.99923850612822029, + -0.0085032349213094213, + -0.021006398726710132, + 0.03176214852698258, + 0.98198150790522853, + 0.090526689757055731, + -0.12537632380169056, + -0.10861866323876818, + 0.23619469974798993 + ], + [ + 0.033333333333333333, + 0.6229348536664826, + 0.85849698039921596, + 0.039268926544497783, + 0.9978175652346476, + -0.026624020133648511, + 0.031360652342592665, + -0.051650532870143886, + 0.99919289363033592, + -0.0043684147697404859, + 0.037543054482691213, + -0.013601372399333005, + 0.9911799510730338, + -0.0035076812193210283, + -0.06512598990983362, + -0.11536293252854728, + 0.99632686223972688, + 0.056674141373247007, + -0.040459168840093339, + -0.0498385486939011, + -0.20195304848193954, + 0.98450005200598223, + -0.093332642642514493, + -0.0067248672093333101, + 0.14833557084731835, + 0.96744990641865147, + -0.1788289952313746, + 0.13512311784052863, + 0.1174845183849096, + 0.85085934041361666, + 0.95760970445825555, + 0.0022610450600955775, + 0.079619771004687298, + 0.27683791949039382, + -0.16758805776231045, + 0.99821122037418231, + -0.024091530517025218, + -0.047919963941030853, + 0.026412775929900982, + 0.98258731629160023, + 0.090086918462014526, + -0.11331710503558433, + -0.11647208545932114, + 0.23578261718468724 + ], + [ + 0.033333333333333333, + 0.6589602118100083, + 0.85452459190367613, + 0.036358257551978086, + 0.99812962869406885, + -0.026578091947579496, + 0.024138124219933201, + -0.049479291735123027, + 0.99902151967615815, + -0.0075453815794032557, + 0.04024431015604206, + -0.016717234843869673, + 0.99150725051459865, + -0.0030896869030052352, + -0.062506765333775624, + -0.11400320302224178, + 0.99534756107621769, + 0.051549700218369951, + -0.047224138924382875, + -0.066300390420207231, + -0.23098398971958878, + 0.9839763605030315, + -0.091495509125738811, + 0.0052911200872964113, + 0.15294148498446053, + 0.96707300500614035, + -0.17746012861981286, + 0.13787785795785668, + 0.11944623067969229, + 0.86577415460618456, + 0.96091911055915225, + 0.0010039625938141452, + 0.071400501561997398, + 0.26746106893903837, + -0.1177468441137647, + 0.99773425556604356, + -0.026113088636951661, + -0.051838009509836802, + 0.03401885715260846, + 0.982657306460335, + 0.089947502921371422, + -0.10552386794752391, + -0.12312098956604679, + 0.2418593442537702 + ], + [ + 0.033333333333333333, + 0.69549009503792136, + 0.85151515864634586, + 0.032866449125213019, + 0.99819308626007508, + -0.0239595433469624, + 0.018990497652654377, + -0.05172875239261001, + 0.99897799701315626, + -0.01052824918781604, + 0.041905024611563237, + -0.013269753762816319, + 0.99193431420430589, + -0.0026987016022047053, + -0.059721294456695648, + -0.1117694068254463, + 0.99520999299151636, + 0.043691414050802506, + -0.049914917279095812, + -0.071809687515600837, + -0.28474077163086586, + 0.98340213820770517, + -0.095903338318708231, + 0.011691309013193445, + 0.15357765970804146, + 0.9667929351292901, + -0.17631385872101357, + 0.14515498032708093, + 0.11469470560249773, + 0.87221047113884553, + 0.96068484834064705, + -0.00029633737765979789, + 0.059498397533736154, + 0.27119084616517586, + -0.17131682719308716, + 0.99824189890415127, + -0.021238194604546595, + -0.045601832351932055, + 0.031345226882572248, + 0.98250810522099208, + 0.089278286493866738, + -0.10155394513682868, + -0.12803908373196457, + 0.24979086775471016 + ], + [ + 0.033333333333333333, + 0.73454318508825955, + 0.84932438749549977, + 0.028037221827385096, + 0.99822991893464963, + -0.016588329737617383, + 0.01298613825523208, + -0.05561669239944856, + 0.99885201033741122, + -0.015588185398445687, + 0.044308905586828852, + -0.0094016385057787751, + 0.992397003584094, + -0.0023436504271751126, + -0.057696364032522096, + -0.10869141712855537, + 0.99584180849352022, + 0.029868246287704681, + -0.049791502418534993, + -0.07019819518304582, + -0.36188127853114171, + 0.98360479713074833, + -0.10106589121903181, + 0.016824834378553307, + 0.14840557146420244, + 0.96868112452021915, + -0.17011547907155003, + 0.14745005189950511, + 0.10476681236600646, + 0.87038246833873378, + 0.96118381196228586, + -0.0054644656397642832, + 0.045653648723381214, + 0.27205066365506836, + -0.24252391995679834, + 0.99881582825859494, + -0.027428218116622605, + -0.029911965871805075, + 0.026831108227726223, + 0.98229216837163369, + 0.089589420140687145, + -0.10026483234154003, + -0.13047143423037999, + 0.25915414116564672 + ], + [ + 0.033333333333333333, + 0.7743506909206328, + 0.84863070390815631, + 0.021886927978635156, + 0.99813961929472417, + -0.0033807236355657814, + 0.009878444400819893, + -0.060069022283560709, + 0.99868421322584244, + -0.023756050615857081, + 0.045326953360856299, + -0.0033105304166595614, + 0.99293353857315569, + -0.0019492600436269657, + -0.055867516815671509, + -0.10468050881957194, + 0.9968950010322728, + 0.0085558834098429376, + -0.052649793099043572, + -0.057923683088784331, + -0.47473638029521126, + 0.9860190702632905, + -0.099833695294490765, + 0.025741733505075869, + 0.13090832485795767, + 0.97127873551889787, + -0.16159513139573659, + 0.14980067724945997, + 0.089801940589325002, + 0.85952933969358813, + 0.96238822189944528, + -0.016233096652325404, + 0.030514423880785724, + 0.26947034504287126, + -0.29585433701348057, + 0.99824337602542468, + -0.052621976036468211, + -0.023061278434422895, + 0.01446607397845181, + 0.98228848909793576, + 0.091187738186832401, + -0.10119691149627401, + -0.12865965060452852, + 0.26498995299812 + ], + [ + 0.033333333333333333, + 0.81479331784148556, + 0.85048377931117247, + 0.01390475264890197, + 0.99804571785212559, + 0.015044639542649091, + 0.015342786702027942, + -0.05867710621940344, + 0.99835163331730847, + -0.037922469943849214, + 0.04307566340297083, + -0.00062429833756506414, + 0.9932513963020535, + -0.0033177835106637677, + -0.053153754277606782, + -0.10303074523069902, + 0.99698807059042893, + -0.020909667947046517, + -0.064322806832368989, + -0.037949300493209714, + -0.62952291959678341, + 0.99115089990331673, + -0.0873874394539325, + 0.04388177419500848, + 0.089764797888865808, + 0.97593044667520124, + -0.14644003492251095, + 0.14284911485516807, + 0.075559313187263305, + 0.82510871486859483, + 0.96384852862760939, + -0.039154549166701046, + 0.035325100411284109, + 0.26118015319483506, + -0.36249780019200772, + 0.99853542071440893, + -0.034104045018575925, + -0.034230245568994323, + 0.024335529177637986, + 0.98222950903669382, + 0.095298029100642098, + -0.10876275767841284, + -0.11964171416882696, + 0.26385426629065151 + ], + [ + 0.033333333333333333, + 0.85239981972086065, + 0.85337999615984639, + 0.007867506650562045, + 0.99789460742810698, + 0.022996117117900467, + 0.023049989973718286, + -0.056091256231391155, + 0.99811861416066827, + -0.046748189224067004, + 0.039611201230234282, + 0.0021889740417886921, + 0.9936122809900152, + -0.0041360898224816339, + -0.05080875633844404, + -0.10067769418366723, + 0.99658273327222391, + -0.039302083055800817, + -0.072407592245662025, + -0.0059449639464163821, + -0.81070279179167104, + 0.99591224537900669, + -0.059525205717050479, + 0.058104446762413345, + 0.03520543501963521, + 0.98063302987237733, + -0.13190882010063279, + 0.13256425663207624, + 0.058186267852175656, + 0.78313670398815904, + 0.96719205815253473, + -0.052211055344509538, + 0.03853990912226396, + 0.24561800371984968, + -0.40078944185767468, + 0.99797624516262384, + -0.0060042021149761243, + -0.045893037452161556, + 0.043602669201408102, + 0.98246063378748605, + 0.10050604573430624, + -0.11889253415835931, + -0.10263626625198445, + 0.26518192339693597 + ], + [ + 0.033333333333333333, + 0.88615614229641182, + 0.85737728029121163, + 0.0010985232062402555, + 0.99778324590556955, + 0.032475870252145843, + 0.019227030267702051, + -0.054810887135644457, + 0.99775505484438454, + -0.052932154902392017, + 0.040813357853987806, + 0.0041602079936863276, + 0.99397897645703503, + -0.0072241359824559079, + -0.045567612524967049, + -0.099384097870365701, + 0.99515330673618485, + -0.060320609995188436, + -0.065909979445175002, + 0.041075475790083742, + -1.0054435247009883, + 0.99731422826445992, + -0.031643204765313647, + 0.063433505397649415, + -0.018418145574717645, + 0.98415895448305135, + -0.12066641458803816, + 0.12276218776241193, + 0.042428928304652114, + 0.73282662350493988, + 0.97200085184379781, + -0.064243138739820918, + 0.039444369870148287, + 0.2225562958564295, + -0.39722199427977162, + 0.9973099324629795, + 0.015781392167363368, + -0.042937002815410553, + 0.057273554640659419, + 0.98295616777734429, + 0.10453678915924652, + -0.12840095948467567, + -0.079890084141696321, + 0.27512044981799277 + ], + [ + 0.033333333333333333, + 0.91972034667994718, + 0.86245450066002638, + -0.0037810705722428808, + 0.99799449559037356, + 0.036113222300520623, + 0.0096658485648223012, + -0.051082221152872545, + 0.99769667529685135, + -0.053070046153758217, + 0.042111356977473653, + 0.0033982225299249392, + 0.99406548932841032, + -0.0083154739887228244, + -0.038470103968624429, + -0.10141354406219166, + 0.99227735105752568, + -0.072357678312760756, + -0.051395596420894175, + 0.086651703018391577, + -1.1510967955118199, + 0.99330728838202997, + -0.0087150960087512153, + 0.061776590262263412, + -0.097202524886266642, + 0.98571142710530713, + -0.11333717667502302, + 0.12098253721815046, + 0.029847823130208982, + 0.66899517652706109, + 0.97738754389021487, + -0.068202607475329885, + 0.045549776518961346, + 0.19490308166084019, + -0.38470225261010432, + 0.99623063113604327, + 0.028647112110051137, + -0.041972302763246851, + 0.070300770655699854, + 0.98391882586903923, + 0.10816266036847949, + -0.13026368690524193, + -0.05688545399623119, + 0.29960764550582009 + ], + [ + 0.033333333333333333, + 0.95175079172474097, + 0.86754690467618711, + -0.0077554868973278837, + 0.9982390636216244, + 0.036165900414177832, + 0.0037487428740368769, + -0.046869461634613231, + 0.99799693760394836, + -0.048463064234313714, + 0.040574424495114128, + 0.0026758204446534189, + 0.99395159655219611, + -0.0078307186112561537, + -0.032097223908174419, + -0.1047314268725499, + 0.98774932125377557, + -0.077524841925399296, + -0.041710486045713667, + 0.12884646910559061, + -1.2564053289731596, + 0.99064202200927387, + -0.013437057568819442, + 0.04750455298298497, + -0.12724443861778964, + 0.98621060823648476, + -0.10981073915512977, + 0.12241400209106654, + 0.018575517760622159, + 0.59786420504820192, + 0.98289514431870728, + -0.068724089461821319, + 0.043470522480204374, + 0.16524057757599731, + -0.35900197131885286, + 0.99546214363020302, + 0.032441592770406605, + -0.037611425188182009, + 0.081166768772656939, + 0.98432791167444089, + 0.11151481944628025, + -0.13178571283401899, + -0.035993516573502714, + 0.3391047186687467 + ], + [ + 0.033333333333333333, + 0.98320309469539569, + 0.87192515180607222, + -0.010488058531497252, + 0.99857797431606687, + 0.033674806031751159, + 0.00079227814072193681, + -0.041320805230441168, + 0.99844523899756599, + -0.041357955614072857, + 0.037364354623968837, + 0.00072748474351616826, + 0.99385183197105242, + -0.0066879268976018846, + -0.02427109380723538, + -0.1078180027963597, + 0.98285199494750586, + -0.078217012358996987, + -0.035869219936991222, + 0.1630872590561632, + -1.3102159996799874, + 0.9929252947929933, + -0.023318628917501978, + 0.036386279978953245, + -0.11059674106839013, + 0.98691200852674665, + -0.10781031426486076, + 0.11974493815750348, + 0.0065401337501907256, + 0.52841259222368897, + 0.98784254685790518, + -0.066978860327816817, + 0.045703091671704124, + 0.13263544887443188, + -0.3259373206928281, + 0.99455498083393579, + 0.035643954159800789, + -0.038887320640378149, + 0.089875886219140777, + 0.98315653486531585, + 0.11669177574988296, + -0.13954559244608419, + -0.017699860249035436, + 0.38796680259210337 + ], + [ + 0.033333333333333333, + 1.0140809438183607, + 0.87550270010800424, + -0.012360962133721346, + 0.99891844436801402, + 0.029925941192535572, + 0.0012646782547535208, + -0.035563747469012426, + 0.99890482277563208, + -0.033573596045949124, + 0.03250663365681257, + -0.0022994461133721386, + 0.99372095656749593, + -0.004899838641244594, + -0.017459074075694511, + -0.11040757579210875, + 0.9777467716815057, + -0.076437641371363246, + -0.033446248014167505, + 0.19248346926879525, + -1.3170602798511937, + 0.99547943601514577, + -0.046237009316417749, + 0.037441819331985343, + -0.074033381697391223, + 0.98856342705155897, + -0.10634853900385503, + 0.10673765954091231, + -0.0062778167821995285, + 0.46600225141005647, + 0.99168957660956025, + -0.063346079121438886, + 0.051775632900034882, + 0.09928918240016027, + -0.29001184447377881, + 0.99335409676870945, + 0.038176523134917949, + -0.047776380255767602, + 0.097506969001230612, + 0.98014035929831034, + 0.12511976339850889, + -0.15384994554757048, + -0.00033931797731524729, + 0.44210532653306112 + ], + [ + 0.033333333333333333, + 1.0438158196330571, + 0.87775118424736986, + -0.013542354522484893, + 0.99912119004281608, + 0.025300653487348026, + 0.0041553397734582402, + -0.033158071293536651, + 0.99925127229754229, + -0.027393728155000841, + 0.027191058004854527, + -0.0026692384849473123, + 0.99355504256955607, + -0.0022653305856779184, + -0.0133536479627346, + -0.11253855227446562, + 0.97222167590097486, + -0.071946468217468668, + -0.032809466119194053, + 0.2203003802818008, + -1.2805709818392743, + 0.99695788998659873, + -0.066150773572326543, + 0.033898758956366931, + -0.023450264187635766, + 0.99083486895407902, + -0.10507067744121872, + 0.082221279804070513, + -0.021120519742118215, + 0.41205343617744744, + 0.99391889919171261, + -0.058365234325577928, + 0.060595089941207096, + 0.071041933579200689, + -0.25822021288851604, + 0.99187376288597617, + 0.03861907577733608, + -0.06059536947966384, + 0.10499146004386122, + 0.97516008136398824, + 0.13738716418406052, + -0.17292249724484351, + 0.016893572098553123, + 0.49488066526661034 + ], + [ + 0.033333333333333333, + 1.0720951877233968, + 0.87870498079923198, + -0.014477183241713671, + 0.99920095633268591, + 0.02132628239590104, + 0.0075737243934762416, + -0.032943546284937203, + 0.99949736018371782, + -0.022337733519496826, + 0.022401436372032617, + -0.0020562819508244301, + 0.9934495845903949, + -0.00011248341770492652, + -0.010650555101175107, + -0.11377379267955075, + 0.96668335232862168, + -0.067452933689387123, + -0.033174152814889467, + 0.24468934110910412, + -1.199042096683868, + 0.99709795642335974, + -0.069960159818134415, + 0.023200349569290273, + 0.019052168234709777, + 0.99234278927958908, + -0.10553368271775578, + 0.05254492154541867, + -0.036843745692030534, + 0.36483169098763985, + 0.99509247036121695, + -0.053695528792379481, + 0.068700580791431418, + 0.046776017541443116, + -0.23017212488499542, + 0.99021658009825941, + 0.041102611239772609, + -0.071377965114746339, + 0.11263607745237518, + 0.96942057275083182, + 0.1512044883736153, + -0.19022449023435262, + 0.03428701121712352, + 0.5502417369894792 + ], + [ + 0.033333333333333333, + 1.0997965789515181, + 0.87868863506540262, + -0.013062497147689903, + 0.99920366147689865, + 0.017921269363218521, + 0.010823588512296882, + -0.033966467689275352, + 0.99965395867689832, + -0.018221367476584902, + 0.018835301267184388, + -0.0022751033083435439, + 0.99338493490951796, + 0.001853113107892335, + -0.0095254163731672645, + -0.11442116722678528, + 0.96230011548255923, + -0.062716253725316667, + -0.036421461464542899, + 0.26214239719225424, + -1.0685980312012469, + 0.99643314073561817, + -0.073157744558785612, + 0.0093996953699767467, + 0.040994953125658665, + 0.99251185053181756, + -0.10758328267681992, + 0.021218967618798955, + -0.053812816833714472, + 0.32319190183607327, + 0.99599717803467314, + -0.049409791133494238, + 0.069915051689101601, + 0.025693957157709762, + -0.20684590927637123, + 0.98892610109090429, + 0.041575567154220276, + -0.07602029899239611, + 0.12048880835187259, + 0.96340467931466667, + 0.16483014566268117, + -0.20462053197042929, + 0.053036636880199141, + 0.59455753702148084 + ], + [ + 0.033333333333333333, + 1.1265860791702789, + 0.8776531778871155, + -0.012096620050974035, + 0.99890443684698793, + 0.015691188409258143, + 0.022796875904687153, + -0.037736124637982663, + 0.99974940185778582, + -0.014715388412025982, + 0.016794253664674661, + -0.0015949522655097791, + 0.99345569023493563, + 0.0034530103836529413, + -0.0090843840844794955, + -0.11380396401234746, + 0.95894330208163403, + -0.058335244550540032, + -0.041306687598323788, + 0.27444216184044162, + -0.89964699203968135, + 0.99716088250110768, + -0.070680969549982264, + -0.0029509054875594205, + 0.025800525380117765, + 0.99126439697510782, + -0.11078672213989303, + -0.0083424469186729761, + -0.071074616189488238, + 0.28750939645585799, + 0.99653127409764375, + -0.046204526412302438, + 0.068411696852760606, + 0.010507198392890561, + -0.1939099164766592, + 0.98769549636207643, + 0.044284225250064375, + -0.077017800017389407, + 0.12870420482857009, + 0.95773338828972976, + 0.17703596392067078, + -0.21484025168612644, + 0.072447848064621706, + 0.63131992503700152 + ], + [ + 0.033333333333333333, + 1.1533150642139809, + 0.87557643021720866, + -0.010792732749041942, + 0.9983266369879249, + 0.015171046004394281, + 0.034777641068505963, + -0.043638067386430723, + 0.99980703110776015, + -0.01205952920795572, + 0.015506777964205253, + -9.0221602827517575e-05, + 0.99353982280989539, + 0.004196296621645822, + -0.0086345193002805316, + -0.11307721548569362, + 0.9570416071243244, + -0.053373707189212541, + -0.050652882012007336, + 0.2804583661751745, + -0.7047777126685052, + 0.99757218571245465, + -0.067702231156632875, + -0.013898582931491054, + 0.0085423405332674587, + 0.9890579143701681, + -0.11422667882673052, + -0.029990170600681976, + -0.08841548242977755, + 0.25031690515620592, + 0.99691230677324028, + -0.043648692984295696, + 0.065272455134390478, + -0.00038833690091919437, + -0.18943812360494464, + 0.98641426814896416, + 0.045178017678371402, + -0.07611970158544, + 0.13838941195532228, + 0.95252636560413428, + 0.18723492437603828, + -0.2222949919500665, + 0.090672721789953822, + 0.66214571186847515 + ], + [ + 0.033333333333333333, + 1.181, + 0.86299999999999999, + -0.0089999999999999993, + 0.99750735388017742, + 0.015553604943321114, + 0.047369303118184748, + -0.049933089733471422, + 0.99982405213142556, + -0.01172681435624426, + 0.014633303038822446, + 0.00046156984804378737, + 0.99368255327341581, + 0.0044096943680038084, + -0.0082941127449286441, + -0.11183356208840142, + 0.95600187538087389, + -0.0488758467527763, + -0.069864138690367006, + 0.28069657639077894, + -0.5024367139085536, + 0.99768643965205983, + -0.065703801133518383, + -0.01713315162688156, + -0.0033516811205851799, + 0.9860129447607674, + -0.11826681969247219, + -0.05225038887392764, + -0.10517285289727267, + 0.22454681915276589, + 0.99667587777160294, + -0.033854496357851538, + 0.070963961094007877, + -0.021335040904792872, + -0.1859584202568102, + 0.98523994868319442, + 0.046619555348112594, + -0.073777156052475812, + 0.14726096503381136, + 0.94939330315069737, + 0.1950534536755672, + -0.22661015224683786, + 0.096199506446272134, + 0.69193735185407446 + ], + [ + 0.033333333333333333, + 1.2110000000000001, + 0.85399999999999998, + -0.0060000000000000001, + 0.99709657045140043, + 0.014351859516301456, + 0.051411983930217821, + -0.054307101108776387, + 0.99981145985556585, + -0.013917462628585349, + 0.01340666353938706, + -0.0019000916308736916, + 0.99379478103532959, + 0.0048899988998834278, + -0.0083699981997733507, + -0.11080597559624784, + 0.95565331921798524, + -0.043903014699745023, + -0.098367032899576115, + 0.27408609159615388, + -0.30530800000000091, + 0.9986501329013866, + -0.050265006699931281, + 0.006347000799992928, + -0.011448001499983349, + 0.98232130563494557, + -0.12158603779536975, + -0.076083023696926766, + -0.12030403739697036, + 0.20708599999999996, + 0.99578033047383352, + -0.02524355128409209, + 0.081041010801654587, + -0.034880526490241537, + -0.18486300000000006, + 0.98391916597844253, + 0.046316007801455929, + -0.077360013101529387, + 0.15418602600285386, + 0.94992615869820118, + 0.19024067799084088, + -0.22758181109422809, + 0.098261369405968635, + 0.71991799999999972 + ] + ], + "Loop" : "wrap" +} \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/DeepMimic_Optimizer_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/DeepMimic_Optimizer_multiclip.py new file mode 100644 index 000000000..5109d4311 --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/DeepMimic_Optimizer_multiclip.py @@ -0,0 +1,54 @@ +import numpy as np +import sys +import os +import inspect +currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) +parentdir = os.path.dirname(os.path.dirname(currentdir)) +os.sys.path.insert(0, parentdir) +print("parentdir=", parentdir) + +from pybullet_envs.deep_mimic.env.pybullet_deep_mimic_env_multiclip import PyBulletDeepMimicEnvMultiClip +from pybullet_envs.deep_mimic.learning.rl_world import RLWorld +from pybullet_utils.logger import Logger +from pybullet_envs.deep_mimic.testrl_multiclip import update_world, update_timestep, build_world +import pybullet_utils.mpi_util as MPIUtil + +args = [] +world = None + + +def run(): + global update_timestep + global world + done = False + while not (done): + update_world(world, update_timestep) + + return + + +def shutdown(): + global world + + Logger.print2('Shutting down...') + world.shutdown() + return + + +def main(): + global args + global world + + # Command line arguments + args = sys.argv[1:] + enable_draw = False + world = build_world(args, enable_draw) + + run() + shutdown() + + return + + +if __name__ == '__main__': + main() diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd_multiclip.py new file mode 100644 index 000000000..e243b227d --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/humanoid_stable_pd_multiclip.py @@ -0,0 +1,997 @@ +from pybullet_utils import pd_controller_stable +from pybullet_envs.deep_mimic.env import humanoid_pose_interpolator +import math +import numpy as np + +chest = 1 +neck = 2 +rightHip = 3 +rightKnee = 4 +rightAnkle = 5 +rightShoulder = 6 +rightElbow = 7 +leftHip = 9 +leftKnee = 10 +leftAnkle = 11 +leftShoulder = 12 +leftElbow = 13 +jointFrictionForce = 0 + + +class HumanoidStablePDMultiClip(object): + + def __init__(self, pybullet_client, mocap_data, timeStep, + useFixedBase=True, arg_parser=None, useComReward=False): + self._pybullet_client = pybullet_client + self._mocap_data = mocap_data # this is a dictionary + self._arg_parser = arg_parser + self._n_clips = self._mocap_data.getNumClips() + print("LOADING humanoid!") + flags = self._pybullet_client.URDF_MAINTAIN_LINK_ORDER + self._pybullet_client.URDF_USE_SELF_COLLISION + self._pybullet_client.URDF_USE_SELF_COLLISION_EXCLUDE_ALL_PARENTS + self._sim_model = self._pybullet_client.loadURDF( + "humanoid/humanoid.urdf", [0, 0.889540259, 0], + globalScaling=0.25, + useFixedBase=useFixedBase, + flags=flags) + + # self._pybullet_client.setCollisionFilterGroupMask(self._sim_model,-1,collisionFilterGroup=0,collisionFilterMask=0) + # for j in range (self._pybullet_client.getNumJoints(self._sim_model)): + # self._pybullet_client.setCollisionFilterGroupMask(self._sim_model,j,collisionFilterGroup=0,collisionFilterMask=0) + + self._end_effectors = [5, 8, 11, 14] # ankle and wrist, both left and right + + self._kin_models = {} + self._poseInterpolators = {} + + for i in range(self._n_clips): + self._kin_models[i] = self._pybullet_client.loadURDF( + "humanoid/humanoid.urdf", [0, 0.85, 0], + globalScaling=0.25, + useFixedBase=True, + flags=self._pybullet_client.URDF_MAINTAIN_LINK_ORDER) + + self._pybullet_client.changeDynamics(self._sim_model, -1, lateralFriction=0.9) + for j in range(self._pybullet_client.getNumJoints(self._sim_model)): + self._pybullet_client.changeDynamics(self._sim_model, j, lateralFriction=0.9) + + self._pybullet_client.changeDynamics(self._sim_model, -1, linearDamping=0, angularDamping=0) + for i in range(self._n_clips): + self._pybullet_client.changeDynamics(self._kin_models[i], -1, linearDamping=0, angularDamping=0) + + # todo: add feature to disable simulation for a particular object. Until then, disable all collisions + self._pybullet_client.setCollisionFilterGroupMask(self._kin_models[i], + -1, + collisionFilterGroup=0, + collisionFilterMask=0) + self._pybullet_client.changeDynamics( + self._kin_models[i], + -1, + activationState=self._pybullet_client.ACTIVATION_STATE_SLEEP + + self._pybullet_client.ACTIVATION_STATE_ENABLE_SLEEPING + + self._pybullet_client.ACTIVATION_STATE_DISABLE_WAKEUP) + alpha = 0.4 + self._pybullet_client.changeVisualShape(self._kin_models[i], -1, rgbaColor=[1, 1, 1, alpha]) + for j in range(self._pybullet_client.getNumJoints(self._kin_models[i])): + self._pybullet_client.setCollisionFilterGroupMask(self._kin_models[i], + j, + collisionFilterGroup=0, + collisionFilterMask=0) + self._pybullet_client.changeDynamics( + self._kin_models[i], + j, + activationState=self._pybullet_client.ACTIVATION_STATE_SLEEP + + self._pybullet_client.ACTIVATION_STATE_ENABLE_SLEEPING + + self._pybullet_client.ACTIVATION_STATE_DISABLE_WAKEUP) + self._pybullet_client.changeVisualShape(self._kin_models[i], j, rgbaColor=[1, 1, 1, alpha]) + + self._poseInterpolators[i] = humanoid_pose_interpolator.HumanoidPoseInterpolator() + + for j in range(self._mocap_data.getNumFrames() - 1): + frameData = self._mocap_data._motion_data[i]['Frames'][j] + self._poseInterpolators[i].PostProcessMotionData(frameData) + + self._stablePD = pd_controller_stable.PDControllerStableMultiDof(self._pybullet_client) + self._timeStep = timeStep + self._kpOrg = [ + 0, 0, 0, 0, 0, 0, 0, 1000, 1000, 1000, 1000, 100, 100, 100, 100, 500, 500, 500, 500, 500, + 400, 400, 400, 400, 400, 400, 400, 400, 300, 500, 500, 500, 500, 500, 400, 400, 400, 400, + 400, 400, 400, 400, 300 + ] + self._kdOrg = [ + 0, 0, 0, 0, 0, 0, 0, 100, 100, 100, 100, 10, 10, 10, 10, 50, 50, 50, 50, 50, 40, 40, 40, + 40, 40, 40, 40, 40, 30, 50, 50, 50, 50, 50, 40, 40, 40, 40, 40, 40, 40, 40, 30 + ] + + self._jointIndicesAll = [ + chest, neck, rightHip, rightKnee, rightAnkle, rightShoulder, rightElbow, leftHip, leftKnee, + leftAnkle, leftShoulder, leftElbow + ] + for j in self._jointIndicesAll: + # self._pybullet_client.setJointMotorControlMultiDof(self._sim_model, j, self._pybullet_client.POSITION_CONTROL, force=[1,1,1]) + self._pybullet_client.setJointMotorControl2(self._sim_model, + j, + self._pybullet_client.POSITION_CONTROL, + targetPosition=0, + positionGain=0, + targetVelocity=0, + force=jointFrictionForce) + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + j, + self._pybullet_client.POSITION_CONTROL, + targetPosition=[0, 0, 0, 1], + targetVelocity=[0, 0, 0], + positionGain=0, + velocityGain=1, + force=[jointFrictionForce, jointFrictionForce, jointFrictionForce]) + + for i in range(self._n_clips): + self._pybullet_client.setJointMotorControl2(self._kin_models[i], + j, + self._pybullet_client.POSITION_CONTROL, + targetPosition=0, + positionGain=0, + targetVelocity=0, + force=0) + self._pybullet_client.setJointMotorControlMultiDof( + self._kin_models[i], + j, + self._pybullet_client.POSITION_CONTROL, + targetPosition=[0, 0, 0, 1], + targetVelocity=[0, 0, 0], + positionGain=0, + velocityGain=1, + force=[jointFrictionForce, jointFrictionForce, 0]) + + self._jointDofCounts = [4, 4, 4, 1, 4, 4, 1, 4, 1, 4, 4, 1] + + # only those body parts/links are allowed to touch the ground, otherwise the episode terminates + fall_contact_bodies = [] + if self._arg_parser is not None: + fall_contact_bodies = self._arg_parser.parse_ints("fall_contact_bodies") + self._fall_contact_body_parts = fall_contact_bodies + + # [x,y,z] base position and [x,y,z,w] base orientation! + self._totalDofs = 7 + for dof in self._jointDofCounts: + self._totalDofs += dof + self.setSimTime(0) + + self._useComReward = useComReward + + self.resetPose() + + def resetPose(self): + # print("resetPose with self._frame=", self._frame, " and self._frameFraction=",self._frameFraction) + pose = self.computePose(self._frameFraction, 0) + self.initializePose(self._poseInterpolators[0], self._sim_model, initBase=True) + self.initializePose(self._poseInterpolators[0], self._kin_models[0], initBase=False) + for i in range(1, self._n_clips): + _ = self.computePose(self._frameFraction, i) + # self.initializePose(self._poseInterpolators[i], self._sim_model, initBase=True) + self.initializePose(self._poseInterpolators[i], self._kin_models[i], initBase=False) + + def initializePose(self, pose, phys_model, initBase, initializeVelocity=True): + + useArray = True + if initializeVelocity: + if initBase: + self._pybullet_client.resetBasePositionAndOrientation(phys_model, pose._basePos, + pose._baseOrn) + self._pybullet_client.resetBaseVelocity(phys_model, pose._baseLinVel, pose._baseAngVel) + if useArray: + indices = [chest, neck, rightHip, rightKnee, + rightAnkle, rightShoulder, rightElbow, leftHip, + leftKnee, leftAnkle, leftShoulder, leftElbow] + jointPositions = [pose._chestRot, pose._neckRot, pose._rightHipRot, pose._rightKneeRot, + pose._rightAnkleRot, pose._rightShoulderRot, pose._rightElbowRot, pose._leftHipRot, + pose._leftKneeRot, pose._leftAnkleRot, pose._leftShoulderRot, pose._leftElbowRot] + + jointVelocities = [pose._chestVel, pose._neckVel, pose._rightHipVel, pose._rightKneeVel, + pose._rightAnkleVel, pose._rightShoulderVel, pose._rightElbowVel, pose._leftHipVel, + pose._leftKneeVel, pose._leftAnkleVel, pose._leftShoulderVel, pose._leftElbowVel] + self._pybullet_client.resetJointStatesMultiDof(phys_model, indices, + jointPositions, jointVelocities) + else: + self._pybullet_client.resetJointStateMultiDof(phys_model, chest, pose._chestRot, + pose._chestVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, neck, pose._neckRot, pose._neckVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightHip, pose._rightHipRot, + pose._rightHipVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightKnee, pose._rightKneeRot, + pose._rightKneeVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightAnkle, pose._rightAnkleRot, + pose._rightAnkleVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightShoulder, + pose._rightShoulderRot, pose._rightShoulderVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightElbow, pose._rightElbowRot, + pose._rightElbowVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftHip, pose._leftHipRot, + pose._leftHipVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftKnee, pose._leftKneeRot, + pose._leftKneeVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftAnkle, pose._leftAnkleRot, + pose._leftAnkleVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftShoulder, + pose._leftShoulderRot, pose._leftShoulderVel) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftElbow, pose._leftElbowRot, + pose._leftElbowVel) + else: + + if initBase: + self._pybullet_client.resetBasePositionAndOrientation(phys_model, pose._basePos, + pose._baseOrn) + if useArray: + indices = [chest, neck, rightHip, rightKnee, + rightAnkle, rightShoulder, rightElbow, leftHip, + leftKnee, leftAnkle, leftShoulder, leftElbow] + jointPositions = [pose._chestRot, pose._neckRot, pose._rightHipRot, pose._rightKneeRot, + pose._rightAnkleRot, pose._rightShoulderRot, pose._rightElbowRot, pose._leftHipRot, + pose._leftKneeRot, pose._leftAnkleRot, pose._leftShoulderRot, pose._leftElbowRot] + self._pybullet_client.resetJointStatesMultiDof(phys_model, indices, jointPositions) + + else: + self._pybullet_client.resetJointStateMultiDof(phys_model, chest, pose._chestRot, [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, neck, pose._neckRot, [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightHip, pose._rightHipRot, + [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightKnee, pose._rightKneeRot, [0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightAnkle, pose._rightAnkleRot, + [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightShoulder, + pose._rightShoulderRot, [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, rightElbow, pose._rightElbowRot, + [0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftHip, pose._leftHipRot, + [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftKnee, pose._leftKneeRot, [0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftAnkle, pose._leftAnkleRot, + [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftShoulder, + pose._leftShoulderRot, [0, 0, 0]) + self._pybullet_client.resetJointStateMultiDof(phys_model, leftElbow, pose._leftElbowRot, [0]) + + def calcCycleCount(self, simTime, cycleTime): + phases = simTime / cycleTime + count = math.floor(phases) + loop = True + # count = (loop) ? count : cMathUtil::Clamp(count, 0, 1); + return count + + def getCycleTime(self): + keyFrameDuration = self._mocap_data.getKeyFrameDuration() + cycleTime = keyFrameDuration * (self._mocap_data.getNumFrames() - 1) + return cycleTime + + def setSimTime(self, t): + self._simTime = t + # print("SetTimeTime time =",t) + keyFrameDuration = self._mocap_data.getKeyFrameDuration() + cycleTime = self.getCycleTime() + # print("self._motion_data.NumFrames()=",self._mocap_data.NumFrames()) + self._cycleCount = self.calcCycleCount(t, cycleTime) + # print("cycles=",cycles) + frameTime = t - self._cycleCount * cycleTime + if (frameTime < 0): + frameTime += cycleTime + + # print("keyFrameDuration=",keyFrameDuration) + # print("frameTime=",frameTime) + self._frame = int(frameTime / keyFrameDuration) + # print("self._frame=",self._frame) + + self._frameNext = self._frame + 1 + if (self._frameNext >= self._mocap_data.getNumFrames()): + self._frameNext = self._frame + + self._frameFraction = (frameTime - self._frame * keyFrameDuration) / (keyFrameDuration) + + def computeCycleOffset(self, i=0): + firstFrame = 0 + lastFrame = self._mocap_data.getNumFrames() - 1 + frameData = self._mocap_data._motion_data[i]['Frames'][0] + frameDataNext = self._mocap_data._motion_data[i]['Frames'][lastFrame] + + basePosStart = [frameData[1], frameData[2], frameData[3]] + basePosEnd = [frameDataNext[1], frameDataNext[2], frameDataNext[3]] + self._cycleOffset = [ + basePosEnd[0] - basePosStart[0], basePosEnd[1] - basePosStart[1], + basePosEnd[2] - basePosStart[2] + ] + return self._cycleOffset + + def computePose(self, frameFraction, i=0): + frameData = self._mocap_data._motion_data[i]['Frames'][self._frame] + frameDataNext = self._mocap_data._motion_data[i]['Frames'][self._frameNext] + + self._poseInterpolators[i].Slerp(frameFraction, frameData, frameDataNext, self._pybullet_client) + # print("self._poseInterpolator.Slerp(", frameFraction,")=", pose) + self.computeCycleOffset() + oldPos = self._poseInterpolators[i]._basePos + self._poseInterpolators[i]._basePos = [ + oldPos[0] + self._cycleCount * self._cycleOffset[0], + oldPos[1] + self._cycleCount * self._cycleOffset[1], + oldPos[2] + self._cycleCount * self._cycleOffset[2] + ] + pose = self._poseInterpolators[i].GetPose() + + return pose + + def convertActionToPose(self, action, i): + pose = self._poseInterpolators[i].ConvertFromAction(self._pybullet_client, action) + return pose + + def computeAndApplyPDForces(self, desiredPositions, maxForces): + dofIndex = 7 + scaling = 1 + indices = [] + forces = [] + targetPositions = [] + targetVelocities = [] + kps = [] + kds = [] + + for index in range(len(self._jointIndicesAll)): + jointIndex = self._jointIndicesAll[index] + indices.append(jointIndex) + kps.append(self._kpOrg[dofIndex]) + kds.append(self._kdOrg[dofIndex]) + if self._jointDofCounts[index] == 4: + force = [ + scaling * maxForces[dofIndex + 0], + scaling * maxForces[dofIndex + 1], + scaling * maxForces[dofIndex + 2] + ] + targetVelocity = [0, 0, 0] + targetPosition = [ + desiredPositions[dofIndex + 0], + desiredPositions[dofIndex + 1], + desiredPositions[dofIndex + 2], + desiredPositions[dofIndex + 3] + ] + if self._jointDofCounts[index] == 1: + force = [scaling * maxForces[dofIndex]] + targetPosition = [desiredPositions[dofIndex + 0]] + targetVelocity = [0] + forces.append(force) + targetPositions.append(targetPosition) + targetVelocities.append(targetVelocity) + dofIndex += self._jointDofCounts[index] + + # static char* kwlist[] = { "bodyUniqueId", + # "jointIndices", + # "controlMode", "targetPositions", "targetVelocities", "forces", "positionGains", "velocityGains", "maxVelocities", "physicsClientId", NULL }; + self._pybullet_client.setJointMotorControlMultiDofArray(self._sim_model, + indices, + self._pybullet_client.STABLE_PD_CONTROL, + targetPositions=targetPositions, + targetVelocities=targetVelocities, + forces=forces, + positionGains=kps, + velocityGains=kds, + ) + + def computePDForces(self, desiredPositions, desiredVelocities, maxForces): + """Compute torques from the PD controller.""" + if desiredVelocities == None: + desiredVelocities = [0] * self._totalDofs + + taus = self._stablePD.computePD(bodyUniqueId=self._sim_model, + jointIndices=self._jointIndicesAll, + desiredPositions=desiredPositions, + desiredVelocities=desiredVelocities, + kps=self._kpOrg, + kds=self._kdOrg, + maxForces=maxForces, + timeStep=self._timeStep) + return taus + + def applyPDForces(self, taus): + """Apply pre-computed torques.""" + dofIndex = 7 + scaling = 1 + useArray = True + indices = [] + forces = [] + + if (useArray): + for index in range(len(self._jointIndicesAll)): + jointIndex = self._jointIndicesAll[index] + indices.append(jointIndex) + if self._jointDofCounts[index] == 4: + force = [ + scaling * taus[dofIndex + 0], scaling * taus[dofIndex + 1], + scaling * taus[dofIndex + 2] + ] + if self._jointDofCounts[index] == 1: + force = [scaling * taus[dofIndex]] + # print("force[", jointIndex,"]=",force) + forces.append(force) + dofIndex += self._jointDofCounts[index] + self._pybullet_client.setJointMotorControlMultiDofArray(self._sim_model, + indices, + self._pybullet_client.TORQUE_CONTROL, + forces=forces) + else: + for index in range(len(self._jointIndicesAll)): + jointIndex = self._jointIndicesAll[index] + if self._jointDofCounts[index] == 4: + force = [ + scaling * taus[dofIndex + 0], scaling * taus[dofIndex + 1], + scaling * taus[dofIndex + 2] + ] + # print("force[", jointIndex,"]=",force) + self._pybullet_client.setJointMotorControlMultiDof(self._sim_model, + jointIndex, + self._pybullet_client.TORQUE_CONTROL, + force=force) + if self._jointDofCounts[index] == 1: + force = [scaling * taus[dofIndex]] + # print("force[", jointIndex,"]=",force) + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + jointIndex, + controlMode=self._pybullet_client.TORQUE_CONTROL, + force=force) + dofIndex += self._jointDofCounts[index] + + def setJointMotors(self, desiredPositions, maxForces, i=0): + controlMode = self._pybullet_client.POSITION_CONTROL + startIndex = 7 + chest = 1 + neck = 2 + rightHip = 3 + rightKnee = 4 + rightAnkle = 5 + rightShoulder = 6 + rightElbow = 7 + leftHip = 9 + leftKnee = 10 + leftAnkle = 11 + leftShoulder = 12 + leftElbow = 13 + kp = 0.2 + + forceScale = 1 + # self._jointDofCounts=[4,4,4,1,4,4,1,4,1,4,4,1] + maxForce = [ + forceScale * maxForces[startIndex], forceScale * maxForces[startIndex + 1], + forceScale * maxForces[startIndex + 2], forceScale * maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + chest, + controlMode, + targetPosition=self._poseInterpolators[i]._chestRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + neck, + controlMode, + targetPosition=self._poseInterpolators[i]._neckRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + rightHip, + controlMode, + targetPosition=self._poseInterpolators[i]._rightHipRot, + positionGain=kp, + force=maxForce) + maxForce = [forceScale * maxForces[startIndex]] + startIndex += 1 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + rightKnee, + controlMode, + targetPosition=self._poseInterpolators[i]._rightKneeRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + rightAnkle, + controlMode, + targetPosition=self._poseInterpolators[i]._rightAnkleRot, + positionGain=kp, + force=maxForce) + maxForce = [ + forceScale * maxForces[startIndex], forceScale * maxForces[startIndex + 1], + forceScale * maxForces[startIndex + 2], forceScale * maxForces[startIndex + 3] + ] + startIndex += 4 + maxForce = [forceScale * maxForces[startIndex]] + startIndex += 1 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + rightElbow, + controlMode, + targetPosition=self._poseInterpolators[i]._rightElbowRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + leftHip, + controlMode, + targetPosition=self._poseInterpolators[i]._leftHipRot, + positionGain=kp, + force=maxForce) + maxForce = [forceScale * maxForces[startIndex]] + startIndex += 1 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + leftKnee, + controlMode, + targetPosition=self._poseInterpolators[i]._leftKneeRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + leftAnkle, + controlMode, + targetPosition=self._poseInterpolators[i]._leftAnkleRot, + positionGain=kp, + force=maxForce) + maxForce = [ + maxForces[startIndex], maxForces[startIndex + 1], maxForces[startIndex + 2], + maxForces[startIndex + 3] + ] + startIndex += 4 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + leftShoulder, + controlMode, + targetPosition=self._poseInterpolators[i]._leftShoulderRot, + positionGain=kp, + force=maxForce) + maxForce = [forceScale * maxForces[startIndex]] + startIndex += 1 + self._pybullet_client.setJointMotorControlMultiDof( + self._sim_model, + leftElbow, + controlMode, + targetPosition=self._poseInterpolators[i]._leftElbowRot, + positionGain=kp, + force=maxForce) + # print("startIndex=",startIndex) + + def getPhase(self): + keyFrameDuration = self._mocap_data.getKeyFrameDuration() + cycleTime = keyFrameDuration * (self._mocap_data.getNumFrames() - 1) + phase = self._simTime / cycleTime + phase = math.fmod(phase, 1.0) + if (phase < 0): + phase += 1 + return phase + + def buildHeadingTrans(self, rootOrn): + # align root transform 'forward' with world-space x axis + eul = self._pybullet_client.getEulerFromQuaternion(rootOrn) + refDir = [1, 0, 0] + rotVec = self._pybullet_client.rotateVector(rootOrn, refDir) + heading = math.atan2(-rotVec[2], rotVec[0]) + heading2 = eul[1] + # print("heading=",heading) + headingOrn = self._pybullet_client.getQuaternionFromAxisAngle([0, 1, 0], -heading) + return headingOrn + + def buildOriginTrans(self): + rootPos, rootOrn = self._pybullet_client.getBasePositionAndOrientation(self._sim_model) + + # print("rootPos=",rootPos, " rootOrn=",rootOrn) + invRootPos = [-rootPos[0], 0, -rootPos[2]] + # invOrigTransPos, invOrigTransOrn = self._pybullet_client.invertTransform(rootPos,rootOrn) + headingOrn = self.buildHeadingTrans(rootOrn) + # print("headingOrn=",headingOrn) + headingMat = self._pybullet_client.getMatrixFromQuaternion(headingOrn) + # print("headingMat=",headingMat) + # dummy, rootOrnWithoutHeading = self._pybullet_client.multiplyTransforms([0,0,0],headingOrn, [0,0,0], rootOrn) + # dummy, invOrigTransOrn = self._pybullet_client.multiplyTransforms([0,0,0],rootOrnWithoutHeading, invOrigTransPos, invOrigTransOrn) + + invOrigTransPos, invOrigTransOrn = self._pybullet_client.multiplyTransforms([0, 0, 0], + headingOrn, + invRootPos, + [0, 0, 0, 1]) + # print("invOrigTransPos=",invOrigTransPos) + # print("invOrigTransOrn=",invOrigTransOrn) + invOrigTransMat = self._pybullet_client.getMatrixFromQuaternion(invOrigTransOrn) + # print("invOrigTransMat =",invOrigTransMat ) + return invOrigTransPos, invOrigTransOrn + + def getState(self): + + stateVector = [] + phase = self.getPhase() + # print("phase=",phase) + stateVector.append(phase) + + rootTransPos, rootTransOrn = self.buildOriginTrans() + basePos, baseOrn = self._pybullet_client.getBasePositionAndOrientation(self._sim_model) + + rootPosRel, dummy = self._pybullet_client.multiplyTransforms(rootTransPos, rootTransOrn, + basePos, [0, 0, 0, 1]) + # print("!!!rootPosRel =",rootPosRel ) + # print("rootTransPos=",rootTransPos) + # print("basePos=",basePos) + localPos, localOrn = self._pybullet_client.multiplyTransforms(rootTransPos, rootTransOrn, + basePos, baseOrn) + + localPos = [ + localPos[0] - rootPosRel[0], localPos[1] - rootPosRel[1], localPos[2] - rootPosRel[2] + ] + # print("localPos=",localPos) + + stateVector.append(rootPosRel[1]) + + # self.pb2dmJoints=[0,1,2,9,10,11,3,4,5,12,13,14,6,7,8] + self.pb2dmJoints = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14] + + linkIndicesSim = [] + for pbJoint in range(self._pybullet_client.getNumJoints(self._sim_model)): + linkIndicesSim.append(self.pb2dmJoints[pbJoint]) + + linkStatesSim = self._pybullet_client.getLinkStates(self._sim_model, linkIndicesSim, + computeForwardKinematics=True, computeLinkVelocity=True) + + for pbJoint in range(self._pybullet_client.getNumJoints(self._sim_model)): + j = self.pb2dmJoints[pbJoint] + # print("joint order:",j) + # ls = self._pybullet_client.getLinkState(self._sim_model, j, computeForwardKinematics=True) + ls = linkStatesSim[pbJoint] + linkPos = ls[0] + linkOrn = ls[1] + linkPosLocal, linkOrnLocal = self._pybullet_client.multiplyTransforms( + rootTransPos, rootTransOrn, linkPos, linkOrn) + if (linkOrnLocal[3] < 0): + linkOrnLocal = [-linkOrnLocal[0], -linkOrnLocal[1], -linkOrnLocal[2], -linkOrnLocal[3]] + linkPosLocal = [ + linkPosLocal[0] - rootPosRel[0], linkPosLocal[1] - rootPosRel[1], + linkPosLocal[2] - rootPosRel[2] + ] + for l in linkPosLocal: + stateVector.append(l) + # re-order the quaternion, DeepMimic uses w,x,y,z + + if (linkOrnLocal[3] < 0): + linkOrnLocal[0] *= -1 + linkOrnLocal[1] *= -1 + linkOrnLocal[2] *= -1 + linkOrnLocal[3] *= -1 + + stateVector.append(linkOrnLocal[3]) + stateVector.append(linkOrnLocal[0]) + stateVector.append(linkOrnLocal[1]) + stateVector.append(linkOrnLocal[2]) + + for pbJoint in range(self._pybullet_client.getNumJoints(self._sim_model)): + j = self.pb2dmJoints[pbJoint] + # ls = self._pybullet_client.getLinkState(self._sim_model, j, computeLinkVelocity=True) + ls = linkStatesSim[pbJoint] + + linkLinVel = ls[6] + linkAngVel = ls[7] + linkLinVelLocal, unused = self._pybullet_client.multiplyTransforms([0, 0, 0], rootTransOrn, + linkLinVel, [0, 0, 0, 1]) + # linkLinVelLocal=[linkLinVelLocal[0]-rootPosRel[0],linkLinVelLocal[1]-rootPosRel[1],linkLinVelLocal[2]-rootPosRel[2]] + linkAngVelLocal, unused = self._pybullet_client.multiplyTransforms([0, 0, 0], rootTransOrn, + linkAngVel, [0, 0, 0, 1]) + + for l in linkLinVelLocal: + stateVector.append(l) + for l in linkAngVelLocal: + stateVector.append(l) + + # print("stateVector len=",len(stateVector)) + # for st in range (len(stateVector)): + # print("state[",st,"]=",stateVector[st]) + return stateVector + + def terminates(self): + # check if any non-allowed body part hits the ground + terminates = False + pts = self._pybullet_client.getContactPoints() + for p in pts: + part = -1 + # ignore self-collision + if (p[1] == p[2]): + continue + if (p[1] == self._sim_model): + part = p[3] + if (p[2] == self._sim_model): + part = p[4] + if (part >= 0 and part in self._fall_contact_body_parts): + # print("terminating part:", part) + terminates = True + + return terminates + + def quatMul(self, q1, q2): + return [ + q1[3] * q2[0] + q1[0] * q2[3] + q1[1] * q2[2] - q1[2] * q2[1], + q1[3] * q2[1] + q1[1] * q2[3] + q1[2] * q2[0] - q1[0] * q2[2], + q1[3] * q2[2] + q1[2] * q2[3] + q1[0] * q2[1] - q1[1] * q2[0], + q1[3] * q2[3] - q1[0] * q2[0] - q1[1] * q2[1] - q1[2] * q2[2] + ] + + def calcRootAngVelErr(self, vel0, vel1): + diff = [vel0[0] - vel1[0], vel0[1] - vel1[1], vel0[2] - vel1[2]] + return diff[0] * diff[0] + diff[1] * diff[1] + diff[2] * diff[2] + + def calcRootRotDiff(self, orn0, orn1): + orn0Conj = [-orn0[0], -orn0[1], -orn0[2], orn0[3]] + q_diff = self.quatMul(orn1, orn0Conj) + axis, angle = self._pybullet_client.getAxisAngleFromQuaternion(q_diff) + return angle * angle + + def getReward(self, pose, i=0): + """Compute and return the pose-based reward.""" + # from DeepMimic double cSceneImitate::CalcRewardImitate + # todo: compensate for ground height in some parts, once we move to non-flat terrain + # not values from the paper, but from the published code. + pose_w = 0.5 + vel_w = 0.05 + end_eff_w = 0.15 + # does not exist in paper + root_w = 0.2 + if self._useComReward: + com_w = 0.1 + else: + com_w = 0 + + total_w = pose_w + vel_w + end_eff_w + root_w + com_w + pose_w /= total_w + vel_w /= total_w + end_eff_w /= total_w + root_w /= total_w + com_w /= total_w + + pose_scale = 2 + vel_scale = 0.1 + end_eff_scale = 40 + root_scale = 5 + com_scale = 10 + err_scale = 1 # error scale + + reward = 0 + + pose_err = 0 + vel_err = 0 + end_eff_err = 0 + root_err = 0 + com_err = 0 + heading_err = 0 + + # create a mimic reward, comparing the dynamics humanoid with a kinematic one + + # pose = self.InitializePoseFromMotionData() + # print("self._kin_model=",self._kin_model) + # print("kinematicHumanoid #joints=",self._pybullet_client.getNumJoints(self._kin_model)) + # self.ApplyPose(pose, True, True, self._kin_model, self._pybullet_client) + + # const Eigen::VectorXd& pose0 = sim_char.GetPose(); + # const Eigen::VectorXd& vel0 = sim_char.GetVel(); + # const Eigen::VectorXd& pose1 = kin_char.GetPose(); + # const Eigen::VectorXd& vel1 = kin_char.GetVel(); + # tMatrix origin_trans = sim_char.BuildOriginTrans(); + # tMatrix kin_origin_trans = kin_char.BuildOriginTrans(); + # + # tVector com0_world = sim_char.CalcCOM(); + if self._useComReward: + comSim, comSimVel = self.computeCOMposVel(self._sim_model) + comKin, comKinVel = self.computeCOMposVel(self._kin_models[i]) + # tVector com_vel0_world = sim_char.CalcCOMVel(); + # tVector com1_world; + # tVector com_vel1_world; + # cRBDUtil::CalcCoM(joint_mat, body_defs, pose1, vel1, com1_world, com_vel1_world); + # + root_id = 0 + # tVector root_pos0 = cKinTree::GetRootPos(joint_mat, pose0); + # tVector root_pos1 = cKinTree::GetRootPos(joint_mat, pose1); + # tQuaternion root_rot0 = cKinTree::GetRootRot(joint_mat, pose0); + # tQuaternion root_rot1 = cKinTree::GetRootRot(joint_mat, pose1); + # tVector root_vel0 = cKinTree::GetRootVel(joint_mat, vel0); + # tVector root_vel1 = cKinTree::GetRootVel(joint_mat, vel1); + # tVector root_ang_vel0 = cKinTree::GetRootAngVel(joint_mat, vel0); + # tVector root_ang_vel1 = cKinTree::GetRootAngVel(joint_mat, vel1); + + mJointWeights = [ + 0.20833, 0.10416, 0.0625, 0.10416, 0.0625, 0.041666666666666671, 0.0625, 0.0416, 0.00, + 0.10416, 0.0625, 0.0416, 0.0625, 0.0416, 0.0000 + ] + + num_end_effs = 0 + num_joints = 15 + + root_rot_w = mJointWeights[root_id] + rootPosSim, rootOrnSim = self._pybullet_client.getBasePositionAndOrientation(self._sim_model) + rootPosKin, rootOrnKin = self._pybullet_client.getBasePositionAndOrientation(self._kin_models[i]) + linVelSim, angVelSim = self._pybullet_client.getBaseVelocity(self._sim_model) + # don't read the velocities from the kinematic model (they are zero), use the pose interpolator velocity + # see also issue https://github.com/bulletphysics/bullet3/issues/2401 + linVelKin = self._poseInterpolators[i]._baseLinVel + angVelKin = self._poseInterpolators[i]._baseAngVel + + root_rot_err = self.calcRootRotDiff(rootOrnSim, rootOrnKin) + pose_err += root_rot_w * root_rot_err + + root_vel_diff = [ + linVelSim[0] - linVelKin[0], linVelSim[1] - linVelKin[1], linVelSim[2] - linVelKin[2] + ] + root_vel_err = root_vel_diff[0] * root_vel_diff[0] + root_vel_diff[1] * root_vel_diff[ + 1] + root_vel_diff[2] * root_vel_diff[2] + + root_ang_vel_err = self.calcRootAngVelErr(angVelSim, angVelKin) + vel_err += root_rot_w * root_ang_vel_err + + useArray = True + + if useArray: + jointIndices = range(num_joints) + simJointStates = self._pybullet_client.getJointStatesMultiDof(self._sim_model, jointIndices) + kinJointStates = self._pybullet_client.getJointStatesMultiDof(self._kin_models[i], jointIndices) + linkStatesSim = self._pybullet_client.getLinkStates(self._sim_model, jointIndices) + linkStatesKin = self._pybullet_client.getLinkStates(self._kin_models[i], jointIndices) + for j in range(num_joints): + curr_pose_err = 0 + curr_vel_err = 0 + w = mJointWeights[j] + if useArray: + simJointInfo = simJointStates[j] + else: + simJointInfo = self._pybullet_client.getJointStateMultiDof(self._sim_model, j) + + # print("simJointInfo.pos=",simJointInfo[0]) + # print("simJointInfo.vel=",simJointInfo[1]) + if useArray: + kinJointInfo = kinJointStates[j] + else: + kinJointInfo = self._pybullet_client.getJointStateMultiDof(self._kin_models[i], j) + # print("kinJointInfo.pos=",kinJointInfo[0]) + # print("kinJointInfo.vel=",kinJointInfo[1]) + if (len(simJointInfo[0]) == 1): + angle = simJointInfo[0][0] - kinJointInfo[0][0] + curr_pose_err = angle * angle + velDiff = simJointInfo[1][0] - kinJointInfo[1][0] + curr_vel_err = velDiff * velDiff + if (len(simJointInfo[0]) == 4): + # print("quaternion diff") + diffQuat = self._pybullet_client.getDifferenceQuaternion(simJointInfo[0], kinJointInfo[0]) + axis, angle = self._pybullet_client.getAxisAngleFromQuaternion(diffQuat) + curr_pose_err = angle * angle + diffVel = [ + simJointInfo[1][0] - kinJointInfo[1][0], simJointInfo[1][1] - kinJointInfo[1][1], + simJointInfo[1][2] - kinJointInfo[1][2] + ] + curr_vel_err = diffVel[0] * diffVel[0] + diffVel[1] * diffVel[1] + diffVel[2] * diffVel[2] + + pose_err += w * curr_pose_err + vel_err += w * curr_vel_err + + is_end_eff = j in self._end_effectors + + if is_end_eff: + + if useArray: + linkStateSim = linkStatesSim[j] + linkStateKin = linkStatesKin[j] + else: + linkStateSim = self._pybullet_client.getLinkState(self._sim_model, j) + linkStateKin = self._pybullet_client.getLinkState(self._kin_models[i], j) + linkPosSim = linkStateSim[0] + linkPosKin = linkStateKin[0] + linkPosDiff = [ + linkPosSim[0] - linkPosKin[0], linkPosSim[1] - linkPosKin[1], + linkPosSim[2] - linkPosKin[2] + ] + curr_end_err = linkPosDiff[0] * linkPosDiff[0] + linkPosDiff[1] * linkPosDiff[ + 1] + linkPosDiff[2] * linkPosDiff[2] + end_eff_err += curr_end_err + num_end_effs += 1 + + if (num_end_effs > 0): + end_eff_err /= num_end_effs + + # double root_ground_h0 = mGround->SampleHeight(sim_char.GetRootPos()) + # double root_ground_h1 = kin_char.GetOriginPos()[1] + # root_pos0[1] -= root_ground_h0 + # root_pos1[1] -= root_ground_h1 + root_pos_diff = [ + rootPosSim[0] - rootPosKin[0], rootPosSim[1] - rootPosKin[1], rootPosSim[2] - rootPosKin[2] + ] + root_pos_err = root_pos_diff[0] * root_pos_diff[0] + root_pos_diff[1] * root_pos_diff[ + 1] + root_pos_diff[2] * root_pos_diff[2] + # + # root_rot_err = cMathUtil::QuatDiffTheta(root_rot0, root_rot1) + # root_rot_err *= root_rot_err + + # root_vel_err = (root_vel1 - root_vel0).squaredNorm() + # root_ang_vel_err = (root_ang_vel1 - root_ang_vel0).squaredNorm() + + root_err = root_pos_err + 0.1 * root_rot_err + 0.01 * root_vel_err + 0.001 * root_ang_vel_err + + # COM error in initial code -> COM velocities + if self._useComReward: + com_err = 0.1 * np.sum(np.square(comKinVel - comSimVel)) + # com_err = 0.1 * np.sum(np.square(comKin - comSim)) + # com_err = 0.1 * (com_vel1_world - com_vel0_world).squaredNorm() + + # print("pose_err=",pose_err) + # print("vel_err=",vel_err) + pose_reward = math.exp(-err_scale * pose_scale * pose_err) + vel_reward = math.exp(-err_scale * vel_scale * vel_err) + end_eff_reward = math.exp(-err_scale * end_eff_scale * end_eff_err) + root_reward = math.exp(-err_scale * root_scale * root_err) + com_reward = math.exp(-err_scale * com_scale * com_err) + + reward = pose_w * pose_reward + vel_w * vel_reward + end_eff_w * end_eff_reward + root_w * root_reward + com_w * com_reward + + # pose_reward,vel_reward,end_eff_reward, root_reward, com_reward); + # print("reward=",reward) + # print("pose_reward=",pose_reward) + # print("vel_reward=",vel_reward) + # print("end_eff_reward=",end_eff_reward) + # print("root_reward=",root_reward) + # print("com_reward=",com_reward) + + info_rew = dict( + pose_reward=pose_reward, + vel_reward=vel_reward, + end_eff_reward=end_eff_reward, + root_reward=root_reward, + com_reward=com_reward + ) + + info_errs = dict( + pose_err=pose_err, + vel_err=vel_err, + end_eff_err=end_eff_err, + root_err=root_err, + com_err=com_err + ) + + return reward + + def computeCOMposVel(self, uid: int): + """Compute center-of-mass position and velocity.""" + pb = self._pybullet_client + num_joints = 15 + jointIndices = range(num_joints) + link_states = pb.getLinkStates(uid, jointIndices, computeLinkVelocity=1) + link_pos = np.array([s[0] for s in link_states]) + link_vel = np.array([s[-2] for s in link_states]) + tot_mass = 0. + masses = [] + for j in jointIndices: + mass_, *_ = pb.getDynamicsInfo(uid, j) + masses.append(mass_) + tot_mass += mass_ + masses = np.asarray(masses)[:, None] + com_pos = np.sum(masses * link_pos, axis=0) / tot_mass + com_vel = np.sum(masses * link_vel, axis=0) / tot_mass + return com_pos, com_vel diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/env/motion_capture_data_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/motion_capture_data_multiclip.py new file mode 100644 index 000000000..569204ddb --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/motion_capture_data_multiclip.py @@ -0,0 +1,239 @@ +import json +import math +import random +import numpy as np +from os import listdir +from os.path import isfile, join + +from scipy.spatial.transform import Rotation as R +from scipy.spatial.transform import Slerp + + +class MotionCaptureDataMultiClip(object): + + def __init__(self): + self.Reset() + + def Reset(self): + self._motion_data = {} + self._num_frames_min = 9999 + self._num_frames_max = -1 + self._num_clips = -1 + self._names = [] + + def Load(self, path): + if isfile(path): + files = [path] + else: + files = [join(path, f) for f in listdir(path) if isfile(join(path, f))] + for i in range(len(files)): + with open(files[i], 'r') as f: + self._names.append(files[i].split('/')[-1]) + self._motion_data[i] = json.load(f) + t = len(self._motion_data[i]['Frames']) + self._num_frames_min = min(t, self._num_frames_min) + self._num_frames_max = max(t, self._num_frames_max) + self._num_clips = len(self._motion_data) + downsample = False + if downsample: + self.downsampleClips() + else: + self.upsampleClips() + + def getNumFrames(self): + return self._num_frames_min + + def getKeyFrameDuration(self, id=0): + return self._motion_data[id]['Frames'][0][0] + + def getCycleTime(self): + keyFrameDuration = self.getKeyFrameDuration() + cycleTime = keyFrameDuration * (self.getNumFrames() - 1) + return cycleTime + + def calcCycleCount(self, simTime, cycleTime): + phases = simTime / cycleTime + count = math.floor(phases) + return count + + def computeCycleOffset(self, id=0): + lastFrame = self.getNumFrames() - 1 + frameData = self._motion_data[id]['Frames'][0] + frameDataNext = self._motion_data[id]['Frames'][lastFrame] + + basePosStart = [frameData[1], frameData[2], frameData[3]] + basePosEnd = [frameDataNext[1], frameDataNext[2], frameDataNext[3]] + self._cycleOffset = [ + basePosEnd[0] - basePosStart[0], basePosEnd[1] - basePosStart[1], + basePosEnd[2] - basePosStart[2] + ] + return self._cycleOffset + + def getNumClips(self): + return self._num_clips + + def downsampleClips(self): + for i in range(self._num_clips): + n_frames = len(self._motion_data[i]['Frames']) + if n_frames != self._num_frames_min: + sample = random.sample(range(n_frames), self._num_frames_min) + sample.sort() + downsampled = np.array(self._motion_data[i]['Frames'])[sample] + self._motion_data[i]['Frames'] = downsampled.tolist() + #s = json.dumps(self._motion_data[i]) + #with open("output/{}".format(self._names[i]), 'w') as f: + # f.writelines(s) + + def upsampleClips(self): + print("Max number of frames: ", self._num_frames_max) + for i in range(self._num_clips): + print("Uspsampling clip number: ", i) + keyframe_duration = self.getKeyFrameDuration(i) + old_times = np.arange(0, len(self._motion_data[i]['Frames']) * keyframe_duration, keyframe_duration) + while len(old_times) < self._num_frames_max: + new_times, new_vals = self.slerpSingleClip(self._motion_data[i]['Frames'], old_times) + #print("Number of final frames: ", len(new_vals)) + self._motion_data[i]['Frames'] = new_vals + old_times = new_times + #s = json.dumps(self._motion_data[i]) + #with open("output/{}".format(self._names[i]), 'w') as f: + # f.writelines(s) + self._num_frames_min = self._num_frames_max + + + def slerpSingleClip(self, clip, key_times): + print("Number of initial frames: ", len(key_times)) + dict_clip = self.extractQuaternions(clip) + dict_clip = np.asarray(dict_clip) + t = dict_clip[:, 0] + root_pos = dict_clip[:, 1] + key_rots = dict_clip[:, 2] + n_frames = len(key_rots) + assert len(key_times) == n_frames + needed_frames = self._num_frames_max - n_frames + print("Needed frames: ", needed_frames) + inter_times = self.calc_inter_times(key_times) + inter_times = sorted(random.sample(inter_times, min(len(inter_times), needed_frames))) + print("Number of frames to interpolate: ", len(inter_times)) + print("Number of rots: ", len(key_rots[0])) + inter_joint = [] + for i in range(len(key_rots[0])): + quats = [rot[i] for rot in key_rots] + if len(quats[0]) == 4: + joint = R.from_quat(quats) + slerp = Slerp(key_times, joint) + interp_rots = slerp(inter_times) + interp_rots = interp_rots.as_quat().tolist() + else: + interp_rots = [] + for tim in range(len(inter_times)): + lb = key_times.tolist().index(max([st for st in key_times if st < inter_times[tim]])) + ub = lb + 1 + #print(lb, ub) + new_rot = (quats[ub][0] + quats[lb][0])/2 + interp_rots.append([new_rot]) + inter_joint.append(interp_rots) + inter_joint = np.array(inter_joint).T + #print("Shape of interpolated joints: ", inter_joint.shape) + old_dict = dict(zip(key_times, key_rots)) + new_dict = dict(zip(inter_times, inter_joint)) + old_root_pos = dict(zip(key_times, root_pos)) + inter_root_pos = self.calc_inter_root_pos(root_pos, key_times, inter_times) + new_root_pos = dict(zip(inter_times, inter_root_pos)) + new_dict = {**old_dict, **new_dict} + new_rp_dict = {**old_root_pos, **new_root_pos} + ord_keys = sorted(new_dict.keys()) + ord_rots = [new_dict[k] for k in ord_keys] + ord_root_pos = [new_rp_dict[k] for k in ord_keys] + new_clip = self.insertClip(t, ord_root_pos, ord_rots) + + return np.array(ord_keys), new_clip + + def extractQuaternions(self, clip): + new_clips = [] + for c in clip: + t = c[0] + root_pos = c[1:4] + root_rotation = c[4:8] + chest_rotation = c[8:12] + neck_rotation = c[12:16] + right_hip_rotation = c[16:20] + right_knee_rotation = c[20] + right_ankle_rotation = c[21:25] + right_shoulder_rotation = c[25:29] + right_elbow_rotation = c[29] + left_hip_rotation = c[30:34] + left_knee_rotation = c[34] + left_ankle_rotation = c[35:39] + left_shoulder_rotation = c[39:43] + left_elbow_rotation = c[43] + d = [ + t, + root_pos, + [ + self.deepmimic_to_scipy_quaternion(root_rotation), + self.deepmimic_to_scipy_quaternion(chest_rotation), + self.deepmimic_to_scipy_quaternion(neck_rotation), + self.deepmimic_to_scipy_quaternion(right_hip_rotation), + [right_knee_rotation], + self.deepmimic_to_scipy_quaternion(right_ankle_rotation), + self.deepmimic_to_scipy_quaternion(right_shoulder_rotation), + [right_elbow_rotation], + self.deepmimic_to_scipy_quaternion(left_hip_rotation), + [left_knee_rotation], + self.deepmimic_to_scipy_quaternion(left_ankle_rotation), + self.deepmimic_to_scipy_quaternion(left_shoulder_rotation), + [left_elbow_rotation] + ] + ] + new_clips.append(d) + return new_clips + + def deepmimic_to_scipy_quaternion(self, quat): + return quat[1:] + [quat[0]] + + def scipy_to_deepmimic_quaternion(self, quat): + return [quat[-1]] + quat[:-1] + + def calc_inter_times(self, times, method="intermediate"): + if method == "intermediate": + inter_times = [] + for i in range(1, len(times)): + it = (times[i] - times[i-1])/2 + times[i-1] + inter_times.append(it) + return inter_times + + def calc_inter_root_pos(self, root_pos, times, inter_times): + inter_root_pos = [] + all_times = sorted([*times.tolist(), *inter_times]) + for i in range(len(inter_times)): + low_index = times.tolist().index(all_times[all_times.index(inter_times[i]) - 1]) + up_index = times.tolist().index(all_times[all_times.index(inter_times[i]) + 1]) + assert low_index == up_index - 1 + inter_root_pos.append(((np.array(root_pos[up_index]) + np.array(root_pos[low_index]))/2).tolist()) + return inter_root_pos + + def insertClip(self, t, ord_root_pos, ord_rots): + delta_t = t[0] + new_quats = self.insertQuaternions(ord_rots) + a = [] + for i in range(len(ord_root_pos)): + rot = new_quats[i] + + a.append([ + delta_t, + *ord_root_pos[i], + *rot + ]) + return a + + def insertQuaternions(self, rotations): + quats = [] + for rot in rotations: + rots = [] + for r in rot: + if len(r) == 4: + r = self.scipy_to_deepmimic_quaternion(r) + rots += [el for el in r] + quats.append(rots) + return quats \ No newline at end of file diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/env/pybullet_deep_mimic_env_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/pybullet_deep_mimic_env_multiclip.py new file mode 100644 index 000000000..7cd846ca7 --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/env/pybullet_deep_mimic_env_multiclip.py @@ -0,0 +1,358 @@ +import numpy as np +import math +from pybullet_envs.deep_mimic.env.env import Env +from pybullet_envs.deep_mimic.env.action_space import ActionSpace +from pybullet_utils import bullet_client +import time +from pybullet_envs.deep_mimic.env import motion_capture_data_multiclip +from pybullet_envs.deep_mimic.env import humanoid_stable_pd_multiclip +import pybullet_data +import pybullet as p1 +import random + +from enum import Enum + + +class InitializationStrategy(Enum): + """Set how the environment is initialized.""" + START = 0 + RANDOM = 1 # random state initialization (RSI) + + +class PyBulletDeepMimicEnvMultiClip(Env): + + def __init__(self, arg_parser=None, enable_draw=False, pybullet_client=None, + time_step=1. / 240, + init_strategy=InitializationStrategy.RANDOM): + super().__init__(arg_parser, enable_draw) + self._num_agents = 1 + self._pybullet_client = pybullet_client + self._isInitialized = False + self._useStablePD = True + self._arg_parser = arg_parser + self.timeStep = time_step + self._init_strategy = init_strategy + self._n_clips = -1 + print("Initialization strategy: {:s}".format(init_strategy)) + self.reset() + + def reset(self): + + if not self._isInitialized: + if self.enable_draw: + self._pybullet_client = bullet_client.BulletClient(connection_mode=p1.GUI) + # disable 'GUI' since it slows down a lot on Mac OSX and some other platforms + self._pybullet_client.configureDebugVisualizer(self._pybullet_client.COV_ENABLE_GUI, 0) + else: + self._pybullet_client = bullet_client.BulletClient() + + self._pybullet_client.setAdditionalSearchPath(pybullet_data.getDataPath()) + z2y = self._pybullet_client.getQuaternionFromEuler([-math.pi * 0.5, 0, 0]) + self._planeId = self._pybullet_client.loadURDF("plane_implicit.urdf", [0, 0, 0], + z2y, + useMaximalCoordinates=True) + # print("planeId=",self._planeId) + self._pybullet_client.configureDebugVisualizer(self._pybullet_client.COV_ENABLE_Y_AXIS_UP, 1) + self._pybullet_client.setGravity(0, -9.8, 0) + + self._pybullet_client.setPhysicsEngineParameter(numSolverIterations=10) + self._pybullet_client.changeDynamics(self._planeId, linkIndex=-1, lateralFriction=0.9) + + self._mocapData = motion_capture_data_multiclip.MotionCaptureDataMultiClip() + + motion_file = self._arg_parser.parse_strings('motion_file') + print("motion_file=", motion_file[0]) + + motionPath = pybullet_data.getDataPath() + "/" + motion_file[0] + # motionPath = pybullet_data.getDataPath()+"/motions/humanoid3d_backflip.txt" + self._mocapData.Load(motionPath) + self._n_clips = self._mocapData.getNumClips() + timeStep = self.timeStep + useFixedBase = False + self._humanoid = humanoid_stable_pd_multiclip.HumanoidStablePDMultiClip(self._pybullet_client, self._mocapData, + timeStep, useFixedBase, self._arg_parser) + self._isInitialized = True + + self._pybullet_client.setTimeStep(timeStep) + self._pybullet_client.setPhysicsEngineParameter(numSubSteps=1) + + selfCheck = False + if (selfCheck): + curTime = 0 + while self._pybullet_client.isConnected(): + self._humanoid.setSimTime(curTime) + state = self._humanoid.getState() + # print("state=",state) + # pose = self._humanoid.computePose(self._humanoid._frameFraction) this would need an id + for i in range(10): + curTime += timeStep + # taus = self._humanoid.computePDForces(pose) + # self._humanoid.applyPDForces(taus) + # self._pybullet_client.stepSimulation() + time.sleep(timeStep) + # print("numframes = ", self._humanoid._mocap_data.NumFrames()) + # startTime = random.randint(0,self._humanoid._mocap_data.NumFrames()-2) + + if self._init_strategy == InitializationStrategy.RANDOM: + rnrange = 1000 + rn = random.randint(0, rnrange) + startTime = float(rn) / rnrange * self._humanoid.getCycleTime() + elif self._init_strategy == InitializationStrategy.START: + startTime = 0 + + self.t = startTime + + self._humanoid.setSimTime(startTime) + + self._humanoid.resetPose() + # this clears the contact points. Todo: add API to explicitly clear all contact points? + # self._pybullet_client.stepSimulation() + self._humanoid.resetPose() + self.needs_update_time = self.t - 1 # force update + + def get_num_agents(self): + return self._num_agents + + def get_action_space(self, agent_id): + return ActionSpace(ActionSpace.Continuous) + + def get_reward_min(self, agent_id): + return 0 + + def get_reward_max(self, agent_id): + return 1 + + def get_reward_fail(self, agent_id): + return self.get_reward_min(agent_id) + + def get_reward_succ(self, agent_id): + return self.get_reward_max(agent_id) + + # scene_name == "imitate" -> cDrawSceneImitate + def get_state_size(self, agent_id): + # cCtController::GetStateSize() + # int state_size = cDeepMimicCharController::GetStateSize(); + # state_size += GetStatePoseSize();#106 + # state_size += GetStateVelSize(); #(3+3)*numBodyParts=90 + # state_size += GetStatePhaseSize();#1 + # 197 + return 197 + + def build_state_norm_groups(self, agent_id): + # if (mEnablePhaseInput) + # { + # int phase_group = gNormGroupNone; + # int phase_offset = GetStatePhaseOffset(); + # int phase_size = GetStatePhaseSize(); + # out_groups.segment(phase_offset, phase_size) = phase_group * Eigen::VectorXi::Ones(phase_size); + groups = [0] * self.get_state_size(agent_id) + groups[0] = -1 + return groups + + def build_state_offset(self, agent_id): + out_offset = [0] * self.get_state_size(agent_id) + phase_offset = -0.5 + out_offset[0] = phase_offset + return np.array(out_offset) + + def build_state_scale(self, agent_id): + out_scale = [1] * self.get_state_size(agent_id) + phase_scale = 2 + out_scale[0] = phase_scale + return np.array(out_scale) + + def get_goal_size(self, agent_id): + return 0 + + def get_action_size(self, agent_id): + ctrl_size = 43 # numDof + root_size = 7 + return ctrl_size - root_size + + def build_goal_norm_groups(self, agent_id): + return np.array([]) + + def build_goal_offset(self, agent_id): + return np.array([]) + + def build_goal_scale(self, agent_id): + return np.array([]) + + def build_action_offset(self, agent_id): + out_offset = [0] * self.get_action_size(agent_id) + out_offset = [ + 0.0000000000, 0.0000000000, 0.0000000000, -0.200000000, 0.0000000000, 0.0000000000, + 0.0000000000, -0.200000000, 0.0000000000, 0.0000000000, 0.00000000, -0.2000000, 1.57000000, + 0.00000000, 0.00000000, 0.00000000, -0.2000000, 0.00000000, 0.00000000, 0.00000000, + -0.2000000, -1.5700000, 0.00000000, 0.00000000, 0.00000000, -0.2000000, 1.57000000, + 0.00000000, 0.00000000, 0.00000000, -0.2000000, 0.00000000, 0.00000000, 0.00000000, + -0.2000000, -1.5700000 + ] + # see cCtCtrlUtil::BuildOffsetScalePDPrismatic and + # see cCtCtrlUtil::BuildOffsetScalePDSpherical + return np.array(out_offset) + + def build_action_scale(self, agent_id): + out_scale = [1] * self.get_action_size(agent_id) + # see cCtCtrlUtil::BuildOffsetScalePDPrismatic and + # see cCtCtrlUtil::BuildOffsetScalePDSpherical + out_scale = [ + 0.20833333333333, 1.00000000000000, 1.00000000000000, 1.00000000000000, 0.25000000000000, + 1.00000000000000, 1.00000000000000, 1.00000000000000, 0.12077294685990, 1.00000000000000, + 1.000000000000, 1.000000000000, 0.159235668789, 0.159235668789, 1.000000000000, + 1.000000000000, 1.000000000000, 0.079617834394, 1.000000000000, 1.000000000000, + 1.000000000000, 0.159235668789, 0.120772946859, 1.000000000000, 1.000000000000, + 1.000000000000, 0.159235668789, 0.159235668789, 1.000000000000, 1.000000000000, + 1.000000000000, 0.107758620689, 1.000000000000, 1.000000000000, 1.000000000000, + 0.159235668789 + ] + return np.array(out_scale) + + def build_action_bound_min(self, agent_id): + # see cCtCtrlUtil::BuildBoundsPDSpherical + out_scale = [-1] * self.get_action_size(agent_id) + out_scale = [ + -4.79999999999, -1.00000000000, -1.00000000000, -1.00000000000, -4.00000000000, + -1.00000000000, -1.00000000000, -1.00000000000, -7.77999999999, -1.00000000000, + -1.000000000, -1.000000000, -7.850000000, -6.280000000, -1.000000000, -1.000000000, + -1.000000000, -12.56000000, -1.000000000, -1.000000000, -1.000000000, -4.710000000, + -7.779999999, -1.000000000, -1.000000000, -1.000000000, -7.850000000, -6.280000000, + -1.000000000, -1.000000000, -1.000000000, -8.460000000, -1.000000000, -1.000000000, + -1.000000000, -4.710000000 + ] + + return out_scale + + def build_action_bound_max(self, agent_id): + out_scale = [1] * self.get_action_size(agent_id) + out_scale = [ + 4.799999999, 1.000000000, 1.000000000, 1.000000000, 4.000000000, 1.000000000, 1.000000000, + 1.000000000, 8.779999999, 1.000000000, 1.0000000, 1.0000000, 4.7100000, 6.2800000, + 1.0000000, 1.0000000, 1.0000000, 12.560000, 1.0000000, 1.0000000, 1.0000000, 7.8500000, + 8.7799999, 1.0000000, 1.0000000, 1.0000000, 4.7100000, 6.2800000, 1.0000000, 1.0000000, + 1.0000000, 10.100000, 1.0000000, 1.0000000, 1.0000000, 7.8500000 + ] + return out_scale + + def set_mode(self, mode): + self._mode = mode + + def need_new_action(self, agent_id): + if self.t >= self.needs_update_time: + self.needs_update_time = self.t + 1. / 30. + return True + return False + + def record_state(self, agent_id): + state = self._humanoid.getState() + + return np.array(state) + + def record_goal(self, agent_id): + return np.array([]) + + def calc_reward(self, agent_id): + rewards = {} + for i in range(self._n_clips): + kinPose = self._humanoid.computePose(self._humanoid._frameFraction, i) + rewards[i] = self._humanoid.getReward(kinPose, i) + reward = self.select_reward(rewards) + return reward + + def set_action(self, agent_id, action): + # print("action=",) + # for a in action: + # print(a) + # np.savetxt("pb_action.csv", action, delimiter=",") + self.desiredPose = {} # TODO: is this necessary??? + for i in range(self._n_clips): + self.desiredPose[i] = self._humanoid.convertActionToPose(action, i) + # we need the target root positon and orientation to be zero, to be compatible with deep mimic + self.desiredPose[i][0] = 0 + self.desiredPose[i][1] = 0 + self.desiredPose[i][2] = 0 + self.desiredPose[i][3] = 0 + self.desiredPose[i][4] = 0 + self.desiredPose[i][5] = 0 + self.desiredPose[i][6] = 0 + target_pose = np.array(self.desiredPose[i]) + + # np.savetxt("pb_target_pose.csv", target_pose, delimiter=",") + + # print("set_action: desiredPose=", self.desiredPose) + + def log_val(self, agent_id, val): + pass + + def update(self, timeStep): + # print("pybullet_deep_mimic_env:update timeStep=",timeStep," t=",self.t) + self._pybullet_client.setTimeStep(timeStep) + self._humanoid._timeStep = timeStep + self.timeStep = timeStep + + for j in range(1): + self.t += timeStep + self._humanoid.setSimTime(self.t) + + if self.desiredPose: + for i in range(self._n_clips): + kinPose = self._humanoid.computePose(self._humanoid._frameFraction, i) + self._humanoid.initializePose(self._humanoid._poseInterpolators[i], + self._humanoid._kin_models[i], + initBase=True) + # pos,orn=self._pybullet_client.getBasePositionAndOrientation(self._humanoid._sim_model) + # self._pybullet_client.resetBasePositionAndOrientation(self._humanoid._kin_model, [pos[0]+3,pos[1],pos[2]],orn) + # print("desiredPositions=",self.desiredPose[i]) + maxForces = [ + 0, 0, 0, 0, 0, 0, 0, 200, 200, 200, 200, 50, 50, 50, 50, 200, 200, 200, 200, 150, 90, + 90, 90, 90, 100, 100, 100, 100, 60, 200, 200, 200, 200, 150, 90, 90, 90, 90, 100, 100, + 100, 100, 60 + ] + + if self._useStablePD: + usePythonStablePD = False + if usePythonStablePD: + taus = self._humanoid.computePDForces(self.desiredPose[0], # TODO: check if correct + desiredVelocities=None, + maxForces=maxForces) + # taus = [0]*43 + self._humanoid.applyPDForces(taus) + else: + self._humanoid.computeAndApplyPDForces(self.desiredPose[0], + maxForces=maxForces) + else: + self._humanoid.setJointMotors(self.desiredPose[0], maxForces=maxForces, i=0) + + self._pybullet_client.stepSimulation() + + def set_sample_count(self, count): + return + + def check_terminate(self, agent_id): + return Env.Terminate(self.is_episode_end()) + + def is_episode_end(self): + isEnded = self._humanoid.terminates() + # also check maximum time, 20 seconds (todo get from file) + # print("self.t=",self.t) + if (self.t > 20): + isEnded = True + return isEnded + + def check_valid_episode(self): + # could check if limbs exceed velocity threshold + return True + + def getKeyboardEvents(self): + return self._pybullet_client.getKeyboardEvents() + + def isKeyTriggered(self, keys, key): + o = ord(key) + # print("ord=",o) + if o in keys: + return keys[ord(key)] & self._pybullet_client.KEY_WAS_TRIGGERED + return False + + def select_reward(self, rewards, criterion=None): + # todo create enum for criterion + return max(rewards.values()) diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/mpi_run_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/mpi_run_multiclip.py new file mode 100644 index 000000000..f580c4dbb --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/mpi_run_multiclip.py @@ -0,0 +1,25 @@ +import sys +import subprocess +from pybullet_utils.arg_parser import ArgParser +from pybullet_utils.logger import Logger + + +def main(): + # Command line arguments + args = sys.argv[1:] + arg_parser = ArgParser() + arg_parser.load_args(args) + + num_workers = arg_parser.parse_int('num_workers', 1) + assert (num_workers > 0) + + Logger.print2('Running with {:d} workers'.format(num_workers)) + cmd = 'mpiexec -n {:d} python3 DeepMimic_Optimizer_multiclip.py '.format(num_workers) + cmd += ' '.join(args) + Logger.print2('cmd: ' + cmd) + subprocess.call(cmd, shell=True) + return + + +if __name__ == '__main__': + main() diff --git a/examples/pybullet/gym/pybullet_envs/deep_mimic/testrl_multiclip.py b/examples/pybullet/gym/pybullet_envs/deep_mimic/testrl_multiclip.py new file mode 100644 index 000000000..65e8f45f4 --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/deep_mimic/testrl_multiclip.py @@ -0,0 +1,112 @@ +import time +import os +import inspect + +currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) +parentdir = os.path.dirname(os.path.dirname(currentdir)) +os.sys.path.insert(0, parentdir) +print("parentdir=", parentdir) +import json +from pybullet_envs.deep_mimic.learning.rl_world import RLWorld +from pybullet_envs.deep_mimic.learning.ppo_agent import PPOAgent + +import pybullet_data +from pybullet_utils.arg_parser import ArgParser +from pybullet_utils.logger import Logger +from pybullet_envs.deep_mimic.env.pybullet_deep_mimic_env_multiclip import PyBulletDeepMimicEnvMultiClip +import sys +import random + +update_timestep = 1. / 240. +animating = True +step = False +total_reward = 0 +steps = 0 + + +def update_world(world, time_elapsed): + timeStep = update_timestep + world.update(timeStep) + reward = world.env.calc_reward(agent_id=0) + global total_reward + total_reward += reward + global steps + steps += 1 + + end_episode = world.env.is_episode_end() + if (end_episode or steps >= 1000): + print("total_reward=", total_reward) + total_reward = 0 + steps = 0 + world.end_episode() + world.reset() + + +def build_arg_parser(args): + arg_parser = ArgParser() + arg_parser.load_args(args) + + arg_file = arg_parser.parse_string('arg_file', '') + if arg_file == '': + arg_file = "run_humanoid3d_backflip_args.txt" + if (arg_file != ''): + path = pybullet_data.getDataPath() + "/args/" + arg_file + if os.path.isfile(path): + succ = arg_parser.load_file(path) + else: + files = [arg_parser.load_file(f) for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))] + succ = all(files) + Logger.print2(arg_file) + assert succ, Logger.print2('Failed to load args from: ' + arg_file) + return arg_parser + + +args = sys.argv[1:] + + +def build_world(args, enable_draw): + arg_parser = build_arg_parser(args) + print("enable_draw=", enable_draw) + env = PyBulletDeepMimicEnvMultiClip(arg_parser, enable_draw) + world = RLWorld(env, arg_parser) + + motion_file = arg_parser.parse_string("motion_file") + print("motion_file=", motion_file) + bodies = arg_parser.parse_ints("fall_contact_bodies") + print("bodies=", bodies) + int_output_path = arg_parser.parse_string("int_output_path") + print("int_output_path=", int_output_path) + agent_files = pybullet_data.getDataPath() + "/" + arg_parser.parse_string("agent_files") + + AGENT_TYPE_KEY = "AgentType" + + print("agent_file=", agent_files) + with open(agent_files) as data_file: + json_data = json.load(data_file) + print("json_data=", json_data) + assert AGENT_TYPE_KEY in json_data + agent_type = json_data[AGENT_TYPE_KEY] + print("agent_type=", agent_type) + agent = PPOAgent(world, id, json_data) + + agent.set_enable_training(False) + world.reset() + return world + + +if __name__ == '__main__': + + world = build_world(args, True) + while (world.env._pybullet_client.isConnected()): + + timeStep = update_timestep + time.sleep(timeStep) + keys = world.env.getKeyboardEvents() + + if world.env.isKeyTriggered(keys, ' '): + animating = not animating + if world.env.isKeyTriggered(keys, 'i'): + step = True + if (animating or step): + update_world(world, timeStep) + step = False