24. Cinemática Direta, Cinemática Inversa e o Jacobiano
Capítulo 24 do Curso para Iniciantes em IA Física da Seeed — espaço de juntas versus espaço cartesiano, cinemática direta a partir de parâmetros DH e URDF, cinemática inversa e suas múltiplas ou inexistentes soluções, o Jacobiano e a cinemática de velocidade, singularidades e mínimos quadrados amortecidos, e CI analítica versus numérica.
24.1 Tópicos principais
- Espaço de juntas vs. espaço cartesiano
- Cinemática direta (FK)
- Cinemática inversa (IK)
- Múltiplas soluções, nenhuma solução e espaço de trabalho
- Limites de junta
- Matriz Jacobiana
- Cinemática de velocidade
- Singularidades
- CI numérica e CI em malha fechada
24.2 Objetivos de aprendizagem
Explicar como o braço calcula a pose do efetuador final a partir dos ângulos das juntas e como resolver os ângulos das juntas dado uma pose alvo.
24.3 Espaço de Juntas vs. Espaço Cartesiano


| Espaço de juntas | Espaço cartesiano | |
|---|---|---|
| Descrição | Ângulos de junta | Pose do efetuador final |
| Dimensão | n (número de juntas) | 6 (3 de posição + 3 de orientação) |
| Significado físico | Como os motores giram | Onde está a extremidade e para que lado aponta |
| Caminho do movimento | Velocidade de junta constante -> curva irregular do efetuador final | Caminho retilíneo/arco da extremidade -> movimento de junta não linear |
| Dificuldade de controle | Direto (enviar para os motores) | Indireto (é preciso resolver a CI para os ângulos de junta antes, depois enviar aos motores) |
| Usos típicos | Movimento livre, desvio de obstáculos, homing | Apreensão, soldagem, pintura, seguimento de trajetória |
Exemplo 1: robô que escreve
| Tarefa | Qual espaço |
|---|---|
| Girar o motor 1 em 30°, o motor 2 em 45° | Espaço de juntas (enviar ângulos diretamente) |
| Fazer a ponta da caneta traçar os traços de um caractere em linhas retas | Espaço cartesiano (calcular ângulos de junta para cada ponto) |
Exemplo 2: pegar um copo (ignorando o caminho)
| Etapa | Qual espaço |
|---|---|
| Mover da posição inicial até perto do copo | Espaço de juntas (simples, velocidade constante, seguro) |
| Últimos poucos centímetros para alinhar precisamente com a borda do copo | Espaço cartesiano (precisa se aproximar em XYZ) |
| Erguer e colocar na prateleira | Espaço de juntas (sem exigência de linha reta) |
Exemplo 3: soldar um carro
| Tarefa | Qual espaço |
|---|---|
| Tocha de solda segue a junta em linha reta | Espaço cartesiano (linha reta = junta de solda) |
| Erguer a tocha e mover para o próximo ponto | Espaço de juntas (o que importa é ser rápido) |
24.4 Cinemática Direta vs. Cinemática Inversa

| Cinemática direta (FK) | Cinemática inversa (IK) | |
|---|---|---|
| Conhecido | Ângulos de junta | Pose do efetuador final |
| Resolver para | Pose do efetuador final | Ângulos de junta |
| Direção | Juntas -> efetuador final | Efetuador final -> juntas |
| Solução | Única | Múltiplas / nenhuma |
| Cálculo | Simples (aplicar fórmulas diretamente) | Complexo (resolver equações / iterar) |
Para que serve a FK
- Visualização: renderizar ângulos de junta em tempo real como um modelo 3D (ROS RViz, personagens de jogos)
- Verificação: checar se a pose do efetuador final calculada está correta
- Calibração: comparar a pose teórica com a pose real
- Controle simples: mover ao longo de uma sequência de ângulos pré-definida
Para que serve a IK
- Apreensão: câmera vê o objeto -> resolve ângulos de junta -> controla o braço
- Soldagem/pintura: a extremidade deve seguir uma trajetória especificada
- Humanoide: os pés devem pousar em pontos específicos no chão
- Qualquer cenário de "ir até um lugar"
24.5 Cinemática Direta
O processo de calcular a pose do efetuador final a partir dos ângulos das juntas

Versão em uma frase
Multiplicar a transformação local de cada junta em sequência, da base até o efetuador final.
Etapas de cálculo (6 passos)
- Estabelecer referenciais dos elos: construir um referencial local em cada junta (parâmetros DH / URDF)
- Escrever a matriz de transformação de cada elo (translação + rotação em relação à junta anterior)
- Substituir os ângulos de junta (rotação usa , translação vem da tabela DH)
- Multiplicar em sequência
- Multiplicar pelo deslocamento da ferramenta
- Obter — contendo posição e orientação ( ou ou ângulos de Euler)
Conceitos relacionados em um diagrama
Joint angles (q)
|
DH params / URDF ← describe link geometry (a, alpha, d, theta)
|
Homogeneous transform (4x4) ← translation + rotation combined
|
+-- rotation matrix R (3x3, SO(3))
| +-- rotation representation: Euler / quaternion / axis-angle
+-- translation vector t (3x1)
|
Matrix chain multiplication (chain rule)
|
End-effector pose T_base^end (SE(3))
|
+-- position (x, y, z) ← FK output
+-- orientation (R / q / rpy) ← orientation representation
|
Cartesian-space trajectory / Jacobian (velocity mapping)
|
Visualization (RViz / simulation)
Lista de verificação de conceitos centrais
| Conceito | Função |
|---|---|
| Parâmetros DH | Codificar os de cada elo como 4 números |
| Transformação homogênea | Agrupar translação + rotação em uma matriz 4x4 para facilitar o encadeamento |
| Regra da cadeia | A essência de multiplicar muitas matrizes |
| Representação de rotação | Fornecer a orientação como: ângulos de Euler / quaternions / matriz de rotação |
| Trigonometria | A expansão das matrizes é toda em |
| Jacobiano | A FK fornece a pose; J fornece a velocidade (usado ao contrário pela IK) |
| URDF | O arquivo real de descrição do robô; fonte dos números da FK |
Um pequeno exemplo (2 juntas)
FK = descrição DH + matrizes homogêneas + multiplicação em cadeia, traduzindo "ângulos de junta" em "onde está a extremidade".
É essencial saber ao longo do caminho: DH, transformações 4x4, multiplicação de matrizes, representações de rotação (Euler/quaternion), URDF.
24.6 Cinemática Inversa

O processo de calcular ângulos de junta a partir da pose do efetuador final. Na prática, quase sempre é feito de forma numérica: em vez de resolver a equação da pose em um único passo, o solucionador se aproxima do alvo gradualmente.
Pense em alcançar um livro em uma prateleira: você observa o quão longe sua mão ainda está do livro, decide em que direção se mover, ajusta um pouco suas juntas e repete até tocá-lo. Um robô faz exatamente a mesma coisa.
O laço — cada iteração faz três coisas:
- Observar o erro: quão longe o efetuador final ainda está da pose alvo
- Inferir a direção: como cada junta deve se mover para reduzir esse erro
- Dar um passo: mover as juntas uma vez, depois voltar ao passo 1
Repetir até que o erro seja pequeno o suficiente.
Por que é tão amplamente usada
- Universal: o mesmo laço funciona para 6 eixos, 7 eixos, mãos e braços tipo cobra
- Sem fórmulas para derivar: é um programa, não uma página de álgebra
- Precisão ajustável: quer mais exatidão? Rode mais iterações
Na indústria, o laço é fechado em torno das posições medidas das juntas, então o controlador continua observando o erro e corrigindo mesmo quando o modelo está um pouco errado. Essa versão de "olhar enquanto se move" é a CLIK (Closed-Loop IK), o padrão de fato em braços industriais.
Em uma frase: CI numérica = observar o erro e se aproximar do alvo pouco a pouco — universal, eficaz e estável.

24.7 Matriz Jacobiana
O Jacobiano transforma "resolver a pose" em "resolver a velocidade".
A equação de pose é não linear e geralmente não tem solução em forma fechada:
Ao diferenciá-la no atual obtemos o Jacobiano e, em primeira ordem, o problema se torna linear:
O laço iterativo
- atual -> calcular a pose do efetuador final
- Erro:
- Velocidade do efetuador final:
- Velocidade das juntas:
- Atualização:
- Volte ao passo 1, até que seja pequeno o suficiente
Em uma frase: o Jacobiano "achata localmente" a equação de IK não linear em uma equação linear; resolver para a velocidade e integrá-la converge para a pose alvo.
24.8 Singularidades
Em uma singularidade o braço perde a capacidade de mover o efetuador final em uma ou mais direções — não importa como as juntas se movam, a extremidade não consegue se mover daquela forma.
- Braço totalmente estendido: ele não consegue alcançar mais longe; a direção para fora é perdida
- Duas juntas do punho colineares: dois eixos de rotação coincidem, então um grau de liberdade desaparece
O que acontece em uma singularidade
| Situação | Sintoma |
|---|---|
| Jacobiano "falha" | O mapeamento de juntas para extremidade não pode mais ser invertido |
| Solução de IK explode | A velocidade de junta calculada vai para o infinito |
| Tremores nas juntas | Os motores vibram violentamente |
| Oscilação de controle | A extremidade salta para frente e para trás |
Essência: algumas entradas desse mapeamento se tornam — indefinidas, não apenas grandes.
Como detectá-la — quando o Jacobiano degenera, um número vai a zero:
Monitore esse número e dispare um alarme quando ele se aproximar de zero.
Como lidar com isso
| Correção | Ideia |
|---|---|
| Mínimos quadrados amortecidos (DLS) | Adicione um pouco de "atrito" para que a solução não possa explodir: |
| Mudar o caminho | Planeje com antecedência para contornar regiões singulares |
| Desacelerar | Desacelere perto de uma singularidade para ganhar tempo de reação |
| Mudar a pose | Para a mesma pose alvo, escolha uma solução não singular |
Dois tipos de singularidades
- Fronteira do espaço de trabalho: estendido até o ponto mais distante; direções são perdidas
- Interior do espaço de trabalho: punho colinear / cotovelo esticado; graus de liberdade são reduzidos
24.9 IK analítica vs. IK numérica
IK analítica resolve a equação diretamente; IK numérica itera em direção à resposta. A mesma tarefa — calcular — feita das duas maneiras:
| Analítica | Numérica | |
|---|---|---|
| Ideia | "×4 significa ×2 depois ×2": calcule , depois | Chute 90, perceba que falta 10, chute 102, depois 100 — ajuste até coincidir |
| Resultado | Um passo, exato | Algumas iterações, suficientemente próximo |
Diferenças centrais
| Dimensão | IK analítica | IK numérica |
|---|---|---|
| Abordagem | Resolve a equação diretamente | Aproximação iterativa |
| Velocidade | Mais rápida (microssegundos) | Mais lenta (ms~s) |
| Precisão | Exata | Aproximada (ajustável) |
| Generalidade | Fraca | Forte |
| Saída | Fórmula em forma fechada | Resultado numérico |
IK analítica — resolva a equação de uma vez por todas, e você obtém fórmulas como
| Prós | Contras |
|---|---|
| Calculada em uma linha de código; sem erro de iteração; pode listar todas as soluções | Nem todo robô tem solução em forma fechada; com muitas juntas e uma estrutura complexa a equação não pode ser resolvida; uma vez que o robô muda, cada fórmula deve ser reescrita |
IK numérica — nenhuma fórmula, apenas repetir "dobre um pouco as juntas, verifique se a extremidade se aproximou, se não dobre um pouco mais" até ficar suficientemente perto.
| Prós | Contras |
|---|---|
| Funciona para qualquer robô; sem equações para derivar; fácil adicionar restrições | Lenta (precisa de iteração); pode ficar presa em uma solução errada; explode em singularidades |
Cenários de aplicação
| Cenário | Escolha |
|---|---|
| 2 juntas, 3 juntas, geometria especial | Analítica (rápida, exata) |
| Braço industrial padrão de 6 eixos | Qualquer uma, depende do cenário |
| Braço redundante de 7 eixos | Numérica (sem solução analítica) |
| Fechado / paralelo | Numérica (analítica é difícil de derivar) |
| Controle em tempo real (kHz) | Analítica ou solução analítica gerada offline |
| Servo visual (30 Hz) | Numérica |
Pontos-chave
- O espaço das juntas é o que os motores entendem; o espaço cartesiano é o que a tarefa entende.
- FK é única, barata e sempre solucionável; IK pode ter várias soluções, uma solução ou nenhuma.
- O Jacobiano converte velocidade de junta em velocidade do efetuador final, e é como IK é realmente resolvida.
- Singularidades são poses onde o Jacobiano perde posto; detecte-as (menor valor singular) e amorteça-as (DLS).
- Próximo capítulo: uma vez que você consegue produzir uma pose, ainda precisa se mover até lá de forma suave e segura.