Wat is krachtcontrole en waarom is het beter voor robotbewerking? Hier leest u hoe u uw bewerkingskwaliteit in RoboDK kunt verbeteren.
Robots zijn een zeer flexibele manier om kwaliteitsbewerkingen te realiseren. Ondanks hun relatief lage stijfheid in vergelijking met CNC-machines, zijn robots meer dan in staat om een breed scala aan bewerkingstaken uit te voeren. Ze hebben ook een heleboel extra voordelen, zoals we eerder hebben uitgelegd in het artikel Kan een robot beter presteren dan een CNC-machine voor robotbewerking?
Er is echter één probleem. Harde materialen zijn een uitdaging voor een robot met lage stijfheid. Wanneer het gereedschap in contact komt met het oppervlak van een hard materiaal, kan de robot doorbuigen en wordt het geboorde gat onnauwkeurig. Meer kracht uitoefenen op het oppervlak maakt het probleem alleen maar erger: de robot buigt meer af of wordt, in extreme gevallen, onstabiel en trilt ongecontroleerd.
Force control is een goede manier om dit probleem op te lossen, als je eenmaal de basis begrijpt.
Wat is krachtcontrole?
Robots zijn eigenlijk gewoon een geavanceerd type besturingssysteem. Net als andere besturingssystemen worden ze bestuurd door feedbackloops. De meest gebruikelijke opstelling voor een robotarm is een individuele PID-controller voor elk gewricht, die ervoor zorgt dat het gewricht daadwerkelijk de gewenste positie bereikt wanneer het wordt geïnstrueerd om daarheen te gaan.
Er zijn twee soorten besturing die vaak worden gebruikt in robotica: bewegingsbesturing en krachtbesturing.
Beweging controle
De basisbesturingsmethode die in robotica wordt gebruikt, is positieregeling. In dit geval instrueert het robotprogramma elk van de gewrichten van de robot om naar een positie te bewegen. De PID-controller bij elk gewricht gebruikt vervolgens het signaal van een positiesensor als feedback om te detecteren wanneer het de gewenste positie bereikt.
Wanneer de robot een Joint Move-commando krijgt, zal elk gewricht zo snel mogelijk naar de gewenste positie bewegen. Wanneer een lineaire of circulaire beweging wordt gebruikt, stuurt de robotbesturing een reeks positiecommando’s om een gecontroleerd pad te bereiken.
Positieregeling is een van de verschillende methoden voor bewegingsbesturing – andere zijn snelheidsregeling en versnellingsregeling. Deze zijn allemaal met elkaar verbonden, aangezien snelheid de afgeleide is van positie en versnelling de afgeleide is van snelheid.
Forceer controle
Force control is complexer om te implementeren dan motion control, omdat het wordt toegepast op het robotgereedschap, niet gewricht voor gewricht. Een kracht-koppelsensor is bevestigd aan de pols van de robot die fungeert als feedback om de krachten te detecteren die op het gereedschap worden uitgeoefend.
In plaats van te proberen een bepaalde positie te bereiken, probeert de krachtregelaar een bepaalde kracht op het gereedschap uit te oefenen. De robot zal steeds meer kracht uitoefenen op de omgeving totdat de gewenste kracht is bereikt.
Er zijn verschillende methoden voor krachtregeling, maar de meest gebruikelijke voor machinale bewerkingen is hybride positie-/impedantieregeling. Wanneer de robot in de vrije ruimte beweegt, werkt dit precies hetzelfde als positiecontrole. Wanneer hij echter ergens tegenaan botst, gedraagt de robot zich als een virtuele veer: hoe verder de robot van zijn geïnstrueerde positie af beweegt, hoe meer kracht hij uitoefent om te proberen hem terug te brengen naar de juiste positie. Door de stijfheid van deze virtuele veer in te stellen, beperk je de maximale kracht die de robot kan uitoefenen.
Het voordeel van Force Control voor robotbewerking
Krachtcontrole is vaak beter voor machinale bewerkingen omdat u de kracht die op het werkstukmateriaal wordt uitgeoefend precies kunt regelen. Dit verbetert de kwaliteit van de booroperatie, zoals blijkt uit het volgende voorbeeld.
Stel je voor dat je een handboormachine gebruikt om een gat in een staalplaat te boren. U lijnt de boor uit op de plaats waar u het gat wilt hebben.
Welke van deze twee methoden zou je gebruiken om een kracht uit te oefenen?
- Begin met lichte druk totdat het gat zich begint te vormen en verhoog dan geleidelijk de kracht.
- Duw de boor onmiddellijk zo hard als je kunt in het metaal.
Hopelijk heb je voor de eerste optie gekozen.
Waarom is de tweede optie niet haalbaar? Als je dit ooit met een boormachine hebt gedaan, weet je dat de boor ongecontroleerd over het materiaal glijdt of meteen breekt. De krachten zijn in verschillende richtingen te hoog. Of je soepele arm is niet bestand tegen die krachten, of de boor kan dat niet.
Wanneer een robot wordt geïnstrueerd om in een materiaal te boren met alleen positieregeling, is dit het equivalent van het gebruik van de tweede methode. De robot kan de krachten niet detecteren, dus duwt hij zo sterk als zijn motoren aankunnen.
Force control zorgt ervoor dat de toegepaste kracht nooit zulke hoge krachten bereikt.
Hoe Force Control te gebruiken in RoboDK
Er zijn twee manieren om een krachtregelaar toe te voegen aan uw robot in RoboDK. Omdat force control een geavanceerde besturingsmethode is, moet u wel programmeren.
Optie 1: maak een aangepaste postprocessor
De eenvoudigste optie is waarschijnlijk om een aangepaste postprocessor voor uw robot te maken en daarin commando’s voor krachtcontrole op te nemen.
De postprocessor verandert uw RoboDK-simulatie in code die de robot kan begrijpen. Zie ons vorige artikel voor informatie over het maken van aangepaste postprocessors.
Deze optie zal veel gemakkelijker zijn als krachtcontrole voor uw robot beschikbaar is bij de fabrikant. De KUKA IIWA heeft bijvoorbeeld een impedantieregelingsmodus die met een paar regels code kan worden geactiveerd.
Als een dergelijke optie niet beschikbaar is, moet u uw eigen krachtregelaar in de programmeertaal van de robot schrijven of een andere oplossing zoeken bij een partner van de robotfabrikant.
Optie 2: gebruik de RoboDK API
De tweede optie is om uw computer te gebruiken om de robot rechtstreeks te besturen via de RoboDK API. Hierdoor kunt u de krachtcontroller op de computer implementeren door RoboDK als master en de robotcontroller als slave te gebruiken.
Het voordeel van deze optie is dat u krachtcontrole kunt gebruiken, ook als deze niet door de robotfabrikant wordt geleverd. Door een van de door RoboDK ondersteunde talen (Python, C#, C++ en Matlab) te gebruiken, heb je de keuze uit vele bibliotheken en API’s die het gemakkelijker kunnen maken om de door jou gekozen controller te implementeren.
Dit is zeker geen kant-en-klare oplossing, aangezien u vrijwel zeker behoorlijk wat moet programmeren om de controller betrouwbaar te laten werken. Het is echter een flexibele optie en kan met de meeste robots worden gebruikt.
Gelukkig bieden steeds meer robotfabrikanten krachtcontrole voor hun robots, hetzij zelf, hetzij via externe partners. Met een beetje onderzoek en niet veel programmeren, kunt u RoboDK gebruiken om de kwaliteit van uw robotbewerking met krachtcontrole te verbeteren.