fredag, november 08, 2013

En lækker fredag

Så blev det fredag og sidste chance for at få robotten til at adlyde. Inden vi kunne starte på en maratontest, manglede vi dog en ganske uvæsentlig lille detalje; pakning af personlige sager. Med under 24 timer til afrejse skulle der ske noget. Robotten kan ikke få hjælp i Jakarta, og skal derfor lære at køre helt af sig selv, hver gang, uden fejl. 

Da robotten var færdigbygget for uger siden, er det primært software der har beskæftiget os det sidste stykke tid. Softwaren består hovedsagligt af to dele: håndtering af bolde og navigation. Navigation er uden tvivl, det der har givet os størst problemer. Vi er her bl.a. afhængig af nogle udefrakommende faktorer; som f.eks. kompasforstyrrelser og fejl i vores motorkontroller, der har gjort livet som programmør surt. 

Robotten navigerer ved hjælp af en blanding af kompasretninger, distancemålinger og forskellige farver i underlaget. Kompasretninger er efterhånden optimeret fint, men hvis der ligger ledninger i gulvet, eller en mobiltelefon kommer for tæt på, så kommer der store udslag. Vi håber på at der ligger færre ledninger og andet gøgl i gulvet i Jakarta. Arrangørerne lover gode forhold for kompasset. Vi fandt dog en helt ny, innovativ og speciel måde, at få kompasset til at indordne sig. Vi forbeholder os dog retten til at lade det forblive en forretningshemmelighed.

Distancemålingerne har givet os store problemer, ikke fordi vi ikke kører den rigtige distance, men fordi robotten ofte står og ”danser” et par sekunder hver gang den skal stoppe. Eftersom vi kører meget rundt på banen, summerer dette op til en betydelig mængde tid, der går med ingenting. Vi har, efter megen trawling på nettet, fundet ud af at fejlen ligger i Tetrix motor controlleren. Det er helt bestemt en funktion, hvor man beder motorkontrolleren kører til et bestemt punkt, der ikke virker.

Man kan dog bede motor controlleren aflæse hvor langt vi har kørt, en slags omdrejningstæller, og dermed lave sin egen funktion der kan få robotten til at køre en bestemt distance. Udfordringen ligger dog hovedsagligt i at få robotten til at køre lige. Hvis den kører som en fulderik spilder vi tid, og rammer formentlig ikke målet.

Efter lidt små justeringer lykkedes det, at lave vores egen kode der kan få robotten til at køre en given distance, hvor den både accelererer og decelererer blødt og samtidig kører snorlige. Vi er sluppet af med ”dansen” når motorerne forsøger at bremse, og vi kan få robotten til at køre blødt og behersket. Alt dette gør, at vi har kappet omkring 30-60 sekunder af den totale køretid. Så nu kan vi måske nå at sortere flere bolde!

Ingen kommentarer:

Send en kommentar