universidade de aveiroana/robotica/docs/p1_sistemascoord… · 4 filipe m. silva modelização e...

36
1 UNIVERSIDADE DE AVEIRO UNIVERSIDADE DE AVEIRO Dept Dept . de Electrónica e Telecomunicações . de Electrónica e Telecomunicações IST IST - - ISEP ISEP Mestrado em Engenharia Electrotécnica e de Computadores Mestrado em Engenharia Electrotécnica e de Computadores 2003/3004 2003/3004 Modelização Modelização e Controlo de Sistemas Dinâmicos e Controlo de Sistemas Dinâmicos Visão por Computador Aplicada à Robótica Industrial Visão por Computador Aplicada à Robótica Industrial Filipe Miguel Silva Filipe Miguel Silva [email protected] Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 2 Sumário Parte I – Fundamentos de Cinemática Noções introdutórias Transformações geométricas elementares Coordenadas homogéneas Matrizes de transformação a 3 dimensões Pós-multiplicação e pré-multiplicação Orientação e ângulos de Euler Cinemática de manipuladores Espaço das juntas e espaço cartesiano Parâmetros de juntas e elos Algoritmo de Denavit-Hartenberg Relações diferenciais e o operador Jacobiano O problema das redundâncias e singularidades Planeamento de trajectórias

Upload: others

Post on 18-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

1

UN

IVE

RSI

DA

DE

DE

AV

EIR

OU

NIV

ER

SID

AD

E D

E A

VE

IRO

Dep

tD

ept .

de E

lect

róni

ca e

Tel

ecom

unic

açõe

s. d

e El

ectró

nica

e T

elec

omun

icaç

ões

IST

IST --

ISEP

ISEP

Mestrado em Engenharia Electrotécnica e de ComputadoresMestrado em Engenharia Electrotécnica e de Computadores2003/30042003/3004

ModelizaçãoModelização e Controlo de Sistemas Dinâmicose Controlo de Sistemas Dinâmicos

Visão por Computador Aplicada à Robótica IndustrialVisão por Computador Aplicada à Robótica Industrial

Filipe Miguel Silva Filipe Miguel Silva [email protected]

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 2

SumárioParte I – Fundamentos de Cinemática

• Noções introdutórias• Transformações geométricas elementares• Coordenadas homogéneas• Matrizes de transformação a 3 dimensões• Pós-multiplicação e pré-multiplicação• Orientação e ângulos de Euler• Cinemática de manipuladores• Espaço das juntas e espaço cartesiano• Parâmetros de juntas e elos• Algoritmo de Denavit-Hartenberg• Relações diferenciais e o operador Jacobiano• O problema das redundâncias e singularidades• Planeamento de trajectórias

Page 2: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

2

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 3

Visão por Computador - o que é?•• Algumas definiçõesAlgumas definições

– Compreensão do conteúdo de imagens (AI, comportamento)– Um modo sensorial em robótica– Emulação computorizada da visão humana– O inverso da computação gráfica (CG)

• Formalmente, a visão por computadorvisão por computador é o processo de:– Extracção– Caracterização– Interpretação

… de informação a partir do mundo tridimensional

A CG parte de concepções (modelos) para as representações (imagens)

A VC parte das imagens para extrair os modelos

A CG parte de concepções (modelos) para as representações (imagens)

A VC parte das imagens para extrair os modelos

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 4

Importância da Visão por Computador• A visão, como método sensorial, assume um papel cada vez mais

importante a vários níveis:

Processos industriais envolvendo montagem e/ou identificação de componentes, inspecção e/ou controlo de qualidade

– Navegação em robótica autónoma móvel

– Vigilância e sistemas de segurança

– Interfaces gráficas homem-máquina

– Processamento de imagens médicas

– Formação de base de dados

– Engenharia inversa

Page 3: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

3

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 5

Exemplo de Problemas a Solucionar com VC

•• Como Fazer?Como Fazer?

– Localização e Transferência de MateriaisA partir de uma imagem com diversos elementos, o robô deve localizar cada um deles para depois os manipular

– Localização e Seguimento de ObjectosPretende-se que uma câmara montada no elemento terminal do robô acompanheo movimento de um dado objecto

– Tarefas de ProcessamentoPretende-se realizar operações de processamento (e.g., pintura) sobre um plano de inclinação desconhecida

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 6

Áreas e Níveis da Visão por Computador1. Percepção

Aquisição ou obtenção de imagem

2. Pré-processamentoRedução de ruído ou realce de contrastes

3. SegmentaçãoPartição da imagem em zonas de interesse (objectos)

4. DescriçãoDeterminação de propriedades de objectos (tamanho, forma, ...)

5. ReconhecimentoIdentificação de objectos descritos a partir de uma base de dados

6. InterpretaçãoAtribuição de significados a um conjunto de objectos reconhecidos

BaixoNível

MédioNível

AltoNível

Page 4: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

4

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7

Robótica Industrial• Actualmente, existe uma distinção clara entre os domínios da:

Robótica fixaRobótica fixa: braços articulados muito divulgados a nível industrial

Robótica móvelRobótica móvel: plataforma móveis e robôs de pernas

•• Robô IndustrialRobô Industrial

– Sistemas programáveis adaptados à realização de tarefas, em geral, de âmbito industrial, tais como:

Manuseamento de materiaisOperações de processamentoMontagem e inspecção

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 8

Estudo da Robótica de Manipuladores• O estudo dos sistemas robóticos de manipulaçãosistemas robóticos de manipulação envolve os seguintes

temas:

Cinemática – trata das relações geométricas que governam o movimento sem considerar as forças e/ou binários que o afectamPlaneamento – gera os objectivos ou intenções de movimento

Dinâmica – trata das relações entre os binários/forças nas juntas e o movimento do robôControlo – assegura que todos os aspectos do movimento planeado sejam levados a cabo pela coordenação de um conjunto de acçõesProgramação – define o tipo de programação usado (e.g., off-line, on-line)

Page 5: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

5

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 9

IntroduçãoIntroduçãoSistemas de Eixos

• Os sistemas de eixos coordenados a usar são ortogonaisortogonais e directosdirectos –sentido anti-horário

Sistemas de Coordenadas DirectosSistemas de Coordenadas Directos

x

y

α

z

y

βγ

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 10

IntroduçãoVectores e Matrizes

• Um ponto no espaçoponto no espaço é representado por um vector coluna com três coordenadas (duas no caso do plano)

Associadas a um vector aplicado na origem do sistema de eixos e com as coordenadas do seu ponto extremo

x

y

rr( )00 , yxP

O vector tem as mesmas coordenadas do ponto P

O vector tem as mesmas coordenadas do ponto P

rrα = π/3Ângulo

x0 = 5 , y2 = 12Coordenada

Matriz

Vector

EXEMPLOENTIDADE⎥⎦

⎤⎢⎣

⎡=

0

0

yx

rr

⎥⎦

⎤⎢⎣

⎡=

dcba

T

⎥⎦

⎤⎢⎣

⎡==

yx

vvr

Page 6: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

6

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 11

IntroduçãoPontos e Referenciais

•• Ponto Ponto pp visto de dois referenciaisvisto de dois referenciais– Qualquer ponto no espaço pode ser visto de diferentes formas consoante o

referencial usado

O ponto p expresso em dois referenciais R e NO ponto p expresso em dois referenciais R e N

⎥⎥⎥

⎢⎢⎢

=

zN

yN

xN

N

ppp

p

A relação entre Rp e Np tem a ver com a relação de posiçãoe orientação entre os dois referenciais

A relação entre Rp e Np tem a ver com a relação de posiçãoe orientação entre os dois referenciais

xy

z

⎥⎥⎥

⎢⎢⎢

=

zR

yR

xR

R

ppp

p

p

x’

y’z’

R

NRp

Np

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 12

IntroduçãoPontos e Referenciais

•• Translação de um pontoTranslação de um ponto– Movimentar um ponto no espaço significa alterar-lhe as coordenadas, i.e.,

passar de uma posição p1 para uma posição p2 visto do mesmo referencial

Atendendo à figura podemos escrever que q = p2 – p1Atendendo à figura podemos escrever que q = p2 – p1

A translação no espaço pode ser traduzida pela adição/subtracção de vectores !!!

A translação no espaço pode ser traduzida pela adição/subtracção de vectores !!!

xy

z

⎥⎥⎥

⎢⎢⎢

⎡+

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

⎡=

z

y

x

z

y

x

z

y

x

qqq

ppp

ppp

1

1

1

2

2

2

2p

q

R

p1 p2

Page 7: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

7

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 13

IntroduçãoPontos e Referenciais

•• Translação de um segmento de rectaTranslação de um segmento de recta– Implica calcular as novas coordenadas dos seus dois extremos

•• Translações de figuras complexas (Translações de figuras complexas (e.g.e.g., cubo), cubo)– Implica recalcular todas as novas posições de todos os pontos relevantes

(e.g., oito vértices do cubo)

Requer uma alternativa mais genérica paradeterminar a nova posição do CUBO !!!

Requer uma alternativa mais genérica paradeterminar a nova posição do CUBO !!!

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 14

IntroduçãoPontos e Referenciais

•• Translação de um cuboTranslação de um cubo– A alternativa passa pela definição de um segundo referencial solidário com

o objecto a mover

Antes da translação os referenciais coincidem:

– Referencial original (R)

– Novo referencial (N)

Após a translação, as coordenadas do ponto p são:

– Novo referencial mantêm-se as coordenadas

– Referencial original

Antes da translação os referenciais coincidem:

– Referencial original (R)

– Novo referencial (N)

Após a translação, as coordenadas do ponto p são:

– Novo referencial mantêm-se as coordenadas

– Referencial original xy

z

qpp RNR +=

R

y’

x’

z’

N

RpRq

Np

Page 8: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

8

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 15

Transformações Geométricas• No espaço tridimensional há 6 transformações geométricas

independentes: 3 translações e 3 rotações

– Trans(x,a), Trans(y,a), Trans(z,a) = Trans(0,0,a)

– Rot(x, α), Rot(y, α), Rot(z, α)

Transformações sucessivas resultam numa transformação decomponível nas 6 transformações elementares !

Transformações sucessivas resultam numa transformação decomponível nas 6 transformações elementares !

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 16

Transformações GeométricasTransformação de um Ponto (2D)

• Se atendermos ao caso da translação no espaço, poderemos escrever em notação matricial:

Podemos admitir um caso de transformação geométrica onde cadanova coordenada depende das coordenadas originais, tal que:

Podemos admitir um caso de transformação geométrica onde cadanova coordenada depende das coordenadas originais, tal que:

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

y

x

pp

yx

yx

1

1

2

2

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

y

x

pp

yx

dcba

yx

1

1

2

2

p, vector de translação

p, vector de translação

A transformação de translação é obtida fazendo T a identidade

A transformação de translação é obtida fazendo T a identidade

matriz Tmatriz T

Page 9: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

9

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 17

Transformações GeométricasTransformação de um Ponto (2D)

•• Matriz identidade (transformação nula) e sem translaçãoMatriz identidade (transformação nula) e sem translação

•• Reflexão em relação a um eixo (simetria axial)Reflexão em relação a um eixo (simetria axial)

SeSe ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

1

1

1

1

2

2

00

1001

yx

yx

yx

⎥⎦

⎤⎢⎣

⎡=

1001

T

SeSe ⎥⎦

⎤⎢⎣

⎡−=

1001

T ⎥⎦

⎤⎢⎣

⎡−=⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−=⎥

⎤⎢⎣

1

1

1

1

2

2

00

1001

yx

yx

yx

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 18

Transformações GeométricasTransformação de um Ponto (2D)

•• Reflexão em relação à origem (simetria central)Reflexão em relação à origem (simetria central)

•• Factor de escalaFactor de escala

SeSe ⎥⎦

⎤⎢⎣

⎡−−

=⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡−

−=⎥

⎤⎢⎣

1

1

1

1

2

2

00

1001

yx

yx

yx

⎥⎦

⎤⎢⎣

⎡−

−=

1001

T

SeSe ⎥⎦

⎤⎢⎣

⎡=

100a

T ⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

1

1

1

1

2

2

00

100

yax

yxa

yx

Page 10: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

10

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 19

Transformações GeométricasTransformação de um Ponto (2D)

•• Rotação de 90ºRotação de 90º

SeSe ⎥⎦

⎤⎢⎣

⎡−=⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

1

1

1

1

2

2

00

0110

xy

yx

yx

⎥⎦

⎤⎢⎣

⎡ −=

0110

T

Exemplo: Seja um triângulo com os seguintes vértices: A(2,1), B(2,-1) e C(4,0)

Quais as novas coordenadas após as transformações?

Exemplo: Seja um triângulo com os seguintes vértices: A(2,1), B(2,-1) e C(4,0)

Quais as novas coordenadas após as transformações?

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 20

Transformações GeométricasMatriz de Rotação (2D)

• Pode-se verificar que a matriz de rotação de 90º anterior é compatível com o seguinte:

Se ao ponto de coordenadas cartesianas (x1,y1) e coordenadas polares (l,θ)aplicar uma rotação de valor φ, em torno da origem, resulta no ponto (x2,y2)Se ao ponto de coordenadas cartesianas (x1,y1) e coordenadas polares (l,θ)

aplicar uma rotação de valor φ, em torno da origem, resulta no ponto (x2,y2)

⎥⎦

⎤⎢⎣

⎡ −=

º90cosº90sinº90sinº90cos

T

Matriz rotação genérica ?

Matriz rotação genérica ?

⎥⎦

⎤⎢⎣

⎡ −=

θθθθ

cossinsincos

T

( ) ( )( ) ( )⎩

⎨⎧

+=+=+=−=−=+=

θθφθφθφθθθφθφθφθ

cossinsincoscossinsinsincossinsincoscoscos

112

112

yxllyyxllx

x1x2

y1

y2

θ

φ

Page 11: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

11

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 21

Transformações GeométricasMatriz de Rotação (2D)

• Finalmente, em notação matricial:

Matriz de Rotação, RMatriz de

Rotação, R

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡ −=⎥

⎤⎢⎣

1

1

2

2

cossinsincos

yx

yx

θθθθ

Seria vantajoso, pelo menos do ponto de vista computacional, representaruma transformação geométrica de forma compacta e elegante !

Seria vantajoso, pelo menos do ponto de vista computacional, representaruma transformação geométrica de forma compacta e elegante !

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 22

Transformações GeométricasCoordenadas Homogéneas

• Uma solução para a questão anterior obtém-se integrando numa única matriz os efeitos da rotação e da translação

Coordenadas HomogéneasCoordenadas Homogéneas

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

110011

1

2

2

yx

pdcpba

yx

y

x

Situação particular (k = 1) da definiçãogeral de coordenadas homogéneas

Situação particular (k = 1) da definiçãogeral de coordenadas homogéneas

Page 12: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

12

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 23

Transformações GeométricasCoordenadas Homogéneas

• A matriz de transformaçãomatriz de transformação (homogénea) é constituída por secções com significados específicos

Componente de Translação

Componente de Translação

⎥⎥⎥

⎢⎢⎢

⎥⎥⎥

⎢⎢⎢

⎡ −=

⎥⎥⎥

⎢⎢⎢

1100cossinsincos

11

1

2

2

yx

pp

yx

y

x

θθθθ

Componente de Rotação

Componente de Rotação

Rotação PuraRotação Pura

( )⎥⎥⎥

⎢⎢⎢

⎡ −=

1000cossin0sincos

θθθθ

θRot

Translação PuraTranslação Pura

( )⎥⎥⎥

⎢⎢⎢

⎡=

1001001

, y

x

yx pp

ppTrans

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 24

Coordenadas HomogéneasTransformações Compostas

• Uma transformação geométricatransformação geométrica transforma um ponto noutro; uma sucessão de transformações traduz-se em:

– Uma transformação composta é ela mesma uma transformação geométrica

A ordem das multiplicações não é necessariamente comutativa!

– Uma transformação composta é ela mesma uma transformação geométrica

A ordem das multiplicações não é necessariamente comutativa!

( )( )( )( ) ( ) 1112311232 pTpTTTTpTTTTp ⋅=⋅⋅=⋅⋅⋅⋅= LL nn

Page 13: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

13

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 25

Transformações CompostasSucessão de Translações

• Sejam duas translações

1221

100

10

01

100

10

01

100

10

01

TTTT ⋅=

⎥⎥⎥⎥

⎢⎢⎢⎢

+

+

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=⋅ yy

xx

y

x

y

x

ba

ba

b

b

a

a

( )⎥⎥⎥⎥

⎢⎢⎢⎢

==

100

10

01

,2 y

x

yx b

b

bbTransT( )⎥⎥⎥⎥

⎢⎢⎢⎢

==

100

10

01

,1 y

x

yx a

a

aaTransT

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 26

Transformações CompostasSucessão de Rotações no Plano

• Sejam duas rotações no plano

121212

1212

22

22

11

11

21

100

0

0

100

0

0

100

0

0

TTTT ⋅=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=⋅ CS

SC

CS

SC

CS

SC

( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

==

100

0cossin

0sincos

11

11

11 θθ

θθ

θRotT ( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

==

100

0cossin

0sincos

22

22

22 θθ

θθ

θRotT

Page 14: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

14

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 27

Transformações CompostasSucessão de Translações e Rotações

• Sejam as transformações

≠≠⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=⋅

100

cossin

sincos

21 y

x

p

p

θθ

θθ

TT

( )⎥⎥⎥⎥

⎢⎢⎢⎢

==

100

10

01

,1 y

x

yx p

p

ppTransT ( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

==

100

0cossin

0sincos

2 θθ

θθ

θRotT

⎥⎥⎥⎥

⎢⎢⎢⎢

+

−−

=⋅

100

cossincossin

sincossincos

12 θθθθ

θθθθ

yx

yx

pp

pp

TT

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 28

Matriz de TransformaçãoGeneralização para 3D

• Os conceitos abordados no caso do plano são generalizáveis para o espaço a três dimensões

– A translação tem mais um grau de liberdade (ou coordenada)

– A rotação pode ser feita em torno de 3 eixos distintos

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1zyx

p

( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

10000cossin00sincos00001

θθθθ

θxRot ( )⎥⎥⎥⎥

⎢⎢⎢⎢

−=

10000cos0sin00100sin0cos

θθ

θθ

θyRot ( )⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=

1000010000cossin00sincos

θθθθ

θzRot

Page 15: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

15

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 29

Matriz de TransformaçãoGeneralização para 3D

• A matriz de transformação homogénea tem, além das rotações e translações, mais quatro termos (última linha)

TranslaçãoTranslação

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

=

S

pRRR

pRRR

pRRR

z

y

x

321

333231

232221

131211

λλλ

T

RotaçãoRotação

Factor de escala 1

Factor de escala 1

Perspectiva [0 0 0]

Perspectiva [0 0 0]

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 30

Interpretação da Matriz de TransformaçãoMovimento de Ponto

• Indica as transformações geométricastransformações geométricas operadas sobre um ponto para o levar para outro local geométrico

Não são óbvias as implicações da transformação se o objecto for um ponto:

Não são óbvias as implicações da transformação se o objecto for um ponto:

12 pTp ⋅=

Movimento imposto a um ponto, sempre dentro de um mesmo referencial !

Movimento imposto a um ponto, sempre dentro de um mesmo referencial !

xy

z

p2

R

p1 T

Page 16: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

16

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 31

Interpretação da Matriz de TransformaçãoMovimento de Referencial

• Relaciona as coordenadascoordenadas de um mesmo ponto físico em dois referenciais diferentes

Muda-se o ponto de vista:Muda-se o ponto de vista:

xy

z

x’

y’z’

R

N

Rp

Np

pTp NN

RR ⋅=

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 32

Interpretação da Matriz de TransformaçãoRelação entre Referenciais

• Transforma um referencialreferencial (R) noutro referencialreferencial (N)

É possível identificar os quatro vectores que indicam aorientação e posição do novo sistema de coordenadas:

É possível identificar os quatro vectores que indicam aorientação e posição do novo sistema de coordenadas:

Trata-se da criação de um novo referencialpor translação e rotação !

Trata-se da criação de um novo referencialpor translação e rotação !

xy

z

⎥⎦

⎤⎢⎣

⎡=

⎥⎥⎥⎥

⎢⎢⎢⎢

=1000

1000333231

232221

131211

NR

NR

NR

NR

z

y

x

NR

pRRRpRRRpRRR

pzyxT x’

y’z’

R

NRTN

Page 17: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

17

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 33

Matriz de TransformaçãoPré e Pós Multiplicação

• Se a transformação RT1 é seguida no tempo da transformação RT2, então isso equivale à transformação global:

– Ou seja, a transformação final resulta da pré-multiplicação das transformações aplicadas sucessivamente no tempo

E o que significará a transformação RT = RT1⋅RT2?

– Ou seja, a transformação final resulta da pré-multiplicação das transformações aplicadas sucessivamente no tempo

E o que significará a transformação RT = RT1⋅RT2?

12 TTT RRR ⋅=

Por outras palavras, em que é que resulta a pós-multiplicação de transformações?

Por outras palavras, em que é que resulta a pós-multiplicação de transformações?

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 34

Matriz de TransformaçãoPré e Pós Multiplicação

Sejam as transformações T1 = Rot(45º) e T2 = Trans(a,0)Sejam as transformações T1 = Rot(45º) e T2 = Trans(a,0)

A pré-multiplicação de uma transformação por outra equivale a aplicar esta segunda no referencial global

A pré-multiplicação de uma transformação por outra equivale a aplicar esta segunda no referencial global

x

y

x’

A pós-multiplicação de uma transformação por outra equivale a aplicar esta segunda no novo referencial

A pós-multiplicação de uma transformação por outra equivale a aplicar esta segunda no novo referencial

y’x’’

y’’45º

T=T2T1= Trans(a,0)⋅Rot(45º)T=T2T1= Trans(a,0)⋅Rot(45º)

a x

y

x’

y’

x’’y’’

45º

T=T1T2= Rot(45º)⋅Trans(a,0)T=T1T2= Rot(45º)⋅Trans(a,0)

a

Page 18: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

18

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 35

Transformação Inversa• A obtenção de um novo ponto aplicando uma transformação

geométrica pressupõe que o processo inversoprocesso inverso é possível

Pelo recurso à inversa de uma matriz é possível invertero processo de transformação geométrica:

Pelo recurso à inversa de uma matriz é possível invertero processo de transformação geométrica:

A matriz de transformação tem propriedades que facilitam o cálculo da sua inversa !

A matriz de transformação tem propriedades que facilitam o cálculo da sua inversa !

1212 ppTpTp =⋅⇒⋅= −1

xy

z

x’

y’z’

R

N

Rp

Np

RTNRTN

NTR = RTN−1NTR = RTN−1

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 36

Orientação e Ângulos de EulerComponente de Orientação

• Na matriz transformação, a submatriz RR traduz a orientação do novo sistema de coordenadas em relação ao anterior

• A matriz de rotação apresenta propriedades úteis:– A inversa é igual à sua transposta: R−1 = RT

– As colunas são ortogonais:

– O determinante é unitário: det(R)=1

⎥⎥⎥⎥

⎢⎢⎢⎢

=

1000333231

232221

131211

z

y

x

NR

pRRRpRRRpRRR

T

ji cc ji ≠=⋅ ,0rr

A orientação é o resultado de uma sequência de 3 rotações em torno de 3 eixos, traduzem os 3 g.d.l. rotacionais que existem no espaço

A orientação é o resultado de uma sequência de 3 rotações em torno de 3 eixos, traduzem os 3 g.d.l. rotacionais que existem no espaço

Page 19: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

19

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 37

Formas de Expressar a OrientaçãoRoll-Pitch-Yaw (RPY)

• Aos ângulos de rotação em torno de cada um dos eixos chamam-se usualmente ângulos de ângulos de EulerEuler

A combinação de ângulos mais imediata é a de pensara rotação segundo os eixos dos xx, yy e zz:

A combinação de ângulos mais imediata é a de pensara rotação segundo os eixos dos xx, yy e zz:

( ) ( )

⎥⎥⎥⎥

⎢⎢⎢⎢

−+−+++−

=

==

1000000

)()()(,,,,

ψθψθθψθφψφψθφψφθφψθφψφψθφψφθφ

φθψψθφψθφ

CCSCSCSSSCSSSCCCS

CSCSSSSCCSCCRotRotRotRPYRot xyz

x

y

z

Yaw(φ), Rotx(φ)Yaw(φ), Rotx(φ)

Pitch(θ), Roty(θ)Pitch(θ), Roty(θ)

Roll(ψ), Rotz(ψ)Roll(ψ), Rotz(ψ)

Esta sequência é conhecida pelos termos ingleses Roll-Pitch-Yaw

Esta sequência é conhecida pelos termos ingleses Roll-Pitch-Yaw

Referencial FixoReferencial Fixo

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 38

Formas de Expressar a OrientaçãoÂngulos de Euler (tipo II)

• Uma outra variante muito usada para os ângulos de Euler é a chamada tipo IItipo II

Rotação em torno do eixo dos zz, rotação em torno donovo eixo dos yy e rotação em torno do novo eixo dos zz:

Rotação em torno do eixo dos zz, rotação em torno donovo eixo dos yy e rotação em torno do novo eixo dos zz:

( ) )()()(,, ψφθψφθ zyzII RotRotRotEuler =

x

y

z ≡ z’Rotx(θ)Rotx(θ)

Variante tipo Z-YN-ZN o índice N lembra que se trata de transformações no novo referencial

Variante tipo Z-YN-ZN o índice N lembra que se trata de transformações no novo referencial

Novo ReferencialNovo Referencial

Roty’(φ)Roty’(φ)

Rotx’’(ψ)Rotx’’(ψ)

x’

y’ ≡ y’’z’’

x’’

Page 20: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

20

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 39

IntroduçãoCinemática de Manipuladores Série

• A cinemáticacinemática de um manipulador é o estudo do conjunto de relações entre posições, velocidades e aceleração dos elos

– A relação entre o referencial de origem e o referencial associado à extremidade do manipulador é dada por uma transformação RTN

2. A relação entre elos é traduzida por uma matriz de transformação Ai

2. A relação entre elos é traduzida por uma matriz de transformação Ai

R N

A1A2

A3

RTN

RTN = A1A2...AnRTN = A1A2...An

1. Atribuir referenciais a cada elo1. Atribuir referenciais a cada elo

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 40

IntroduçãoEspaço das Juntas e Espaço Operacional

• Podemos definir dois espaços de variáveisespaços de variáveis: o espaço de juntas (dim = n) e o espaço cartesiano ou operacional (dim = 6)

– As operações do espaço das juntas para o espaço operacional nãoapresentam ambiguidade, mas o contrário nem sempre é verdade

Cinemática inversa

Cinemática inversa

Espaço cartesianoEspaço

cartesianoEspaço das

juntasEspaço das

juntas

O espaço das juntas é muitas vezes redundantes !

O espaço das juntas é muitas vezes redundantes !

Cinemática directa

Cinemática directa

Page 21: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

21

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 41

IntroduçãoAlgoritmo de Cinemática Directa

• Implementar a cinemática directacinemática directa de um braço manipulador significa determinar as relações que exprimem:

– Um ponto no espaço Cartesiano, em função de um ponto no espaço das juntas

Algoritmo de Cinemática Directa

1. Colocar o robô na posição zero2. Atribuir um sistema de coordenadas a cada elo3. Descrever as relações entre as variáveis das juntas e dos elos4. Determinar as matrizes de transformação Ai dos diversos elos5. Multiplicar os Ai e obter a expressão RTH6. Obter as coordenadas de posição e orientação da mão

Algoritmo de Cinemática Directa

1. Colocar o robô na posição zero2. Atribuir um sistema de coordenadas a cada elo3. Descrever as relações entre as variáveis das juntas e dos elos4. Determinar as matrizes de transformação Ai dos diversos elos5. Multiplicar os Ai e obter a expressão RTH6. Obter as coordenadas de posição e orientação da mão

( )qr rr f=

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 42

IntroduçãoParâmetros de Juntas e Elos

• Para atribuir sistema de coordenadas a um elo é preciso levar em conta a sua geometriageometria e os efeitos que terá no elo seguinte

– No intuito de obter uma forma coerente e prática de determinação desses sistemas de coordenadas, é necessário definir conceitos, tais como:

Eixo de uma junta

Parâmetros cinemáticos dos elos e juntas associadas

Eixo de uma junta

Parâmetros cinemáticos dos elos e juntas associadas

Associação SérieAssociação Série

Page 22: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

22

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 43

Parâmetros de Juntas e ElosEixo da Junta

• O eixoeixo de uma junta é o eixo relacionado com a simetria do movimento inerente à própria junta

– Pode coincidir com o eixo de um ou outro elo ou mesmo ser-lhe ortogonal

– O eixo de uma junta fará parte do sistema de coordenadas associado ao elo

O eixo da junta será por convenção o eixo das coordenadas zz

O eixo da junta será por convenção o eixo das coordenadas zz

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 44

Parâmetros de Juntas e Elos Eixo da Junta

•• Eixo de junta rotacionalEixo de junta rotacional

– No caso de termos dois elos colineares, então o eixo da junta coincide com o eixo longitudinal dos elos

– No caso dos elos terem o eixo de rotação perpendicular ao seu eixo longitudinal, então o eixo da junta é ortogonal

Usado nos “punhos”Usado nos “punhos”

Comum nos cotovelosComum nos cotovelos

torçãotorção

rotacionalrotacional

revolventerevolvente

Page 23: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

23

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 45

Parâmetros de Juntas e Elos Eixo da Junta

•• Eixo de junta prismáticaEixo de junta prismática

Eixo de junta colinear e ortogonal em juntas prismáticasEixo de junta colinear e ortogonal em juntas prismáticas

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 46

Parâmetros de Juntas e Elos Parâmetros Cinemáticos

• Um elo mecânicoelo mecânico é um elemento rígido que mantém fixas as relações entre juntas sucessivas

– Pode ser caracterizado por um determinado número de parâmetros geométricos (cinemáticos) no que diz respeito à transformação que opera

– Para se compreender algumas definições posteriores recorre-se a uma simbologia própria, a saber:

Ângulo medido da direcção de xi para zi em torno do eixo yi

Distância do ponto Oi ao ponto Pi medido ao longo do eixo xi

Ponto de intersecção entre o eixo zi e o eixo xi

Ponto de origem do sistema de coordenadasiO

ii xz ∩

ixii PO |,

( )iyii zx |,∠

Page 24: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

24

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 47

Parâmetros de Juntas e ElosParâmetros Cinemáticos

• Comprimento do elo (li)

– Distância medida ao longo da normal comum entre os eixos das juntas

• Deslocamento de juntas(di)

– Distância entre elos medida ao longo do eixo da junta anterior

• Ângulo de junta (θi)

– Ângulo definido entre o eixo de um elo e o eixo do elo seguinte

• Ângulo de torção do elo (αi)

– Ângulo que o elo impõe desde o eixo da junta anterior até ao da seguinte

O elo n e a junta n são responsáveis pela definição dosistema de coordenadas n solidário com o elo

O elo n e a junta n são responsáveis pela definição dosistema de coordenadas n solidário com o elo

( )ixiii zz |1,−∠=α

( )1|1,−

−∠=iziii xxθ

( )ixiiii xzOl |1, ∩= −

( )1|11,−

∩= −− iziiii xzOd

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 48

Parâmetros Cinemáticos Variável de Junta

FixoFixoαiÂngulo de torção do elo

FixoFixoli (ai)Comprimento do elo

VariávelFixodiDeslocamento de junta

FixoVariávelθiÂngulo de junta

Definição formal

Junta prismática

Junta rotacionalSímboloParâmetro

( )1|1,−

−∠=iziii xxθ

( )ixiii zz |1 ,−∠=α

( )1|11,−

∩= −− iziiii xzOd

( )ixiiii xzOl |1, ∩= −

Vector variáveis de juntaVector variáveis de junta [ ]⎩⎨⎧

⇐⇐

==rismáticapd

rotacionalqqqq

i

ii

Tn

θ,21 Lq

Page 25: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

25

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 49

Transformação Associada a um Elo • Pode concluir-se que o elo i, associado à junta i, realiza uma

transformação geométricatransformação geométrica dando origem ao referencial i+1

A transformação geométrica é decomposta nas 4 operações elementares:

Rotação θi em torno do eixo da junta (zi-1)

Translação ao longo do eixo do elo (xi) do seu próprio comprimento (li)

Translação ao longo do eixo da junta (zi) do afastamento entre juntas (di)

Rotação αi do eixo da junta (zi) em torno do eixo longitudinal do elo (xi)

A transformação geométrica é decomposta nas 4 operações elementares:

Rotação θi em torno do eixo da junta (zi-1)

Translação ao longo do eixo do elo (xi) do seu próprio comprimento (li)

Translação ao longo do eixo da junta (zi) do afastamento entre juntas (di)

Rotação αi do eixo da junta (zi) em torno do eixo longitudinal do elo (xi)

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 50

Transformação Associada a um Elo • Dada a sequência e ordem destas transformações, obtém-se a

transformação final Ai por pós-multiplicação sucessiva

Ai ≡i-1AiAi ≡i-1Ai

( ) ( ) ( ) ( )

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡ −

=

⋅⋅⋅=

10000

100000000001

1000100

0010001

100001000000

,0,00,0,

iii

iiiiiii

iiiiiii

ii

ii

i

i

ii

ii

ixiiizi

dCSSlSCCCSClSSCSC

CSSC

d

lCSSC

RotdTranslTransRotA

ααθαθαθθθαθαθθ

ααααθθ

θθαθ

Elos numerados a partir da base:– base fixa é o elo 0– primeiro elo móvel é o elo 1

Elos numerados a partir da base:– base fixa é o elo 0– primeiro elo móvel é o elo 1

Page 26: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

26

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 51

Cinemática DirectaAlgoritmo de Denavit-Hartenberg

• Algoritmo de Denavit-Hartenberg

– Implementa metodologia sistemática para obter os sistemas de coordenadas e as transformações associadas a cada elo

– Para ser aplicada as juntas têm de estar numeradas por ordem crescente, começando pela base do manipulador

– Para um manipulador com n juntas definem-se n+1 sistemas de coordenadas, sendo o último associado à mão ou garra

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 52

Algoritmo de Denavit-HartenbergSistemas de Coordenadas

• Sistema de coordenadas da base O0– z0 alinhado com o eixo da junta 1– x0 e y0 formam um sistema directo

• Sistema de coordenadas intermédios Oi– zi alinhado com o eixo da junta i+1– Oi é a intersecção de zi com zi-1 ou da normal comum entre zi e zi-1 com zi

– xi com o sentido de ±(zi-1×zi) ou ao longo da normal comum a zi-1 e zi

• Sistema de coordenadas da mão On (o último)– On é o ponto extremo do manipulador– zn colinear com zn-1 e a apontar para “fora”; xn é normal a zn e zn-1

Page 27: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

27

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 53

Algoritmo de Denavit-HartenbergParâmetros das Juntas

É a variável de junta se for rotacional

É a variável de junta se for prismática( )1|11,−

∩= −− iziiii xzOd

( )ixiiii xzOl |1, ∩= −

( )1|1,−

−∠=iziii xxθ

( )ixiii zz |1 ,−∠=α

( ) ( ) ( ) ( )ixiiizi RotdTranslTransRotA αθ ⋅⋅⋅= ,0,00,0,

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 54

• A cinemática directacinemática directa estabelece a relação vectorial entre dois grupos de variáveis: espaço das juntas e espaço operacional

)(qr rr f=

Se indica a postura da extremidade do manipulador,então é imperativo pensar nas seguintes questões:1) Que resulta ao derivar as expressões anteriores em ordem ao tempo?

2) Como se relacionam com elas as velocidades/acelerações das juntas?

Se indica a postura da extremidade do manipulador,então é imperativo pensar nas seguintes questões:1) Que resulta ao derivar as expressões anteriores em ordem ao tempo?

2) Como se relacionam com elas as velocidades/acelerações das juntas?

[ ]Tzyx ψθφ=rr

⇒ indicará as componentes cinéticas dessa mesma extremidade

⇒ indicará as componentes cinéticas dessa mesma extremidadedt

drr

Cinemática DirectaRelações Diferenciais

Page 28: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

28

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 55

• A resposta à segunda questão está num resultado da análise vectorialanálise vectorialreferente à diferenciação de funções vectoriais

– J é designado o Jacobiano da função vectorial f

– Assumindo m variáveis cartesianas e n juntas, ou de modo equivalente:

– J é designado o Jacobiano da função vectorial f

– Assumindo m variáveis cartesianas e n juntas, ou de modo equivalente:

qJr rr dd ⋅=

Extensão das derivadas de funções escalares para o caso de vectores

Extensão das derivadas de funções escalares para o caso de vectores

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

=

n

mmm

n

n

qr

qr

qr

qr

qr

qr

qr

qr

qr

K

MOMM

L

L

21

2

2

2

1

2

1

2

1

1

1

J( ) ( )nm qqqfrrr ,,,,,, 2121 LL =

Cinemática DirectaRelações Diferenciais

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 56

• Assim, pode-se obter analiticamente a relação entre variáveis no espaço cartesiano em função do espaço das juntas

qqJqqJr

qqJr

qfr

&&&&&&

&&

)()(

)(

)(

+=

=

=

A função f é uma transformação não linear que dependedos parâmetros do robô e conduz sempre a uma solução

As relações diferenciais são expressas com o auxílio damatriz do Jacobiano

A função f é uma transformação não linear que dependedos parâmetros do robô e conduz sempre a uma solução

As relações diferenciais são expressas com o auxílio damatriz do Jacobiano

Cinemática DirectaRelações Diferenciais

Page 29: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

29

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 57

• A cinemática inversacinemática inversa determina os valores das juntas que se adequam a uma dada configuração no espaço operacional

A cinemática inversa nem sempre é um problema com solução analítica e, por vezes, não tem mesmo solução!

Mais complexo ainda é o facto de não haver uma metodologia únicade aplicação directa

A cinemática inversa nem sempre é um problema com solução analítica e, por vezes, não tem mesmo solução!

Mais complexo ainda é o facto de não haver uma metodologia únicade aplicação directa

Não será grave porque as soluções de interesse prático estão já todas bem estudadas !!!

Não será grave porque as soluções de interesse prático estão já todas bem estudadas !!!

Existem métodos alternativos dos quais se destacam:– Transformações inversas (Paul et al., 1981)– Matrizes duais (Denavit, 1956)– Métodos iterativos (Vicker et al., 1964)– Abordagens geométricas (Lee & Ziegler, 1984)

Existem métodos alternativos dos quais se destacam:– Transformações inversas (Paul et al., 1981)– Matrizes duais (Denavit, 1956)– Métodos iterativos (Vicker et al., 1964)– Abordagens geométricas (Lee & Ziegler, 1984)

Cinemática Inversa

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 58

• As equações de cinemática inversacinemática inversa serão obtidas invertendo as relações anteriores:

rqJq

rfq

&& )(

)(1

1

=

=

[ ]rqJrqJ

rqJrqJq

&&&&

&&&&&&

)()(

)()(1

11

+=

+=

−− Como seleccionar a solução óptima?

Como seleccionar a solução óptima?

– A função f −1 é uma transformação que pode ter ou não solução e, no casoafirmativo, pode existir uma, várias ou uma infinidade de soluções

– As relações diferenciais são, também, mais complexas podendo ocorrerconfigurações em que a matriz do Jacobiano é singular

– A função f −1 é uma transformação que pode ter ou não solução e, no casoafirmativo, pode existir uma, várias ou uma infinidade de soluções

– As relações diferenciais são, também, mais complexas podendo ocorrerconfigurações em que a matriz do Jacobiano é singular

Cinemática Inversa

Page 30: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

30

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 59

• Existem configurações particularesconfigurações particulares do manipulador para as quais a matriz J(q) é singular, isto é:

0)](det[ =qJ

Cinemática InversaSingularidades

O robô perde um ou mais g.d.l. implicando, em termos práticos, que não são possíveis movimentos nas chamadas direcções singulares

Trajectórias que passem próximo das singularidades são difíceis derealizar (dão origem a velocidades angulares fisicamente irrealizáveis)

As singularidades são difíceis de eliminar, seja ao nível do projectomecânico como ao nível do planeamento de trajectórias

O robô perde um ou mais g.d.l. implicando, em termos práticos, que não são possíveis movimentos nas chamadas direcções singulares

Trajectórias que passem próximo das singularidades são difíceis derealizar (dão origem a velocidades angulares fisicamente irrealizáveis)

As singularidades são difíceis de eliminar, seja ao nível do projectomecânico como ao nível do planeamento de trajectórias

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 60

• Como se pode obter o JacobianoJacobiano inversoinverso?

1) Diferenciar as expressões da cinemática inversa, o que é sempre válido se essas expressões existirem

2) Se o Jacobiano directo for quadrado então pode tentar-se a sua inversão quer analítica quer numérica

3) Nos casos em que o Jacobiano não é quadrado, logo sem possibilidade de definir a sua inversa, pode recorrer-se ao conceito de pseudo-inversa

( )

( )⎪⎪⎩

⎪⎪⎨

≥⇐=⇐≤⇐

=−

+

nmAAAnmAnmAAA

Att

tt

1

1

1

Cinemática InversaJacobiano Inverso

Page 31: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

31

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 61

• Depois de saber como relacionar o espaço das juntas com o espaçooperacional, é necessário proceder ao que se chama

PLANEAMENTO DE TRAJECTÓRIAS

Definir a forma de variação dos diversos actuadores deforma a fazer o manipulador cumprir os objectivos

de movimentação esperado (planeado)

PLANEAMENTO DE TRAJECTÓRIAS

Definir a forma de variação dos diversos actuadores deforma a fazer o manipulador cumprir os objectivos

de movimentação esperado (planeado)

Num robô industrial, estes objectivos podem ser:1) O deslocamento do elemento terminal entre dois pontos em repouso no espaço de

trabalho, durante um dado intervalo de tempo

2) A execução de uma trajectória bem definida do elemento terminal no espaço operacional obedecendo a critérios temporais precisos

Num robô industrial, estes objectivos podem ser:1) O deslocamento do elemento terminal entre dois pontos em repouso no espaço de

trabalho, durante um dado intervalo de tempo

2) A execução de uma trajectória bem definida do elemento terminal no espaço operacional obedecendo a critérios temporais precisos

Planeamento de Trajectórias

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 62

• O movimento discreto entre 2 pontos no espaço Cartesiano exige um planeamento de trajectórias no espaço das juntas

– Em consequência, não há controlo sobre a trajectória percorrida pelo elemento terminal entre quaisquer dois pontos

MOVIMENTO PONTO-A-PONTOMOVIMENTO PONTO-A-PONTO

Planeamento de TrajectóriasMovimento Ponto-a-Ponto

Page 32: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

32

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 63

• Controlo em posição: planeamento do movimento nas juntas

ALGORITMO DO CONTROLO EM POSIÇÃOALGORITMO DO CONTROLO EM POSIÇÃO

θ( )trd θd

Planeamento de TrajectóriasMovimento Ponto-a-Ponto

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 64

• No movimento contínuo o planeamento de trajectórias é efectuado no espaço Cartesiano (e.g., linha recta, circular)

– As trajectórias próximas de singularidades são difíceis de efectuar, dando origem a velocidades nas juntas fisicamente irrealizáveis

MOVIMENTO CONTÍNUOMOVIMENTO CONTÍNUO

Planeamento de TrajectóriasMovimento Contínuo

Page 33: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

33

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 65

• Controlo em velocidade: planeamento no espaço Cartesiano

ALGORITMO DO CONTROLO EM VELOCIDADEALGORITMO DO CONTROLO EM VELOCIDADE

θ( )t& ( )θd t& ( )r td

&v

Planeamento de TrajectóriasMovimento Contínuo

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 66

• Esta discussão leva ao estabelecimento de duas definições importantes: CAMINHO e TRAJECTÓRIA

– Por CAMINHO entende-se um conjunto de pontos no espaço (operacional ou das juntas) que deve ser percorrido numa dada ordem

– Uma TRAJECTÓRIA define um caminho levando em conta constrangimentos temporais

A trajectória define a evolução ao longo de uma caminho em função do tempo

A trajectória define a evolução ao longo de uma caminho em função do tempo

Planeamento de TrajectóriasCaminho vs. Trajectória

Page 34: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

34

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 67

• Nas abordagens de planeamento de trajectórias deve atende-se à natureza do constragimento

Constragimento Espacial– Dar prioridade ao caminho a executar pelo elemento terminal ditado pelo

conhecimento de obstáculos ou pela necessidade de percursos obrigatórios

Constrangimento Temporal– Dar prioridade à dinâmica do movimento do manipulador em particular na

continuidade e suavidade nas velocidades e acelerações nas juntas

Evitar solicitações desmesuradas e irregulares nos respectivos actuadores !

Evitar solicitações desmesuradas e irregulares nos respectivos actuadores !

Planeamento de TrajectóriasConstrangimentos Espaciais vs. Temporais

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 68

• Planear uma trajectória no espaço das juntasespaço das juntas significa obter a evolução de cada junta ao longo do tempo

De tal forma que são verificadas determinadas condições cinemáticas nas juntas: posição, velocidade e aceleração no ponto inicial e no ponto final

Um movimento deve decorrer desde o instante t0 até ao instante tf

– Partindo do valor inicial θ0 da junta até ao valor final θf

– Com uma velocidade inicial e uma velocidade final

– Mais ainda, pode desejar-se uma aceleração inicial e final

Um movimento deve decorrer desde o instante t0 até ao instante tf

– Partindo do valor inicial θ0 da junta até ao valor final θf

– Com uma velocidade inicial e uma velocidade final

– Mais ainda, pode desejar-se uma aceleração inicial e final

Planeamento de TrajectóriasEspaço das Juntas

Page 35: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

35

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 69

• No caso mais simples tem-se uma posição de partida e outra de chegada, e as velocidades inicial e final iguais a zero

Pretende-se que a velocidade angular seja contínua para evitar acelerações teoricamente infinitas e portanto esforços gravosos para os equipamentos

⇒ Pretende-se que a equação tenha duas raízes parat = t0 e t = tf e seja uma função contínua

Muitas classes de funções garantem estas condições, mas amais simples será considerar uma polinomial em t

⇒ Pretende-se que a equação tenha duas raízes parat = t0 e t = tf e seja uma função contínua

Muitas classes de funções garantem estas condições, mas amais simples será considerar uma polinomial em t

0)( =tθ&

Planeamento de TrajectóriasEspaço das Juntas

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 70

• Assim, pelo facto de ter duas raízes a expressão da velocidade da junta será uma polinomial de 2ª ordem

⇒ Com base num conjunto de condições a verificar, pode-se obter a seguinte polinomial para a evolução das juntas:

⇒ Com base num conjunto de condições a verificar, pode-se obter a seguinte polinomial para a evolução das juntas:

taattataat

tatataat

32

2321

33

2210

62)(32)(

)(

+=++=

+++=

θθ

θ

&&

&

( ) ( ) 303

2020

23)( tt

tt

t ff

ff

θθθθθθ −−−+=

Planeamento de TrajectóriasEspaço das Juntas

Page 36: UNIVERSIDADE DE AVEIROana/ROBOTICA/docs/P1_SistemasCoord… · 4 Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 7 Robótica Industrial • Actualmente, existe uma

36

Filipe M. Silva Modelização e Controlo de Sistemas Dinâmicos 71

Bibliografia• Numa bibliografia vasta, deixam-se indicações de alguns livros que

cobrem os temas abordados: – Introduction to Robotics – P. McKerrow, Addison-Wesley, 1993– Fundamentals of Robotics: Analysis and Control – R.J. Schilling, Prentice-Hall,

1990– Introduction to Robotics: Mechanics and Control – J.J. Craig, Addison-Wesley,

1989– Robot Manipulators: Mathematics, Programming, and Control – R. Paul, MIT

Press, 1981– Robot Analysis and Control – H. Asada, J. Slotine, John Wiley, 1985– Robot Manipulators: Mathematics, Programming, and Control, R. Paul, The MIT

Press, 1981.– Robotics: Control, Sensing, Vision, and Intelligence – K.S. Fu, R.C. Gonzalez,

C.S.G. Lee, McGraw-Hill, 1987– Digital Image Processing, R.C. Gonzalez, P. Wintz, Addison-Wesley, 1987.