Varighed:
Tilstedeværende: Morten, Jonas, Claes, Simon
Goal
Målet med denne øvelse er at lave en robot som kan kører op og ned af Alishan banen.
Plan
- Ombygge standard bilen så den passer til banen.
- Skrive et program som kan få bilen til at køre op og ned.
Results
1: Bilen blev forhøjet, så den ikke kunne ramle mod kanten for oven af banen. Dette blev gjort ved at der blev sat større hjul på, samt at det bagerste hjul blev gjort længere, så det passede med de nye hjul. Dette gjorde at bilen ikke ramlede mod kanten øverste på platformen. Der blev påsat 2 lyssensorer foran på bilen ca. med 3 cm imellem så vi aldrig burde se sort på begge sensorer uden at være et "komplekst" sted, f.eks. platform, startområde, kanter eller hvor den sorte linie splitter.
2: Efter at have holdt øje med de andre grupper og vurderet hvor lang tid vi havde til denne konkurrence satte vi os det mål, at vores robot bare skulle gennemføre banen.
Eftersom bilens miljø(banen) i denne konkurrence er statisk besluttede vi os for en sekventiel løsning med 2 lys-sensore. Vi genbrugte vores gamle klasser til sensore, så de automatisk kalibrerede sig selv hen ad vejen.
Basalt set delte vi banen op i dele:
0-40sek :
Almindelig simpel line-follower genbrugt fra tidligere opgaver, den brugte her kun den højre sensor for at undgå problemer med den venstregående sorte streg i første sving. Det var efter eksperimentation vi fandt alle disse tider. Så efter de 40 sekunder var robotten cirka på midten mellem sving 1 og 2.
40-60sek:
Igen simpel linie follower genbrugt, her bruger den så venstre sensor.
Line-follow, indtil begge sensorer ser sort.
Vi ved at vi har passeret andet sving her, så vi kører videre med venstre-sensor line-following mens vi holder øje med om begge sensorer detekterer sort. Hvis de gør må vi være på vej ind på platformen. Hvis dette er tilfældet kører vi fremad i 3 sekunder så vi ved robotten er på platformen et sted.
Vend
Vi står nu på platformen og peger den forkerte vej, vi er derfor nødt til at vende. Vi er på dette tidspunkt ikke helt sikre på hvordan robotten står, så det forsøger vi at løse med følgende metode:
Drej venstre indtil højre sensor er sort
Drej venstre indtil venstre sensor er sort
Drej venstre indtil højre sensor er sort.
Grunden til dette er, at robotten kan stå på 3 forskellige måder: ("|" er banen, "*" er sensorer.)
( * | * ), ( * * | ), ( | * *) , altså, enten er begge sensorer til venstre, højre eller på hver side af striben.
På grund af vores robots motorer ikke kører lige hurtigt fandt vi hurtigt frem til, at den trak mod højre, vi kom derfor altid i situation 1 eller 3 ift. ovenstående og disse 3 træk kunne så vende robotten og sørge for, at striben igen var mellem de to sensorer.
Line-follow, indtil begge sensorer ser sort.
Igen simpel venstre-sensor line-following indtil begge ser sort, derefter kør lidt fremad. Vi resetter også vores timer her.
0-30sek
Som sagt trækker vores robot mod højre når vi siger den til kører ligeud, vi ved derfor at vi er til højre fra striben igen og bruger derfor den line-following på højre sensor i 30 sekunder.
30-55sek
Vi burde nu være på den 2. skråning på vej nedad, vi skifter derfor til den anden sensor.
Find hjem
Vi er nu på den sidste del af banen og skal bare sørge for at komme hjem, dette gør vi med normal line-following. Hvis begge sensorer viser sort(den tror grøn er sort), kører vi lidt fremad og stopper.
Problemer
Vi gik ud fra vi kunne genbruge delene fra turen op til turen ned, det var en fejl-antagelse, da vores robot er standardrobotten og denne har et meget højt tyngdepunkt. Dette betød, at når vores robot stoppede op på vejen ned tiltede robotten fremover hvilket gjorde sensorerne læste forkerte værdier og robotten fik et spastisk anfald, dette blev dog afhjulpet ved at lade den kører lidt langsommere og stoppe lidt mindre brutalt.
Resultat
Robotten fik gennemført banen men blev desværre ikke optaget da vores tid ikke var til det. Tiden blev målt til 157 sekunder - hvilket var rekorden på det tidspunkt, men det blev jo (heldigvis) slået senere.