Sådan programmerer du en cobot

Programlogik

Medarbejderne skal med

Programmering af en cobot er den del, som tilføjer intelligens og handling til jeres system. Når cobotten skal programmeres, er det en fordel at kende til cobottens begrænsninger, processen som skal automatiseres og den ønskede brugerinteraktion. Dette afsnit giver en grundlæggende introduktion til robotprogrammering. 

4.1

Programlogik

Et robotprogram afvikles sekventielt. Dette betyder, at robotten læser og afvikler hver linje kode i kronologisk rækkefølge. Et robotprogram giver mulighed for styring af robotbevægelser, kommunikation og data. Et eksempel et program, som benytter alle tre elementer, kan være et simpelt håndteringsprogram, som tæller antallet af emner, som cobotten har håndteret. Programmet vil flytte på cobot-armen, kommunikere med den monterede griber og opdatere en tæller på antallet af emner, som robotten har håndteret.  

Opbygning af et robotprogram instruktioner

Instruktioner:

  • Bevægelses instruktioner –> bevæg til en position
  • I/O funktioner –> tænd eller sluk for en udgang eller vent på signal på en indgang
  • Logik -> beslutninger, forgreninger og løkker. 

Program eksempel:

  1. Flyt til pos_1
  2. Åben griber
  3. Flyt til pos_2
  4. Luk griber
  5. Flyt til pos_3
  6. Åben griber
  7. Opdater tæller

Figur 14: Eksempel på robotprogram. Instruktion markeret med rød er en bevægelses instruktion. Instruktion markeret med blå er en I/O funktion. Instruktion markeret med grøn er en logik funktion.




Logikfunktioner
er gjort muligt i et robotprogram gennem variable. En variabel kan indeholde forskellige typer af værdier, som for eksempel kan være:

Type Eksempel 
Positioner Pos_i = [x,y,z,xr,yr,zr] 
Tal Foo = 22.57 
Tekststrenge Bar = ”på engelsk string” 
Boolske værdier Baz = True 

Variablerne kan man bruge til at gemme værdier, som man har udregnet eller målt. Man kan også sammenligne variabler. Dette gøres ved brug af en if-statement. Sammenligning af variable med if-statements giver mulighed for forgreninger af programflowet. En forgrening vil for eksempel være, hvis breve skal sorteres i øst eller vest fra Storebælt. Her kan man undersøge om postnummeret på brevet er lavere end 5000. Hvis postnummeret er lavere end 5000 så er det en by øst for Storebælt, og hvis ikke tilhører postnummeret en by i vest Figur 15 til venstre ses et eksempel på en forgrening/if-statement. Hvis det i parentesen er sandt, afvikler programmet sekvens 1. Ellers ville den afvikle sekvens 2. Til højre ses eksempel på et flowchart for en if-statement.

Tekst eksempel Flowchart 

  If (Baz == True) 

     Kør sekvens 1 

  Else 

     Kør sekvens 2 

 

Forgreninger kan man også bruge til at lave løkker – altså gentage en programsekvens X antal gange. Der findes mange ord for programløkker – for eksempel loop, while og for. 

Figur 16 viser et eksempel på, hvordan en programstump kan se ud. Til højre på Figur 16 ses flowchart for en programløkke. Læg mærke til at A fungerer som en if-statement, som kontrollerer om, hvorvidt programkode B skal afvikles. 

Tekst eksempel Flowchart 

While (A==True) do 

   B // sekvens B 

end 

4.2

Medarbejderne skal med

Typisk er der behov for brugerinteraktion, når en cobot er integreret i en produktion. Brugerinteraktionen kan finde sted på mange måder. Der kan kommunikeres envejs med brugere gennem et lystårn, som kan fortælle cobottens driftstatus, eller om der er behov for genopfyldning af magasiner.

Det er også muligt at interagere med cobotten gennem knapper. Envejskommunikation kan også foregå gennem knapper, hvor operatører kan kvittere for en specifik handling. Disse typer for kommunikation er typisk styret gennem et I/O-modul, som tænder og slukker for lystårnets farver eller registrerer knappetryk. 
 

En kombination af ovenstående vil give en simpel tovejskommunikation. Mange cobots giver mulighed for at stille spørgsmål til brugeren. Dette kan ske gennem pop-up-vinduer på for eksempel cobottens teach-pendant. Denne type af brugerinteraktion kan være nødvendig, hvis brugeren skal angive flere forskellige parametre.

Dette kan eksempelvis være, hvis brugeren skal angive længde, højde, bredde og styk antal på kasser i et palleteringsmønster. Når man spørger om det, er det vigtigt at tydeliggøre, hvilken enhed brugeren skal benytte, når tallene skal angives. For eksempel er længden og bredden angivet i millimeter eller meter. For at undgå at brugeren taster noget ugyldigt, kan man gøre brug af if-statements til at kontrollere, at tallet er inden for forventede grænseværdier. 
 

Tilmeld dig vores nyhedsbrev!

Gå ikke glip af spændende nyheder fra os. Vil du også gerne være opdateret på de nyeste cases i forhold til Cobot Knowledge Lab?

Synes du andre fortjener at se dette opslag?