Wat je moet weten

Wat is inverse kinematica?

Hoeveel moet u erover weten om het meeste uit uw robot te halen?

Inverse kinematica voor robotica is een enorm en vaak complex onderwerp. Afhankelijk van uw project, moet u er misschien tot in detail over weten of rondkomen met basiskennis.

Hier is de essentiële informatie die u moet weten over inverse kinematica voor robotica.

Wat is inverse kinematica?

Inverse kinematica is een wiskundig proces dat wordt gebruikt om de gewrichtsposities te berekenen die nodig zijn om de eindeffector van een robot op een specifieke positie en oriëntatie te plaatsen (ook wel “pose” genoemd). Een betrouwbare inverse kinematische oplossing is nodig om een ​​robot te programmeren om taken uit te voeren.

Het is belangrijk om duidelijk te zijn over de verschillen tussen de inverse kinematica en de voorwaartse kinematica van de robot.

Voorwaartse kinematica bepaalt waar de eindeffector zal zijn als de gewrichten in een specifieke positie worden gezet. Er is altijd maar één oplossing voor de voorwaartse kinematische vergelijking. Wanneer de gewrichten in een bepaalde positie worden gezet, zal de eindeffector altijd op dezelfde plek uitkomen.

Bij inverse kinematica zijn er vaak meerdere verschillende oplossingen en meerdere benaderingen voor het berekenen van de inverse kinematische oplossing.

Waarom we inverse kinematica nodig hebben in robotica

Als we geen inverse kinematica hadden, zou het programmeren van robots buitengewoon moeilijk zijn, zo niet onmogelijk.

Als u wilt dat de eindeffector van uw robot naar een bepaalde plek in zijn werkruimte gaat, is het logisch dat u de gewenste pose in het programma invoert.

Maar je kunt een robot niet zomaar vertellen om naar je gewenste te gaan X, Y en Z coördinaten en verwacht dat de robot uw instructies begrijpt… niet zonder inverse kinematica.

De meeste industriële robots zijn opgebouwd uit verschillende onafhankelijk bestuurbare gelede gewrichten. Elk gewricht is verbonden met een of meer van de andere gewrichten, soms in complexe configuraties. De eindeffector is bevestigd aan het einde van de gehele “kinematische keten”. Wanneer u een gewricht beweegt, heeft dit op verschillende manieren invloed op de houding van de eindeffector.

Dit betekent dat er geen eenvoudige, directe relatie is tussen de positie van de eindeffector en een bepaald gewricht.

Als u bijvoorbeeld wilt dat de eindeffector van de robot 1 mm lineair langs de Z-as beweegt, moet u mogelijk alle gewrichten met een andere hoeveelheid verplaatsen.

Ten slotte berekenen inverse kinematica-algoritmen de exacte positie van elk van de gewrichten van de robot die nodig is om de gewenste eindeffectorhouding te bereiken.

Hoe de inverse kinematica van een robotarm te vinden

Wanneer u wat onderzoek doet naar inverse kinematica voor robotica, vindt u vaak pagina’s en pagina’s met vergelijkingen, formules en algoritmebeschrijvingen. Dit komt omdat het berekenen van inverse kinematica een gevestigde waarde is in robotica-onderzoek. Niet veel mensen praten over inverse kinematica buiten het onderzoeksveld (behalve 3D-animators).

Wanneer we echter robots gebruiken voor industriële toepassingen, zijn er 2 basisopties om een ​​inverse kinematica-oplossing te vinden:

  1. U kunt al het wiskundige en programmeerwerk zelf doen om een ​​inverse kinematische oplosser voor uw specifieke robot te maken.
  2. U kunt een bestaande inverse kinematic solver gebruiken voor uw specifieke robot die “out of the box” werkt.

Welke van deze u kiest, hangt af van uw unieke situatie.

Als je de robot zelf hebt gebouwd – dat wil zeggen vanaf nul opgebouwd door motoren en mechanische koppelingen met elkaar te verbinden – zul je waarschijnlijk optie 1 moeten kiezen.

Als u een industriële robot gebruikt die afkomstig is van een robotfabrikant, zal optie 2 bijna altijd sneller en gemakkelijker zijn.

De moeilijke methode: maak een Inverse Kinematics Solver

Als je ervoor kiest om je eigen inverse kinematische oplosser te maken, bereid je dan voor op serieus programmeren!

Er zijn 2 fundamentele benaderingen voor het berekenen van de inverse kinematica:

1. Analytische inverse kinematische oplossingen

Een analytische inverse kinematische oplosser zal in staat zijn om de gewenste eindeffectorhouding aan te nemen en (bijna) onmiddellijk de vereiste gewrichtsposities uit te spuwen.

Dit komt omdat, “onder de motorkap”, de kinematische keten van de robot is teruggebracht tot een uitdrukking in gesloten vorm – voor elke eindeffectorhouding is er een wiskundige definitie van de vereiste gewrichtsposities.

Hoewel u het werk van het genereren van de uitdrukking in gesloten vorm zelf (met de hand) kunt uitvoeren, is dit meestal niet nodig. Tegenwoordig maakt de IKFast-bibliotheek deze taak een stuk eenvoudiger dan vroeger.

2. Numerieke/iteratieve kinematica-oplossers

Niet alle robots hebben een analytische inverse kinematische oplossing. Wanneer de kinematische structuur van de robot complex of ongebruikelijk is, is de enige optie het gebruik van een numerieke inverse kinematica-oplosser.

Bovendien is er in een numerieke oplossing geen duidelijke uitdrukking in gesloten vorm. In plaats daarvan werkt een iteratief algoritme, wanneer u uw gewenste eindeffectorpositie invoert, naar een oplossing voor de vereiste gewrichtsposities door deze te behandelen als een optimalisatieoplossing.

Bij elke iteratie voert het algoritme enkele gewrichtsposities in de voorwaartse kinematische vergelijking van de robot in om erachter te komen waar de eindeffector terechtkomt. In de volgende iteratie gebruikt het deze informatie om de gezamenlijke posities verder aan te passen. Hierdoor wordt de eindeffector geleidelijk naar de gewenste pose verplaatst.

Vanwege deze iteratieve benadering zijn numerieke inverse kinematica-oplossingen langzamer dan analytische oplossingen.

De eenvoudige methode: gebruik een bewezen Inverse Kinematics Solver

Het maken van je eigen inverse kinematica-oplosser is een goede intellectuele oefening als je op de universiteit zit of als je je eigen robot helemaal opnieuw bouwt.

Maar als u uw robot alleen in een productieomgeving wilt gebruiken, is het onwaarschijnlijk dat u uw eigen inverse kinematica-oplosser moet maken.

Het is veel gemakkelijker en sneller om gewoon een bestaande oplosser te gebruiken die al in uw robotprogrammeeromgeving is opgenomen.

Alle robots in de robotbibliotheek van RoboDK worden geleverd met hun eigen inverse kinematische oplossers. Hierdoor kun je direct aan de slag met programmeren zonder er ooit over na te hoeven denken.

De meeste van onze oplossers zijn vooraf gegenereerde analytische oplossingen die bij het robotbestand worden geleverd. Sommige van de complexere robots in de bibliotheek gebruiken echter wel numerieke oplossers. Zelfs met de numerieke oplossers is de verminderde rekensnelheid geen probleem met RoboDK, aangezien u uw robot offline programmeert voordat u uw programma naar de robot zelf stuurt.

Maak tenslotte alleen uw eigen inverse kinematic solver als het echt moet.

Zo niet, dan kunt u uw tijd veel beter besteden aan het maken van het robotprogramma voor uw taak en het sneller in productie krijgen.

Welke vragen heb je over inverse kinematica in robotica? Vertel het ons in de reacties hieronder of discussieer mee op LinkedIn, TwitterenFacebook, Instagram of in het RoboDK-forum.

(functie(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
als (d.getElementById(id)) terugkeer;
js = d.createElement(s);
js.id = id;
js.src = “//connect.facebook.net/en_US/sdk.js#xfbml=1&versie=v2.5”;
fjs.parentNode.insertBefore(js, fjs);
}(document, ‘script’, ‘facebook-jssdk’));

About admin

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *