Cinemática de Velocidade e o Jacobiano
Objetivos de Aprendizagem
- Escrever a velocidade do efetuador final como e , e ler cada coluna do Jacobiano como o movimento produzido por uma junta sozinha.
- Montar o Jacobiano geométrico coluna por coluna a partir dos frames dos elos, com a regra rotativa e a regra prismática .
- Conferir um Jacobiano contra diferenças finitas centradas, inclusive as linhas angulares, e escolher o passo.
- Definir o Jacobiano analítico, relacioná-lo ao geométrico pela matriz dos ângulos de orientação escolhidos e dizer quando os dois coincidem e quando divergem.
Contexto e Motivação
A cinemática direta responde "onde está a ferramenta". O controle precisa de "com que velocidade a ferramenta se move quando as juntas se movem", porque motores recebem comandos em velocidade de junta e tarefas são escritas em velocidades cartesianas. inverse-kinematics-and-workspace já usou a resposta dentro do método de Newton: a matriz de derivadas parciais de um braço planar. Aquela matriz saiu de derivar uma fórmula, o que funciona para posição. Orientação é diferente. Uma matriz de rotação não é um vetor, e sua taxa de variação é descrita por uma velocidade angular que, em geral, não é a derivada de três números quaisquer. Esta lição monta o Jacobiano direto da geometria da cadeia, com as linhas de , e o confere numericamente.
Teoria Central
Convenções: frames DH clássicos como em the-denavit-hartenberg-convention, então a junta gira em torno de ou desliza ao longo dele, com origem . Todos os vetores estão expressos no frame da base. O ponto da ferramenta é . O Jacobiano empilha as linhas lineares em cima, . O Modern Robotics empilha ao contrário, com as angulares em cima.
Cinemática de velocidade é a regra da cadeia
Se , a regra da cadeia em várias variáveis de partial-derivatives-and-the-multivariable-chain-rule dá , um termo por caminho de até . Então a coluna de é a velocidade da ponta quando a junta se move com taxa unitária e todas as outras estão paradas. A relação é linear em e não linear em : a matriz muda com a postura.
Montando o Jacobiano geométrico coluna por coluna
Uma taxa unitária numa junta rotativa gira tudo o que vem depois dela em torno do eixo que passa por . Um corpo rígido girando com em torno de um eixo que passa por move seu ponto com velocidade . Uma taxa unitária numa junta prismática desliza tudo o que vem depois ao longo de , sem girar. Daí
As velocidades angulares de uma cadeia serial se somam, cada junta contribuindo com seu eixo vezes sua taxa, então as linhas angulares são simplesmente os eixos das juntas. Tudo o que é preciso, e , é a terceira e a quarta coluna de , que a cinemática direta já calcula. Na convenção modificada a junta fica em , na origem , e a mesma regra vale com esse índice.
Nomes: o que "geométrico" quer dizer onde
Este Jacobiano de é o que muitos textos chamam de Jacobiano geométrico. O Modern Robotics usa esse nome para os Jacobianos espacial e de corpo, que levam a um twist, e observa numa nota de rodapé que o termo também já foi usado para esta forma mista, que ele chama de "hybrid". A diferença está só na parte linear. A parte linear do Jacobiano espacial é a velocidade do ponto do corpo móvel que está momentaneamente na origem da base, e . Antes de comparar um Jacobiano com outra fonte, confira qual velocidade ele produz.
O Jacobiano analítico
Suponha a orientação descrita por três ângulos , por exemplo ângulos ZYX com (guinada, arfagem, rolagem, em torno dos eixos móveis). Derivar dá o Jacobiano analítico . As taxas dos ângulos e se relacionam por , em que cada coluna de é o eixo de uma rotação elementar, expresso no frame da base:
Portanto
válido onde é invertível. Três consequências:
- As linhas lineares sempre coincidem, porque os dois Jacobianos usam no frame da base.
- As linhas angulares só coincidem quando . Um braço planar é o caso típico: seu único ângulo de orientação tem .
- Em , é singular e não existe, mesmo que o braço gire livremente. É uma singularidade de representação, propriedade dos ângulos escolhidos e não do robô. Toda sequência de ângulos de Euler tem uma, em algum valor do ângulo do meio.
O Jacobiano analítico é o necessário quando a tarefa está escrita nesses ângulos, por exemplo num controlador que segue uma trajetória em guinada, arfagem e rolagem. O geométrico é o necessário para perguntas físicas, como a velocidade da ferramenta, as forças via e as singularidades do robô.
Exemplos Resolvidos
Exemplo 1: o braço articulado, coluna por coluna
Use o braço e a tabela de the-denavit-hartenberg-convention ( m, m, m, comprimentos supostos) em . Dos frames já calculados lá:
texti eixo z_(i-1) origem o_(i-1) p - o_(i-1) 1 (0, 0, 1) (0, 0, 0) (0.6408, 0.3700, 0.6500) 2 (0.5, -0.866, 0) (0, 0, 0.4) (0.6408, 0.3700, 0.2500) 3 (0.5, -0.866, 0) (0.3062, 0.1768, 0.7536) (0.3346, 0.1932, -0.1035)
Fazendo os produtos vetoriais,
Leia as colunas. A junta 1 move a ponta na horizontal, perpendicular ao braço, com velocidade igual ao alcance horizontal m, e não tem efeito vertical. As juntas 2 e 3 têm eixos na mesma direção, então suas colunas angulares são iguais. A coluna linear da junta 2 tem componente vertical , de novo o alcance horizontal, porque o ombro levanta a ponta na proporção de quão longe ela está. As mesmas colunas saem de derivar a fórmula de posição daquela lição: .
Para uma velocidade de junta rad/s, .
Exemplo 2: conferindo contra diferenças finitas
Linhas de posição: perturbe uma junta em e calcule . Linhas angulares: as matrizes de rotação não são vetores, mas é a matriz antissimétrica de , então tome e leia nas entradas , , de . A maior diferença em relação ao geométrico, nas 18 entradas:
texth 1e-2 1e-4 1e-6 1e-8 1e-10 max diff 1.7e-05 1.7e-09 7.0e-11 ~1e-08 ~5e-07 a 9e-07
A diferença centrada tem erro de truncamento da ordem de , que domina à esquerda, e erro de arredondamento da ordem de , que domina à direita. As duas últimas entradas são ruído de arredondamento: seus dígitos mudam com o jeito de programar a cinemática direta, só a ordem de grandeza é estável. O melhor passo fica perto de , mais ou menos a raiz cúbica da precisão de máquina. Um erro de índice nas origens, usar no lugar de (fácil ao trocar de convenção), aparece como uma entrada errada por , nove ordens de grandeza acima desse piso. Uma conferência no tempo também bate: com s reproduz m/s.
A relação da seção sobre nomes também se confirma aqui: para cada coluna, (a parte linear do Jacobiano espacial) mais reproduz a coluna correspondente de .
Exemplo 3: uma junta prismática
Use o SCARA de the-denavit-hartenberg-convention (altura do ombro suposta de m, elos de m e m) em , com ponta . Eixos com origens e , e porque o curso positivo da haste é para baixo.
A terceira coluna é só em cima e zeros embaixo: deslizar desce a ferramenta a 1 m/s por m/s e não a gira. As linhas 4 e 5 são nulas, então esse braço nunca inclina a ferramenta, e a matriz tem posto no máximo 3. Diferenças finitas com concordam até .
Exemplo 4: geométrico versus analítico, longe de qualquer singularidade
Para o braço articulado em , os ângulos ZYX da ferramenta são : a guinada é , a arfagem é , a rolagem fica em . Então as linhas angulares de são
As duas estão certas e respondem a perguntas diferentes: dá taxas de ângulo, dá o giro físico. Diferenças finitas dos ângulos ZYX extraídos reproduzem até . As linhas lineares são idênticas.
Exemplo 5: quando só o Jacobiano analítico explode
Tome um punho de três juntas com , todas rotativas. Seu Jacobiano angular tem colunas , e , confirmadas por diferenças finitas até . Descreva sua orientação com ângulos ZYX e leve-o até , onde a arfagem ZYX chega a :
textq2 cond(J_omega) max |entrada de J_A| taxas ZYX para qdot = (0.1, 0.1, 0.1) rad/s 40* 2.75 1.1 80 1.19 5.8 (0.68, 0.10, 0.57) 89 1.018 57.3 (5.83, 0.10, 5.73) 89.9 1.0017 573 (57.40, 0.10, 57.30)
(* linha com , as outras com .) Em o punho está quase perfeitamente condicionado, gira a rad/s, e mesmo assim guinada e rolagem precisam variar a cerca de 57 rad/s cada. Perto da arfagem de o eixo da guinada e o da rolagem apontam em direções quase opostas, então essas duas taxas grandes quase se cancelam. Um controlador escrito em ângulos ZYX veria uma falha que o hardware não tem.
O inverso também acontece. Em os eixos das juntas 1 e 3 se alinham, tem valores singulares , e o punho de fato não consegue girar em torno de uma direção. Isso é uma singularidade do robô, assunto de singularities-and-manipulability. Os dois tipos se distinguem perguntando qual matriz perde posto: (o robô) ou (os ângulos).
Equívocos Comuns e Armadilhas
- "Velocidade angular é a derivada dos ângulos de Euler." É vezes essa derivada. No Exemplo 4 as duas diferem numa postura comum.
- "Os Jacobianos geométrico e analítico diferem em tudo." As linhas lineares são sempre iguais, e num braço planar a linha angular também.
- "Uma explosão em quer dizer robô singular." No Exemplo 5 o punho tinha número de condição enquanto tinha entradas de 573.
- "Colunas prismáticas são como as rotativas." Elas têm o eixo nas linhas lineares, zeros nas angulares, e nenhum produto vetorial.
- "Qualquer passo de diferença finita serve." O erro foi com e da ordem de com , contra perto de .
- "O Jacobiano geométrico é o mesmo em todo livro." O Modern Robotics chama assim um Jacobiano de twist, cuja parte linear não é . Confira a velocidade antes de comparar números.
Resumo
O Jacobiano leva taxas de junta à velocidade do efetuador final, e sua coluna é o movimento produzido só pela junta . A partir dos frames dos elos, uma junta rotativa contribui com nas linhas lineares e nas angulares, e uma prismática com e zeros. Para o braço articulado e o SCARA essas colunas bateram com diferenças centradas até no melhor passo, . O Jacobiano analítico deriva um conjunto escolhido de ângulos de orientação e vale : mesmas linhas lineares, linhas angulares diferentes a menos que como num braço planar, e explosão onde é singular. Um punho em ZYX perto da arfagem de mostrou taxas de ângulo de 57 rad/s enquanto o hardware girava a rad/s, bem condicionado.