ROBÓTICA
Universidade Paulista
Adolfo Fernandes Herbster
Modelagem Cinemática de Robôs
Sistemas de Referência
e
Transformação de Coordenadas
Transformação Homogênea
Um ponto V no espaço pode ser representado em
coordenadas homogêneas por,
x
y
V 
z
 
w 
onde
x
 v1 ,
w
y
 v2 ,
w
z
 v3
w
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
v=T.u
com a relação
1
0
T  trans(x 0 , y 0 , z 0 )  
0

0
0 0 x0 
1 0 y 0 
0 1 z0 

0 0 1
Exemplo 1
Considere a transformação homogênea
1
0
T
0

0
0
1
0
0
0
0
1
0
1
0
0

1
e o ponto
1 
0 
u 
0 
 
1 
A transformação homogênea T, transforma
o ponto u em um ponto v,
1
0
v = T. u = 
0

0
0
1
0
0
0
0
1
0
1
0
0

1
1
0 
 
0 
 
1
 2
0 
 
0 
 
1 
Exemplo 2
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.
1
0
v  trans (1,2,3)  
0

0
0
1
0
0
0
0
1
0
1 1
2 0
3  0 
 
1 1
Rotação
Considere os pontos u e v , representados na figura.
x u  r cos 1
1
y u  r sen 1
2
e
x v  r cos1   
y v  r sen1   
r
rotação em z
x u2  y u2 
x 2v  y 2v
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.
3
4
Desenvolvendo as equações 1 e 2 e usando as equações 3 e
4, tem-se
x v  r cos 1 . cos   r sen1 . sen
x v  xu . cos   y u . sen 5
y v  r sen1 . cos   r cos 1 . sen
y v  y u . cos   y u . sen
6
As equações 5 e 6 podem ser escritas, então:
x v  cos xu   seny u
y v  senxu  cos y u
ou na forma vetorial
x v  cos   sen x u 
 y    sen cos    y 
  u
 v 
7
Para o espaço tridimensional a equação 7 pode ser reescrita
na forma vetorial:
 x v   cos   sen 0
 xu 
 y v   sen cos  0 .  y u 

  
 
 z v   0
 z u 
0
1
ou ainda em coordenadas homogêneas,
 x v   cos   sen
 y v  sen cos 
 
0
z v   0
1   0
0
  
0 0
 xu 
y u 
0 0
.  
1 0
z u 

1 
0 1
 
Resumindo, as matrizes transformação
rotação em torno dos três eixos são:
0
0
1
0 cos   sen
Rot, X   
0 sen cos 

0
0
0
 cos 
 0
Rot, Y   
  sen

 0
0
0
0

1
0 sen 0
1
0
0
0 cos  0

0
0
1
 cos   sen
sen cos 
Rot, Z   
 0
0

0
 0
0 0
0 0
1 0

0 1
homogênea
de
Modelagem Cinemática Direta
e Inversa de Manipuladores
Problema Cinemático de
Manipuladores
MODELO CINEMÁTICO DIRETO
VARIÁVEIS DAS JUNTAS
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 T0n através de;
T0n  T01 .T12 .T23 ... Tnn1
• 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
1
0
T01  1  
0

0
0 0 0
1 0 0
0 1 0

0 0 1
Representação de Denavit-Hartemberg
Provoca-se uma rotação de
 em relação ao eixo Z0,
através da transformação
 cos - sen
sen cos
Rot( , z 0 )  
 0
0

0
 0
0 0
0 0
1 0

0 1
A nova matriz é agora
dada por
 cos - sen
sen cos
1
T0  I . Rot( , z 0 )  
 0
0

0
 0
0 0
0 0
1 0

0 1
Representação de Denavit-Hartemberg
A seguir translada-se o
sistema X1Y1Z1 de d unidades
ao longo de Z1. A matriz fica
então,
 cos - sen
sen cos
1
T0  Rot( , z 0 ). Trans 0, 0, d   
 0
0

0
 0
0 0
0 0 
1 d

0 1
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
 cos - sen
sen cos
T01  Rot( , z 0 ). Trans 0, 0, d  . Trans a, 0, 0  
 0
0

0
 0
0 a
0 0 
1 d

0 1
Representação de Denavit-Hartemberg
Finalmente, provoca-se uma
rotação do sistema X1 Y1 Z1 de ,
em torno do eixo X1. Esta última
transformação deixa a matriz
como
 cos - cos .sen sen .sen a.cos 
sen cos .cos - sen .cos a.sen
1

T0  Rot( , z 0 ). Trans 0, 0, d .Trans a, 0, 0.Rot(  , x1 )  
 0
sen
cos
d 


0
0
1 
 0
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.
c i
Se a junta for rotacional
s i
Ai 
0
0
c i
Se a junta for prismática
s i
Ai 
0
0
 s i c i
s i s i
a i c i
c i c i
s i
0
 c i s i
c i
0
a i s i
di
1
 s i c i
s i s i
0
c i c i
s i
0
 c i s i
c i
0
0
di
1
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
Exemplo de Implementação
de estabelecimento de
parâmetros pelo método de
Denavit-Hartemberg
Parâmetros D – H para o Robô PUMA 560
Matrizes de transformação homogênea para o Robô PUMA 560
DEFINIÇÃO DE SISTEMAS DE COORDENADAS
PARA MODELOS ARTICULADOS
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.
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:
É
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
coordenadas em cada junta e calcula-se a matriz de transformação
homogênea que relaciona o último sistema de referência com a base ;
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
n x
n
T06   y
n z

0
ox
ax
oy
oz
0
ay
az
0
px 
p y 
pz 

1
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
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
mão;
p = [ px py pz ]T
 Vetor posição e aponta da origem do sistema de
da base até a origem do sistema de coordenadas
movimentos de
da
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.
Ângulos de Euler
EULER ψ, θ,   ROTz, ψ . ROTy, θ . ROTz, 
ORIENTAÇÃO DO EFETUADOR
CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR
DOS ANGULOS DE EULER
(14)
(, , )
CψCθC  SψS  CψCθSψ  SψC SθCψ 
EULERψ, θ,    SψSθC   CψS  SψCθS  CψC SψSθ 

 SθC
SθS
Cθ 
CÁLCULO DOS ÂNGULOS DE EULER A PARTIR DA MATRIZ DE ORIENTAÇÃO
a 
  AT AN2  x 
 - a y 
 sa x - Ca y 
  AT AN2

aZ


 - C  a x  S S y 
  AT AN2

 Cn x  Sn y 
(, , )
Ângulos RPY
RPY, θ,   ROTz,  . ROTy, θ . ROTz, 
ORIENTAÇÃO DO EFETUADOR
CÁLCULO DA MATRIZ DE ORIENTAÇÃO A PARTIR DOS ANGULOS RPY
(, , )
CÁLCULO DOS ÂNGULOS RPY A PARTIR DA MATRIZ DE ORIENTAÇÃO
ny 
  AT AN2 
nx 


 nZ
  AT AN2 

 Cn x  Sn y 
 Sa x  Ca y 
  AT AN2 

  Ss x  Cs y 
(, , )
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
Modelagem Cinemática Inversa
•
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 )
1
Modelagem Cinemática Inversa
•
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.
(q - qo) = F-1 (x – xo)
•
2
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.
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 m1 = J mn q n1
•
3
A matriz Jacobiana J() será definida como:
J   F
i, j
i
q j

4
que poderá ser construída a partir das relações cinemáticas que
descrevem a arquitetura do robô
X1  F1 q1 , q 2 ...q n 
X 2  F2 q1 , q 2 ...q n 
...
..........
X m  Fn q1 , q 2 ...q n 
5
Matriz Jacobiana
•
A matriz Jacobiana J() será definida como:
 F1
 q
 1
 F2
 q1
J q 
...


 Fm

 q1

F1
q 2
F2
q 2
...
Fm
q 2
F1
q n
F2
q n
...




... ...


... ...


Fm 
... ...

q n 
... ...
6
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 (,  , ).
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 n1 = J# (q) mn  X m1
•
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.
• A matriz inversa generalizada de uma matriz A deve atender a algumas
das seguintes propriedades para obter sucesso:
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.
Metodologia da Inversa Generalizada
• Moore e Penrose definiram a pseudoinversa de uma matriz A # como
sendo a única solução para:
A
A#
(A
(A




A#
A
A# ) t
A# ) t
 A = A
 A# = A
= A
= A#


A#
A
8
Download

máquina programável, de propósito geral que possui certas