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 9
4.1 Letra (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2 Letra (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.3 Letra (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5 Resultados e Discussões 13
5.1 Letra (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
5.2 Letra (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Letra (c) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6 Conclusões 19
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 modelo RR planar. Inicialmente, conforme a proposta do laboratório, a transformação homo-
gênea foi encontrada utilizando computação simbólica. Foi preciso trabalhar com Matlab, seguindo
a formulação da transformação homogênea com matrizes de rotação e translação. Em sequência, o
Robotics ToolBox foi empregado a fim de encontrar a mesma transformação homogênea para então
podermos avaliar os resultados e comparar com a matriz obtida na primeira etapa. Ao final, utilizando
os recursos do ToolBox, foi possível gerar o gráfico do modelo RR planar e verificar que o programa
responde adequadamente.
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 robó-
tico serial-link: a notação de Denavit-Hartenberg (D-H) é 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
Dado o modelo RR planar da Figura 4.1, podemos encontrar os parâmetros D-H, conforme a Tabela
4.1.
# θ d a α
0-1 θ1 0 a1 0
1-H θ2 0 a2 0
Ai−1
i = Rz (θi ) · Tz (di ) · Tx (ai ) · Rx (αi ) (4.2)
4.1 L ETRA ( A )
Como d e α são 0 para este caso, Tx (ai ) e Rx (αi ) serão identidades e podem ser omitidas da equação.
O que nos resta é:
Dessa forma, podemos encontrar a matriz de transformação homogênea utilizando computação sim-
bólica:
% simbolicos
syms q1 q2 real
syms a1 a2 real
A0H = simplify(A0H)
4.2 L ETRA ( B )
Para essa etapa, foi necessário instalar o Robotics ToolBox de (3) para que fosse possível utilizar
os conceitos de Peter Corke.
Dentro do ToolBox, uma junta de revolução do robô pode ser criada com Revolute() e conectada com
outras juntas com SerialLink(). Cada objeto de junta possui um campo reservado para a matriz de
transformação, sendo assim, temos:
% simbolicos
syms q1 q2 real
syms a1 a2 real
% juntas
L01 = Revolute('a', a1)
L1H = Revolute('a', a2)
4.3 L ETRA ( C )
Para essa etapa, é possível utilizar a função DHFactor() que retorna um objeto que contém a estrutura
cinemática do robô. Seu argumento é uma string contendo a sequência de translações e rotações.
12
% comprimentos
L1 = 1;
L2 = 1;
RR = eval(cmd)
RR.teach
Ainda, é possível avaliar outros casos de teste mudando os parâmetros D-H, conforme sugere o labo-
ratório:
5 RESULTADOS E DISCUSSÕES
5.1 L ETRA ( A )
Para este modelo RR planar, as matrizes de rotação, translação e transformação homogênea são apre-
sentadas a seguir como resultado do código proposto:
Rz_q1 =
[ cos(q1), -sin(q1), 0, 0]
[ sin(q1), cos(q1), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
Tx_a1 =
[ 1, 0, 0, a1]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
Rz_q2 =
[ cos(q2), -sin(q2), 0, 0]
[ sin(q2), cos(q2), 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
Tx_a2 =
[ 1, 0, 0, a2]
[ 0, 1, 0, 0]
14
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]
A01 =
A1H =
A0H =
5.2 L ETRA ( B )
Para essa etapa, os parâmetros das juntas de revolução, o serial-link e a matriz de transformação
são apresentadas a seguir como resultado do código proposto:
L01 =
Revolute(std): theta=q, d=0, a=a1, alpha=0, offset=0
L1H =
Revolute(std): theta=q, d=0, a=a2, alpha=0, offset=0
15
RR =
5.3 L ETRA ( C )
Por fim, utilizando o objeto DHFactor que contém a estrutura cinemática do robô, foi possível visuali-
zar o processo interativo do ToolBox. Ainda, modificando os parâmetros D-H, foi possível visualizar
outras configurações para o robô.
s =
dh =
cmd =
RR =
dh =
RR =
17
6 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.