Singulariteitsproblemen zijn een echte plaag voor robotlassen. Hier zijn 5 tips om ze te vermijden en elke keer een geweldige las te garanderen.
Stel je voor dat je een robot gebruikt om een lijn te lassen met een booglasapparaat. Het werkstuk is groot en de laslijn is bijna net zo lang als de gehele bereikbare werkruimte van de robot. Je programmeert het start- en eindpunt in de robot. Vervolgens instrueert u het om een rechte lijn tussen die twee punten te lassen.
Je drukt op start op het robotprogramma. De robot gaat naar de startpositie. Het lasapparaat ontsteekt. De robot begint langs de lijn te lassen.
In eerste instantie lijkt alles goed te gaan. De robot volgt een perfect rechte lijn langs de rand van het werkstuk.
Maar dan, midden in de rij, gaat het mis. De robot vertraagt plotseling, bijna tot stilstand. Een van de verbindingen draait rond 180 graden terwijl de punt van het lasgereedschap statisch blijft.
Eronder verzamelt zich een grote plas las. Vervolgens begint de robot weer te bewegen en vervolgt de lijn.
Het werkstuk is kapot. Het blijft achter met een lelijke klodder las in het midden van de lijn.
Wat is er gebeurd? Het ging allemaal zo goed!
De boosdoener was… een singulariteit.
Singulariteiten zijn vervelend voor robotprogrammeurs. Hier zijn 5 tips om ze te vermijden bij robotlassen.
Tip 1: Leer de grondbeginselen van robot-singulariteiten
De definitie van een singulariteit – in wiskundige termen – is dat een vergelijking “naar oneindig neigt”. Als we te maken hebben met fysieke systemen (wat robots zijn), betekent dit dat de wiskunde iets probeert te beschrijven dat in de echte wereld onmogelijk is.
Singulariteiten kunnen in veel systemen voorkomen: het centrum van zwarte gaten heeft theoretisch een oneindige dichtheid; de punt van een waterdruppel is theoretisch oneindig dun; en onze lasrobot moet in theorie oneindig snel bewegen wanneer hij dat onbetrouwbare punt in het midden van de laslijn bereikt.
In het geval van robotprogrammering verschijnen singulariteiten meestal op twee manieren:
- Oneindige snelheid en versnelling — Om de beweging te voltooien, zouden een of meer van de robotgewrichten met oneindige snelheid moeten bewegen. Dit is het geval in het voorbeeld dat ik zojuist heb beschreven. Wanneer een van de gewrichten van de robot zijn limiet bereikt, moet hij 180 graden draaien om in dezelfde richting te blijven bewegen. Om het lasgereedschap met een constante snelheid te laten bewegen, zou de motor in de verbinding oneindig snel moeten draaien.
- Oneindige stijfheid — De robot beweegt naar een positie waar een van de actuatoren oneindig stijf zou moeten worden om de positie van de robot vast te houden. Omdat dit onmogelijk is, komt de robot vast te zitten totdat hij naar een betere positie wordt verplaatst. Dit komt vaak naar voren in robots die lineaire actuatoren gebruiken, zoals Stewart Platforms, waar het platform letterlijk instort bij het bereiken van een singulariteit (zoals in deze video).
Tip 2: Identificeer het type singulariteit
De meeste lastaken worden uitgevoerd door 6R-robots (met 6 draaibare verbindingen). Er zijn 3 soorten singulariteit die dergelijke robots kunnen beïnvloeden. Het is nuttig om vast te stellen met welk type singulariteit u te maken heeft.
Elk type wordt bepaald door welke van de gewrichten het beïnvloedt:
- Pols bijzonderheden — De Z-assen van de polsgewrichten van de robot (gewrichten 4 en 6) zijn uitgelijnd. Hierdoor probeert een van de gewrichten oneindig snel 180 graden te draaien.
- Schouder singulariteiten — De Z-as van het schoudergewricht van de robot (gewricht 1) is uitgelijnd met de basis van de robot of gewricht 4. Als resultaat proberen de aangetaste gewrichten oneindig snel 180 graden te draaien.
- Elleboog singulariteiten — De robot reikt te ver naar de rand van zijn werkruimte, waardoor het midden van zijn pols in hetzelfde vlak ligt als zijn ellebooggewrichten (gewrichten 2 en 3). Hierdoor komt de robot vast te zitten.
Deze geweldige video van ETS toont alle drie deze bijzonderheden in actie.
Overweeg zorgvuldig de plaatsing van uw laslijnen in de werkruimte van de robot. Voorkom dat het lasgereedschap door punten wordt geleid die ervoor kunnen zorgen dat de robot deze singulariteiten binnengaat.
Tip 3: Gebruik de juiste programmeeroplossing
Singulariteiten zijn niet gemakkelijk te herkennen in uw robotcode. Het is heel normaal om ze niet op te merken totdat je je programma naar de robot stuurt en hij zich vreemd gedraagt. Tegen die tijd heb je de robot echter al uit productie genomen om hem te herprogrammeren.
Maar, het hoeft niet zo te zijn. U kunt singulariteiten heel gemakkelijk detecteren door in de eerste plaats de juiste programmeeroplossing te gebruiken.
RoboDK heeft automatische singulariteitsdetectie. Je kunt de robot niet programmeren om door een singulariteit te bewegen. In plaats daarvan krijg je een handige waarschuwing die je vertelt dat de verhuizing een probleem zou zijn geweest.
Ik heb bijvoorbeeld het lasvoorbeeld in RoboDK geprogrammeerd en het vertelde me: “Bewegen is niet mogelijk. Gewricht 5 kruist 0 graden. Dit is een singulariteit en is niet toegestaan voor een lineaire beweging.”
Probleem opgelost!
Tip 4: beperk alleen wat moet worden beperkt
Soms lijkt het alsof er geen manier is om een laslijn te maken zonder een singulariteit te raken. U probeert de hele lastaak naar een ander deel van de robotwerkruimte te verplaatsen, maar om de een of andere reden is er nog steeds een singulariteitsprobleem.
In dergelijke omstandigheden is het probleem vaak dat je de robot te veel hebt beperkt. De oriëntatie van het lasgereedschap kan bijvoorbeeld zo worden ingesteld dat deze over de hele las exact hetzelfde is. De software worstelt vervolgens om de singulariteit te vermijden terwijl deze strikte oriëntatie behouden blijft.
Bij sommige soorten lassen (bijv. booglassen) is er wat speling in de oriëntatie van het gereedschap. Met RoboDK kunt u het programma instrueren om de oplosser enige vrijheid te geven om de tool indien nodig te roteren. Zie het gedeelte Optimalisatieparameters van de documentatie voor instructies over hoe u dit kunt doen.
Tip 5: Vraag om hulp als je die nodig hebt
Een van de meest frustrerende dingen aan singulariteitsproblemen is dat ze moeilijk op te lossen kunnen zijn, vooral als u pas onlangs bent begonnen met het gebruik van robots voor uw lastaken.
Als je met een probleem zit, kun je het beste hulp zoeken.
Waar moet je om hulp vragen? Op het RoboDK-forum!
Ons forum is de beste plaats om uw lassingulariteitsproblemen op te lossen. Stel gewoon een vraag in het algemene forum en we kunnen je helpen.