Baixe o app para aproveitar ainda mais
Prévia do material em texto
Instituto de Educação, Ciência e Tecnologia Federal Catarinense campus Luzerna Introdução à Robótica Industrial Thiago Tavares Cinemática direta e inversa de um robo SCARA Luzerna Abril de 2020 Thiago Tavares Cinemática direta e inversa de um robo SCARA Trabalho de Introdução à Robótica Indus- trial apresentado ao professor Thiago Java- roni Prati do curso de Engenharia de Con- trole e Automação, do Instituto Federal Ca- tarinense, Campus Luzerna, para compor a segunda nota da matéria no período em que a disciplina está sendo ofertada a distância decorrente da pandemia do COVID-19. Instituto de Educação, Ciência e Tecnologia Federal Catarinense campus Luzerna Introdução à Robótica Industrial Orientador: Thiago Prati Luzerna Abril de 2020 Lista de ilustrações Figura 1 – Robô SCARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Figura 2 – Representação do SCARA . . . . . . . . . . . . . . . . . . . . . . . . . 12 Figura 3 – SCARA no Peter Corke . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Figura 4 – SCARA com posição arbitrada . . . . . . . . . . . . . . . . . . . . . . 18 Figura 5 – SCARA visto do eixo X e Y . . . . . . . . . . . . . . . . . . . . . . . . 19 Figura 6 – SCARA visto do eixo X e Y completo . . . . . . . . . . . . . . . . . . 20 Figura 7 – Triângulo do ângulo β . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Figura 8 – Triângulo do ângulo β . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Figura 9 – SCARA visto do eixo X e Z . . . . . . . . . . . . . . . . . . . . . . . . 23 Figura 10 – SCARA manipulado com os possíveis valores 1 . . . . . . . . . . . . . 25 Figura 11 – SCARA manipulado com os possíveis valores 2 . . . . . . . . . . . . . 25 Lista de tabelas Tabela 1 – Tabela de Denavit Hatenber original inicial . . . . . . . . . . . . . . . 11 Tabela 2 – Tabela Completa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Tabela 3 – Tabela dos valores arbitrados para confirmação da cinemática direta . 14 Tabela 4 – Tabela dos valores arbitrados para confirmação da cinemática inversa . 24 Tabela 5 – Tabela dos retornados pelo código do anexo B . . . . . . . . . . . . . . 24 Sumário 1 PROBLEMÁTICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 CINEMÁTICA DIRETA . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.1 Denavit Hatenber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Denavit Hatenber original aplicado ao SCARA . . . . . . . . . . . . . 11 2.2.1 Junta 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Junta 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.3 Junta 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.4 Junta 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.5 Confirmação da Matriz de Denavit Hatenber original . . . . . . . . . . . . 13 3 CINEMÁTICA INVERSA . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1 Análise nos eixos X e Y . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.1 Cálculo de Θ2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.1.2 Cálculo de Θ1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 3.1.2.1 Cálculo de β . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.2.2 Cálculo de α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.1.2.3 Determinação do α . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.1.3 Cálculo do Θ4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.2 Análise no eixo Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3.3 Confirmação da Cinemática Inversa . . . . . . . . . . . . . . . . . . . 24 APÊNDICE A – CÓDIGO PARA CONFIRMAÇÃO DA CINEMÁ- TICA DIRETA . . . . . . . . . . . . . . . . . . . . 27 APÊNDICE B – CÓDIGO PARA A CINEMÁTICA INVERSA DO SCARA . . . . . . . . . . . . . . . . . . . . . . . . 31 9 1 Problemática É requerido o desenvolvimento da cinemática direta e inversa do robô SCARA apresentado na figura 1 seguida da aplicação da matriz de Debavit-Hatenber Original no software MATLAB por meio da extensão Peter Corke voltada para a montagem do robô estudado seguida da aplicação da cinemática inversa do mesmo robô. Ainda, executadas as cinemática direta e inversa, ambas serão confirmadas via software MATLAB fazendo uso da extensão do Peter Corke para a montagem e estudo do robô. Figura 1: Robô SCARA Fonte: próprio autor (2020). 11 2 Cinemática Direta 2.1 Denavit Hatenber Antes de iniciar a demonstração da cinemática direta do robô SCARA, as compo- nentes da matriz que dá nome a esta seção são expostas a seguir e referentes à matriz de Denavit Hartenberg original: • ai - distância ao longo de xi, da interseção dos eixos xi e zi−1 até Oi; • di - distância ao longo zi−1, de Oi−1 até a intersecção dos eixos xi e zi−1; • αi - ângulo entre zi−1 e zi medido em torno de xi; • Θi - ângulo entre xi−1 e xi medido em torno de zi−1 Ainda, pode-se afirmar que, quando a junta for prismática, di é variável, possibili- tando a representação por um cubo no qual, o eixo z aponta para a direção do movimento. Contudo, se a junta for rotativa, Θi é variável e esta é representada por um cilindro com o z apontando no sentido deste. 2.2 Denavit Hatenber original aplicado ao SCARA Analisando a figura 2, que apresenta uma representação da primeira figura 1, nota- se todas as juntas que compõem o robô sendo elas: 3 rotativas (1,2 e 4) e uma prismática (3). Portanto, iniciamos a tabela de Denavit Hatenber original adicionando as variáveis com base no que se fora exposto na seção anterior. Tabela 1: Tabela de Denavit Hatenber original inicial Junta Θ d a α 1 Θ1 ? ? ? 2 Θ2 ? ? ? 3 ? d3 ? ? 4 Θ3 ? ? ? Fonte: próprio autor (2020). 12 Capítulo 2. Cinemática Direta Figura 2: Representação do SCARA Fonte: próprio autor (2020). 2.2.1 Junta 1 Tendo por base a tabela 1, passamos a analisar a primeira junta. Como seu Θ é variável decorrente da mesma ser uma junta rotativa, primeiro analisa-se a distância d, que, segundo a figura 2 e as colocações iniciais deste capítulo, é mensurada como d1. Quanto a distância a, o mesmo raciocínio anterior fora aplicado, sendo mensurada como a1. Por fim, basta a análise do α, sendo este mensurado como nulo decorrente da sobreposição de z0 e z1 vistas pelo eixo x1. 2.2.2 Junta 2 Novamente tendo por base a tabela 1, a variabilidade do Θ pertinente a esta junta se dá pelo mesmo motivo da anterior. Quanto a distância d, está é mensurada como 0, uma vez que os eixos z das juntas 1 e 2 compartilham o mesmo plano. Já a distância a, segundo a figura 2, é mensurada como a2. Por fim, basta a análise do ângulo α que, medido em torno de x2, acaba dando 180 graus, não importando o sinal aplicado a ele. 2.2. Denavit Hatenber original aplicado ao SCARA 13 2.2.3 Junta 3 Se apresentando como a primeira junta prismática, a análise de seu Θ é válida, sendo calculada como nula decorrente da sobreposição dos eixos z e x das juntas 2 e 3. Em sequência, analisar-se-a d3, entretanto, decorrente da característica da junta, bem como explicado anteriormente, esta é variável. Para a distância a e o ângulo α, o mesmo que ocorreu com Θ se aplica a estas variáveis, sendo mensuradas como 0. 2.2.4 Junta 4 Por fim, a junta 4, assim como as juntas 1 e 2 possui seu Θ variável pelo mesmo motivo. Já a distância d, se apresenta sob a dimensão da haste prismática, mas de forma constante que, segundo a figura 2, é mensurada com d4. Portanto, a análise da distância a e do ângulo α leva ao valor de 0 para ambas as variáveis, uma vez que, vista a sobreposição dos eixos z de 4 e 3, não existe distância e nem ângulo entre os sistemas de coordenadas. 2.2.5 Confirmação da Matriz de Denavit Hatenber original Após as análises das Juntas expostas anteriormente, retomamos a tabela 1 para incluir os novos valores encontrados. Tabela 2: TabelaCompleta Junta Θ d a α 1 Θ1 d1 a1 0 2 Θ2 0 a2 180 3 0 d3 0 0 4 Θ3 d4 0 0 Fonte: próprio autor (2020). Em sequência, aplicam-se os valores determinados na matriz de Denavit Hatenber original, apresentada na equação 2.1, substituindo os valores variáveis por constantes e utilizando o MATLAB com a extensão do Peter Corke para a confirmação destes decorrentes da multiplicação das matrizes de cada uma das juntas. Tn = cos(Θn) −sin(Θn) · cos(αn) sin(Θn) · sin(αn) an · cos(Θn) sin(Θn) cos(Θn) · cos(αn) −cos(Θn) · sin(αn) an · sin(Θn) 0 sin(αn) cos(αn) dn 0 0 0 1 (2.1) Os valores aplicados a cada uma das variáveis da junta para a inserção destes na equação 2.1 são apresentadas na tabela 3. 14 Capítulo 2. Cinemática Direta Tabela 3: Tabela dos valores arbitrados para confirmação da cinemática direta junta Θ d a α 1 π 10 10 0 2 π2 0 10 π 3 0 2 0 0 4 π 5 0 0 Para facilitar o desenvolvimento dos cálculos, fora desenvolvido um pequeno código no software para a inserção das variáveis na matriz de Denavit Hatenber original e a multiplicação destas a fim de se determinar a posição do robô via Peter Corke apresentado do anexo A. Portanto, executando o código, os valores da matriz das juntas 1, 2, 3 e 4 podem ser respectivamente visualizados nas equações 2.2, 2.3, 2.4 e 2.5, enquanto o resultado da multiplicação de todas é vista em 2.6. T1 = −1 0 0 −10 0 −1 0 0 0 0 1 10 0 0 0 1 (2.2) T2 = 0 1 0 0 1 0 0 10 0 0 −1 0 0 0 0 1 (2.3) T3 = 1 0 0 0 0 1 0 0 0 0 1 2 0 0 0 1 (2.4) T4 = −1 0 0 0 0 −1 0 0 0 0 1 5 0 0 0 1 (2.5) T1,2,3,4 = 0 1 0 −10 1 0 0 −10 0 0 −1 3 0 0 0 1 (2.6) Com a matriz produto da equação 2.6 adquirida, basta inserir os valores estipulados na tabela 3 nas variáveis pertinentes ao Peter Corke, onde, q1, q2 e q4 recebem os ângulos 2.2. Denavit Hatenber original aplicado ao SCARA 15 em graus e a variável q3 receberá a posição do deslocamento da junta prismática bem como apresentado na figura 3. Figura 3: SCARA no Peter Corke 40 X Z -40 SCARA HARDEXTREME -30 20 -20 -40 -10 0Z 10 Y -20 20 Y 0 30 40 X 0 -20 20 -4040 Teach q1 180 q2 90 q3 2 q4 180 x: -10.000 y: -10.000 z: 3.000 R: -90.000 P: -0.000 Y: -180.000 X Fonte: próprio autor (2020). Adicionado os parâmetros nas variáveis do Peter Corke, é visualizado, ainda na figura 3, que o SCARA atinge a posição de (-10,-10,3) tendo em vista o posicionamento dado por coordenadas (x,y,z). Analisando a última coluna da equação 2.6, pertinente a posição do robô, nota-se que os valores adquiridos no Peter Corke são equivalentes aos adquiridos no cálculo, validando a cinemática direta desenvolvida neste capítulo. 17 3 Cinemática Inversa Seguindo com a proposta deste documento, este capítulo será dedicado ao estudo da cinemática inversa do robô SCARA, onde tal ato pode ser dividido em duas partes: análise dos elos 1, 2 e 4 pertinentes a movimentação em x e y e a análise do elo 3 responsável pela movimentação em z. Ainda, para uma compreensão melhor dos ângulos pertinentes ao robô, uma posição para este foi arbitrada com base em uma modificação da figura 2 como pode ser vislumbrado na figura 4. 3.1 Análise nos eixos X e Y Para iniciar, pode-se focar apenas nas retas tracejadas mostradas na figura 4. Contudo para que a posição arbitrada seja alcançada, o robô poderá percorrer dois caminhos distintos: com o cotovelo para cima (retas tracejada) ou para baixo (retas cheias), conforme visto na figura 5. Sendo assim, a partir da movimentação dos braços de tamanho a1 e a2 o robô atinge a posição (X,Y) genérica. Antes de iniciar a determinação das equações dos ângulos Θ1, Θ2 e Θ4, alguns dados devem ser adicionados a figura 5 a fim de facilitar a compreensão da dedução que irão se seguir. Primeiramente, uma reta R que une a origem e o ponto (X,Y) será adicionada sendo mensurado como a raiz da soma do quadrado de X com o quadrado de Y, ou seja, o Teorema de PItágoras. As demais adições serão um ângulo β, entre o eixo X e a reta R, e um outro α, entre o braço a1 e a reta R bem como apresentado na figura 6. 3.1.1 Cálculo de Θ2 Como o Theta2 somado ao ângulo entre a1 e a2 oposto a reta R equivale a 180◦ a lei dos cossenos para a determinação do primeiro ângulo pode ser aplicada vista deste segundo como apresentado na equação 3.2. R2 = a21 + a22 − 2 · a1 · a2 · cos(Θ2) (3.1) Sendo assim, isolando o cosseno e substituindo a reta R pela equação de Pitágoras exposta anteriormente: cos(Θ2) = x2 + y2 − a21 − a22 2 · a1 · a2 (3.2) 18 Capítulo 3. Cinemática Inversa Figura 4: SCARA com posição arbitrada Fonte: próprio autor (2020). Determinado a equação para o cosseno de Θ2, como a posição no círculo trigono- métrico importa para a determinação do ângulo, não será possível a aplicação do arco cosseno, sendo necessário a determinação do seno, através da equação 3.3, para possibilitar a aplicação da função do arco tangente 2 que leva em consideração a posição do ângulo no círculo trigonométrico. sen2(Θ2) + cos2(Θ2) = 1 (3.3) 3.1. Análise nos eixos X e Y 19 Figura 5: SCARA visto do eixo X e Y Fonte: próprio autor (2020). sen(Θ2) = ± √ 1 − cos2(Θ2) (3.4) Determinados o cosseno e o seno de Θ2, pode-se aplicar a função do arco tangente 2 para a determinação do ângulo estudado. Vale salientar ainda que a presença do + e - no cálculo do seno infere a determinação de dois valores para Θ2 decorrente da posição do cotovelo para cima ou para baixo do robô. Θ2 = atan2(sen(Θ2), cos(Θ2)) (3.5) 3.1.2 Cálculo de Θ1 Tornando a analisar a figura 5, nota-se que o ângulo Θ1 é dado pela diferença entre β e α. Sendo assim, para a determinação do ângulo em estudo, basta que β e α sejam determinados. 20 Capítulo 3. Cinemática Inversa Figura 6: SCARA visto do eixo X e Y completo Fonte: próprio autor (2020). 3.1.2.1 Cálculo de β Analisando a figura 7, o ângulo β é facilmente determinado pela relação entre a coordenada (X,Y) arbitrada, sendo assim, para determiná-lo, pode-se aplicar diretamente a relação tangencial similar ao da equação 3.5. β = atan2(Y,X) (3.6) 3.1.2.2 Cálculo de α Agora, tendo em vista o triângulo da figura 8, o ângulo α é facilmente calculado pela lei dos cossenos similar ao apresentado na equação 3.2 a22 = a21 +R2 − 2 · a1 ·R · cos(α) (3.7) cos(α) = a 2 1 + x2 + y2 − a22 2 · a1 · √ (x2 + y2) (3.8) Como já determinamos o cosseno e α, o próximo passo é a determinação do seno deste para o cálculo do arco tangente 2 bem como executado para o Θ2. Ainda, vale 3.1. Análise nos eixos X e Y 21 Figura 7: Triângulo do ângulo β Fonte: próprio autor (2020). salientar que a presença do + e - no seno leva a dois valores distintos α que por sua vez decorrerá em distintos valores para Θ1 que ocorre novamente devido ao posicionamento do cotovelo do robô. sen(α) = ± √ 1 − cos2(α) (3.9) Sendo assim, para determinar α basta aplicar o arco tangente 2 novamente α = atan2(sen(α), cos(α)) (3.10) 3.1.2.3 Determinação do α Calculados α e β em 3.10 e 3.6 respectivamente, basta aplicá-los na relação subtra- tiva mencionada anteriormente e exposta em 3.11 para a determinação de Θ1. Θ1 = β + α (3.11) 22 Capítulo 3. Cinemática Inversa Figura 8: Triângulo do ângulo β Fonte: próprio autor (2020). 3.1.3 Cálculo do Θ4 Como Θ4 não rotaciona nenhum braço, apenas um atuador, o mesmo não influencia na posição x e y do robô, mas é influenciado diretamente pelos Θ1, Θ2 e o ângulo inicial desejado. Sendo assim, seguindo a regra da mão direita, Θ4 é facilmente determinado pela relação desses ângulos como mostrado na equação 3.12. φ = Θ1 + Θ2 − Θ4 (3.12) Portanto, Θ4 pode ser calculado pela equação 3.13 Θ4 = Θ1 + Θ2 − φ (3.13) 3.2 Análise no eixo Z Como a junta pertinente a movimentação no eixo z é prismática, sabe-se que o ângulo Θ3 relacionada a esta equivale a zero. Entretanto, o mesmo não ocorre com o d3 da mesma, sendo necessário calculá-lo. 3.2. Análise no eixo Z 23 Figura 9: SCARA vistodo eixo X e Z Fonte: próprio autor (2020). Analisando a figura 9, tendo-se por base que z é a posição desejada para a ponta do robô, o cálculo de d3 é facilmente realizado por uma relação de somatório entre d1 e d3, d4 e z. d1 = d3 + d4 + z (3.14) d3 = d1 − d4 − z (3.15) 24 Capítulo 3. Cinemática Inversa 3.3 Confirmação da Cinemática Inversa Antes de iniciarmos a confirmação vale salientar que está fora configurada conforme o código do anexo B onde o SCARA possui suas dimensões pré determinadas, tornando impossível que o mesmo atinja certas distâncias. Por exemplo, no código do anexo B o SCARA possui a1 e a2 mensurados em 10, o que torna impossível para o mesmo atingir uma posição no plano x,y acima de 20. Sendo assim, para confirmar os cálculos desenvolvidos neste capítulo basta que alguns parâmetros para x, y, z e φ sejam passados. Após a realização dos cálculos o código retornará alguns valores para as variáveis q1, q2, q3 e q4 do Peter Corke que, quando inseridas no mesmo, levará exatamente para os valores de x ,y ,z e o ângulo em R, que é o φ anterior. Sendo assim, atribuindo os valores de x, y, z e φ como a tabela 4 o código retornará os valores da tabela 5. Aplicando tais valores dos qn do Peter Corke respectivamente as figuras 10 e 11 são obtidas e a posição passada na primeira tabela mencionada são mutuamente obtidos, confirmando a veracidade das equações desenvolvidas neste capítulo. Tabela 4: Tabela dos valores arbitrados para confirmação da cinemática inversa x -10 y -10 z 2 φ 180◦ Tabela 5: Tabela dos retornados pelo código do anexo B Variável Possibilidade 1 Possibilidade 2 q1 -180 -90 q2 90 -90 q3 3 3 q4 90 0 3.3. Confirmação da Cinemática Inversa 25 Figura 10: SCARA manipulado com os possíveis valores 1 40 X Z Y 20 SCARA HARDEXTREME -30 -40 -20 -10 Y 0 -20 0 Z 10 X 20 0 30 -20 20 -4040 Teach q1 -180 q2 90 q3 3 q4 90 x: -10.000 y: -10.000 z: 2.000 R: 180.000 P: -0.000 Y: 180.000 X Fonte: próprio autor (2020). Figura 11: SCARA manipulado com os possíveis valores 2 40 X Y 20 SCARA HARDEXTREME -30 -40 Z -20 -10 Y 0 -20 0 Z 10 X 20 0 30 -20 20 -4040 Teach q1 -90 q2 -90 q3 3 q4 0 x: -10.000 y: -10.000 z: 2.000 R: 180.000 P: -0.000 Y: -180.000 X Fonte: próprio autor (2020). 27 APÊNDICE A – Código para confirmação da Cinemática Direta clc; clear all; close all; Theta1 = pi; d1 = 10; a1 = 10; Alpha1 = 0; T1 = [cos(Theta1) -sin(Theta1)*cos(Alpha1) sin(Theta1)*sin(Alpha1)... a1*cos(Theta1); sin(Theta1) cos(Theta1)*cos(Alpha1) -cos(Theta1)*sin(Alpha1)... a1*sin(Theta1); 0 sin(Alpha1) cos(Alpha1)... d1; 0 0 0 1] Theta2 = pi/2; d2 = 0; a2 = 10; Alpha2 = pi; T2 = [cos(Theta2) -sin(Theta2)*cos(Alpha2) sin(Theta2)*sin(Alpha2)... a2*cos(Theta2); sin(Theta2) cos(Theta2)*cos(Alpha2) -cos(Theta2)*sin(Alpha2)... a2*sin(Theta2); 0 sin(Alpha2) cos(Alpha2)... d2; 0 0 0 1] Theta3 = 0; d3 = 2; a3 = 0; 28 APÊNDICE A. Código para confirmação da Cinemática Direta Alpha3 = 0; T3 = [cos(Theta3) -sin(Theta3)*cos(Alpha3) sin(Theta3)*sin(Alpha3)... a3*cos(Theta3); sin(Theta3) cos(Theta3)*cos(Alpha3) -cos(Theta3)*sin(Alpha3)... a3*sin(Theta3); 0 sin(Alpha3) cos(Alpha3)... d3; 0 0 0 1] Theta4 = pi; d4 = 5; a4 = 0; Alpha4 = 0; T4 = [cos(Theta4) -sin(Theta4)*cos(Alpha4) sin(Theta4)*sin(Alpha4)... a4*cos(Theta4); sin(Theta4) cos(Theta4)*cos(Alpha4) -cos(Theta4)*sin(Alpha4)... a4*sin(Theta4); 0 sin(Alpha4) cos(Alpha4)... d4; 0 0 0 1] T = T1*T2*T3*T4 a1 = 10; a2 = 10; a3 = 0; a4 = 0; d1 = 10; d2 = 0; d3 = 5; d4 = 5; alpha1 = 0; alpha2 = pi; alpha3 = 0; alpha4 = 0; 29 %theta1 = variável %theta2 = variável theta3 = 0; %theta4 = variável % th d a alpha 0:revolução L(1) = Link(’revolute’, ’d’, d1, ’a’, a1, ’alpha’, alpha1); L(2) = Link(’revolute’, ’d’, d2, ’a’, a2, ’alpha’, alpha2); L(3) = Link(’prismatic’, ’theta’, theta3, ’a’, 0, ’alpha’,... alpha3, ’qlim’, [0 d3],’offset’,0); L(4) = Link([ 0 d4 a4 alpha4 0]); SCADA_EAD = SerialLink(L, ’name’, ’SCARA HARDEXTREME’); SCADA_EAD.name = ’SCARA HARDEXTREME’; SCADA_EAD.manufacturer = ’SCARA HARDEXTREME’; SCADA_EAD.plot(zeros(size(L))); SCADA_EAD.teach(); 31 APÊNDICE B – Código para a Cinemática Inversa do SCARA clc; clear all; close all; a1 = 10; a2 = 10; a3 = 0; a4 = 0; d1 = 10; d2 = 0; d3 = 4; d4 = 5; alpha1 = 0; alpha2 = pi; alpha3 = 0; alpha4 = 0; %theta1 = variável %theta2 = variável theta3 = 0; %theta4 = variável % th d a alpha 0:revolução L(1) = Link(’revolute’, ’d’, d1, ’a’, a1, ’alpha’, alpha1); L(2) = Link(’revolute’, ’d’, d2, ’a’, a2, ’alpha’, alpha2); L(3) = Link(’prismatic’, ’theta’, theta3, ’a’, 0, ’alpha’,... alpha3, ’qlim’, [0 d3],’offset’,0); L(4) = Link([ 0 d4 a4 alpha4 0]); SCADA_EAD = SerialLink(L, ’name’, ’SCARA HARDEXTREME’); 32 APÊNDICE B. Código para a Cinemática Inversa do SCARA SCADA_EAD.name = ’SCARA HARDEXTREME’; SCADA_EAD.manufacturer = ’SCARA HARDEXTREME’; SCADA_EAD.plot(zeros(size(L))); SCADA_EAD.teach(); %% Cinemática Inversa x = 15.825; y = 11.081; z = 2; phi = 70; %Theta 2 cosTheta2 = ((x^2+y^2-(a1^2)-(a2^2))/(2*a1*a2)); sinTheta2 = sqrt(1-cosTheta2^2); Theta2 = atan2(sinTheta2,cosTheta2)*180/pi; Theta2_ = atan2(-sinTheta2,cosTheta2)*180/pi; %Theta 1 Beta = atan2(y,x); cosAlpha = ((a1^2+x^2+y^2-a2^2)/(2*a1*sqrt(x^2+y^2))); sinAlpha = sqrt(1-cosAlpha^2); Alpha = atan2(-sinAlpha,cosAlpha); Alpha_ = atan2(sinAlpha,cosAlpha); Theta1 = (Beta+Alpha)*180/pi; Theta1_ = (Beta+Alpha_)*180/pi; %Theta 4 Theta4 = Theta1 +Theta2 +phi; Theta4_ = +Theta1_ + Theta2_ + phi; %d3 d3 = d1-z-d4; display(’Cinemática Inversa do SCARA’) sprintf(’solução 1:\n Theta1=%f \n Theta2=%f \n d3=%f \n Theta4=%f’,... Theta1,Theta2,d3,Theta4) sprintf(’solução 2:\n Theta1=%f \n Theta2=%f \n d3=%f \n Theta4=%f’,... Theta1_,Theta2_,d3,Theta4_) Folha de rosto Lista de ilustrações Lista de tabelas Sumário Problemática Cinemática Direta Denavit Hatenber Denavit Hatenber original aplicado ao SCARA Junta 1 Junta 2 Junta 3 Junta 4 Confirmação da Matriz de Denavit Hatenber original Cinemática Inversa Análise nos eixos X e Y Cálculo de 2 Cálculo de 1 Cálculo de Cálculo de Determinação do Cálculo do 4 Análise no eixo Z Confirmação da Cinemática Inversa Código para confirmação da Cinemática Direta Código para a Cinemática Inversa do SCARA
Compartilhar