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