• Nie Znaleziono Wyników

Perspectieven in de robotica: Overzicht van samenwerkende disciplines

N/A
N/A
Protected

Academic year: 2021

Share "Perspectieven in de robotica: Overzicht van samenwerkende disciplines"

Copied!
68
0
0

Pełen tekst

(1)

~

ISBN

90:6275~275~6

Juni 1986

ft

Delft

Perspectieven in de

.

robotica

Overzicht van samenwerkende disciplines

IEEE Student Branch Delft

(2)
(3)

Bibliotheek TU Delft

\\~\I~\~~m\Um

C

'''Öël

'

Ö3807926

2441

741

6

(4)
(5)

Symposium gehouden op 20 juni 1986 in het gebouw van de afdeling der Elektrotechniek, Technische Hogeschool Delft, georganiseerd door de IEEE STUDENT BRANCH DELFf in samenwerking met IEEE BENELUX SEcnON, NERG en KlvI

Redactie:

c.

Home (voorzitter) S. de Wolf (vice-voorzitter) M. Abd El Ghany (secretaris) A. Dumay (penningmeester)

(6)

Stevinweg 1 2628 CN Delft tel: (0)15-782354 In opdndlt van:

IEEE Student Branch Delft Afdeling der Elekuotechniek Mekelweg4

2628 CD Delft tel: (0)15-786234

CIP-GEG~VENS KONINKLIJKE BIBLIOTHEEK, DEN HAAG Perspectieven

Perspeet ieven in de robotica: overz icht van samenwerkende disciplines I red.: C. Horne ..• Iet aL). - Delft: Delftse Universitaire Pers. - 111.

SYlDposium gehouden op 20 juni 1986 in het gebouw van de afdeling der Elekt rotechniek, rechni sche Hogeschool Delft, georganiseerd door de IEEE Student Branch Delft in samenwerking met IEEE Benelux Section, NERG en Klv!. -Uite. in opdr. van: IEEE Student Branch Delft, Afdeling der Elektrotechniek.

ISBN 90-6275-275-6

SISO 664.2 UDC 007.52

Trefw.; robotica.

ISBN 90-6275-275-6

Copyright © 1986 by Delft University Preu

All righta reservod. No part of tbis material protoctod by thil copyright notice may he reproduced or utilizcd in any farm or by any means, e1octronic or mechanical, including photocopying, rec:ording or by any informational .torage and retrieval oy.tem, without written pcrmlaion hom Delft UDivcrsity P ....

(7)

N.J.Zimmerman Robotica in Delft, inleiding

J.J. Bakker

Een architectuur voor de besturing van een lIexibel fabricage systeem 12

F.B. Sperling

Benaderingen van niet lineaire ontkoppelingsregeling voor robots 22

P.P. Jonker

Computer vision voor robot systemen 33

P.P.L. Regtien

Sensoren in de robotica 39

G.L. Oomen

Se.mpilot, een real-time optische profielsensor voor lasrobots 46

E. Backer

(8)
(9)

1. ROBOTICA

ROBOTICA IN DELFr

Inleiding tot het symposium 'Perspectieven in de robotica' van de IEEE Student Branch Delft

Dr. N.J. Zimmerman Technische Hogeschool Delft. Afdeling der Werktuigbouwkunde. HTG-WO Laboratorium voor Robotica

en Flexibele Automatisering

De term robotica - robotics - is in maart 1942 voor het eerst in de literatu~r

gebruikt door de science fiction schrijver Isaac Asimov. Hij formuleerde ook zijn drie wetten van de robotica:

1. A robot may not injure a human being or, through inaction allow a human being to come to harm.

2. A robot must obey the orders given to it by human beings except where those orders would violate the First Law.

3. A robot must protect its own existence, except where that would violate the First or Second Law.

Robotica kan men definiëren als de leer, wetenschap of kunst van het

construeren, vervaardigen, beproeven, programmeren en toepassen van alle soorten van robots.

Maar ••• wat zijn robots?

De mens heeft in de loop der tijden allerhande tuig ontwikkeld dat hem behulpzaam kon zijn bij het uitvoeren van zijn aktiviteiten. Hij maakte handwerktuigen hulpmiddelen om de mogelijkheden van zijn hand te vergroten -voertuigen, speeltuig, rekentuig, communicatietuig, enz. Na de hulpmiddelen, die geheel op basis van natuurlijke energie - meestal mensenergie - werkten, zoals zaag, slede, abacus en tam-tam, verscheen later tuig dat op basis van een kunstmatige energiebron als het ware zelf kon bewegen of werken, zoals een elektrische zaagmachine, automobiel, of rekenmachine. Vooral de constructie van machines, of robots, die in staat waren functies van de menselijke arm-met-hand na te bootsen, en de latere toevoeging van zintuigelijk waarnemingsvermogen en bepaalde vormen van intelligentie aan deze machines leidde tot de creatie van een machinedom dat op het mensdom begon te lijken. Nu is de mens altijd al gefascineerd geweest door levenloze materie in de vorm van mechanismen en automaten welke in staat blijken te zijn functies van mensen of dieren te

(10)

verrichten. Voorts is hij zo onderzoekend ingesteld, dat hij zichzelf ook langs technische weg zou willen herscheppen en wel met het doel dat deze schepping hem helpt, beschermt, of pleziert. Echter, in science fiction wordt de mens nogal eens geconfronteerd met zijn robot-scheppingen welke uit de hand lopen, zodat ze zijn schepper ongehoorzaam worden en zelfs ombrengen. Al met al is - om welke redenen dan ook - het woord 'robot' een toverwoord.

Hoewel men meestal een apparaat vrij gemakkelijk als 'robot' blijkt te kunnen identificeren, is het toch moeilijk een stricte definitie op te stellen. Dit wordt getllustreerd door de grote verscheidenheid van bestaande definities. Het woordenboek van Van Dale maakt melding van twee interpretaties van het begrip robot: (1) Kunstmens; mechanisme dat min of meer de gedaante van een mens heeft en bewegingen, verrichtingen of arbeid kan uitvoeren; (2) Mechanische inrichting die zware spierarbeid kan vervangen. Wij zullen hier niet ingaan op het

antropomorfe aspect van robots en ons beperken tot de klasse van industriële robots. Het belang van een duidelijke definitie van robots komt naar voren bij het vaststellen van de robotpopulatie, bijvoorbeeld in verschillende landen van de wereld.

Voor de klasse van industriële robots bestaat een reeks van land- of verenigingsgebonden definities. We noemen er enkele:

1. [Robot Institute of America): areprogrammabie multifunctional manipulator designed to move material, parts, tools or specialized devices through varia bIe programmed motions for the performance of a variety of tasks.

2. [British Robot Association): reprogrammable device designed to both manipulate and transport parts, tools, or specialized manufacturing implements through varia bIe programmed motions for the performance of specific

manufacturing tasks.

3. [Bundesrepublik Deutschland, VDI 2860-1): universeli einsetzbare Bewegungsautomaten mit mehreren Achsen, deren Bewegungen hinsichtlich

Bewegungsfolge und Wegen beziehungsweise Winkeln (das hei sst ohne mechanischen Eingriff) programmierbar und gegebenenfalls sensorgefUhrt sind. Sie sind mit Grelfern, Werkzeugen oder anderen Fertigungsmitteln ausrUstbar und können Handhabungs- und/oder Fertigungsaufgaben ausfUhren.

4. [Japanese Industrial Robot Association JlRA; Norm JIS-B-0134-1979): Roboter, ein mechanisches System mit flexiblen Bewegungsfunktionen analog zu

(11)

denen eines lebenden Organismus (oder Kombination solcher Bewegungsfunktionen mit intelligenten Funktionen) das antwortend auf menschlichen Willen agiert. In diesem Zusammenhang bedeutet 'intelligente Funktion' zumindest eine von den folgenden: Beurteilung, Erkennung, Anpassung, Lernen.

Binnen deze definitie worden zes verschillende klassen met een oplopende automatiseringsgraad onderscheiden: Manual manipulators, or manual handling devices (A), Sequence-robots, or pick-and-place devices (B), Programma bie variabie sequence robots (C), Robots taught manually, or playback robots (0), Robots controlled by a programming language, or numerically controlled robots (E), and Robots which can react to their environments, or intelligent robots (F).

5. Er circuleert ook een Nederlandse definitie: Industri~le robots zijn automatische hanteerinrichtingen, die in meer vrijheidsgraden vrij

programmeerbaar zijn en zijn voorzien van grijpers of gereedschappen, en die specifiek zijn ontworpen voor industrieel gebruik.

6. [International Standardization Organization ISO): An automatic servo controlled reprogrammable multifunctional manipulator having multiple axes, capable of handling materiais, parts, tools or specialized devices through variabie programmed operations for the performance of a variety of tasks. The industrial robot of ten has the appearance of one or more arms ending in a wrist; its control unit uses a memorizing device and sometimes it can use sensing and adaptation appliances that take account of the environment and circumstances. These multipurpose machines are generally designed to carry out repetitive functions and can be adapted to other functions without permanent alterations of the equipment.

Om vast-opgestelde robots van mobiele robots te onderscheiden spreekt men soms wel ter verduidelijking over een robot-arm in plaats van een robot. Een van de definities van een robot-arm luidt: a mechanical arm fixed to the floor, wall, ceiling or to another machine, fitted with a special end-effector which can be either a gripper or some sort of tooI such as a welding gun or paintsprayer.

We zullen hier geen gedetailleerde analyse van de verschillende definities geven. Uit de verschillende formuleringen kunnen echter wel relevante subsystemen van een robot-arm worden gedestilleerd, zoals het robotsysteem (mechanisme, aandrijving, positiemeetsysteem, effector, sensoren), het

(12)

besturingssysteem (aritmetische en logische besturing, programmageheugen, programmeerhulpmiddelen, de man-machine interface of het bedieningspaneel) en de periferie (aan- en afvoersyste.en, veiligheidsvoorzieningen,-procesapparatuur).

Meer geavanceerde robots, zoals bijvoorbeeld in het internationale Advanced Robotics Project worden ontwikkeld voor het uitvoeren van mens-onvriendelijke werkzaamheden in de ruimte, onderwater, in mijnen, in kerncentrales, ten behoeve van de gezondheidszorg, en in land- en tuinbouw en veeteelt zullen hier buiten beschouwing blijven.

2. ROBOTICA IN DELFT

2.1 ONDERZOEK

Het onderzoek van de TH Delft op het gebied van robotica maakt deel uit van het voorwaardelijke-financierings (vf) interafdelingsprogramma

Produktie-Automatisering en Industri~le Robots (PAIR) - een samenwerkingsprojekt van 4 afdelingen en 11 vakgroepen, te weten:

- Afdeling der Elektrotechniek: vakgroepen Informatietheorie, Elektronische Instrumentatie, Elektrische machines, Regeltechniek.

- Afdeling der Werktuigbouwkunde: vakgroepen Werktuigbouwkundige Produktietechnieken (sekties Bedrijfsmechanisatie, Werkplaatstechnische

Produktiesystemen, Technologie), Technische Mechanica, Werktuigbouwkundige Meet-en Regeltechniek/Cybernetische Ergonomie.

- Afdeling der Technische Natuurkunde: vakgroepen Signaal-/Systeemtechniek (sektie Patroonherkennen), Transportverschijnselen (sektie Procesdynamica en -regeling), Akoustiek.

- Onderafdeling der Wiskunde en Informatica: vakgroep Informatica.

Het programma van PAIR is geconcentreerd op twee hoofdthema's: flexibele automatisering van assemblage en flexibele fabricage-systemen. Het programma wordt gecoordineerd door de commissie PAIR, een Adviescommissie van het College van Bestuur.

In het kader van het programma PAIR functioneren thans ook drie beleidsruimteprojekten: 83-Wb-l: Besturingssystemen voor flexibele

(13)

fabricagecellen; 83-Et-2: Het verplaatsen van voorwerpen van verschillende soort door een robot; 84-Tn-9: Robot stereo vision.

De nationale onderzoekstimuleringscommissie Flexibele Produktie-Automatisering

en Industriële Robots FLAIR heeft in 1984 het projekt Flexibele Assemblagecel toegekend aan de afdelingen der Werktuigbouwkunde en der Technische Natuurkunde. De cel is bedoeld voor families van overeenkomstige, middelgrote produkten. Hij zal bestaan uit een of meer industriële robots, onderdelen-toevoerinrichtingen en transportorganen, inspectieposities, buffers en een besturingssysteem. De afdeling WB verzorgt de mechanische opbouwen de afdeling TN de

inspectieposities en de onderdelenherkennings-en oriëntatiesystemen. De overige projekten van het nationale programma FLAIR(-I) zijn: lassen en snijden met de robot, problemen bij de invoering van flexibele automatisering (TH Eindhoven), besturing van de goederenstroom (TH Twente), toepassingen van 3D-sensoren (TNO-TPD Delft), Verfspuiten (TNO-VFI Delft) en tactiele sensoren (TNO-KRI Delft). Het programma FLAIR(-I) zal eind 1986 worden afgesloten.

Een vervolgprogramma SPIN-FLAIR(-II) is inmiddels door het Ministerie van Economische Zaken geconcipieerd. Het omvat vier kernprojekten:

werkvoorbereidingssystemen, flexibele fabricagesystemen, flexibele montage cel, flexibele lascel. De Adviescommissie PAIR bereidt een projektaanvraag voor om het kernprojekt 'flexibele montagecel' in Delft te gaan uitvoeren als logisch vervolg op het eerste FLAIR projekt.

2.2 ONDERWIJS

Behalve onderwijs in de verschillende afdelingscolleges welke aspecten van robotica behandelen, is er in Delft sprake van interafdelings-onderwijs inzake robotica. De Adviescommissie PAIR heeft voor het eerst in 1984 een

interafdelingscollege Robotica gecoHrdineerd. Docenten uit de vier in het vf-PAIR projekt participerende afdelingen verzorgen in dit college hun specifieke vakgebieden.

De colleges tof omvat de volgende onderwerpen: opbouwen besturing van industriële robots, robottoepassingen (puntlassen, booglassen, verfspuiten, hanteren, montage), programmeertalen, kinematica en mechanismen van industriële

(14)

robots, analysetechnieken, hydraulische regelsystemen, elektrische regelsystemen, sensoren en instrumentatie, vision, toepassing machine-intelligentie voor industri~le robots.

Medio 1986 verschijnt het boek 'Industri~le Robots' [7] als eerste deel van een serie delen over het onderwerp flexibele produktie-automatisering. Dit boek is samengesteld door een collectief van auteurs van de in PAIR participerende vakgroepen.

2.3. HTo-WO LABORATORIUM VOOR ROBOTICA EN FLEXIBELE AUTOMATISERING

Moderne produktie-automatisering omvat een scala van technologie~n:

robotica, computer aided design, group technology, manufacturing planning and control systems, automated material handling, en computer aided manufacturing. Informatie- en computertechnologie - met als deelgebieden hardware, software, data bases en telecommunicatie- vormen hierbij de verbindende schakel, Dit samenhangende geheel van technologie~n wordt aangeduid als Computer Integrated Manufacturing. Een kenmerk van CIM is, dat het vele vormen van flexibiliteit omvat; er is sprake van flexibele automatisering. Industri~le robots zijn bouwstenen bij flexibele automatisering.

Mede op grond van het multidisciplinaire karaktier is robotica een bij uitstek geschikt startgebied om het totale terrein van computer integrated manufacturing te veroveren voor onderwijs en onderzoek. De naamgeving 'robotica en flexibele automatisering' benadrukt dat robotica gezien wordt in het bredere kader van flexibele automatisering. Informatie-technologie speelt hierbij een belangrijke rol.

Op initiatief van het Ministerie van Onderwijs en Wetenschappen en met instemming van het Ministerie van Economische Zaken en de FHE is door het College van Bestuur van de Technische Hogeschool Delft en de Vereniging van Hogere Technische Scholen in Nederland in oktober 1985 een contract gesloten om een HTo-WO Laboratorium voor Robotica en Flexibele Automatisering in te richten voor gezamenlijk gebruik. De VHTS trad hierbij op namens 11 HTS-en welke in de afdelingen Werktuigbouwkunde en Fysische Techniek de resp. differentiaties Automatisering en Besturingstechnologie hebben. De 11 door het Ministerie aangewezen HTS-en zijn gevestigd in Amsterdam (Amatel-HTS), Arnhem, Dordrecht, Eindhoven, Enschede, Groningen, Heerlen, Hilversum, Rotterdam, Utrecht en

(15)

Rijswijk.

De exploitatiekosten van het laboratorium, ten bedrage van 1,1 miljoen gulden, worden voor 50% gedragen door het HTO en voor 50% door de TH Delft. Na een opstart periode verwacht de TH 40% van haar aandeel uit de derde geldstroom te kunnen bekostigen. Het laboratorium staat ook voor 50% van de tijd ter beschikking van de 11 HTS-en.

De totale omvang van de investeringen bedraagt 9 miljoen gulden. Hiervan bekostigen de ministeries van 0 & W en EZ elk 3 miljoen en TH Delft 2 miljoen gulden; de leveranciers dienen het resterende bedrag in de vorm van educatieve kortingen bij te dragen.

Het laboratorium is gesitueerd in het gebouw van de afdeling der Werktuigbouwkunde, alwaar ca. 1.500 m2 vloeroppervlak beschikbaar is.

De motieven voor integratie en concentratie van de aktiviteiten inzake onderwijs en R&D bij het hoger technisch en het wetenschappelijk onderwijs op het gebied van robotica en flexibele automatisering zijn:

- uitwisseling van kennis en toegang tot expertise;

- slagvaardig reageren op de technologische ontwikkeling~n; - effici~nt investeren en benutten van de -kostbare- apparatuur; - bundeling van disciplines (elektrotechniek, informatica, technische

natuurkunde en werktuigbouwkunde) in een multifacultair centrum met apparatuur en human capital teneinde op doelmatige wijze kennis te vergaren, te

ontwikkelen, toe te passen en over te dragen;

- intensivering van de transfer van technologie naar het bedrijfsleven; - via de betrokken HTS-en overdracht naar met name de kleine en middelgrote ondernemingen in de desbetreffende regio's.

Het laboratorium voor robotica en flexibele automatisering zal ook buiten de onderwijssfeer op zich al door de state-of-the-art inrichting een rol vervullen voor de marktsector als demonstratiecentrum van flexibele automatiserings-middelen.

Deze demonstratiefunctie zal worden versterkt door in het laboratorium additionel ruimte te bestemmen als demonstratiefaciliteit ten behoeve van het bedrijfsleven.

(16)

Het laboratorium en de TH-omgeving lenen zich uitstekend voor het verrichten van haalbaarheidsstudies door bedrijven aan welke hiertoe experimenteer-faciliteiten ter beschikking worden gesteld.

Hierbij kan sprake zij van tijdelijke detachering vanuit het bedrijfsleven bij het laboratorium.

Voorts kan het laboratorium ook benut worden voor de fase na een

haalbaarheids-onderzoek waarin behoefte bestaat aan experimentele implementatie in de vorm van een proefproduktie.

Bij de opzet van het Laboratorium voor Robotica en Flexibele Automatisering is de capaciteit gebaseerd op 12 opstellingen aan welke een groep van 24 studenten paarsgewijs kan werken.

Voor de HTS-studenten is het doel van het prakticum omschreven als:

'confrontatie met elementen en samengestelde systemen van flexibele produktie-automatisering zoals deze in de toekomst kunnen voorkomen in onbemande fabrieken. Door het leren kennen van de mogelijkheden en beperkingen, de veelzijdigheid en verscheidenheid van de gekozen elementen en toegepaste technieken, door te wijzen op kostprijs-, management- en sociale aspekten van het werken met de geavanceerde technieken zal getracht worden een bijdrage te leveren aan de opleiding van de ingenieur voor een verantwoordelijke functie in het bedrijfslevenl

De HTS-ingenieur zal zo uitgerust dienen te worden dat hij in het proces van produktiemodernisering in staat is te 'robotiseren'.

Voor de HTS-en is inmiddels een leerplan vastgesteld. Het leerplan wordt thans uitgewerkt zodat de leerstof in boekvorm beschikbaar komt (zie 2.2), (7).

Bij de inrichting van de opstellingen wordt uitgegaan van het plaatsen van state-of-the-art apparatuur van een diversiteit welke de in het leerplan genoemde aspekten tot hun recht laat komen. Het programma van eisen omvat o.a.: - De opstellingen dienen bij voorkeur flexibele modules te zijn waarin moderne robots en andere flexibele automatiseringsmiddelen met periferie zo re~el mogelijke industri~le processen laten verlopen welke relevant zijn of worden in de Nederlandse marktsector;

(17)

flexibele modules tot een hogere niveau van flexibele systemen (op weg naar CIM);

- Aan Nederlandse produkten zal de voorkeur worden gegeven;

- Van de leveranciers wordt verwacht dat zij ook na de levering een aktieve rol zullen spelen bij de blijvende vernieuwing van apparatuur en toepassing. - De apparatuur zal aan onderwijskundige eisen met betrekking tot de toegankelijkheid van hardware en software dienen te voldoen met o.a. waarneembare functies van deelsystemen.

STATUS INRICHTING

Op 20 januari 1986 is het eerste HTS-prakticum in het laboratorium gestart. Op dat moment waren de volgende 5 opstellingen beschikbaar: robot-booglassen, robot-puntlassen, robot-assemblage, hanteren met industri~le manipulaotr en domputervisie. Inmiddels is een opstelling aangeschaft en gernstalleerd voor de vervaardiging van kabel bomen met behulp van o.a. twee robots. Twee Nederlandse bedrijven hebben aan het laboratorium robot-opstellingen uitgeleend voor resp. montage en machinebelading en-ontlading.

Een opstelling voor robot-verfspuiten is in bestelling. De selectie van een laserbewerkings-station en een assemblage-station voor een robot met een gerntegreerd visiesysteem verkeert in een vergevorderd stadiUM.

De selectie van apparatuur die deel zal gaan uitmaken van het CIM-systeem zal plaatsvinden nadat de onderhanden definitie-fase van het CIM-systeem voltooid is. Het CIM-systeem zal vermoedelijk tenminste de volgende functies bevatten: CAD, NC-bewerking (vertikaal bewerkingscentrum), automatische opslag (magazijn, ministacker), orderverzamelen, lineair transporteren (modulair

transportsysteem), voor-assemblage, na-assemblage, testen, verpakken, flexibele transporteren (AGV). Het CIMsysteem dient initieel een of twee families van -bij voorkeur industri~le of semi-industri~le - produkten te fabriceren. Het accent komt te liggen op de integratie van de onderscheiden functies.Gezien het onderzoekprogramma Produktie-automatisering en industri~le robots (PAIR) van de Technische Hogeschool Delft zal aan automatische assemblage meer belang worden gehecht dan aan automatische bewerking. Dit houdt in dat slechts een enkel onderdeel ontworpen en gefabriceerd zal worden in het CIM-systeem; de overige onderdelen zullen van buiten worden betrokken.

(18)

TH Delft gewerkt aan het cre~ren van computer-ondersteunend-onderwijs (COO) ten behoeve vsn het prakticum. De doelstelling is de kennisoverdracht tijdens het practicum optimaal te laten verlopen. De eerste opstelling voor COO is inmiddels in gebruik genomen. Twee ander opstellingen naderen hun voltooiIng.

PERSPECTIEVEN. In volgroeide toestand zal het robot-laboratorium een bijdrage leveren aan het inhalen van de achterstand van het Nederlandse bedrijfsleven op het gebied van flexibele automatisering en industri~le robots.

Het laboratorium zal de voorwaarden kunnen scheppen voor het verrichten van innovatief onderzoek op het gebied van flexibele produktie-automatisering en

industri~le robots (FLAIR), met name op het terrein van de integrale toepassing van de informatie-technologie in het produktieproces in overeenstemming met het CIH-concept.

Het verdient aanbeveling in het laboratorium een brug te slaan tussen de innovatie van het industri~le produktieproces en de innovatie van de Nederlandse land- en tuinbouw. De informatietechnologie vormt de gemeenschappelijke noemer.

Behalve in het HTO-WO Laboratorium zijn ook elders in de TH industri~le robots opgesteld en wel bij de vakgroep Regeltechniek van de afdeling der

Elektrotechniek en bij de sektie Patroonherkennen van de vakgroep Signaal-/Systeemtechniek van de afdeling der Technische Natuurkunde.

3. OVERZICHT SEHINAR

Het vakgebied 'robotica' is een bij uitstek multidisciplinair gebied waar bundeling van de expertises van de aan het vf-programma PAIR deelnemende

vakgroepen niet alleen goed, maat ook geboden is. Het gebied is zo breed, dat in een zestal lezingen tijdens een seminar van een dag slechts een beperkt aantal kanten van het vakgebied belicht kan worden. Desalniettemin biedt een programma waarin state-of-the-art resultaten van recent onderzoek aan de TH Delft en recente ontwikkelingen bij de Optische Industrie de Oude Delft worden gepresenteerd een goede spreiding, omdat aandacht wordt geschonken aan een aantal verschillende nivo's van de besturing van een robotsysteem, namelijk van het laagste nivo waarop de motoren worden geregeld (niet-lineaire

(19)

robot een van de subsystemen kan zijn. Ontwikkelingen op het gebied van sensoren in het algemeen en robot vision in het bijzonder zijn thans bijzonder actueel getuige de eerste getntegreerde implementaties van sensorsystemen (o.a. 3-0 sensor voor lasrobots) in commercieel verkrijgbare robots. Knowledge-based systemen zullen in nieuwe generaties robots een belangrijke rol gaan spelen.

GERAADPLEEGDE LITERATUUR

[1) N.J. Zimmerman (red.) Flexibele Produktie-automatisering en industriële robots, Syllabus van de 2e workshop van de onderzoekstimuleringscommissie FLAIR, D.E.B. Publishers, Pijnacker (1984), ISBN 90 6231 128 8.

(2) P.B. Scott, The robotics revolution, Basil Blackwell, Oxford (1984), ISBN 0 631 13162 O.

(3) N.J. Zimmerman (red.), Flexibele produktie-automatisering en industriële robots, Syllabus van de 3e workshop van de onderzoekstimuleringscommissie FLAIR, D.E.B. Publishers, Pijnacker (1985), ISBN 90 6231 136 9 •

(4) S. Kämpfer, Roboter, Die elektronische Hand des Menschen, VOl Verlag, DUsseldorf (1985), ISBN 3 18 400707 3.

(5) N.J. Zimmerman (ed.), Proceedings of the 5th International Conference on Robot Vision and Sensory Controls 29-31 October 1985, Amsterdam, IFS Conferences, Kempston (1985), ISBN 0 903608 96 O.

(6) Proceedings 1986 IEEE International Conference on Robotics and Automation, 7-10 April 1986 San Francisco, IEEE Computer Society Press 1986, ISBN 0 8186 0695 9.

(7) L.N. Reijers en H.J.L.M. de Haas (red.), Flexibele produktieautomatisering, dl. lIl, Industriële robots, Technische Uitgeverij De Vey Mestdagh, Middelburg (1986) ISBN 90 637 6014 O.

(20)

Sa.envattiog

EEN ARCHITECI1JUR VOOR DE BESTURING VANEEN

FLEXIBEL FABRICAGE SYSTEEM

Ir.J.J.A. Bû.ker Technische Hogeschool Delft. Afdeling der Werktuigbouwkunde. Werkplaatstec:hnisc:he Produktie Systemen

Een kritiek element voor het funktioneren van flexibel geautom.ltiseerde produktiesystemen is de centrale besturing, ook wel "supervisory con trol system" genaamd. De ontwikkeling van dit soort besturingen blijkt veel geld te kosten en erg arbeidsintensief te zijn.

Het ter beschikking hebben van een goede besturingsarchitectuur vereenvoudigd de ontwikkeling aanzienlijk.

Een taal om de ontwikkelde architectuur elegant in te implementeren is de Cell Management Language (CHL), ontwikkeld aan Carnegie Helion University in

Pitts-burgh, U.S.A. 1 • Inleiding

Een belangrijk probleem bij het ontwerp van een besturing voor een geautomatiseerd produktiesysteem is de grote complexiteit van de te ontwikkelen programmatuur. Telkens blijkt weer dat het ontwikkelen van een foutvrije besturing lang duurt en hoge kosten met zich mee brengt. Een oorzaak hiervoor lijkt het ontbreken van een duidelijke besturingsarchitectuur te zijn.

Voor het ontwerpen van communicatiesystemen wordt tegenwoordig alom gebruik gemaakt van de bekende 150-051 architectuur. (In een architectuur worden functies en relaties tussen functies vastgelegd). Het ontwerp van nieuwe communicatiesystemen is hiermee vereenvoudigd, omdat het kader van het nieuwe ontwerp al vastligt.

Het beschikbaar hebben van een soortgelijke architectuur voor geautomatiseerde produktiesystemen zal leiden tot beter gestructureerde besturingen die sneller zullen kunnen worden ontwikkeld.

In dit artikel wordt een architectuur voor de besturing van een geautomatiseerd produktie systeem voorgesteld. Tevens wordt een taal besproken met behulp waarvan het mogelijk is de ontwikkelde architectuur efficient en elegant te implementeren.

Aan de hand van een voorbeeld van een Flexibel Fabricage Systeem (FFS) wordt de architectuur toegelicht.

(21)

2. Besturingsaspecten YBn een Flexibel Fabricage SIstee. 2.1 Definitie Y8D een Flexibel Fabricage SIstee.

Een Flexibel Fabrikage Systeem (FFS) is een geautomatiseerd produktiesysteem waarin een aantal machines onder computerbesturing een bepaalde familie produkten fabriceert.

Iedere machine wordt op zich zelf bestuurd door een lokale besturing die speciaal voor die machine geschikt is. Deze lokale besturing draagt zorg voor het aansturen van de as bewegingen en het schakelen van funkties als koelvloeistof toevoer en gereedschapswisseling. Een centraal computersysteem zorgt voor coördinatie tussen de verschillende machines en vervult taken als produkt- en gereedschap databeheer.

Produkten worden automat isch vervoerd in het FFS door middel van een geauto-matiseerd transportsysteem. Elk produkt kan in principe een bewerking onder-gaan op elke machine. In een FFS zijn geen beperkingen opgelegd, wat de mogelijk produktroutes betreft.

Een belangrijke toepassing van een FFS is in de kleinserie fabrikage, waar van elk produkt slechts een klein aantal exemplaren moet worden gemaakt. Een FFS is in staat om produkten in kleine aantallen op efficiente wijze te produceren, doordat gebruik wordt gemaakt van universele machines en doordat een volledige procescontrole wordt nagestreefd (en wordt bereikt).

2.2 Taken van een PFS besturing

De besturing van een FFS is verantwoordelijk voor het zo efficient mogelijk uitvoeren van de gestelde produktieopdracht. De besturing stelt hiertoe een produktieplan op, waarin bepaald is welke bewerking op welk tijdstip op iedere machine plaatsvindt. Bij het opstellen van dit plan wordt rekening gehouden met de schaarsheid van bepaalde hulpgoederen zoals gereedschappen, pallets en opspanmiddelen. Vervolgens wordt getracht dit produktieplan zo goed mogelijk uit te voeren. Wanneer verstoringen optreden, zoals gereedschapbreuk of verspaningsproblemen, kan het produktieplan niet meer letterlijk worden gevolgd. Het is de taak van de centrale besturing om in dat geval aanpassingen in het produktieplan te maken, zodanig dat de gevolgen van de verstoringen zo beperkt mogelijk blijven.

De centrale besturing staat in contact met de besturingen van alle systeemelementen. De centrale besturing geeft commando's waarmee activiteiten op de systeemelementen gestart en gestopt kunnen worden. De locale besturingen hebben in het algemeen gegevens nodig om de opgedragen activiteiten uit te kunnen voeren. Deze gegevens bestaan onder meer uit:

Ne

programma's

Gereedschapcorrectiewaarden Opspangegevens

Ook de centrale besturing heeft gegevens nodig om zijn coordinatietaak uit te kunnen voeren. Het gaat hierbij vooral om gegevens die de status van de afzonderlijke systeemelementen beschrijven. (Behalve dat dit soort gegevens nodig zijn voor de directe besturing van het systeem, zijn zij ook van belang voor het analyseren van het gedrag van het systeem op langere termijn (Management Information System functie».

(22)

2.3 !!en

rrs

beaturll18 in rumer yerband

Het nut van een architectuur is groter naarmate het toepassingsgebied ervan groter is. Een systeem als een FFS is geen klasse apart, maar is een vertegenwoordiger van een grotere groep systemen.

De beschrijving van dit soort systemen in abstrskte zin leidt tot de konklusie dat deze systemen bestaan uit een aantal asynchrone processen, die een zekere mate van coördinatie nodig hebben. Deze procesaen zullen in het vervolg "mschines" worden genoemd.

Het meest algemene gebied van toepassing van de tectuur is dan ook voor het gebruik van systemen machines. De essentie van een machine is dat deze standige zender en ontvanger van boodschappen.

hier gepresenteerde archi-die bestaan uit een aantal

kan fungeren als een zelf-I

Machines communiceren met elkaar door het sturen van boodschappen. De wijze waarop deze boodschappen worden gestuurd is een belangrijk aspekt van de ontwikkelde architectuur.

Het is belangrijk te benadrukken dat de term "machine" een abstraktie is. De architectuur is absoluut niet beperkt tot systemen waarbij de "machines" inderdaad fysieke machines zijn, zoals de systeemelementen in een FFS of in een Flexibel Montage Systeem (FMS).

Aan de hand van een voorbeeld van een besturing van een FFS zal de ontwikkelde architectuur toegelicht worden (paragraaf 4). Daarbij zal het begrip "machine" in twee betekenissen door elkaar gebruikt worden ("machine" in abstrakte zin en machine in letterlijke zin). Uit de context zal blijken welke betekenis bedoeld wordt.

3. !!en overzicht van de architectuur 3.1 De ele.enteo van de architectuur

Zoals beschreven in het voorgaande is het probleem waarvoor de architectuur is ontwikkeld, een systeem bestaande uit een aantal asynchrone processen, machines genaamd. Figuur 1 toont een overzicht van de architectuur.

Het systeem bestaat uit een aantal machines waarvan de aktiviteiten gecoär-dineerd moeten worden. Deze coärdinatiefunktie wordt verricht door een cen-trale module: de "systeemmanager".

Machines zijn vaak elementen die niet door de ontwerper van een geintegreerd systeem beinvloed kunnen worden. Een voorbeeld is een automatisch transport-systeem, dat geleverd wordt compleet met een controller. De controller heeft een eigen commando taal en kan alleen in die taal aangesproken worden.

Een ander voorbeeld van een machine is een database pakket. Dat pakket heeft een eigen "query language" en informatie kan alleen aan de database onttrokken worden wanneer gebruik wordt gemaakt van die taal.

De systeemmanager moet in staat zijn met alle machines te communiceren en maakt daartoe gebruik van de diensten van twee ondergeschikten: een "machinespecialist" en een "communication driver".

Een machinespecial1st beschikt over alle detailinformatie van zijn machine en spreekt de taal van de machine. Een ontvangen boodschap wordt geinterpreteerd en de machinespecialist probeert de benodigde aktie zelf te ondernemen. Boodschappen die een meer dan lokaal effect hebben worden doorgestuurd naar de systeemmanager. (Bijvoorbeeld het beëindigen van een aktiviteit op een machine kan tot gevolg hebben dat de aktiviteit op een andere machine gestart kan

(23)

worden).

Een tweede ondergeschikte van de systeemmanager is Je "communication driver", of kortweg "driver", die de meer fysiek gerichte aspekten van de communicatie verzorgt. Een driver wordt gebruikt wanneer een machine geimplementeerd is op een andere computer dan waarop de systeembesturing is geimplementeerd. (Voorbeelden van "machines" die geimplementeerd zijn op een andere computer dan de besturingscomputer, zijn een "remote database server" en de besturing van een gereedschapswerktuig).

In dit geval moet er informatie gezonden worden tussen twee computers. De funktie van een driver is het garanderen van een foutloze verbinding tussen de machine en de systeembesturing. Hiermee wordt bedoeld dat gegarandeerd wordt dat wat de ene computer ontvangt, gelijk is aan wat de andere computer zond. Hiertoe maakt de driver gebruik van het protocol dat de machine gebruikt. Dat protocol is gekozen door de leverancier van de machine en is hopelijk een standaard protocol. De driver ontvangt informatie van de machine, kontroleert dat op juistheid en geeft vervolgens de ontvangen boodschappen door aan de machine specialist.

Omgekeerd is de driver ook in staat om boodschappen te coderen volgens het gebruikte protokol en ze te verzenden naar de machine.

Een belangrijk element van de architectuur is de communicatie tussen sys-teemmanager en machinespecialisten en tussen de machinespecialisten en de drivers.

In het navolgende wordt ingegaan op de elementen afzonderlijk en op de co_ municatie tussen de elementen.

3.2 Machine Specialist Modules

Zoals eerder beschreven vormt een machinespecialist de interface tussen de systeemmanager en een machine. Iedere machine heeft zijn eigen controller die alle lokale aktiviteiten bestuurt.

De FFS besturing moet in staat zijn te communiceren met iedere machine. Iedere machine heeft een eigen taal, met zijn eigen syntax en semantiek.

Twee funktioneel identieke machines van verschillende leveranciers gebruiken naar alle waarschijnlijkheid een verschillende taal. Op beide machines is het mogelijk een programma te starten, maar de commando' s die daartoe naar de machine moeten worden gezonden zullen verschillen. Voor de systeemmanager ls dat een detail. De systeemmanager denkt in termen van "start bewerking NI203 op machine MeI". Het is daarbij niet van belang voor de systeemmanager hoe dit nu precies moet gebeuren.

De machinespecialist die zo'n order ontvangt, weet die order te interpreteren en vertaalt de order naar binair gecodeerde informatie die door de machine wordt begrepen als een commando.

Door deze vertaalfunktie wordt het de systeemmanager mogelijk gemaakt te communiceren in een algemene systeemtaal. Deze taal kan door de ontwerper van de besturing gedefinieerd worden naar de aard van het te besturen systeem. De systeemtaal van een FFS besturing zal vermoedelijk commando's bevatten zoals:

start (programma> download (programma>

De gedetailleerde kennis over iedere machine is nu expliciet in een aparte module vastgelegd. Door het scheiden van funkties op een grondige wijze is te voorkomen dat men bij het ontwerpen van een programma vastloopt in details.

(24)

Deze strikte scheiding heeft een ander groot voordeel. Doordat een aparte module bestaat waarin alle kennis over een machine is vastgelegd, is het mogelijk een bibliotheek aan te leggen van machinespecialisten voor de meest voorkomende machines.

Wann~er een FFS besturing gemaakt moet worden, wordt de bibliotheek ge-controleerd om te zien of de benodigde machinespecialist voor een machine al voorhanden is. Is dat het geval, dan kan die module gebruikt worden. Is dat niet het geval, dan ia het in principe niet heel moeilijk een nieuwe

machi-I

nespecislist te schrijven, omdat voorbeelden ruim voorhanden zijn en omdat duidelijk is wat er ontwikkeld moet worden. Er hoeft alleen maar geprogrammeerd te worden, het ontwerp is in grote lijnen al gereed.

De rol van een machinespecialist wordt onderschat, wanneer de machinespecia-list alleen beschouwd wordt als een "vertaal" module. De machinespecialist is bekend met de machine, kent de betekenis van binnenkomende boodschappen en kan daarom fungeren als een centrum van lokale intelligentie. Vergelijk dit met het hiërarchisch model dat door het Amerikaanse National Bureau of Standards (NBS) is ontwikkeld [1).

Een voorbeeld van lokale intelligentie kan worden gevonden in het reageren op een storingssituatie. Wanneer een commando uitgevoerd wordt kunnen in het algemeen een aantal storingen optreden. Zo'n storing wordt gemeld aan de machinespecialist, die dan afhankelijk van de storing, aktie kan ondernemen. Verschillende mogelijkheden zijn:

Het herhalen van het "probleem" commando tot het wel lukt.

Vaak wordt een grens gesteld aan het aantal keren dat een commando herhaald kan worden.

Het verhelpen van de storing door een andere reeks commando's te geven. Het verwittigen van de systeemmanager.

Alleen wanneer de eerste twee mogelijkheden gefaald hebben of niet toepasbaar zijn, zal de machinespecialist de storing melden aan de systeemmanager.

3.3 Drivers

Een driver is een proces (in de zin van een proces in een operating systeem), dat tot doel heeft foutloze communicatie tussen de machinespecialisten en de machines te garanderen. De driver maakt hiertoe gebruik van een protocol. Een voorbeeld van een protocol is DDCHP van DEC.

De aard van een driver is, door zijn funktie, nogal verschillend van die van een machinespecialist. Drivers moeten in staat zijn informatie binnen te halen, asynchroon van het besturingsprogramma.

Iedere driver wordt uitgevoerd als een apart proces, dat informatie binnen-haalt en doorgeeft aan het centrale proces waar zich de systeemmanager en de machlnespecialisten bevinden. Figuur 2 verduidelijkt deze organisatie.

In het algemeen is, vanwege alle interproces communicatie, een aanzienlijke kennis van een operating systeem nodig om een driver te implementeren. Het is daarom belangrijk om de beschikking te hebben over een bibliotheek van drivers voor de meest voorkomende protocollen. Helaas bestaan er nogal wat varianten op ieder standaard protocol, zodat het te verwachten is dat een driver toch aangepast moet worden voor een bepaalde applikatie.

Om die reden is het belangrijk dat een driver zodanig is opgebouwd, dat de interface naar de machinespecialist los staat van de protocol implementatie. Wijzigingen aanbrengen in het protocol is dan mogelijk zonder over een diep-gaande kennis van het operating systeem te moeten beschikken. Dit wordt bereikt door de programmeur een "shell" ter beschikking te stellen.

(25)

3.4 De Systee..anager

De systeemmanager vervult een centrale rol in de architectuur. Elke machine-specialist is in staat te communiceren met de systeemmanager. Alleen bood-schappen die van algemeen belang zijn worden naar de systeemmanager gestuurd, details worden lokaal verwerkt door de machinespecialisten.

De systeemmanager heeft de kennis om te kunnen beoordelen wat er moet gebeuren wanneer zich een bepaalde situatie voordoet. De aktiviteiten in het systeem

moeten vaak in een bepaalde volgorde verricht worden. Indien dat het geval is, zorgt de systeemmanager ervoor dat die volgorde aangehouden wordt.

Wanneer zich ergens een storingssituatie voordoet die niet door de betreffende machinespecialist afgehandeld kon worden, krijgt de systeemmanager de taak toegeschoven om de storing te verhelpen of om in ieder geval nieuwe storingen (in andere machines) te voorkomen.

Wanneer de problemen van dien aard zijn, dat manuele interventie vereist is, zal de systeemmanager (bepaalde delen van het) systeem "afsluiten" en de operator alarmeren.

4. Een toepassing van de architectuur: een FFS besturing 4.1 Overzicht

De ontwikkelde architectuur is voor het eerst gebruikt om een simpel FFS te simuleren. Het te simuleren systeem bestaat uit vier gereedschapswerktuigen, waartussen, door middel van een Automated Guided Vehicle, produkten kunnen worden vervoerd. Een operator is in staat te communiceren met de besturing door middel van een "operator interface". Een "scheduler" zorgt ervoor dat orders worden ingepland. Een "dispatcher" is verantwoordelijk voor het uitvoeren van het gemaakte schedule. Het doel van deze implementatie is het testen van de architectuur en het ontwikkelen van geschikte hulpmiddelen. 4.2 Machine Specialisten 10 een FFS besturing

In deze FFS besturing komen een aantal machinespecial1sten voor. Voor ieder gereedschapwerktuig is er een aparte machinespecial1st, maar ook de operator interface is uitgevoerd als een machinespecial1st. Tenslotte zijn er machinespecialisten voor de scheduler, voor het produkttransportsysteem en een voor een database.

Systeemelementen, zoals een gereedschapvoorinstalapparaat en een produktwas-installatie zijn niet aanwezig in het gesimuleerde systeem. Normaal gesproken zouden daar ook machinespecialisten voor aanwezig zijn.

Gereedschapswerktuig machinespecialist

Voor alle gereedschapswerktuigen in het FFS zijn aparte machinespecialiRten nodig. Iedere machinespecialist is in staat te communiceren met de besturing van zijn machine en weet in welke staat de machine is.

In de implementatie van dit systeem is een beperkte mate van intelligentie aan de machinespecialisten toegekend. De systeemmanager kan bijvoorbeeld een opdracht geven een programma te starten, zonder zich te hoeven bekommeren of het benodigde programma wel beschikbaar is in de machinebesturing. De machinespecial1st is op de hoogte welke programma's gedownload zijn en kan zelf het initiatief nemen een programma te downloaden wanneer dat noodzakelijk is.

(26)

Operator machinespecialist

De supervisie over allea wat er gebeurt in het systeem ligt uiteindelijk bij de systeemoperator. De module "aysteemmanager" is weliswaar in staat eigen beslissingen te nemen, maar de operator heeft altijd de mogelijkheid een beslissing te herroepen en het systeem te corrigeren.

Net zoals er machinespecialisten zijn die met bewerkingsmachines communiceren, is er ook een machineapecialiat die met de operator communiceert. De operator wordt in de architectuur als een machine (in abstracte zin) beschouwd.

De operator machinespecialiat implementeert een interface voor de verschillende categorieën gebruikers (operators, onderhoudstechnici, softwarespecialisten ••• ). De commando's die kunnen worden gegeven en de gegevens die kunnen worden opgevraagd door iedere categorie worden bepaald in de operator machinespecialist. De gebruikte taal zal bij voorkeur zoveel mogelijk overeenkomsten vertonen met menselijke taal.

De schedulings machinespecialist

Scheduling in een FFS is een probleem waar vele specialisten zich mee bezig hebben gehouden (4). Een ontwikkelaar van een FFS zal trachten gebruik te maken van bestaande schedulingsprogramma's. Het voordeel daarvan is evident. In de architectuur wordt het schedulingsprogramma als een machine opgevat. De schedulings machinespecialiat vormt dan de interface tussen de FFS besturing en het schedulingsprogramma.

Een implementatiedetail is dat het vaak noodzakelijk is het scheduleprogramma als een apart proces (in operating system termen) uit te voeren. Wanneer het schedulen deel zou uitmaken van het hoofdproces, zou de voortgang van de systeemaktiviteiten teveel belemmerd worden. Om dit te realiseren is een multi-tasking operating systeem noodzakelijk.

De Database machinespecialist

Een belangrijke taak van een FFS besturing is het manipuleren van data. In het algemeen zal die data georganiseerd zijn in databases. Een database is een programma dat kant en klaar te verkrijgen is en het zal zelden de moeite lonen om er zelf een te ontwikkelen. Het gebruik van een al bestaand pakket levert het probleem op dat software geintegreerd moet worden. .

De database machinespecialist fungeert als interface tussen een database en de FFS-besturing. (Een vergelijkbare situatie met de scheduler uit de vorige paragraaf) •

Intern in de FFS besturing wordt gebruik gemaakt van een "system query language". Deze taal maakt deel uit van de al eerder beschreven algemene systeemtaal en wordt gebruikt om data manipulatie opdrachten te beschrijven. De opdrachten worden vertaald voor een specifieke database door de bijbehorende database machinespecialist. De gegevens die gemanipuleerd worden, worden door de machinespecialist in het juiste formaat gebracht.

Net zoals bij de machinespecialisten voor gereedschapswerktuigen, maken machinespecialisten voor databases het mogelijk dat de systeemmanager commando' s kan geven in een en dezelfde taal. Hierdoor worden de details van specifieke databases verborgen voor de systeemmanager.

Conclusies

In het voorgaande zijn een aantal machinespecialisten behandeld. Daarbij is duidelijk geworden dat de term "machine" inderdaad een abstrakte term is. "Machines" die werden besproken zijn:

gereedschapswerktuigen, operators,

(27)

databases.

In het algemeen is de funktie van machinespecialists, voor welk type machine dan ook, het creëren van een eenvoudig "view" van een ingewikkelde wereld. Resultaat van deze eerste test is dat gebleken is dat in betrekkelijk korte tijd een besturing kan worden ontwikkeld. De ontwikkelde modules zijn daarbij zeer algemeen opgezet en kunnen de basis vormen voor ontwikkeling van echte standaard modules. Bij de implementatie is gebruik gemaakt van de programmeertaal CML, die in de volgende paragraaf wordt geintroduceerd. 5 • De progr_ertaal CIIL

Aan het Robotics Instltute van Carnegie Mellon Universlty in Pittsburgh, USA is een programmeertaal, Cell Management Language (CML) ontwikkeld, die zich uitstekend leent voor implementatie van de ontwikkelde architectuur [2,3). (Dat is niet helemaal een gelukkig toeval, daar de architectuur en CML min of meer parallel zijn ontwikkeld).

CML kenmerkt zich door een aantal eigenschappen die in deze paragraaf zullen worden behandeld.

CML is een hogere programmeertaal geschreven in Pascal. Operatoren in CML zijn van een hogere orde dan operatoren in talen zoals Pascal, C of Fortran.

De centrale datastructuur in CML is de "tabie". Tables bestaan uit "entries" (rijen) en "fields" (kolommen). Een table kan zowel data als code bevatten en vertoont daarin overeenkomsten met de list in de taal LISP. Een table die code bevat is op te vatten als een subroutine. Een table die data bevat is een (geavanceerde) datastructuur.

CML bestaat uit een groot aantal commando' s, die tables en de inhoud van tables manipuleren. Daarnaast zijn er een aantal algemene commando's. Voorbeelden van commando's zijn:

*

Print een tabie, entry of field

*

"lrrltTaliseer een verbinding met een "machine"

*

Luister naar binnenkomende boodschappen

*

Verzend een reeks karakters naar een "machine"

*

Ontleed een binnengekomen boodschap

Een belangrijk aspect van CML zijn de hulpmiddelen die geboden worden voor interproces communicatie. CML maakt het de programmeur mogelijk op uitgebreide schaal communicatie tussen processen te plegen, waarbij de operating system details verborgen blijven. Het zenden van boodschappen naar "machines" (en het ontvangen van boodschappen) kan worden gerealiseerd met een aantal eenvoudige CML commando's.

Met name dit deel van besturingen van produktiesystemen is gecompliceerd en vraagt om uitgebreide kennis. Het gebruik van CML betekent hier een aanzienlijke vereenvoudiging.

CML is sterk taal georienteerd. Als onderdeel van de taal wordt de programmeur een ontleder (Engels: parser) aangeboden, die gebruikt kan worden om reeksen karakters te ontleden tot zinvolle reeksen woorden. Aan die woorden kan vervolgens een betekenis worden toegekend.

CML ondersteunt gerangschikt in

nadrukkelijk modulair programmeren. Ta bles kunnen worden groepen, die "workspaces" worden genoemd. Communicatie

(28)

tussen workspsces vindt pissts door het zenden van boodschappen. Deze boodschappen worden door de ontvangende workspace op correctheid beoordeeld en verwerkt. Niet correcte boodschappen worden niet geaccepteerd en kunnen daarom geen onverwachte verstoringen veroorzaken.

CHL is een interpretieve taal. Het grote voordeel daarvan is dat het programma op ieder moment kan worden onderbroken en aangepast en dat debuggen daarom aanzienlijk eenvoudiger is dan in een gecompileerde taal. Implementatie van de architectuur is efficient mogelijk in CHL. Veel van de faciliteiten die CKL aanbiedt kunnen direct worden toegepast.

Een "shell" voor drivers is een onderdeel van CHL. Drivers voor een aantal I veelvoorkomende protocollen (zoals DDCHP) zijn standaard beschikbaar. Blokken in de architectuur zoals de systeemmanager en machinespecialists worden uitgevoerd als workspaces. Boodschappen worden verzonden met behulp van het standaard boodschap systeem van CHL.

Doordat een aantal (operating system) details voor de programmeur verborgen blijven en omdat CH!. gebruik maakt van krachtige operatoren is het mogelijk een zeer hoge programmeerproduktiviteit te halen.

6. Slot

Door gebruik te maken van een standaard systeem architectuur voor geautomatiseerde produktiesystemen en door het gebruik van geavanceerde programmeermiddelen is het mogelijk besturingen te ontwerpen, die

in kortere tijd te ontwikkelen zijn, beter onderhoudbaar zijn,

en beter zullen werken.

7. Literatuur

(1) Barbera, A.J. and Fitzgerald, H.L. "Concepts for a real-time sensory int era c t i ve Con t ro I S ys t em Ar c hit ec t u re" , ,:.P.:ri'0;;:c;;:e;;:e:.;d:.;i:.;n:ogo:s,--,o::;f,--"t:.:h;;e_.:.F..:o:.:;u:.:r.:t:.:e:.:e;.:.n:.;t=h Southeastern Symposium on System Theory", April 1982

(2) Bourne, D.A. and Fussel, P. "Designing Programming Languages for Hanuf ac t ur ing Ce lIs" , -:T::h::e,-::-:;.R~o~b:.:o:..:t:..:i:.:c:.:s,-..:I:.:n:.:s:..:t:..:i:..:t:.:u:..:t:..:e:.J,,-~Ca=r:..:n:.:e:.cg:.;i:..:e=--..!H.::e:..:l::.:l:.:o:..:n::...~U:..:n:..:i~v:..:e:..:r:..:s::;i~t::.yu.., Pittsburgh, USA, CHU-RI-TR-82-5

(3) Bourne, D.A., Tasks", The Robotics CHU-RI-TR-82-12

"A Numberless, Tensed, Language for Institute, Carnegie Helion University,

Action Oriented Pittsburgh, USA,

[4) Fox, H.S., Allen, B.P., "ISIS: A constraint Directed Reasoning Approach to Job Shop Scheduling", The Robotica Institute, Carnegie Hellon Unlveraity, USA, CHU-RI-TII.-83-3

(29)

"vvvr J: therzlcht Yin d, Archftectwr

FI"",,. Z: Ar.ondnllJh prouuu In dt b.sturl ....

",chtnt~ Speet.HIt.

Drt" ...

1IIct.1""

C 0. bloHen Nt ",.rond. ho.bn .IJn prOUUflt •

... n,tnOfllen Is dit t.d,,., Mthln"ptcl.lht .tl .,,, driver . . t 'IJn . . cbln. (nl.t ,tt.ktM) ts .. , ... )

(30)

INLEIDING

BENADERINGEN VAN NIET LINEAIRE

ONTKOPPELINGSREGELIN.G VOOR ROBOTS

P.D. Spuiing Technische Hogeschool Delft. Afdeling der Werktuigbouwkunde. Werktuigkundige Meet- en Regeltechniek

Het besturingssystee. van een servogestuurde manipulator of robot kan denkbeeldig opgedeeld worden in verschillende hierarchische niveau's [1], waarvan het 'laagste' (het zgh. executieve niveau) de servoregeling van de afzonderlijke actuatoren bevat. Tot de hoofdtaken van de aervoregeling behoren :

de stabiliteit garanderen (in het gehele werkgebied) - goed volggedrag garanderen

- externe verstoringen onderdrukken

Het ontwerpen en i.plementeren van een dergelijke servoregeling voor robots is een ingewikkelde taak wegens de complexe standafhankelijke dynamica van aanipulatoren.

In bestaande, commercieel verkrijgbare robots ZlJn de servoregelingen uitgevoerd als conventionele continue SISO (single input single output) tegenkoppelingen. Elke actuator wordt tegengekoppeld .et zijn eigen positie-(en/of snelheids-) signaal. Het instellen van de afzonderlijke

teK~nkoppelversterkingen kan .et behulp van klassieke technieken zoals Bode

diagrammen en polaire figuren gebeuren. Bij deze ontwerpmethoden wordt dynamische interactie tussen de robotschakels beschouwd als externe

verstoring en wordt met de standafhankelijke dynamica rekening gehouden dmv. het ontwerpen in een 'worst case' situatie (vaak een stand .et .aximaal traagheidsmoaeat). Als gevolg hiervan worden de tegenkoppelversterkingen .et ruiae veiligheidsmarges ingesteld, die weliswaar de stabiliteit van het servosysteea waarborgen, .aar tot relatief lage volgprestaties en lage bandbreedtes van het geregelde systeem leiden. Aangetoond kan worden dat SISO regelingen statisch (en laagfrequent) de afzonderlijke robot-vrijheidsgraden ontkoppelen zodat voor langzame bewegingen .et lage baannauwkeurigheidseisen deze regelingen goed .voldoen. De inzichtelijkheid, eenvoud en de lage kosten zijn verantwoordelijk voor de grote populariteit die SISO regelingen genieten.

In tegenstelling hiermee wordt in de recente literatuur over

robotregelingen en besturingen [2,3,4,5] een geheel ander spoor gevolgd. Uitgaande van de niet-lineaire bewegingsvergelijkingen van een

robot.echanis.e worden niet-lineaire ontkoppelingsregelingen (NLO regeling) ontworpen, die tot doel hebben de vrijheidsgraden van de robot volledig dynamisch te ontkoppelen en de robot dynamica standonafhakelijk te maken. De 'Coaputed torque .ethod'[2], 'inverse Modelregelung'[6] en 'Feedback linearization'[7] zijn enkele gevestigde theoretische methoden als voorbeelden van NLO regelingen ontworpen voor robots.

(31)

De bovengenoemde regelingen berusten alle op vrij nauwkeurige robot modellen in de regeling, die de niet-lineariteiten en koppel termen van de robotdynamica compenseren. De complexiteit van een zodanig ontworpen regeling (enkele honderden tot duizenden rekenkundige bewerkingen op de gemeten sensorsignalen) maakt het gebruik van (zeer snelle) digitale computers voor de implementatie noodzakelijk. De grote hoeveelheid on-line rekenwerk en de daarmee verbonden kosten van zeer snelle rekenmachines vormen de grootste struikelblokken bij de praktische toepassing van NLO regelingen. In de literatuur worden aan de hand van simulatiestudies optimistische voorspellingen gedaan omtrent de werking van deze regelingen.

Voor anelle en nauwkeurige robot toepassingen zullen de SISO regelingen niet voldoen en zal men genoodzaakt zijn de bovengenoemde concepten toe te passen. Gezien de .grote real time rekenbelasting van NLO regelingen, betekent dit dat verwaarlozingen en benaderingen gedaan zullen worden ter wille van de rekentijd.

De gevolgen voor de qualiteit van het volggedrag en van de ontkoppeling van drie belangrijke soorten benaderingen van de theoretisch exacte NLO regeling worden hier kort geanalyseerd. Aan de hand van simulatiestudies op het Experimenteel Robotachtig Proces (ERP) van het Lab. voor Meet en Regeltechniek te Delft wordt de invloed van (stuksgewijs) lineariseren van de NLO regeling, verwaarlozing van parasitaire flexibiliteiten en

discretisatie van het regelsignaal getoond. Hiervoor wordt eerst in deel 2 de modelvorming en de theoretische NLO regeling samengevat. In deel 3 worden dan simulaties van de drie bovengenoemde benaderingen gepresenteerd en toegelicht. Ook worden de prestaties qua volggedrag en ontkoppeling van een conventionele SISO regeling getoond, deze dient als beoordelingsmaatstaf voor de overige simulaties. Deel 4 sluit met een samenvatting en conclusies.

MODELVORMING EN NIET-LINEAIRE ONTKOPPELING

Het Experimenteel Robotachtig Process (ERP, fig. 1) bestaat uit een balk (90 kg.) met een extra gewicht (300 kg.) bevestigd aan een uiteinde ondersteund door drie hydraulische motoren. De drie motoren zijn hydrostatisch gelagerde, symmetrische, lineaire servomotoren. Door de hydrostatische lagering is de droge (Coulomb) wrijving in de motoren volledig geelimineerd. Elke motor is uitgerust met een symmetrische 4-weg servokIep, positie-, snelheid-, en drukverschilopnemers.

(32)

Voor de .odelvorming kan het BRP opgesplitst worden in twee afzonderlijk subsystemen: de balk (het ~chanis.e) en de servomotoren (de actuatoren). Van elk deel wordt afzonderlijk de modelvorming kort toegelicht.

Het Mechanisme

Het dynamisch gedrag van het mechanisme wordt beschreven door bewegings-vergelijkingen. In de klassieke .echanica staan een aantal methoden ter beschikking om de bewegingsvergelijkingen op te stellen voor mechanismen. De methode van Lagrange en Newton-Euler zijn hiervoor bekende voorbeelden, .aar ook ~thoden gebaseerd op eindige element beschrijvingen (8) kunnen gebruikt worden. Alle .ethoden leiden tot een stelsel niet-lineaire, gekoppelde, tweede orde differentiaalvergelijkingen in de vorm

met

M(g)g + ~(g,g) + 9(g) + D(g)g + K(g) =

f

g de vector van gegeneraliseerde coordinaten

f

de vector van gegeneraliseerde krachten M de positie-afhankelijke IDBSsamatrix

( 1)

~ de functie vector van Coriolis- en centripetale versnellingen

9

de functie vector van gravitatie krachten

D de positie-afhankelijke dempingsmatrix K de positie-afhankelijke stijfheidslD8trix

Als de balk star wordt verondersteld vervallen de D en K matrices uit (1). Een zinvolle keuze voor de gegeneraliseerde coordinaten is de

motorverplaatsingen, hiermee worden de gegeneraliseerde krachten gelijk aan de krachten die de motoren op de baik uitoefenen. Het zal duidelijk z~Jn dat het meemodeleren van flexibiliteiten de dimensie van het systeem en de complexiteit van de vergelijkingen verhoogd. Voor het ontwerpen van NLO regelingen wordt daarom ook .eestal van een star .echanis.e uitgegaan. De invloed van deze verwaarlozing komt in deel 3 aan de orde.

Uit de bewegingsvergelijkingen (1) laat zich makkelijk een toestands-model voor een star systeem afleiden

( 2)

met

De Actuatoren

De modelvorming van hydraulische motoren is uitvoerig bestudeerd [9,10). Uit deze studies blijkt dat een gelineariseerd eerste orde systeem de servomotor dynamica nauwkeurig beschrijft. In figuur 2 is een principe schets van een symmetrische, lineaire motor weergegeven.

(33)

Fig. 2 Ren sy.metrische hydraulische aotor Volgens [9] geldt :

KsCO

p ~ p - Cog + KsK.COu

f

=

p - wg

aet: p het drukverschil over de zuiger _q de zuigerverplaatsing

u het klepsignaal

CO' Ch, Ks' K. hydraulische aotorparaaeters

( 3)

De aotordynamica van de drie aotoren saaen kan nu worden weergegeven in het toestande.odel (4):

~ = -~ -

og

+ R!!

f

=

S~ - Tg ( 4)

hierin zijn P Q R S en T constante diagonaal aatrices aet hydraulische paraaeters overeenka.stig (3). De twee toestands.odellen van het .echanisme (2) en van de actuatoren (4) kunnen samengevoegd worden en vor.en dan een toestandsaodel voor de robot (5).

Het bovenstaand .adel zal gebruikt worden als basis voor het ontwerp van de NLO regeling.

Niet-lineaire Ontkoppeling

Bet doel van de NLO regeling is om alle dynamische interactie tussen de afzonderlijke vrijheidsgraden van de robot te onderdrukken en a. de robotdynamica standonafhankelijk (lineair) te .aken. Voor het rObotsysteea (5) heeft de NLO regeling de volgende struktuur (zie ook fig. 3) :

(34)

( 6)

~t Y de ayat~input

F

een functievector .at niet-lineaire toestandategenkoppeliDleD

G.

een .strix van functies, de atatiache preco.peDBator

~ de nieuwe ayat...-input

Fig. 3 Structuur van de N10 regeling

Freund [4J geeft een algeaeen toepaabare ontwer~thode voor MLO

regelingen aan. Hier zal op een vereenvoudigde wijze het resultaat van Freund worden afgeleid, toegespitst op het .adel van het KRP (5). Hiervoor wordt het ayateea (5) eerat getransfon.eerd naar een vor. waarin de tijds-afgeleiden van de te ontkoppelen grootheden (hier de gegeneraliseerde coordinaten) als functies van de .eetbare toestanden uitgedrukt worden. Hiervoor wordt het ayatee..odel (5) geschreven ala :

9

= ~l = ~2

~2

=

hl(~I'~2'~3) ~3 = ~(~2'~3) + Ry

Tweevoudige differentiatie van (Sa) en substitutie van (Sb) en (5c) levert ••• ël bI ~ bI Cl bI -I !l =<>~1~2 +a~2bl +a~3b2 + M (~l)SR!! (Sa) (Sb) (5c) ( 7) Hierin zijn de argu.enten van de functies hl en b2 voor de duidelijkheid weg gelaten. De aodelvergelijking (7) wordt nu aaaengevat als ;

( 8) Hierin is f() een vector van niet-lineaire functies van de volledige toestand ~ e~ gO een .strix van functies van de positie ~l. Door de regelaar-functies I() en G() van (6) ala volgt te kiezen:

-1

I(~) = -g (~l)f(~)

-1

G(~) = g (~I)'

wordt het .adel van de robot (5) a _ .at de tegeDkoppeling (9) nu

"ii

= y'

( 9)

(35)

Dit is een systee. bestaand uit ontkoppelde, lineaire integrator-ketens. Met behulp van een additionele conatante toe.tandstegenkoppeling

(11) aet I. constante diagonaal aatricea, resulteert bet uiteindelijke ~el van de leregelde robot :

(12) Omdat K. diagonale constante aatrices zijn, is nu de dyn . . ica van de robot ontkoppelà en onafhankelijk van de positie. Met de keuze van de aatrices I. is tevens het dyn . . iscb gedrag van de robot willekeurig instelbaar. De 1 structuur van deze MLO regeling wordt weergegeven in fig. 4.

rr-o-:"~o~t----:-l---r--- ~

syr tee",

1=::Jt=::~

@ ' - - - _ - - - I

Fig. 4 Structuur van de volledige NLO regeling aet willekeurig kiesbare dyn . . ica

Voor het ERP is een toestandsregeling gekozen die elke aotor goed de.pt en een bandbreedte van 10 Hz. oplevert.

BENADERINGEN VAN DE NIET-LINEAIRE ONTIOPPBLINGSREGELING

De in deel 2 afgeleide regeling draagt ook de na.. 'inverse aodel' regeling. Dit kan verklaard worden uit het feit dat de tegenkoppeling-functies !() en G() intern het gehele (inverse) robot ~el bevatten. r.ple.entatie van deze regeling voor het ERP betekent daara. een zeer groot aantal eleaentaire rekenkundige bewerkingen op de geDeten toestands-signalen uitgevoerd aoeten worden in real-tiae. Vereenvoudigingen ter wille van de beperking van het aantal ca.puter-bewerkingen is dUB van het hoogste belang voor de praktische realisering. Twee belangrijke verwaarlozingen, die de .odel-(en regeling)ca.plexiteit beperken, zijn reeds gebeurd in de afleiding in deel 2.

Ten eert se, is bet ~el star verondersteld. Het .eeaodeleren van (parasitaire) flexibiliteiten verhoogt de diaensie van de toestandsvector !

en bet aantal bewerkingen nodig a. de regeling uit te voeren. Ten tweede, is de regeling in het continue tijdda.ein afgeleid. In werkelijkheid zal de regeling worden uitgevoerd op een digitale rekenaachine, en zullen dientengevolge de regelaarsignalen y discrete tijdsignalen zijn. Discretisatie wordt bij het ontwerp van de regeling niet in beschouwing gena.en, a.dat het discretiseren van niet-lineaire .adellen tot oneindige reeksen, en daaraee tot onhanteerbare ~ellen leidt.

Cytaty

Powiązane dokumenty

Uczymy grać w koszykówkę: taktyka, technika, metodyka nauczania koszykówki w lekcjach wychowania fi zycznego.. 1, Indywidualny i zespołowy

T = f(Ca, Re). It is convenient to distinguish between three regions of Ca- and Re-numbers for which this relationship has been estab- lished.. This is the case for very viscous

Jeśli w ogóle milczał, wilk zm ienił zapewne temat rozmowy, od­ stępując od bolesnej kwestii wypędzenia z raju i zaczął, być może, mówić coś o

Tą drogą uczestnictwo w sprawowaniu władzy coraz szerszych grup feudalnego społeczeństwa stopniowo z ewentualnego sporadycznie wystę­ pującego stanu

• zalety: duża skuteczność, płaska ch-ka przenoszenia w szerokim zakresie częstotliwości, małe wymiary, mała wrażliwość na drgania mechaniczne i obce pole magnetyczne.

Grâce à Zacharie, la mort de Jésus apparaît comme le salut de tous : soldats romains, Juifs, mais aussi témoin oculaire et futurs croyants (cf. Jn 19,35), à condition

Józef M ikołajtis —„Złoty okres k rasom ów stw a częstoch ow sk iego i rozw ój tw órczości litera ck iej”.. KATOW ICE,