Escolar Documentos
Profissional Documentos
Cultura Documentos
Anderson Carneiro
André Victor Meinertz
Gabriel Puquevicz Strassmann
Pedro Arthur Viana Barreto Corrêa
Blumenau
2021.2
Anderson Carneiro
André Victor Meinertz
Gabriel Puquevicz Strassmann
Pedro Arthur Viana Barreto Corrêa
Blumenau
2021.2
1 INTRODUÇÃO
2 MÉTODOS E MATERIAIS
Para a realização das simulações deste trabalho foram utilizados os softwares Matlab e
Octave para o cálculo e simulação das atividades. Já para a elaboração das imagens foi
utilizado principalmente o Paint.
3 QUESTÕES PROPOSTAS
3.1 Questão 1
Robôs para paletização são cada vez mais comuns na indústria devido à sua facilidade
de implementação em tarefas de paletização e ao seu relativo baixo custo comparado com
outras alternativas robotizadas. Robôs de paletização ou Robôs paletizadores como aquele
mostrado na Fig. 1. São cadeias cinemáticas (fechadas ou híbridas) cuja principal
característica é o paralelismo entre os seus elos, o que permite facilmente alocar todos os
motores na base do mesmo.
Resolução:
Para a obtenção do modelo matemático utilizando a cinemática inversa, será feito uma
simplificação para a melhor visualização dos parâmetros em questão:
𝑃𝑦
𝜃0 = 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
𝑃𝑥
O valor de “𝑒” pode ser expresso através da seguinte equação da distância euclidiana
entre os pontos 𝐴 e 𝐵:
2
𝑒 = √(𝐵𝑥 − 𝐴𝑥 )2 + (𝐵𝑦 − 𝐴𝑦 ) + (𝐵𝑧 − 𝐴𝑧 )2
𝑒
𝛾 = 𝑎𝑟𝑐𝑐𝑜𝑠 ( )
2 ∙ 𝐿𝑎
𝑒 𝐿𝑎
=
sin 𝛽 sin 𝛾
𝑒 ∙ sin 𝛾
𝛽 = 𝑎𝑟𝑐𝑠𝑖𝑛 ( )
𝐿𝑎
O ângulo 𝛼 é representado pela seguinte expressão:
𝐵𝑧 − 𝐴𝑧
𝛼 = 𝑎𝑟𝑐𝑡𝑎𝑛
2
√ 2
( (𝐵𝑥 − 𝐴𝑥 ) + (𝐵𝑦 − 𝐴𝑦 ) )
Com esses ângulos encontrados, agora pode-se chegar nas expressões para os ângulos
𝜃0 , 𝜃1 e 𝜃2 :
𝛼 + 𝛾 + 𝜃2 = 180
𝜃2 = 180 − 𝛼 − 𝛾
𝛽 = 𝜃2 − 𝜃1
𝜃1 = 𝜃2 − 𝛽
𝑃𝑦
𝜃0 = 𝑎𝑟𝑐𝑡𝑎𝑛 ( )
𝑃𝑥
𝜃1 = 𝜃2 − 𝛽
𝜃2 = 180 − 𝛼 − 𝛾
𝐿𝑐 ∙ cos 𝜃0 𝐿𝑐 ∙ sin 𝜃0
𝑃 = (𝐵𝑥 + ; 𝐵𝑦 + ;𝐵 )
2 ∙ cos 45° 2 ∙ cos 45° 𝑧
−110 ≤ 𝜃0 ≤ 110°
65° ≤ 𝜃1 ≤ 150°
10° ≤ 𝜃2 ≤ 100°
Figura 6: IRB14000.
Resolução:
Primeiramente foi definido as referências, para isso foi considerado o braço robótico
totalmente esticado.
A figura abaixo ilustra como ficou esquematizado o problema:
Figura 9: Esquematização do braço robótico.
𝑖 𝛼 𝑎 𝑑 𝜃
0
𝑇1 0° -320 0 0°
1
𝑇2 90° -30 166 𝜃1
2
𝑇7 −90° 30 0 𝜃2
7
𝑇3 90° 40,5 251,5 𝜃7
3
𝑇4 −90° -40,5 0 𝜃3
4
𝑇5 90° 27 265 𝜃4
5 −90° -27 0 𝜃5
𝑇6
6
𝑇𝑝 0° 0 136 𝜃6
Com a tabela completa pode-se montar as matrizes de transformação, que ficaram da
seguinte forma:
1 0 0 −320
0 0 1 0 0
𝑇1 = [ ]
0 0 1 0
0 0 0 1
𝑐1 0 𝑠1 0
1 𝑠 0 −𝑐1 −30
𝑇2 = [ 1 ]
0 1 0 166
0 0 0 1
𝑐2 0 −𝑠2 0
2 𝑠 0 𝑐2 −30
𝑇7 = [ 2 ]
0 −1 0 0
0 0 0 1
𝑐7 0 𝑠7 0
7 𝑠 0 𝑐7 40,5
𝑇3 = [ 7 ]
0 1 0 251,5
0 0 0 1
𝑐3 0 −𝑠3 0
3 𝑠 0 𝑐3 40,5
𝑇4 = [ 3 ]
0 −1 0 0
0 0 0 1
𝑐4 0 𝑠4 0
4 𝑠 0 −𝑐4 27
𝑇5 = [ 4 ]
0 1 0 265
0 0 0 1
𝑐5 0 −𝑠5 0
5 𝑠 0 𝑐5 27
𝑇6 = [ 5 ]
0 −1 0 0
0 0 0 1
𝑐6 −𝑠6 0 0
6 𝑠 𝑐6 0 0
𝑇𝑇𝑝 =[ 6 ]
0 1 1 136
0 0 0 1
0
𝑇𝑇𝑝 = 0𝑇1 ∙ 1𝑇2 ∙ 2𝑇7 ∙ 7𝑇3 ∙ 3𝑇4 ∙ 4𝑇5 ∙ 5𝑇6 ∙ 6𝑇𝑇𝑝
1 0 0 −320
0 0 1 0 37,5
𝑇𝑇𝑝 =[ ]
0 0 1 856
0 0 0 1
1 0 0 320
0 0 1 0 0
𝑇1 = [ ]
0 0 1 0
0 0 0 1
1 0 0 320
0 0 1 0 37,5
𝑇𝑇𝑝 =[ ]
0 0 1 856
0 0 0 1
Resolução:
𝒊 𝜶𝒊 𝒂𝒊 𝒅𝒊 𝜽𝒊
𝑇01 90° 0 𝐿1 𝜃1
𝑇12 0° 𝐿2 0 𝜃2 + 90°
𝑇23 0° 𝐿3 0 𝜃3
Em seguida, calculam-se as matrizes de transformação. Segundo o método de Denavit-
Hartenberg, a matriz que relaciona nós adjacentes é a seguinte:
T1 = [cosd(theta1) 0 sind(theta1) 0;
sind(theta1) 0 -cosd(theta1) 0;
0 1 0 L1;
0 0 0 1];
A = T1*T2*T3
𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎1
𝑚13 = 𝑠𝑖𝑛 ( )
180
𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎1
𝑚23 = −𝑐𝑜𝑠 ( )
180
𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎2 + 90)
𝑚34 = 𝐿1 + 𝐿3 ∗ 𝑠𝑖𝑛 ( )
180
𝒊 𝜶𝒊 𝒂𝒊 𝒅𝒊 𝜽𝒊
𝑇01 0° 𝑑1 0 −90°
𝑇12 0° 𝑑2 0 −90°
𝑇23 0° 0 𝑑3 +90°
𝑇34 0° 𝑙4 0 −90°
𝑇45 −90° 0 0 0°
Em seguida, calculam-se as matrizes de transformação. Segundo o método de Denavit-
Hartenberg, a matriz que relaciona nós adjacentes é a seguinte:
0 1 0 𝑑1
−1 0 0 0
𝑇1 = [ ]
0 0 1 0
0 0 0 1
A segunda matriz:
0 1 0 𝑑2
−1 0 0 0
𝑇2 = [ ]
0 0 1 0
0 0 0 1
A terceira:
0 −1 0 0
1 0 0 0
𝑇3 = [ ]
0 0 1 𝑑3
0 0 0 1
A quarta:
0 1 0 𝑙4
−1 0 0 0
𝑇4 = [ ]
0 0 1 0
0 0 0 1
A quinta:
1 0 0 0
0 0 1 0
𝑇5 = [ ]
0 −1 0 0
0 0 0 1
A multiplicação das matrizes da cadeia cinemática dá o modelo da posição e orientação
da garra em relação à base:
𝑇𝑒𝑓 = 𝑇1 ∗ 𝑇2 ∗ 𝑇3 ∗ 𝑇4 ∗ 𝑇5
−1 0 0 𝑑1
0 0 −1 −𝑑2 − 𝑙4
𝑇𝑒𝑓 =[ ]
0 −1 0 𝑑3
0 0 0 1
C) Primeiramente adicionam-se os sistemas de coordenadas locais em cada eixo:
𝑖 𝛼𝑖 𝑎𝑖 𝑑𝑖 𝜃𝑖
𝑇01 0° 0 𝑑1 0°
𝑇12 0° 𝐿1 0 𝜃2
𝑇23 0° 𝐿2 0 𝜃3 − 90°
𝑒𝑓 −90° 𝐿3 0 0°
𝑇3
1 0 0 0
0 1 0 0
𝑇1 = [ ]
0 0 1 𝑑1
0 0 0 1
𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎2 𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎2
𝑐𝑜𝑠 ( ) −𝑠𝑖𝑛 ( ) 0 𝑙1
180 180
𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎2 𝑝𝑖 ∗ 𝑡ℎ𝑒𝑡𝑎2
𝑇2 = 𝑠𝑖𝑛 ( ) 𝑐𝑜𝑠 ( ) 0 0
180 180
0 0 1 0
[ 0 0 0 1]
𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90) 𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90)
𝑐𝑜𝑠 ( ) −𝑠𝑖𝑛 ( ) 0 𝑙2
180 180
𝑇3 = 𝑠𝑖𝑛 (𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90)) 𝑐𝑜𝑠((𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90))/180) 0 0
180
0 0 1 0
[ 0 0 0 1]
1 0 0 0
0 0 1 −𝑙3
𝑇𝑒𝑓 =[ ]
0 −1 0 0
0 0 0 1
Assim, a multiplicação das matrizes da cadeia cinemática dá a relação entre o efetuador final
e a base e expressa tanto a posição quanto a orientação do efetuador final.
𝑇0𝑒𝑓 = 𝑇1 ∗ 𝑇2 ∗ 𝑇3 ∗ 𝑇𝑒𝑓
𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90) 𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90)
𝑐𝑜𝑠 ( ) −𝑠𝑖𝑛 ( ) 0 𝑙2
180 180
= 𝑠𝑖𝑛 (𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90)) 𝑐𝑜𝑠 (
𝑝𝑖 ∗ (𝑡ℎ𝑒𝑡𝑎3 − 90)
) 0 0
180 180
0 0 1 0
[ 0 0 0 1]
Questão 4) O corpo humano tem inspirado a construção de robôs humanoides desde há
muitas décadas (Veja fig. 7). Em relação às extremidades superiores, um dos sistemas mais
complexos que existe é o AIST HRP-2 (veja Fig. 7.(b)). E cuja cadeia cinemática é mostrada
na Gig. 8.
𝐅𝐢𝐠𝐮𝐫𝐚 𝟕: Robôs humanoides, (a) – Honda ASIMO, (b) − AIST HRP − 2, (3) − Fujitsu HOAP − 2.
𝐑𝐞𝐬𝐨𝐥𝐮çã𝐨:
I α a d θ
𝟎 0 L6 𝜃0
𝑻𝟏 -90°
𝟏 +90° L5 0 −90° + 𝜃1
𝑻𝟐
𝟐 +90° 0 L4 90° + 𝜃2
𝑻𝟑
𝟑 -90° L3 0 𝜃3
𝑻𝟒
𝟒
𝑻𝟓 +90° 0 L2 90° + 𝜃4
𝟓 +90° L1 0 𝜃5
𝑻𝟔
E para o braço esquerdo:
I α a d θ
𝟎 0 L6 𝜃0
𝑻𝟏 -90°
𝟏 +90° L5 0 90° + 𝜃1
𝑻𝟐
𝟐 -90° 0 L4 −90° + 𝜃2
𝑻𝟑
𝟑 +90° L3 0 𝜃3
𝑻𝟒
𝟒
𝑻𝟓 -90° 0 L2 −90° + 𝜃4
𝟓 -90° L1 0 𝜃5
𝑻𝟔
𝑐𝑜𝑠(𝜃0 ) 0 −𝑠𝑖𝑛(𝜃0 ) 0
𝟎
𝑻𝟏 = [ 𝑠𝑖𝑛(𝜃0 ) 0 𝑐𝑜𝑠(𝜃0 ) 0]
0 −1 0 𝐿6
0 0 0 1
𝑐𝑜𝑠(−90° + 𝜃1 ) 0 𝑠𝑖𝑛(−90° + 𝜃1 ) 0
𝟏
𝑻𝟐 = [ 𝑠𝑖𝑛(−90° + 𝜃1 ) 0 −𝑐𝑜𝑠(−90° + 𝜃1 ) 𝐿5]
0 1 0 0
0 0 0 1
𝑠𝑖𝑛(90° + 𝜃2 ) 0 𝑠𝑖𝑛(90° + 𝜃2 ) 0
𝟐
𝑻𝟑 = [𝑐𝑜𝑠(90° + 𝜃2 ) 0 −𝑐𝑜𝑠(90° + 𝜃2 ) 0]
0 1 0 𝐿4
0 0 0 1
𝑐𝑜𝑠(𝜃3 ) 0 −𝑠𝑖𝑛(𝜃3 ) 0
𝟑
𝑻𝟒 = [ 𝑠𝑖𝑛(𝜃3 ) 0 𝑐𝑜𝑠(𝜃3 ) −𝐿3]
0 −1 0 0
0 0 0 1
𝑐𝑜𝑠(90° + 𝜃4 ) 0 𝑠𝑖𝑛(90° + 𝜃4 ) 0
𝟒
𝑻𝟓 = [ 𝑠𝑖𝑛(90° + 𝜃4 ) 0 −𝑐𝑜𝑠(90° + 𝜃4 ) 0 ]
0 1 0 𝐿2
0 0 0 1
𝑐𝑜𝑠(𝜃5 ) 0 𝑠𝑖𝑛(𝜃5 ) 0
𝟓
𝑻𝟔 = [ 𝑠𝑖𝑛(𝜃5 ) 0 −𝑐𝑜𝑠(𝜃5 ) 𝐿1]
0 1 0 0
0 0 0 1
𝑐𝑜𝑠(𝜃0 ) 0 −𝑠𝑖𝑛(𝜃0 ) 0
𝟎
𝑻𝟏 = [ 𝑠𝑖𝑛(𝜃0 ) 0 𝑐𝑜𝑠(𝜃0 ) 0]
0 −1 0 𝐿6
0 0 0 1
𝑐𝑜𝑠(90° + 𝜃1 ) 0 𝑠𝑖𝑛(90° + 𝜃1 ) 0
𝟏
𝑻𝟐 = [ 𝑠𝑖𝑛(90° + 𝜃1 ) 0 −𝑐𝑜𝑠(90° + 𝜃1 ) 𝐿5]
0 1 0 0
0 0 0 1
𝑐𝑜𝑠(−90° + 𝜃2 ) 0 −𝑠𝑖𝑛(−90° + 𝜃2 ) 0
𝟐
𝑻𝟑 = [𝑠𝑒𝑛(−90° + 𝜃2 ) 0 𝑐𝑜𝑠(−90° + 𝜃2 ) 0]
0 −1 0 𝐿4
0 0 0 1
𝑐𝑜𝑠(𝜃3 ) 0 𝑠𝑖𝑛(𝜃3 ) 0
𝟑
𝑻𝟒 = [ 𝑠𝑖𝑛(𝜃3 ) 0 −𝑐𝑜𝑠(𝜃3 ) 𝐿3]
0 1 0 0
0 0 0 1
𝑐𝑜𝑠(−90° + 𝜃4 ) 0 −𝑠𝑖𝑛(−90° + 𝜃4 ) 0
𝟒
𝑻𝟓 = [ 𝑠𝑖𝑛(−90° + 𝜃4 ) 0 𝑐𝑜𝑠(−90° + 𝜃4 ) 0]
0 −1 0 𝐿2
0 0 0 1
𝑐𝑜𝑠(𝜃5 ) 0 −𝑠𝑖𝑛(𝜃5 ) 0
𝟓
𝑻𝟔 = [ 𝑠𝑖𝑛(𝜃5 ) 0 𝑐𝑜𝑠(𝜃5 ) −𝐿1]
0 −1 0 0
0 0 0 1
O resultado é uma matriz demasiadamente grande até mesmo para apresentá-la aqui no
trabalho, então será anexado junto ao envio do trabalho um arquivo no formato .txt com a
cadeia cinemática.
b) Para a letra “b” do exercício foram feitas as seguintes medidas, onde L6 = 11cm, L5 = 15
cm, L4 = 12 cm, L3= 12 cm, L2 = 13 cm e por fim L1 = 8 cm:
Com as medidas em mãos nós as aplicamos as medidas na simulação anteriormente
apresentada nesta questão, quanto aos ângulos consideramos todos eles em suas posições
“neutras”, ou seja, utilizamos eles com o valor de zero:
Para tal movimento o antebraço (𝜃4 ) deve rotacionar em 30 graus, o cotovelo (𝜃3 ) deve
se girar em até um ângulo de 90 graus e o ombro (𝜃1 ) deve ser rotacionado levemente em 10
graus. Adicionando essas entradas na simulação podemos obter as seguintes matrizes para cada
braço (direito e esquerdo, respectivamente):
𝐑𝐞𝐬𝐨𝐥𝐮çã𝐨:
𝐵𝑥 = 𝑙1 . cos(θ1 )
𝐵𝑦 = 𝑙1 . sen(θ1 )
𝐶𝑥 = 𝑙1 . cos(θ1 ) + 𝑙2 . cos(θ1 + θ2 )
𝐶𝑦 = 𝑙1 . sen(θ1 ) + 𝑙2 . sen(θ1 + θ2 )
A posição do efetuador final em função das posições angulares será dada pelas equações:
𝐸𝑓𝑥 = 𝑙1 . cos(θ1 ) + 𝑙2 . cos(θ1 + θ2 ) + 𝑙3 . cos(θ1 + θ2 + θ3 ) + 𝑙4 . cos(θ1 + θ2 + θ3 + θ4 )
+ 𝑙5 . cos(θ1 + θ2 + θ3 + θ4 + θ5 ) + 𝑙6 . cos(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 )
+ 𝑙7 . cos(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 )
+ 𝑙8 . cos(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 + θ8 )
+ 𝑙9 . cos(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 + θ8 + θ9 )
𝐸𝑓𝑦 = 𝑙1 . sen(θ1 ) + 𝑙2 . sen(θ1 + θ2 ) + 𝑙3 . sen(θ1 + θ2 + θ3 ) + 𝑙4 . sen(θ1 + θ2 + θ3 + θ4 )
+ 𝑙5 . sen(θ1 + θ2 + θ3 + θ4 + θ5 ) + 𝑙6 . sen(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 )
+ 𝑙7 . sen(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 )
+ 𝑙8 . sen(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 + θ8 )
+ 𝑙9 . sen(θ1 + θ2 + θ3 + θ4 + θ5 + θ6 + θ7 + θ8 + θ9 )
Bx = L1*cosd(Theta1);
By = L1*sind(Theta1);
[XI,YI] = polyxpoly(X1,Y1,X2,Y2);
if (isempty([XI,YI])==0)
pen = pen + 999999999999999;
end
X2 = [Ax, Bx, Cx, Dx, Ex, Fx, Gx, Hx, Ix, Efx];
Y2 = [Ay, By, Cy, Dy, Ey, Fy, Gy, Hy, Iy, Efy];
[XI,YI] = polyxpoly(X1,Y1,X2,Y2);
Com todos os parâmetros devidamente configurados, o programa foi executado com um limite
de três mil iterações, resultando em um tempo de execução de aproximadamente quarenta e
cinco minutos. O gráfico resultante foi o seguinte:
Figura 11: Posições angulares encontradas.