Speurhond

MINDSTORMS SpeurhondEenmaal in het bezit van zo’n RCX programmable brick dan gaan je handen toch wel kriebelen hoor. Na eerst eens twee modellen “uit het boekje” gemaakt te hebben was er voldoende “werkervaring” om zelf maar ’s wat te proberen. Een speurhond dus…

 

Wat doet een speurhond? Hij zoekt in alle hoeken en gaten. Dat doet deze dus ook!

 

Hij kijkt rond of er ergens een verdachte donkere hoek te zien is. Gaat er naar  toe. Kijkt onderweg nog eens goed om zich heen of er niet nog een interessantere plek is en pikt uiteindelijk het meest verdachte hoekje. Als hij daar flink heeft rondgesnuffeld komt hij terug en gaat naar de plek waar hij goed zicht heeft om vervolgens de volgende verdachte hoek in te duiken. Komt hij een obstakel tegen dan kijkt hij nog ’s goed rond en kiest een nieuwe route. Hij kan er geen genoeg van krijgen.

 

MindStorms Speurhond - OpenNaast de RCX, die geactiveerd kan worden door de klepjes in de rug te openen, gebruikt de hond 2 motoren (A+C) voor het voortbewegen en richting veranderen. Een derde motor (B) beweegt de kop heen en weer. De neus een snorharen zijn gevoelig voor aanrakingen door één tast-sensor. In zijn bek zit een licht-sensor waarmee hij de interessante (donkere) plekken kan waarnemen en er ook weer uit kan komen (lichtere plekken). De rotatie-sensor meet de stand van de kop zodat hij kan onthouden waar hij de interessante plekjes of uitwegen heeft gezien om vervolgens die richting te kiezen.

 

Download (rechter muisknop)

MLCAD-file:  Speurhond - essentials

LSC    - file:  Speurhond RCX programma code

Speurhond MLCAD

 

De MLCAD-file bevat (nog) niet het gehele ontwerp maar eigenlijk alleen die details die je nodig hebt om ‘m goed te laten functioneren: De sensoren, de motoren en de tandwielverhoudingen. De styling van de kop is wel opgenomen, die van het lichaam voeg ik wellicht later nog ’s toe…

 

Het programma definieert eerst de polariteit van de motoren (standaard draairichting) en zet een aantal variabelen waarbij onder andere wordt verteld dat hij als eerste naar donkere plekken moet gaan zoeken. Vervolgens wordt de kop van de hond in de juiste stand gezet. Dit gebeurt door de rotatie-sensor in de nek op “0” te zetten als de hond geheel naar links kijkt. Als de kop van links naar rechts draait heeft de rotatiesensor precies 24 keer een puls gegeven. 12 is dus de middenstand. De motoren A en C worden gestart en de hond beweegt; recht vooruit, gedurende 3 seconden. Daarna beweegt de kop (motor B) geheel naar rechts en wordt de omgeving van rechts naar links in 24 stappen gescanned. Tijdens deze scan worden vier variabelen gevuld. Waardoor duidelijk is wat de donkerste waarneming was en bij welke rotatiestand dit was. Ook wordt bekend wat de lichtste waarneming was en bij welke rotatiestand dat was. De kop wordt daarna terug gezet in positie 12 (recht vooruit). Vervolgens kiest de hond de “donkerste” of “lichtste” waarneming. De koers wordt ingezet door motor A of C gedurende een bepaalde korte tijd (fractie van seconde) te activeren terwijl de andere motor in de “rem” staat. De eerder gemeten rotatiestand is bepalend voor de tijdsduur dat motor A of C geactiveerd wordt. Zo kiest de hond dus 1 uit 24 mogelijke richtingen. Vervolgens start de cyclus opnieuw.

 

Bij aanraking van de neus of snorharen wordt tast-sensor “1” geactiveerd. Motoren A en C worden direct kort in omgekeerde richting gezet zodat de hond iets terug beweegt. Een teller houdt bij hoe vaak een obstakel waargenomen is terwijl hij naar donkere hoeken zoekt. Is dat te vaak dan schakelt hij over op het zoeken naar een uitweg (lichtplekken) en zet de obstakel-teller weerop nul.

 

Terug naar de TOP