Upload
internet
View
117
Download
2
Embed Size (px)
Citation preview
ROBÓTICAHelder Anibal Hermini
Aula 3
Modelagem Cinemática de Robôs
Sistemas de Referência e
Transformação de Coordenadas
Transformação Homogênea
w
z
y
x
V
Um ponto V no espaço pode ser representado em coordenadas homogêneas por,
onde
321 vw
z , v
w
y , v
w
x
e w é o fator de escala real e não nulo.
Translação
É Possível transladar um ponto u nas direções X, Y, e Z ou em uma direção arbitrária, a partir da aplicação da relação
1000
z100
y010
x001
)z,y,trans(xT0
0
0
000
com a relação
v = T . u
Considere a transformação homogênea
Exemplo 1
1000
0100
0010
1001
T e o ponto
1
0
0
1
u
A transformação homogênea T, transforma o ponto u em um ponto v,
v = T. u =
1
0
0
2
1
0
0
1
1000
0100
0010
1001
Transladar o ponto v(1,0,0) de 1 unidade na direção X, 2 na direção Y e 3 na direção Z.
Exemplo 2
1
0
0
1
1000
3100
2010
1001
(1,2,3) transv
RotaçãoConsidere os pontos u e v , representados na figura.
Suas representações no plano são u(xu, yu) e v(xv,yv) respectivamente. Considere ainda que o ponto u foi transformado no ponto v, através de uma rotação, em torno da origem, de um ângulo , no sentido anti-horário.
2v
2v
2u
2u
1v
1v
1u
1u
yxyxr
senry
cosrx
e
senry
cosrx
1
2
3
4
rotação em z
Desenvolvendo as equações 1 e 2 e usando as equações 3 e 4, tem-se
sen.senrcos.cosrx 11v sen.ycos.xx uuv
sen.cosrcos.senry 11v sen.ycos.yy uuv
5
6
As equações 5 e 6 podem ser escritas, então:
uuv ysenxcosx
uuv ycosxseny
ou na forma vetorial
u
u
v
v
y
x
cossen
sencos
y
x7
Para o espaço tridimensional a equação 7 pode ser reescrita na forma vetorial:
u
u
u
v
v
v
z
yx
.
100
0cossen
0sencos
z
yx
ou ainda em coordenadas homogêneas,
1
z
yx
.
1000
0100
00cossen
00sencos
1
z
yx
u
u
u
v
v
v
Resumindo, as matrizes transformação homogênea de rotação em torno dos três eixos são:
1000
0100
00cossen
00sencos
Z,Rot
1000
0cossen0
0sencos0
0001
X,Rot
1000
0cos0sen
0010
0sen0cos
Y,Rot
Modelagem Cinemática Direta e Inversa de Manipuladores
MODELO CINEMÁTICO DIRETO
VARIÁVEIS DAS JUNTAS
Problema Cinemático de Manipuladores
POSIÇÃO E ORIENTAÇÃO DO EFETUADOR DO ROBÔ
MODELO CINEMÁTICO INVERSO
POSIÇÃO E ORIENTAÇÃO DO EFETUADOR DO ROBÔ
VARIÁVEIS DAS JUNTAS
Problema Cinemático Direto
• Calcular a matriz de transformação homogênea que relaciona a i-ésima referência com a referência i-1. Para isto faz-se uso dos parâmetros de todas as juntas;
• Tendo ob tido todas as matrizes Ti-1i , obtém-se T0
n através de;
n1n
32
21
10
n0 T ... T.T.TT
• Como T0n depende das variáveis das juntas, o problema
cinemático direto se resolve com a obtenção da matriz de transformação homogênea que fornece posição e orientação da ponta do robô em relação a base.
Representação de Denavit-Hartemberg
Suponha que dois sistemas de coordenadas coincidentes, X0Y0Z0 e X1Y1Z1.
A transformação homogênea que relaciona esses sistemas é a matriz identidade
1000
0100
0010
0001
1T10
Representação de Denavit-Hartemberg
Provoca-se uma rotação de em relação ao eixo Z0, através da transformação
1000
0100
00cossen
00sen-cos
)z,ot(R 0
1000
0100
00cossen
00sen-cos
)z,ot(R . IT 010
A nova matriz é agora dada por
Representação de Denavit-Hartemberg
A seguir translada-se o sistema X1Y1Z1 de d unidades ao longo de Z1. A matriz fica então,
1000
d100
00cossen
00sen-cos
d0,0,Trans ).z,ot(RT 010
Representação de Denavit-Hartemberg
Translada-se o sistema X1 Y1
Z1 de a unidades ao longo do eixo X1. A nova matriz é dada por
1000
d100
00cossen
a0sen-cos
00,a,Trans . d0,0,Trans ).z,ot(RT 010
Representação de Denavit-HartembergFinalmente, provoca-se uma
rotação do sistema X1 Y1 Z1 de , em torno do eixo X1. Esta última transformação deixa a matriz como
1000
dcossen0
a.sen.cossen-cos.cossen
a.cos.sensen.sencos-cos
)x,ot(R.00,a,.Transd0,0,Trans ).z,ot(RT 1010
CONVENÇÃO DE DENAVIT-HARTEMBERG
Estabelece que a transformação homogênea Ai
entre quaisquer dois sistemas de coordenadas solidários a dois elos consecutivos, através de uma cadeia cinemática de um manipulador, composto de elos rígidos, separados por uma junta, pode ser escrita por até quatro matrizes de transformações homogêneas básicas.
Uma rotação de em torno de z1
Um deslocamento d ao longo do eixo z1
Um alongamento ao longo do eixo x
Uma rotação em torno do eixo x.
Passo 1: Estabelecer o eixo z dos sistemas de coordenadas de cada elo nos eixos de cada junta da estrutura, ou na direção do deslocamento das junta prismáticas.
Passo 2: Colocar a origem do sistema de coordenadas referencial, no eixo z da junta do primeiro elo.
Passo 3: Estabelecer a origem do sistema de coordenadas na linha ortogonal aos eixos z dos sistemas de coordenadas de cada par de elos para toda a estrutura.
Passo 4: Definir o eixo x de cada do sistema de coordenadas na linha ortogonal aos eixos z dos sistemas de coordenadas de cada par de elos para toda a estrutura, definido o sentido do eixo pela regra da mão direita do eixo de maior ordem para o de menor ordem.
Passo 5: Definir o eixo y de cada sistema de coordenadas pela regra da mão direita.
Passo 6: Definir o sistema de coordenadas da garra, conforme o passo 6 indicado na figura 2.2.
Passo 7: Estabelecer os 4 parâmetros da convenção de Denavit-Hartenberg, onde:
é uma rotação do eixo xi-1 para o eixo xi em torno de zi-1.
d é um deslocamento ao longo do eixo z i - 1, da origem o i -1 até o eixo xi.
a um alongamento ou comprimento ao longo do eixo xi da origem oi até o eixo z i -1.
é uma rotação do eixo z i - 1 ao eixo z i torno do eixo xi.
Passo 8: Determinar matrizes de transformações homogêneas entre cada par de elos.
Passo 9: Determinar matrizes de transformações homogêneas entre cada par de elos e a base. A matriz de transformação homogênea entre o elemento final e a base define o modelo cinemático direto do robô.
Ti = A1 . A2 ... An
1000
dcs0
sascccs
casscsc
Aiii
iiiiiii
iiiiiii
i
Se a junta for rotacional
Se a junta for prismática
1000
dcs0
0scccs
0sscsc
Aiii
iiiii
iiiii
i
Exemplo de Exemplo de Implementação de Implementação de estabelecimento de estabelecimento de
parâmetros pelo método parâmetros pelo método de Denavit-Hartembergde Denavit-Hartemberg
Parâmetros D – H para o Robô PUMA 560
Matrizes de transformação homogênea para o Robô PUMA 560
Um sistema Articulado pode ser representado matemáticamente por n corpos móveis Ci (i = 1, 2,..., n) e de um Corpo fixo, acoplado por n articulações, formando uma estrutura em cadeia, e as juntas podem ser rotacionais ou prismáticas. Para representar as situações relativas dos vários corpos da cadeia, é fixado para cada elemento Ci um referencial Ri.
DEFINIÇÃO DE SISTEMAS DE COORDENADAS PARA MODELOS ARTICULADOS
A Matriz de Transformação de Coordenadas
Xi, Yi, Zi Sistema de Referência
Li Vetor de Translação
Oi Origem
DESCRIÇÃO MATEMÁTICA
Podemos relacionar um certo referencial Ri+1 (oi+1, xi+1, yi+1, zi+1) com um previamente Ri (oi, xi, yi, zi), como também as coordenadas de sistema de origem básico por
o i+1 = oi + A i,i+1 * Li
Onde A é a matriz de Orientação
Ai, i+1 = A1, 2. A2, 3. ... A i, i+1
Onde Li é o vetor de translação entre uma origem e a outra.
Especificações de Posição e Orientação do Efetuador
Já foram vistas três coisas muito importantes, no que diz respeito à cinemática de robôs, a saber:
No efetuador é alocado um sistema de referência (o último da cadeia cinemática), tal que se possa relacioná-lo com a base, através de uma matriz de transformação homogênea. No caso de um robô com seis graus de liberdade, esta matriz é dada por
É possível relacionar dois sistemas de referências, através de uma matriz de transformação homogênea;
Para um robô com n graus de liberdade, aloca-se um sistema de coordena das em cada junta e calcula-se a matriz de transformação homogênea que relaciona o último sistema de referência com a base ;
1000
paon
paon
paon
Tzzzz
yyyy
xxxx
60
n = [ nx ny nz ] T Vetor normal do efetuador e tem direção ortogonal aos
vetores o e a;
s = [ sx sy sz ] T Vetor de deslizamento e aponta na direção dos movimentos de
abertura e fechamento dos dedos da mão;
a = [ ax ay az ] T Vetor de aproximação e aponta na direção normal a palma da
mão;
p = [ px py pz ]T Vetor posição e aponta da origem do sistema de coordenadas
da base até a origem do sistema de coordenadas da mão.
Ângulos de Euler e RPY
A matriz de orientação espacial de um robô poderá ser expressa através das componentes dos versores de orientação n, s e a, ou através de três ângulos. Normalmente em aplicações industrias são utilizados ângulos Euler ou RPY (Roll, Pitch e Yaw) para descrição da orientação de um corpo rígido no espaço.
z,ROT . θy,ROT . ψz,ROTθ,ψ,EULER
Ângulos de Euler
CÁLCULO DOS ÂNGULOS DE EULER A PARTIR DA MATRIZ DE ORIENTAÇÃO
(, , )
CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR DOS ANGULOS DE EULER
(, , )
ORIENTAÇÃO DO EFETUADOR
θCθSSθCS
ψSθSψCCψCθSSψSCψSθCS
θCψSψCSψCθSψCψSSψCθCC
θ,ψ,EULER
(14)
2ATANy
x
a-a
Z
yx2ATANa
aC-as
yx
yx
nSnC
SS2ATAN
aC-
Ângulos RPY
z,ROT . θy,ROT . z,ROTθ,,PYR
CÁLCULO DOS ÂNGULOS RPY A PARTIR DA MATRIZ DE ORIENTAÇÃO
(, , )
CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR DOS ANGULOS RPY
(, , )
ORIENTAÇÃO DO EFETUADOR
2ATANx
y
n
n
yx
Z
nSnC
n2ATAN
yx
yx
sCsS
C2ATAN
aaS
Problema Cinemático Inverso A necessidade da obtenção de referências em coordenadas angulares,
correspondentes a tarefas definidas no espaço cartesiano é expressa matematicamente pela inversão do modelo geométrico, isto é:
= f -1 ( x )
• A função f é não linear e composta de soma de produtos de senos e cosenos das coordenadas generalizadas
• Como f é não linear não se pode garantir a existência e/ou a unicidade de uma função inversa f -1
• Os métodos de solução do problema da inversão do modelo
geométrico são: • Métodos analíticos: • Métodos numéricos iterativos
• A transformação de coordenadas de um robô com n graus de liberdade revolutos pode ser formulada de forma que, a partir de uma configuração inicial do robô, na qual a suas variáveis articulares po são conhecidas, a posição completa de seu
elemento terminal Xo será conhecida a partir do modelo do
sistema.
• A mudança de coordenadas consistirá de um funcional que descreverá a correspondência existente entre a cadeia cinemática para um conjunto de variáveis articulares p e sua posição X correspondente.
x – x o = F ( q – q o )
Modelagem Cinemática Inversa
1
• No caso da transformação inversa de coordenadas, uma determinada posição X do volume de trabalho do robô será atingida a partir de uma posição de repouso xo (obtenção dos
ângulos Roll, Pitch, Yaw ou de Euler, a partir da matriz de orientação espacial). Esta equação não apresentará uma solução única, e a mesma poderá ser utilizada para o controle cinemático de mecanismos.
Modelagem Cinemática Inversa
(q - qo) = F-1 (x – xo)
• A transformação inversa que é muito complexa, não apresentando uma solução única. Para eliminarmos as indeterminações que aparecem no problema inverso, utiliza-se geralmente a matriz jacobiana, onde a mesma poderá ser utilizada para o controle cinemático de mecanismos.
2
Matriz Jacobiana • Dada uma configuração inicial qo e Xo
de um robô, as coordenadas X do
elemento terminal são descritas pela equação (2). Para pequenos deslocamentos x associados aos deslocamentos das variáveis articulares q podemos escrever:
X m1 = J mn q n1 3
• A matriz Jacobiana J() será definida como:
jij,i qFJ 4
que poderá ser construída a partir das relações cinemáticas que descrevem a arquitetura do robô
n21nm
n2122
n2111
q...q,qFX
.......... ...
q...q,qFX
q...q,qFX
5
• A matriz Jacobiana J() será definida como:
Matriz Jacobiana
n
mmm
n
n
q
F
q
F
q
F
q
F
q
F
q
Fq
F
q
F
q
F
qJ
......
...............
......
......
21
2
2
2
1
2
1
2
1
1
1
Para uma robô, as coordenadas de seu elemento terminal serão descritas através de um vetor posição X (x, y, z) e sua orientação definida a partir de três ângulos (, , ).
6
Inversão da Matriz Jacobiana (Controle de Posição de uma prótese)
• O controle de uma prótese antropomórfica no espaço de juntas necessita de uma transformação inversa de coordenadas (F-1). Esta transformação poderá ser realizada a partir da inversão da matriz Jacobiana:
q n1 = J# (q) mn X m1 7
• Matematicamente, a relação 7 indica a variação do incremento q das variáveis articulares para um dado deslocamento X do elemento terminal do robô. Como a posição atual de cada articulação qi atual é perfeitamente conhecida (através dos sensores
de posição), a partir da utilização da equação (7) de modo iterativo e recalculando J(q) a cada passo de iteração, uma trajetória X(t) poderá ser realizada num determinado tempo, em função da variação dos ângulos das juntas qi atual + qi.
Malha de Controle de Posição
A partir da comparação da posição atual do robô X (valor calculado a partir da posição atual X atual obtidas das informações de
posições dos sensores de juntas ou da sinapse neural) e sua posição de referência Xd, um sinal de erro é amplificado e transformado em termos
de coordenadas articulares q a partir do cálculo de J# (q). O sinal de erro é integrado e depois utilizado como sinal de entrada para controle das variáveis articulares da prótese.
Malha de Controle de Posição
Finalmente, a obtenção da matriz Jacobiana, utilizada no método recursivo para o cálculo do modelo cinemático inverso, é uma forma multidimensional da derivada e relaciona a velocidade no espaço de juntas à velocidade no espaço cartesiano. A sua solução deverá ser encontrada em tempo real através da utilização de algoritmos numéricos, onde será aproximada por x = J. q .
Metodologia da Inversa Generalizada • Em muitos casos, a solução de um sistema de equações lineares existe,
mesmo quando a inversa da matriz não existe. Este problema e muitos outros podem ser resolvidos através do conceito da pseudoinversa, ou matriz inversa generalizada.
i) Deve reduzir-se a A-1 se A é não singular;
ii) Deve sempre existir;
iii) Deve possuir algumas das propriedades da inversa (ou modificações destas);
iv) Quando usadas no lugar da inversa, deve ser capaz de proporcionar respostas sensíveis para questões importantes tais como consistência das equações, ou soluções dos mínimos quadrados.
• A matriz inversa generalizada de uma matriz A deve atender a algumas das seguintes propriedades para obter sucesso:
• Moore e Penrose definiram a pseudoinversa de uma matriz A # como sendo a única solução para:
A A # A = A A # A A # = A(A A# ) t = A
A#
(A A# ) t = A# A
Metodologia da Inversa Generalizada
8