Vrije Universiteit Brussel


Hardware

Algemeen

Alvorens de werken aan te vatten, werd de thesis: ‘Robotics: Design and implementation of a modular sensor setup’, geschreven door Guillermo Moreno Gabriel gelezen. Dit document stelde ons in staat de mobiele robot die tijdens het academiejaar 2004-2005 ontwikkeld werd, te begrijpen.
Om de robot te laten interageren met zijn omgeving wordt gebruik gemaakt van infrarood- en ultrasoonsensoren (werkingsprincipe). De ultrasoonsensor die gebruikt werd is de Polaroid 6500 sensor, met dewelke het mogelijk is een obstakel te detecteren op een afstand tussen 0,5 en 10 meter. De gebruikte Sharp GP2D12 infraroodsensor daarentegen laat toe voorwerpen op 0,1 tot 0,6 meter te detecteren. De combinatie van beide laat de robot dus toe objecten die zich op een afstand tussen 0,1 en 10 meter bevinden te detecteren.
Het voornaamste deel van onze taak is het bijvoegen van grondsensoren zodat de robot in staat is binnen een met tape afgebakend terrein te blijven. Deze tape heeft een hogere reflectiegraad dan de rest van de vloerbedekking. Rekening houdend met deze gegevens werd, na het vergelijken van de verschillende types sensoren, gekozen voor de grondsensor die hieronder afgebeeld staat.

Deze schakeling bevat drie infrarood LED’s, een fototransistor en vijf weerstanden. Er wordt telkens een weerstand van 220 Ohm in serie met een LED geschakeld om de stroom die door de LED vloeit niet te groot te maken. Een vierde weerstand (22 Ohm) zorgt voor een spanningsval en een vijfde (15 kOhm) vormt samen met de fototransistor een spanningsdeler. Deze hele constructie maakt het mogelijk een outputsignaal dat varieert tussen 0V tot 4,3V, afhankelijk van de reflectiegraad van de ondergrond, te krijgen. Dit signaal kan via de PIC van een analoog naar een digitaal signaal omgezet worden. Eens de schakeling gekend was, kon deze in traxmaker getekend worden (dit bleek niet zo gemakkelijk als gedacht omdat er ook niet op alle computers de mogelijkheid was een document in traxmaker op te slaan).

De sensoren worden vervolgens elk aan hun bijhorende slave-module gekoppeld, die in verbinding staat met de master-module via een I2C BUS. De I2C BUS (Inter-Integrated Circuit) is een two-wire seriële bus die een 8-bit georiënteerde bi-directionele gegevensoverdracht toelaat. De hoofdcomponent van de slave-modules is een PIC 16F876A microcontroller, waar het programma dat in assembler geschreven werd, ingeladen wordt. De reden dat gekozen werd voor deze microcontroller is het feit dat hij ingebouwde ondersteunende hardware voor de I2C BUS heeft, dat het aantal in- en uitgangen voldoende is en dat het programmeerbare geheugen groot genoeg is. De master-module zorgt voor de communicatie tussen de sensormodules en de PC.

De Slave modules voor de US en IR-sensoren die een voorwerp op een bepaalde afstand kunnen detecteren, waren reeds aanwezig (zie thesis van vorig jaar). Onze taak bestond erin ook een slave-module voor de grondsensoren te ontwerpen, de code daarvoor te schrijven en de mastercode zodanig aan te passen opdat het geheel kan werken. Ook het programma in Visual Basic diende aangepast te worden. Voor het ontwerpen van de slave module die bij de grondsensoren hoorde, konden we ons baseren op die van de IR en US sensor die reeds aanwezig was. Na de nodige veranderingen kon ook deze module in traxmaker ontworpen en vervolgens gesoldeerd worden.

De Slave module met de grondsensoren werd grotendeels gebaseerd op de reeds bestaande Slaves. Het gedeelte van de communicatie tussen US-sensor werd weggelaten en in de plaats kwam er een extra drie pin connector. Deze wordt zoals de reeds bestaande drie pin connector verbonden met de grond en de voedingsspanning. De derde pin wordt nu verbonden met de tweede analoge input van de microcontroller, AN1. Hierdoor was er een kleine aanpassing nodig in de analog setup van de microcontroller, het analoog maken van deze ingangpoort.

Vermits de waardes die in Visual Basic opgevraagd worden, nog geen afstanden zijn, dient nog een verband gezocht te worden tussen het toekomende signaal en de afstand tussen de sensor en het te detecteren voorwerp. Voor de US sensor is het inkomend signaal de time of flight (TOF) en kan de relatie tot de afstand uitgedrukt worden met behulp van de volgende formule:

afstand = c * TOF / 2

Het verband tussen het signaal van de infraroodsensor en de afstand tot het object wordt experimenteel bepaald, volgende grafiek werd bekomen.

Door gebruik te maken van deze verbanden kan in Visual Basic de afstand tussen de robot en het voorwerp weergegeven worden.

Terug naar boven

Werkingsprincipe sensoren

Het werkingsprincipe van een ultrasoonsensor is gebaseerd op het meten van de time of flight (TOF) van de ultrasoongolf. De uitgaande golf wordt opgewekt door een, via elektrische pulsen, geëxciteerd membraan. Wanneer deze golf reflecteert op een voorwerp, wordt hetzelfde membraan terug geëxciteerd door de terugkerende golf. Vermits de golf beweegt met de geluidssnelheid, kan de afstand tussen de sensor en het object berekend worden. Er dient opgemerkt te worden dat de geluidssnelheid afhankelijk is van de temperatuur.

Een ander gegeven waarmee rekening gehouden dient te worden, is de dalende intensiteit van de golf met de afgelegde afstand. Het medium absorbeert namelijk een deel van de golf. Dit zorgt ervoor dat er een beperking is op de afstand waarop een voorwerp waargenomen kan worden indien gebruik gemaakt wordt van een US-sensor.
De hoek waaronder de ultrasoon golf uitgezonden wordt is onder meer afhankelijk van de frequentie waarbij gewerkt wordt. Hoe hoger de frequentie, hoe kleiner de hoek.

Infraroodsensor:
De IR-sensor is opgebouwd uit een LED, dat infrarood licht uitzendt, en fotogevoelige cellen die een deel van het gereflecteerde licht terug opvangen. Door de positie van de terugkerende straal op de fotogevoelige cellen kan de hoek tussen de uitgezonden en de ontvangen straal en dus de afstand van de sensor tot het object bepaald worden.

Terug naar boven

©2004 • Vrije Universiteit Brussel • Pleinlaan 2 • 1050 Elsene • Tel.: 02/629.21.11 • info@vub.ac.be