Postprocessors vormen de brug tussen de offline programmeersoftware en uw robot.
Als u de juiste postprocessor kiest, werkt uw programma out-of-the-box – de echte robot beweegt precies zoals in de simulatie. Als u echter de verkeerde postprocessor kiest, staat u voor een moeilijke tijd: de robot kan onregelmatig bewegen, hij kan in de verkeerde richting bewegen of hij kan helemaal niet bewegen.
RoboDK biedt veel verschillende postprocessors om uit te kiezen. Het is de moeite waard om vertrouwd te raken met hoe post-processors werken, hoe u de juiste kiest en hoe u uw eigen post-processor kunt aanpassen of maken als de meegeleverde niet helemaal geschikt voor u zijn.
Dit artikel vertelt je alles wat je moet weten over robot-postprocessors in RoboDK.
Wat is een postprocessor?
De meeste robotprogramma’s bevatten dezelfde basiscommando’s, die keer op keer worden gebruikt. De drie meest voorkomende zijn:
- Verplaats gewricht — Dit verplaatst de robot naar een punt in de ruimte door de robotgewrichten zo snel mogelijk naar de gewenste positie te sturen, wat handig is bij het bewegen door de vrije ruimte.
- Lineair verplaatsen — Dit verplaatst de robot van de huidige positie naar een punt in de ruimte door een precieze lijn te volgen, wat handig is bij het verplaatsen om een object op te pakken, te schilderen, enz.
- Snelheid instellen — Dit bepaalt de snelheid van de eindeffector en/of gewrichten van de robot.
Offline programmeersoftware maakt programma’s met behulp van een algemene versie van deze (en andere) commando’s die op elke robot van toepassing kunnen zijn.
Robots spreken verschillende talen
Het probleem is dat elke fabrikant een andere manier heeft om commando’s in hun robots te programmeren. Veel fabrikanten hebben hun eigen aangepaste programmeertaal en sommige gebruiken zelfs iets andere commando’s voor verschillende versies van hun controllers.
Hier is bijvoorbeeld hoe de drie commando’s die ik hierboven heb genoemd, worden uitgedrukt voor verschillende robotcontrollers. Tussen haakjes heb ik ook het minimale aantal parameters en waarden weergegeven dat nodig is om een 6DoF-robot te besturen:
Robot | Gezamenlijke verhuizing | Lineaire beweging | Snelheid instellen | Pad afronding |
ABB IRC5 | BewegenJ (4) | BewegenL (4) | snelheidsgegevens(4) | zonegegevens(4) |
Fanuc RJ3 | J (2) | L (2) | snelheid (1) | CNT (1) |
Kawasaki | JMOVE (1) | LMOVE (1) | SNELHEID (1) | NAUWKEURIGHEID (1) |
KUKA KRC | PTP (1) | LIN/SPL (1) | $VEL.CP (1) | $APO.CDIS (1) |
Motoman JBI | MOVJ (2) | MOVL (2) | VJ/V (1) | PL (1) |
Universele robots | verhuizing (1) | bewegen/verplaatsen (1) | v(1) | r (1) |
Zoals je kunt zien, is elk commando vergelijkbaar tussen elk robottype. Er is echter een verschil in de formulering en in de hoeveelheid informatie die nodig is om elke instructie te definiëren.
Zonder offline programmeren en postprocessors zou je elke keer dat je een nieuw type robot programmeert een geheel nieuwe programmeertaal moeten leren. Dit vertraagt het programmeren van robots aanzienlijk.
Postprocessors maken het gemakkelijk
Postprocessors werken door de commando’s te vertalen naar een specifiek programma voor uw robotmodel.
Met RoboDK hoeft u geen programmeertaal te leren om uw robot in beweging te krijgen. De geleverde postprocessors zijn meestal voldoende om bruikbare, bugvrije code te genereren voor meer dan 30 robotmerken.
De postprocessor genereert ook alle benodigde initiatiecode en variabeledefinities, die vaak lastig te definiëren zijn in reguliere op tekst gebaseerde programmering.
5 stappen voor het kiezen van de perfecte postprocessor
RoboDK wordt geleverd met meer dan 40 postprocessors. U moet de juiste postprocessor kiezen voor uw robotcontroller.
Hoe kies je tussen hen?
Als je een van de robots uit onze Robotbibliotheek hebt gebruikt, zul je merken dat er al standaard één postprocessor is geselecteerd. Vaak wordt ervan uitgegaan dat u de nieuwste (of standaard) controller voor die robot gebruikt. Het kan echter zijn dat u een andere moet selecteren als de standaardpost niet voldoet aan de behoeften van uw toepassing of configuratie.
1. Kies de postprocessor voor uw robotmerk
Meestal is het het beste om eerst de standaard of meest elementaire postprocessor te proberen.
Sommige robotmerken hebben standaard slechts één optie in RoboDK, bijv. Mecademic, Kawasaki, CLOOS, enz. In dit geval is uw keuze heel eenvoudig.
2. Kies de postprocessor voor uw controller
Sommige robotmerken hebben verschillende postprocessors voor verschillende controllers of versies van hun programmeertaal. Denso heeft bijvoorbeeld één postprocessor voor zijn oudere RC7-controllers en één voor zijn nieuwere RC8-controllers, aangezien tussen deze modellen ze overgingen van programmeren in de PAC-programmeertaal naar programmeren in PacScript.
Gebruik de postprocessor voor uw specifieke controller, indien beschikbaar. Als er geen optie is voor uw specifieke controller, probeer dan degene die het dichtst bij het versienummer van uw controller ligt.
3. Kies de postprocessor voor uw toepassing
Sommige robotmerken hebben nogal wat verschillende postprocessors. KUKA heeft er 10!
Sommige van de extra postprocessors zijn voor specifieke toepassingen of instellingen. Er zijn bijvoorbeeld 5 postprocessors voor de KUKA KRC2-controller. Twee daarvan zijn voor toepassingen met hun CamRob-frees-add-on of KUKA CNC-besturing, waarmee duizenden regels code in één programmabestand kunnen worden opgeslagen (geschikt voor robotbewerking). De ene is specifiek voor booglastoepassingen. Evenzo is er een UR-postprocessor die Robotiq-grijpers integreert.
Als er een postprocessor voor uw controller is die geschikt is voor uw specifieke toepassing of opstelling, gebruik die dan. Als er echter geen is voor uw toepassing, gebruikt u gewoon de basispostprocessor voor uw merk en controller.
4. Kies de postprocessor die u eenvoudig kunt bijwerken
Soms is het door RoboDK gegenereerde programma niet helemaal geschikt voor uw toepassing. Misschien wilt u extra regels code toevoegen om de functionaliteit uit te breiden. Dit is heel eenvoudig te doen als u een beetje bekend bent met de programmeertaal van uw robot.
Een paar van de postprocessors zijn voorzien om het gemakkelijker te maken om de gegenereerde code te wijzigen en bij te werken.
De KUKA KRC2 heeft bijvoorbeeld opties die een DAT-bestand genereren. Dit is een interessant kenmerk van de KUKA-besturing. In deze configuratie worden posities opgeslagen als variabelen in een apart DAT-bestand, wat het soms gemakkelijker kan maken om de code bij te werken, aangezien u alleen de variabelen hoeft te wijzigen om de posities te wijzigen.
Evenzo zijn er twee Siemens Sinumerik-postprocessors: een waar de posities in millimeters worden weergegeven en de andere waar ze in inches worden weergegeven.
Kies de postprocessor die het u zo gemakkelijk mogelijk maakt om de robotcode bij te werken, mocht dat nodig zijn.
5. Maak of pas een postprocessor aan
In sommige omstandigheden moet u mogelijk uw eigen postprocessor schrijven, bijvoorbeeld wanneer u uw robot in een unieke configuratie gebruikt.
Misschien wilt u ook een bestaande postprocessor aanpassen aan uw specifieke opstelling of toepassing.
Het is heel eenvoudig om aangepaste postprocessors in RoboDK te schrijven, aangezien het allemaal Python-programma’s zijn en in een vergelijkbaar formaat zijn geschreven.