Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Equipment >> Robô industrial

Dominando Ângulos de Euler em Robótica: Guia Completo

É difícil entender rotações de robôs, não é? Ângulos de Euler são uma dor de cabeça. Aqui está o guia essencial para eliminar a dor.

Orientação! Só me dá vontade de arrancar os cabelos. Se você já teve que programar a pose final de um robô usando coordenadas e rotações, saberá do que estou falando.

À primeira vista, definir a pose do efetor final do seu robô parece simples, não é?

Você simplesmente diz "Quero mover a ferramenta do robô para esta localização e quero que ela aponte para esta direção."

Intuitivamente, você sabe exatamente qual orientação quer que a ferramenta tenha. No entanto, quando se trata de descrever a orientação usando números precisos, de repente essa tarefa simples vira uma bagunça confusa.

Por Que Orientação de Robôs é Difícil de Entender

É fácil descrever as coordenadas X, Y, Z (translacionais) da ferramenta de um robô.

Para descrever uma translação, você simplesmente insere as coordenadas — ex: Ponto[X, Y, Z] = [100, 1000, 1500] mm — e há apenas uma localização que isso poderia se referir, assumindo que você está usando a mesma referência base. Só pode significar 100 mm no eixo X, 1 metro no eixo Y e 1,5 metros no eixo Z.

Mas como você descreve a orientação da ferramenta?

Você poderia dizer:
        Rotação[XYZ] = [5, 45, 15]°
no entanto, você poderia dizer igualmente (arredondando os números)
        Rot[XY’Z”] = [-7,9, 44,7, 16,2]°
ou
        Rot[ZY’Z”] = [7,9, 45,2, 5,0]°
ou até
        Quaternion[q1-q4] = [0,9, -0,1, 0,4, 0,1]

Todos se referem exatamente à mesma orientação!
O que torna ainda mais confuso é que diferentes fabricantes de robôs usam convenções diferentes. Pode virar uma dor de cabeça, mesmo quando você está familiarizado com geometria 3D.

O Problema: Nós Simplesmente Não Pensamos em Rotações

O problema real é que não pensamos naturalmente em termos de rotações.

Entendemos intuitivamente coordenadas translacionais porque as usamos no dia a dia (ex: "Está na segunda prateleira de baixo, quatro livros da esquerda"). No entanto, quando temos que descrever uma orientação, recorremos a apontar com o dedo e dizer "Está naquela direção."

Infelizmente, robôs precisam de informação mais precisa que um vago "está ali".

O que precisamos é um entendimento sólido de Ângulos de Euler.

O Que São Ângulos de Euler?

Vamos dar um passo atrás e começar com o básico.

O método mais comum para descrever orientações de robôs são Ângulos de Euler. Ângulos de Euler consistem em três números que cada um descreve uma rotação em torno de um eixo. Existem diferentes convenções de Ângulos de Euler dependendo da ordem das rotações.

Primeiro, vamos simplificar para um exemplo de um eixo.

Imagine uma bússola.

Muitas vezes, o eixo Z do mundo se refere ao eixo que se estende do céu ao chão. Então, você pode pensar na agulha de uma bússola sendo uma rotação em torno do eixo Z (chamada Rot[Z]). Quando você segura a bússola plana na sua frente e a seta aponta para 135°, significa que o Norte está sobre seu ombro esquerdo, então você está atualmente virado para Sudeste. Não importa onde você coloque a bússola (no chão, na sua cabeça, etc), se tiver a mesma orientação, o ângulo será sempre 135°.

Até aqui, simples.

Nossa bússola tem apenas um valor de rotação (Rot[Z]), mas para descrever qualquer orientação 3D precisamos de três valores. É aí que começa a ficar mais complicado.

Outros métodos para descrever orientações de robôs são Quaternions ou Poses (matrizes 4×4).

Vamos Colocar a Mão na Massa

Daqui em diante, será útil ter um auxílio visual interativo.

Sugiro baixar uma cópia gratuita do RoboDK neste link, que torna muito fácil visualizar referenciais e ver as coordenadas resultantes.

Inicie o RoboDK e crie um referencial usando o botão "Adicionar Referencial" ou selecionando a opção no menu Programa. Você deve ver um referencial vermelho, verde e azul aparecer no meio da tela.

Você pode rotacionar o referencial assim: segure a tecla Alt, então clique e arraste uma das setas curvas que aparecem.

Como Pilotar um Avião

Dominando Ângulos de Euler em Robótica: Guia Completo

Vamos usar a analogia de um avião, conforme descrito claramente no robot-forum.

Imagine que o referencial é um avião. A ponta da seta reta vermelha (eixo X) é a ponta do cone do nariz e a seta reta verde (eixo Y) é sua asa esquerda.

Neste caso, mover as setas curvas serve às seguintes funções:

Se o piloto quisesse que o avião virasse à esquerda e para baixo, gradualmente, o avião não apenas giraria no eixo Z — não é assim que aviões funcionam.

Em vez disso, o avião:

  1. Inclina o cone do nariz para baixo: Rot[Y]
  2. Faz o roll do avião para a esquerda: -Rot[X]
  3. Faz yaw para a esquerda: Rot[Z]

Este movimento todo seria representado como Rot[XYZ]. Tente mover o referencial um pouco no RoboDK até se sentir confortável com esses conceitos.

Então, clique duas vezes no nome do referencial no canto superior esquerdo da janela principal para abrir o painel "Detalhes do Referencial".

Uma Orientação, Várias Rotações Possíveis

Usando o RoboDK, tente as seguintes tarefas.

Antes de cada tarefa, reinicie o referencial abrindo o menu "hambúrguer" (três linhas horizontais) no painel Detalhes do Referencial e selecionando "Reset (set identity)".

  1. Selecione o menu suspenso no topo das coordenadas e escolha a rotação Stäubli (X->Y’->Z”) em vez de Genérico.
  2. Rotacione o referencial para que o azul (Z) aponte para baixo e o vermelho (X) aponte para trás (ou seja, ambos invertidos de sua posição inicial e o verde (Y) igual à posição inicial), mas faça isso apenas rotacionando em torno do eixo Y.
  3. Reinicie o referencial e mova-o para a mesma rotação novamente. Porém, desta vez use apenas uma rotação Z e depois uma rotação X.
  4. Reinicie o referencial e mova-o para a mesma rotação novamente. Porém, desta vez use apenas uma rotação X e depois uma rotação Z.

Como você pode ver, pode haver mais de uma forma de alcançar a mesma orientação.

O primeiro método poderíamos chamar de Rot[Y], pois inclui apenas rotação em torno do eixo Y. O segundo método poderíamos chamar de Rot[Z, X’], pois inclui uma rotação em torno do eixo Z e uma em torno do novo eixo X. O terceiro chamaríamos de Rot[X, Z’]. O símbolo primo significa que a rotação acontece em relação ao último movimento em vez dos eixos estáticos.

Dominando Ângulos de Euler em Robótica: Guia Completo

Este é o conceito fundamental por trás dos ângulos de Euler. Você pode rotacionar um referencial para a mesma orientação de múltiplas formas alterando a sequência de eixos e rotações.

Diferentes fabricantes de robôs escolheram diferentes combinações de rotações. Por exemplo, Stäubli usa convenção XY’Z”, Adept usa ZY’Z”, KUKA usa ZY’X” e Fanuc & Motoman usam convenção XYZ. Por outro lado, ABB usa Quaternion e Universal Robots usa vetor de orientação. Mas todas as convenções podem representar qualquer orientação no espaço.

Dominando Ângulos de Euler em Robótica: Guia Completo

Você encontrará mais informações na Documentação do RoboDK.

Teste Diferentes Convenções de Robôs

Esperamos que isso esteja começando a fazer sentido. No entanto, isso é apenas o começo. Para realmente dominar as convenções de ângulos de Euler no RoboDK, acho útil brincar com o software seguindo este guia.

Você pode ver o efeito de suas rotações em números nas caixas azul claro, roxa e amarela no painel "Detalhes do Referencial".

Por padrão, a convenção Genérica XYZ é escolhida para novos referenciais. Tente selecionar diferentes fabricantes de robôs no menu suspenso acima das caixas coloridas. Tente inserir valores numéricos nas caixas para ver seus efeitos no referencial.

Para um tutorial aprofundado sobre ângulos de Euler, também recomendo esta página da Mecademic.

Robô industrial

  1. Visão Robótica na Indústria: Da Visão à Auto-Programação
  2. O Que é um Robô de Auto-Programação e Por Que Importa
  3. Arquimedes: O Robô Coruja Sensor de Emoções com IA
  4. Maximize a Eficiência: Por que Operadores de Robô Qualificados São Essenciais
  5. Robótica na Manufatura: Uma Evolução Comprovada de Eficiência e Inovação
  6. Dominando a Soldagem Robótica: Guia Simples para Resultados Perfeitos
  7. Dominando a Simulação de Robô com Esteira: Melhores Práticas Comprovadas
  8. Aproveitando Automação Robótica para Eficiência na Indústria de Papel e Celulose
  9. Dominando Ângulos de Euler para Controle Preciso de Robôs de 6 Eixos
  10. Como Escolher o Melhor Software de Robô de Separação para Automação Eficiente