[Ver 1.0] The code was given by Seunghoon shin, used for hydraulic quadrupedal robot. Buyoun Cho will revise the code for Post-LIGHT (the robot name is not determined yet).

Dependencies:   mbed FastPWM

Revision:
99:7bbcb3c0fb06
Parent:
98:cd1b2da4704f
Child:
100:ac788a23ab07
--- a/main.cpp	Wed Aug 19 02:27:45 2020 +0000
+++ b/main.cpp	Mon Sep 07 13:24:15 2020 +0000
@@ -184,7 +184,7 @@
   }
 }
 
-
+float u_past[num_array_u_past] = {0.0f};
 float x_past[num_array_x_past] = {0.0f};
 float x_future[num_array_x_future] = {0.0f};
 float f_past[num_array_f_past] = {0.0f};
@@ -193,72 +193,82 @@
 float input_NN[num_input] = { 0.0f };
 
 const float h1[num_input][16] = { 
-   {-0.5148975849151611f,0.6913270354270935f,0.12903714179992676f,0.06968002766370773f,-0.790452778339386f,1.4857755899429321f,-0.17472904920578003f,1.0495461225509644f,-0.6124919652938843f,-0.25905439257621765f,-0.23836180567741394f,1.9130226373672485f,-0.3294254243373871f,-1.4778105020523071f,-0.2571594715118408f,-2.4880127906799316f},
-{-0.7906327247619629f,0.8467333912849426f,-0.3927857577800751f,-0.1892901360988617f,-0.9342114925384521f,1.347975492477417f,-0.4054011106491089f,0.6229709982872009f,-0.5047441124916077f,-0.13633562624454498f,-0.27498406171798706f,0.7508368492126465f,0.21865729987621307f,-1.491814136505127f,-0.20967772603034973f,-1.5309267044067383f},
-{-1.1931301355361938f,1.1135512590408325f,0.36391180753707886f,-0.48407620191574097f,-0.9778469800949097f,1.5033245086669922f,0.2872133255004883f,0.6421817541122437f,-0.9563406109809875f,-0.26685020327568054f,-0.3487076163291931f,-1.0145602226257324f,0.03020939975976944f,-0.45736515522003174f,0.05590221285820007f,-0.8476586937904358f},
-{-1.3051706552505493f,1.0874000787734985f,0.39742106199264526f,0.24348556995391846f,-1.1686537265777588f,0.2843722105026245f,-0.11584559082984924f,1.0672457218170166f,-1.069120168685913f,-0.12463018298149109f,0.0952904224395752f,-2.554316759109497f,-0.08049971610307693f,-0.008950088173151016f,-0.2961459457874298f,1.1411194801330566f},
-{0.14222723245620728f,0.4066593050956726f,-0.0051451027393341064f,0.2917144000530243f,-0.26570791006088257f,-1.2131741046905518f,0.1294034719467163f,0.13665500283241272f,-0.12447118014097214f,0.10683567821979523f,0.3473935127258301f,-2.5899734497070312f,0.0719006285071373f,0.7997652292251587f,-0.3865056037902832f,2.311340093612671f},
-{3.920180320739746f,-3.846663475036621f,0.21773302555084229f,0.4770970344543457f,3.5844225883483887f,-3.6941583156585693f,0.16514194011688232f,-3.6810801029205322f,3.154061794281006f,1.2145910263061523f,-0.24791206419467926f,3.4647464752197266f,-0.05989024043083191f,3.000591516494751f,-0.4132833778858185f,1.4438724517822266f},
-{-0.12111768126487732f,0.08380457758903503f,-0.2501986622810364f,-0.582443118095398f,-0.49875351786613464f,0.5143295526504517f,0.06014183163642883f,-0.592200517654419f,2.287799835205078f,-0.1632602959871292f,0.1481132060289383f,-1.1173450946807861f,-0.3159672021865845f,1.0699635744094849f,-0.15618428587913513f,-0.9952345490455627f},
-{-0.6355297565460205f,-0.03333640471100807f,-0.26619744300842285f,-0.053172167390584946f,-0.7811458706855774f,0.9147476553916931f,-0.17925891280174255f,-0.7938778400421143f,-1.6391313076019287f,-0.16126398742198944f,0.10272976756095886f,-1.6798183917999268f,0.3692992031574249f,0.6723886132240295f,0.04303058981895447f,2.1895909309387207f},
-{-0.0021498650312423706f,0.08051954954862595f,0.10248100757598877f,-0.4481695890426636f,-0.301817387342453f,1.5014127492904663f,-0.07246989011764526f,-1.0245394706726074f,-1.6347746849060059f,0.7809115052223206f,-0.29991286993026733f,1.5558332204818726f,0.2544945776462555f,0.9728240370750427f,-0.30555272102355957f,0.02078300528228283f},
-{-0.09895939379930496f,-0.5768936276435852f,0.18462657928466797f,-0.17065918445587158f,-0.04719269648194313f,0.4076792895793915f,-0.2990540862083435f,-0.12788896262645721f,-0.6685953736305237f,0.2066139578819275f,-0.011072719469666481f,0.32346463203430176f,0.39884257316589355f,0.9943166971206665f,0.3484981060028076f,-1.832129955291748f},
-{0.32884395122528076f,-0.2635522484779358f,0.37182438373565674f,0.1577087640762329f,-0.38952457904815674f,-0.5387749671936035f,-0.20339298248291016f,0.15740512311458588f,-0.19073837995529175f,0.5409423112869263f,0.3455236852169037f,-0.4002244472503662f,-0.058453820645809174f,1.5326565504074097f,0.26688337326049805f,-2.694427490234375f},
-{-0.23524357378482819f,-0.6518380045890808f,-0.40320003032684326f,-0.1305554062128067f,-0.06504672020673752f,-0.8075979948043823f,0.1533789038658142f,0.35412418842315674f,0.488972932100296f,0.6301876902580261f,-0.4167799949645996f,-0.36251047253608704f,0.1458144187927246f,0.6380942463874817f,0.10493969917297363f,-2.115976333618164f},
-{0.03274271637201309f,-0.0911468043923378f,0.19847965240478516f,0.05293659120798111f,0.30053776502609253f,-0.4260278344154358f,-0.2404318004846573f,0.07340890169143677f,0.16252197325229645f,-0.04801492020487785f,-0.11149545013904572f,-0.43259477615356445f,0.10189790278673172f,-0.670600414276123f,-0.22268100082874298f,-1.3953211307525635f},
-{-0.09184899926185608f,0.11332615464925766f,0.4127817749977112f,-0.13804464042186737f,-0.06335645169019699f,-0.5682795643806458f,-0.32001304626464844f,-0.3443944752216339f,-0.24648019671440125f,-0.23045474290847778f,-0.1973976045846939f,0.22043177485466003f,-0.2981586754322052f,-1.4600191116333008f,0.0479682981967926f,-0.3355119228363037f},
-{0.17548403143882751f,0.0514235720038414f,0.20282304286956787f,0.0031971673015505075f,0.4625685513019562f,-0.16567985713481903f,0.04202890396118164f,0.14673961699008942f,0.03839880973100662f,-0.11902724951505661f,-0.2818385362625122f,-0.056304946541786194f,0.10816586762666702f,-0.8528621792793274f,0.0668090283870697f,-1.0549118518829346f},
-{-0.14676930010318756f,-0.2984490394592285f,-0.40439701080322266f,-0.1851670742034912f,-0.22558066248893738f,-0.3248671591281891f,-0.15568238496780396f,0.0530388168990612f,0.10560767352581024f,-0.35172489285469055f,-0.4762044847011566f,-0.34036463499069214f,-0.26879024505615234f,0.10006672143936157f,-0.08245879411697388f,-0.039185766130685806f},
-{-0.15191811323165894f,-0.1007840558886528f,0.16706281900405884f,0.006672909948974848f,-0.003110149409621954f,-0.762115478515625f,-0.041414469480514526f,0.03543923795223236f,0.5521782636642456f,-0.4062930643558502f,-0.3557530641555786f,0.3585992157459259f,0.13107405602931976f,0.24544933438301086f,0.29427415132522583f,1.0534487962722778f},
+   {0.007510149385780096f,-0.08546054363250732f,0.1069919764995575f,0.08509496599435806f,0.07903794199228287f,-0.1684821993112564f,-0.14487768709659576f,0.042127542197704315f,0.1335487961769104f,-0.05927852913737297f,-0.0996183305978775f,-0.27109065651893616f,-0.9693920612335205f,0.24347235262393951f,-0.2132253646850586f,0.22068142890930176f},
+{-0.05294409766793251f,-0.041867922991514206f,-0.3256807327270508f,-0.034878261387348175f,-0.07026512175798416f,-0.22861075401306152f,-0.33614084124565125f,-0.18136321008205414f,0.09246346354484558f,0.1471434235572815f,-0.21722227334976196f,-0.18577393889427185f,-0.4844173789024353f,-0.18735669553279877f,-0.17385557293891907f,0.1741510033607483f},
+{-0.11809398233890533f,0.24660345911979675f,0.30173972249031067f,0.03463539108633995f,-0.20707233250141144f,-0.1771259754896164f,0.2381446659564972f,-0.2242676168680191f,-0.06035080924630165f,0.14598862826824188f,-0.29169777035713196f,-0.06151542067527771f,-0.010369033552706242f,0.1760575920343399f,0.04635167121887207f,0.10507853329181671f},
+{-0.10466352850198746f,-0.8296989798545837f,0.32952412962913513f,0.5276854634284973f,-2.529895782470703f,-0.7540028095245361f,-0.09605410695075989f,0.008735805749893188f,-0.012529163621366024f,0.25643670558929443f,-0.6958214044570923f,-0.43133997917175293f,-0.10338100045919418f,0.12308220565319061f,-0.2455512434244156f,-0.6582550406455994f},
+{0.21332372725009918f,1.231316089630127f,-0.004266113042831421f,0.4257567226886749f,2.670463800430298f,0.3019597828388214f,0.10729566216468811f,-0.2997838854789734f,0.49400031566619873f,0.10995209962129593f,-0.8193581104278564f,3.056830644607544f,0.4233405590057373f,0.2199849635362625f,-0.32047349214553833f,-2.6501264572143555f},
+{0.16043439507484436f,0.16375356912612915f,0.18053469061851501f,0.15874706208705902f,0.49326881766319275f,-0.18800215423107147f,0.13692843914031982f,-0.052282437682151794f,0.10912235081195831f,0.09951689839363098f,-0.14115400612354279f,0.46494060754776f,0.09473246335983276f,0.20486336946487427f,-0.34267646074295044f,-0.2081247717142105f},
+{-0.025689538568258286f,0.31047874689102173f,-0.20745378732681274f,-0.39484575390815735f,-0.03778747469186783f,0.16397447884082794f,0.04986697435379028f,-0.1702662855386734f,0.31800010800361633f,0.05778607353568077f,0.11649589240550995f,0.5063466429710388f,0.08153628557920456f,0.23025812208652496f,-0.12950116395950317f,0.07613629847764969f},
+{0.05911523848772049f,0.07395236194133759f,-0.22071924805641174f,0.16563451290130615f,-0.1870768517255783f,-0.1522436887025833f,-0.14863364398479462f,-0.30535879731178284f,-0.08226263523101807f,0.09613479673862457f,-0.04554467648267746f,0.05987131968140602f,0.46468624472618103f,0.03403371572494507f,0.03567907214164734f,0.39236220717430115f},
+{0.48603588342666626f,0.5314733386039734f,0.08497276902198792f,0.1000022143125534f,-0.3677861988544464f,0.02060365118086338f,-0.06008884310722351f,-0.6738452911376953f,-0.6158071160316467f,0.2879650890827179f,-0.6558405160903931f,0.26084667444229126f,0.1661921739578247f,0.10332033783197403f,-0.2533509433269501f,0.6018178462982178f},
+{1.1135119199752808f,-0.3734316825866699f,0.15308424830436707f,1.2624794244766235f,-0.650417149066925f,0.09587316960096359f,-0.24796254932880402f,-1.2541205883026123f,-1.1553627252578735f,-0.3928040862083435f,-1.2609866857528687f,-0.5755031704902649f,-0.22819675505161285f,-0.2676277756690979f,0.2889593541622162f,0.8006932735443115f},
+{2.0074784755706787f,-0.36035993695259094f,0.3083004653453827f,2.080264091491699f,-0.9242044687271118f,-0.07409020513296127f,-0.16864454746246338f,-1.6228060722351074f,-1.9013266563415527f,0.020437130704522133f,-1.6636942625045776f,-0.27511873841285706f,-0.5915750861167908f,-0.08952024579048157f,0.22128799557685852f,0.7325471639633179f},
+{-1.1312304735183716f,-0.2330935001373291f,-0.33431580662727356f,-1.0449731349945068f,0.48852232098579407f,0.07061628997325897f,0.12717509269714355f,1.2727468013763428f,0.6371821165084839f,0.16494829952716827f,0.33817121386528015f,0.8207710981369019f,0.8829463720321655f,-0.08701321482658386f,0.08701139688491821f,-0.4277694523334503f},
+{-1.4291173219680786f,0.23869316279888153f,0.16457059979438782f,-1.2995655536651611f,1.0952478647232056f,0.22367849946022034f,-0.19935551285743713f,1.603598713874817f,1.1977624893188477f,-0.1717631220817566f,1.5336147546768188f,0.4629380702972412f,0.5513730645179749f,-0.056743256747722626f,-0.18463733792304993f,-1.18805992603302f},
+{-1.0462191104888916f,0.2665462791919708f,0.34226056933403015f,-0.8941956758499146f,0.3416290581226349f,-0.21552634239196777f,-0.26534080505371094f,0.7205302715301514f,0.8155190348625183f,-0.2011536955833435f,1.17991042137146f,-0.08060719817876816f,-0.36113303899765015f,-0.12610484659671783f,0.03977322578430176f,-0.5902136564254761f},
+{-0.14560148119926453f,-0.02252625674009323f,0.1681719720363617f,-0.1556464582681656f,0.3650952875614166f,-0.2068587988615036f,0.034848541021347046f,0.5438522696495056f,0.5561457872390747f,0.0508471354842186f,0.5090703368186951f,-0.8586003184318542f,-0.4583241939544678f,-0.1314639449119568f,0.05539512634277344f,-0.18172568082809448f},
+{-0.02909262664616108f,-0.5079584717750549f,-0.3353082537651062f,-0.05747748911380768f,-0.3675327003002167f,-0.07392169535160065f,-0.1290850043296814f,-0.0009405362652614713f,0.14379964768886566f,-0.025794681161642075f,0.0013246577000245452f,-0.9464101195335388f,-0.9513437151908875f,-0.0883866474032402f,-0.06837120652198792f,0.11815738677978516f},
+{-0.11567045748233795f,-0.3691602945327759f,0.13852116465568542f,-0.01976647414267063f,0.46199774742126465f,-0.28755098581314087f,-0.034339070320129395f,0.07069749385118484f,-0.0023305853828787804f,0.04327867925167084f,-0.3838825225830078f,-0.8316290974617004f,0.13108094036579132f,0.339621901512146f,0.24399921298027039f,0.6707003116607666f},
+{-0.14796499907970428f,-0.5647942423820496f,0.1734175980091095f,-0.0629722997546196f,0.29957687854766846f,-0.21436209976673126f,-0.2993806004524231f,0.1293460875749588f,-0.21757152676582336f,-0.13116419315338135f,-0.24154658615589142f,-0.5120692849159241f,0.13548626005649567f,-0.08094917982816696f,-0.2279004007577896f,0.5226790904998779f},
+{-0.3319101929664612f,-0.33067721128463745f,-0.2469976395368576f,-0.04556537792086601f,0.24261413514614105f,-0.13033658266067505f,0.22729727625846863f,-0.253555029630661f,-0.38109493255615234f,-0.00568609731271863f,-0.34676215052604675f,-0.9921920895576477f,0.9402884840965271f,0.2126014530658722f,-0.27062278985977173f,0.1358032077550888f},
+{0.14674143493175507f,2.418966293334961f,0.12642300128936768f,-0.19850504398345947f,0.06300868839025497f,0.33109232783317566f,-0.11801235377788544f,-0.21144138276576996f,0.1037399098277092f,0.008970028720796108f,0.14475513994693756f,0.5237749218940735f,2.1925363540649414f,0.38920214772224426f,0.11879292130470276f,0.12239934504032135f},
+{-0.705306887626648f,2.034118413925171f,-0.06727775931358337f,0.6462412476539612f,1.3289216756820679f,0.10326699912548065f,0.12837812304496765f,0.4214518070220947f,0.7291567325592041f,-0.2874339520931244f,0.03681035339832306f,2.939788579940796f,1.2139573097229004f,0.39852505922317505f,0.017315596342086792f,-1.4441412687301636f},
+{0.45346522331237793f,-2.9436068534851074f,0.23416569828987122f,-0.5134108066558838f,-1.8037080764770508f,-0.4450288712978363f,0.2422361671924591f,-0.8234414458274841f,-1.0423285961151123f,0.05485852435231209f,-0.2535739243030548f,-1.1945387125015259f,0.07674559950828552f,0.060260143131017685f,0.05349007248878479f,-0.003740455722436309f},
+{-0.5714693665504456f,-0.9768184423446655f,-0.3112567365169525f,-1.9414567947387695f,-1.5952306985855103f,0.015514381229877472f,-0.11168576776981354f,0.764859676361084f,0.19867642223834991f,0.28118395805358887f,-0.39430075883865356f,-0.7374793887138367f,2.512695550918579f,-0.09541217237710953f,-0.30238914489746094f,0.4787358343601227f},
+{-0.555345892906189f,-1.6697070598602295f,-0.2824755012989044f,-0.7568497657775879f,0.45031219720840454f,0.16226015985012054f,-0.23616454005241394f,0.8048242926597595f,0.36109858751296997f,0.17753344774246216f,1.560268521308899f,-0.5632131695747375f,-0.4959094524383545f,0.1592772901058197f,0.22556337714195251f,-0.35344168543815613f},
+{0.1766999512910843f,-0.5652604103088379f,0.19488027691841125f,0.7946732640266418f,0.5880955457687378f,-0.5453419089317322f,-0.23504149913787842f,0.07649694383144379f,0.2843969166278839f,0.29189184308052063f,1.3644551038742065f,-0.7556276321411133f,-2.278599500656128f,-0.42851537466049194f,0.06556415557861328f,0.21098895370960236f},
+{0.07895351201295853f,0.024873005226254463f,0.008128523826599121f,0.474301278591156f,0.01219946425408125f,-0.5898025631904602f,0.012576103210449219f,-0.4172956347465515f,0.3102973997592926f,-0.0049124653451144695f,0.6962054967880249f,-0.17802098393440247f,-1.1843446493148804f,-0.49901241064071655f,-0.1611005961894989f,0.050344884395599365f},
+{0.00933903455734253f,-0.2628028094768524f,0.06349042057991028f,0.30531296133995056f,0.015286270529031754f,-0.2763833999633789f,0.260002464056015f,-0.20313967764377594f,0.10013914108276367f,0.2439035177230835f,-0.02404540590941906f,0.14526239037513733f,-0.3318004310131073f,-0.06318546086549759f,0.10834884643554688f,-0.20485977828502655f},
 };
 
 const float h2[16][16] = { 
-    {-3.4398791790008545f,1.8482379913330078f,-0.06966331601142883f,-0.00788033101707697f,-0.21907491981983185f,2.2592196464538574f,-0.004953187890350819f,0.0904630720615387f,-0.43008196353912354f,-0.1415480375289917f,0.7502431273460388f,-0.47024568915367126f,0.00603795750066638f,2.3494179248809814f,2.4163272380828857f,-0.5829678773880005f},
-{2.1497676372528076f,0.14490026235580444f,0.057057321071624756f,-1.802488088607788f,-0.35503754019737244f,-1.8396915197372437f,-0.5683606863021851f,-0.2990124225616455f,-0.33757925033569336f,0.2895788848400116f,2.452321767807007f,-0.6453670263290405f,0.19870516657829285f,-0.7929888367652893f,0.2338344007730484f,-0.649878978729248f},
+    {-0.2772485911846161f,-1.2950003147125244f,-0.06966331601142883f,1.824289321899414f,-0.21907491981983185f,2.213404417037964f,0.042268700897693634f,-0.05995963513851166f,-0.43008196353912354f,-0.1415480375289917f,-1.8411319255828857f,-0.2854231894016266f,-1.3981202840805054f,1.0698281526565552f,1.9954484701156616f,2.010364055633545f},
+{-0.013917648233473301f,-0.08138870447874069f,0.057057321071624756f,0.5897404551506042f,-0.35503754019737244f,0.541278064250946f,-0.47691380977630615f,-0.5193809270858765f,-0.33757925033569336f,0.2895788848400116f,-0.3936273455619812f,-0.401712566614151f,0.2896718680858612f,-0.39747750759124756f,-0.7484328150749207f,0.5164379477500916f},
 {-0.22745239734649658f,0.003037691116333008f,-0.061119019985198975f,0.35696902871131897f,0.05568113923072815f,0.011741191148757935f,-0.20225946605205536f,-0.08465918898582458f,0.3489862382411957f,0.0687277615070343f,0.31964078545570374f,0.3004753887653351f,0.36063823103904724f,-0.42892736196517944f,0.08652284741401672f,0.027493387460708618f},
-{0.032889463007450104f,-0.3373774290084839f,-0.2894435524940491f,0.19745232164859772f,0.08946844935417175f,0.21209675073623657f,-0.23805393278598785f,0.4122363030910492f,0.26211628317832947f,0.2953031361103058f,-0.015198991633951664f,0.2877965271472931f,-0.5414372086524963f,-0.14195658266544342f,0.31992027163505554f,0.23537500202655792f},
-{-0.5507016181945801f,0.18181274831295013f,-0.25313520431518555f,-0.7556056976318359f,0.036378175020217896f,0.3760649859905243f,-0.4087822735309601f,-0.08570799231529236f,-0.024399548768997192f,-0.39465832710266113f,2.0449025630950928f,-0.6807706952095032f,-0.03529064357280731f,-0.502030611038208f,0.676935613155365f,-0.8007894158363342f},
-{0.30517372488975525f,0.041431691497564316f,-0.3519742488861084f,-0.3776823580265045f,-0.3015052080154419f,0.22321076691150665f,-0.7179126143455505f,-0.019414573907852173f,-0.23047015070915222f,0.3579089343547821f,0.5109689831733704f,-0.2936096787452698f,-0.348145067691803f,-1.0741698741912842f,0.5876720547676086f,-1.0622529983520508f},
+{-0.007382708135992289f,-0.5117545127868652f,-0.2894435524940491f,1.8271986246109009f,0.08946844935417175f,1.262634515762329f,-0.3673998713493347f,0.27369168400764465f,0.26211628317832947f,0.2953031361103058f,-0.819525420665741f,0.2156951129436493f,0.8843018412590027f,0.3205264210700989f,-0.01071217656135559f,-0.9147164225578308f},
+{-0.35557547211647034f,0.46062135696411133f,-0.25313520431518555f,0.6578143835067749f,0.036378175020217896f,0.5827115178108215f,-0.36148199439048767f,-0.13511905074119568f,-0.024399548768997192f,-0.39465832710266113f,-0.48801594972610474f,-0.5026572942733765f,0.9545143246650696f,0.33227550983428955f,-0.024628030136227608f,-0.9521510601043701f},
+{0.3180491328239441f,0.2706754803657532f,-0.3519742488861084f,0.6082568764686584f,-0.3015052080154419f,-0.07025735080242157f,-0.4308614134788513f,-0.019414573907852173f,-0.23047015070915222f,0.3579089343547821f,0.03413962572813034f,-0.028536617755889893f,-0.20959392189979553f,0.3885268270969391f,0.25990504026412964f,-0.3386908173561096f},
 {-0.1828227937221527f,-0.02554568648338318f,-0.3260969817638397f,0.08422836661338806f,-0.38453540205955505f,-0.25432005524635315f,0.285016268491745f,0.12387624382972717f,-0.0982072651386261f,0.13111665844917297f,-0.03692615032196045f,-0.32796353101730347f,-0.21546880900859833f,0.049302369356155396f,-0.27088475227355957f,-0.4124959409236908f},
-{0.6063749194145203f,0.5828306078910828f,0.33083590865135193f,-0.6215236783027649f,-0.14358049631118774f,-1.3952178955078125f,-0.15046429634094238f,-0.3003333508968353f,0.2600560486316681f,-0.37898191809654236f,-3.355509042739868f,-0.7030810117721558f,-0.44010040163993835f,2.910482168197632f,1.412354588508606f,-0.53904128074646f},
-{-0.8159868717193604f,2.5172226428985596f,-0.11379697918891907f,-0.5977725982666016f,0.041274964809417725f,0.3400547504425049f,-0.2325267791748047f,0.0019084513187408447f,0.06103590130805969f,-0.38046833872795105f,0.8653631210327148f,-0.8738273978233337f,-0.49878576397895813f,0.6692306399345398f,-0.8648783564567566f,-0.6348849534988403f},
-{0.004738830961287022f,0.6704568266868591f,-0.13502129912376404f,0.16209425032138824f,0.12987366318702698f,0.048303429037332535f,-0.0286114439368248f,-0.3632148504257202f,-0.13619378209114075f,0.16938945651054382f,-0.35661208629608154f,0.09956754744052887f,0.24273109436035156f,0.20394794642925262f,0.08121732622385025f,-0.5678980946540833f},
-{-0.2795029282569885f,0.005486087407916784f,0.0457797646522522f,-0.35345935821533203f,-0.03321319818496704f,-0.4265287518501282f,0.17873415350914001f,-0.20421427488327026f,-0.050184011459350586f,0.12480869889259338f,-0.20449678599834442f,0.3545852601528168f,-0.3647043704986572f,0.4054204225540161f,-0.40733587741851807f,-0.270757257938385f},
-{-0.4767029583454132f,6.086306095123291f,0.3954955041408539f,-0.4272023141384125f,0.0033026933670043945f,2.254685401916504f,-0.3985411822795868f,-0.11795541644096375f,0.3487861454486847f,-0.32520344853401184f,3.9606168270111084f,-0.45552361011505127f,-0.0559220127761364f,-2.728947401046753f,1.051852822303772f,-0.3014424741268158f},
-{-0.1879907101392746f,-0.2501440644264221f,-0.15798500180244446f,0.5000408291816711f,-0.37393757700920105f,0.34403666853904724f,0.11292675137519836f,-0.2947862446308136f,-0.3764709532260895f,0.2424570620059967f,-0.08110538870096207f,-0.2837170362472534f,0.41839322447776794f,0.011466778814792633f,-0.18873721361160278f,0.06270549446344376f},
-{0.08501578122377396f,-0.3231253921985626f,-0.2018718123435974f,0.669339656829834f,0.07545611262321472f,-0.05011335760354996f,-0.41673141717910767f,-0.21416273713111877f,-0.24509364366531372f,0.19522181153297424f,-1.303952693939209f,-0.5437983274459839f,-0.30508455634117126f,0.31748679280281067f,-0.22021836042404175f,-0.5213689804077148f},
+{0.005763808265328407f,0.901138186454773f,0.33083590865135193f,-1.1402807235717773f,-0.14358049631118774f,-0.7633211016654968f,-0.33641529083251953f,-0.49347519874572754f,0.2600560486316681f,-0.37898191809654236f,0.5575101375579834f,-0.5000144839286804f,-1.884093165397644f,-0.5353549122810364f,-0.5794888734817505f,0.04782906547188759f},
+{-0.4748803973197937f,1.0203641653060913f,-0.11379697918891907f,-0.23675832152366638f,0.041274964809417725f,-0.5730250477790833f,-0.3222590982913971f,-0.17671950161457062f,0.06103590130805969f,-0.38046833872795105f,0.1672670841217041f,-0.665808916091919f,0.09403044730424881f,-0.8293164372444153f,-0.830751359462738f,-1.1721166372299194f},
+{-0.17900170385837555f,0.24768412113189697f,-0.13502129912376404f,0.12973129749298096f,0.12987366318702698f,0.13760869204998016f,0.2711336314678192f,-0.3632148504257202f,-0.13619378209114075f,0.16938945651054382f,0.26733100414276123f,0.36837705969810486f,0.3811538517475128f,-0.26114335656166077f,-0.01326712965965271f,-0.21127890050411224f},
+{-0.4157681465148926f,-0.26375511288642883f,0.0457797646522522f,-0.37343233823776245f,-0.03321319818496704f,-0.48413145542144775f,0.19619226455688477f,-0.20145627856254578f,-0.050184011459350586f,0.12480869889259338f,0.446702778339386f,0.1830996870994568f,-0.10346674919128418f,0.5542023181915283f,-0.43555375933647156f,-1.0851935148239136f},
+{0.2031182497739792f,0.4563729465007782f,0.3954955041408539f,0.6428529620170593f,0.0033026933670043945f,0.29504287242889404f,-0.45917266607284546f,-0.2633662223815918f,0.3487861454486847f,-0.32520344853401184f,-0.38528770208358765f,-0.32553040981292725f,-2.6672446727752686f,-1.1636950969696045f,0.7120160460472107f,-0.32854530215263367f},
+{-0.37746307253837585f,0.17546598613262177f,-0.15798500180244446f,-0.3340439200401306f,-0.37393757700920105f,-0.09083233028650284f,-0.023432869464159012f,-0.3284272253513336f,-0.3764709532260895f,0.2424570620059967f,0.09889675676822662f,-0.31593406200408936f,-0.24904464185237885f,0.1861269325017929f,-0.1036602035164833f,-0.3672483563423157f},
+{-0.1994437873363495f,0.22506126761436462f,-0.2018718123435974f,0.1583995223045349f,0.07545611262321472f,-0.06834666430950165f,-0.11297860741615295f,-0.21416273713111877f,-0.24509364366531372f,0.19522181153297424f,0.2815547287464142f,-0.28632938861846924f,-0.16718891263008118f,0.30169472098350525f,-0.22633033990859985f,-0.11036203056573868f},
 {0.4138670265674591f,0.1604653298854828f,0.056746453046798706f,0.036025404930114746f,0.3228367865085602f,-0.07083973288536072f,0.018455177545547485f,0.0059362053871154785f,0.40515169501304626f,0.014240056276321411f,-0.07738298177719116f,0.1407785713672638f,-0.13024571537971497f,-0.29546058177948f,-0.11976784467697144f,-0.35825538635253906f},
-{-0.5098994374275208f,-0.7174665927886963f,0.12081471085548401f,-1.3910459280014038f,0.29976895451545715f,-0.1250896453857422f,-0.18117135763168335f,0.31089308857917786f,-0.3893685042858124f,-0.02222958207130432f,0.01646742783486843f,-0.6269581913948059f,-0.3353298604488373f,0.3096812665462494f,-0.18774321675300598f,-0.4136137068271637f},
+{-0.4194699823856354f,0.5423954129219055f,0.12081471085548401f,-0.24402080476284027f,0.29976895451545715f,0.2541932463645935f,-0.3327784240245819f,0.16180357336997986f,-0.3893685042858124f,-0.02222958207130432f,-0.11276795715093613f,-0.34143054485321045f,0.5664615631103516f,-0.053445033729076385f,0.8375953435897827f,0.243302583694458f},
 };
 
 const float h3[16][16] = { 
-    {-0.36079341173171997f,-1.4002022743225098f,-0.15496845543384552f,-0.5186285376548767f,1.12073814868927f,0.021711893379688263f,0.22705639898777008f,0.3036012351512909f,-0.49025630950927734f,-0.5200098752975464f,-0.11870327591896057f,0.10166759043931961f,-0.6542547345161438f,0.7162150144577026f,-1.2592511177062988f,1.8590933084487915f},
-{0.047732532024383545f,-1.526611566543579f,-0.24044454097747803f,-0.3331625461578369f,-1.4728660583496094f,4.130182266235352f,-0.3198729455471039f,0.06247803568840027f,0.24862875044345856f,-0.15296953916549683f,0.2721240222454071f,-0.44297707080841064f,2.064105272293091f,1.9600025415420532f,-2.6107990741729736f,0.6521881222724915f},
+    {-0.36079341173171997f,-0.07178293913602829f,-0.09227152168750763f,-0.3770010769367218f,-0.20116505026817322f,0.0549815408885479f,0.3332441747188568f,0.3036012351512909f,-0.2405819296836853f,0.04891335964202881f,-0.26079756021499634f,0.4001283347606659f,0.00983765535056591f,0.32200857996940613f,-0.2931734621524811f,0.1405516117811203f},
+{0.047732532024383545f,0.3414793908596039f,0.15154126286506653f,-2.4443891048431396f,-0.12036903947591782f,0.2994164824485779f,-0.3198729455471039f,0.06247803568840027f,0.1580536812543869f,-0.4290032386779785f,0.7928521633148193f,-0.4697307348251343f,-1.3968902826309204f,1.0496028661727905f,-0.4007458984851837f,-0.34964969754219055f},
 {0.07903262972831726f,0.2790505588054657f,-0.07798504829406738f,0.04248586297035217f,-0.1963958442211151f,-0.19260792434215546f,-0.4038352966308594f,0.015906542539596558f,0.15353140234947205f,0.030178606510162354f,0.2488909661769867f,0.13805970549583435f,-0.0816211998462677f,-0.20733052492141724f,-0.3036302626132965f,0.054825395345687866f},
-{-0.30922991037368774f,-0.7222880721092224f,-0.37467989325523376f,-0.43315574526786804f,-1.4309061765670776f,-0.08427301049232483f,0.07763774693012238f,0.07002416253089905f,-0.5193164944648743f,-0.6246053576469421f,0.13192829489707947f,0.05707714706659317f,-0.005306444130837917f,0.9676557183265686f,-0.2170732319355011f,-0.42233189940452576f},
+{-0.30922991037368774f,0.9416791796684265f,-0.017252547666430473f,-1.943901538848877f,0.013195735402405262f,-0.49353185296058655f,0.20021501183509827f,-0.047183796763420105f,-1.2068167924880981f,-0.6804701089859009f,0.5606593489646912f,0.1098930612206459f,0.8157970905303955f,-0.32578280568122864f,-0.045937977731227875f,-0.04012180492281914f},
 {-0.39607733488082886f,-0.05481579899787903f,0.1976260244846344f,0.022423356771469116f,0.16892847418785095f,-0.27518749237060547f,0.16012099385261536f,0.3626593053340912f,-0.08640444278717041f,-0.11053556203842163f,-0.10529157519340515f,-0.31317979097366333f,-0.1530032455921173f,-0.1336749792098999f,0.22959044575691223f,0.19986507296562195f},
-{-0.37449589371681213f,0.6806039214134216f,-0.9492158889770508f,-0.11001157015562057f,0.26889902353286743f,0.593567430973053f,-0.3240175247192383f,0.22384825348854065f,-0.6745800375938416f,0.5529975891113281f,-0.2385200560092926f,-0.13680315017700195f,-2.3767623901367188f,-0.8200106024742126f,1.6094990968704224f,0.5019183158874512f},
-{0.4110594093799591f,0.17449118196964264f,-0.22636400163173676f,0.37246426939964294f,0.1987767368555069f,-0.18461379408836365f,-0.08670487999916077f,-0.25336313247680664f,-0.030661463737487793f,-0.06259563565254211f,-0.1344406008720398f,0.35313835740089417f,0.21155259013175964f,0.03979954123497009f,0.20585757493972778f,-0.3391006588935852f},
-{-0.40892091393470764f,0.043769627809524536f,-0.3867315948009491f,0.25968697667121887f,0.3424709737300873f,-0.051169753074645996f,-0.23312048614025116f,-0.390264093875885f,0.28059282898902893f,-0.1559126079082489f,-0.14134526252746582f,-0.0003446042537689209f,-0.2742875814437866f,-0.36560842394828796f,0.07994696497917175f,0.005298197269439697f},
+{-0.37449589371681213f,-1.0109825134277344f,-1.1120526790618896f,-0.516460657119751f,0.4546630084514618f,-0.10830622911453247f,-0.18732719123363495f,0.1023317277431488f,-0.5616535544395447f,-0.29796507954597473f,-0.8586224317550659f,-0.10938023030757904f,0.34202808141708374f,-0.3437815010547638f,0.11390715837478638f,-0.42449504137039185f},
+{0.4110594093799591f,0.22258628904819489f,-0.151726633310318f,0.5069118738174438f,0.2633327543735504f,-0.1975315660238266f,-0.08670487999916077f,-0.25336313247680664f,0.09567403793334961f,-0.06259563565254211f,-0.1663835644721985f,0.35313835740089417f,0.33005842566490173f,-0.04149754345417023f,0.3126353323459625f,-0.3391006588935852f},
+{-0.40892091393470764f,0.16079013049602509f,-0.5589035749435425f,0.0648638904094696f,0.15512557327747345f,0.13415980339050293f,-0.23312048614025116f,-0.390264093875885f,0.15892928838729858f,-0.1559126079082489f,-0.03546514734625816f,-0.0003446042537689209f,-0.42272207140922546f,-0.23001641035079956f,0.07994696497917175f,0.005298197269439697f},
 {0.10697010159492493f,-0.12228584289550781f,-0.37870171666145325f,0.21184906363487244f,-0.37222859263420105f,-0.17138728499412537f,-0.1382003128528595f,0.3493293821811676f,-0.360889196395874f,-0.3875247836112976f,0.42142823338508606f,-0.3482915461063385f,-0.3289247751235962f,-0.2186824083328247f,0.09620395302772522f,-0.06898030638694763f},
 {0.2847062647342682f,0.018552124500274658f,0.11435768008232117f,0.36562982201576233f,-0.047046810388565063f,0.30447837710380554f,0.2430230677127838f,0.2909286320209503f,-0.2802048921585083f,0.18043199181556702f,0.41849127411842346f,-0.287167489528656f,0.24394884705543518f,-0.14084559679031372f,-0.10168051719665527f,0.010465055704116821f},
-{0.15459725260734558f,-0.3258223533630371f,-0.1492905467748642f,-0.38421759009361267f,0.3944055438041687f,-0.11667867004871368f,-0.08742031455039978f,0.05785742402076721f,-0.34515058994293213f,-0.6268306374549866f,-0.010714782401919365f,-0.5127771496772766f,2.32047963142395f,-4.680253982543945f,0.6271816492080688f,0.3120194971561432f},
-{-0.408692330121994f,0.14456172287464142f,-0.09676734358072281f,0.0922636091709137f,-0.12856626510620117f,-0.0092587536200881f,0.03285527229309082f,0.38763079047203064f,-0.20705322921276093f,-0.25883403420448303f,0.12809070944786072f,0.03996849060058594f,-0.476328581571579f,-0.10435925424098969f,-0.0763804242014885f,0.2252551019191742f},
-{-0.2991822361946106f,0.3313310444355011f,-0.04416324570775032f,-0.05932474136352539f,0.11846208572387695f,0.19483672082424164f,-0.11253207921981812f,0.34576353430747986f,0.04814547300338745f,-0.35770976543426514f,-0.044228196144104004f,-0.36229726672172546f,0.05057636648416519f,-0.16746534407138824f,0.31812024116516113f,-0.10828400403261185f},
-{-0.2675279378890991f,0.17262902855873108f,-0.2144627720117569f,-0.20456747710704803f,0.0998799204826355f,-0.46256816387176514f,-0.46433788537979126f,-0.31893211603164673f,-0.6255066990852356f,-2.024089813232422f,-0.5077632069587708f,-0.7495431900024414f,2.3684983253479004f,-1.0168710947036743f,0.407028466463089f,0.9326169490814209f},
-{-0.015470266342163086f,-0.8369113802909851f,0.2782694101333618f,0.1809295266866684f,-0.4426118731498718f,-1.1821869611740112f,-0.07059845328330994f,-0.008358269929885864f,-0.8782433867454529f,-1.07737398147583f,-0.013666536659002304f,-0.4159398078918457f,-0.11609124392271042f,-0.9788495898246765f,0.0649058148264885f,-0.08596501499414444f},
-{0.1863725483417511f,0.07582804560661316f,0.03896167874336243f,-0.5841152667999268f,0.5126551985740662f,-0.024197066202759743f,0.04860696196556091f,0.17769548296928406f,-0.03374833986163139f,0.3378079831600189f,-0.3929237127304077f,0.19592127203941345f,0.43936654925346375f,0.09462994337081909f,-0.15384435653686523f,0.25945281982421875f},
+{0.15459725260734558f,0.1563560962677002f,-2.715458393096924f,0.29225197434425354f,0.004532767925411463f,-0.13399820029735565f,-0.08742031455039978f,0.05785742402076721f,0.4778056740760803f,-0.432364821434021f,1.0425382852554321f,-0.527778685092926f,-0.885683536529541f,-0.9473130702972412f,0.24802905321121216f,0.13823994994163513f},
+{-0.408692330121994f,-0.15431173145771027f,0.2030905932188034f,0.058152828365564346f,0.11729760468006134f,-0.35118550062179565f,0.03285527229309082f,0.38763079047203064f,-0.17373010516166687f,-0.25883403420448303f,0.12809070944786072f,0.03996849060058594f,-0.39998891949653625f,-0.3768051266670227f,-0.3348248600959778f,0.31507667899131775f},
+{-0.2991822361946106f,0.4162381589412689f,-0.24455799162387848f,1.4502341747283936f,0.08580417931079865f,-0.06097564101219177f,-0.11253207921981812f,0.34576353430747986f,0.03363130986690521f,-0.35770976543426514f,0.5319743752479553f,-0.36229726672172546f,0.7186808586120605f,-0.5638260841369629f,0.36124154925346375f,-0.16869547963142395f},
+{-0.2675279378890991f,0.7483115792274475f,-1.0489211082458496f,0.3543209731578827f,0.3239535391330719f,0.1036515012383461f,-0.32875844836235046f,-0.31893211603164673f,0.5136343836784363f,-0.5733040571212769f,-0.35725829005241394f,-0.5610737204551697f,1.1791003942489624f,-2.648066759109497f,0.23093374073505402f,0.03521662577986717f},
+{-0.015470266342163086f,-0.637820303440094f,1.954310417175293f,-0.10706640034914017f,0.9550812244415283f,-0.9942391514778137f,0.05196094512939453f,-0.11002077907323837f,-0.9482583403587341f,-0.5521947145462036f,0.03016444481909275f,-0.40535640716552734f,-0.30352818965911865f,-0.39103496074676514f,-0.15696723759174347f,-0.644324004650116f},
+{0.1863725483417511f,0.2030995935201645f,-0.3770821690559387f,0.8871026635169983f,0.22455444931983948f,0.8570596575737f,0.04860696196556091f,0.055102329701185226f,1.3874585628509521f,0.07449810206890106f,-0.16386890411376953f,-0.09843162447214127f,0.3051011860370636f,0.8180931210517883f,-0.27652546763420105f,-0.2139001488685608f},
 };
 
-const float hout[16] = { 0.45773375034332275f,0.1165318712592125f,0.07097302377223969f,0.05380448326468468f,-0.2004425972700119f,0.1399393528699875f,-0.09999578446149826f,0.15066689252853394f,0.06000344827771187f,0.18214748799800873f,0.24302048981189728f,0.013172424398362637f,-0.19916334748268127f,0.10718239098787308f,0.25865495204925537f,-0.19829462468624115f };
+const float hout[16] = { 0.45773375034332275f,0.3032819628715515f,-0.6421300172805786f,-0.4649045169353485f,-0.16619624197483063f,0.3455820381641388f,0.0030125975608825684f,0.10301974415779114f,-0.3167792856693268f,-0.0909297913312912f,0.4971315264701843f,-0.036371998488903046f,-0.27461063861846924f,0.8862571716308594f,0.19961613416671753f,0.17008529603481293f };
 
-const float b1[16] = { 0.4491645097732544f,0.9208755493164062f,-1.7145336866378784f,0.31634828448295593f,1.3090225458145142f,0.29584822058677673f,-0.058932315558195114f,1.2392112016677856f,0.586719274520874f,-1.0047807693481445f,0.5695509910583496f,1.2591114044189453f,-0.38834723830223083f,-1.4351211786270142f,-1.087764859199524f,3.8004064559936523f };
+const float b1[16] = { 0.8876581192016602f,1.2934176921844482f,-1.7145336866378784f,0.47413814067840576f,0.5421417355537415f,0.9176424145698547f,-0.058932315558195114f,0.5991071462631226f,0.17831164598464966f,-0.9105180501937866f,0.45373937487602234f,0.8390357494354248f,-1.4578003883361816f,-0.8427186012268066f,-1.087764859199524f,1.3814316987991333f };
 
-const float b2[16] = { 0.3279315233230591f,-2.2450084686279297f,-1.4564176797866821f,1.2814544439315796f,-0.6939148902893066f,0.06713049858808517f,0.1416337788105011f,-0.30969977378845215f,-1.20063054561615f,-1.912178635597229f,-1.621219277381897f,0.43232816457748413f,-0.2173057645559311f,0.9712880849838257f,-0.5004745721817017f,0.3576800227165222f };
+const float b2[16] = { -0.2414330244064331f,-0.6640310883522034f,-1.4564176797866821f,-0.46412673592567444f,-0.6939148902893066f,0.19327175617218018f,0.23848557472229004f,-0.49110376834869385f,-1.20063054561615f,-1.912178635597229f,0.7704527974128723f,0.4352988004684448f,0.18021315336227417f,2.032188892364502f,0.36258646845817566f,1.5754528045654297f };
 
-const float b3[16] = { -1.963319182395935f,0.4309479296207428f,-0.12190741300582886f,-0.3140162527561188f,0.6727640628814697f,0.5497865676879883f,-0.5637004375457764f,-0.6562485098838806f,0.2397126406431198f,1.1901241540908813f,-0.29090970754623413f,-0.3208962678909302f,-2.2033352851867676f,-0.04992983490228653f,-0.40876078605651855f,-1.1118935346603394f };
+const float b3[16] = { -1.963319182395935f,-0.48238012194633484f,0.3164938986301422f,0.14207158982753754f,0.15110278129577637f,0.91092848777771f,-0.45353031158447266f,-0.7655421495437622f,0.5736603140830994f,0.24439877271652222f,-0.008955814875662327f,-0.25053882598876953f,-0.3661997616291046f,-0.7193557024002075f,-1.3624762296676636f,-0.5095552206039429f };
 
-const float bout[1] = { -0.07665504515171051f };
+const float bout[1] = { -0.28574320673942566f };
 
 
 float VALVE_POS_RAW_NN = 0.0f;
@@ -421,6 +431,7 @@
             }
             output = 1.0f/(1.0f+exp(-output));
             output = output * 20000.0f - 10000.0f;
+            output_normalized = output;
             if(output>=0) {
                 valve_pos.ref = output*0.0001f*((double)VALVE_MAX_POS - (double) VALVE_CENTER) + (double) VALVE_CENTER;
             } else {