Op hoeveel manieren kan het bewegen?
Vrijheidsgraden: De meetkunde van beweging
Een vrijheidsgraad (DOF) is één onafhankelijke manier waarop een object kan bewegen. Het begrijpen van DOF is de eerste stap in het begrijpen hoe robots met ruimte omgaan.
Positie in 3D-ruimte vereist 3 DOF: x (links/rechts), y (vooruit/achteruit), z (omhoog/omlaag). Een punt in de ruimte heeft 3 DOF.
Oriëntatie voegt 3 extra toe: roll (rotatie rond de voorwaartse as), pitch (rotatie rond de zijde-as), yaw (rotatie rond de verticale as). Een star lichaam in de ruimte heeft 6 DOF: 3 positie + 3 oriëntatie.
Robotarmen & DOF:
- Een 6-assige gearticuleerde arm (zoals een industriële robot) heeft 6 gewrichten, elk met 1 DOF. Met 6 DOF kan de eindeffector elk punt en elke oriëntatie binnen de werkruimte bereiken: het heeft volledige ruimtelijke vrijheid.
- Een 4-assige SCARA robot heeft 4 DOF: het kan overal in een vlak positioneren en roteren, maar kan zijn gereedschap niet kantelen. Goed voor pick-and-place op vlakke oppervlakken.
- Een 3-assige Cartesiaans/gantry robot heeft 3 DOF: het kan overal in een doosvorming volume positioneren, maar kan zijn gereedschap helemaal niet oriënteren. Goed voor 3D-printers.
Meer dan 6 DOF: Een 7-assige robot is redundant: het heeft meer DOF dan nodig voor volledige ruimtelijke positionering. De extra DOF stelt het in staat om obstakels heen te bereiken, zoals een menselijke arm iets achter zich bereikt. Redundantie is een meetkundig voordeel.
DOF en taakeisen
Een fabriek heeft drie taken nodig voor een robot: (A) het aanbrengen van lijm langs een 3D-gekromd pad op een auto-carrosseriepaneel, (B) chips van een transportband oppakken & ze op een vlak circuitbord plaatsen, & (C) een complex 3D-las van meerdere hoeken lassen.
Twee richtingen van robotmeetkunde
Kinematica: Meetkunde in beweging
Kinematica is de studie van beweging zonder krachten te overwegen. In robotica is het zuivere meetkunde: de relatie tussen gewrichthoeken en de positie & oriëntatie van de eindeffector.
Voorwaartse kinematica (FK): Gegeven alle gewrichthoeken → bereken de positie & oriëntatie van de eindeffector. Dit is de 'makkelijke' richting.
Voor een 2-schakelige vlakke arm: als gewricht 1 op hoek θ₁ staat & gewricht 2 op hoek θ₂, met schakelengten L₁ & L₂, is de eindeffector op:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
Voor een 6-assige arm gebruikt FK een keten van homogene transformatiematrices: elk gewricht draagt een 4×4-matrix bij die rotatie en translatie codeert. Vermenigvuldig alle zes matrices om de eindeffectorpositie te krijgen. Het is mechanisch maar levert altijd een uniek antwoord op.
Inverse kinematica (IK): Gegeven een gewenste eindeffectorpositie & oriëntatie → bereken de gewrichthoeken die het bereiken. Dit is de 'moeilijke' richting.
IK is moeilijk omdat:
- Meerdere oplossingen: Een 6-assige arm kan dezelfde plek vaak bereiken in meerdere configuraties (elleboog omhoog vs. omlaag, pols gekanteld vs. niet). Er kunnen 8 of meer geldige oplossingen zijn.
- Geen oplossingen: Als het doel buiten de werkruimte ligt, werken geen gewrichthoeken.
- Singulariteiten: Bij bepaalde poses richten twee gewrichtassen zich uit en verliest de robot een DOF: zoals gimbal lock. In de buurt van singulariteiten vereisen kleine Cartesiaanse bewegingen enorme gewrichtsnelheden.
Inverse kinematica: waarom is het moeilijk?
Beschouw een eenvoudige 2-schakelige vlakke arm met L₁ = L₂ = 1 meter. De eindeffector moet het punt (1,0, 1,0) bereiken.
De afstand van de basis tot het doel is sqrt(1² + 1²) = sqrt(2) ≈ 1,414 m. Aangezien L₁ + L₂ = 2 m > 1,414 m, is het punt bereikbaar.
Vorm van bereikbaarheid
Werkruimte: Het geometrische volume dat een robot kan bereiken
De werkruimtegrens is de reeks van alle punten die de eindeffector kan bereiken. De vorm ervan hangt volledig af van de geometrie van de robot.
Gearticuleerde arm (6-assig): De werkruimte is ruwweg een holle bol. De buitengrens bevindt zich bij maximale bereik (alle schakels uitgestrekt). Een binnengrens bestaat omdat de arm niet genoeg op zichzelf kan terugevouwen om punten dicht bij de basis te bereiken. Doorsnede ziet eruit als een donut (torus).
SCARA: De werkruimte is een cilinder. De arm zwaait horizontaal (genereert een cirkelvormige doorsnede) en beweegt verticaal over de Z-as. Het resultaat is een plat cilindrisch volume: groot bereik horizontaal, beperkt verticaal.
Cartesiaans/Gantry: De werkruimte is een rechthoekig doosje. Elke as beweegt lineair langs één dimensie. Eenvoudig, voorspelbaar, gemakkelijk te programmeren: maar omvangrijk omdat de robot net zo groot moet zijn als zijn werkruimte.
Singulariteiten in de werkruimte: Bij bepaalde poses verliest de robot een DOF. Een volledig uitgestrekte gearticuleerde arm (aan de buitengrens van zijn werkruimte) bevindt zich in een singulariteit: hij kan de eindeffector niet verder naar buiten bewegen. Polsingulariteiten treden op wanneer twee polsgewrichtassen uitlijnen. Bij een singulariteit verliest de Jacobian-matrix rang, en verliest de robot tijdelijk effectieve DOF.
Vaardig werkruimte vs. bereikbare werkruimte: De bereikbare werkruimte is waar de eindeffector in ten minste één oriëntatie kan bereiken. De vaardige werkruimte is waar hij elke willekeurige oriëntatie kan bereiken. De vaardige werkruimte is altijd een subset van de bereikbare werkruimte: en vaak veel kleiner.
Een robot kiezen op basis van werkruimte
Een fabriekcèl heeft drie stations in een L-vorm. Station A is links, Station B is direct vooruit, Station C is rechts en iets verhoogd (300 mm hoger). De robot moet onderdelen uit A oppakken, een operatie bij B uitvoeren en afgewerkte onderdelen bij C plaatsen: allemaal vanaf één montagepositie.
Configuratieruimte: De abstracte meetkunde van de robot
Configuratieruimte: Waar bewegingsplanning leeft
Configuratieruimte (C-space) is één van de krachtigste meetkundige abstracties in robotica. In plaats van na te denken over de fysieke vorm van de robot, representeer zijn volledige staat als één punt in een N-dimensionale ruimte.
Voor een robot met N gewrichten heeft C-space N dimensies: één as per gewrichthoek. Elke mogelijke pose van de robot is één punt in C-space. Een beweging (reeks poses) is een curve door C-space.
Obstakels in C-space: Een fysiek obstakel in de echte wereld wordt een verboden gebied in C-space. Als het plaatsen van de robot op gewrichthoeken (θ₁, θ₂, ..., θN) een botsing zou veroorzaken, bevindt dat punt zich in een C-space obstakel. De vorm van C-space obstakels is complex: een eenvoudige doos in de echte wereld wordt een vreemd gevormd gebied in C-space.
Padplanning = een botsingsvrije curve vinden: Gegeven een startconfiguratie (punt in C-space) & een doelconfiguratie (ander punt), vind een continue curve die hen verbindt en geen verboden gebied binnengaat.
Algoritmen:
- A* (grid-gebaseerd): Discretiseer C-space in een raster, zoek naar het kortste pad. Werkt goed in lage dimensies (2-3 DOF) maar rastergrootte exploceert exponentieel met dimensie.
- RRT (Rapidly-Exploring Random Tree): Bouw een boom van willekeurige steekproeven in C-space, groei in de richting van onverkenning gebieden. Werkt in hoge dimensies (6+ DOF). Niet optimaal maar snel voor het vinden van uitvoerbare paden.
- PRM (Probabilistic Roadmap): Pre-bereken een grafiek van willekeurige botsingsvrije configuraties, zoek dan de grafiek. Goed voor herhaalde vragen in dezelfde omgeving.
Het meetkundige inzicht: een 6-DOF robotpadplanningsprobleem is een curve-door-6D-spaceprobleem. De dimensionaliteit maakt exacte oplossingen onhaalbaar: probabilistische methoden (RRT, PRM) zijn de praktische benadering.
Configuratieruimte-denken
Een 2-schakelige vlakke arm (2 DOF) werkt in een kamer met een enkel rechthoekig obstakel. Gewricht 1 varieert van 0° tot 360°, gewricht 2 varieert van 0° tot 360°. De configuratieruimte is een 2D-vierkant: θ₁ op één as, θ₂ op de ander.