Het labboek van Domenic Vossen en Joris de Groot
Dag 5
30-juni-2006
donderdag
A* werkt nog steeds niet goed, maar we hebben besloten het hierbij te laten. A*
print in bepaalde situaties wel een pad, namelijk als het doel in een rechte lijn
naar rechts van de startnode is. Dit pad laten we printen naar een txt via een kleine
aanpassing van het programma van vorig jaar. Rest ons nog een C programma te schrijven
welke de data uit de txt kan halen en sturen naar de hemmison.
Het C-programma is zo goed als geschreven met behulp van het C-programma van vorig jaar
en met hulp van Stef Post. Dit programma werkt echter nog steeds niet.
Na enige aanpassing aan het c programma write2port.c hebben we uiteindelijk toch
voor elkaar gekregen dat de hemisson het correcte pad volgt.
Ook hebben we het Test.java bestand zodanig aangepast dat onze eigen AStarSearch
wordt gebruikt om het correcte pad door het doolhof te berekenen. Door middel van
Hemisson.java en tohemisson.java worden de correcte acties voor de Hemisson
gegenereerd en naar een text file geschreven. Dit text file wordt door write2port.c
uitgelezen en stap voor stap aan de Hemisson door gegeven. De Hemisson voert de stappen
netjes uit, al zorgt het gewicht van de kabel en het slippen van de wielen voor enige
afwijking.
Dag 4:
29-juni-2006
donderdag
De volgende taken:
Nog steeds zijn er een hoop problemen met de A* en ook de communicatie met
de hemmison wil niet lukken. Hier een overview:
Dag 3:
28-juni-2006
woensdag
Gesproken met de begeleider (Arnoud Visser), geconcludeerd dat de problemen die we hadden
vrij normale problemen zijn als het aankomt op dit soort projecten, en dat we dan ook gewoon
moeten proberen door te gaan en te kijken hoe ver we komen.
We gaan voor het seriele/java probleem dezelfde computer gebruiken die de UMIRTX aanstuurt.
Vooralsnog zijn we bezig met het A* algoritme. Deze compiled wel; hij retourneert echter nog
geen pad. Druk bezig met debuggen.
Het lijkt erop dat we te weinig argumenten met de nodes geven. Echter willen wij niet elke eigenschap
gebruiken. We zijn nu bezig met het 'overloaden' van de nodes, wat goed lijkt te gaan
'Overloaden' verder doorvoeren. Dit zou weinig tot geen problemen moeten opleveren. Daarna rest ons de taak
om te zorgen dat de x,y die we via A* terugkrijgen, omzetten in realistische x,y. Dit moeten we daarna
doorgeven aan het C-programma van de Hemmison via een serieele poort.
Als het even meezit hebben we ook nog tijd over om te zorgen dat de Hemmison kan corrigeren. Dat wil zeggen dat
als deze de flag opgooit dat hij een rand heeft bereikt, dat hij dan weer terugrijdt en opnieuw de juiste locatie
vindt om zijn pad toch nog succesvol te vervolgen.
Dag 2:
27-juni-2006
dinsdag
We hebben tot nog toe de volgende problemen geconstateerd.
Dag 1:
26-juni-2006
maandag
Het onderwerp is goedgekeurd.
We gaan een Hemisson Robot door een doolhof laten lopen. Dit doen we
door middel van een doolhof als matrix in te geven in Java. Met een zoek-
algoritme (waarschijnlijk A*, dit is nog onder voorbehoud) zullen we dan een
pad laten plannen.
Kennis gemaakt met de hemisson robot. Deze werkt via een seriele poort en bevat
twee sensors. Een infrarood sensor aan de voorkant die afstand bekijkt. Matzwart lijkt
veraf dus rijdt hij door, reflecterend tape zal zorgen dat de robot gaat stilstaan.
Verder heeft de robot nog een muissensor (zo een die ook in optische muizen zit)
waarmee de x en y coordinaten berekent kunnen worden.
Via teraterm op windows machines kan er rechtstreeks via de serieele poort met de hemisson
gecommuniceerd worden. Het is de bedoeling dat Java uiteindelijk de juiste codes doorgeeft
om te zorgen dat de robot het juiste pad afloopt.
Bezig met het analyseren van het padplan probleem, en de implementatie van A*.
Verder met de implementatie van A* in java.