Ao calcular a matriz jacobiana para resolver analiticamente um cinemático inverso, li em muitos lugares que eu poderia usar essa fórmula para criar cada uma das colunas de uma junta na matriz jacobiana:
De tal modo que é o eixo de rotação no espaço do mundo, é o ponto de articulação no espaço do mundo, e é a posição do instrumento terminal no espaço do mundo.
No entanto, não entendo como isso pode funcionar quando as articulações têm mais de um DOF. Tome o seguinte como exemplo:
Os são o DOF rotacional, o é a extremidade actuante, o é o objectivo do efector final, a , e são as articulações.
Primeiro, se eu fosse calcular a matriz jacobiana com base na fórmula acima para o diagrama, obteria algo assim:
Supõe-se que todos os eixos de rotação sejam e todos tenham apenas um DOF rotacional. Então, acredito que cada coluna é para um DOF, neste caso, o .
Agora, aqui está o problema: e se todas as juntas tiverem 6 DOFs cheias? Digamos agora, para cada junta, eu tenho DOFs rotacionais em todos os eixos, , e , e também DOFs translacionais em todos os eixos, , e .
Para tornar minha pergunta mais clara, suponha que se eu aplicasse "forçosamente" a fórmula acima a todos os DOFs de todas as juntas, provavelmente terei uma matriz jacobiana como esta:
(clique para ampliar)
Mas isso é incrivelmente estranho, porque todas as 6 colunas do DOF para cada junta estão repetindo a mesma coisa.
Como posso usar a mesma fórmula para construir a matriz jacobiana com todos os DOFs? Como seria a matriz jacobiana neste caso?
Respostas:
Devo admitir que não tenho visto essa fórmula específica com muita frequência, mas meu palpite seria que, no caso de mais de um DOF, você o avaliaria para todas as articulações de cada coluna e depois (talvez?) Multiplicaria esses resultados em cada coluna.
Mas deixe-me sugerir uma abordagem mais simples aos jacobianos no contexto de muitos DOFs arbitrários: Basicamente, o jacobiano diz a você quão longe cada junta se move, se você mover o quadro efetor final em uma direção escolhida arbitrariamente. Deixe- ser a cinemática para a frente, onde θ = [ q 1 , . . . , θ n ] são as juntas, f pos é a parte posicional da cinemática direta e f rot a parte rotacional. Então você pode obter o jacobiano diferenciando a cinemática direta em relação às variáveis conjuntas:f( θ ) θ = [ θ1, . . . , θn] fpos fpodridão
é Jacobian do seu manipulador. A inversão daria a cinemática inversa em relação àsvelocidades. No entanto, ainda pode ser útil, se você quiser saber até que ponto cada junta deve se mover, se quiser mover seu efetor final em umapequenaquantidadeΔxem qualquer direção (porque no nível da posição, isso seria efetivamente uma linearização):
Δθ=J-1Δx
Espero que isso ajude.
fonte
Sua fórmula para uma junta de 6 dof pressupõe que todas as 6 juntas tenham o eixo no quadro mundial e que todas as juntas sejam rotativas. Como as 6 articulações são assim idênticas, suas colunas no jacobiano também são idênticas.( 0 , 0 , 1 )
Começar de novo, suponha que uma joint tem um eixo passar por um ponto r . Seja e a posição do efetor final. As coordenadas de um , r , e e são dadas no quadro mundial e estão sendo atualizados conforme o robô está sendo movido. O eixo a tem comprimento 1 .uma r e uma r e uma 1
Se a articulação é revoluta, a coluna jacobiana da articulação é
Se a junta é prismática, a coluna é
Suponha que tenhamos uma junta de 6 dof, que não é apenas esférica, mas também pode se traduzir no espaço. Suponhamos que os eixos da articulação são , um Y , e um de Z e que cada revolutas e prismáticos partes conjuntas de um eixo, de modo que o Jacobiana para o conjunto torna-seumax umay umaz
fonte
Tanto quanto eu entendo sua pergunta, você quer a matriz jacobiana para a junta dos 6 DOF.
Deixe-me começar com o básico da robótica. Você está na fase inicial variada do aprendizado de robótica. Você precisa entender que cada articulação representa um único DOF, seja uma articulação revoluta ou prismática.
No que diz respeito à articulação esférica, ela pode ser convertida em articulação de 3 rotações com três eixos mutuamente perpendiculares. Então, agora você simplificou sua articulação esférica.
Avançando para a matriz jacobiana. Ele contém 6 linhas. As primeiras 3 linhas representam a orientação e as 3 últimas linhas indicam a posição com referência a um sistema de coordenadas específico. Cada coluna na matriz indica uma única junta. Portanto, o número de junta / DOF tem a mesma coluna de número que você tem na matriz jacobiana.
Aqui está a visão mais clara da sua pergunta: Uma única junta nunca preenche mais de um DOF, porque complica a junta e o controle preciso nunca será alcançado. Mesmo se considerarmos hipoteticamente uma articulação com mais de um DOF, você precisará converter essa articulação em várias articulações com 1 DOF cada para simplificar a matemática e a solução.
Idealmente, o robô 6 DOF com 6 juntas de revolução funciona para a maioria dos problemas reais. Mas, de acordo com a sua pergunta, você considerou 6 robôs articulados, cada um com 3 DOF, o que faz 18 robôs do DOF. Isso fornecerá DOF redundante (ou seja, 18-6 = 12 DOF redundante). Portanto, para alcançar o efeito final do robô em qualquer local com qualquer orientação, você terá infinitas soluções diferentes (solução significa rotação de cada junta). Portanto, resolva esse tipo de problema de cinemática inversa e você precisará de um método iterativo de cinemática inversa.
Espero ter respondido sua pergunta mais claramente. Para aprender robótica básica, você pode consultar John J. Craig - Introdução à Mecânica e Controle de Robótica - Pearson Education, Inc.
Atenciosamente, Manan Kalasariya
fonte