Upload
lythu
View
222
Download
0
Embed Size (px)
Citation preview
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
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
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
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)
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
xα
βγ
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
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
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
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
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
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
θ
φ
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
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
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
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
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
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
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
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
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’’
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
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
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
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 |,∠
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
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
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
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
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
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
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
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
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
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
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
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
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.