Contents — find the section you need

Os motores de um braço robótico só conseguem rotacionar o ângulo de cada articulação, mas o que realmente queremos, quase sempre, é algo definido no espaço de tarefas: "mover a mão para esta posição e orientação". A cinemática é a matemática que conecta esses dois mundos — "o que as articulações estão fazendo" e "o que queremos que a mão faça" — e forma a base de todo software que controla um braço robótico. Este artigo aborda sistematicamente a cinemática direta, que determina a posição da mão a partir dos ângulos das articulações; a cinemática inversa, que resolve o problema inverso; e a matriz Jacobiana, que estabelece a conexão entre os dois espaços de informação — seguindo as equações ao longo de todo o processo.

Braço robótico Universal Robots UR16e com seu controlador e painel de controleUm braço robótico colaborativo em campo

Imagem: UR16e braço robótico (Auledas, CC BY-SA 4.0), Wikimedia Commons. Uma estrutura representativa de juntas e elos do tipo descrito pelas equações do artigo, e não os parâmetros cinemáticos desta marca ou modelo específico.

0. O que este artigo aborda

  • Qual problema a cinemática de braços robóticos resolve e por que ela é necessária
  • A relação entre entradas (ângulos das juntas, pose alvo) e saídas (pose da mão, ângulos das juntas)
  • Como construir a cinemática direta com matrizes de transformação homogêneas e parâmetros DH
  • Por que a cinemática inversa "não é necessariamente solucionável de forma única" e a diferença entre métodos analíticos e numéricos
  • O que é o Jacobiano e por que ele pode conectar a velocidade das juntas à velocidade da mão
  • O que acontece em uma singularidade e por que graus de liberdade redundantes são úteis
  • As diferenças entre algoritmos representativos de cinemática inversa — CCD, FABRIK, Mínimos Quadrados Amortecidos e outros
  • Como o uso da cinemática difere entre robôs industriais, humanoides e animação CG

1. Conclusão: O que Cinemática de um Braço Robótico

Em uma frase: cinemática é a estrutura matemática que converte entre duas representações diferentes de um braço robótico — os ângulos de suas articulações (espaço articular) e a posição/orientação de sua mão (espaço de tarefas) — usando relações puramente geométricas, sem considerar força ou características dos motores.

A expressão "relações puramente geométricas" é uma restrição importante. A cinemática nunca aborda a dinâmica — quanto peso o braço pode suportar, quão rápido os motores podem se mover. Ela lida apenas com questões puramente geométricas: "onde está a mão quando os ângulos das articulações são θ?" e "quais devem ser os ângulos das articulações para posicionar a mão nessa posição?". Somente com essa base geométrica estabelecida é que podemos construir discussões sobre força, torque e rastreamento de trajetória.

2. Por que a Cinemática é Necessária?

Os motores de um braço robótico só podem rotacionar (ou estender/retrair) cada articulação individualmente. Mas as instruções que um humano deseja dar a um robô são, em quase todos os casos, formuladas em termos da posição e orientação da mão (o efetor final) — "coloque esta peça aqui", "leve esta xícara para lá". O conjunto de ângulos articulares (espaço articular) e a posição e pose da mão (espaço da tarefa) parecem, intuitivamente, grandezas completamente diferentes: para um braço de 6 eixos, os ângulos articulares são um conjunto de 6 números, enquanto a pose da mão é expressa como uma posição 3D (x, y, z) mais uma orientação 3D (rotação) — 6 graus de liberdade no total.

Sem uma regra de conversão que ligue esses dois espaços, não há como calcular "quanto girar cada articulação para que a mão alcance a posição desejada", e o braço robótico simplesmente não conseguiria executar o movimento pretendido. A cinemática tem o papel de expressar, por meio de equações explícitas, essa correspondência geométrica entre o espaço articular e o espaço da tarefa — uma correspondência determinada pela estrutura do robô (comprimento dos elos, disposição das articulações).

3. Quais são as entradas?

As entradas com as quais a cinemática lida dependem da direção que estamos resolvendo.

  • Entradas para Cinemática Direta (FK): um vetor articular \boldsymbol{\theta} = (\theta_1, \theta_2, \ldots, \theta_n) que coleta o ângulo de cada junta (para juntas rotativas) ou a quantidade de deslizamento (para juntas prismáticas). Além disso, as informações estruturais do robô (comprimento de cada elo, disposição de cada eixo articular) são fornecidas como um conjunto de constantes necessárias antecipadamente para construir o modelo cinemático.
  • Entradas para Cinemática Inversa (IK): a pose alvo \mathbf{x}_d que a mão deve alcançar. Trata-se de um par composto por uma posição alvo \mathbf{p}_d \in \mathbb{R}^3 e uma orientação alvo (expressa como uma matriz de rotação ou quatérnio) R_d; Em muitos casos, especialmente com métodos numéricos, os ângulos articulares atuais \boldsymbol{\theta}_0 também são incluídos como entrada de valor inicial.

A informação estrutural do robô é um "modelo", não algo fornecido em cada cálculo — mas se for imprecisa, tanto a cinemática direta (FK) quanto a cinemática inversa (IK) produzirão resultados que não correspondem à máquina real. Antes de trabalhar com a cinemática de um braço robótico, esse modelo estrutural deve ser calibrado corretamente.

4. O que estamos resolvendo? Quais são as saídas?

A saída da cinemática direta (FK) é a pose da mão \mathbf{x} = (\mathbf{p}, R) dados os ângulos articulares \boldsymbol{\theta}. Isso é determinado de forma única — uma vez que cada ângulo articular é fixado, os comprimentos dos elos e o layout das juntas também são fixados, de modo que a posição final da mão é determinada geometricamente como uma única resposta.

A saída da cinemática inversa (IK) são os ângulos das articulações \boldsymbol{\theta}^{*} que realizam uma pose alvo \mathbf{x}_d. É aqui que a IK difere fundamentalmente da cinemática direta (FK): uma solução de IK, em geral, não é única. Pode haver várias maneiras de dobrar o cotovelo para alcançar a mesma posição da mão (múltiplas soluções), ou o alvo pode simplesmente estar fora do alcance de movimento do robô (fora do espaço de trabalho alcançável), caso em que não existe solução alguma. Essa não unicidade é precisamente o que torna a IK matematicamente mais complexa do que a FK.

Há também muitas situações em que o que queremos não é a posição ou pose em si, mas sim a relação entre as velocidades — "se eu mover os ângulos atuais das articulações nesta quantidade, quanto a mão se move?" Este é o papel do Jacobiano, que trataremos em detalhes na Seção 6.

5. Arquitetura Básica

O processamento em torno da cinemática pode ser organizado em torno da estrutura de como três transformações — cinemática livre (FK), cinemática inversa (IK) e o Jacobiano — conectam o espaço articular e o espaço da tarefa.

Diagram 1 · Use the button to switch views
Relationship among forward kinematics, inverse kinematics, and the Jacobian A diagram showing how forward kinematics (FK), inverse kinematics (IK), and the Jacobian each connect joint space and task space Joint space θ = (θ₁,…,θₙ) Forward Kinematics (FK) Task space Hand pose x = (p, R) Target pose x_d = (p_d, R_d) Inverse Kinematics (IK) Joint angles (solution) θ* (may be multiple) Joint angular velocity θ̇ Jacobian v = J(θ) θ̇ Task-space velocity v = (ṗ, ω)

Figura 1 — A cinemática direta (FK) encontra a pose da mão de forma única a partir dos ângulos das articulações. A cinemática inversa (IK) resolve a direção inversa, mas pode haver múltiplas soluções, ou nenhuma. O Jacobiano conecta as "velocidades" de ambos os espaços por meio de uma relação linear.

A linha superior representa a FK, a linha do meio a IK e a linha inferior a relação de velocidade por meio do Jacobiano. A FK sempre pode ser calculada de forma única (da esquerda para a direita), enquanto a IK (da direita para a esquerda) é um problema inverso geométrico que geralmente requer múltiplas técnicas de solução. Como o Jacobiano relaciona "taxas de variação" (velocidades) em vez de posições ou poses em si, dentro de uma estrutura de álgebra linear, é mais fácil trabalhar com ele do que com a FK ou a IK — razão pela qual a maioria dos métodos numéricos de IK são construídos sobre ele.

6. Algoritmos Representativos

Matrizes de Transformação Homogêneas e Parâmetros DH — Construindo a Cinemática Direta

A operação básica da cinemática direta consiste em conectar os sistemas de coordenadas de elos adjacentes usando uma matriz de transformação homogênea, que combina rotação e translação.

{}^{i-1}T_i = \begin{pmatrix} R_i & \mathbf{d}_i \\ \mathbf{0}^{\top} & 1 \end{pmatrix}

R_i representa a rotação do sistema de coordenadas do elo i para o sistema de coordenadas do elo i-1, e \mathbf{d}_i representa a translação. Para um braço com n juntas, a transformação do sistema de coordenadas da base para o sistema de coordenadas da mão é o produto de todas as transformações individuais das juntas multiplicadas entre si.

{}^{0}T_n(\boldsymbol{\theta}) = {}^{0}T_1(\theta_1)\, {}^{1}T_2(\theta_2)\, \cdots\, {}^{n-1}T_n(\theta_n)

Se essas n matrizes de transformação homogêneas fossem escritas do zero com uma definição diferente para cada elo, todo o conjunto de equações teria que ser reconstruído sempre que o robô mudasse de posição. É por isso que uma notação padronizada — parâmetros de Denavit-Hartenberg (DH) — é tão amplamente utilizada. Jacques Denavit e Richard Hartenberg propuseram essa notação em seu artigo de 1955, "Uma Notação Cinemática para Mecanismos de Par Inferior Baseada em Matrizes", publicado no ASME Journal of Applied Mechanics. Ela expressa a relação posicional entre dois eixos articulares adjacentes usando apenas quatro parâmetros — comprimento da barra a_i , ângulo de torção da barra \alpha_i , deslocamento da junta d_i e ângulo da junta \theta_i — permitindo que a matriz de transformação de cada junta seja montada de forma unificada.

{}^{i-1}T_i = \text{Rot}_z(\theta_i)\, \text{Trans}_z(d_i)\, \text{Trans}_x(a_i)\, \text{Rot}_x(\alpha_i)

Dada esta tabela de parâmetros DH — três constantes a_i, \alpha_i, d_i para cada junta, mais a variável \theta_i — as equações da cinemática direta para qualquer robô de elos seriais podem ser montadas mecanicamente usando o mesmo procedimento. É por isso que manuais de robôs industriais e muitos simuladores fornecem especificações de robôs neste formato de parâmetros DH.

IK Analítica, Vista Através de um Braço Planar de 2 Elos

Vamos analisar concretamente a ideia de IK analítica, que resolve as equações de FK construídas a partir de parâmetros DH de forma inversa, usando o exemplo mais simples possível: um braço planar de 2 elos com comprimentos de elo l_1, l_2.

Diagram 2 · Use the button to switch views
Geometria FK/IK de um braço planar de 2 elos

Figura 2 — Um braço planar de 2 elos. A posição da mão E (x, y) é determinada pelos ângulos θ₁, θ₂ e pelos comprimentos dos elos l₁, l₂ (FK) das articulações do ombro O e do cotovelo J. Por outro lado, encontrar θ₁, θ₂ a partir de (x, y) é IK.

A cinemática direta pode ser escrita simplesmente somando os vetores dos dois elos.

x = l_1 \cos\theta_1 + l_2 \cos(\theta_1 + \theta_2), \qquad y = l_1 \sin\theta_1 + l_2 \sin(\theta_1 + \theta_2)

A cinemática inversa encontra \theta_1, \theta_2 a partir de uma posição alvo (x, y). Primeiro, use a lei dos cossenos para encontrar o ângulo do cotovelo \theta_2.

\cos\theta_2 = \frac{x^2 + y^2 - l_1^2 - l_2^2}{2\, l_1\, l_2}

Existe uma solução quando o lado direito desta equação está dentro de [-1, 1], e \theta_2 = \pm\arccos(\cdots) fornece duas soluções, diferindo apenas pelo sinal (dobrando o cotovelo para cima ou para baixo). Uma vez que \theta_2 esteja fixo, \theta_1 é determinado de forma única (para essa escolha de \theta_2) a partir da relação geométrica. Este procedimento — "derivar as funções trigonométricas inversas por meio de manipulação algébrica pura" — é cinemática inversa analítica; pode ser escrito como uma expressão de forma fechada para mecanismos simples com 2 a 3 graus de liberdade, mas como À medida que os graus de liberdade aumentam ou o layout das juntas se torna mais complexo, encontrar uma expressão analítica geralmente se torna difícil.

IK Numérica — Uma Solução Iterativa Usando a Jacobiana

Para robôs com muitos graus de liberdade ou mecanismos sem solução analítica, a IK numérica — um cálculo iterativo que se aproxima gradualmente do alvo a partir dos ângulos articulares atuais — é usada em vez disso. Isso se baseia na Jacobiana.

A diferenciação da pose da mão \mathbf{x}(\boldsymbol{\theta}) em relação aos ângulos articulares fornece uma relação linear entre a velocidade articular e a velocidade da mão.

\mathbf{v} = J(\boldsymbol{\theta})\, \dot{\boldsymbol{\theta}}, \qquad J(\boldsymbol{\theta}) = \frac{\partial \mathbf{x}}{\partial \boldsymbol{\theta}}

J(\boldsymbol{\theta}) é a Jacobiana do manipulador, uma matriz m \times n ( m são os graus de liberdade do espaço da tarefa, n o número de juntas). A direção na qual atualizar os ângulos articulares para reduzir O erro \mathbf{e} = \mathbf{x}_d - \mathbf{x}(\boldsymbol{\theta}) em relação à pose alvo pode ser encontrado usando a inversa (ou pseudoinversa) da Jacobiana.

\Delta\boldsymbol{\theta} = J^{+} \mathbf{e}, \qquad J^{+} = J^{\top}(J J^{\top})^{-1}

Essa ideia de uma atualização iterativa usando a pseudoinversa da Jacobiana remonta ao artigo de Daniel E. Whitney de 1969, "Controle Resolvido da Taxa de Movimento de Manipuladores e Próteses Humanas", que propôs uma estrutura de controle de velocidade que incluía a resolução de graus de liberdade redundantes. No entanto, à medida que o robô se aproxima de uma configuração singular (explicada na Seção 7), J J^{\top} torna-se quase singular (a inversa diverge) e essa atualização torna-se instável. Mínimos Quadrados Amortecidos (DLS), demonstrado por Charles Wampler em um artigo de 1986, suprime essa instabilidade adicionando um termo de amortecimento \lambda^2 I ao cálculo da inversa.

\Delta\boldsymbol{\theta} = J^{\top}\left(J J^{\top} + \lambda^2 I\right)^{-1} \mathbf{e}
Existe uma compensação: quanto maior for \lambda, mais estável numericamente perto de singularidades, mas mais lenta será a convergência (o erro só pode ser reduzido em uma quantidade menor a cada iteração). Como essa fórmula permite ajustar a velocidade de convergência e a estabilidade com um único parâmetro, \lambda, ela é amplamente adotada em solucionadores de cinemática inversa (IK) para robôs industriais devido à sua praticidade.

CCD e FABRIK — Heurísticas Geométricas Iterativas

Existem também métodos que resolvem a cinemática inversa repetindo operações geométricas mais intuitivas, sem usar a matriz Jacobiana. O CCD (Descida de Coordenadas Cíclicas) percorre cada junta individualmente, da junta mais próxima da mão em direção à junta raiz, repetindo a operação simples "rotacione apenas esta junta para aproximar a mão o máximo possível do alvo". É fácil de implementar e computacionalmente barato, mas, como move apenas uma junta por vez, converge lentamente e tende a produzir resultados com aparência artificial. trajetórias.

FABRIK (Cinemática Inversa de Alcance para Frente e para Trás), um método publicado por Andreas Aristidou e Joan Lasenby na revista Graphical Models em 2011, não lida com ângulos de rotação — em vez disso, resolve a cinemática inversa reposicionando repetidamente a posição de cada articulação como "um ponto na linha reta até o alvo, a uma distância que preserva o comprimento da articulação", movendo-se da mão para a raiz e, em seguida, da raiz de volta para a mão. Como evita o cálculo de ângulos, é computacionalmente leve e tende a convergir para poses de aparência natural em poucas iterações, razão pela qual é amplamente utilizado para movimentos de braços e pernas em animação CG e personagens de videogames.

7. Como os Algoritmos Diferem

Método Princípio Precisão Custo Computacional Robustez Próxima a Singularidades Dificuldade de Implementação
Parâmetros DH + Transformações homogêneas (FK) Encadeia matrizes de transformação elo a elo Exata (sem erro se o modelo estiver correto) Baixa (apenas produtos de matrizes) Não aplicável (FK não tem singularidades) Baixa
IK analítica Deriva uma solução de forma fechada por meio de álgebra trigonométrica Exata (a solução verdadeira, se existir) Muito baixa Tratada enumerando os ramos da solução Baixa para poucos graus de liberdade, muito alta à medida que os graus de liberdade aumentam
Pseudoinversa jacobiana Lineariza o erro e atualiza iterativamente Depende da contagem de iterações; alta precisão após a convergência Moderada (operações de matriz repetidas) Baixa (propensa a divergir perto de singularidades) Moderada
Mínimos quadrados amortecidos Adiciona um termo de amortecimento à pseudoinversa Depende da contagem de iterações e \lambda Moderada Alta (estável mesmo perto de singularidades) Moderada
CCD Rotaciona uma junta por vez em direção a alvo da mão Depende da contagem de iterações; pode cair em mínimos locais Baixo Alto (não é necessária inversão de matriz) Baixo
FABRIK Move as posições das juntas ao longo de uma linha, preservando o comprimento da ligação Depende da contagem de iterações; tende a convergir para soluções visualmente naturais Baixo Alto Baixo

A cinemática inversa analítica é "a mais rápida e precisa quando solucionável", mas, à medida que os graus de liberdade aumentam, derivar as próprias equações torna-se difícil. Os métodos numéricos (baseados em Jacobiano, CCD, FABRIK) podem ser usados genericamente, independentemente dos graus de liberdade ou do mecanismo, mas, por serem iterativos, não conseguem escapar das compensações entre velocidade de convergência, mínimos locais e custo computacional.

8. Onde Encontra Dificuldades / Ambientes Difíceis

As dificuldades inerentes à cinemática podem ser organizadas em três categorias principais.

Singularidades: em certas configurações de juntas, a classificação do Jacobiano J diminui, Criando uma direção na qual a mão simplesmente não pode ser movida, não importa o quê. Por exemplo, com o braço totalmente estendido, não há combinação de velocidades articulares que possa mover a mão mais para fora. Nesse estado, J J^{\top} se aproxima de uma matriz singular, e as leis de controle que usam a pseudoinversa fazem com que as velocidades articulares comandadas divirjam. O índice de manipulabilidade w = \sqrt{\det(J J^{\top})}, proposto por Tsuneo Yoshikawa em 1985, é amplamente utilizado para quantificar a proximidade de uma singularidade — quanto mais próximo de zero estiver w, mais próxima a configuração estará de uma singularidade.

Múltiplas soluções e alcançabilidade: A cinemática inversa geralmente pode ter múltiplas soluções (diferentes maneiras de dobrar o cotovelo, por exemplo), e também existem casos em que a pose alvo é fisicamente inalcançável, dadas as limitações de comprimento dos elos e amplitude de movimento do robô. A menos que um método numérico projete explicitamente uma condição de parada para esse caso de "nenhuma solução", ele continuará iterando indefinidamente. sempre convergindo.

Graus de liberdade redundantes: para robôs com mais juntas do que os graus de liberdade do espaço de tarefas (tipicamente 6) — braços de 7 eixos, por exemplo — existem infinitas combinações de ângulos articulares que permitem alcançar a mesma pose da mão. Esse excedente de graus de liberdade não é uma "ambiguidade problemática" — é um recurso que pode ser usado ativamente para objetivos secundários, como evitar obstáculos, evitar singularidades ou manter as juntas próximas ao meio de sua amplitude de movimento. A cinemática inversa (CI) para robôs redundantes é projetada projetando o gradiente de um objetivo secundário no espaço nulo do Jacobiano (a direção das velocidades articulares que não afetam a pose da mão).

9. Escolhas Práticas

A implementação da cinemática depende dos graus de liberdade do robô, da aplicação e dos requisitos de tempo real.

  • Braços robóticos industriais (soldagem, montagem, etc., tipicamente 6 eixos): com 6 graus de liberdade, muitos mecanismos admitem uma abordagem analítica. Solução IK e, na prática, muitos controladores de fabricantes implementam IK analítica diretamente no firmware. Sem a necessidade de computação iterativa, isso é rápido e se comporta de forma previsível.
  • Braços robóticos com graus de liberdade redundantes (7+ eixos, braços de robôs colaborativos ou humanoides): a solução analítica é difícil ou produz múltiplas soluções complicadas de gerenciar, portanto, a IK numérica baseada em Jacobiano (como Mínimos Quadrados Amortecidos) é comum. Também facilita o projeto de desvio de obstáculos e de singularidades simultaneamente por meio do espaço nulo.
  • Animação CG, personagens de videogames, avatares VR/AR: a naturalidade visual e o baixo custo computacional geralmente são priorizados em relação à precisão física, favorecendo heurísticas geométricas leves, como CCD ou FABRIK.
  • Manipuladores móveis (base móvel + braço) ou humanoides de corpo inteiro: é necessário lidar não apenas com a IK do próprio braço, mas também com os graus de liberdade redundantes de todo o corpo, incluindo pernas e torso, de forma integrada — frequentemente usando uma estrutura que estende Métodos baseados na matriz Jacobiana para cinemática de corpo inteiro (cinemática inversa de corpo inteiro).

Em todas as aplicações, a cinemática nunca é uma tecnologia autossuficiente — um braço robótico atinge o movimento pretendido somente quando combinado com o circuito de controle que gera os comandos de velocidade e torque das articulações (Introdução ao LQR, Introdução ao MPC) e o Introdução à Geração de Trajetória, que define a trajetória que a mão deve seguir ao longo do eixo do tempo.

10. Resumo (Resumo em Três Linhas)

  • A cinemática direta encontra a pose da mão de forma única a partir dos ângulos das articulações; a cinemática inversa resolve o problema inverso, mas pode haver múltiplas soluções, ou nenhuma.

  • A matriz Jacobiana conecta linearmente a velocidade das articulações à velocidade da mão, e é a base. de IK numérica via pseudoinversa ou Mínimos Quadrados Amortecidos.

  • A forma como você lida com as três dificuldades de singularidades, múltiplas soluções e graus de liberdade redundantes determina se a IK analítica ou numérica é a escolha certa.
Verifique seu entendimento
Existe apenas uma configuração de junta para a posição do efetor final?

Podem existir múltiplas soluções ou redundância, e alguns pontos são inalcançáveis. Selecione soluções usando limites de junta, singularidades e restrições de colisão.

Referências

What to read next

Review the backgroundNav2 tem um caminho, mas não se move: um fluxo de trabalho de diagnóstico.Continue the seriesIntrodução ao Controle de Força e Impedância — Construindo um Robô que Pode TocarExplore another aspect of this fieldPor que o ICP falha: inicialização, valores discrepantes e geometria simétrica.