Kinematic Redundancy
- Também chamado: manipulator redundancy
- Categoria: Foundations & spatial maths › Kinematics
- Tags: kinematics, inverse-kinematics, null-space, manipulators, redundancy-resolution
Um robô é cinematicamente redundante para uma tarefa quando tem mais juntas do que a tarefa precisa, de modo que a mesma pose do efetuador final pode ser alcançada com uma família contínua de configurações de juntas.
Definição
Um manipulador é cinematicamente redundante em relação a uma tarefa quando seu número de juntas n excede a dimensão m da tarefa que ele precisa controlar. O caso clássico é um braço de sete juntas controlando uma pose do efetuador final de seis dimensões, o que deixa um grau de redundância. A redundância, porém, é definida em relação à tarefa: um braço de seis juntas também é redundante para uma tarefa que fixa apenas a posição da ponta de uma ferramenta, ou que deixa livre a rotação em torno do eixo de uma furadeira. Para uma pose fixa do efetuador final, as configurações de juntas que a alcançam não formam um único ponto, mas uma família de dimensão (n − m), muitas vezes chamada de variedade de automovimento (self-motion manifold). Na prática, isso significa que o braço pode mover o cotovelo enquanto a mão fica parada.
No nível de velocidade, a redundância aparece como o espaço nulo da jacobiana do manipulador J, de tamanho m × n: velocidades de junta nesse espaço nulo não produzem nenhum movimento do efetuador final. Controladores de taxa resolvida (resolved-rate) usam isso com a forma padrão q̇ = J⁺ẋ + (I − J⁺J)q̇₀, em que J⁺ é a pseudoinversa. O primeiro termo segue a tarefa, e o segundo projeta um objetivo secundário q̇₀ no espaço nulo. Objetivos secundários comuns são ficar longe dos limites das juntas, manter o cotovelo afastado de obstáculos, aumentar a manipulabilidade para evitar singularidades e reduzir os torques nas juntas. A cinemática inversa com prioridade de tarefas (task-priority inverse kinematics) parte disso e ordena várias tarefas por prioridade, de modo que cada tarefa de prioridade mais baixa atua apenas no espaço nulo das que estão acima dela.
A redundância também muda o comportamento da cinemática inversa. Um solucionador numérico de IK devolve uma solução entre infinitas, escolhida implicitamente por sua semente e seu algoritmo, de modo que consultas consecutivas podem saltar entre configurações distantes. A IK analítica para projetos comuns de sete juntas com ombro e punho esféricos parametriza explicitamente a liberdade extra, muitas vezes como um ângulo do braço ou ângulo de giro (swivel angle) que gira o cotovelo em torno da reta que vai do ombro ao punho. A redundância não deve ser confundida com o conjunto finito de ramos discretos de IK, como cotovelo para cima ou para baixo e punho invertido, que até braços não redundantes de seis juntas têm.
Por que importa
A redundância é o que permite a um braço de sete juntas contornar obstáculos, evitar limites das juntas e ficar longe de singularidades enquanto sua mão segue um caminho, e é por isso que muitos braços colaborativos e humanoides têm sete juntas. Ela também torna a cinemática inversa e o planejamento mais difíceis, porque algo precisa escolher uma configuração dentro de um contínuo, e escolhas ruins levam a paradas por limite de junta ou a viradas bruscas do cotovelo.
Principais aplicações
- Desvio de obstáculos com o cotovelo e evitação de autocolisão enquanto o efetuador final segue um caminho
- Evitação de limites das juntas e de singularidades durante trajetórias longas de ferramenta
- Manipulação bimanual e de cadeia fechada, em que a liberdade sobrando ajuda a satisfazer restrições compartilhadas
- Controle de corpo inteiro de humanoides e manipuladores móveis com muito mais juntas do que qualquer tarefa isolada precisa
- Manter a postura do braço previsível e afastada das pessoas no trabalho colaborativo
- Reduzir os torques nas juntas ou a energia para um dado movimento do efetuador final
Na prática
Um engenheiro programa um braço de sete juntas para limpar uma mesa com uma esponja enquanto uma pessoa trabalha por perto. O caminho de limpeza fixa a pose do efetuador final, deixando um grau de liberdade livre. O controlador calcula as velocidades das juntas com a pseudoinversa da jacobiana para o movimento de limpeza e acrescenta um termo no espaço nulo que afasta o cotovelo da posição rastreada da pessoa e o leva em direção ao meio da faixa de cada junta. Durante os testes, a equipe descobre que um solucionador numérico de IK simples, chamado em cada waypoint, às vezes devolve soluções com o cotovelo em lados opostos, causando grandes saltos nas juntas. A equipe passa a inicializar cada consulta a partir da solução anterior (warm-starting) e a parametrizar a posição do cotovelo explicitamente com o ângulo do braço, para que o planejador escolha o grau de liberdade redundante deliberadamente em vez de deixá-lo para o solucionador.
Equívocos comuns
- Redundância significa simplesmente ter mais de seis juntas — ela é definida em relação à tarefa, então um braço de seis juntas é redundante para uma tarefa que restringe menos de seis coordenadas do efetuador final
- Braços redundantes têm várias soluções de IK do mesmo jeito que braços de seis juntas — braços não redundantes têm um conjunto finito de soluções discretas, enquanto braços redundantes têm famílias contínuas delas
- O movimento no espaço nulo nunca afeta a tarefa — ele deixa a pose do efetuador final inalterada apenas em primeira ordem, então passos grandes ou movimento perto de singularidades ainda podem perturbar a tarefa se o erro não for corrigido
Quem deve saber
- Engenheiros de manipulação e de planejamento de movimento
- Engenheiros de controle que trabalham com controle no espaço da tarefa e controle de corpo inteiro
- Desenvolvedores de humanoides e de manipuladores móveis
- Estudantes de robótica que estudam cinemática de manipuladores
Tecnologias relacionadas
- Pseudoinversa da jacobiana (Jacobian Pseudoinverse)
- Projeção no espaço nulo (Null-Space Projection)
- Cinemática inversa analítica (Analytic Inverse Kinematics)
- Elipsoide de manipulabilidade (Manipulability Ellipsoid)
- Mínimos quadrados amortecidos (Damped Least Squares)
Termos relacionados
Projetos relacionados
- MoveIt 2: Motion planning framework for ROS 2 robot arms, with kinematics and collision checking
- PyRoki: Modular Python toolkit for kinematic optimization across CPU, GPU, and TPU via JAX
- mink: Python inverse kinematics library built on MuJoCo supporting 20+ robot platforms
- DART: C++ physics engine for articulated rigid body dynamics and robotics simulation
- IKPy: Pure-Python inverse kinematics library that builds chains straight from URDF
- frax: JAX library for fast, differentiable robot kinematics, dynamics and inverse kinematics