CARduino - Meetresultaten

Meetresultaten

Aangezien wij zelf niet actief hebben gemeten, komen hier de testresultaten. 

Ten eerste zijn wij bezig geweest met het testen van de sensor. De sensor zendt een geluidsgolf en ontvangt vervolgens de echo hiervan en hij noteert de tijd dat dit duurde. Deze tijd kan omgerekend worden naar afstand met een simpele regel, die gevonden kan worden in onze uiteindelijke code (zie Werkplan). Vervolgens kan men die berekende afstand gebruiken in de code. Wij hebben uiteindelijk gekozen om de "activeringsafstand", dat wil zeggen de maximale afstand tot een obstakel voordat de Arduino gaat remmen en draaien, in te stellen op 35cm. We zijn op deze afstand gekomen door gewoon de auto neer te zetten en hem te laten rijden. Als je dit in verschillende scenario's doet, met verschillende omgevingen wat betreft het aantal obstakels dat de robot onderweg tegenkomt, dan vindt men vanzelf een soort gulden middenweg. 

 

Maar voordat de auto kan rijden, moet de code wel kloppen en omdat programmeren, zoals eerder verteld, heel erg om de details gaat, is één verkeerd teken al genoeg om de code onwerkzaam te maken. En natuurlijk gebeurde het ook bij ons. Het waren maar 2 haakjes en toch deed de code het al niet meer. 

 

Ook ondervonden we een probleem bij het minimaliseren van de remweg van de robot, wat met de afstanddetectie te maken heeft. Want toen we net dachten dat de code goed in elkaar zat, deden we de volle snelheidstest en knalde de auto tegen de muur. Dus terug naar de computer om alle waarden aan te passen. Grotere "activeringsafstand" en langere delay in het stukje void carstop() , zodat de auto langer zou remmen.

We testen het nog een keer, de auto knalt weer vol tegen de muur. Na nog een keer proberen valt het op dat de auto tegen de muur aanrijdt en dan nog een stukje achteruit rijdt terwijl het de bedoeling is dat hij alleen remt. Dus in de gang testen waar geen parket ligt maar een stoffen mat. We proberen de oude instellingen en hij werkt perfect. Conclusie: auto heeft niet zo veel grip. 

 

We hebben ook aardig wat moeten testen met de bochten maken. Eerst hadden we een code geschreven die zorgde dat de auto ongeveer 90 graden draaide als hij een object had gedetecteerd. In de praktijk bleek dit niet zo handig, omdat hij hierdoor soms veel te ver door draaide als hij halverwege langs een nieuw obstakel draaide. Als dat gebeurt begint hij opnieuw met 90 graden te draaien. Dus toen moesten we de ‘rightturn()’ en de ‘leftturn()’ herschrijven. Hiervoor de juiste code te schrijven nam ook weer een paar testen in beslag en uiteindelijk hebben we er voor gekozen om de auto achteruit de bocht te laten beginnen, omdat de robot op die manier meer ruimte heeft om te draaien.