Buscar

Cinemática Direta e Inversa do SCARA - ThiagoTavares(ECA2016)_Com o Mínimo

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

Continue navegando