Dato: 23/8 - 2010
Varighed: 14 - 17
Medvirkende: Morten Rasmussen, Kenneth Sejdenfaden Bøgh, Morten Nikolaj Pløger.
Forløb:
Vi startede med at forsøge at samle balancerobotten fra Brian Bagnall
udskrifterne, men skiftede hurtigt til Philippe Hurbain
http://legolab.cs.au.dk/DigitalControl.dir/NXT/Lesson4.dir/Lesson.html
på opfordring af Ole.
Det er nødvendigt for os at tilpasse skabelonen til vores NXT en smule, da
vores batteri fylder mere en den i Philippe's skabelon.
Downloader Brian Bagnalls's kode fra http://www.variantpress.com/file_download/2
, compiler og overfører den til vores NXT uden ændringer.
Det er tydeligt at robotten forsøger at holde balance, men den laver for store
korregeringer og mister dermed balancen .
Ved en god kørsel holder den balancen max ~3sek selv. Vi erfarede at en
kalibrering på 390 gav det bedste resultat.
I første omgang forsøgte vi at gøre korregeringen 'mildere' hvilket hjalp
en smule men ikke gav de store resultater.
Tilføjede en listeners på højre og venstre knap på NXT'en således at vi kan
regulere offset uden at stoppe robotten.
Med den nye mulighed og en lidt mindre værdi der bliver adderet i power formlen
1 fik vi forbedret balancetiden til ~10sek med offset omkring 555.
Eksperimenterer med at lave en proportionel for adderingen i powerfunktionen:
power = (power/4 + 20) + (power * 45) / 100;
hvor (power/4 + 20) før var fastdefineret til 55.
Med denne opsætning lykkedes det os at få den til at holde balancen i ~30sek.
Måden vi fandt frem til denne løsning, var at vi alle tre havde bemærket at
robotten lavede for store korregeringer når den står lige, og for små når den
mistede balancen.
Derfor faldt vores interesse for den konstante værdi i power '55', der
tilsyneladende har det ene formål at booste gain. Hvis vi kunne ændre
dette boost fra at være statisk til at være propositionelt i forhold til
hvor godt den balancerer, ville det forbedre robotten meget.
power = (power/2 + 15) + (power * 45) / (101-power)
Nu lykkedes det at få robotten til at balancere i <60sek med offset 537.
Experimenterede efterfølgende med hvorvidt det var muligt at forbedre robottens evne til at håndtere størrer afvigelser ved at give et 'kick' i gain på motorene, men det gav intet resultat.
Ingen kommentarer:
Send en kommentar