Escolar Documentos
Profissional Documentos
Cultura Documentos
LONDRINA
2023
2
LONDRINA
2023
3
Conteúdo
1 Licença 4
2 Resumo 5
3 Introdução 6
3.1 Cinemática . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2 Cinemática direta e inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3 Notação de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.4 Posição e orientação do efetuador . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Metodologia e resultados 9
4.1 1-Determine a Cinemática Direta do Manipulador MICO com 4 DOF.
Temos L0 + L1 = 0.2755 m, L2 = 0.29 m, L3 = 0.1233 m, e L4 = 0.16 m. . . . . . . 9
4.1.1 a). Determine com os parâmetros DH . . . . . . . . . . . . . . . . . . . . . 9
4.1.2 b). Elabore com o toolbox do Perter Corke e determine os parâmetros DH. . 10
4.1.3 c). Determine a Transformada Homogênea de cada junta com uso da mul-
tiplicação das matrizes determinadas pelo parâmetros DH. Também a Trans-
formação 0A4. (Simbólico do SCILAB e ou equivalente). . . . . . . . . . . 11
4.2 d). Crie sua animação, sugira ângulos iniciais e finais e execute sua trajetória. (Mate-
rial do Peter Corke) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3 2-Determine a Cinemática Inversa do Manipulador MICO com 4 DOF. . . . . . . . . 18
4.3.1 a). Geometria (Lei de Cossenos e Senos) . . . . . . . . . . . . . . . . . . . 19
4.3.2 b). Utilize o recurso computacional do Peter Corke (ikine_sym e/ou ikcon),
elabore a programação comente sobre os resultados obtidos entre a) e b). . . 20
4.4 3. Questão sobre a figura a seguir: . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.1 Sugestão: Fizeram a cinemática direta e inversa, assim com os seus modelos
matemáticos e de simulação, determine x = 0, y = 0 e z mudam se você girar
a primeira junta? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5 Conclusões 23
4
1 LICENÇA
5
2 RESUMO
A princípio, este laboratório tem como finalidade tratar do tema de cinemática e da notação de
Denavit-Hartenberg, bem como durante a realização das etapas, aplicar os conceitos vistos em aula,
averiguar e constatar os resultados experimentais e teóricos obtidos ao realizar o experimento para
um manipulador MICO com 4 DOF. Inicialmente, conforme a proposta do laboratório, a cinemática
direta de um manipulador MICO com 4 DOF foi determinada. Os parâmetros DH puderam ser en-
contrados, bem como a transformada homogênea de cada junta. Em sequência, com o toolbox do
Perter Corke, o mesmo foi realizado para possibilitar uma análise comparativa. Ao final dessa etapa,
foi possível criar a simulação, sugerindo ângulos iniciais e finais e executando sua trajetória. Em
seguida, foi determinada a cinemática inversa do mesmo manipulador pela lei de cossenos e senos.
No mais, utilizando o recurso computacional do Peter Corke, foi elaborada a programação com as
funções ikcon e ikine. Por fim, após as cinemáticas direta e inversa, foi colocado em questão o efeito
de transformações elementares na posição e orientação do robô.
6
3 INTRODUÇÃO
3.1 C INEMÁTICA
A cinemática é uma área da mecânica que estuda o movimento de corpos sem considerar massas ou
forças. Um braço robótico é composto por elos rígidos e juntas que podem ser de natureza transla-
cional (permitindo movimento linear) ou rotacional (permitindo movimento angular). O movimento
dessas juntas influencia a posição dos elos conectados e, consequentemente, do efetuador final. Este
último é a parte do robô que executa tarefas úteis e pode se mover livremente no espaço. Ao longo
deste processo, há a necessidade de calcular tanto a posição do efetuador final com base nas juntas,
o que é chamado de cinemática direta, quanto a posição das juntas com base na posição do efetuador
final, conhecido como o problema inverso (1).
A cinemática direta é um conceito fundamental na robótica que envolve mapear as coordenadas das
juntas de um robô para a posição final de seu efetuador. Este processo é explorado no contexto de
braços robóticos, começando com exemplos simples de movimento bidimensional e evoluindo para
braços mais complexos com movimento tridimensional (1).
Ao contrário da cinemática direta, na qual desejamos calcular a posição do órgão terminal do ma-
nipulador em função das variáveis de junta, na cinemática inversa se deseja calcular os valores das
variáveis de junta que produzirão a posição e orientação desejadas para o órgão terminal.
Uma série de abordagens foram desenvolvidas para descrever de forma mais concisa um braço ro-
bótico serial-link: a notação de Denavit-Hartenberg (DH) é uma convenção amplamente utilizada na
robótica para descrever a cinemática de robôs manipuladores. Foi desenvolvida por Jacques Denavit
e Richard Hartenberg na década de 1950 e é fundamental para representar a geometria e as transfor-
mações entre os elos de um robô manipulador. Essa notação é particularmente útil para modelar a
cinemática direta e inversa de robôs (1).
A Figura 3.1 apresenta os parâmetros de Denavit-Hartenberg, seu significado físico, símbolo e defi-
nição formal.
7
Onde A0n é a matriz homogênea que representa a posição e orientação do efetuador em relação ao
sistema da base, em função das posições de todas as articulações. Como A0n é uma matriz homogênea
ela tem a seguinte forma:
" #
Rn0 (q1 , ..., qn ) Tn0 (q1 , ..., qn )
A0n (q1 , ..., qn ) = (3.2)
0 1
Rn0 (q1 , ..., qn ) é a matriz de rotação que representa a orientação do efetuador em relação ao sistema da
base. O vetor Tn0 (q1 , ..., qn ) fornece a posição do efetuador em relação ao sistema da base.
A transformação correspondente às rotações em torno dos eixos x, y ou z por um ângulo é:
1 0 0 0
0 cosθ −sinθ 0
R(x, θ) = (3.3)
0 sinθ cosθ 0
0 0 0 1
8
cosθ
0 sinθ 0
01 0 0
R(y, θ) = (3.4)
−sinθ
0 cosθ 0
00 0 1
cosθ −sinθ 0 0
sinθ cosθ 0 0
R(z, θ) =
(3.5)
0 0 1 0
0 0 0 1
No mais, a transformação T correspondente a uma translação por um vetor ai + bj + ck é (2):
1 0 0 a
0 1 0 b
T (a, b, c) = (3.6)
0 0 1 c
0 0 0 1
9
4 METODOLOGIA E RESULTADOS
# θ d a α
0-1 θ1 L0 + L1 0 0
1-2 θ2 0 0 -90
2-3 θ3 0 L2 0
3-4 θ4 L3 + L4 0 -90
4.1.2 b). Elabore com o toolbox do Perter Corke e determine os parâmetros DH.
L0L1 = 0.2755;
L2 = 0.29;
L3 = 0.1233;
L4 = 0.16;
d2r = pi/180;
syms q1 q2 q3 q4 real
% juntas
J0 = Revolute('d', L0L1)
J1 = Revolute('alpha', -90*d2r)
J2 = Revolute('a', L2)
J3 = Revolute('d', L3+L4, 'alpha', -90*d2r)
J0 =
Revolute(std): theta=q, d=0.2755, a=0, alpha=0, offset=0
J1 =
Revolute(std): theta=q, d=0, a=0, alpha=-1.5708, offset=0
J2 =
Revolute(std): theta=q, d=0, a=0.29, alpha=0, offset=0
J3 =
Revolute(std): theta=q, d=0.2833, a=0, alpha=-1.5708, offset=0
robot =
11
4.1.3 c). Determine a Transformada Homogênea de cada junta com uso da multiplicação das
matrizes determinadas pelo parâmetros DH. Também a Transformação 0A4. (Simbólico
do SCILAB e ou equivalente).
L0L1 = 0.2755;
L2 = 0.29;
L3 = 0.1233;
L4 = 0.16;
d2r = pi/180;
syms q1 q2 q3 q4 real
% juntas
J0 = Revolute('d', L0L1);
J1 = Revolute('alpha', -90*d2r);
J2 = Revolute('a', L2);
J3 = Revolute('d', L3+L4, 'alpha', -90*d2r);
% simbolicos
syms q1 q2 q3 q4 real
% ---------------------------------------
Tz1 = [1 0 0 0; ...
0 1 0 0; ...
0 0 1 L0L1; ...
0 0 0 1];
% ---------------------------------------
Rx2 = [1 0 0 0; ...
0 cos(-90*d2r) -sin(-90*d2r) 0; ...
0 sin(-90*d2r) cos(-90*d2r) 0; ...
0 0 0 1];
% ---------------------------------------
% ---------------------------------------
13
Tz4 = [1 0 0 0; ...
0 1 0 0; ...
0 0 1 L3+L4; ...
0 0 0 1];
Rx4 = [1 0 0 0; ...
0 cos(-90*d2r) -sin(-90*d2r) 0; ...
0 sin(-90*d2r) cos(-90*d2r) 0; ...
0 0 0 1];
% ---------------------------------------
A01 = J0.A(q1)
A12 = J1.A(q2)
A23 = J2.A(q3)
A34 = J3.A(q4)
% matriz de transformacao homogenea
A04 = A01 * A12 * A23 * A34
A01 =
[ cos(q1), -sin(q1), 0, 0]
[ sin(q1), cos(q1), 0, 0]
[ 0, 0, 1, 551/2000]
[ 0, 0, 0, 1]
A12 =
[ cos(q2), -(4967757600021511*sin(q2))/81129638414606681695789005144064,
,→ -sin(q2), 0]
14
[ sin(q2), (4967757600021511*cos(q2))/81129638414606681695789005144064,
,→ cos(q2), 0]
[ 0, -1,
,→ 4967757600021511/81129638414606681695789005144064, 0]
[ 0, 0,
,→ 0, 1]
A23 =
A34 =
[ cos(q4), -(4967757600021511*sin(q4))/81129638414606681695789005144064,
,→ -sin(q4), 0]
[ sin(q4), (4967757600021511*cos(q4))/81129638414606681695789005144064,
,→ cos(q4), 0]
[ 0, -1,
,→ 4967757600021511/81129638414606681695789005144064, 2833/10000]
[ 0, 0,
,→ 0, 1]
A04 =
[ - cos(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) - cos(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) -
,→ sin(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) + sin(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))), cos(q1)*sin(q2) + cos(q2)*sin(q1) -
,→ (4967757600021511*cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064
,→ + (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) +
,→ sin(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2))))/81129638414606681695789005144064 +
,→ (4967757600021511*sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064
,→ + (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) -
,→ cos(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2))))/81129638414606681695789005144064,
,→ sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) - cos(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) - (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064 -
,→ cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) + sin(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) - (4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064,
,→ (29*cos(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2)))/100 - (2833*cos(q2)*sin(q1))/10000 -
,→ (29*sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064))/100 -
,→ (2833*cos(q1)*sin(q2))/10000]
15
[ cos(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) + cos(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))) +
,→ sin(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) - sin(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))), sin(q1)*sin(q2) - cos(q1)*cos(q2) +
,→ (4967757600021511*cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064
,→ - (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) -
,→ sin(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1))))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064
,→ - (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) +
,→ cos(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1))))/81129638414606681695789005144064,
,→ (4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064 +
,→ cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) - sin(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))) -
,→ sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) + cos(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))), (2833*cos(q1)*cos(q2))/10000 - (2833*sin(q1)*sin(q2))/10000 +
,→ (29*sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064))/100 +
,→ (29*cos(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1)))/100]
[
,→ - cos(q3)*sin(q4) - cos(q4)*sin(q3),
,→ (4967757600021511*sin(q3)*sin(q4))/81129638414606681695789005144064 -
,→ (4967757600021511*cos(q3)*cos(q4))/81129638414606681695789005144064 -
,→ 4967757600021511/81129638414606681695789005144064,
,→ sin(q3)*sin(q4) - cos(q3)*cos(q4) +
,→ 24678615572571482867467662723121/6582018229284824168619876730229402019930943462534319453394436096,
,→ 223512153832241422145555990032836983/811296384146066816957890051440640000 - (29*sin(q3))/100]
[
,→ 0,
,→ 0,
,→ 0,
,→ 1]
[ cos(q1), -sin(q1), 0, 0]
[ sin(q1), cos(q1), 0, 0]
[ 0, 0, 1, 551/2000]
[ 0, 0, 0, 1]
[ cos(q2), -(4967757600021511*sin(q2))/81129638414606681695789005144064,
,→ -sin(q2), 0]
[ sin(q2), (4967757600021511*cos(q2))/81129638414606681695789005144064,
,→ cos(q2), 0]
[ 0, -1,
,→ 4967757600021511/81129638414606681695789005144064, 0]
[ 0, 0,
,→ 0, 1]
[ cos(q4), -(4967757600021511*sin(q4))/81129638414606681695789005144064,
,→ -sin(q4), 0]
[ sin(q4), (4967757600021511*cos(q4))/81129638414606681695789005144064,
,→ cos(q4), 0]
[ 0, -1,
,→ 4967757600021511/81129638414606681695789005144064, 2833/10000]
[ 0, 0,
,→ 0, 1]
[ - cos(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) - cos(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) -
,→ sin(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) + sin(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))), cos(q1)*sin(q2) + cos(q2)*sin(q1) -
,→ (4967757600021511*cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064
,→ + (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) +
,→ sin(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2))))/81129638414606681695789005144064 +
,→ (4967757600021511*sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064
,→ + (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) -
,→ cos(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2))))/81129638414606681695789005144064,
,→ sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) - cos(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) - (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064 -
,→ cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064) + sin(q3)*(cos(q1)*cos(q2)
,→ - sin(q1)*sin(q2))) - (4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064,
,→ (29*cos(q3)*(cos(q1)*cos(q2) - sin(q1)*sin(q2)))/100 - (2833*cos(q2)*sin(q1))/10000 -
,→ (29*sin(q3)*((4967757600021511*cos(q1)*sin(q2))/81129638414606681695789005144064 +
,→ (4967757600021511*cos(q2)*sin(q1))/81129638414606681695789005144064))/100 -
,→ (2833*cos(q1)*sin(q2))/10000]
[ cos(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) + cos(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))) +
,→ sin(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) - sin(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))), sin(q1)*sin(q2) - cos(q1)*cos(q2) +
,→ (4967757600021511*cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064
,→ - (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) -
,→ sin(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1))))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064
,→ - (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) +
,→ cos(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1))))/81129638414606681695789005144064,
,→ (4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064 +
,→ cos(q4)*(cos(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) - sin(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))) -
,→ sin(q4)*(sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064) + cos(q3)*(cos(q1)*sin(q2)
,→ + cos(q2)*sin(q1))), (2833*cos(q1)*cos(q2))/10000 - (2833*sin(q1)*sin(q2))/10000 +
,→ (29*sin(q3)*((4967757600021511*cos(q1)*cos(q2))/81129638414606681695789005144064 -
,→ (4967757600021511*sin(q1)*sin(q2))/81129638414606681695789005144064))/100 +
,→ (29*cos(q3)*(cos(q1)*sin(q2) + cos(q2)*sin(q1)))/100]
17
[
,→ - cos(q3)*sin(q4) - cos(q4)*sin(q3),
,→ (4967757600021511*sin(q3)*sin(q4))/81129638414606681695789005144064 -
,→ (4967757600021511*cos(q3)*cos(q4))/81129638414606681695789005144064 -
,→ 4967757600021511/81129638414606681695789005144064,
,→ sin(q3)*sin(q4) - cos(q3)*cos(q4) +
,→ 24678615572571482867467662723121/6582018229284824168619876730229402019930943462534319453394436096,
,→ 223512153832241422145555990032836983/811296384146066816957890051440640000 - (29*sin(q3))/100]
[
,→ 0,
,→ 0,
,→ 0,
,→ 1]
4.1.4 d). Crie sua animação, sugira ângulos iniciais e finais e execute sua trajetória. (Material
do Peter Corke)
L0L1 = 0.2755;
L2 = 0.29;
L3 = 0.1233;
L4 = 0.16;
d2r = pi/180;
syms q1 q2 q3 q4 real
% juntas
J0 = Revolute('d', L0L1);
J1 = Revolute('alpha', -90*d2r);
J2 = Revolute('a', L2);
J3 = Revolute('d', L3+L4, 'alpha', -90*d2r);
Solução 1:
θ1 = atan2(y, x) = 0 (4.6)
p
α = atan2(z − (L0 + L1), x2 + y 2 ) = atan2(0.7 − 0.2755, 0) = 1.5708rad = 90◦ (4.7)
p
R= x2 + y 2 + (z − (L0 + L1 ))2 = 0.7 − 0.2755 = 0.4245 (4.8)
R2 + L22 − (L3 − L4 )2
ψ = arccos (4.9)
2L2 R
Solução 2:
θ1 = atan2(y, x) = 0 (4.15)
4.2.2 b). Utilize o recurso computacional do Peter Corke (ikine_sym e/ou ikcon), elabore a
programação comente sobre os resultados obtidos entre a) e b).
L0L1 = 0.2755;
L2 = 0.29;
L3 = 0.1233;
L4 = 0.16;
d2r = pi/180;
syms q1 q2 q3 q4 real
% juntas
J0 = Revolute('d', L0L1);
J1 = Revolute('alpha', -90*d2r);
J2 = Revolute('a', L2);
J3 = Revolute('d', L3+L4, 'alpha', -90*d2r);
q_solutions_ikine =
q_solutions_ikcon =
4.3.1 Sugestão: Fizeram a cinemática direta e inversa, assim com os seus modelos matemáticos
e de simulação, determine x = 0, y = 0 e z mudam se você girar a primeira junta?
Para os pontos ao longo do eixo Z0 , θ0 não afeta a posição, mas afeta a orientação do efetuador final
do robô.
23
5 CONCLUSÕES
Bibliografia
[1] Corke, P. Robotics, Vision and Control: Fundamental Algorithms in MATLAB. [S.l.]: Springer,
2017.
[2] Paul R. P. Mathematics, Programming, and Control : the Computer Control of Robot Manipula-
tors. [S.l.]: The MIT Press, 1981.