Alle fag › Robotikk
Robotikk: gratis øving, teori og oppgaver
En robotarm må hele tiden vite hvor verktøyet er og hvordan det peker, både i sin egen ramme og i verdens (basis-) ramme. Til det trengs et presist matematisk språk for rotasjoner og forflytninger. Rotasjonsmatriser og homogene transformasjonsmatriser lar oss beskrive og kjede sammen slike bevegelser på en systematisk måte, ledd for ledd langs armen – nøyaktig det Denavit–Hartenberg-parametrene (DH-parametrene) bygger på.
Innhold
1. Rotasjoner og transformasjoner
Hva handler det om?
En robotarm må hele tiden vite hvor verktøyet er og hvordan det peker, både i sin egen ramme og i verdens (basis-) ramme. Til det trengs et presist matematisk språk for rotasjoner og forflytninger. Rotasjonsmatriser og homogene transformasjonsmatriser lar oss beskrive og kjede sammen slike bevegelser på en systematisk måte, ledd for ledd langs armen – nøyaktig det Denavit–Hartenberg-parametrene (DH-parametrene) bygger på.
Begreper og formler
- En rotasjonsmatrise er ortogonal: og . Den bevarer lengder og vinkler.
- To rotasjoner kan settes sammen ved matrisemultiplikasjon: . I 3D er rekkefølgen viktig ( generelt); i 2D om samme akse spiller rekkefølgen ingen rolle, og vinklene bare adderes.
- Homogen transformasjonsmatrise (4×4, eller 3×3 i planet) kombinerer rotasjon og translasjon i én operasjon: T = \begin{pmatrix}R & \vec p\\ 0 & 1\end{pmatrix} der er origo til den nye rammen, uttrykt i den gamle.
- Et punkt i lokale koordinater får globale koordinater .
- Inversen av en homogen transformasjon er – transponering er billig, det er derfor er så nyttig.
- Euler-vinkler beskriver en orientering med tre påfølgende rotasjoner, men kan gi gimbal lock: to akser faller sammen og én frihetsgrad går tapt. Kvaternioner unngår dette og interpolerer jevnere, men bruker fire tall i stedet for tre.
- DH-parametrene (, , , ) beskriver hvordan rammen til hvert ledd henger sammen med det forrige, med fire tall per ledd.
Slik løser du oppgavene
- Tegn (eller se for deg) hvilke rammer som er involvert, og hvordan de henger sammen.
- Skriv opp rotasjonsmatrisen(e) og eventuell translasjon for hvert steg.
- Multipliser/adder i riktig rekkefølge: fra det kjente punktet og utover mot den rammen du vil finne koordinatene i.
- Skal du gå motsatt vei (finne lokale koordinater fra globale), bruk den inverse transformasjonen.
- Sjekk svaret: en ren rotasjon endrer aldri lengden til en vektor.
Eksempel
En ramme B er rotert 90° mot klokka og forskjøvet i forhold til basisrammen A. Et punkt har koordinatene i basisrammen. Hva er koordinatene i ramme B?
- Dette er det motsatte av å transformere fra lokalt til globalt, så vi bruker inversen: .
- Trekk fra translasjonen: .
- Roter med (motsatt av ): , som gir .
Svar: punktet har koordinatene i ramme B.
Vanlige feil
- Å bytte om rekkefølgen på rotasjon og translasjon, eller på flere rotasjoner, i 3D.
- Å tro at . Riktig er .
- Å glemme at inversen krever at du roterer MED (eller ) etter at translasjonen er trukket fra, ikke før.
- Å blande grader og radianer i samme utregning.
- Å tro at Euler-vinkler alltid er entydige og problemfrie – gimbal lock er en reell singularitet.
Begreper i denne delen
2. Kinematikk
Hva handler det om?
Kinematikk beskriver sammenhengen mellom leddvinklene (eller leddforskyvningene) i en robotarm og posisjonen/orienteringen til verktøyet, uten å bry seg om kreftene som skaper bevegelsen. Foroverkinematikk går fra kjente leddvariabler til verktøyets posisjon; inverskinematikk går motsatt vei, fra ønsket verktøyposisjon til leddvariablene som gir den. Begge deler er nødvendige for å programmere og styre en robotarm i praksis.
Begreper og formler
- Foroverkinematikk (FK): , der er leddvariablene (vinkler for revolutte ledd, lengder for prismatiske) og er verktøyets posisjon/orientering. Beregnes ved å kjede sammen DH-transformasjonene ledd for ledd (se enhet 0).
- Inverskinematikk (IK): finn gitt ønsket . Kan ha ingen, én, eller flere løsninger (f.eks. albue opp/albue ned for en planar 2-leddsarm).
- For en planar 2-leddsarm med lengder : , . Løs IK med cosinussetningen: .
- Arbeidsområdet (workspace) er alle punkter verktøyet kan nå; for 2-leddsarmen er det en ring med indre radius og ytre radius .
- Jacobimatrisen relaterer leddhastigheter til verktøyets hastighet: .
- Singularitet: en konfigurasjon der mister rang (blir ikke-inverterbar). Nær en singularitet krever selv en liten verktøyhastighet svært store leddhastigheter.
- Redundans: flere frihetsgrader enn oppgaven krever (f.eks. en 7-akset arm for en 6D-oppgave), som gir flere mulige leddløsninger for samme verktøyposisjon.
- Ledd-interpolert bevegelse (MoveJ) beveger leddene jevnt fra start til mål; bevegelsen til verktøyet blir en krum bane. Lineær/kartesisk bevegelse (MoveL) holder verktøyet på en rett linje, men kan kreve store og ujevne leddhastigheter.
Slik løser du oppgavene
- Avgjør om oppgaven er FK (kjente vinkler → posisjon) eller IK (kjent posisjon → vinkler).
- For FK: sett inn i formlene ledd for ledd (eller multipliser DH-matrisene).
- For IK på en planar arm: bruk cosinussetningen for å finne , og finn deretter fra geometrien.
- Sjekk alltid om målet ligger innenfor arbeidsområdet () før du løser IK.
- For hastigheter: bruk Jacobimatrisen, og vær oppmerksom på singulariteter der mister rang.
Eksempel
En planar 2-leddsarm har m og m. Verktøyet skal til m. Finn .
- Avstand fra basen: m, som ligger innenfor m – målet er nåbart.
- .
- (albue opp-løsningen).
Vanlige feil
- Å blande sammen FK og IK, eller tro IK alltid har nøyaktig én løsning.
- Å glemme å sjekke om målet i det hele tatt ligger i arbeidsområdet før man løser IK.
- Å tro at leddhastigheter alltid er begrensede – nær en singularitet kan de bli svært store.
- Å forveksle MoveJ og MoveL: MoveJ gir ikke en rett linje for verktøyet.
Begreper i denne delen
3. Robotsystemer
Hva handler det om?
En robot er mer enn kinematikken – det er et komplett mekatronisk system av mekanisk struktur, aktuatorer, sensorer og styring. Å velge riktig robotkonfigurasjon, drivverk og sensorikk til en oppgave er like viktig som å regne riktig kinematikk, og det er her ingeniørens praktiske valg kommer inn.
Begreper og formler
- Vanlige konfigurasjoner: leddarm/artikulert (flest frihetsgrader, fleksibel), SCARA (stiv vertikalt, ettergivende horisontalt – rask plukk-og-plasser i et plan), kartesisk/gantry (lineære akser i x, y, z – enkel og nøyaktig), sylindrisk og sfærisk (eldre typer), parallell/delta (lav bevegelig masse, høy hastighet, men begrenset arbeidsområde).
- Ledd: revolutt (R, roterer) og prismatisk (P, forskyves lineært). En robots type beskrives ofte med en bokstavkode, f.eks. RRR for en 3-leddet artikulert arm.
- Sensorer: en inkrementell enkoder teller pulser og må «hjemmes» (finne en referanseposisjon) etter oppstart; en absolutt enkoder gir vinkelen direkte, også rett etter et strømbrudd, men er dyrere. Oppløsningen til en absoluttenkoder med bits er .
- Aktuatorer: elektriske motorer (vanligst) driver som regel gjennom en girkasse (f.eks. harmonic drive) som øker moment og reduserer hastighet: , der er utvekslingen og virkningsgraden.
- End effector (robotverktøy) er det som sitter ytterst – griper, sveisepistol, sugekopp osv. – og bestemmer hva roboten faktisk utfører.
- Kollaborative roboter (cobots) er laget for å jobbe trygt nær mennesker, med kraft- og hastighetsbegrensning, i motsetning til tradisjonelle roboter som ofte krever sikkerhetsgjerder.
- Baneplanlegging (path planning) finner en kollisjonsfri vei fra start til mål gjennom arbeidsområdet, f.eks. med algoritmer som A* eller RRT.
Slik løser du oppgavene
- Identifiser hvilken del av systemet oppgaven handler om: konfigurasjon, ledd/aktuator, sensor eller sikkerhet/planlegging.
- For girkasser: hold styr på om du regner momentet inn eller ut av giret, og husk virkningsgraden.
- For enkodere: skill mellom pulser per omdreining (inkrementell) og bits oppløsning (absolutt) – de gir svar i ulike enheter.
- Tenk gjennom hvilken robotkonfigurasjon som passer oppgavens geometri og hastighetskrav.
Eksempel
En motor gir 0,6 Nm inn på en girkasse med utveksling 100:1 og virkningsgrad 85 %. Hvor stort moment får leddet?
- .
- Nm.
Vanlige feil
- Å blande sammen inkrementell og absolutt enkoder, eller glemme at inkrementelle må hjemmes.
- Å glemme virkningsgraden når man regner moment gjennom en girkasse.
- Å tro at flere frihetsgrader alltid er bedre – en SCARA er ofte raskere og billigere for en oppgave i et plan enn en full 6-akset arm.
- Å tro at cobots alltid er trege eller svake – de er trygge, ikke nødvendigvis langsomme.
Begreper i denne delen
Eksempeloppgaver med løsning
Her er noen av oppgavene i robotikk. I appen får regneoppgavene nye tall hver gang, så du kan øve til det sitter – og ta en prøveeksamen med karakter før eksamen.
Rotasjoner og transformasjoner: Hvilke egenskaper har en rotasjonsmatrise ?
Svar: og
Den er ortogonal og bevarer lengder og orientering.
Kinematikk: Hva er foroverkinematikk?
Svar: Å finne verktøyets posisjon og orientering fra leddvinklene
Å gå andre veien er inverskinematikk.
Robotsystemer: Hvor mange frihetsgrader trengs for å posisjonere og orientere et verktøy fritt i 3D?
Svar: 6
Tre for posisjon og tre for orientering.
Rotasjoner og transformasjoner: En 4×4 homogen transformasjonsmatrise inneholder …
Svar: en rotasjon og en translasjon
.
Passer for disse emnene
Innholdet dekker pensum som går igjen i ingeniørutdanningene, blant annet:
- ELVE3610 (OsloMet)
- TPK4170 (NTNU)