Introdução à Robótica
PROF. ANDRÉ LUÍS MARQUES MARCATO
E-mail: [email protected]
PPEE – Sala 206 – 2102 3460
Aula Número: 02
Cinemática
Posição de um Corpo Rígido
Matriz de Rotação
Composição de Matrizes de Rotação
Ângulos de Euler
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Introdução
•
Manipulador: cadeia de corpos rígidos (ELOS ou LINKS) conectados
através JUNTAS (ou JOINTS) de revolução ou prismáticas.


Uma extremidade do manipulador é limitada por uma base.
Na outra extremidade é acoplado do efetuador (end-effector)
•
O movimento resultante da estrutura é obtido pelos movimentos
elementares de cada ELO (LINK) em relação ao anterior.
•
É necessário descrever a posição e orientação do efetuador (ou
ferramenta).
•
Objetivo: Derivar a equação cinemática direta (baseado em algebra
linear) e tratar o problema cinemático inverso.





Posição e orientação do efetuador como função das variáveis JUNTAS
(JOINTS)
Estruturas cinemáticas: cadeia fechada e cadeia aberta
Espaço operacional x Espaço de Juntas
Técnica de calibração dos parâmetros do manipulador cinemático
Dada a posição do orientador qual o valor das variáveis JUNTAS (JOINTS)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Pose de Um Corpo Rígido (1)
•
Um corpo rígido é
completamente descrito no
espaço pela sua posição e
orientação (pose) em relação a
um sistema de coordenadas
(frame).
Corpo Rígido
O-xyz
frame de
referência
ortonormal
x, y, z: Vetores unitários
dos eixos do frame
 o' x 
o' o01' y 
zyx  01
 o' z 
10
Posição de Um Ponto
O’ do corpo rígido em
relação ao frame de
referência O-xyz.
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Pose de Um Corpo Rígido (2)
•
Para descrever a orientação do corpo rígido, é necessário
considerar um frame ortonormal acoplado ao mesmo e
expressar seus vetores unitários em relação ao frame de
referência.
•
Seja O’-x’y’z’ um frame com origem em O’ e x’, y’ e z’ são
os vetores unitários dos eixos deste frame.
•
Estes vetores podem ser expressos em relação ao frame de
referência O-xyz através das equações:
Os componentes de cada
vetor unitário são os
ângulos diretores dos
eixos do frame O’-x’y’z’
em relação ao frame de
referência O-xyz
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Matriz de Rotação (1)
T
 x ' x  0 
 x '   0   x '
x
 y  
 x' z  1

x' y
0 
x' z  0  x' x
1

Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Matriz de Rotação (2) - Propriedades
R  x' y' z '
 x'T 
 
R T  R  y'T 
 z 'T 
 
 x' 
 
R T  R  y'T 
 z 'T 
 
 x' y' z '3 x 3
3x3
1
T
 x' x' x'T y' x'T z '
1


 y'T x' y'T y' y'T z '
1
 z 'T x' z 'T y' z 'T z '


T
 x' y' z '3 x 3
3x3
1 0 0 
R T  R  0 1 0
0 0 1 
Matriz Homogênea
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotações Elementares (1)
•
Considere as frames que podem ser obtidas via rotações
elementares da frame de referência em torno de um dos
seus eixos.
 Positivas: Se realizadas no sentido horário
•
Suponha que a frame de referência (O-xyz) seja
rotacionada por um ângulo a em torno de eixo z para gerar
a frame O’-x’y’z’
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotações Elementares (2)
x' cosa x  sena y  0z
y'   sin a x  cosa y  0z
z ' 0x  0y  1z
•
Os vetores unitários da nova
frame podem ser descritos por:
•
Logo, a matriz de rotação da frame
O’-x’y’z’ em relação a frame O-xyz
(obtida através de uma rotação em
torno do eixo z é:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotações Elementares (3)
•
De maneira análoga, pode ser mostrado que as rotações
através de um ângulo b em torno do eixo y e através de um
ângulo g em torno do eixo x são respectivamente dadas por:
•
Observa-se também que:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Representação de um Vetor (1)
•
Considere o caso no qual a origem da frame de um corpo
rígido coincide com a frame de referência
•
•
•
o’ = 0, onde 0 denota um
vetor nulo 3x1.
Em relação ao frame de
referência, um ponto P no
espaço pode ser representado
por:
Ou, em relação ao frame Ox’y’z’:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Representação de um Vetor (2)
•
Considerando que p e p’ são representações do mesmo
ponto P, tem-se:
•
A matriz de rotação R representa a matriz de transformação
de vetor de coordenadas no frame O-x’y’z’ para o mesmo
vetor no frame O-xyz.
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.1 (1)
•
•
Considere dois frames com origem comum rotacionados
entre si por um ângulo a em torno do eixo z.
Seja p e p’ os vetores de coordenadas do ponto P,
expressos nos frames O-xyz e O-x’y’z’.
•
Utilizando relações
geométricas, a relação entre
as coordenadas do ponto P
nas duas frames é:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.1. (2)
px  p  cos a  p  sin a
,
x
,
y
a
p ,y  sin a
p x,  cos a
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.1. (3)
p y  px,  sin a  p,y  cos a
a
p x,  sin a
p ,y  cos a
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.1. (4)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotação de um Vetor
•
A matriz de rotação pode ser também interpretada como um
operador matricial que permite a rotação de um vetor por um dado
ângulo em torno de um eixo arbitrário no espaço.
•
Seja p’ um vetor no frame de referência O-xyz, o produto Rp’ produz
um vetor p com o mesmo módulo mas rotacionado em relação a p’
de acordo com a matriz R.
•
A igualdade do módulo dos dois vetores pode ser provada
pT  p  p' T p'
observando que pTp = p’TRTRp’.

RR  p' R Rp'  RR I
Módulo ou Norma deTum vetor:
T
T
1 T
a  x2  y 2  z 2
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.2. (1)
•
Considere o vetor p que é obtido pela rotação do vetor p’ no
plano xy em torno de um ângulo a sobre o eixo z do frame
de referência.
•
•
Seja (p’x, p’y, p’z) as coordenadas do vetor p’.
O vetor p tem as seguintes componentes:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.2. (2)
p  px  cos b  p y  sin b
p y  sin b
px  cos b
b
b
90b
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.2. (3)
p'  p' x  cosb  a   p y  sin b  a 
p' y sin b  a 
p' x cosb  a 
ba
ba
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Exemplo 2.2. (4)
p  p'
px  cosb  py  sin b  p'x  cosb  a   p' y  sinb  a 
p'x cosb  cosa  sin a  sin b  p' y sin b  cosa  sin a  cosb 



cosb  p'x  cosa  p' y  sin a  sin b  p'x  sin a  p' y  cosa

Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Resumo: Propriedades Matriz Rotação
•
•
•
Descreve a orientação mútua entre dois frames
coordenados. Seus vetores coluna são os ângulos diretores
dos eixos do frame rotacionado em relação ao frame
original.
Representa a transformação de coordenadas entre um
ponto expresso em dois frames distintos (com origem
comum).
É o operador que permite a rotação de um vetor no mesmo
frame.
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(1)
•
Para derivar as regras de composição de matrizes de
rotação, é importante considerar a expressão de um vetor
em três frames diferentes com origem comum O:
 Frame O-x0y0z0
 Frame O-x1y1z1
 Frame O-x2y2z2
•
O vetor p descrevendo a posição de um ponto qualquer no
espaço pode ser expresso em cada um dos frames acima
por p0, p1, p2.
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(2)
•
Qual é a relação entre a expressão p2 do vetor p relativa ao
frame 2 e a expressão p1 do vetor p relativa ao frame 1??
•
Analogamente:
p0  R10R12 p
Denota a matriz de
rotação R do Frame i
2em relação ao Frame j
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(3)
•
•
Esta relação pode ser interpretada como uma composição
de rotações sucessivas.
Considere um frame inicialmente alinhado com o frame Ox0y0z0. A rotação expressa por R20 pode ser obtida em dois
passos:
1.
2.
Primeiro rotacione a frame dada de acordo com R10, o que a alinhará com o
frame O-x1y1z1.
Então, rotacione a frame, agora alinhada com O-x1y1z1, de acordo com R21
fazendo com que fica alinhada com O-x2y2z2
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(4)
•
Observe que toda rotação pode ser expressa como uma
seqüência de rotações parciais. Cada rotação é definida em
relação a sua precedente.
•
Frame corrente: Frame em relação a qual a rotação será
realizada.
•
Propriedade:
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Sucessivas Rotação de Um Objeto
Sobre o Frame Corrente (1)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Sucessivas Rotação de Um Objeto
Sobre o Frame Corrente (2)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotações Sucessivas de um Objeto em Torno
de um Frame Fixo (1)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Rotações Sucessivas de um Objeto em Torno
de um Frame Fixo (2)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(5)
•
•
Rotações sucessivas também podem ser constantemente
referenciadas ao frame inicial.
Neste caso as rotações são feitas em relação a um frame fixo.
Matriz de rotação do frame O-x1y1z1 em relação ao frame fixo Ox0 y0 z0
Matriz de rotação caracterizando o frame O-x2y2z2 em relação ao
frame O-x0y0z0, a qual é obtida como uma rotação do frame 1 de
acordo com a matriz
30
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Composição de Matrizes de Rotação(6)
•
Considerando a regra de composição de matrizes através de
transformações no frame corrente, a rotação total pode ser
calculada através dos seguintes passos:
1. Primeiro, realinhe o Frame 1 com o Frame 0 através da
rotação R01
2. Então, faça a rotação expressa por ___ em relação ao
frame corrente.
3. Finalmente, compense a rotação de realinhamento do
passo 1 através da rotação inversa ____.
31
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Ângulos de Euler (1)
•
As matrizes de rotação fornecem uma descrição redundante
da orientação do frame. R é composta por nove elementos
(matriz 3x3) que não são independentes, mas relacionados
por 6 restrições devido as condições de ortogonalidade.
Isto implica que três parâmetros são
suficientes para descrever a orientação de
um corpo rígido no espaço.
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Ângulos de Euler (2)
•
•
A representação da orientação através de três parâmetros
independentes constitui a chamada representação mínima.
De fato, a representação mínima no espaço ortonormal
requer m(m-1)/2 parâmetros.
 SO(3): 3 parâmetros
 SO(2): 1 parâmetro
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Ângulos de Euler (3)
•
Uma representação mínima de orientação pode ser obtida
através da utilização de um conjunto de três ângulos:
•
Considerando uma matriz de rotação expressando uma rotação elementar em
torno de um eixo. Então, uma matriz de rotação genérica pode ser obtida pela
composição de três rotações elementares seguidas, tomando o cuidado de não
permitir duas rotações consecutivas em torno do mesmo eixo.
27 combinações total. 12 possíveis (descontando-se rotações consecutivas no
mesmo eixo).
CADA CONJUNTO REPRESENTA UMA TRIPLA DE ÂNGULOS DE EULER.
Dois conjuntos serão analisados: ZYZ e ZYX
•
•
•
ZYX (Roll-Pitch-Yaw Angles)
roll (balanceio – j)
pitch (empinamento – q)
yaw (cabeceio – y)
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Ângulos ZYZ
•
É obtida pela composição das seguintes rotações elementares
1. Rotação do frame de referência pelo ângulo j em torno do eixo z; esta
rotação é descrita pela matriz ____.
2. Rotação do frame corrente pelo ângulo u em torno do eixo y’; esta
rotação é descrita pela matriz ____.
3. Rotação do frame corrente pelo ângulo y em torno do eixo z’’; esta
rotação é descrita pela matriz _____.
35
Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato
Ângulos ZYZ – Problema Inverso
36
Download

Frame