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
3.5 Matriz Jacobiana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Metodologia e resultados 9
4.1 Elaborar os procedimentos para determinar a matriz jacobiana do braço antropomórfico 9
4.1.1 a) Cinemática direta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.1.2 b) Cálculo da matriz jacobiana (analítica e vetorial) . . . . . . . . . . . . . . 11
4.1.3 c) Determine singularidades e manipularidades . . . . . . . . . . . . . . . . 14
5 Conclusões 15
4
1 LICENÇA
5
2 RESUMO
A princípio, este laboratório tem como finalidade tratar do tema de cinemática, da notação de Denavit-
Hartenberg e da matriz jacobiana, 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 braço antropomórfico. Inicialmente, conforme a proposta do laboratório, a
cinemática direta de um braço antropomórfico foi determinada. Os parâmetros DH puderam ser
encontrados, bem como a transformada homogênea de cada junta. Em sequência, com os conceitos
de matriz jacobiana, foi preciso determinar as abordagens vetorial e analítica. Ao final dessa etapa,
dados os conceitos de singularidade e manipularidade, foi possível avaliar estas medidas com base na
matriz jacobiana encontrada anteriormente.
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
1 0 0 0
R(y, θ) = (3.4)
−sinθ
0 cosθ 0
0 0 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
A Jacobiana é uma ferramenta de extrema importância na análise de manipuladores robóticos. Ela nos
auxilia na identificação de singularidades, análise de redundâncias, desenvolvimento de algoritmos de
cinemática inversa e na descrição das relações entre as forças aplicadas no efetuador final e os torques
resultantes nas articulações (estática). Além disso, a Jacobiana é essencial para derivar equações de
movimento dinâmico e projetar estratégias de controle no espaço operacional.
Para o cálculo da matriz jacobiana, podemos considerar a abordagem geométrica, como sugere a
Equação (3.7), ou a abordagem analítica, como sugere a Equação (3.8).
" #
Zi−1 · (Pe − Pi−1 )
J(q) = (3.7)
Zi−1
" # " #
∂Pe
Jp (q) ∂q
JA (q) = = ∂Φ (3.8)
JΦ (q) ∂q
e
9
4 METODOLOGIA E RESULTADOS
# θ d a α
0-1 θ1 0 0 90
1-2 θ2 0 a2 0
2-3 θ3 0 a3 0
Cθi −Sθi Cαi Sθi Sαi ai Cθi
Sθi Cθi Cαi −Cθi Cαi ai Sθi
An−1
n = (4.1)
0 Sαi C αi di
0 0 0 1
10
C1 −S1 0 0 1 0 0 0
S1 C1 0 0 0 C(90) −S(90) 0
A01 = Rz (θ1 ) · Rx (90) = · (4.2)
0 0 1 0
0 S(90) C(90) 0
0 0 0 1 0 0 0 1
C1 0 S1 0
S1 0 −C1 0
A01 = (4.3)
0 1 0 0
0 0 0 1
C2 −S2 0 0 1 0 0 a2
S2 C2 0 0 0 1 0 0
A12 = Rz (θ2 ) · Tx (a2 ) = · (4.4)
0 0 1 0
0 0 1 0
0 0 0 1 0 0 0 1
C2 −S2 0 a2 C 2
S2 C2 0 a2 S 2
A12 = (4.5)
0 0 1 0
0 0 0 1
C3 −S3 0 0 1 0 0 a3
S3 C3 0 0 0 1 0 0
A23 = Rz (θ3 ) · T x(a3 ) = · (4.6)
0 0 1 0
0 0 1 0
0 0 0 1 0 0 0 1
C3 −S3 0 a3 C 3
S3 C3 0 a3 S 3
A23 = (4.7)
0 0 1 0
0 0 0 1
11
C1 C23 −C1 S23 S1 C1 (a2 C2 + a3 C23 )
S1 C23 −S1 S23 −C1 S1 (a2 C2 + a3 C23 )
A03 = A01 A12 A23 = (4.8)
S23 C23 0 a2 S2 + a3 S23
0 0 0 1
Jacobiana vetorial:
" #
Zi−1 · (Pe − Pi−1 )
J(q) = (4.9)
Zi−1
" #
Z0 · (P3 − P0 ) Z1 · (P3 − P1 ) Z2 · (P3 − P2 )
J(q) = (4.10)
Z0 Z1 Z2
∼ ∼
Pe = A01 (q1 )...An−1
n (qn )P0 (4.11)
0
∼ 0
P0 = (4.12)
0
1
∼ ∼ ∼
Pe = A03 (q)P0 = A01 · A12 · A23 · P0 (4.13)
C1 C23 −C1 S23 S1 C1 (a2 C2 + a3 C23 ) 0
∼ S1 C23 −S1 S23 −C1 S1 (a2 C2 + a3 C23 )
· 0
Pe = (4.14)
S23 C23 0 a2 S2 + a3 S23
0
0 0 0 1 1
C1 (a2 C2 + a3 C23 )
∼ ∼
Pe = P = S1 (a2 C2 + a3 C23 ) (4.15)
a2 S2 + a3 S23
12
1 0 0 0 0
0
0
∼ 0 1 0 0 0
i = 1 → P0 = A0 P0 = · = 0 (4.16)
0 0 1 0 0
0
0 0 0 1 1
C1 0 S1 0 0
0
0
∼ S1 0 −C1 0 0
i = 2 → P1 = A1 P0 = · = 0 (4.17)
0 1 0 0 0
0
0 0 0 1 1
C1 0 S1 0 C2 −S2 0 a2 C2 0
∼ S1 0 −C1 0 S2 C2 0 a2 S2
· 0
i = 3 → P2 = A01 A12 P0 = · (4.18)
0 1 0 0
0 0 1 0 0
0 0 0 1 0 0 0 1 1
a2 C 1 C 2
P 2 = a2 S 1 C 2 (4.19)
a2 S2
i−2
Zi−1 = R10 (q1 )...Ri−1 (qi−1 )Z0 (4.20)
0
i = 1 → Z0 = 0 (4.21)
C1 0 S1 0 S1
i = 2 → Z1 = R10 · Z0 = S1 0 −C1 · 0 = −C1 (4.22)
0 1 0 1 0
C1 0 S 1 C2 −S2 0 0
0 1
i = 3 → Z2 = R1 · R2 · Z0 = S1 0 −C1 · S2 C2 0 · 0 (4.23)
0 1 0 0 0 1 1
13
S1
Z2 = −C1 (4.24)
−S1 (a2 C2 + a3 C23 ) −C1 (a2 S2 + a3 S23 ) −a3 C1 S23
C1 (a2 C2 + a3 C23 ) −S1 (a2 S2 + a3 S23 ) −a3 S1 S23
0 a2 C2 + a3 C23 a3 C23
J(q) = (4.25)
0 S1 S1
0 −C1 −C1
1 0 0
Jacobiana analítica:
" # " #
∂Pe
Jp (q) ∂q
JA (q) = = ∂Φ (4.26)
JΦ (q) ∂q
e
c1 (a2 c2 + a3 c23 )
Pe = s1 (a2 c2 + a3 c23 ) (4.27)
a2 s2 + a3 s23
∂x ∂x ∂x
∂q1 ∂q2 ∂q3 −s1 (a2 c2 + a3 c23 ) −c1 (a2 s2 + a3 s23 ) −c1 a3 s23
∂y ∂y ∂y
Jp (q) = = c1 (a2 c2 + a3 c23 ) −s1 (a2 s2 + a3 s23 ) −s1 a3 s23 (4.28)
∂q1 ∂q2 ∂q3
∂z ∂z ∂z
∂q1 ∂q2 ∂q3
0 a2 c2 + a3 c23 a3 c23
c1 c23 −c1 s23 s1 r11 r12 r13
Φe = s1 c23 −s1 s23 −c1 = r21 r22 r23 (4.29)
π
ϕ = atan2(r23 , r13 ) = atan2(−c1 , s1 ) = q1 − (4.30)
2
q
2 2 π
θ = atan2 r13 + r23 , r33 = atan2(1, 0) = (4.31)
2
π
ψ = atan2(r32 , −r31 ) = atan2(c23 , −s23 ) = q2 + q3 + (4.32)
2
∂ϕ ∂ϕ ∂ϕ
∂q1 ∂q2 ∂q3 1 0 0
∂θ ∂θ ∂θ
JΦ (q) = = 0 0 0 (4.33)
∂q1 ∂q2 ∂q3
∂ψ ∂ψ ∂ψ
∂q1 ∂q2 ∂q3
0 1 1
14
0 −sϕ cϕ sθ 1 0 0 0 cϕ s θ cϕ s θ
JΘ (q) = T (Φ)JΦ (q) = 0 cϕ sϕ sθ = 0 0 0 = 0 −sϕ sθ −sϕ sθ (4.34)
1 0 cθ 0 1 1 1 cθ cθ
0 s1 s1
JΘ (q) = 0 −c1 −c1 (4.35)
1 0 0
A singularidade é uma condição em que o robô perde graus de liberdade e a matriz Jacobiana não é
inversível (det(J) = 0). A manipulabilidade, por outro lado, é uma medida da capacidade do robô de
√
alcançar diferentes posições e orientações e é calculada como W (q) = J T · J.
Dessa forma, para o posto da matriz igual a 3, temos a singularidade:
√
W (q) = JT · J (4.37)
q
2 2
c21 (a3 c23 + a2 c2 ) + s21 (a3 c23 + a2 c2 ) + 1 0 0
W (q) =
p p
0 a22 a23
+ 2c3 a2 a3 + + 1 a23 + a2 c 3 a3 + 1
p p
0 a23 + a2 c3 a3 + 1 2
a3 + 1
(4.38)
15
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.