Cinemática Inversa e Espaço de Trabalho
Objetivos de Aprendizagem
- Enunciar o problema da cinemática inversa e seus três desfechos possíveis: nenhuma solução, um número finito delas, infinitas.
- Resolver em forma fechada um braço planar de dois elos com
atan2, obter as duas soluções de cotovelo e enunciar a condição de alcance. - Rodar o método de Newton no mesmo braço, reconhecer a convergência quadrática e prever como ele falha quando o ponto inicial ou a solução está numa configuração singular.
- Distinguir o espaço de trabalho alcançável do espaço de trabalho destro, deduzir os dois para um braço planar de três elos e estimá-los por amostragem com gerador, semente e tamanho nomeados.
Contexto e Motivação
the-denavit-hartenberg-convention transformou um braço numa tabela, e a tabela numa função: entram ângulos de junta, sai uma pose. A tarefa chega pelo caminho inverso. Uma câmera informa onde está a peça, e o controlador precisa de ângulos de junta que levem a garra até lá. Isso é cinemática inversa: dada uma posição ou pose desejada do efetuador final, encontrar com .
A cinemática direta sempre tem exatamente uma resposta. A inversa pode não ter nenhuma (o alvo está fora de alcance), ter várias (o cotovelo pode dobrar para um lado ou para o outro) ou infinitas (o braço tem mais juntas do que a tarefa exige). Alguns braços admitem fórmula. Para os demais há iteração, e a iteração é o método de Newton de newtons-method, agora em várias variáveis, com todos os seus modos de falha em versão robótica.
Teoria Central
O braço planar de dois elos
Tome elos de comprimentos e e ângulos medidos no sentido anti-horário, a partir do eixo e relativo ao elo 1. A ponta fica em
com . Elevar ao quadrado e somar elimina , pois . Assim
Existe solução exatamente quando , isto é, . No interior estrito desse anel há duas soluções, uma para cada sinal de . Em cada círculo da borda há uma, com o braço esticado () ou dobrado (). A exceção é , em que o círculo interno se reduz à base e o braço dobrado a alcança com qualquer . O atan2 importa aqui: ele devolve o ângulo no quadrante certo em , o que não consegue.
Os nomes dos dois ramos variam. O Modern Robotics os chama de "lefty" e "righty" ou "elbow-up" e "elbow-down", e qual é qual depende de como se olha o braço. O sinal de não é ambíguo, então esta lição usa ele.
Braços maiores
O mesmo padrão, desacoplar e usar geometria plana, dá forma fechada para muitas montagens industriais. Para um braço planar de três elos com orientação desejada , subtraia o último elo para obter o ponto de punho e resolva o problema de dois elos para . Braços de seis juntas cujos três últimos eixos se encontram num ponto se separam do mesmo jeito em um problema de posição e um de orientação. Para geometrias sem essa separação, o caminho usual é um método numérico.
Método de Newton para cinemática inversa
Seja e seja a matriz de derivadas parciais (montada em geral em velocity-kinematics-and-the-jacobian). Para o braço de dois elos,
Linearizar em e impor erro zero dá
É a iteração escalar de newtons-method com a divisão trocada por um sistema linear, como aquela lição antecipa. A teoria escalar se transfere: perto de uma solução em que é invertível, o erro é aproximadamente elevado ao quadrado a cada passo. Duas hipóteses podem falhar de um jeito próprio da robótica. O determinante se anula quando , então partir com o braço esticado ou dobrado torna o passo indefinido. E se a própria solução tem , o que acontece para todo alvo na borda do alcance, a raiz é degenerada, como a raiz dupla de newtons-method.
O Modern Robotics troca pela pseudoinversa quando não é quadrada ou não é invertível, e observa que a iteração tende a convergir para a solução mais próxima do chute inicial, cada solução com sua própria bacia de atração.
Espaço de trabalho alcançável e destro
Murray, Li e Sastry definem o espaço de trabalho alcançável como o conjunto de posições que o efetuador atinge "at some orientation", e o espaço de trabalho destro ("dextrous workspace", na grafia deles) como o conjunto de posições atingidas "with arbitrary orientation". O segundo está contido no primeiro. Num braço planar, "orientação arbitrária" quer dizer qualquer direção no plano.
Para um braço planar de três elos com e , o Exemplo 3.4 deles conclui que o espaço alcançável é o anel e que o destro é menor por em cada borda. O motivo sai direto da redução ao ponto de punho: uma posição serve para a direção exatamente quando cai no anel de dois elos . Alcançável quer dizer que uma direção serve. Destro quer dizer que o círculo inteiro de raio em torno de cabe nesse anel, o que dá .
Exemplos Resolvidos
Todos os comprimentos abaixo são supostos para ilustração: m, m e, no Exemplo 4, um terceiro elo m. Ângulos em graus, salvo indicação.
Exemplo 1: as duas soluções de cotovelo em forma fechada
Alvo m, a m da base, dentro do anel . Então , e
textramo theta1 theta2 posição do cotovelo erro na ponta theta2>0 -3.7231 74.0380 (0.998, -0.065) 0 theta2<0 48.9628 -74.0380 (0.657, 0.754) 2.2e-16
As duas satisfazem a cinemática direta até o arredondamento. São imagens espelhadas em relação à reta que liga a base ao alvo: um cotovelo fica abaixo dessa reta, o outro acima. Qual delas o robô deve usar é decisão da tarefa (obstáculos, limites de junta, postura atual), não da cinemática.
Exemplo 2: método de Newton, e qual solução ele encontra
Partindo de , as normas do erro em metros são
e a execução chega à solução com . O primeiro passo quase não ajuda, depois o expoente praticamente dobra, o padrão da convergência quadrática. Partindo de são quatro passos, , , , , , até a solução com . O ponto inicial escolheu o ramo.
Exemplo 3: método de Newton perto de configurações singulares
Partida sobre uma singularidade. Partir da postura zero , o braço esticado, dá , e numpy.linalg.solve levanta LinAlgError: Singular matrix no primeiro passo. A postura zero é um chute inicial natural, o que torna essa falha comum.
Partida ao lado de uma. De o número de condição de é e o primeiro passo é radianos. Depois a execução converge em mais cinco passos para ângulos de cerca de e graus, que módulo são exatamente a solução com . Mas o resíduo empaca em m em vez de : perto de rad, doubles consecutivos estão a rad um do outro, então o próprio ângulo não pode ser guardado com mais precisão. Um controlador real também rejeitaria um comando de milhares de voltas.
Solução sobre uma singularidade. O alvo está na borda externa, com solução única , onde . Partindo de :
textk theta1 theta2 |e| (m) cond(J) theta2_k/theta2_(k-1) 0 10.00000 30.0000000 6.0e-02 9.1e+00 1 14.29521 14.9948396 1.3e-02 1.9e+01 0.4998 2 17.18841 7.4858672 3.2e-03 3.7e+01 0.4992 5 19.64928 0.9352169 5.0e-05 3.0e+02 0.5000 10 19.98904 0.0292253 4.9e-08 9.5e+03 0.5000 23 20.00000 0.0000030 7.4e-16 9.2e+07 0.4399
O erro da junta cai pela metade a cada passo: convergência linear com razão , a mesma razão que newtons-method encontrou para uma raiz dupla em uma variável. O erro da tarefa cai por quatro a cada passo porque, com o braço esticado, a distância até a borda cresce com o quadrado de . Isso também torna o resíduo enganoso: em a ponta está a m do alvo, enquanto ainda está a rad do valor verdadeiro.
Alvo fora de alcance. Para não existe solução, e o menor erro possível é m. Em 30 iterações partindo de , pulou entre e m, e chegou a graus em . Nada na iteração avisa que o alvo é inviável. Conferir antes a condição de alcance, quando ela existe, sai mais barato.
Um remédio comum para as duas primeiras falhas troca o passo pelo de mínimos quadrados amortecidos, , que fica finito mesmo com singular. Com m ele chegou à solução com partindo exatamente de em 11 iterações, até m. singularities-and-manipulability volta a esse compromisso.
Exemplo 4: espaço alcançável e destro por amostragem
Acrescente m. As hipóteses de Murray, Li e Sastry valem ( e ), então as respostas exatas são os anéis (alcançável, área m²) e (destro, área m²).
Amostrando as juntas. Com rng = numpy.random.default_rng(2026) e Q = rng.uniform(-pi, pi, (100_000, 3)), os raios da ponta foram de a m, então os extremos aparecem. A densidade é outra história. Comparando a fatia de amostras de cada faixa radial com a fatia de área:
textfaixa (m) 0.1-0.4 0.4-0.7 0.7-1.3 1.3-1.6 1.6-1.9 amostras/área 1.61 1.57 1.21 0.91 0.57
Ângulos de junta uniformes não dão posições uniformes. A faixa externa, onde o braço precisa estar quase reto, recebe 57 por cento da sua parte justa, então amostrar juntas é um jeito ruim de estimar áreas.
Amostrando o plano. Com um numpy.random.default_rng(2026) novo, sorteie 200.000 pontos uniformes no quadrado (área 16 m²). Para cada ponto, teste 360 direções igualmente espaçadas: a direção serve se o ponto de punho cai no anel de dois elos . Um ponto é alcançável se alguma direção serve, e destro se as 360 servem.
textpontos área estimada (m^2) exata erro padrão raios amostrados (m) alcançável 141,102 11.288 11.310 0.016 0.10002 a 1.89996 destro 47,053 3.764 3.770 0.015 0.70000 a 1.29999
As duas estimativas estão a menos de 1,5 erro padrão das áreas exatas. A grade de 360 direções só pode superestimar o conjunto destro, já que um ponto poderia falhar numa direção entre as linhas da grade, mas aqui os raios amostrados ficam dentro de . Ao longo do eixo , a fração de direções que servem é em , em , em , em e em . Uma garra que precisa chegar por qualquer lado só tem a faixa do meio, um terço da área alcançável.
Equívocos Comuns e Armadilhas
- "A cinemática inversa tem uma resposta." O Exemplo 1 tem duas, e as duas são exatas. Limites de junta e obstáculos escolhem entre elas.
- "O método de Newton acha a solução mais próxima." Muitas vezes acha, mas o Exemplo 3 partiu a rad de uma postura e terminou a milhões de graus.
- "A postura zero é um chute inicial seguro." Neste braço ela é singular, e o solver para no primeiro passo.
- "Resíduo minúsculo quer dizer juntas certas." Na borda, o resíduo foi m com erro de junta de rad, e a convergência foi linear, não quadrática.
- "Não convergir quer dizer chute ruim." Pode querer dizer alvo inalcançável. Confira o alcance antes de iterar.
- "O espaço alcançável é onde o robô consegue trabalhar." Para uma tarefa que exige toda direção de aproximação, só o espaço destro conta, aqui um terço da área alcançável.
- "Amostrar juntas uniformemente amostra o espaço de trabalho uniformemente." A faixa externa recebeu 0,57 da sua parte.
Resumo
A cinemática inversa pede valores de junta que produzam uma pose dada, e pode ter nenhuma, várias ou infinitas respostas. Para um braço de dois elos, a lei dos cossenos e o atan2 dão as duas soluções de cotovelo sempre que , e o desacoplamento pelo ponto de punho estende isso a muitos braços maiores. O método de Newton resolve a cada passo, converge quadraticamente a partir de um bom ponto inicial e escolhe a solução pela bacia. Ele quebra em configurações singulares: partir esticado dá matriz singular, quase esticado dá um passo de rad, alvo na borda dá convergência linear com razão , e alvo inalcançável não converge. O espaço alcançável conta as posições atingidas com alguma orientação, o destro as atingidas com todas. Para comprimentos , e m eles são os anéis e , que a amostragem do plano com semente fixa reproduziu a menos de 0,2 por cento da área.