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