Você está na página 1de 25
Automação e Robótica Trabalho Prático nº2 Cinemática de um braço robótico 15-01-2012 Discentes: Ivo Faria,

Automação e Robótica

Trabalho Prático nº2

Cinemática de um braço robótico

15-01-2012

Discentes:

Ivo Faria, nº4780 Pedro Silva, nº4854 André Boas, nº4998 João Moreira, nº5189

Docente:

João Vilaça

Índice

1. Objectivos do trabalho

3

2. Material e equipamento utilizado

4

3. Introdução Teórica

5

3.1. Tipos de juntas ou articulações:

5

3.2. Cinemática de robôs manipuladores

6

3.3. Cinemática directa

6

3.4. Cinemática inversa

7

3.5. Metodologia de Denavit-Hartenberg

7

3.6. Matriz de transformação para um braço

8

3.7. Matriz de transformação final (T)

9

4. Trabalho desenvolvido

10

4.1. Consideremos o seguinte manipulador:

10

4.2. Desenvolvimento de um manipulador à nossa escolha

16

5. Conclusão

24

6. Bibliografia

25

1.

Objectivos do trabalho

Neste trabalho pretende-se o estudo da cinemática de braços robóticos, mais precisamente:

Utilizar a convenção de Denavit-Hartenberg para a atribuição de sistemas de eixos coordenados;

Determinar os parâmetros de Denavit-Hartenberg;

Determinar as matrizes individuais de transformação Ai.

Determinar a matrizes de transformação geral para obter as coordenadas cartesianas em termos das coordenadas de juntas;

Definir e manipular braços robóticos na Toolbox de robótica do Matlab.

O trabalho terá uma duração de 2 aulas (4 horas).

2.

Material e equipamento utilizado

Computador;

2. Material e equipamento utilizado  Computador;  Software Matlab. 4

Software Matlab.

2. Material e equipamento utilizado  Computador;  Software Matlab. 4

3.

Introdução Teórica

3.1.Tipos de juntas ou articulações:

Junta Linear (tipo L): Permite o movimento das ligações de uma forma linear. Junta Rotacional (tipo R): Movimento de rotação em relação ao eixo perpendicular à junção das duas ligações. Junta de Torção (tipo T): Movimento de rotação em relação ao eixo paralelo à junção das duas ligações. Junta Revolvente (tipo V): Movimento de rotação com eixo paralelo à ligação de entrada (a mais próxima da base) e perpendicular à de saída.

(a mais próxima da base) e perpendicular à de saída. (a)-Junta linear; (b)-Junta rotacional; (c)-Junta de

(a)-Junta linear; (b)-Junta rotacional; (c)-Junta de torção; (d)-Junta revolvente;

Notação de juntas:

Robôs industriais adoptam com frequência soluções que tornam o reconhecimento das juntas mais complexo. De fato, dependendo da forma com que os elos são construídos numa representação esquemática, a nomenclatura do braço pode ser ambígua. A figura seguinte ilustra um mesmo manipulador representado de duas formas distintas. A movimentação é igual em ambos os esquemas. Este braço poderia ser denominado, indistintamente, de TVR ou VRR. Para tornar a identificação única devese buscar uma geometria onde os elos sejam formados por, no máximo, dois segmentos lineares. Neste caso, a configuração VRR seria a correcta.

no máximo, dois segmentos lineares. Neste caso, a configuração VRR seria a correcta. Exemplos de notação

Exemplos de notação de juntas:

(a) LRL (b) RRL (c) TRL (d) LVL 3.2. Cinemática de robôs manipuladores A cinemática

(a) LRL

(b) RRL

(c) TRL

(d) LVL

3.2. Cinemática de robôs manipuladores

A cinemática de um robô manipulador é o estudo da posição e da velocidade da sua garra e

das suas juntas. Quando se menciona a posição, estamo-nos a referir tanto à posição propriamente dita, como

a orientação. No aspecto da velocidade, considera-se tanto a velocidade linear como a angular.

Podem-se distinguir dois tipos de cinemática: a cinemática directa e a inversa.

3.3. Cinemática directa

Na cinemática directa deseja-se obter a posição e velocidade da garra, para uma dada posição das juntas.

directa Na cinemática directa deseja-se obter a posição e velocidade da garra, para uma dada posição

3.4.

Cinemática inversa

A cinemática inversa é o oposto da directa, ou seja, são fornecidos a posição e a velocidade da garra e pretende-se obter as posições e velocidades correspondentes das juntas.

as posições e velocidades correspondentes das juntas. 3.5. Metodologia de Denavit-Hartenberg Cada manipulador é

3.5. Metodologia de Denavit-Hartenberg

Cada manipulador é composto por vários elos ou braços. Para que possamos obter a matriz de transformação, é necessária uma descrição de cada um dos braços.

Na metodologia de Denavit-Hartenberg existem quatro variáveis que descrevem cada braço ou elo de um manipulador:

1. ln distância entre eixos Xn-1 e Xn (comprimento do braço);

2. dn Distância entre braços medida no eixo dos Zn (distância entre os braços);

3. αn ângulo de rotação entre os eixos das juntas medido no eixo dos Xn (ângulo de torção);

4. θn ângulo entre os braços medido no eixo dos Zn-1 (a nossa variável);

Para uma definição mais rápida e prática, geralmente cria-se uma tabela com todas estas variáveis e correspondentes valores, como a que se segue:

Elo

θn

dn

In

αn

1

       

2

       

3

       

       

3.6. Matriz de transformação para um braço

A matriz de transformação de cada braço/elo é obtida pela multiplicação das seguintes equações:

A n = Rot(z, θ) . Trans(0,0,d) . Trans(l,0,0) . Rot(x, α)

= Rot(z, θ ) . Trans(0,0,d) . Trans(l,0,0) . Rot(x, α ) A matriz obtida, onde
= Rot(z, θ ) . Trans(0,0,d) . Trans(l,0,0) . Rot(x, α ) A matriz obtida, onde

A matriz obtida, onde cada cor corresponde a uma parte da equação, é a seguinte:

Cos (θ) - Sin(θ) 0 0 1 0 0 l 1 0 0 0 Sin
Cos (θ) - Sin(θ)
0
0
1
0
0
l
1
0
0
0
Sin (θ)
Cos(θ)
0
0
0
1
0
0
0
Cos(α) -Sin(α)
0
0
0
1
0
0
0
1
d
0
Sin(α)
Cos(α)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ)
- Sin(θ) Cos (α)
Sin(θ 1 ) Sin (α)
l - Cos (θ)
Sin(θ)
Cos (θ) Cos (α)
- Cos (θ 1 ) Sin (α)
l - Sin(θ)
0
Sin(α)
Cos(α)
d
0
0
0
1

3.7. Matriz de transformação final (T)

Depois de calculadas as várias matrizes de transformação de cada braço ou elo, é necessário multiplicar todas elas para que se obtenha a matriz final T.

=

x

x x

Depois de calculada, esta indica as coordenas do ponto final do robô, que é normalmente a garra, depois de todas as transformações.

As coordenadas estão posicionadas como mostra a figura:

é normalmente a garra, depois de todas as transformações. As coordenadas estão posicionadas como mostra a

4.

Trabalho desenvolvido

4.1. Consideremos o seguinte manipulador:

+90 o

Z 3 Y 3 X 3 Z 2 Z 1 Y Y 1 2 X
Z
3
Y
3
X
3
Z
2
Z
1
Y
Y
1
2
X
1
X
2
Z
o
-90
Y
X

Legenda:

Movimentos possíveis do braçoZ 2 Z 1 Y Y 1 2 X 1 X 2 Z o -90 Y

Ângulo de torçãoY Y 1 2 X 1 X 2 Z o -90 Y X Legenda: Movimentos possíveis

Sistemas de eixos coordenadosZ 2 Z 1 Y Y 1 2 X 1 X 2 Z o -90 Y

+90 o

Realizada a atribuição de sistemas de eixos coordenados, estamos aptos a determinar os parâmetros de Denavit-Hartenberg:

Elo

θn

dn

In

αn

 

1 Θ1

250

0

+90°

 

2 Θ2

200

0

-90°

 

3 Θ3

250

0

+90°

 

4 Θ4

0

200

Depois, é necessário definir as matrizes individuais de transformação A i e respectivas equações:

Equação: A 1 = Rot (z, θ 1 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90)

(z, θ 1 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 1 )
(z, θ 1 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 1 )
Matriz: Cos (θ 1 ) - Sin(θ 1 ) 0 0 1 0 0 0
Matriz:
Cos (θ 1 ) - Sin(θ 1 )
0
0
1
0
0
0
1
0
0
0
Sin (θ 1 )
Cos(θ 1 )
0
0
0
1
0
0
0
Cos(90) -Sin(90)
0
0
0
1
0
0
0
1
250
0
Sin(90)
Cos(90)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ 1 )
- Sin(θ 1 ) Cos (90)
Sin(θ 1 ) Sin (90)
0 - Cos (θ 1 )
Sin(θ 1 )
Cos (θ 1 ) Cos (90)
- Cos (θ 1 ) Sin (90)
0 - Sin(θ 1 )
0
Sin(90)
Cos(90)
250
0
0
0
1

Equação: A 2 = Rot (z, θ 2 ). Trans (0,0,200). Trans (0,0,0). Rot (x, -90)

Equação: A 2 = Rot (z, θ 2 ). Trans (0,0,200). Trans (0,0,0). Rot (x, -
Equação: A 2 = Rot (z, θ 2 ). Trans (0,0,200). Trans (0,0,0). Rot (x, -
Matriz: Cos (θ 2 ) - Sin(θ 2 ) Sin (θ 2 ) Cos(θ 2
Matriz:
Cos (θ 2 ) - Sin(θ 2 )
Sin (θ 2 )
Cos(θ 2 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 0 1 1 0 0 0 0 1 200 0 0 0 1
0
0
0
1
1
0
0
0
0
1
200
0
0
0
1
0
Cos (θ 2 ) - Sin(θ 2 ) Cos (-90) Sin(θ 2 ) Sin (-90)
Cos (θ 2 )
- Sin(θ 2 ) Cos (-90)
Sin(θ 2 ) Sin (-90)
Sin(θ 2 )
Cos (θ 2 ) Cos (-90)
- Cos (θ 2 ) Sin (-90)
0
Sin(-90)
Cos(-90)
0
0
0

Equação: A 3 = Rot (z, θ 3 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90)

(z, θ 3 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90) 0 0 Cos(-90) -Sin(-90) Sin(-90)
(z, θ 3 ). Trans (0,0,250). Trans (0,0,0). Rot (x, 90) 0 0 Cos(-90) -Sin(-90) Sin(-90)

0

0

Cos(-90) -Sin(-90)

Sin(-90)

0

Cos(-90)

0

0 - Cos (θ 2 )

0 - Sin(θ 2 )

200

1

Matriz: Cos (θ 3 ) - Sin(θ 3 ) 0 0 1 0 0 0
Matriz:
Cos (θ 3 ) - Sin(θ 3 )
0
0
1
0
0
0
1
0
0
0
Sin (θ 3 )
Cos(θ 3 )
0
0
0
1
0
0
0
Cos(90) -Sin(90)
0
0
0
1
0
0
0
1
250
0
Sin(90)
Cos(90)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ 3 )
- Sin(θ 3 ) Cos (90)
Sin(θ 3 ) Sin (90)
0 - Cos (θ 3 )
Sin(θ 3 )
Cos (θ 3 ) Cos (90)
- Cos (θ 3 ) Sin (90)
0 - Sin(θ 3 )
0
Sin(90)
Cos(90)
250
0
0
0
1

Equação: A 4 = Rot (z, θ 4 ). Trans (0,0,0). Trans (0,0,0). Rot (x, 0)

Equação: A 4 = Rot (z, θ 4 ). Trans (0,0,0). Trans (0,0,0). Rot (x, 0)
Matriz: Cos (θ 4 ) - Sin(θ 4 ) 0 0 1 0 0 200
Matriz:
Cos (θ 4 ) - Sin(θ 4 )
0
0
1
0
0
200
1
0
0
0
Sin (θ 4 )
Cos(θ 4 )
0
0
0
1
0
0
0
Cos(0) -Sin(0)
0
0
0
1
0
0
0
1
0
0
Sin(0)
Cos(0)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ 4 )
- Sin(θ 4 ) Cos (0)
Sin(θ 4 ) Sin (0)
200 - Cos (θ 4 )
Sin(θ 4 )
Cos (θ 4 ) Cos (0)
- Cos (θ 4 ) Sin (0)
200 - Sin(θ 4 )
0
Sin(0)
Cos(0)
0
0
0
0
1

Após o cálculo das várias matrizes de transformação, é necessário multiplicar todas essas matrizes, de modo a obter a matriz final T. Esta indica as coordenadas do ponto final do robô.

Equação: A T = A 1 x A 2 x A 3 x A 4

Matriz Final T:

0 0 -202 1 0 -200 0 1 250 0 0 1
0
0
-202
1
0
-200
0
1
250
0
0
1

Para que seja possível definir o robô em Matlab, usando a Toolbox de robótica fornecida, é necessária uma estrutura de código específica.

1. Definição das características de cada junta:

L n = Link([θ n d n I n α n 0* ]);

Inserir os valores dos parâmetros de Denavit -Hartenberg. *0 se a junta for rotacional ou 1 se for prismática.

2. Unir as juntas:

R=SerialLink ([L 1 + L 2 + … + L n ])

3. Definir a posição inicial:

Juntas i = [0, 0];

4. Definir a posição final:

Juntas f = [pi/2,-pi/2];

Ou seja, neste exemplo, a primeira rotação terá um movimento de 0 até 90 graus. A segunda, terá um movimento de 0 até -90 graus.

5. Gerar a trajectória para cada junta:

Trajectória= jtraj (Juntas i, Juntas f , Tempo de movimento);

Em Tempos de movimento, quanto menor for o parâmetro inserido, maior será a velocidade da simulação.

6. Visualizar o robô em movimento:

Plot(R, Trajectoria);

Eis o código do nosso robô:

L1=Link([0 250 0 pi/2 0]); L2=Link([0 200 0 -pi/2 0]); L3=Link([0 250 0 pi/2 1]); L4=Link([0 0 200 0 0]); R=SerialLink([L1 L2 L3 L4]) Juntasi=[0, 0, 0, 0]; Juntasj=[0, pi/2, 0, 0];

trajectoria=jtraj(Juntasi,Juntasj,10);

plot(R,trajectoria);

0, 0]; Juntasj=[0, pi/2, 0, 0]; trajectoria=jtraj(Juntasi,Juntasj,10); plot(R,trajectoria); - Robô simulado no Matlab 14

- Robô simulado no Matlab

14

De seguida, implementamos a cinemática directa no manipulador, acrescentando duas linhas ao código inicial:

L1=Link([0 250 0 pi/2 0]); L2=Link([0 200 0 -pi/2 0]); L3=Link([0 250 0 pi/2 1]); L4=Link([0 0 200 0 0]); R=SerialLink([L1 L2 L3 L4]) dz=[0 0 90 0] Ângulo de cada junta; fkine(R,dz) Aplicando a cinemática directa; plot(R,dz);

– Aplicando a cinemática directa; plot(R,dz); - Manipulador simulado no Matlab , aplicando a cinemática

- Manipulador simulado no Matlab, aplicando a cinemática directa

Mais um exemplo do manipulador, noutra posição:

L1=Link([0 250 0 pi/2 0]); L2=Link([0 200 0 -pi/2 0]); L3=Link([0 250 0 pi/2 1]); L4=Link([0 0 200 0 0]); R=SerialLink([L1 L2 L3 L4]) Juntasi=[0, 0, 0, 0]; Juntasj=[0, 0, 0, 0];

trajectoria=jtraj(Juntasi,Juntasj,10);

plot(R,trajectoria);

0, 0]; Juntasj=[0, 0, 0, 0]; trajectoria=jtraj(Juntasi,Juntasj,10); plot(R,trajectoria); - Manipulador noutra posição 15

- Manipulador noutra posição

4.2. Desenvolvimento de um manipulador à nossa escolha

Legenda: Movimentos possíveis do braço
Legenda:
Movimentos possíveis do braço

Definição dos parâmetros de Denavit-Hartenberg:

Elo

θn

dn

In

αn

 

1 Θ1

100

0

 

2 Θ2

100

0

90°

 

3 Θ3

100

0

-90°

 

4 Θ4

100

0

90°

 

5 Θ5

0

100

-90°

 

6 Θ6

0

100

 

7 Θ7

0

100

Definição das matrizes individuais de transformação A i e respectivas equações:

Equação: A 1 = Rot (z, θ 1 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 0)

(z, θ 1 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 0) Matriz: Cos (θ 1 )
(z, θ 1 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 0) Matriz: Cos (θ 1 )
Matriz: Cos (θ 1 ) - Sin(θ 1 ) 0 0 1 0 0 0
Matriz:
Cos (θ 1 ) - Sin(θ 1 )
0
0
1
0
0
0
1
0
0
0
Sin (θ 1 )
Cos(θ 1 )
0
0
0
1
0
0
0
Cos(0) -Sin(0)
0
0
0
1
0
0
0
1
100
0
Sin(0)
Cos(0)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ 1 )
- Sin(θ 1 ) Cos (0)
Sin(θ 1 ) Sin (0)
0 - Cos (θ 1 )
Sin(θ 1 )
Cos (θ 1 ) Cos (0)
- Cos (θ 1 ) Sin (0)
0 - Sin(θ 1 )
0
Sin(0)
Cos(0)
100
0
0
0
1

Equação: A 2 = Rot (z, θ 2 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90)

(z, θ 2 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 2 )
(z, θ 2 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 2 )
Matriz: Cos (θ 2 ) - Sin(θ 1 ) Sin (θ 2 ) Cos(θ 2
Matriz:
Cos (θ 2 ) - Sin(θ 1 )
Sin (θ 2 )
Cos(θ 2 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 0 1 1 0 0 0 0 1 100 0 0 0 1
0
0
0
1
1
0
0
0
0
1
100
0
0
0
1
0
Cos (θ 2 ) - Sin(θ 2 ) Cos (90) Sin(θ 2 ) Sin (90)
Cos (θ 2 )
- Sin(θ 2 ) Cos (90)
Sin(θ 2 ) Sin (90)
Sin(θ 2 )
Cos (θ 2 ) Cos (90)
- Cos (θ 2 ) Sin (90)
0
Sin(90)
Cos(90)
0
0
0

0

0

Cos(90) -Sin(90)

Sin(90)

0

Cos(90)

0

0 - Cos (θ 2 )

0 - Sin(θ 2 )

100

1

Equação: A 3 = Rot (z, θ 3 ). Trans (0,0,100). Trans (0,0,0). Rot (x, -90)

θ 3 ). Trans (0,0,100). Trans (0,0,0). Rot (x, - 90) Matriz: Cos (θ 3 )
θ 3 ). Trans (0,0,100). Trans (0,0,0). Rot (x, - 90) Matriz: Cos (θ 3 )
Matriz: Cos (θ 3 ) - Sin(θ 3 ) Sin (θ 3 ) Cos(θ 3
Matriz:
Cos (θ 3 ) - Sin(θ 3 )
Sin (θ 3 )
Cos(θ 3 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 0 1 0 0 1 0 0 0 Cos(-90) -Sin(-90) 0 1 100
0
0
0
1
0
0
1
0
0
0
Cos(-90) -Sin(-90)
0
1
100
0
Sin(-90)
Cos(-90)
0
0
1
0
0
0
Cos (θ 3 ) - Sin(θ 3 ) Cos (-90) Sin(θ 3 ) Sin (-90)
Cos (θ 3 )
- Sin(θ 3 ) Cos (-90)
Sin(θ 3 ) Sin (-90)
0 - Cos (θ 3 )
Sin(θ 3 )
Cos (θ 3 ) Cos (-90)
- Cos (θ 3 ) Sin (-90)
0 - Sin(θ 3 )
0
Sin(-90)
Cos(-90)
100
0
0
0
1

Equação: A 4 = Rot (z, θ 4 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90)

(z, θ 4 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 4 )
(z, θ 4 ). Trans (0,0,100). Trans (0,0,0). Rot (x, 90) Matriz: Cos (θ 4 )
Matriz: Cos (θ 4 ) - Sin(θ 4 ) Sin (θ 4 ) Cos(θ 4
Matriz:
Cos (θ 4 ) - Sin(θ 4 )
Sin (θ 4 )
Cos(θ 4 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 0 1 1 0 0 0 0 1 100 0 0 0 1
0
0
0
1
1
0
0
0
0
1
100
0
0
0
1
0
Cos (θ 4 ) - Sin(θ 4 ) Cos (90) Sin(θ 4 ) Sin (90)
Cos (θ 4 )
- Sin(θ 4 ) Cos (90)
Sin(θ 4 ) Sin (90)
Sin(θ 4 )
Cos (θ 4 ) Cos (90)
- Cos (θ 4 ) Sin (90)
0
Sin(90)
Cos(90)
0
0
0

0

0

Cos(90) -Sin(90)

Sin(90)

0

Cos(90)

0

0 - Cos (θ 4 )

0 - Sin(θ 4 )

100

1

Equação: A 5 = Rot (z, θ 5 ). Trans (0,0,0). Trans (100,0,0). Rot (x, -90)

θ 5 ). Trans (0,0,0). Trans (100,0,0). Rot (x, - 90) Matriz: Cos (θ 5 )
θ 5 ). Trans (0,0,0). Trans (100,0,0). Rot (x, - 90) Matriz: Cos (θ 5 )
Matriz: Cos (θ 5 ) - Sin(θ 5 ) Sin (θ 5 ) Cos(θ 5
Matriz:
Cos (θ 5 ) - Sin(θ 5 )
Sin (θ 5 )
Cos(θ 5 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 100 1 0 0 1 0 0 0 Cos(-90) -Sin(-90) 0 1 0
0
0
100
1
0
0
1
0
0
0
Cos(-90) -Sin(-90)
0
1
0
0
Sin(-90)
Cos(-90)
0
0
1
0
0
0
Cos (θ 5 ) - Sin(θ 5 ) Cos (-90) Sin(θ 5 ) Sin (-90)
Cos (θ 5 )
- Sin(θ 5 ) Cos (-90)
Sin(θ 5 ) Sin (-90)
100 - Cos (θ 5 )
Sin(θ 5 )
Cos (θ 5 ) Cos (-90)
- Cos (θ 5 ) Sin (-90)
100 - Sin(θ 5 )
0
Sin(-90)
Cos(-90)
0
0
0
0
1

Equação: A 6 = Rot (z, θ 6 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0)

Equação: A 6 = Rot (z, θ 6 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0)
Equação: A 6 = Rot (z, θ 6 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0)
Matriz: Cos (θ 6 ) - Sin(θ 6 ) Sin (θ 6 ) Cos(θ 6
Matriz:
Cos (θ 6 ) - Sin(θ 6 )
Sin (θ 6 )
Cos(θ 6 )
0
0
0
0

0

0

1

0

0 1 0 0 0 0 1 0
0
1
0
0
0
0
1
0
0 0 0 1 1 0 0 0 0 1 100 0 0 0 1
0
0
0
1
1
0
0
0
0
1
100
0
0
0
1
0
Cos (θ 6 ) - Sin(θ 6 ) Cos (0) Sin(θ 6 ) Sin (0)
Cos (θ 6 )
- Sin(θ 6 ) Cos (0)
Sin(θ 6 ) Sin (0)
Sin(θ 6 )
Cos (θ 6 ) Cos (0)
- Cos (θ 6 ) Sin (0)
0
Sin(0)
Cos(0)
0
0
0

Equação: A 7 = Rot (z, θ 7 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0)

(z, θ 7 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0) 0 0 Cos(0) -Sin(0) Sin(0)
(z, θ 7 ). Trans (0,0,0). Trans (0,0,100). Rot (x, 0) 0 0 Cos(0) -Sin(0) Sin(0)

0

0

Cos(0) -Sin(0)

Sin(0)

0

Cos(0)

0

100 - Cos (θ 6 )

100 - Sin(θ 6 )

0

1

Matriz: Cos (θ 7 ) - Sin(θ 7 ) 0 0 1 0 0 0
Matriz:
Cos (θ 7 ) - Sin(θ 7 )
0
0
1
0
0
0
1
0
0
0
Sin (θ 7 )
Cos(θ 7 )
0
0
0
1
0
0
0
Cos(0) -Sin(0)
0
0
0
1
0
0
0
1
100
0
Sin(0)
Cos(0)
0
0
0
0
1
0
0
0
1
0
0
0
1
Cos (θ 7 )
- Sin(θ 7 ) Cos (0)
Sin(θ 7 ) Sin (0)
100 - Cos (θ 7 )
Sin(θ 7 )
Cos (θ 7 ) Cos (0)
- Cos (θ 7 ) Sin (0)
100 - Sin(θ 7 )
0
Sin(0)
Cos(0)
0
0
0
0
1

Após o cálculo das várias matrizes de transformação, é necessário multiplicar todas essas matrizes, de modo a obter a matriz final T. Esta indica as coordenadas do ponto final do robô.

Equação: A T = A 1 x A 2 x A 3 x A 4 x A 5 x A 6 x A 7

Matriz Final T:

-1 0 -205 1 0 -100 0 1 300 0 0 1
-1
0
-205
1
0
-100
0
1
300
0
0
1

Definir o robô em Matlab, usando a Toolbox de robótica fornecida:

T: -1 0 -205 1 0 -100 0 1 300 0 0 1 Definir o robô

Script criado para movimentar individualmente os eixos:

Script criado para movimentar individualmente os eixos: O volume de trabalho do nosso robô é o
Script criado para movimentar individualmente os eixos: O volume de trabalho do nosso robô é o

O volume de trabalho do nosso robô é o seguinte:

Script criado para movimentar individualmente os eixos: O volume de trabalho do nosso robô é o
Script criado para movimentar individualmente os eixos: O volume de trabalho do nosso robô é o

Para limitar o ângulo de rotação do braço adoptamos a seguinte técnica:

de rotação do braço adoptamos a seguinte técnica: Neste caso só implementamos para o ângulo da

Neste caso só implementamos para o ângulo da base no entanto pode-mos implementar para todas as juntas.

Para conseguir-mos escrever as iniciais E.E. teríamos de criar uma script na qual implementaríamos código de maneira a movimentar cada junta individualmente de maneira a que no fim as iniciais fossem escritas.

código de maneira a movimentar cada junta individualmente de maneira a que no fim as iniciais

5. Conclusão

Qualquer tipo de robô que seja funcional, envolve uma base anterior de cálculos a ser realizados (Equações, matrizes, sistemas de eixos…). No nosso trabalho, apenas tínhamos que simular braços manipuladores em Matlab e não realizar a sua construção. Devido à metodologia de Denavit-Hartenberg, torna-se tudo mais fácil e prático de executar. Tendo uma tabela feita, como descrito no trabalho, conseguimos com sucesso efectuar todos passos para que o robô seja simulado. Tratou-se de um trabalho prático interessante, que nos permitiu entender que os robôs são algo complexo e que envolvem muito trabalho. Apesar disso, é perfeitamente visível na actualidade que a sua utilidade é imensa.

6. Bibliografia

Enunciado do trabalho prático;

PDF “1 - Robótica”, disponibilizado pelo docente;

Motor de busca: Wikipedia;