Aansturing van robots met real-time computers

Click here to load reader

  • date post

    10-Dec-2015
  • Category

    Documents

  • view

    213
  • download

    1

Embed Size (px)

description

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 technologie ̈en 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.

Transcript of 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

  • 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 zonsituatie 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

  • 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

  • 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

  • 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

  • 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 her