Você está na página 1de 19
SEM0317SEM0317 –– DinâmicaDinâmica ee ControleControle dede SistemasSistemas RobóticosRobóticos II
SEM0317SEM0317 –– DinâmicaDinâmica ee ControleControle dede
SistemasSistemas RobóticosRobóticos II
RoboticsRobotics ToolboxToolbox
ff oror
MATLABMATLAB
KelenKelen TeixeiraTeixeira VivaldiniVivaldini
SEM - EESC - USP
SumárioSumário dada AulaAula • Matlab e Álgebra Linear Matlab e Robotics Toolbox Bibliografia Recomendada •
SumárioSumário dada AulaAula • Matlab e Álgebra Linear Matlab e Robotics Toolbox Bibliografia Recomendada •

SumárioSumário dada AulaAula

SumárioSumário dada AulaAula • Matlab e Álgebra Linear Matlab e Robotics Toolbox Bibliografia Recomendada • •
•

Matlab e Álgebra Linear Matlab e Robotics Toolbox Bibliografia Recomendada

• •

EESC-USP

© Kelen 2009

2/19

MatlabMatlab ee ÁlgebraÁlgebra LinearLinear Salvar e compilar e • Criar, arquivos .m; • Matrizes e
MatlabMatlab ee ÁlgebraÁlgebra LinearLinear Salvar e compilar e • Criar, arquivos .m; • Matrizes e

MatlabMatlab ee ÁlgebraÁlgebra LinearLinear

MatlabMatlab ee ÁlgebraÁlgebra LinearLinear Salvar e compilar e • Criar, arquivos .m; • Matrizes e Vetores;
Salvar e compilar e
Salvar
e
compilar
e

Criar,

arquivos .m; Matrizes e Vetores;

Editar,

rodar

• Explorar
• Explorar

EESC-USP

© Kelen 2009

funções de Álgebra Linear

(multiplicação, transpostas, determinantes

e inversas de matrizes e vetores para solucionar equações);

3/19

ÁlgebraÁlgebra LinearLinear Para relembrar • Crie uma matriz A: • • A = [1 2
ÁlgebraÁlgebra LinearLinear Para relembrar • Crie uma matriz A: • • A = [1 2

ÁlgebraÁlgebra LinearLinear

ÁlgebraÁlgebra LinearLinear Para relembrar • Crie uma matriz A: • • A = [1 2 3;
ÁlgebraÁlgebra LinearLinear Para relembrar • Crie uma matriz A: • • A = [1 2 3;

Para relembrar

Crie uma matriz A:

A = [1 2 3; 4 5 6; 7 8 0] A = 1 2
A = [1 2 3; 4 5 6; 7 8 0]
A =
1
2
3
4
5
6
7
8
9
Calcule a sua inversa:
B = -0.4504 0.9007 -0.4504
B = inv(A)
0.9007
-1.8014
0.9007
-0.4504
0.9007
-0.4504
Calcule a transposta:
C = A’
C =
1
4
7
2
5
8
3
6
9

EESC-USP

© Kelen 2009

4/19

MatlabMatlab ee RoboticsRobotics ToolboxToolbox Disponibiliza muitas funções utilizadas em robótica, tais como: •
MatlabMatlab ee RoboticsRobotics ToolboxToolbox

MatlabMatlab ee RoboticsRobotics ToolboxToolbox

MatlabMatlab ee RoboticsRobotics ToolboxToolbox
MatlabMatlab ee RoboticsRobotics ToolboxToolbox

Disponibiliza muitas funções utilizadas em robótica, tais como:

• Matriz de transformação; • Cinemática; • Dinâmica; • • Também é utilizado para experimentos
Matriz de transformação;
Cinemática;
Dinâmica;
Também
é
utilizado
para
experimentos com robôs reais.

EESC-USP

© Kelen 2009

Geração de trajetória; Manipulador dados de vetores e transformação de matrizes homogênea (necessárias para representar posição e orientação em um plano tridimensional).

analisar os resultados de

5/19

RoboticsRobotics ToolboxToolbox Transformação Homogênea rotx Eixo de rotação em x roty Eixo de rotação em
RoboticsRobotics ToolboxToolbox Transformação Homogênea rotx Eixo de rotação em x roty Eixo de rotação em

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox Transformação Homogênea rotx Eixo de rotação em x roty Eixo de rotação em y
Transformação Homogênea
Transformação Homogênea
rotx Eixo de rotação em x roty Eixo de rotação em y rotz Eixo de
rotx
Eixo de rotação em x
roty
Eixo de rotação em y
rotz
Eixo de rotação em z

EESC-USP

© Kelen 2009

Faça os exercícios 2.2 e 2.4 do Livro Craig

6/19

• RoboticsRobotics ToolboxToolbox de transformação Crie representando uma translação de 0.5m na direção X; uma

• RoboticsRobotics ToolboxToolbox de transformação Crie representando uma translação de 0.5m na direção X; uma

RoboticsRobotics ToolboxToolbox

• RoboticsRobotics ToolboxToolbox de transformação Crie representando uma translação de 0.5m na direção X; uma
de transformação
de
transformação

Crie

representando uma translação de 0.5m na direção X;

uma

matriz

homogênea

T= transl(x, y, z) ou T = transl(v)

Multiplique a matriz obtida pela matriz do ex. 2.2. tr2rpy(T) (radianos) [a b c] =
Multiplique a matriz obtida pela matriz do ex. 2.2.
tr2rpy(T) (radianos)
[a b c] = tr2rpy(T)
Obter
os
ângulos
de
roll/pitch/yaw
da
matriz
transformação homogênea, acima:
tr2eul(T) ) (radianos)
[a b c] = tr2eul(T)

Obter os ângulos de roll/pitch/yaw da matriz transformação homogênea, acima:

EESC-USP

© Kelen 2009

de

7/19

RoboticsRobotics ToolboxToolbox Notação de Denavit Hatemberg • α i : o ângulo entre os eixos
RoboticsRobotics ToolboxToolbox Notação de Denavit Hatemberg • α i : o ângulo entre os eixos

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox Notação de Denavit Hatemberg • α i : o ângulo entre os eixos z
RoboticsRobotics ToolboxToolbox Notação de Denavit Hatemberg • α i : o ângulo entre os eixos z

Notação de Denavit Hatemberg

α i : o ângulo entre os eixos z i-1 e z i medida sobre o eixo x i ;

d i : distância entre a origem do sistema de referência i - 1 ao
d i : distância entre a origem do sistema de
referência i - 1 ao eixo x i medida sobre o eixo z i-1 ;
i : o ângulo entre os eixos z i-1 e z i medida sobre o
eixo x i ;
θ i : o ângulo entre os eixos x i-1 e x i medidos sobre o
eixo z i-1 .

EESC-USP

© Kelen 2009

8/19

RoboticsRobotics ToolboxToolbox • Criando os links: – L = link([alpha, a, theta, d, sigma]) –
RoboticsRobotics ToolboxToolbox • Criando os links: – L = link([alpha, a, theta, d, sigma]) –

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox • Criando os links: – L = link([alpha, a, theta, d, sigma]) – r
RoboticsRobotics ToolboxToolbox • Criando os links: – L = link([alpha, a, theta, d, sigma]) – r

• Criando os links:

L = link([alpha, a, theta, d, sigma])

– r = robot({Link1 Link2 })
– r = robot({Link1 Link2
})

EESC-USP

© Kelen 2009

9/19

• Criando o robô:

• RoboticsRobotics ToolboxToolbox Crie um robô manipulador de 2 elos; – help link – r=robot({L1

• RoboticsRobotics ToolboxToolbox Crie um robô manipulador de 2 elos; – help link – r=robot({L1 L2})

RoboticsRobotics ToolboxToolbox

• RoboticsRobotics ToolboxToolbox Crie um robô manipulador de 2 elos; – help link – r=robot({L1 L2})
Crie um robô manipulador de 2 elos; – help link – r=robot({L1 L2}) Defina um
Crie um robô manipulador de 2 elos;
– help link
– r=robot({L1 L2})
Defina um vetor q para os ângulos das juntas;
Desenha o robô r na posição q.
– plot(r, q)
– drivebot(r)

EESC-USP

© Kelen 2009

10/19

RoboticsRobotics ToolboxToolbox • Calcule a cinemática direta T = fkine(robo, q); qi = ikine(robo, T)
RoboticsRobotics ToolboxToolbox • Calcule a cinemática direta T = fkine(robo, q); qi = ikine(robo, T)

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox • Calcule a cinemática direta T = fkine(robo, q); qi = ikine(robo, T) EESC-USP
RoboticsRobotics ToolboxToolbox • Calcule a cinemática direta T = fkine(robo, q); qi = ikine(robo, T) EESC-USP

• Calcule a cinemática direta

T = fkine(robo, q);

qi = ikine(robo, T)
qi = ikine(robo, T)

EESC-USP

© Kelen 2009

• Calcule a cinemática inversa;

11/19

RoboticsRobotics ToolboxToolbox Utilize o robo Puma 560 para fazer os itens abaixo: • Calcule a
RoboticsRobotics ToolboxToolbox Utilize o robo Puma 560 para fazer os itens abaixo: • Calcule a

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox Utilize o robo Puma 560 para fazer os itens abaixo: • Calcule a jacobiana
RoboticsRobotics ToolboxToolbox Utilize o robo Puma 560 para fazer os itens abaixo: • Calcule a jacobiana

Utilize o robo Puma 560 para fazer os itens abaixo:

• Calcule a jacobiana

– J = jacob0(robo, q) – Verifique se existe singularidade det(J) – vel = [0.1
– J = jacob0(robo, q)
– Verifique se existe singularidade
det(J)
– vel = [0.1 0 0 0 0 0]’;
– qvel = inv(J) * vel;
– qvel’

EESC-USP

© Kelen 2009

• Calcule a inversa da jacobiana

12/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 13/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 13/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 13/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 13/19

EESC-USP

© Kelen 2009

13/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 14/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 14/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 14/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 14/19

EESC-USP

© Kelen 2009

14/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 15/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 15/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 15/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 15/19

EESC-USP

© Kelen 2009

15/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 16/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 16/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 16/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 16/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 16/19

EESC-USP

© Kelen 2009

16/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 17/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 17/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 17/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 17/19

EESC-USP

© Kelen 2009

17/19

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 18/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 18/19

RoboticsRobotics ToolboxToolbox

RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 18/19
RoboticsRobotics ToolboxToolbox EESC-USP © Kelen 2009 18/19

EESC-USP

© Kelen 2009

18/19

• BibliografiaBibliografia Corke, P.I. (1996). A Robotics Toolbox for MATLAB . IEEE Robotics and Automation

• BibliografiaBibliografia Corke, P.I. (1996). A Robotics Toolbox for MATLAB . IEEE Robotics and Automation Magazine,

BibliografiaBibliografia

• BibliografiaBibliografia Corke, P.I. (1996). A Robotics Toolbox for MATLAB . IEEE Robotics and Automation Magazine,
• BibliografiaBibliografia Corke, P.I. (1996). A Robotics Toolbox for MATLAB . IEEE Robotics and Automation Magazine,

Corke, P.I. (1996). A Robotics Toolbox for MATLAB. IEEE Robotics and Automation Magazine, Vol.3(1), March, pp. 24-32.

s mu a Corke, P.I. (1996). A computer tool for o i l ti on
s mu a
Corke, P.I. (1996). A computer tool for
o
i
l
ti
on an
d
ana ys s:
l
i
th
e
R
o
b
ti
cs
Toolbox for MATLAB
Bianchi, R. (2007). Robótica. Centro
Universitário da FEI.
Craig, J.C. (2005), Introduction to Robotics:
Mechanics and Control, 3 rd Edition, Pearson
Education Inc., ISBN 0-201-54361-3

EESC-USP

© Kelen 2009

19/19