{"id":603,"date":"2014-11-07T13:45:11","date_gmt":"2014-11-07T13:45:11","guid":{"rendered":"http:\/\/dronesonen.hibu.no\/?p=603"},"modified":"2014-12-02T00:20:15","modified_gmt":"2014-12-02T00:20:15","slug":"nytt-start","status":"publish","type":"post","link":"https:\/\/dronesonen.usn.no\/?p=603","title":{"rendered":"Uke 47. Den 10 uken."},"content":{"rendered":"<p>De siste ukene har vi g\u00e5tt fra kodeskrivings fasen til feils\u00f8king, nyeste koden best\u00e5r stort sett av en PID regulator, input og kontroll\/innstillings system. I teorien skal man kunne justere p\u00e5 3 variabler Kp, Ki og KD og andre konstanter for skalering.\u00a0 Konstantene gir tilgang til \u00e5 justere hvordan roboten oppf\u00f8rer seg, men realiteten har v\u00e6rt helt annerledes. Det \u00e5 implementere PID regulator i Arduino har v\u00e6rt en stor utfordring, det startet\u00a0med at vi brukte et ferdig bibliotek lagt ut p\u00e5 playground men det viste seg at den ikke fungerte riktig begge veier (mulig vi har miskonfigurert dette).<\/p>\n<p>Vi bestemte oss for \u00e5 ikke bruke\u00a0mer tid p\u00e5 dette og valgte heller \u00e5 skrive inn PID koden manuelt. Deretter var det\u00a0p\u00e5 tide \u00e5 implementere\u00a0det inn i systemet \u00e5 justere tyngdepunkt, p\u00e5drag og retning p\u00e5 hjul.<\/p>\n<p>\u00c5 justere p\u00e5 PID konstantene gav ingen forbedring, det har g\u00e5tt titalls timer p\u00e5 justeringer uten nytte. Vi har hatt\u00a0mistanke om hardware svakheter, det har v\u00e6rt umulig \u00e5 f\u00e5 roboten til \u00e5 balansere basert p\u00e5 variable justeringer. Vi hadde blant annet et lite problem rettning p\u00e5 hjula\u00a0 (da motorene kj\u00f8re maksimalt en rettning s\u00e5 bytta dem rettning og kj\u00f8rte i revers), vi\u00a0 har tatt kontakt med Dag i forbindelse med feils\u00f8king og kunne da bruke Microsoft Exel til \u00e5 lage grafer av test kj\u00f8ring for feils\u00f8king, rettningsfeilen ble fort oppdaget og l\u00f8st.\u00a0 Etter dette har vi brukt denne metoden for \u00e5 feils\u00f8ke forholdet mellom input og output.\u00a0 Jeg har tilpasset kallman filter biblioteket til \u00e5 fungere med den nye MPU-modulen som endelig ankom.\u00a0 Nytt problem med dette var reaksjons tiden var alt for d\u00e5rlig. \u00c5 justere p\u00e5 konstanter , pr\u00f8ve \u00e5 finne ut om det er delay p\u00e5 systemet hjalp ikke.<br \/>\nI dag har vi bestemt oss for \u00e5 skrive koden p\u00e5 nytt, fjerne all un\u00f8dvendig kode (brukt tidligere). Nye koden begynte med kun kallman filter for \u00e5 lese vinkelen p\u00e5 plattformen, leste av vinkelen der roboten kunne st\u00e5 loddrett\u00a0uten \u00e5 falle. Denne verdien brukte vi som set point.<br \/>\nVidere har vi implementert motor koden som har blitt skrevet tidligere. koblet inn motor PWM direkte sammen med vinkelavlesningen (ganget med en konstant) for \u00e5 teste reaksjonstiden. N\u00e5r vi var forn\u00f8yd med resultatet implementerte vi\u00a0PID igjen.<\/p>\n<p>N\u00e5 er er reaksjonstiden akseptabel og h\u00e5pet er p\u00e5 plass igjen! \ud83d\ude42<br \/>\nVi har tidligere v\u00e6rt uenige om motorene er raske nok til \u00e5 kunne balansere roboten men hadde aldri fasitsvar p\u00e5 det f\u00f8r idag. Vi fant ut at det skal v\u00e6re mulig hvis avvik vinkelen holdes minimal ellers vil roboten aldri klare \u00e5 ta igjen avviket, dette forutsetter at reaksjonstiden m\u00e5 v\u00e6re momentant med vinkel avviket slik at avviket holdes tiln\u00e6rmet 0. \u00a0N\u00e5 er det ny kode og nye muligheter, etter en del justering kan roboten endelig st\u00e5 i noen sekunder f\u00f8r den faller igjen , for f\u00f8rste gang med PID og ikke bare P (brukt tidligere). Det tok mye tid \u00e5 justere variablene riktig. Vi ble ikke helt forn\u00f8yde med resultatet av denne justeringen men det var det vi fikk til idag, det er mye vibrasjon fram og tilbake, kommer av blant annet\u00a0tomgang (d\u00f8d sone) p\u00e5 hjul og PID variablene. Det er rom for bedre balanseringstid innen denne uken! \ud83d\ude42<\/p>\n<p>Slik ser n\u00e5v\u00e6rende graf ut. utfordringen n\u00e5 er \u00e5 minke output slagene uten \u00e5 p\u00e5virke &#8220;Read&#8221; negativt.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-607\" src=\"http:\/\/dronesonen.usn.no\/wp-content\/uploads\/2014\/11\/exel-300x178.jpg\" alt=\"exel\" width=\"442\" height=\"178\" \/><br \/>\nHer er demonstrasjon av den siste koden under kj\u00f8ring:<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=GH4X7uDVy8c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>De siste ukene har vi g\u00e5tt fra kodeskrivings fasen til feils\u00f8king, nyeste koden best\u00e5r stort sett av en PID regulator, input og kontroll\/innstillings system. I teorien skal man kunne justere p\u00e5 3 variabler Kp, Ki og KD og andre konstanter for skalering.\u00a0 Konstantene gir tilgang til \u00e5 justere hvordan roboten oppf\u00f8rer seg, men realiteten har [&hellip;]<\/p>\n","protected":false},"author":31,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"class_list":["post-603","post","type-post","status-publish","format-standard","hentry","category-smart-systems-2014-balancebot"],"_links":{"self":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=603"}],"version-history":[{"count":6,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions"}],"predecessor-version":[{"id":608,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=\/wp\/v2\/posts\/603\/revisions\/608"}],"wp:attachment":[{"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dronesonen.usn.no\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}