Tävlingsstrategi
Hur tänkte vi när det gällde strategin för tävlingen? Först och främst var tävlingen uppdelad i kval och tävling, och därför studeras kvalet först.
Kvalet
Den enda bilen i startfältet som kan köra mot sargen och indikera detta. De andra bilarnas gafflar tog i sargen. Detta bestämde vi oss för att utnyttja.
Tanken var att kunna veta exakt var pallarna placerades i boet, genom att docka bilen mot sargen och sedan backa ut en förutbestämd längd och placera pallen på kajen. På så sätt tar vi bort tiden det tar för att bildbehandla och hitta kajen, _och_ att undvika pallar som står på den samma.
Ett kval börjar med att bilen stå mitt på planen, på den sida som det egna boet befinner sig på.

Startposition och den första hämtningen.


Målet är sedan att ta den andra pallen på den egna planhalvan. Detta därför att det kan bli knepigt om andra vill komma åt den i mitten samtidigt. Sammanfattat kan det beskrivas att ta den pall närmast motdståndaren utan att råka i trubbel. Dessutom kan pallens placering uppskattas och på så sätt göra det lättare för roboten då den skall hämta pallen. Desto bättre styrsignaler som bildbehandlingen ger från börja, ju snabbare kan en pall hämtas.
Eftersom detta är kvalprogrammet kan det tyckas att ingen hänsyn skulle behöva tas till andra robotar. Tanken är att programmet blir mer testat om samma rutin kan användas i kval som tävling, därför kommer viss kod att återanvändas för tävlingsloppet (de två första hämntningarna).
När klossen hämtats så gäller det att ta sig till sitt eget bo på snabbast möjliga sätt. Metoden som valdes var att backa i fullfart över spelplanen.

Roboten framme efter att backat över spelplanen.


När roboten är framme så finns informationen att den står mot kajen. Roboten vänder upp 90o och kör mot sargen. Genom pulsräknarna på hjulen kan nu robeten backa lagom långt för att sedan ställa av pallen.

Lämnar av den första pallen.


Den som är uppmärksam ser att pallen inte står på benen, och frågan blir varför?
Jo, på tävlingen kommer det att göra så ingen annan kan ta pallen från boet. Åtminstone inte de robotar som deltar i vårt race. Under kvalet så puttas pallen in en bit och undviker på så sätt att trilla ut på spelplanen, vilket hände under testningen.

Pallen säkras i det egna boet.


  När bilen sedan vänder runt 180o borde den stå nästan rakt framför pallen längst till kanetn på den egna planhalvan. Hämtningen sker på samma sätt. När den tredje pallen skall hämtas körs roboten en bit in på motståndarens halva och hämtar pall för pall. Efter cirka 1.40 min har fyra pallar hämtats och det är lite trångt i boet. Efter att dockat mot sargen palceras bilen på ett sådant sätt att den körs mot sargen och "kanar" in så långt ut mot kanten som går och lämnar den sista pallen om tid ges.

Pallarna lämnas i boet. Den sista trycks in vid kanten.



Tävlingen
Tävlingsprogrammet "lånade" kod från kvalprogrammet. De två första pallarna hämtades på samma sätt. När så de två pallarna är på plats och roboten ger sig ut på banan igen så kommer nyheterna i programmet. Bilen vänder upp och och kör över planen mot motståndarens planhalva. Om inget hindra den på vägen kommer den att docka mot sargen, vända upp mot motståndarens bo och undersök om det finn någon pall att ta.
Finns det en pall tar roboten den och vänder upp för att köra hem igen. Skulle den hindras på vägen stannar den och lägger pallen på spelplanen. Ingen robot kan ta upp pallen då, och eftersom två redan är säkrade i boet så gör det att minst ett oavgjort resultat kommer att nås.
Skulle roboten träffa på ett hinder innan den hunnit docka mot sargen backar den tillbaka och kör fram ett par gånger för att få den andra roboten ur läge. Därefter kör den upp mot den gemensamma kajen för att komma runt motståndaren. Den ställer sig en bit bort nära motståndarens sarg kant och väntar lite så att den hinner flytta på sig. Nu kan roboten göra ett nytt försök att hämta pallar i motståndarboet.
Skulle ingen pall hittas gäller det att irritera motståndaren så mycket det går. Roboten dockar baken mot sargen och kör fram och tillbaka framför kajen så att inte motståndaren hittar den. Genom att fälla ner gaffeln skymms ännu mer av kajen.

Stör motståndaren genom att skymma kajen.



Allt skull fungera väl om det inte vore för slumpen. När två robotar med egen vilja kör på planen störs strategin som lagts upp. Vinnaren blir troligen den som har den mest robusta roboten och klara av att hantera slumpen bäst. Frågorna som ställs är hur man skall hantera situationen om bilarna koliderar? Hur skall detta detekteras? Vad skall göras om bildbehanslingen slutar fungera? Hur detekteras avståndet till sargen i sidled? Många frågor som skall avvägas och tillsammans ge ett robust mekatroniskt system.
 
 


©2000 Christian Dahlqvist, Henrik Hagström