Introdução à Robótica PROF. ANDRÉ LUÍS MARQUES MARCATO E-mail: [email protected] PPEE – Sala 206 – 2102 3460 Aula Número: 03 Cinemática Composição de Matrizes de Rotação Ângulos de Euler Transformação Homogênea Curso de “Introdução à Robótica” – Aula Número: 03 – 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: 03 – 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: 03 – 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: 03 – 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: 03 – Prof. André Marcato Sucessivas Rotação de Um Objeto Sobre o Frame Corrente (1) Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Sucessivas Rotação de Um Objeto Sobre o Frame Corrente (2) Curso de “Introdução à Robótica” – Aula Número: 03 – 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: 03 – 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: 03 – 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 10 Curso de “Introdução à Robótica” – Aula Número: 03 – 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 ____. 11 Curso de “Introdução à Robótica” – Aula Número: 03 – 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: 03 – 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: 03 – 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: 03 – 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 _____. 15 Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulos ZYZ – Problema Inverso s sy sy tany s cy cy sj s sj tanj cj s cj s 2 c 2j s 2j c 2j s 2 s 2j s 2 s 2 1 s tan c c c c 16 Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulos RPY (Roll, Pitch e Yaw) • É obtido através da rotação em relação a um frame fixo anexado ao centro de massa do corpo. 1. Rotação do frame de referência pelo ângulo y em torno do eixo x (yaw ou cabeceio); esta rotação é descrita pela matriz ____. 2. Rotação do frame de referência pelo ângulo u em torno do eixo y (pitch ou empinamento); esta rotação é descrita pela matriz ____. 3. Rotação do frame de referência pelo ângulo j em torno do eixo z (roll ou balanceio); esta rotação é descrita pela matriz _____. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulos RPY (Problema Inverso) A seqüência de rotações ordenadas XYZ em torno dos eixos de um frame fixo é equivalente à seqüência ZYX em torno do frame corrente. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulo e Eixo (1) • Uma representação não mínima de orientação pode ser obtida com 4 parâmetros expressando a rotação de um dado ângulo em torno de um eixo no espaço. Seja o vetor unitário r de um eixo de rotação em relação ao frame de referência: Ângulo de rotação em torno do eixo r: Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulo e Eixo (2) • • • Primeiro alinhe r com z, através de uma seqüência de rotações –a em torno de z e uma rotação –b em torno de y. Rotacione por em torno de z. Realinhe com a direção inicial r, com uma rotação b em torno de y e uma rotação a em torno de z. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulo e Eixo (3) Duas representações diferentes levam a mesma matriz de rotação. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Ângulo e Eixo (Problema Inverso) Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Quartenion Unitário (Unit Quaternion) Parte Escalar do Quartenion Parte Vetorial do Quartenion Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Quartenion Unitário (2) Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Quarternion Unitário (3) Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Transformações Homogêneas (1) • Posicionamento de um corpo rígido no espaço: Translação: Posição de um determinado ponto do corpo rígido em relação ao frame de referência. Orientação: Componentes dos vetores unitários do frame anexado ao corpo rígido (origem) em relação ao frame de referência. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Transformações Homogêneas (2) • Considere um ponto P arbitrário no espaço p0 é o vetor com as coordenadas P em relação ao frame O0-x0y0z0, o10 é o vetor descrevendo a origem do Frame 1 em relação ao Frame 0. R10 é a matriz de rotação do Frame 1 em relação ao Frame 0. p1 é o vetor com as coordenadas P em relação ao frame O1-x1y1z1, Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Transformações Homogêneas (3) Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Transformações Homogêneas (4) • Como a operação de translação não é linear, é adicionada uma coordenada extra em cada vetor: • Com isto, a transformação de coordenadas pode ser através de uma matriz 4x4. Curso de “Introdução à Robótica” – Aula Número: 03 – Prof. André Marcato Transformações Homogêneas (5)