Você está na página 1de 17

UNIVERSIDADE ESTADUAL DE LONDRINA

CENTRO DE TECNOLOGIA E URBANISMO


DEPARTAMENTO DE ENGENHARIA ELÉTRICA

LUCCA RODRIGUES PINTO

LABORATÓRIO 3 DE ROBÓTICA E AUTOMAÇÃO


INDUSTRIAL

LONDRINA
2023
2

LUCCA RODRIGUES PINTO

LABORATÓRIO 3 DE ROBÓTICA E AUTOMAÇÃO


INDUSTRIAL

Trabalho apresentado à disciplina


1ELE901 - Robótica e Automação In-
dustrial, na graduação em Engenharia
Elétrica - UEL.
Prof. Ruberlei Gaino

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) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

5 Resultados e Discussões 12
5.1 Letra (a) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
5.2 Letra (b) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

6 Conclusões 16
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, o modelo de um manipula-
dor não planar a 2 DOF foi criado utilizando os parâmetros D-H. Foi preciso trabalhar com Matlab,
seguindo os comandos do Peter Corke. Em sequência, o método de conversão para uma sequência de
transformações elementares realizado por trchain foi compreendido a fim de aplicá-lo no robô criado
e em modelos definidos pelo ToolBox. Ao final, utilizando os recursos do ToolBox, foi possível gerar
o gráfico do modelo não planar a 2 DOF 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).

3.2 C INEMÁTICA DIRETA E INVERSA

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.

3.3 N OTAÇÃO DE D ENAVIT-H ARTENBERG

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

Figura 3.1: parâmetros de Denavit-Hartenberg

3.4 P OSIÇÃO E ORIENTAÇÃO DO EFETUADOR

Com a notação de Denavit-Hartenberg definida, pode-se obter a posição e orientação do efetuador em


relação ao sistema da base em função dos deslocamentos de todas as articulações. O deslocamento
de cada articulação é dada por di para articulações prismáticas ou θi para articulações de revolução.
Para facilitar a nomenclatura, a posição das articulações pode ser denotada por qi .
Dessa forma, a posição e orientação do ligamento i relativo ao ligamento i-1 é descrita em função
de qi , através da matriz homogênea Ai−1i (qi ). Um manipulador consiste de n + 1 ligamentos, com
a base sendo o ligamento e o efetuador o ligamento n. Portanto, do efetuador à base existem n
transformações homogêneas consecutivas, assim, a posição e orientação do efetuador é dada por:

A0n = A01 (q1 )A12 (q2 )...An−1


n (qn ) (3.1)

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

Dados os sistemas de coordenadas e parâmetros cinemáticos de um manipulador não planar a 2 DOF


disponíveis em (3):

Figura 4.1: Sistemas de coordenadas e parâmetros cinemáticos de um robot de 2 DOF

Os parâmetros D-H, da forma convencional, são mostrados na Tabela 4.1.

Tabela 4.1: Parâmetros D-H

# θ d a α
0-1 θ1 L1 0 +90
1-2 θ2 0 L2 0

Logo mais, podemos definir a matriz de transformação homogênea como:

A02 = A01 · A12 (4.1)

A02 = Rz (θ1 ) · Tz (L1 ) · Rx (90) · Rz (θ2 ) · Tx (L2 ) (4.2)

4.1 L ETRA ( A )

Crie seu manipulador com os comandos do peter corke e os parmetros DH.

Para essa etapa, foi necessário instalar o Robotics ToolBox de (4) 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(). Sendo assim, temos:
10

clc, clear all, close all


import ETS2.*

L1 = 1;
L2 = 1;
d2r = pi/180;

% juntas
J1 = Revolute('d', L1, 'a', 0, 'alpha', 90*d2r, 'qlim', [-180*d2r 180*d2r])
J2 = Revolute('d', 0, 'a', L2, 'alpha', 0, 'qlim', [-90*d2r 270*d2r])

% conectando as juntas em um robo


robot = SerialLink([J1 J2], 'name', 'robozin')
robot.teach

Os resultados serão apresentados no capítulo Resultados e Discussões.

4.2 L ETRA ( B )

Compreenda https://github.com/petercorke/robotics-toolbox-matlab/blob/master/%40SerialLi
nk/trchain.m.
Possível criar um mdl e usar o trchain para obter a cinemática direta?
Crie seu programa e obtenha os resultados.

trchain realiza uma conversão para uma sequência de transformações elementares que descreve a
cinemática do braço do robô de link serial. Isto é feito link a link, utilizando append para adicionar a
transformação elementar a ums string S.
A string S compreende um número de transformações elementares no formato X(ARG), onde X é
Tx, Ty, Tz, Rx, Ry ou Rz, e ARG é uma variável de junta, um ângulo constante ou uma dimensão de
comprimento.
Sendo assim, utilizando o Toolbox, é possível criar um modelo usando a função SerialLink(). O To-
olbox também contém um grande número de modelos de braços robóticos definidos, como o Puma
560. Um teste do uso de trchain pode ser feito utilizando o robô do item (a) criado com SerialLink():

clc, clear all, close all


import ETS2.*

L1 = 1;
L2 = 1;
d2r = pi/180;
11

% juntas
J1 = Revolute('d', L1, 'a', 0, 'alpha', 90*d2r, 'qlim', [-180*d2r 180*d2r]);
J2 = Revolute('d', 0, 'a', L2, 'alpha', 0, 'qlim', [-90*d2r 270*d2r]);

% conectando as juntas em um robo


robot = SerialLink([J1 J2], 'name', 'robozin')
robot.trchain

No mais, o teste que o autor sugere pode ser realizado com o Puma 560:

clc, clear all, close all


import ETS2.*

mdl_puma560
p560
p560.teach
p560.trchain

Os resultados serão apresentados no capítulo Resultados e Discussões.


12

5 RESULTADOS E DISCUSSÕES

5.1 L ETRA ( A )

Crie seu manipulador com os comandos do peter corke e os parmetros DH.

Para este manipulador não planar a 2 DOF, o modelo foi criado com os comandos do Peter Corke. A
seguir, são apresentados os resultados com os parâmetros D-H:

J1 =
Revolute(std): theta=q, d=1, a=0, alpha=1.5708, offset=0

J2 =
Revolute(std): theta=q, d=0, a=1, alpha=0, offset=0

robot =

robozin:: 2 axis, RR, stdDH, slowRNE


+---+-----------+-----------+-----------+-----------+-----------+
| j | theta | d | a | alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 1| 0| 1.5708| 0|
| 2| q2| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
13

Figura 5.1: Modelo não planar a 2 DOF

5.2 L ETRA ( B )

Compreenda https://github.com/petercorke/robotics-toolbox-matlab/blob/master/%40SerialLi
nk/trchain.m.
Possível criar um mdl e usar o trchain para obter a cinemática direta?
Crie seu programa e obtenha os resultados.

Para essa etapa, o primeiro teste do trchain compreende o uso do robô criado no item (a). Os re-
sultados deste teste são apresentados a seguir:

robot =

robozin:: 2 axis, RR, stdDH, slowRNE


+---+-----------+-----------+-----------+-----------+-----------+
| j | theta | d | a | alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 1| 0| 1.5708| 0|
| 2| q2| 0| 1| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+
14

ans =

'Rz(q1)Tz(1)Rx(90)Rz(q2)Tx(1)'

O segundo teste compreende o uso de modelos de braços robóticos definidos, como o Puma 560. Os
resultados deste teste são apresentados a seguir:

p560 =

Puma 560 [Unimation]:: 6 axis, RRRRRR, stdDH, slowRNE


- viscous friction; params of 8/95;
+---+-----------+-----------+-----------+-----------+-----------+
| j | theta | d | a | alpha | offset |
+---+-----------+-----------+-----------+-----------+-----------+
| 1| q1| 0| 0| 1.5708| 0|
| 2| q2| 0| 0.4318| 0| 0|
| 3| q3| 0.15005| 0.0203| -1.5708| 0|
| 4| q4| 0.4318| 0| 1.5708| 0|
| 5| q5| 0| 0| -1.5708| 0|
| 6| q6| 0| 0| 0| 0|
+---+-----------+-----------+-----------+-----------+-----------+

ans =

'Rz(q1)Rx(90)Rz(q2)Tx(0.4318)Rz(q3)Tz(0.15005)Tx(0.0203)Rx(-90)
,→ Rz(q4)Tz(0.4318)Rx(90)Rz(q5)Rx(-90)Rz(q6)'
15

Figura 5.2: Modelo Puma 560


16

6 CONCLUSÕES

Observamos e documentamos a teoria necessária de cinemática e da notação de Denavit-Hartenberg


para desenvolver o relatório. O mesmo foi realizado tendo como base as aulas ministradas pelo do-
cente e os livros teóricos denotados na Bibliografia.
Em um primeiro momento, conforme a proposta do laboratório, o modelo de um manipulador não
planar a 2 DOF deveria ser criado, e para tal, foi necessário trabalhar com Matlab, seguindo os co-
mandos do Peter Corke e utilizando os parâmetros D-H.
Em seguida, foi necessário compreender o método de conversão para uma sequência de transforma-
ções elementares realizado por trchain a fim de aplicá-lo no robô criado e em modelos definidos pelo
ToolBox.
Por fim, utilizando os recursos do ToolBox, foi possível gerar o gráfico do modelo não planar a 2
DOF e verificar que o programa responde adequadamente.
17

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.

[3] Santos V. M. F. Robótica Industrial. Universidade de Aveiro, 2003-2004.

[4] Peter Corke. ROBOTICS ToolBox. 2022. Disponível em:


<https://petercorke.com/ToolBoxes/robotics-ToolBox/>.

Você também pode gostar