formålet med dette dokumentet er at det skal gi et overblikk over pensumet, slik at det blir mye lettere å lese til muntlig eksamen, også lettere å bla tilbake i senere tid, samt et sammendrag fra forelesningene til Svein Ivar Sagatun.
link = arm
joint = ledd
frame = ramme
joint space = leddrommet
operational space = oppgaverommet
TCP = Tool Centre Point
End-effector = samme som TCP, enden/tuppen av robotarmen
redundans = overskudd (av krefter, ledd,,) samme som overaktuert system
åpen kinematisk sløyfe
lukket kinematisk sløyfe
singularitet
Kapitler merket med * er oppgaver som kan dukke opp på eksamen...
Finne "resten" av rotasjonsmatrisa
DH-konvensjonen, kan vi ikke denne er det garantert stryk
må kunne sette opp DH og måle seg frem til dataene til TCP
Fullt bevis med Lyapunovanalyse, se smørbrødsliste i kap5.
Skal vite hvordan man kommer frem til skjevsymmetrisk matrise
medsensor er ofte Fjellstad fra Sitex
Hvis vi ikke kan så mye, spør Fjellstad om grunnleggende reguleringsteknikk (sikkert PID-regulatorer, stabilitet, fasemargin osv..).
Formålet er å "selge" rapporten til leseren/professoren
Plott mange plott i samme vindu - lett å sammenlikne da
Skal være lett å lese, ikke bla frem og tilbake og lete etter figurer, osv
1.forelesning, fre 27.08.2004
Introduction to the course and robotics in general.
Kinematics
Denavit Hartenberg convention
2.forelesning, fre 10.09.2004
Denavit Hartenberg
Differential kinematics
3.forelesning, fre 01.10.2004
Dynamics and some differential kinematics.
4.forelesning, fre 15.10.2004
Dynamics, Trajectories and Motion Control.
Sammendrag: Handler om rotasjonsmatriser, vektorer, direkte kinematikk, Denavit-Hartenberg konvensjonen
hvor
,
dvs
er en funksjon av tiden (derfor derivert av kjernen)
egenskaper til
rotasjonmatrisen
er høyrehåndssystem, og
er venstrehåndssystem
Rotasjonsmatrisen mellom to rammer er et element av
spesiell
ortogonal gruppe av
3.orden
et lite
bevis
litt mer om ortogonalitet...
se kap 4.1.1
kryssproduktet til en vektor er definert
som
da er den skjevsymmetriske
egenskap
venstre og høyre invers eksisterer kun hvis A har full rang. Hvis A er singulær (mister rang, det=0) eksisterer ikke den inverse.
regler mht
determinant
Rotasjon om z-aksen
gir
det
gir
vektor fra et koordinatsystem til et
annet
vektor gjennom flere koordinatsystem (eller
robotakser)
i robot postmultipliserer man rotasjonmatriser, i navfart premultiplisering, hvorfor?
i robot roterer man i forhold til aksene. akse1 vs akse2....
hvor
ikke forelest, men pensum? SIS har aldri brukt dette i praksis...
relasjonen mellom et punkt i to koordinatsystem (frames), kan utvides med et
fjerde
element
homogen transformasjon (koordinat
transformasjon)
som betyr en transformasjon fra frame 1 til frame 0
Dette kan skrives på en kompakt form
som
transformasjon fra ramme 0 til ramme 1 er
da
ikke ortogonal
Hvor er TCP (tool centre point / end-effector) når vinkler og utstrekning er gitt?
Dvs vi vet vinklene i hvert robotledd og forskyvning (hvis prismatiske ledd)
Homogen transformasjon gitt i base koordinater (n s a p, normal sliding approach position)
hvor
=posisjon
til end-effector,
=retning
mot objekt(approach),
=normal
til
(sliding plane of jaws),
=normal
til
og
slik at systemet er høyre-hånd. Ta pistolgrepet, a pekefinger, s
langfinger, n tommel (tilsvarende x,y,z koordinater)
Total transformasjon blir
da
som er rekursivt
mål: skal
finne
antar
Nummerer alle armledd (joints) fra
til
-> n=1,2,3,4,5,6,7
(Finn og nummerer jointaksene fra
til
-> joint1 er akse0, joint2 er akse1)
Velg
langs
aksen til joint
,
dvs
peker langs
, ->
->
roterer/translaterer om
aksen.
Lokaliser origo
,
og finn
slik at man får et høyrehåndssystem. x er normalen til
z-planet. Lurt å velge en akse som har samme retning i alle rammene (eks.
.. peker alle i samme retning = parallelle).
Lag
DH-tabell
les:
avstand
langs
fra
til krysset
,
->avstand fra joint1 til forrige joint langs x1, avstand i x =
avstand
langs
fra
til krysset
->avstand fra joint1 til forrige joint langs z0, avstand i z =
vinkel
mellom
om
-> vinkel mellom joint1 og forrige om x-aksen, Rotasjon om x,
vinkel
mellom
om
-> vinkel mellom joint0 og forrige om z-aksen, Rotasjon om z,
Finn den homogene transformasjonen
Finn total transformasjon
Finn verktøytransformasjon
konstant
er egentlig en offset pga tykkelse i robotarm.
Bra å designe robot uten offset, mye enklere da
Lurt med mest mulig parallelle akser
Oppgaverommet er definert som
hvor
er posisjonen til TCP og
er dens orienteringen
Eks med to-planar-link
robot
Leddrommet er definert
som
Det arbeidsområdet TCP kan nå.
En robot er kinematisk redundant når den har flere frihetsgrader av
mobilitet enn variabler som trengs for å utføre en bestemt oppgave.
Hvis dimensjonen i oppgaverommet er mindre enn dimensjonen i leddrommet
så er roboten kinematisk redundant. Redundans er relativ i forhold til
den oppgaven roboten skal utføre. En 6akse robot er funksjonelt
redundant, men ikke intrinsically redundant.
Nyttig i praksis, dårlig beskrevet i boka.
+mere...
Hva er leddvinklene hvis vi har en gitt TCP og orientering?
Gitt TCP og orientering. Hvordan blir vinklene da?
Man designer dette analytisk, ønsker ikke numeriske verdier.
Foreleser hoppet over dette tema på forelesing, fordi det var så fryktelig kjedelig. Pensum?
Direkte kinematikk skrives som en homogen
transformasjonsmatrise
Målet med differensiell kinematikk er å finne sammenhengen mellom
leddhastighetene og end effector lineær- og rotasjonshastighet. Med andre
ord, vi skal finne den linære hastigheten til TCP
,
og rotasjonshastigheten
som en funksjon av leddhastighetene
med følgende
likninger
hvor
er en
matrise relativt til bidragret fra leddhastigheten
til TCPs lineære hastighet
og
er en
matrise relativt til bidragret fra leddhastigheten
til TCPs angulære (vinkel) hastighet
som kompakt kan skrives
som
Dette representerer robotens differensielle kinematiske likninger.
Den geometriske jacobien
er
da
En tidsvarierende rotasjonsmatrise
med ortogonal egenskap
som derviveres med hensyn
på tiden
definerer den skjevsymmetriske
matrisen
S
og er skjevsymmetrisk
fordi
Postmultipliserer begge sider av
* med
Hvis vi deriverer en konstant vektor
og vektoren
får
vi
Hvis vi deriverer en angulær vektor
,
får
vi
Hvis R er en
rotasjonsmatrise
Dette uttrykker rotasjonshastigheten for rammen om z-aksen.
vi skal transfomere ett punkt
,
fra ramme 1 til ramme
0
denne
tidsderiveres
husk postmultiplisering i robotverden
Betrakt en generell
i en robot med en åpen kinematisk sløyfe. I følge
DH-konvensjonen, beskriver
forbindelsen mellom
og
.
(ledd i og ledd i+1).
er festet til
med origo langs aksen
,
og
har origo langs
aksen. (Se fig 3.1 s 82 i bok)
Vi lar posisjonsvektorene
gå fra baseramme
til
.
Vi danner en trekant med posisjonsvektoren
,
som er avstanden mellom
.
Da kan vi skrive koordinattransformasjonen
* som
som
deriveres
3.1.3 Beregning av Jacobi
3.2.1 Eksempel beregning av jacobi på en tre-link planar arm
3.3 Kinematisk singularitet
Når jacobien ikke er inverterbar, og mister rang oppstår singularitet. Det=0
se eks fig3.3 i boka.
Når armene er helt utstrekt/sammentrekt (boundary singullarities), så kan vi ikke spesifisere en vilkårlig hastighet/posisjon der vi ønsker.
3.4 Analyse av redundans
3.5 Invertert differensialkinematikk (Differential Kinematics Inversion)
3.5.1 Redundante systemer
3.6 Analytisk jacobi
3.7 Inverse kinematiske algoritmer
3.8 *Statikk (typisk eksamensstoff)
Å utvikle en dynamisk modell for en manipulator, spiller en viktig rolle for å simulere bevegelse (motion), analyse av struktur til roboten og design av reguleringsalgoritmer. Simulering av bevegelse gjør at man kan prøve ut reguleringstrategier og teknikker for bevegelsesplanlegging uten å bruke et fysisk system. Analyse av dynamisk modell kan være god hjelp til mekanisk design av prototyper. Berekninger av krefter og momenter for å oppnå typisk ønskede bevegelser gir verdifull informasjon om å designe ledd (joints), transmisjoner og aktuatorer.
Kapittelet tar for seg to metoder for å berekne bevegelseslikningene til en robot i leddrommet (joint space).
Lagrange - forholdsvis enkelt og systematisk modellering, bruker generaliserte koordinater
Newton-Euler - Rekursiv modellutvikling, effektivt siden man studerer den typiske åpne strukturen i robotens kinematiske kjede.
hvor
=
total energi,
= total kinetisk energi,
= total potensiell energi i generaliserte koordinater
Lagrange's
likning:
som beskriver endringen i energien og
= generaliserte krefter og
generaliserte
koordinater
Et naturlig valg av generaliserte koordinater
for en robot er leddvinklene
,dvs
Vi har en manipulator med
stive armledd. Total energi finnes ved å summere opp bidraget fra
bevegelsen til hvert armledd og hvert
motor/aktuator-ledd.
hvor
er kinetisk energi i armledd
,
og
er kinetisk energi i motor som virker på ledd
Kinetisk energi fra
er gitt
av
hvor
er lineær hastighetsvektor og
er tetthet, summert opp over
som er volumet av armleddet
(
).
Hastigheten til punktet
kan finnes ved skjevsymmetrisk
matrise
hvor
er hastigheten i massesenteret, og
er rotasjonshastigheten om massesenteret til armleddet
(
),
er en forskjellen mellom posisjonsvektorene
og
noen viktige
formler
Ved å substituere * inn i *, kan vi finne kinetisk energi i hvert ledd.
De forskjellige bidragene er gitt ved:
-Translatorisk, null rotasjon, gir
-Mutual
(innbyrdes, felles, gjensidig)
,
hva er dette for ett bidrag?
-Rotasjon, med lineær hastighet lik null,
hvor treghetsmatrisen
er symmetrisk
Treghetsmatrisen er gjelder om massesenteret til den aktuelle linken (armleddet).
Ved bruk av DH-konvensjonen vil rotasjonsleddet
være
fordi det går fra ramme til ramme.
Hvis en befinner seg i samme ramme som armleddet, blir
konstant.
Ved summasjon av translatorisk * og
rotasjons energi *, får
vi
Nå må vi uttrykke den kinetiske energien som en funksjon av de generaliserte koordinatene til systemet, som er leddvinklene. Vi bruker den geometriske metoden for å berekne Jacobien til de mellomliggende armleddene.
Da blir den endelige summen for kinetisk energi fra
Man bruker samme fremgangsmåte som over.
Kinetisk energi for
kan skrives
som
hvor
er
massen til rotoren,
er massesenterets lineære hastighet til rotoren,
er treghetsmomentet om rotorens massesenter og
er vinkelhastigheten til rotoren.
Man kan også innføre gir som reduserer
energien
hvor
er vinkelposisjon og
er girreduksjonsforholdet
Total kinetisk energi for motor blir til slutt som i
* (etter å ha hoppet
over en del
likninger)
hvor
er treghetsmatrisen, symmetrisk, positiv
definitt
Som for kinetisk energi, så er potensiell energi som er lagret i roboten,
gitt ved en sum av bidrag mellom hver link ( også mellom hver
rotor).
Man antar også her stive armledd (hvis ikke må man ta med elastiske krefter for fleksible ledd - eks hvis en robot går uhyre fort, får den en "slangeliknende" bevegelse)
Det er kun gravitasjonen som bidrar med potensiell energi, dermed får
vi
gravitasjonsvektoren (med
som vertikalakse) kan f.eks velges
som
merk at den potensielle energien kun virker gjennom posisjonsvektorene
.
, og ikke gjennom leddhastigheten
slik som med kinetisk energi. Dermed er potensiell energi kun en funksjon av
leddvariablene
Når vi har bereknet den totale kinetiske og potensielle energien til
roboten, kan vi skrive Lagrangelikningen *
som
Lagrangelikn * deriveres mhp leddhastigheten
til
,
(husk at
ikke er avhengig av
)
bevegelseslikningene blir dermed
forstår ikke hvordan man deriverer med summetegn
er treghetsmatrise ,
korioles,
viskøs friksjon,
coloumb
friksjon,
gravitasjon,
ytre krefter,
indusert moment fra end-effector
Tilsvarende matrise i marine-språk er
(Fossen)
hvor M er systemets treghetsmatrise, C coriolis-centripetal matrise, D
dempematrise, g gravitasjonsvektor,
control inputs,
vektor for pretrimming, w vektor for forstyrrelse som vind, bølger,
strøm.
Skal
bevise:
hvor
er en hvilken som helst
vektor.
C
matrisa skrives
som
er Christoffel symbol of the first type, pga symmetri i
så er
.
videre har
vi
hvis vi setter
så får vi
som ikke er det samme som
,
fordi
inneholder
.
For å bevise at påstand
,
er riktig så må vi bruke Lyapunovanalyse.
Lyapunovbevis:
som
deriveres
vi velger en passende "høyreside"
fra likn * (med null friksjon
)
setter inn
i
som blir
hvis
velges mindre enn
Two-link cartesian arm
Two-link planar arm
Paralellogram-arm
Å berekne de dynamiske parametrene ut fra en mekanisk modell er ikke trivielt. For å estimere parametrene bruker vi teknikker fra systemidentifisering. (Se kinematisk kalibrering)
vi kan beregne parametervektoren
fra målinger av leddvinkelmomentet
og evaluering av matrisen
med en minste-kvadraters
metode
er venstre-pseudo-invers av matrisen
Forutsetninger:
Vi antar at de kinematiske parametrene i
er kjent, f.eks etter en kinematisk kalibreringsprosedyre
( *)
posisjonsmåling av vinkel
hastighetsmåling av vinkel
akselerasjon av vinkel
(numerisk beregnet)
Som et alternativ til leddrom-modellen, kan bevegelseslikningene til roboten uttrykkes direkte i oppgaverommet. Vi må da finne en dynamisk modell som beskriver forholdet mellom de generaliserte kreftene som virker på roboten og variablene som beskriver TCP posisjonen og orienteringen i oppgaverommet (operational space).
Vi starter med den dynamiske likningen i leddrommet * og antar null friksjon
vi setter
også fordi
(se likn 3.99 i bok fra
statikkkapittelet)
og snur denne mhp akselerasjonen
hvor likningen inneholder den geometriske jacobien.
hvor denne likningen inneholder den analytiske jacobien.
Derfor må vi lage en transformasjon mellom de to jacobiene
Ved å substituere (1) inn i (2), og bruke transformasjonen i (3),
får
vi
Som kompakt kan skrives
hvor
gjelder for en ikke-redundant robot og
må ha full rang.
For reduntant robot gjelder
se artikkel til SIS
6.2 Joint Space Control
6.3 Independent Joint Control (ikke forelest - men i høyeste grad pensum)
6.5 Centralized Control