Microrobots Ontwikkeld door Multi Motions bv

advertisement
Microrobots
gebaseerd op de subsumption architectuur
Ontwikkeld door Multi Motions bv
Versie 1.01
3 Dec 1994
Copyright © 1994 - Multi Motions bv
Microrobots
Introductie
Bij het onderzoek naar Kunstmatige Intelligentie is de afgelopen jaren een nieuwe
richting ingeslagen. Sommige onderzoekers veronderstellen, dat intelligentie niet
gebaseerd is op het redeneren met symbolen, maar veel meer het gevolg is van het
functioneel samenwerken van een groot aantal redelijk eenvoudige processen. Hierbij
gaat men er vanuit, dat bij primitieve processen, zoals het motorische gedeelte van het
brein, voornamelijk wordt gereageerd op de omgeving.
Het feit dat hieruit een vorm van intelligent gedrag voortkomt wordt door deze
onderzoekers toegeschreven aan onze interpretatie van deze vormen van gedrag.
Intelligent gedrag kan ook een neveneffect zijn van de manier waarop een organisme
reageert op de omgeving, en wordt daarom ook wel een emergente eigenschap
genoemd.
Om hier verder onderzoek naar te doen werden op verscheidene laboratoria in de
wereld projecten gestart, waarbij men zich ten doel stelde om autonome kunstmatige
organismen te bouwen en te zien of deze emergente eigenschappen zouden vertonen.
Projecten bij JPL, MIT en andere universiteiten hebben tot op heden enkele
robotsystemen opgeleverd, die volgens dit principe zijn ontwikkeld.
Autonome robots werden tot voor kort voornamelijk ontwikkeld op basis van de eerder
genoemde symbolische verwerkings paradigma’s. Hierdoor waren deze robots traag
en erg complex. Het grootste deel van de tijd werd doorgebracht met het plannen van
acties en het aanpassen van deze plannen als de uitvoering van de plannen van de
robot tot problemen leidde.
Volgens de veronderstelling van intelligentie als een emergente eigenschap wordt in
deze nieuwe generatie robotsystemen uitgegaan van een hiërarchie van
competentieniveau's. Hogere niveau's kunnen akties van de lagere niveau's tijdelijk
onderdrukken, doch zij hebben verder geen invloed op deze lagere niveau's. Zo kan
het laagste niveau ervoor zorgen dat de robot kan blijven staan, een niveau hoger zorgt
ervoor dat de robot kan lopen, nog een niveau hoger zorgt ervoor dat de robot nergens
tegenop botst. Verdere niveaus zorgen voor het bepalen van richting, totdat een niveau
wordt bereikt, waarop nuttig werk kan worden verricht.
Wanneer een bepaald niveau eenmaal functioneert, hoeft hier nooit meer iets aan
veranderd te worden. Analoog aan de werking van het motorische gedeelte van het
dierlijke brein, veranderen nieuwere lagen in de evolutie van het brein niets aan de
reeds aanwezige lagen. Niewe funkties overwoekeren reeds bestaande en nemen de
taken ervan geheel of gedeeltelijk over. Deze architectuur wordt de subsumption
architectuur genoemd. Deze architectuur is beduidend eenvoudiger dan de huidige
benadering en heeft daarnaast het grote voordeel dat zelfs bij zeer complexe systemen
vanaf het eenvoudigste niveau kan worden begonnen. Dit maakt het mogelijk te
beginnen met de bouw van een systeem zonder dat er een compleet ontwerp
noodzakelijk is. Daarnaast zijn er in een latere fase geen aanpassingen meer
noodzakelijk.
2
Microrobots
Peter van Lith startte in 1991 met de bouw van een autonome microrobot, een kleinere
versie van de aan MIT ontwikkelde Ghengis. Dit resulteerde in 1992 in de oprichting
van Multi Motions, waarin deelnemen Peter van Lith (automatiserings-deskundige),
Laurens Boots (ex Disney Imagineer) en Mark de Jonge (ex Disney tekenaar). In dit
document beschrijven we de robots, die momenteel in ontwikkeling zijn bij Multi
Motions met een korte technische beschrijving van iedere robot.
De volgende robots woden beschreven:
•
•
•
•
de Mier, een zespotig robot insect.
Stepper, een tweebenige robot.
Zzappo, een interactieve clown.
Dappie, een vierpotige robot hond.
3
Microrobots
De Mier
De robot is zo’n 35 cm lang zijn en werd uitsluitend opgebouwd op basis van normaal
verkrijgbare, goedkope componenten. Het is een kleinere uitgave van MIT’s Ghengis.
De documentatie van MIT vermeldde, dat gebruik werd gemaakt van 4 8-bit
microprocessoren, die onderling via een token-ring waren verbonden. Gezien eerdere
ervaring met de Z-80 ging de gedachte in eerste instantie uit naar deze machine. Op
advies van onze electronica-leverancier echter werd gekozen voor een microcontroller
uit de Intel MCS-51 familie.
Deze microcontroller is speciaal ontwikkeld voor procesbesturings toepassingen. De
8052 processor heeft een 3-tal timers, 256 bytes RAM en 8K ROM aan boord.
Daarnaast heeft de processor een serieel interface, dat speciaal opgezet is voor
interprocessor communicatie. Een speciaal lid van deze familie, de 8052AH-Basic
heeft een Basic interpreter aan boord, die tevens het aanmaken van externe Eproms
ondersteunt. Voor deze chip was door het tijdschrift Elektuur een ontwikkelsysteem
beschreven, waarvoor complete prints te verkrijgen waren.
4
Microrobots
Er werd een ontwikkelsysteem gebouwd op basis van deze chip, waarna het uittesten
van de servo vanuit de computer kon beginnen. Via de ingebouwde PWM (Pulse Width
Modulator) kon de servo gemakkelijk worden aangestuurd. Op soortgelijke wijze werd
het foutsignaal gemeten, door de timer de pulsbreedte te laten tellen.
Toen dit bleek te werken, werden een aantal testproggramma’s in Basic ontwikkeld
voor het aansturen van de servo, het maken van Prom’s etc. Op de ’standaard’ manier
kon er echter slechts één servo tegelijk worden aangestuurd. Om de chip-count zo
laag mogelijk te houden werd gezocht naar een andere oplossing.
Er werd toen besloten om de besturing van de servo's in assembler te programmeren
en voor de hogere niveau's gebruik te maken van Basic. Hierdoor kon de processor
zo’n acht servo’s tegelijk besturen.
Architectuur van de computers
De computers zijn ondergebracht op een printkaart van 15x3 cm. Hierop worden de
processor aangebracht samen met de address latch en andere decoderings-logica.
Als extern geheugen wordt een 8K RAM chip gebruikt, de 6264 en als ROM een 16K
chip, de 27128. Omdat beide chips dezelfde pin-out hebben werden ze als piggy-back
in een voetje gemonteerd, waardoor de gehele processor op het kleine bordje past.
Ieder processor bestuurt 6 servo's.
Aan iedere kant van de robot is een bordje gemonteerd, dat terwille van de symmetrie
in spiegelbeeld is opgebouwd. Een rij aansluitpennen zorgt voor het inpluggen van de 6
servo's. De 3 draden die normaal naar een servo gaan zijn vervangen door 4 draden,
+,-, pulse en het error signaal. Dit error signaal werd afgetakt van de interne servobesturing en dient om de poten ‘gevoel’ te geven.
Power management
De totale power consumptie van een processor bedraagt 150 mA. Een servo verbruikt
in rust 10 mA en bij gebruik 150 mA. Per kant wordt dus in totaal 7x150 = 1050 mA
verbruikt. De totale consumptie wordt geschat op 1.5 A.
In de literatuur werd melding gemaakt van het gebruik van zilver-zink batterijen. Deze
blijken niet te vinden te zijn. Er werd verder gekeken naar de mogelijkheid van nikkelhydride batterijen. Ook deze waren in 1991 zeer moeilijk te verkrijgen. Uiteindelijk is
gekozen voor Varta NiCad batterijen met een capaciteit van 2400mAh.
Gewicht en frame
De eerder genoemde servo's hebben een vermogen van 30 N/cm. Als poten werd
gekozen voor servo-armen zoals die voor model-zeilboten worden gebruikt. Deze
poten zijn 10cm lang, waardoor de servo een gewicht van 300 gram kan tillen. Het
5
Microrobots
gewicht van de MIT robot bedraagt ongeveer 1Kg. Doordat de door ons ontwikkelde
robot aanzienlijk kleiner is, kon worden volstaan met kleinere servo motoren.
Sensoren
Naast het eerder genoemde ‘gevoel’ in de poten werd gestart met de bouw van een
kop. In deze kop zijn de volgende sensoren opgenomen:
•
•
•
•
•
Actieve infrarood sensoren
Microfoons
Kontaktschakelaars
Inductieve laadinrichting
Stroomdetector
Actieve infrarood sensoren
Om obstakels te kunnen detecteren worden twee aktieve infrarood detectoren gebruikt
als ogen. Omdat standaard verkrijgbare sensoren òf te groot waren of alleen een
aan/uit signaal leverden werd uit discrete componenten een gevoelige IR reflectiesensor ontwikkeld.
Deze ogen kunnen tot op een afstand van ± 40 cm gemoduleerd IR licht opvangen. De
sterkte van het signaal wordt als een analoog signaal teruggegeven zodat de robot
gebruik kan maken van deze informatie. Door de signalen van beide ogen tegelijk te
gebruiken kan hieruit worden afgeleid of een object stil staat of beweegt. Daarnaast
kan worden afgeleid of het object naar de robot toe beweegt of er vandaan en tot op
zekere hoogte kan ook de richting worden bepaald. Verder kan uit de variatie van het
signaal de snelheid van bewegen worden afgeleid.
Voor de verwerking van de signalen wordt gebruik gemaakt van fuzzy logic. Via een set
beslissingsregels worden de ‘fuzzy’ signalen van de ogen verwerkt tot informatie over
richting en snelheid van een object. Hiermee is de robot in staat om met zijn kop een
object te volgen. Objecten die snel op de robot afkomen zorgen voor een schrikreactie.
Microfoons
De robot heeft twee microfoons, waarmee geluid kan worden opgevangen. Hiermee
was de bedoeling dat de robot in staat zou zijn om ook te reageren op geluiden uit zijn
omgeving. Verschillende pogingen met deze sensoren hebben zoveel problemen
opgeleverd dat ze uiteindelijk in dit model niet bruikbaar bleken.
In een robot die momenteel in ontwikkeling is zijn deze problemen opgelost en is
gebruik gemaakt van de ervaringen met de mier.
De belangrijkste problemen werden veroorzaakt doordat de kop beweegbaar moest
zijn en daarom de motor in de kop werd gemonteerd. De microfoons detecteren het
geluid van de motor in de kop zó sterk, dat alle geluiden overstemd worden. Uitfilteren
van deze geluiden bleek te weinig informatie over te laten. Het elimineren van geluid bij
6
Microrobots
bewegingen bleek slechte een zeer korte periode van het opvangen van geluid
mogelijk te maken.
Kontaktschakelaars
De voorkant van de kop is uitgerust met een tweetal voelsprieten. Indien de robot een
obstakel niet ziet, dienen deze als een laatste redmiddel. Het zijn eenvoudige
schakelaars. Doordat er twee schakelaars zijn kan hier op beperkte schaal een richting
uit worden afgeleid.
Inductieve laadinrichting
Onderaan de kop is een spoelkern bevestigd met een tweetal spoelen. Een spoel met
een groot aantal wikkelingen dient voor het opsporen van een electromagnetisch veld.
Dit is bedoeld om de zendspoel van het ‘nest’ op te kunnen sporen. De tweede spoel
dient om als secundaire spoel te dienen van een inrichting waarmee inductief de
batterijen kunnen worden opgeladen.
Besturing van de kop
Na het gebruik van de 8052 processor werd voor de kop gekozen voor een
eenvoudigere machine, de ST6 van SGS-Thompson. Deze uiterst compacte processor
heeft ongeveer dezelfde mogelijkheden als de 8052. Hij verwerkt alle signalen van de
sensoren en zorgt tevens voor de besturing van de servomotor in de kop. Helaas heeft
deze processor geen serieel interface. Omdat de processor moet kunnen
communiceren met de twee processoren in het lichaam diende een communicatieprotocol te worden opgezet.
Er werd een eigen serieel software-protocol ontwikkeld dat ook in staat is om met een
PC te communiceren via de printer-poort. Via dit interface is het mogelijk om gegevens
uit de processor tijdens de verwerking uit te lezen.
Gebruikte technieken
In de 8052 is de afwikkeling van de besturing van de servo’s geheel onafhankelijk van
de besturing van de poten. De bewegingen van de poten zijn autonoom, waarbij er
geen communicatie is tussen de beide helften. Dit geeft nu en dan problemen tijdens
het lopen. In de kop wordt intensief gebruik gemaakt van de subsumption architectuur
en fuzzy logic.
Status van het project
De mier is in staat om te lopen en de kop kan obstakels detecteren en ontwijken. De
verdere integratie van de verschillende funkties is niet afgemaakt. Momenteel is een
tweede generatie van de robot in ontwikkeling, waarbij zoveel mogelijk gebruik wordt
gemaakt van de ervaringen van dit project.
7
Microrobots
Stepper
Na de ontwikkeling van de Mier ontmoetten Peter van Lith en Laurens Boots elkaar bij
toeval. Laurens Boots werkte gedurende meer dan 15 jaar voor de ontwikkelafdeling
van Disneyland in Californië waar hij aan de ontwikkeling van verschillende attracties
heeft gewerkt.
Uit gesprekken met verschillende pretparken bleek dat er belangstelling bestaat voor
een autonome, lopende attractie. Daarom werd besloten om te proberen een
tweebenige robot te bouwen. Bij Disney is gedurende bijna 15 jaar gewerkt aan een
dergelijke robot doch dat is tot op heden niet gelukt.
Bij Multi Motions werden in totaal vier prototypes ontwikkeld. Voor de eerste versie
werden verschillende evenwichts-sensoren uigeprobeerd. Deze sensoren hadden bijna
allemaal dempingsproblemen. Sensoren die dat niet hebben waren te kostbaar. Na zelf
een drietal van dergelijke sensoren te hebben ontwikkeld werd besloten om de stand
van de robot ten opzichte van de grond te meten met behulp van een eenvoudige
potmeter.
Het eerste prototype kon alleen de poten naar voren en achteren bewegen. De
bedoeling was om met fuzzy logic het lichaam in evenwicht te houden, net zoals
verschillende fuzzy-logic experimenten dit doen met het balanceren van een stok. Dit
bleek echter niet mogelijk.
Bij het tweede prototype werden er twee motoren in de heupgewrichten geplaatst en
werd via een voet de stand ten opzichte van de grond gemeten. Deze robot was in
staat om loopbewegingen te maken, maar kon niet zijn evenwicht bewaren. Er werd
toen besloten dat het evenwicht moest worden bewaard vanuit de voeten en niet vanuit
de heupen.
Het derde prototype werd uitgerust met druksensoren in de voeten. Er werden
servomotoren gemonteerd in de enkels. Hierdoor was de robot in staat om zijn positie
te corrigeren. Als hij teveel naar voren overhelde ging het bovenlichaam naar achteren.
Hierdoor was de robot in staat om zich ook op een hellend vlak in evenwicht te houden.
Om te kunnen lopen moet de robot de benen kunnen optillen. Met een stijf been zou de
robot ver moeten overhellen, waardoor er grote bewegingen gemaakt moeten worden.
Daarom werden er extra motoren in de enkels geplaatst waardoor het geheel kon
overhellen en het zwaartepunt boven de voet kon worden gebracht. Daarnaast werden
er knieën opgenomen zodat het been korter kon worden gemaakt.
Het huidige model is in staat om vanuit stilstand op één been te gaan staan en daarna
weer op twee benen te gaan staan.
8
Microrobots
Processoren
In de eerste drie prototypes werd gebruik gemaakt van de ST6. Via het communicatieprotocol konden de sensoren door de PC worden uitgelezen.
Er werd een programma op de PC ontwikkeld dat grafisch de stand van de sensoren
kon weergeven waardoor precies kon worden bekeken wat de robot deed.
In het huidige model is overgestapt op de Motorola MC68HC11. Deze processor is niet
alleen sneller, maar is uitgerust met 2K Eeprom waardoor programmeren sneller is dan
steeds een Eprom te moeten wissen.
Sensoren
In de eerste modellen werd gebruik gemaakt van een potmeter, die de stand van het
been ten opzichte van de grond kon meten. Daarnaast werd er gebruik gemaakt van
kontaktschakelaars die aangeven of een voet kontakt met de grond heeft.
Voor evenwicht werd gebruik gemaakt van slingers, hall-sensoren en later een
waterpas waarin de luchtbel optisch werd gedetecteerd. Al deze sensoren hebben last
van een slinger-effect. Tegenwoordig zijn er capacitieve sensoren die dit probleem niet
hebben.
9
Microrobots
De twee meest recente modellen gebruiken druksensoren in de voeten. De eerste
druksensoren werden gebouwd uit koolstofschuim dat gebruikt wordt om IC’s in te
bewaren. Bij het veranderen van druk wijzigt de weerstand van dit schuim. De gemeten
waarde werd versterkt en vormde een redelijke sensor. Na verloop van tijd verdween
echter de elasticiteit van het schuim.
In het huidige model wordt gebruik gemaakt van druksensoren op basis van een
weerstands-strip zoals die ook gebruikt worden in membraansensoren voor
aanraaktoetsen. Deze sensoren voldoen uitstekend.
Besturing
Voor de besturing van de beweging wordt uitgebreid gebruik gemaakt van zowel de
subsumption architectuur als fuzzy logic. Afhankelijk van de druk van de sensoren kan
de positie van het been worden gemeten. Tegelijk kan de valsnelheid worden
berekend. Op basis van de positie en de snelheid worden een aantal fuzzy-logic regels
geactiveerd die de nodige correcties uitvoeren.
Om benen te kunnen bewegen dienen het heupgewricht, het knie- en enkelgewricht
tegelijk te worden bewogen zodanig, dat de voet horizontaal ten opzichte van de grond
blijft. De onderlinge verhoudingen van deze bewegingen zijn vastgelegd in een tabel.
De snelheid van de beweging wordt geregeld door sneller of langzamer door deze
10
Microrobots
tabel heen te stappen. Daarnaast wordt er vanuit de tabel voor gezorgd dat het
opstarten en afremmen van de servo’s wordt geregeld.
Zodra een beweging in gang wordt gezet neemt het hoger gelegen subsumption niveau
controle over de servo’s. Zodra de beweging is ingezet vervalt de controle weer terug
op het lagere niveau. Het is mogelijk dat de geplande beweging een verstoring van het
evenwicht veroorzaakt. Deze zal dan door het evenwichts-niveau worden gecorrigeerd.
Het hoger gelegen niveau zal dus een beweging in gang zetten die door het lagere
niveau weer kan worden afgedempt als deze in strijd is met de huidige balanspositie.
Via een aantal DIP switches kan de processor de beweging uitschakelen en kunnen de
posities van de sensoren worden doorgestuurd naar de PC.
PC communicatie
Voor de PC werd een Windows programma ontwikkeld dat de positie van iedere
sensor weergeeft op een histogram. Hierdoor is goed te bekijken welke verstoringen
werden gemeten en hoe de software hier op heeft gereageerd. Via een aantal
scrollbars kan tevens vanaf de PC de stand van ieder van de motoren worden
gewijzgd. Dit is met name tijdens de onderzoeksfase van belang geweest voor het
programmeren van de bewegingen en het opzetten van de tabellen.
Op deze manier is het in principe mogelijk de besturing geheel vanuit de PC te laten
plaatsvinden. Doordat er echter gebruik wordt gemaakt van een 9600 baud verbinding
kan er een probleem met de snelheid optreden.
Verdere ontwikkelingen
De volgende fase is om de benen naar voren en achteren te bewegen zodat een
(statische) loopbeweging kan worden gemaakt. In samenwerking met enkele
studenten werktuigbouw wordt momenteel gewerkt aan een nieuw ontwerp voor de
benen en een verder uitwerking van de mogelijkheden voor een dynamisch loopmodel.
11
Microrobots
Zzappo
Door Mark de Jonge (de ex-Disney tekenaar) werd een clowntje bedacht dat
momenteel in enkele kinderstrips voorkomt. Gedurende enige tijd is er gewerkt aan de
opzet van een animatie-versie van dit character voor een televisieserie. Voor de opzet
van deze serie werd een model ontwikkeld dat zou moeten kunnen bewegen.
Dit model hebben we verder uitgebouwd tot een animatronics versie van dit clowntje
die we interactief willen maken. Momenteel is een bewegende versie van het hoofd
gereed, waarbij de ogen bewegende mensen kunnen volgen en die lip-synchroon kan
praten.
Het is de bedoeling deze robot verder uit te rusten met armen en handen en hem een
eenvoudig spraakherkennings-systeem te geven. We zullen op basis van kunstmatiege
intelligentie-technieken deze robot een aantal gedragspatronen meegeven waardoor hij
eenvoudige conversaties met het publiek moet kunnen voeren.
12
Microrobots
Sensoren
Zzappo heeft passieve infrarood detectoren waarmee hij mensen kan ‘zien’ indien deze
bewegen. Door van een viertal sensoren gebruik te maken kan hij zowel positie als
richting en snelheid meten. Daarnaast is hij in staat om de grootte van de persoon te
schatten. Hierdoor kan hij kinderen anders aanspreken dan volwassenen.
Zzappo krijgt ‘oren’ waarmee hij enkele woorden moet kunnen herkennen. We maken
hierbij gebruik van spreker-onafhankelijke spraakherkenning. De techniek is gebaseerd
op neurale netwerken.
Motoren
De aandrijving van alle bewegingen in het hoofd wordt geregeld met servo motoren.
Hiervoor worden zeer krachtige motoren gebruikt die een koppel van 150 Ncm kunnen
leveren. Omdat voor de beweging van het hoofd, de romp en de armen een groter
koppel noodzakelijk is zullen we daar gebruik maken van pneumatiek.
Mogelijk dienen we later over te stappen op hydraulica. Voor de positionering van de
verschillende cylinders dienen we wegopnemers te hebben. In eerste instantie is er
geëxperimenteerd met potmeters en hal-sensoren. De hal-sensoren waren te klein en
de potmeters waren teveel onderhevig aan slijtage. Uiteindelijk zijn we overgegaan tot
het gebruik van LVDT’s.
Aangezien dergelijke wegopnemers in de afmetingen die wij nodig hebben moeilijk te
krijgen zijn en daarnaast vrij kostbaar hebben we onze eigen wegopnemers ontwikkeld.
Samen met studenten van de HTS Alkmaar hebben we een eenvoudigere versie, een
LVT ontwikkeld die goedkoop te produceren is. De lineariteit van deze opnemer is
minder dan die van een LVDT maar voor ons doel is dat niet zo erg.
De belangrijkste doelstelling is hiermee de armbewegingen natuurlijk te laten verlopen
zonder het bekende ‘robot-achtige’ stopeffect. Hiervoor gebruiken we opnieuw fuzzylogic om een zo geleidelijk mogelijke beweging te krijgen. Omdat bij het gebruik van
lucht er een grote bufferwerking ontstaat is een dergelijke besturing nogal lastig.
Er bestaan industrële oplossing in de vorm van proportionele regelingen en servokleppen die vrij kostbaar zijn. We hebben hier gekozen voor de toepassing van snelle
pulserende kleppen, waardoor we een regeling krijgen die vergelijkbaar is met de
pulsbreedte-modulatie van een servomotor. Sinds kort hebben we de beschikking over
kleppen die geschikt zijn voor deze toepassing.
Besturing
De spraak van Zzappo wordt geleverd via een analoge Eprom, die totaal zo’n 2
minuten spraak kan bevatten. De verschillende klanken kunnen random worden
13
Microrobots
aangeroepen. Vanuit de computer kunnen er klankfragmenten worden opgestart. De
processor zorgt voor de bij de geselecteerde spraak behorende mondbewegingen.
In de huidige versie is dat een ST6. Deze zal echter worden vervangen door een
HC11. De besturing van de pneumatische aandrijvingen gebeurt al met een aantal
HC11’s. Per HC11 worden er twee cylinders bestuurd. Alle logica wordt in deze
processor opgenomen. De processor krijgt opdracht om een bepaalde beweging uit te
voeren. De fuzzy-logic servo voert deze opdracht uit.
Het geheel zal bestaan uit een netwerk van HC11 processoren, die allemaal zijn
uitgerust met de subsumption architectuur. Aan de opzet hiervan wordt momenteel
gewerkt.
Ook de spraakherkenning wordt gedaan door deze processor. Het afgelopen jaar is
gewerkt aan een spraakherkenningsmodule dat enkele eenvoudige woorden kan
herkennen en dat volledig is geïmplementeerd op de HC11. Het trainen van de neurale
netwerken geschiedt op de PC. Deze genereert dan de code die wordt opgenomen in
het programma in de HC11. Deze experimenten zijn nog niet afgerond, maar een groot
deel van de software is al gereed.
14
Microrobots
Dappie
De meest geavanceerde robot die Multi Motions tot nu toe heeft ontwikkeld is Dappie,
een soort transformer robot-hondje. In slapende houding lijkt de robot op een zwart
blok metaal dat op een tafel ligt. Wordt hij gewekt (door geluid of via een
afstandsbediening) dan komt er een kop tevoorschijn met een tweetal oortjes
uitklapbare oren. Dan ontvouwen zich een viertal poten aan de zijkant. De robot staat
op en begint langzaam te lopen.
De robot is uitgerust met aktieve IR sensoren als obstakel-detectie. Het zijn dezelfde
sensoren als in de Mier worden gebruikt. De oren zijn een verbeterde versie van die
van de mier, waarbij alleen het spraakgebied wordt gebruikt. De eerder genoemde
spraakherkenning werd speciaal voor deze robot ontwikkeld.
Verder kan de robot de richting bepalen waar een geluid vandaan komt en houdt hij
rekening met de sterkte van het geluid. Hierdoor is hij in staat om ook in een rumoerige
omgeving te reageren op plotselinge veranderingen van geluid en kan op die manier
de richting bepalen waar een plotseling geluid vandaan komt.
De kop kan draaien en omhoog en omlaag bewegen. Doordat de onderkaak vastzit lijkt
het hierdoor of de robot zijn bek kan openen en sluiten. De robot heeft daarnaast drie
IR detectoren waarmee hij de tafelrand kan detecteren om te voorkomen dat hij van de
tafel afloopt. Verder heeft hij ‘gevoel’ in zijn poten waardoor hij kan voelen of hij kontakt
heeft met de grond of ergens tegenaan zit.
De robot wordt bestuurd via eenvoudige gesproken commando’s als ‘lig’, ‘zoek’ of
‘hier’. Momenteel wordt de laatste hand gelegd aan de ontwikkeling van de software
van deze robot.
Besturing
Dappie wordt bestuurd door een viertal HC11’s die samen een netwerk vormen. Iedere
processor heeft een eigen taak, we kennen de volgdende funkties:
•
•
•
•
Hoofd sensor processor
Spraak processor
Motor processor
Romp sensor processor
De tafelrand detectoren zijn tevens uitgerust als IR ontvanger en reageren op een
standaard afstandsbediening. Hiermee kunnen allerlei commando’s worden gegeven
en kunnen testprogramma’s worden opgestart.
Alle funkties kunnen via een ingebouwde RS232 verbinding met de PC worden
verbonden. Er zijn verschillende PC programma’s ontwikkeld onder Windows die
gebruikt worden voor het programmeren en testen van Dappie.
15
Microrobots
Programmeren van de vier processoren kan volledig plaatsvinden
softwarebesturing vanuit de PC zonder dat de robot hoeft te worden geopend.
onder
Verdere ontwikkelingen
Het ligt in de bedoeling Dappie verder uit te bouwen tot een volledig experimenteerplatform. Hiermee kunnen allerlei robotica experimenten worden uitgevoerd. In de
bestaande uitvoering kan dit gebeuren door het aanpassen van de bestaande
programma’s en vanuit de PC. Er is een aparte besturingstaal ontwikkeld waarmee de
verschillende funkties van de robot kunnen worden geactiveerd.
Daarnaast ligt het in de bedoeling om een meer geavanceerde versie van deze robot te
ontwikkelen waarbij een aparte processor wordt opgenomen die voor de gebruiker te
programmeren is met dezelfde programmeertaal die op de PC wordt gebruikt.
Dappie’s opdrachten zijn georganiseerd als een virtuele machine met een eigen
instructie-set. Via deze virtuele machine kunnen programma’s worden ontwikkeld
waarmee de robot kan worden bestuurd. De subsumption architectuur speel hier een
belangrijke rol.
Eind 1994 zal Dappie gereed zijn.
16
Microrobots
Nieuwe robots
Na afronding van Dappie liggen er plannen voor de opzet van een goedkopere
uitvoering van de Mier. Het gaat hier om een commerciële versie van Multi Motion’s
eerste robot die met name bedoeld is voor zelfbouwers en organisaties die met
autonome robots willen experimenteren.
We voorzien enkele modellen met de volgende mogelijkheden:
• Zelfbouw-model met alleen electronica, frame en motoren.
• Kant- en klaar model met 2 processoren, programmering vanaf PC.
• Model met vrij programmeerbare 3e processor.
De ontwikkeling van deze robot zal beginnen in 1995 en zal medio 1995 gereed zijn.
17
Download