Download - Aansturing van robots met real-time computers

Transcript
Page 1: Aansturing van robots met real-time computers

Aansturing van robots met real-time computer

Evert Boelaert

10 juni 2014

1 Inleiding

Robotica is de snelst groeiende industrie in de wereld en het is goed op weg omook de grootste industrie te worden in de komende tien jaar. De vraag naarhet gebruik van Artificile Intelligentie (AI) en gerelateerde technologieen op dewerkvloer stijgt elk jaar. Het industrieel landschap is hierdoor reeds sterk ve-randerd de voorbije jaren en deze trend zal zich alleen maar doorzetten.[7]

De nood aan de uitvinding van robots is verrezen uit de beperkingen waartegenwij als mensen botsen wanneer gevaarlijke taken uitgevoerd moeten worden.Als voorbeeld nemen we arbeiders aan een lopende band in een fabriek. In dezesituatie worden mensen vervangen door robots omdat deze goedkoop zijn enzeer consistent nauwkeurig en kwalitatief werk leveren. Daarenboven hoeft dewerkgever zich minder zorgen te maken om de veiligheid van de werknemer.

Figure 1: Robot-armen in een auto-assemblage lijn

1

Page 2: Aansturing van robots met real-time computers

Wat als een toepassing nu een controle systeem op tijdsbasis nodig heeft? Eenvoorbeeld zijn industriele controle systemen. Gebruikers moeten exacte feed-back en ogenblikkelijke feedback krijgen over de staat van een industrieel pro-ces. Indien deze feedback te laat komt, kan een gevaarlijke situatie ontstaanen mogelijk een ramp[2]. Een bekend voorbeeld waarbij een absolute deadlinewordt opgelegd aan de feedback van data door een controlesysteem is een nu-cleaire reactor. Nucleaire staven uit de reactor worden verplaatst aan de handvan robotica gestuurde armen. Indien er een onregelmatigheid ontstaat, moetdit onmiddellijk doorgestuurd worden naar het controlecenter. Data die in zo´nsituatie te laat wordt afgeleverd resulteert hier bijna zeker in een ramp vanaanzienlijk formaat. Hier komt het real-time aspect in beeld.

In deze paper bekijken we eerst het real-time element. We zoeken naar eengeschikte definitie voor het algemene begrip waarna we inzoomen op de ver-schillende onderverdelingen binnen dit domein. Deze onderdelen bestuderen wenader om te onderzoeken waarin ze van elkaar verschillen en in welke toepassin-gen ze terug te vinden zijn. Als tweede element bekijken we wat een real-time operating system (RTOS) is, uit welke onderdelen het bestaat en in welketoepassingen een RTOS gebruikt wordt.

In de tweede tak van ons onderzoek, robotica, bekijken we hoe robots typ-isch worden ingezet in de industrie en uit welke onderdelen ze bestaan[1].

Als laatste tak van ons onderzoek voegen we alle gegevens samen. We gaan nahoe het real-time aspect past binnen het robotica domein en in welke toepassin-gen en domeinen deze fusie gebruikt wordt.

In het besluit bekijken we de resultaten van het onderzoek en vatten we debelangrijkste punten van deze paper samen.

Als leidraad in ons onderzoek gebruiken we volgende onderzoeksvragen:

• Welk soort real-time systeem wordt het meest gebruikt en wat zijn devoordelen? De focus ligt hier op het toepassingsgebied van robotica.

• In welke aspecten van robotica zijn real-time systemen vooral van belang?

• Welke protocollen of technieken kunnen er gebruikt worden om de com-municatie zo vlot mogelijk te laten verlopen tussen de real-time computeren de robot?

• In welke mate kan een robot autonoom zijn taak volbrengen, wat zijn demogelijkheden en over welke elementen moet hij dan beschikken.

• In welke toepassingsgebieden wordt Real-Time robotica gebruikt?

2

Page 3: Aansturing van robots met real-time computers

• Uit welke elementen bestaat een Real-Time Operating Systeem (RTOS)met toepassing in de robotica, en welke eisen worden opgelegd aan dezeelementen?

• Welke eisen worden opgelegd aan real-time besturingssystemen om in dereal-time robotica gebruikt te kunnen worden en welke besturingssystemenkomen hiervoor in aanmerking?

2 Real-time

2.1 Definitie

Om te begrijpen wat real-time is, wat het niet is, en waarom het nuttig is, latenwe beginnen met een basis definitie van een real-time systeem, zoals gedefinieerdin het boek Real-Time Systems: Design Principles for Distributed Embedded Ap-plications [6]:

Een real - time systeem is een systeem waarin de juistheid van de resultatenniet alleen afhankelijk is van de logische juistheid van de berekening, maar ookvan het tijdstip waarop het resultaat wordt geproduceerd. Als aan de eisen van

het systeem omtrent timing niet kan worden voldaan, wordt gezegd dat eenfalen van het systeem heeft plaatsgevonden.”

Real-time is een eigenschap van systemen waarbij de tijd letterlijk de essentieis. In een real-time systeem is de waarde van een berekening afhankelijk vaneen tijdig antwoord. Bijvoorbeeld; een berekening die te laat voltooid wordt isreeds gedaald in waarde, of heeft zelfs geen enkele waarde meer. Omgekeerd, eenberekening die te vroeg afgerond is, voegt geen extra waarde toe. Real-time isdus altijd een kwestie van gradatie, aangezien zelfs batch computing- systemeneen real-time aspect hebben. Niemand wil bijvoorbeeld hun loon twee weken telaat gestort krijgen.

De problemen omtrent real-time uitvoering van taken in een systeem ontstaanwanneer veel activiteiten op hetzelfde ogenblik de middelen van een systeemnodig hebben[11]. Dit is feitelijk het punt waar we starten om de real-timeeigenschap toe te kennen aan besturingssystemen. Bij de uitvoering van elkreal-time systeem zal een cruciale stap in het proces dus de de bepaling van eenschema zijn dat toelaat om alle activiteiten tijdig uit te voeren.

Elk real- time systeem zal uit verschillende soorten activiteiten bestaan: ge-plande activiteiten, niet-geplande activiteiten (bijvoorbeeld onderdelen van hetbesturingssysteem en interrupt handlers) en niet real-time activiteiten. Als nietgeplande taken voorrang krijgen op geplande taken kan dit het vermogen vanhet systeem aantasten om taken op tijd af te krijgen.[4]

3

Page 4: Aansturing van robots met real-time computers

2.2 Soft en hard real-time

Vaak wordt een onderscheid gemaakt tussen hard en soft real-time. Een hardreal-time eis wilt zeggen dat een berekening geen waarde heeft als deze te laatis en dat de effecten van een late berekening katastrofisch kunnen zijn. Simpelgezegd, een hard real-time systeem is er een waar alle activiteiten op tijd moetenworden afgerond . Een flight control systeem is een goed voorbeeld .

Figure 2: Hard real-time versus soft real-time

Aan de andere kant is soft real-time een eigenschap van de tijdigheid van eenberekening waarbij de waarde vermindert volgens zijn traagheid. Een soft real-time systeem kan late antwoorden op real-time berekeningen tolereren, zolangde waarde niet is afgenomen tot nul. Termijnen kunnen worden gemist, maarhet aantal en de frequentie van dergelijke missers moeten doorgaans voldoenaan de Quality of Service (QoS) metrics.

Vaak is soft real time ten onrechte toegepast op besturingssystemen die nietkunnen garanderen dat berekeningen op tijd worden afgerond. Dergelijke bes-turingssystemen zijn best te omschrijven als quasi real-time of pseudo real-timebesturingssystemen in het feit dat ze real-time activiteiten uitvoeren in plaatsvan anderen wanneer dat nodig is, maar waar niet voldoende rekening wordtgehouden met niet geplande activiteiten in het systeem. Soft real-time moetechter niet worden verward met niet real-time toepassingen.

Een volledig overzicht van de verschillen tussen de twee types real-time kangezien worden in onderstaande tabel.

4

Page 5: Aansturing van robots met real-time computers

Figure 3: Hard real-time versus soft real-time

2.3 Periodiciteit

De onderverdeling in het real-time domein kan buiten de twee globale cate-gorieen uit de vorige paragraaf, uitgebreid worden met volgende termen: peri-odisch, niet-periodisch en sporadisch [5].

• Periodische taken worden uitgevoerd op regelmatige tijdsintervallen. Dezetaken kunnen dus geanticipeerd worden omdat ze telkens voorkomen ofterugkeren op een vast tijdstip T. Periodische taken zijn meestal gelinktaan hard real-time deadlines.

• Niet-periodische taken kunnen niet geanticipeerd worden door het bestur-ingssysteem omdat hun tijdstip van uitvoering wordt bepaald door hetvoorkomen van een inwendige of uitwendige trigger. Een voorbeeld hi-ervan zijn interrupt events die kunnen voorkomen in een microcontrolleromgeving.

• Sporadische taken zijn niet-periodische taken waaraan hard real-time dead-lines zijn toegekend. Voorbeelden hiervan zijn systeemfouten of reactiesop events met hoge prioriteit.

2.4 Verdere classificaties

Er bestaan nog verdere onderverdelingen binnen het real-time domein. Demeeste systemen worden hierin geclassificeerd op basis van de toepassing waar-voor het systeem gebruikt zal worden. In deze paper heb ik enkel die on-derverdelingen besproken die het meeste ter sprake komen bij gebruik in hetrobotica domein. Voor een volledig overzicht van de bestaande verdelingen ver-wijs ik naar het boek Real-Time Systems: Design Principles for DistributedEmbedded Applications door Hermann Kopetz [6] meer bepaald paragraaf 1.5:Classication of Real-Time Systems.

5

Page 6: Aansturing van robots met real-time computers

2.5 RTOS

Bij het ontwerp van bijvoorbeeld een industrieel controle systeem of medischeinstrumenten zullen de meeste ingenieurs het eens zijn dat een Real-Time Op-erating System (RTOS) noodzakelijk is. De tijdsfactor die eigen is aan dezetoepassingen vormt een zeer belangrijk onderdeel en is niet zomaar een uitbrei-ding ervan.

Het is dus belangrijk om te begrijpen waarom RTOS-functionaliteit niet alleenvoordelig maar ook noodzakelijk kan zijn voor vele embedded systemen. Neemals voorbeeld een systeem waarbij de gebruiker onmiddellijke feedback vereist.Door gebruik van een RTOS kan de ontwikkelaar garanderen dat feedback altijdzal gegeven worden op het juiste ogenblik, zelfs al handelt het systeem op datmoment andere intensieve activiteiten af. De gebruiker wordt dus nooit in hetdonker gelaten of het systeem al dan niet een commando heeft herkend (zoalseen druk op een knop of een stem commando).

In een notendop kunnen we stellen dat een RTOS ontwikkelaars toelaat te con-troleren hoe lang een systeem nodig zal hebben om een taak uit te voeren.Deadlines kunnen dus opgevolgd worden met voorspelbare en consistente tijd-slijnen, zelfs als het systeem zwaar belast wordt.

2.5.1 Definitie

De voornaamste verantwoordelijkheid van een real-time besturingssysteem (RTOS)is het produceren van correcte resultaten volgens een set van vooraf gedefinieerdedeadlines [5]. Zowel de resultaten zelf als de tijd waarin deze resultaten gepro-duceerd worden spelen binnen een RTOS dus een belangrijke rol.

Een universeel aanvaarde definitie van een RTOS bestaat niet. We kunnenechter een vrij volledige definitie opbouwen aan de hand van real-time eigen-schappen die we toetsen aan enkele standaard praktijken in de industrie: eenRTOS moet garanderen dat een haalbaar, vooropgesteld uitvoeringsschema kanuitgevoerd worden mits het over voldoende rekenkracht bezit en indien weuitwendige factoren niet meerekenen. Externe factoren, in dit geval, zijn ap-paraten die interrupts en onderbrekingen kunnen genereren. Dit houdt ooknetwerkapparatuur in dat interrupts kan oproepen als reactie op trafiek in hetnetwerk.

Met andere woorden als een systeem ingenieur de omgevingsvariabelen bestuurt,zal het RTOS niet de schuld kunnen zijn van te laat uitgevoerde bewerkingen.Om aan zulke strenge eisen te voldoen moet een RTOS aan bepaalde voorwaar-den voldoen [4]:

1. Taken met een hogere prioriteit worden altijd eerst uitgevoerd en krijgenvoorrang op taken met een lagere prioriteit (zie figuur).

6

Page 7: Aansturing van robots met real-time computers

2. Het aantal prioriteit inversies, waarbij taken met een hogere prioriteitnood hebben aan de uitkomst van een taak met een lagere prioriteit, isbegrensd.

3. Niet-planbare activiteiten, zowel niet real-time activiteiten als activiteitenvan het besturingssysteem mogen niet een voorbepaalde maximum ca-paciteit overschrijden.

Figure 4: Prioriteit van taken in een RTOS[4]

2.5.2 Structuur

De componenten waaruit een RTOS moet bestaan om geschikt te zijn vooreen verscheidenheid aan toepassingen zijn vaak onderhevig aan enige discussie.Zoals bij alle besturingssystemen is de manier waarop de kern wordt opgebouwdvaak het moeilijkst te bepalen. Verschillende toepassingen vereisen een verschil-lende aanpak en het is geen eenvoudige taak om je RTOS de correcte wapens tegeven om zich uit te strijd te trekken in elke situatie.

Een eenvoudig, maar compleet functioneel blokschema voor een RTOS is tezien in de onderstaande figuur. Alle noodzakelijke onderdelen van een RTOSzijn hierop aangeduid. Het belangrijkste onderdeel is de microkernel. Dit is dekern van het systeem en dit is wat het systeem real-time maakt. Hier wordendus volgens strikt te hanteren tijdschemas beslissingen genomen en de signalenuitgestuurd via de communicatie-bus naar de applicatie. Deze communicatie-bus is de verbindingsbrug tussen de applicaties en de microkernel. Dit element

7

Page 8: Aansturing van robots met real-time computers

is na de microkernel ook een van de belangrijkste elementen en vooral omdatmeestal hier de bottleneck van het systeem zich bevindt. Verder vinden we nogdrivers terug voor elk belangrijk onderdeel waar een RTOS tegenwoordig meemoet communiceren: het netwerk, het bestandssysteem en de grafische interface.

Figure 5: Opbouw van een RTOS[4]

3 Robotica

3.1 Onderdelen van een robot

De focus van real-time computing ligt meestal bij de industriele robots, waar kri-tieke op tijd gebaseerde taken het meeste van toepassing zijn. Zoals geıllustreerdin de onderstaande figuur worden deze industriele robots veelal gebouwd vol-gens het model van een geınverteerde menselijke arm die vastgezet wordt op eenbeweegbare basis. Alle onderdelen van de robot werken samen om een vloeiendebeweging tot resultaat te krijgen: de controller, de manipulator, een eindeffectorof einduitvoerder, een voeding en een programmeeromgeving.

3.1.1 Controller

De controller is het deel van de robot dat alle bewegingen van de mechanischedelen coordineert. Het ontvangt ook rechtstreeks signalen van de onmiddellijkeomgeving door middel van verscheidene sensoren. Het hart van de controller isdoorgaans een microprocessor die gelinkt is aan alle input/output en monitoringapparaten. De commando´s die door de controller worden uitgestuurd activ-eren het bewegingsmechanisme, dat bestaat uit allerlei controllers, versterkers

8

Page 9: Aansturing van robots met real-time computers

en actuatoren. De actuator is in dit geval een motor of klep van de robot die ver-mogen (vanuit de voeding) omzet in beweging van de robot. Deze bewegingenworden geınitieerd door een reeks instructies (als onderdeel van een groter pro-gramma of als een programma op zich) die opgeslagen worden in het geheugenvan de controller.

De controller werkt op basis van drie niveaus van hierarchische controle. Dezehierarchische controle is nodig om de controllers binnenin het robotica system inte delen op een logische manier. Zo kan de processor van de controller efficientomgaan met de signalen die hij binnenkrijgt van andere delen van het systeem.Elk niveau zendt controle signalen naar het niveau eronder en zendt feedbacksignalen naar het niveau erboven. Elk niveau is dus afhankelijk van het niveauerboven voor verdere instructie. De drie controle niveaus zijn:

• Niveau 1: Actuator controle

• Niveau 2: Pad controle

• Niveau 3: Hoofdcontrole

Figure 6: Controle niveaus[9]

Voor verdere diepgang omtrent deze niveaus verwijs ik naar hoofdstuk 2 Fun-damentals of Robotics uit het boek Robotics: Theory and Industrial Application,2nd Edition[9].

9

Page 10: Aansturing van robots met real-time computers

3.1.2 Manipulator

De manipulator bestaat uit verschillende segmenten die onderling verbonden zijnen apart kunnen bewegen. Zo beschikt de robot over een groot bewegingsveld.In deze bespreking beschouwen de arm van de robot als zijn manipulator. Diearm gebruikt de robot om onderdelen, materialen, gereedschap, of speciale ap-paraten te verplaatsen in bepaalde bewegingspatronen die de robot dan toelatenwerkt te verrichten. Zoals eerder aangehaald gebruiken we de term robotarm.De vergelijking met een menselijke arm is dan ook niet ver te zoeken. De manip-ulator bestaat eveneens uit gewrichten die twee segmenten met elkaar verbinden.Deze gewrichten zorgen voor een lineaire of circulaire beweging (rotatie). Despieren van de mens zorgen voor de drijvende kracht achter de beweging van debotten en gewrichten. Op een soortgelijke manier zorgen de actuatoren voor dekracht die nodig is om de segmenten en gewrichten te bewegen. Deze actuatorenbegeleiden de robot volgens een voorgeprogrammeerd pad en houden de robotarm compleet stil wanneer een gewenste positie is bereikt.

Figure 7: Bewegingsmogelijkheden van een robotarm[9]

10

Page 11: Aansturing van robots met real-time computers

3.1.3 Eindeffector

De eindeffector, einduitvoerder of uitvoeringsmechanisme is de hand van derobot. Het is een apparaat dat aan de pols van de robot hangt en heeft alsdoel het grijpen, opheffen, transporteren, manoeuvreren of het bewerken vanmaterialen. Qua vorm hangt deze hand dus sterk af van de toepassing waarvoorde robot wordt gebruikt. Het is een van de belangrijkste onderdelen van de roboten hier in het ontwerpproces meestal veel tijd aan besteed om dit element goeden consistent te laten functioneren. De kwaliteit van het werk dat de robotuitvoert is namelijk een rechtstreeks gevolg van de kwaliteit van de eindeffector.

3.1.4 Voeding

De voeding levert de nodige energie om de controller en actuatoren aan te sturen.Het heeft als functie om de AC energie van het stroomnet om te zetten in degepaste DC energie die de robot vraagt om zijn interne circuits te voeden. Devoeding kan echter ook voorkomen in de vorm van een pomp of compressordie hydraulische of pneumatische kracht aanbiedt. Daarmee hebben we meteende drie basistypes opgenoemd waarin we voedingen kunnen indelen: elektrisch,hydraulisch en pneumatisch. De meest voorkomende voedingen voor industrilerobots zijn elektrisch.

3.1.5 Programmatie

De programmeeromgeving wordt gebruikt om bepaalde bewegingspatronen in teladen en op te slaan in het geheugen van de robot. Een robot kan een of meerderekeren geprogrammeerd worden aan de hand van verschillende methoden. Eenrobot kan ook bestuurd worden door een handbediend toestel dat de gebruikertoelaat de robot direct te controleren.

4 Real-time Robotica

4.1 Toepassingen

4.1.1 Auto-industrie

En van de grootste industrieen op het vlak van real-time robotica wereldwijd,is de auto-industrie[8]. In het eerste deel van deze paper hebben we reedsde reden hiervoor aangehaald. Ten opzichte van een gewone werknemer be-taalt de werkgever een hogere initiele kost, maar de robot biedt zeer grote vo-ordelen zowel op korte als lange termijn. De robot kan met een veel groterenauwkeurigheid het werk verrichten, werkt sneller dan een mens, en een ongevalop de werkvloer heeft geen menselijk leed tot gevolg.

11

Page 12: Aansturing van robots met real-time computers

4.1.2 Ruimtevaart

De ruimtevaartindustrie is een tweede grote industrie waarin we real-time robot-ica terugvinden[10]. Om in de ruimte metingen te kunnen uitvoeren op, voorde mens, moeilijk toegankelijke plaatsen kan een real-time robot perfect wordeningezet om informatie te verzamelen en de resultaten meteen terug te sturennaar het controlecentrum op aarde. Een zeer bekend voorbeeld hiervan zijn deMars Exploration Rovers. Dit zijn twee onbemande ruimtevaartuigen die in juni2003 door NASA naar Mars zijn gestuurd en daar in januari 2004 landden.

4.1.3 Chirurgie

Een laatste toepassingsgebied dat we als voorbeeld nemen is de chirurgie[3].De redenen dat robots hier steeds meer aan populariteit winnen zijn opnieuwnauwkeurigheid, veiligheid maar ook stabiliteit. Een chirurg onder stress hoeftzich geen zorgen te maken over zijn handen die trillen of zijn zicht dat belemmerdwordt door instrumenten of organen. Door middel van zeer stabiele actuatorenen segmenten in de arm van de robot, kan de robot met veel grotere precisiedan de chirurg te werk gaan. Bovendien kan door middel van een camera dechirurg op bepaalde plaatsen kijken waar men anders geen zicht op zou hebben.

5 Besluit

In deze paper hebben we verscheidene aspecten van het real-time roboticadomein onderzocht. We hebben ons onderzoek opgesplitst in twee delen; real-time en robotica.

Allereerst hebben we het real-time aspect onder de loep genomen. We hebbengeleerd dat de indeling van het real-time domein wordt gemaakt op basis vande deadlines die gehaald moeten worden. De meest gebruikte toepassing vanreal-time in computersystemen is een RTOS. Dit real-time besturingssysteemkan zelfstandig werken maar wordt meestal ingebouwd als module binnen eenreal-time toepassing (zoals een robot). Hierbij het RTOS vaak de kern van detoepassing.

Als tweede luik hebben we het robotica domein bekeken. We hebben de on-derdelen van een robot besproken, van controller tot programmatie, en gekekenwaar het real-time aspect hier ingebouwd wordt.

Na deze twee domeinen nader te hebben bekeken, zien we het verband tussen detwee onderlinge aspecten. Naar analogie met een computersysteem besluiten wedat het robotica gedeelte de rol speelt van de hardware, die bediend en gecon-troleerd wordt door de software of het real-time gedeelte.

Tot slot hebben we gekeken naar enkele toepassingen. Hieruit kunnen we

12

Page 13: Aansturing van robots met real-time computers

besluiten dat real-time robotica reeds een belangrijke rol speelt in vele indus-trieen wereldwijd. Naar de toekomst toe ziet het er dan ook naar uit dat real-time robotica zich steeds meer zal ontwikkelen naar een volwaardige industrieen een nog grotere rol zal opnemen binnen vele toepassingen.

6 Summary

This paper looks at the aspects and technology of robotics controlled by someform of real-time computing. First we look at both elements apart from eachother as we go into details about what defines each of these elements. After thiswe put the two components together and try to see what makes this cooperationsuccessful.

In the first part of the paper we look at the real-time element. We searchfor a valid definition for the general concept and we zoom in on the differentsubdivisions inside the real-time domain. For each of these subdivisions we takea closer look to see what separates them from each other and we try to find outin what way they contribute to the global picture. As a second element in ourresearch, we look at real-time operating systems (RTOS). The goal is here to findout of which parts it consists and in which industrial applications we can find it.

Next, we investigate the domain of robotics. Defining the context of this do-main, looking at the industrial applications and determining the parts of whicha robot consists are among a few of our research targets.

Finally, in the last branch of our research we throw all data together. Welook at how the real-time aspect fits within the field of robotics and in whichapplications and domains this fusion can best be used.

In the conclusion we look at the results of our research and we summarizethe most important points of this paper.

To aid in our research we use a set of predefined research questions to helpguide us in our quest for information:

• What kind of real-time system is most used and what are the advantages?The focus is here on the field of applied robotics.

• In what aspects of robotics are real-time systems most important?

• Which protocols or techniques can be used to make the communicationbetween the real-time computer and a robot as smooth as possible?

• To what extent can a robot complete its tasks autonomous? What are thepossibilities and what components are required to make this happen?

• In which fields is real-time robotics used?

13

Page 14: Aansturing van robots met real-time computers

• Of which elements or components must a Real-Time Operating Systemconsist? Which demands are laid upon these components? The focus ishere on the field of applied robotics.

• Which demands concerning quality does an RTOS have to meet to be eli-gible for use in real-time robotics en which operating systems are qualifiedfor this?

The answers to these questions will shape the form of this paper.

References

[1] Grazia Cicirelli Annalisa Milella, Donato Di Paola. Mechatronic SystemsApplications. InTech, 1 edition, 3 2010.

[2] Giorgio Buttazzo. HARD REAL-TIME COMPUTING SYSTEMS, vol-ume 24 of Real-Time Systems Series. Springer, 3 edition, 2011.

[3] Glauser D., Flury P., Villotte N., and Burckhardt C. W. Conceptionof a robot dedicated to neurosurgical operations. In Advanced Robotics,1991. ’Robots in Unstructured Environments’, 91 ICAR., Fifth Interna-tional Conference on, pages 899–904 vol.1, June 1991.

[4] Steve Furr. What is real time and why do i need it? Military EmbeddedSystems Resource Guide, 4 2008.

[5] Juhani Heilala. Open Real-time Robotics Control - PC Hardware, Win-dows/VxWorks Operating Systems and Communication. PhD thesis, VTTManufacturing Technology, P.O.Box 1702, FIN-02044 VTT, Finland, 2001.

[6] Hermann Kopetz. Real-Time Systems: Design Principles for DistributedEmbedded Applications. Real-Time Systems Series. Springer, second editionedition, 2011.

[7] Garry Mathiason, John Cerilli, Van Allyn Goodwin, Phil Gordon, PaulKennedy, Theodora Lee, Michael Lotito, Kerry Notestine, Natalie Pierce,Eugene Ryu, Ilyse Schuman, Paul Weiner, William Hays Weissman, RobertWolff, Jillian Ballard, Greg Brown, Danielle Fuschetti, Tessa Gelbman,Joon Hwang, Catherine Losey, Brian Morris, Miranda Mossavar, NimaRahimi, Sarah Ross, Jeff Seidle, Lauren Woon, Aida Wondwessen, andEthan G. Zelizer. The transformation of the workplace through robotics,artificial intelligence, and automation: Employment and labor law issues,solutions, and the legislative and regulatory response. The Littler Report,2 2014.

14

Page 15: Aansturing van robots met real-time computers

[8] Paul G. Ranky. A method for planning industrial robot networks for au-tomotive welding and assembly lines. Industrial Robot: An InternationalJournal, 29(6):530 – 537, 2002.

[9] Larry T. Ross, Stephen W. Fardo, James W. Masterson, and Robert L.Towers. Robotics: Theory and Industrial Applications. Goodheart-Willcox,second edition edition, 2010.

[10] George R. Schmidt, Geoffrey A. Landis, and Steven R. Oleson. Humanexploration using real-time robotic operations (herro): A space explorationstrategy for the 21st century. Acta Astronautica, 80:105 – 113, 2012.

[11] Kang G. Shin and Parameswaran Ramanathan. Real-time computing: Anew discipline of computer science and engineering. In Proceedings of theIEEE, volume 82, 1 1994.

15