Project 'Go where no one has gone before'

Eerstejaarsproject AI UvA
Juni 2004

David de Bos
Sebastiaan de Stoppelaar

Zaterdag 19 / zondag 20 juni

Var Nadenken over project ôGo, where no one has gone beforeö.
Idee: Whumpus wereld nabouwen met een Aibo als agent.

We hebben een representatie voor de werelde bedacht die de Aibo kan herkennen:
geel vlak is een briesje uit een put;
blauw vlak is stank van de wumpus;
de roze Aibo kluif is het 'goud'.

Maandag 21 juni

10:15 Introductiepraatje Arnoud Visser
11:00 Introductie van de Aibo's in het robotlab in het Sciencepark.
Door wat technische storingen met de Aibo's konden we die niet gebruiken. Bovendien waren vrij gecompliceerd voor ons probleem qua beeldherkenning.
Arnoud droeg de robot van Ben Bruidegom als alternatief aan.
13:00 Lunch
14:00 Afspraak met Ben Bruidegom. Hij had een Lego RCX robotje voor ons die werkte met drie lichtsensoren. Die lichtsensoren kunnen goed het verschil tussen zwart en wit waarnemen.

We hebben ons Wumpus probleem opnieuw gedefinieerd. Nu is het onze bedoeling de robot een zwarte lijn te laten volgen om hem naar het volgende vakje te laten navigeren.

15:30 Thuis experimenteren met de Lego robot.
Het lukte niet de juiste software te vinden om hem aan te sturen.
16:30 Einde van de dag.

Dinsdag 22 juni

10:00 Thuis verder gezocht naar software om te communiceren met de robot.
Dit lukte uiteindelijk met de Bricx C Commander.
11:00 Onderzoek naar de op C lijkende programmeertaal voor Lego RCX. We hebben verschillende tutorials doorgenomen.
12:00 Onderzoek naar code voltooid, start met programmeren van de wumpus. Prolog is niet te gebruiken, de RCX is namelijk standalone en er kan alleen een klein C programma naar verzonden worden. Dus we beginnen helemaal opnieuw met programmeren.
We hebben ontdekt dat we maar 31 variabelen mogen gebruiken, het programma mag maar 5 kb zijn, dus we moeten heel effici‹nt programmeren.

Idee voor tegelrepresentatie gevonden:
Twee sensors. De middelste volgt een lijn, dus linker zoekt naar een punt als stopsignaal. Uit de grijstint moet hij dan meteen de perceptie opmaken.
Sensoren getest. Niet voldoende nauwkeurig voor gevoelig verschil in grijstinten.

13:00 Nieuw idee:
Nog een sensor aan de rechterkant voor het perceptie gedeelte. De afstand tussen de rechtersensor en de middelste sensor is groter dan de afstand tussen de linker sensor en de middelste sensor. Anders krijg je problemen als hij de zelfde route de andere kant op neemt.

We hebben de robot ook omgebouwd zodat de sensoren dichter bij de grond staan. Dan nemen ze nauwkeuriger waar.

15:00 De robot kan nu lijnen volgen.
We hebben ook een testbord in elkaar geklust om de robot te kunnen testen.

Alleen wanneer de robot een kwartslag draait, brengt ons stopteken de robot in de war en weet hij niet meer waar hij is.
We hebben de stopsensor op een andere plek geplaatst om dit probleem op te lossen. De stop sensor zit nu in het midden van de robot. Zo herkent hij een kruispunt als punt op te stoppen.

16:00 De sensoren leveren nog wat problemen op: de perceptievlakken worden bij het draaien af en toe als de lijn aangezien.
We hebben de perceptiesensor nu wat naar voren gezet. Zo zit dat vlak niet meer in de draaicirkel van de robot.
17:00 Hard bezig geweest met de wumpus software.
We slaan nu gegevens binair in de variabelen op, zodat we er veel meer informatie in kwijt kunnen. Elke binaire 1 of 0 staat nu voor een boolean. In de RCX zijn namelijk alleen integers op te slaan.
18:00 Einde van de dag.

Woensdag 23 juni

10:00 Gesprekje met Arnoud.
Hij gaf aan dat het labreport uitgebreider moet.
Hij rade een Wiki Site aan, wij zijn eigenwijs.
11:00 Verder programmeren aan de wumpuswereld.
Het path plannen leverde wat problemen op gezien de beperkte mogelijkheden van de RCX programmeer taal; het gebrek aan variabelen, het gebrek aan ruimte en het gebrek aan functionaliteit. Een functie kan bijvoorbeeld geen waarde retouneren.
Wij denken hier een oplossing voor gevonden hebben.

We hebben het 'bewegen' van de robot nog wat verbeterd. Af en toe raakte bij het draaien van de robot de sensoren in de war van de lijnen. We hebben alle plaatsen subtiel gewijzigd om die problemen te verhelpen.

13:00 Lunch.
14:00 David is verder gaan programmeren op de UvA.
Sebastiaan is gaan werken aan het verslag om aan de wensen van Arnoud te voldoen.
   
  Einde van de dag.

Donderdag 24 juni

  Sebastiaan is er vandaag niet bij.
   
  Einde van de dag.

Vrijdag 25 juni

  Sebastiaan is er vandaag niet bij.
  LabJournaal.pdf
  Einde van de dag.