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' RR 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 90b Curso de “Introdução à Robótica” – Aula Número: 02 – Prof. André Marcato Exemplo 2.2. (3) p' p' x cosb a p y sin b a p' y sin b a p' x cosb a ba ba 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 cosb a p' y sinb 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