Anda di halaman 1dari 43

Sistemas Mecatrônicos 1

Braços robóticos e cinemática direta

Prof. Rafael V. Aroca


Departamento de Engenharia Mecânica
Universidade Federal de São Carlos
Próximas aulas
• Workshop de robótica UFSCar
– Fazer a inscrição
• http://www.robotica.ufscar.br
• Feriado
• Práticas (Integração com Matlab, enconder,
controle em malha fechada)
• Exercícios
• Prova (conteúdo até hoje) – 05/maio
Revisão
• Pose
• Matrizes de rotação e translação
• Matrizes de transformação homogênea
Principais tipos
• Gantry (cartesiano)

Figura: http://www.uskoreahotlink.com/products/manufacturing-and-machinery/factory-automation-systems/
Principais tipos
• SCARA
– Amplamente usado em manufatura

Figura: http://www.directindustry.com/prod/staubli-robotics/scara-robot-4-axis-industrial-17645-232952.html
Principais tipos
• Parallel link
– Vantagem: todos motores ficam na base

Figra: http://www.parallemic.org/Reviews/Review002.html
Principais tipos

Figuras: http://robodoupe.cz/2012/aldebaran-robotics-nao/; http://www.pilotpresence.com/2013/03/want-to-join-the-next-willow-garage-


Comum
• Robô serial link de 6 eixos

Figura: http://www.directindustry.com/prod/abb-robotics/articulated-robot-handling-industrial-30265-169124.html#product-item_566367
Clássicos
Puma 560 (1978) Stanford arm (1969)

Figuras: http://www.professeurs.polymtl.ca/luc.baron/index.php?id=210&lg=a;
http://www.philadelphia.edu.jo/academics/mshabi/uploads/02%20kinematics-I.ppt
Braços robóticos
• Tipos de juntas
– Prismáticas (P)
– Rotacionais (R)
• Definição do robô
– Puma 560
• RRRRRR
– Stanford ARM
• RRPRRR
Envelope de trabalho

Figuras: http://jf505industrialrobotics.blogspot.com.br/2013/12/222-describe-cylindrical-robot.html ; https://www.exploregate.com/video.aspx?video_id=649


Envelopes de trabalho
• Catálogo FANUC
Cinemática direta: um robô simples
• Uma junta rotativa (2D)
– Um ângulo de rotação
• Transformação homogênea
• Rotação + translação Y
• E = R(q1) Tx(a1)
• x=a1.cos(q1)
• y=a1.sen(q1) (x,y)

q1
X
Robotics Toolbox
• a1=1
• q1=0.2 | q1=0 | q1 = pi/2
• trchain2(‘R(q1) Tx(a1)’,q1)
• syms q1 a1
– Repetir
• mdl_planar1
• P1.teach
Robô planar de 2 juntas
• Duas juntas rotativas
– Robô com duas juntas
• Qualquer posição em uma região, mas não qualquer
orientação
– E=R(q1)Tx(a1)R(q2)Tx(a2)
• Configurações para uma certa posição não são únicas!
Robô planar de 2 juntas
Y (x,y)

q2

q1
X
Robô planar de 2 juntas
• Toolbox
– a1=1; a2=1; q1=0.2; q2=0.3;
– trchain2('R(q1) Tx(a1) R(q2) Tx(a2)', [q1, q2])
– syms q1 q2 a1 a2
• Refazer
Robô planar – configurações
• Configurações versus posições
– Toolbox
• mdl_planar2
• p2.teach
• p2.plot([0 pi/2])
• p2.plot([pi/2 –pi/2])
Robô planar de 3 juntas
• Qualquer posição E qualquer orientação
– Serial Link, como quase todos
– Toolbox
• syms a1 a2 a3 q1 q2 q3
• E = R(q1) Tx(a1) R(q2) Tx(a2) R(q3) Tx(a3)
• mdl_planar3
• p3.teach
Robô 3D
• Robôs normalmente precisam operar em 3D
• SCARA
– Planar de 2 links + translação no eixo Z
SCARA

z
y

Figura adaptada de: http://www.eurobots.com.br/Scara-Robots-robots-Mitsubishi-Melfa-RH-10AH85-p68-pt.html


SCARA

z
y

E = Rz(q1) Tx(a1) Rz(q2) Tx(a2) Rz(q3) Tz(q4)

Figura adaptada de: http://www.eurobots.com.br/Scara-Robots-robots-Mitsubishi-Melfa-RH-10AH85-p68-pt.html


Robô articulado

Figura: http://www.trossenrobotics.com/p/PhantomX-Pincher-Robot-Arm.aspx
Robô articulado

E = Rz(q1) Tz(a1) Ry(q2) Tz(a2) Ry(q3) Tz(a3) Ry(q4) Tz(a4)


Figura: http://www.trossenrobotics.com/p/PhantomX-Pincher-Robot-Arm.aspx
Robô 3D genérico
• Tipicamente 6 juntas revolutas
• Manipuladores de elos seriais (serial links)
Espaço de configuração
• Configuração do robô
– Descrito por um vetor generalizado de juntas
– Cada elemento pode ser ângulo ou distância

• Espaço de configuração
– Espaço com as possíveis configurações das juntas
Espaço de trabalho
• Espaço de todas poses possíveis do efetuador
final (end effector)
– 2D -> (x,y)
• (x,y,theta)
– 3D -> (x,y,z)
• (x,y,z,roll, pitch, yaw)
Dimensões
• Graus de liberdade do robô
– Dimensão do espaço de configuração
• Graus de liberdade do espaço de trabalho
– (x,y) -> dimensão = 2
– (x,y,theta) -> dimensão = 3
– (x,y,z) -> dimensão = 3
– (x,y,z, row, pitch, yaw) -> dimensão = 6
• Máximo possível
Espaços de configuração e trabalho
• Para o robô atingir todo espaço de trabalho
– Dimensão do espaço de configuração >= dimensão do
espaço de trabalho
• 6-DOF
– Permite atingir qualquer posição e qualquer
orientação
Robô redundante
• Número maior de juntas
– Espaço de trabalho = 6
– Espaço de configuração = 100
– Robô redundante
– Qualquer posição, qualquer orientação + controle
da forma do braço

Figura: http://www.careerealism.com/career-robot-snake/
Notação de Denavit-Hartenberg
• Método padrão para descrever robôs de elos
seriais
• Cada junta é descrita por 4 parâmetros
Notação de Denavit-Hartenberg

Figura: Corke, P. Introduction to Robotics: vision and control. Página 138.


Notação de Denavit-Hartenberg

Figuras: Corke, P. Introduction to Robotics: vision and control. Página 138.


Notação de Denavit-Hartenberg

Figuras: Corke, P. Introduction to Robotics: vision and control. Página 139.


Link e SerialLink
• Link
– Objeto no Matlab para representar um elo do
robô
• SerialLink
– Conjunto de objetos do tipo “Link” encadeados
em série que formam um robô
Robô planar de 2 juntas

L(1) = Link([0 0 1 0]);


L(2) = Link([0 0 1 0]);
robo = SerialLink(L, 'name', 'robo');
robo.teach
robo.plot([0 0]); robo.fkine([0 0])
Figuras: Corke, P. Introduction to Robotics: vision and control. Página 141.
DH: Puma 560
• mdl_puma560
SerialLink
• Propriedades úteis
– .base
– .tool
– .fkine
– .ikine
DH: Puma 560

Figuras: Corke, P. Introduction to Robotics: vision and control. Página 172.


DH: Puma 560

Figuras: Corke, P. Introduction to Robotics: vision and control. Página 172.


DH: Puma 560

>> s = 'Tz(L1) Rz(q1) Ry(q2) Ty(L2) Tz(L3) Ry(q3) Tx(L6) Ty(L4) Tz(L5) Rz(q4) Ry(q5) Rz(q6)'

Figuras: Corke, P. Introduction to Robotics: vision and control. Página 172.


trchain2 para DH e SerialLink
>> dh = DHFactor(s);
Attempt to execute SCRIPT DHFactor as a function:
c:\MATLAB\robot-9.10_MOOC\rvctools\robot\DHFactor.m

>> javaaddpath c:\matlab\robot-9.10_MOOC\rvctools\robot\DH.jar


>> javaclasspath

>> s = 'Tz(L1) Rz(q1) Ry(q2) Ty(L2) Tz(L3) Ry(q3) Tx(L6) Ty(L4) Tz(L5) Rz(q4) Ry(q5)
Rz(q6)'
>> dh = DHFactor(s);
>> dh.display
>> cmd = dh.command('puma')
>> robot = eval(cmd)
Leitura recomendada
• Livro Peter Corke
– Capítulo 7
– Páginas 135 a 146

Anda mungkin juga menyukai