Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Equipment >> Industriële robot

Robot Euler Angles:de essentiële primer

Het is moeilijk om je hoofd rond robotrotaties te krijgen, nietwaar? Euler-hoeken zijn een pijn in de nek. Dit is de essentiële basis om de pijn weg te nemen.

Oriëntaties! Ze zorgen ervoor dat ik mijn haar eruit wil trekken. Als je ooit de eindhouding van een robot hebt moeten programmeren met behulp van coördinaten en rotaties, weet je waar ik het over heb.

Op het eerste gezicht lijkt het instellen van de pose van de eindeffector van uw robot eenvoudig, nietwaar?

Je zegt gewoon:"Ik wil het gereedschap van de robot verplaatsen naar dit locatie en ik wil dat deze verwijst naar dit richting.”

Intuïtief weet je precies in welke richting je de tool wilt hebben. Als het echter gaat om het beschrijven van de oriëntatie met behulp van precieze getallen, wordt deze eenvoudige taak plotseling een puinhoop van verwarring.

Waarom robotoriëntaties moeilijk te begrijpen zijn

Het is gemakkelijk om de X, Y, Z (translationele) coördinaten van een robotgereedschap te beschrijven.

Om een ​​vertaling te beschrijven, voert u eenvoudig de coördinaten in — b.v. Punt [X, Y, Z] =[100, 1000, 1500] mm — en er is maar één locatie waarnaar dit zou kunnen verwijzen, ervan uitgaande dat u dezelfde basisreferentie gebruikt. Het kan slechts 100 mm langs de X-as, 1 meter langs de Y-as en 1,5 meter langs de Z-as betekenen.

Maar hoe beschrijf je de oriëntatie van het gereedschap?

Je zou kunnen zeggen:
Rotatie[XYZ] =[5, 45, 15]°
je zou echter ook kunnen zeggen (de getallen afronden)
Rot[XY'Z”] =[-7,9, 44,7, 16,2]°
of
Rot[ZY'Z”] =[7,9, 45,2, 5,0]°
of even
Quaternion[q1-q4] =[0.9, -0.1, 0.4, 0.1]

 Al deze verwijzen naar exact dezelfde richting!
Wat het nog verbijsterender maakt, is dat verschillende robotfabrikanten verschillende conventies gebruiken. Het kan allemaal een beetje hoofdpijn worden, zelfs als je bekend bent met 3D-geometrie.

Het probleem:we denken gewoon niet in rotaties

Het echte probleem is dat we van nature niet in termen van rotaties denken.

We begrijpen intuïtief translationele coördinaten omdat we ze in ons dagelijks leven gebruiken (bijv. "Het staat op de tweede plank, vier boeken van links." ). Wanneer we echter een oriëntatie moeten beschrijven, nemen we onze toevlucht tot het wijzen met onze vinger en zeggen "Het is in die richting."

Helaas hebben robots meer precieze informatie nodig dan een vage "het is daar."

Wat we nodig hebben, is een goed begrip van Euler Angles.

Wat zijn Euler-hoeken?

Laten we een stapje terug doen en beginnen bij de basis.

De meest gebruikelijke methode voor het beschrijven van robotoriëntaties zijn Euler-hoeken. Euler Angles bestaat uit drie getallen die elk een rotatie om één as beschrijven. Er zijn verschillende Euler-hoekconventies, afhankelijk van de volgorde van rotaties.

Laten we dit eerst vereenvoudigen tot een voorbeeld met één as.

Stel je een kompas voor.

Vaak verwijst de Z-as van de wereld naar de as die zich uitstrekt van de lucht tot aan de grond. Je kunt dus denken aan de naald op een kompas als een rotatie rond de Z-as (genaamd Rot[Z]). Als je het kompas plat voor je houdt en de pijl wijst naar 135°, betekent dit dat het noorden over je linkerschouder ligt, dus je kijkt momenteel naar het zuidoosten. Het maakt niet uit waar u het kompas plaatst (op de vloer, op uw hoofd, enz.), als het dezelfde oriëntatie heeft, zal de hoek altijd 135° zijn.

Tot nu toe, zo eenvoudig.

Ons kompas heeft slechts één rotatiewaarde (d.w.z. Rot[Z]), maar om elke 3D-oriëntatie te beschrijven, hebben we drie waarden nodig. Hier begint het een beetje ingewikkelder te worden.

Andere methoden voor het beschrijven van robotoriëntaties zijn Quaternions of Poses (4×4 matrices).

Laten we de handen uit de mouwen steken

Vanaf nu is het handig om een ​​interactief visueel hulpmiddel te hebben.

Ik stel voor dat je een gratis exemplaar van RoboDK downloadt via deze link, waardoor het heel gemakkelijk wordt om referentieframes te visualiseren en de resulterende coördinaten te zien.

Start RoboDK en maak een referentieframe met behulp van de knop "Referentieframe toevoegen" of door de optie in het programmamenu te selecteren. U zou een rood, groen en blauw kader in het midden van het scherm moeten zien verschijnen.

Je kunt het frame als volgt draaien:houd de Alt-toets ingedrukt en klik en sleep een van de gebogen pijlen die verschijnen.

Hoe een vliegtuig te besturen

Laten we de analogie van een vliegtuig gebruiken, zoals heel duidelijk beschreven op het robotforum.

Stel je voor dat het referentieframe een vlak is. De punt van de rechte, rode pijl (de X-as) is de punt van zijn neuskegel en de rechte, groene pijl (de Y-as) is zijn linkervleugel.

In dit geval heeft het verplaatsen van de gebogen pijlen de volgende functies:

  • Gebogen rode pijl =Rot[X]:De rol van het vliegtuig, waardoor het vliegtuig om zijn horizontale as kan draaien.
  • Gebogen groene pijl =Rot[Y]:De toonhoogte van het vlak, die de neuskegel omhoog of omlaag wijst.
  • Gebogen blauwe pijl =Rot[Z]:De gier van het vlak, die de richting bepaalt waarin het vlak gaat.

Als de piloot wilde dat het vliegtuig naar links en naar beneden zou draaien, zou het vliegtuig geleidelijk niet alleen om de Z-as draaien - zo werken vliegtuigen niet.

In plaats daarvan zou het vliegtuig:

  1. Plaats zijn neuskegel naar beneden:Rot[Y]
  2. Rol het vliegtuig naar links:-Rot[X]
  3. Gieren naar links:Rot[Z]

Deze hele beweging zou worden weergegeven als Rot[XYZ]. Probeer het frame zelf een beetje te verplaatsen in RoboDK totdat u vertrouwd bent met deze concepten.

Dubbelklik vervolgens op de naam van het frame in de linkerbovenhoek van het hoofdvenster om het paneel 'Framedetails' te openen.

Eén oriëntatie, meerdere mogelijke rotaties

Probeer met RoboDK de volgende taken.

Vóór elke taak stelt u het frame opnieuw in door het menupictogram "hamburger" (drie horizontale lijnen) in het deelvenster Framedetails te openen en "Reset (identiteit instellen)" te selecteren.

  1. Selecteer het vervolgkeuzemenu bovenaan de coördinaten en kies de Stäubli-rotatie (X->Y'->Z") in plaats van Generiek.
  2. Draai het frame zodat blauw (Z) naar beneden wijst en rood (X) naar achteren wijst (d.w.z. ze zijn allebei omgedraaid vanuit hun startpositie en groen (Y) is hetzelfde als de startpositie), maar doe alleen dus door om de Y-as te draaien.
  3. Stel het frame opnieuw in en verplaats het vervolgens naar dezelfde rotatie. Gebruik deze keer echter slechts één Z-rotatie en vervolgens één X-rotatie.
  4. Stel het frame opnieuw in en verplaats het vervolgens naar dezelfde rotatie. Gebruik deze keer echter slechts één X-rotatie en vervolgens één Z-rotatie.

Zoals je kunt zien, kan er meer dan één manier zijn om dezelfde oriëntatie te bereiken.

De eerste methode zouden we Rot[Y] kunnen noemen, omdat deze alleen een rotatie om de Y-as bevat. De tweede methode zouden we Rot[Z, X'] kunnen noemen, omdat deze één rotatie om de Z-as en één rotatie om de nieuwe X-as omvat. De derde zouden we Rot[X, Z'] noemen. Het prime-symbool betekent dat de rotatie plaatsvindt ten opzichte van de laatste beweging in plaats van de statische assen.

Dit is het fundamentele concept achter Euler-hoeken. U kunt een frame op meerdere manieren in dezelfde richting draaien door de volgorde van assen en rotaties te wijzigen.

Verschillende robotfabrikanten hebben verschillende combinaties van rotaties gekozen. Stäubli gebruikt bijvoorbeeld een XY’Z”-conventie, Adept gebruikt een ZY’Z”-conventie, KUKA gebruikt een ZY’X”-conventie en Fanuc &Motoman gebruiken XYZ-conventie. Aan de andere kant gebruikt ABB Quaternion en Universal Robots gebruikt een oriëntatievector. Maar alle conventies kunnen worden gebruikt om elke oriëntatie in de ruimte weer te geven.

U vindt meer informatie in de documentatie van RoboDK.

Test verschillende robotconventies

Hopelijk begint dit logisch te worden. Dit is echter nog maar het begin. Om de Euler-hoekconventies in RoboDK echt onder de knie te krijgen, vind ik het handig om met de software te spelen volgens deze handleiding.

Je kunt het effect van je rotaties in getallen zien in de lichtblauwe, paarse en gele vakken in het deelvenster 'Framedetails'.

Standaard wordt de algemene XYZ-conventie gekozen voor nieuwe referentieframes. Probeer verschillende robotfabrikanten te selecteren in het vervolgkeuzemenu boven de gekleurde vakken. Probeer numerieke waarden in de vakken in te voeren om hun effecten op het referentieframe te zien.

Voor een uitgebreide tutorial over Euler-hoeken kan ik deze pagina op Mecademic ook aanbevelen.


Industriële robot

  1. Wat is de realiteit van robotvisie?
  2. Wat is in godsnaam een ​​zelfprogrammerende robot?
  3. Archimedes:The AI ​​Robot Owl
  4. Het belang van een goede opleiding tot robotoperator
  5. De geschiedenis van robotica in de maakindustrie
  6. De eenvoudige manier om foutloos robotlassen te maken
  7. De juiste manier om een ​​robottransporteur te simuleren
  8. Het voordeel van robotautomatisering in de papierindustrie
  9. Berekenen van Euler-hoeken op een 6-assige robot
  10. De juiste robotverzamelsoftware kiezen
  11. Fanuc-coatingrobot:de P-250iA