Escolar Documentos
Profissional Documentos
Cultura Documentos
2019/1 - Rev.1
1 Apresentação da disciplina
Contextualização
Ementa
Bibliografia
Avaliação
Sistemas digitais
Sistemas digitais
Definição
Sistema digital é uma combinação de dispositivos projetados para
manipular informação lógica ou quantidades fı́sicas representadas no
formato digital, ou seja, as quantidades podem assumir apenas valores
discretos. Esses dispositivos são, na maioria das vezes, eletrônicos,
mas odem ser mecânicos, magnéticos ou pneumáticos [Tocci, 2012];
Os sistemas digitais podem ser definidos como a combinação de
dispositivos eletrônicos projetados para manipular informação ou
grandezas fı́sicas [Castro, 2016].
Proposta do curso
Ementa
Introdução à mecatrônica
Conceitos fundamentais
Definições, elementos de sistemas mecatrônicos, nı́ves de automação.
Concepção e integração de sistemas mecatrônicos
Sistemas ativos e passivos, ciências e metodologia de projeto,
padronização e linguagens de programação, exemplos de aplicações.
Sensores industriais
Definições, principais tipos e aplicações.
Ementa
Introdução à robótica
Conceitos fundamentais
Definições, classificações de robôs, juntas, vı́nculos, graus de liberdade,
espaço de trabalho, especificação e programação de robôs.
Cinemática;
Frames, transformações homogêneas, cinemáticas direta e inversa para
posicionamento e orientação, representação Denavit-Hartenberg.
Movimentos diferenciais e velocidade;
Jacobiano, operador e transformações diferenciais.
Dinâmica e forças;
Mecânica Newtoniana versus mecânica Lagrangeana, análise estática.
Planejamento de trajetórias;
Trajetórias 3D vesus 4D, espaço de juntas e espaço cartesiano,
trajetórias polinomiais.
Análise e processamento de imagens para sistemas de visão;
Definições, análises espacial e frequencial, conectividade, segmentação,
morfologia.
Aplicações de controle.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 7 / 517
Apresentação da disciplina Ementa
Ementa
Bibliografia básica
Princı́pios de Mecatrônica
João Maurı́cio Rosário
Pearson Education do Brasil, 2005
A Mathematical Introduction to Robotic Manipulation
Richard M. Murray, Zexiang Li & S. Shankar Sastry
CRC Press, 1993
Modelling and Control of Robot Manipulators
L. Sciavicco & B. Siciliano
Springer, 1996
Introduction to Robotics - Analysis, Control, Applications - 2nd Ed.
Saeed B. Niku
John Wiley & Sons, Inc., 2005
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 8 / 517
Apresentação da disciplina Bibliografia
Bibliografia básica
Mechatronics an introduction
Robert A. Bishop
Taylor & Francis, 2006
Programmable logic controllers theory and implementation, 2nd Ed.
Luis Bryan & Eric Bryan
Industrial Text Company, 1997
Qualquer outro livro de mecatrônica e robótica
Avaliação
Serão aplicados:
Duas provas parciais (P1 e P2);
Testes, trabalhos e/ou seminários (TTS);
Trabalho final (TF);
Cálculo da nota final (NF):
N1 + N2
NF = × 40% + MTTS × 30% + NTF × 30%
2
Na qual:
N1 e N2 são as notas das P1 e P2;
MTTS é a média ponderada dos TTS;
NTF é a nota do TF;
Critério para aprovação:
NF ≥ 7 e PRESENÇA ≥ 85%.
Avaliação
Observações
Eventuais seminários e trabalhos parciais serão passados ao longo do
semestre, com datas de apresentação e entrega definidas;
Serão passadas listas de exercı́cios para prática do conteúdo abordado
em sala.
Datas
T1 - 10/04/19
SEMINÁRIO 1 - 17/04/19
P1 - 01/05/19
TESTE 2 - 15/05/19
P2 - 08/07/19
ENTREGA DO RELATÓRIO DO TRABALHO FINAL - 08/07/19
APRESENTAÇÃO DO TRABALHO FINAL - 10/07/19
2 Introdução à mecatrônica
Conceitos fundamentais
Concepção de sistemas mecatrônicos
Integração de sistemas automatizados
Sensores industriais
Introdução
Introdução
Introdução
Introdução
Introdução
Introdução
Introdução
Exemplos de aplicações
Sistemas mecatrônicos
Possibilidades
a Desenvolvimento do projeto
simplificação do sistema mecânico;
redução de tempo e custo de desenvolvimento;
facilidade de introduzir modificações ou novas capacidades;
flexibilidade para receber futuras modificações ou novas
funcionalidades.
b Desenvolvimento do produto
flexibilidade de operação (programabilidade);
inteligência (capacidade para sensoriamento e processamento das
informações, permitindo a adaptação a diferentes condições de
operação);
autodiagnóstico em caso de falhas;
redução do custo de manutenção e do consumo de energia;
elevado grau de precisão e confiabilidade.
Nı́veis de automação
1 Componente
Circuitos integrados, sensores, atuadores, mecanismos
2 Máquina
Máquinas de usinagem, medição, inspeção, movimentação, embalagem
3 Sistema
FMS (sistemas flexı́veis de manufatura), FAS (sistemas de automação
de fábrica), CIM (sistemas integrados de manufatura)
Pirâmide de automação
2 Introdução à mecatrônica
Conceitos fundamentais
Concepção de sistemas mecatrônicos
Integração de sistemas automatizados
Sensores industriais
Introdução
2 Introdução à mecatrônica
Conceitos fundamentais
Concepção de sistemas mecatrônicos
Integração de sistemas automatizados
Sensores industriais
Introdução
O que é um sistema?
Qualquer coleção de interação de elementos que funciona para
alcançar um objetivo comum e que evolui com o tempo
[Castrucci, 1981, David, 1992];
Conjunto complexo de coisas diversas que, ordenadamente
relacionadas entre si, contribuem para determinado objetivo ou
propósito [DeMarco, 1979];
Conjunto de elementos dinamicamente relacionados entre si, que
desempenham uma atividade para atingir um objetivo, operando
sobre entradas (informação, energia ou matéria) e fornecendo saı́das
(informação, energia ou matéria) processadas [Gane, 1979].
Normalmente utilizada:
Automatismos combinatórios
Automatismos seqüenciais
Devem:
a. Possuir uma base formal, objetivando interpretação exata;
Tipos de expressões
◮ Expressões de atribuição de valor:
Var1:= Var2;
◮ Expressões de seleção (if, then, else, case etc.):
Tipos de expressões
◮ Expressões de controle do fluxo do programas (return, exit etc.)
◮ Expressões relacionadas a funções e blocos funcionais:
Principais elementos:
Bobinas:
Bobinas inversas.
Bobinas sensı́veis à borda de subida ou descida.
Bobinas de memorização .
Bobinas de set/reset.
Temporizadores:
’On delay’.
’Off delay’.
Do tipo pulso.
Figura: Blocos funcionais com (a) Uma linha de ativação e uma de saı́da (b)
Uma linha de ativação, um comando de partida por temporizador e duas saı́das
[Bryan, 1997]
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 87 / 517
Introdução à mecatrônica Integração de sistemas automatizados
Matriz ladder
Matriz ladder
Matriz ladder
Y = (A • B • C ) + (A • D • E ) + (F • E )
| {z } | {z } | {z }
Primeira linha Segunda linha Terceira linha
Y = A • (B • C + D • E ) + (F • E )
Logo, a lógica é:
Y = (A • B • C ) + (A • D • E ) + (F • E ) + (F • D • B • C )
| {z } | {z } | {z } | {z }
Primeira linha Segunda linha Terceira linha Reverso em D
Y = A • (B • C + D • E ) + F (E + D • B • C )
S = P •R +Q R +T
Instrução NO
Figura: Instrução NO com (a) zero lógico no endereço de referência e com (b)
um lógico no endereço de referência [Bryan, 1997]
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 98 / 517
Introdução à mecatrônica Integração de sistemas automatizados
Instrução NC
Figura: Instrução NC com (a) zero lógico no endereço de referência e com (b) um
lógico no endereço de referência [Bryan, 1997]
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 99 / 517
Introdução à mecatrônica Integração de sistemas automatizados
Bobina de saı́da
Figura: Bobina de saı́da com (a) zero lógico no endereço de referência e com (b)
um lógico no endereço de referência [Bryan, 1997]
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 100 / 517
Introdução à mecatrônica Integração de sistemas automatizados
Bobina de saı́da
Y = (A + C ) • B
Uma instrução do tipo latch faz com que uma saı́da permaneça
energizada mesmo se o status do contato que gerou a ativação dessa
saı́da mudar. Uma saı́da desse tipo será mantida ON até que uma
instrução de unlatch seja recebida;
Uma instrução de unlatch refresca uma saı́da com o mesmo endereço
de referÊncia que esteja ”fechada” (latched).
Opera de maneira similar a uma bobina de saı́da, porém fica ativa por
apenas um ciclo de clock ou menos;
É utilizada para refrescar condições em uma varredura.
Contato de transição
Avaliação de varredura
Figura: Mesma lógica do Exemplo [?], porém com a ordem das linhas invertida.
O processador deve executar quatro varreduras até energizar a saı́da 103
[Bryan, 1997]
Ladder program
Para que uma saı́da tenha efeito em uma outra linha durante a mesma
varredura, ela deve ser posicionada antes deste última no diagrama;
Figura: Fluxo de potência para a lógica com (a) PB1 não pressionada e (b) PB1
pressionada [Bryan, 1997].
Figura: Fluxo de potência para a lógica com (a) PB1 não pressionada e (b) PB1
pressionada [Bryan, 1997].
Temporizadores e contadores
Temporizadores
Tipos de temporizadores
Contadores
Tipos de contadores
Controle de fluxo
Goto subroutine
Operações aritiméticas
Soma
Figura: Soma nos formatos (a) bobina, (b) contato e (c) bloco [Bryan, 1997].
Soma
Soma
Figura: O conteúdo dos registradores 1000, 1001, 1002 e 103 serão somados aos
conteúdos de 1200, 1201, 1202 e 1203 e os resultados armazenados em 1400,
1401, 1402 e 1403 [Bryan, 1997].
Soma
Soma
Soma
Figura: Exemplo 2.23. A instrução ADD está sempre ativa [Bryan, 1997].
Subtração
Subtração
Subtração
Subtração
Figura: Bloco de subtração usado para (a) Ler uma entrada analógica e (b)
Escrever uma saı́da analógica [Bryan, 1997].
Multiplicação
Multiplicação
Divisão
Divisão
Raiz quadrada
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Matriz lógica
Realiza operações E, OU, OU-Exclusivo, NÃO-E, NÃO-OU e/ou NOT
em dois ou mais registradores;
Pode ser utilizada para mascarar alguns bits de um registrador;
Um sinal do tipo Enable inicia a operação, o bloco matriz lógica
especifica o tipo de operação e o usuário especifica os registradores.
Manipulações de dados
Manipulações de dados
Manipulações de dados
Conversão de dados
Instruções desse tipo modificam o conteúdo de um registrador de um
formato para outro;
Instruções tı́picas: BCD para binário, binário para BCD, absoluto,
complemento, inversão.
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Manipulações de dados
Figura: Bloco funcional que examina o bit 10 do registrador 100 para um status
ON (XBON) ou OFF(XBOFF) [Bryan, 1997]
Elementos do Grafcet
Elementos do Grafcet
As ações a serem realizadas quando uma etapa está ativa são descritas
de modo literal ou simbólico no interior de um retângulo a esta
associado; portanto. torna-se necessário representar uma etapa ativa
em um instante determinado, o que é feito por meio da colocação de
uma marca na parte inferior do sı́mbolo que a representa.
Uma etapa pode estar conectada a duas ou mais transições que serão
testadas em um mesmo instante. De acordo com a avaliação de suas
receptividades, elas podem ou não ser ativadas.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 167 / 517
Introdução à mecatrônica Integração de sistemas automatizados
Salto de etapas
Retomada de etapas
2 Introdução à mecatrônica
Conceitos fundamentais
Concepção de sistemas mecatrônicos
Integração de sistemas automatizados
Sensores industriais
Sensores e transdutores
Sensores e transdutores
Aplicações de sensores
Variáveis de medida
Variáveis de medida
Resumindo
Contı́nuo, discreto
Qualificação da natureza do sinal com relação ao tempo.
Analógico, digital
Qualificação da natureza do sinal com relação a amplitude.
Sinal binário: É um sinal digital que pode assumir somente dois valores na
escala: 0 ou 1.
Caracterı́sticas
Figura: Série de medidas: (a) com erro aleatório apenas e (b) com erro aleatório
mais sistemático. Cada traço indica o resultado de uma medida [Balbinot, 2010]
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Sensibilidade e resolução
Geralmente a resolução evidencia as limitações do hardware, como o
número de dı́gitos em um multı́metro ou o número de bits em um
conversor analógico digital, enquanto a sensibilidade evidencia a
caracterı́stica do sensor ou transdutor
VFaixa de entrada 5
RAD = o = = 0, 0196V/bit
2N de bits − 1 255
Como o enunciado indica que a faixa de saı́da de 0 a 1V tem relação linear
com a faixa de variação de temperatura de 0 a 100o C, pode-se montar
uma regra de proporcionalidade simples:
1V → 100o C
0, 0196 → Xo C
Portanto, X=1,96o C.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 200 / 517
Introdução à mecatrônica Sensores industriais
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Caracterı́sticas
Classes de proteção
Exemplo:
Classes de proteção
Classes de proteção
Sensores de proximidade
Elementos:
Receptor: Elemento fotossensı́vel tal como fototransistor, fotodiodo,
ou LDRs (resistores variáveis pela luz);
Emissor: Pode ser um LED (Diodo Emissor de Luz) ou uma
lâmpada.
Principais caracterı́sticas
Não requerem contato mecânico para sensoriamento;
Não apresentam partes móveis;
Apresentam pequenas dimensões;
Apresentam chaveamento seguro;
São insensı́veis a vibrações e choques;
Apresentam muitas configurações disponı́veis;
Requerem sempre alinhamento;
Podem ser blindados para serem usados em ambientes com alto grau
de luminosidade (setores de soldagem, por exemplo);
Normalmente exigem limpeza e isolamento de pó e umidade.
Princı́pio de funcionamento
Princı́pio de funcionamento:
Exemplo de aplicação
Detecção de funções
abertura/fechamento
Detecção de um atuador
semi-rotativo
Detecção de pallets num esteira
Detecção de fim de curso de
cilindros
Sensores capacitivos
Sensores capacitivos
Constantes dielétricas
Tipos de potenciômetro
Transformadores rotativos
Encoders ópticos
São compostos por discos de vidro ou plástico que giram entre uma
fonte de luz (LED) e um par de fotodetectores. Assim, o disco é
codificado com setores alternados de transparência e opacidade,
gerando pulsos de luz e escuridão quando na rotação do disco.
Tacômetros
Tacômetros
b. diferenciador ou integrador;
Tacômetros
um tubo de Pitot;
mola (manômetro);
a. velocidade longitudinal;
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Robótica
O que é robótica?
É a arte, base de conhecimento e know-how de projetar, aplicar e usar
robôs em empreendimentos humanos;
Um sistema robótico consiste não apenas de robôs, mas também de
outros instrumentos e/ou sistemas utilizados em conjunto com eles;
Robôs podem ser utilizados em ambientes fabris, exploração espacial,
exploração subaquática, auxı́lio à pessoas deficientes fı́sicas, lazer, etc;
Robôs podem ser úteis em inúmeras aplicações, porém devem ser
programados e controlados;
A robótica é uma área interdisciplinar, que envolve as engenharias
mecânica, elétrica, eletrônica e da computação, além de
eventualmente outras áreas tais como biologia, ciências cognitivas,
dentre outras.
Robôs
(a) (b)
Componentes de um robô
Manipulador
Parte principal da estrutura do robô que consiste de elos, juntas e
outros elementos estruturais. Sem esses outros elementos, o
manipulador não é um robô.
Efetuador
É conectado à última junta do manipulador que, geralmente, lida com
objetos, conecta o robô a outras máquinas ou realiza as tarefas
desejadas. Geralmente os fabricantes dos robôs manipuladores não
fornecem o efetuador. Dada a sua especificidade (ferro de solda, pistola
de tinta, ponta para depósito de cola, etc), o efetuador é geralmente
integrado ao manipulador robótico, que normalmente vem equipado
com uma garra.
Atuadores
Movem as juntas e os elos do robô.
Sensores
Obtém informações do estado interno do robô (sensores internos) ou
do ambiente (sensores externos).
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 258 / 517
Introdução à robótica Fundamentos de robótica
Componentes de um robô
Controlador
Controla os movimentos do robô de maneira coordenada com as
informações dos sensores.
Processador
É o cérebro do robô. Calcula os movimentos das juntas, determina
como e em que velocidade as juntas devem se mover para alcançar as
posição e velocidade desejadas e supervisiona a atuação coordenada do
controlador e dos sensores.
Programas
Sistema operacional, software robótico (calcula informações
cinemáticas e envia para o controlador) e rotinas orientadas à aplicação
(montagem, carregamento, visão computacional, etc).
Tipos de juntas
Tipos de juntas
Tipos de juntas
Tipos de juntas
Tipos de juntas
Tipos de juntas
Algumas tarefas são realizadas em domı́nio que têm menos de seis graus
de liberdade. A colocação de componentes em placas de circuito impresso
é um exemplo. As placas são geralmente planares e contêm peças de
várias alturas. Posicionar peças em uma superfı́cie planar requer três graus
de liberdade (x, y e θ). A fim de erguer e inserir peças, um quarto
movimento, normal ao plano, é inserido (z).
Peças com um eixo de simetria também reduzem os graus de liberdade
necessários para o manipulador. Por exemplo, peças cilı́ndricas podem, em
muitos casos, serem apanhadas e inseridas independentemente da
orientação da garra com respeito ao eixo do cilindro.
N = 3 × (B − 1) − 2nJ1 − nJ2
Na qual
N é o número de graus de liberdade;
B é o número total de corpos, incluı́ndo o solo;
nJ1 é o número total de juntas com 1DOF;
nJ2 é o número total de juntas com 2DOF.
Se
N = 0 O sistema é denominado estático;
N > 0 O sistema é dito com ”N” graus de liberdade;
N < 0 O sistema é denominado hiperestático.
B = 2
nJ1 = 1
nJ2 = 0
N = 3 × (2 − 1) − 2(1) − 0 = 1 DOF
−
→
P = Le jθ
= L × [cos(θ) + j sen(θ)]
= L × cos(θ)−
→
x + sen(θ)−
→
y
B = 3
nJ1 = 2
nJ2 = 0
N = 3 × (3 − 1) − 2(2) − 0 = 2 DOF
−
→
P = L1 e jθ1 + L2 e jθ2
= L1 × [cos(θ1 ) + j sen(θ1 )] +
L2 × [cos(θ2 ) + j sen(θ2 )]
= L1 × cos(θ1 )−
→
x + sen(θ1 )−
→
y +
L2 × cos(θ2 )−
→
x + sen(θ2 )−
→
y
Figura: [Becker, 2010]
Diagramas cinemáticos
Ao se analisar o movimento de uma máquina ou mecanismo, é geralmente
difı́cil visualizar o movimento dos componentes em um desenho completo.
É mais fácil representar os mecanismos em forma de ”esqueleto” de tal
maneira que apenas as dimensões que influenciam no movimento são
apresentadas.
Esses desenhos simplificados são denominados diagramas cinemáticos.
Eles têm propósito semelhante aos dos circuitos elétricos, por exemplo, no
sentido de que representam apenas as variáveis que afetam a função
primária de interesse, deixando de lado tudo o que é imaterial para a
análise.
Um diagrama cinemático deve ser desenhado em uma escala proporcional
ao mecanismo real.
Diagramas cinemáticos
Diagramas cinemáticos
5 Diagrama cinemático
5 Diagrama cinemático
Casos especiais
5 Diagrama cinemático
Configurações cinemáticas
Configurações cinemáticas
Configurações cinemáticas
Configurações cinemáticas
Cartesiana
Configurações cinemáticas
Cilı́ndrica
Configurações cinemáticas
Esférica
Configurações cinemáticas
Articulada
Configurações cinemáticas
SCARA
Cinemática
Espaço de trabalho
Dinâmica
Geração de trajetórias
Modos de programação
Carga útil (Payload ) Peso que o robô pode carregar enquanto mantém
suas outras caracterı́sticas;
Alcance (Reach) Distância máxima que o robô pode alcançar dentro do
seu envelope de trabalho;
Exatidão Função da resolução dos atuadores e dos dispositivos de
realimentação do robô, a exatidão está relacionada com a
capacidade do robô em atingir um ponto bem definido;
Repetitividade Relacionada à exatidão com que o robô consegue alcançar
uma mesma posição caso o movimento seja repetido várias
vezes.
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Convenções
Vetores i, j, k, x, y, z, n, o, a, p
Componentes de vetores nx , ny , nz , ax , ay , az
Eixos Fx,y ,z , Fn,o,a , xyz, noa, Fcamera
Transformações T1 , T2 ,u T ,B P,U TR
ax
P = by
cz
px = pn
py = l1 − l2 = p0 cos θ − pa sin θ
= l3 + l4 = p0 sin θ + pa cos θ
pz
px 1 0 0 pn
py = 0 cos θ − sin θ po
pz 0 sin θ cos θ pa
Matrizes de rotação
1 0 0 C θ 0 Sθ
Rot(x, θ) = 0 C θ −Sθ Rot(y , θ) = 0 1 0
0 Sθ Cθ −Sθ 0 C θ
C θ −Sθ 0
Rot(z, θ) = Sθ C θ 0
0 0 1
Dado:
B
T
P = 0, 0 2, 0 0, 0
1
Y
0.5
X
0
Z
-0.5
Z
-1
1
0.5 1
0
-0.5 0
Y -1 -1
X
A ordem das rotações é importante. Isso era esperado, uma vez que
usa-se matrizes para representar rotações, e a multiplicação de
matrizes, em geral não é comutativa.
No Matlab:
R1 = rotx(90)*roty(90);
R2 = roty(90)*rotx(90);
trplot(R1)
hold on
trplot(R2,’color’,’red’)
1
Y
0.5
X
Z
Y
0
Z
-0.5 Z
-1
X
1
1
0 0.5
0
-0.5
-1 -1
Y X
Fator de escala
Px
Py Px Py Pz
P=
Pz ax = , by = cz =
w w w
w
2 0
Entretanto, para tornar o vetor unitário, deve-se normalizar o comprimento
para que seja igual a 1. Para tal, cada componente do vetor é dividida
pela raiz quadrada da soma dos quadrados das três componentes.
q
λ= Px2 + Py2 + Pz2 = 6, 16
3
6,16 0, 487
5 0, 811
6,16
P= 2 =
0, 324
6,16
0 0
p
Nota-se que λ = 0, 4872 + 0, 8112 + 0, 3242 = 1
0, 371 1, 855
0, 557 2, 785
q=
0, 743 = p = q × 5 = 3, 715
0 1
Sistemas n-o-a
nx ox a x px
ny oy a y py
F=
nz
oz a z pz
0 0 0 1
nx ox a x px
ny oy a y py
Fobject =
nz
oz a z pz
0 0 0 1
Restrições
Representação de transformações
Translação pura
Rotação pura ao redor de um eixo;
Uma combinação de rotações e/ou translações.
Translação pura
0 0 0 1 1
1
3
=
−7
Transformações combinadas
Exemplo 3.12
1 Rotação de α graus ao redor do eixo x;
2 Translação [l1 , l2 , l3 ] relativa aos eixos x, y e z, respectivamente;
3 Rotação de β graus ao redor do eixo y .
Dado:
3, 0
B
P = 7, 0
0, 0
AP é:
A
T
P =A B
B T P = 9, 098 12, 562 0, 000
0 0 0 1
Dado: T
A
P1 = 3, 0 7, 0 0, 0
Usando T como operador:
A
T
P2 = T A P1 = 9, 098 12, 562 0, 000
0 0 0 1
0 0 0 1 0 0 0 1
Nessas: U é o frame do Universo, R o da base do robô, H é o frame da
mão, E é o frame do efetuador e cam é o frame da câmera.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 309 / 517
Introdução à robótica Cinemática de robôs
Na qual:
1 0 0 0 0 1 0 0
H
0 1 0 0 5
−1 0 0 0
TE−1 =
0
TH−1 =
0 1 −3 0 0 1 −4
0 0 0 1 0 0 0 1
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 309 / 517
Introdução à robótica Cinemática de robôs
ou
−1 0 0 −2
E
0 1 0 1
Tobj =
0
0 −1 −4
0 0 0 1
Coordenadas cartesianas
R
Tp = Tcart (px , py , pz )
1 0 0 px
0 1 0 py
=
0
0 1 pz
0 0 0 1
Coordenadas cilı́ndricas
R
Tp = Tcyl (r , α, l )
C α −Sα 0 rC α
Sα C α 0 rSα
=
0
0 1 l
0 0 0 1
Solução inversa
l=7
rC α = 3 e rSα = 4 assim sendo , tan(α) = 4/3 e α = 53.1◦
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 315 / 517
Introdução à robótica Cinemática de robôs
1 0 0 −2.394
0 1 0 6.578
T =
0
0 1 9
0 0 0 1
Solução:
Como r é sempre positivo, fica claro que Sα e C α são positivos e
negativos, respectivamente. Portanto, α está no segundo quadrante.
l =9
6.578
tan(α) = = −2.748 → α = 180◦ − 70◦ = 110◦
−2.394
r sin(α) = 6.578 → r = 7
Coordenadas esféricas
C βC γ −Sγ SβC γ rSβC γ
R
C βC γ C γ SβSγ rSβSγ
Tp =
−Sβ
0 Cβ rC β
0 0 0 1
Solução inversa
rSβC γ = 3
rSβSγ = 4
rC β = 7
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 319 / 517
Introdução à robótica Cinemática de robôs
Coordenadas articuladas
Ângulos RPY
Ângulos RPY
Solução inversa
Use:
Ângulos de Euler
Solução inversa
Use:
Exemplo 3.23
A orientação final desejada para a mão de um robô Cartesiano-Euler é
dada. Encontre os ângulos de Euler necessários.
nx ox ax px 0.579 −0.548 −0.604 5
= 0.540 0.813 −0.220 7
R
ny oy ay py
TH =
nz oz az pz 0.611 −0.199 0.766 3
0 0 0 1 0 0 0 1
Nota-se que tanto os senos quanto os cossenos de 20◦ e 200◦ podem ser
usados para o restante,
Representação D-H
Representação D-H
Representação D-H
Representação D-H
Representação D-H
Representação D-H
n
Tn+1 = An+1 =
Rot(z, θn+1 ) × Trans(0, 0, dn+1 ) × Trans(an+1 , 0, 0) × Rot(x, αn+1 )
C θn+1 −Sθn+1 0 01 0 0 0
Sθn+1
Cn+1 0×0
0 1 0 0
0 0 1
0 0 0 1 dn+1
0 0 1 00 0 0 1
1 0 0 an+1 1 0 0 0
0 1 0 0 0 C αn+1 −Sαn+1 0
×0 0
×
1 0 0 Sαn+1 C αn+1 0
0 0 0 1 0 0 0 1
Representação D-H
D-H Representation
Exemplo 3.25
Para o robô de 2 eixos apresentado na figura, atribua os sistemas de
coordenadas necessários com base na representação D-H, preencha a
tabela de parâmetros e deduza as equações cinemáticas diretas para o
robô.
Exemplo 3.25
Ambas as juntas giram no plano x-y e um frame xH − zH mostra o
final do robô. Dá-se inı́cio atribuindo os eixos z para as juntas. z0 é
atribuı́do à junta 1, e z1 à junta 2. A figura mostra os dois eixos z
apontando para fora da página (assim como os eixos zU e zH ). O
frame 0 é fixo e não se move. O robô se move em relação a ele;
Em seguida, deve-se atribuir os eixos x para cada frame. Como o
primeiro frame (frame 0) está na base do robô e, portanto, não há
juntas antes dele, a direção de x0 é arbitrária. Por conveniência,
pode-se optar por atribuı́-lo na mesma direção que o eixo x do frame
do Universo. Não há problema se outra direção for escolhida, pois,
tudo o que isso significa é que, caso U TH seja especificado ao invés
de 0 TH , uma rotação adicional deveria ser incluı́da para indicar que os
eixos xU e x0 não são paralelos.
Exemplo 3.25
Como z0 e z1 são paralelos, a normal comum entre eles é na direção
entre os dois e x1 é tal como apresentado na figura;
Para identificar os parâmetyros D-H, deve-se seguir as quatro
transformações necessárias para passar de um frame para outro, de
acordo com a convensão:
1. Giro ao redor de z0 por um ângulo de θ1 para tornar x0 paralelo a x1 ;
2. Como x0 e x1 estão no mesmo plano, a translação de d ao longo do
eixo z0 é zero;
3. Translação ao longo do eixo x0 (já rotacionado) a uma distância a1 ;
4. Como z0 e z1 são paralelos, a rotação α ao redor de x1 é zero.
O mesmo procedimento é repetido para realizar a transformação entre
os frames 1 e H.
Como há duas juntas de revolução, as duas incógnitas são também
ângulos de junta θ1 e θ2 .
Exemplo 3.25
Tabela: Parametros D-H para o Exemplo 3.25.
# θ d a α
0-1 θ1 0 a1 0
1-H θ2 0 a1 0
Exemplo 3.25
Usando as funções
C1 C2 − S1 S2 = C (θ1 + θ2 ) = C12 e
S1 C2 + C1 S2 = S(θ1 + θ2 ),
a transformação pode ser simplificada para:
C12 −S12 0 a2 C12 + a1 C1
0
S12 C12 0 a2 S12 + a1 S1
TH =
0
0 1 0
0 0 0 1
Exemplo 3.26
Atribua os frames requeridos ao robô de 4 eixos e escreva uma equação
para descrever U TH .
Exemplo 3.26
Este exemplo apresenta um robô com um ângulo de torção, um
deslocamento de junta, e uma junta de dupla ação representada pelo
mesmo eixo z;
Ao aplicar o procedimento padrão, chega-se a:
Exemplo 3.26
E a transformação total é:
1 0 0 l1
0 1 0 l2
U
TH = U T0 × 0 TH =
0
× A1 A2 AH
0 1 0
0 0 0 1
Exemplo 3.27
Encontre uma expressão simbólica para as variáveis de juntas do robô do
Exemplo 3.25.
Solução: A equação cinemática direta do robô é apresentada a
seguir. Suponha que deseja-se colocar o robô em uma posição e uma
orientação dada como vetores n, o, a, p:
C12 −S12 0 a2 C12 + a1 C1 nx ox ax px
0
S12 C12 0 a2 S12 + a1 S1
= ny
oy ay py
TH = A1 × A2 =
0 0 1 0 nz oz az pz
0 0 0 1 0 0 0 1
Como esse robô tem apenas dois graus de liberdade, sua solução é
relativamente simples. Pode-se determinar os ângulos algebricamente ou
através do desacoplamento das incógnitas.
Exemplo 3.27
I. Solução Algébrica: Equacionando os elementos (2,1), (1,1), (1,4) e
(2,4) das duas matrizes, tem-se:
Exemplo 3.27
II. Solução Alternativa: Neste caso, pós-multiplica-se os lados da
equação por A−1
2 para separar θ1 de θ2 . Tem-se:
nx ox ax px nx ox ax px
ny oy ay py ny oy ay py
A1 ×A2 ×A−1
2 = −1
×A ou A1 = ×A−1
nz oz az pz 2 nz oz az pz 2
0 0 0 1 0 0 0 1
C1 −S1 0 a1 C1 nx o x ax px C2 −S2 0 −a2
S1
C1 0 a1 S1 ny oy ay py S2 C2
= × 0 0
0 0 1 0 nz o z az pz 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1
C1 −S1 0 a1 C1 C2 nx − S2 ox S2 nx + C2 ox ax px − a2 nx
S1
C1 0 a1 S1 C2 ny − S2 oy S2 ny + C2 oy ay
= py − a2 ny
0 0 1 0 C2 nz − S2 oz S2 nz + C2 oz az pz − a2 nz
0 0 0 1 0 0 0 1
Exemplo 3.27
Dos elementos 1,4 e 2,4 obtém-se a1 C1 = px − a2 nx e
a1 S1 = py − a2 ny que é exatamente o que foi obtido através do outro
método. Sabendo S1 e C1 , pode-se encontrar expressões para S2 e C2 .
Degeneração
Degeneração
Destreza
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Relações diferenciais
Em forma matricial:
vBx −l1 sen(θ1 ) − l2 sen(θ1 + θ2 ) −l2 sen(θ1 + θ2 ) θ̇1
=
vBy l1 cos(θ1 ) + l2 cos(θ1 + θ2 ) l2 cos(θ1 + θ2 ) θ̇2
O significado do Jacobiano
O significado do Jacobiano
O significado do Jacobiano
yi = f i (x1 , x2 , x3 , ..., xj )
As derivadas são:
δ f1 δ f1 δ f1
δγ1 = δx1 δx1 + δx2 δx2 + ... + δxj δxj
δ f2 δ f2 δ f2
δγ2 =
δx1 δx1 + δx2 δx2 + ... + δxj δxj
..
.
δ fi δ fi δ fi
δγi = δx1 δx1 + δx2 δx2 + ... + δxj δxj
Jacobiano
δ f1 δ f1 δ f1
δγ1 δx1 δx2 δxj δx1
δ f
δγ2 2
δx1 ... ... ...
δx2 hδ f i
. = . .. ou δγi = δxji δxj
.. ..
.
δ fi δ fi
δγi δ δxj
δxi
1
Jacobiano de um robô
Ou:
[D] = [J][Dθ ]
Exemplo 3.28
O jacobiano de um robô em um determinado momento é dado a seguir.
Calcule os movimentos diferenciais linear e angular da mão do robô para
os movimentos diferenciais apresentados para as juntas.
2 0 0 0 1 0 0
−1 0 1 0 0 0 0.1
0 1 0 0 0 0 −0.1
J= 0 0 0 2 0 0
Dθ = 0
0 0 1 0 0 0 0
0 0 0 0 0 1 2
Exemplo 3.28
Solução: Substituindo as matrizes acima na equação abaixo:
dx dθ1
dy
Jacoiano dθ2
dz dθ3
= do robô or [D] = [J][Dθ ]
δx dθ4
δy dθ5
δz dθ6
Tem-se:
2 0 0 0 1 0 0 0 dx
−1 0 1 0 0 0 0.1 −0.1 dy
0 1 0 0 0 0 −0.1 = 0.1 = dz
[D] = [J][Dθ ] =
0
0 0 2 0 0 0 0
δx
0 0 1 0 0 0 0 −0.1 δy
0 0 0 0 0 1 0.2 0.2 δz
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 357 / 517
Introdução à robótica Movimentos diferenciais e velocidades
Translações diferenciais
Exemplo 3.29
Um frame B sofreu uma translação diferencial de Trans(0.01, 0.05, 0.03)
unidades. Encontre as suas novas localização e orientação.
0.707 0 −0.707 5
0 1 0 4
B = 0.707 0 0.707 9
0 0 0 1
Exemplo 3.29
Solução: Como o movimento diferencial foi de translação apenas, a
orientação do frame não é afetada. A nova localização do frame é:
1 0 0 0.01 0.707 0 −0.707 5
0 1 0 0.05 0 1 0 4
B= 0 0 1 0.03 × 0.707 0 0.707 9
0 0 0 1 0 0 0 1
0.707 0 −0.707 5.01
0 1 0 4.05
B= 0.707 0 0.707 9.03
0 0 0 1
sen(δx) = δx em radianos
cos(δx) = 1
1 0 0 0 1 0 0 0
0 1 −δx 0 0 1 −δn 0
Rot(x, δx) = 0 δx
Rot(n, δn) =
1 0 0 δn 1 0
0 0 0 1 0 0 0 1
1 0 δy 0 1 0 δo 0
0 1 0 0 0 1 0 0
Rot(y , δy ) =
−δy 0 1
Rot(o, δo) =
0 −δo 0 1 0
0 0 0 1 0 0 0 1
1 −δz 0 0 1 −δa 0 0
δz 1 0 0 δa 1 0 0
Rot(z, δz) = 0
Rot(a, δa) =
0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
Vejamos ...
Rot(x, δx)Rot(y , δy ) =
1 0 0 0 1 0 δy 0 1 0 δy 0
0 1 −δx 0 0 1 0 0 δxδy 1 −δx 0
=
0 δx 1 0 −δy 0 1 0 −δy δx 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Rot(x, δx)Rot(y , δy ) =
1 0 0 0 1 0 δy 0 1 0 δy 0
0 1 −δx 0 0 1 0 0 0 1 −δx 0
=
0 δx 1 0 −δy 0 1 0 −δy δx 1 0
0 0 0 1 0 0 0 1 0 0 0 1
Exemplo 3.30
Encontre a transformação diferencial total causada por pequenas rotações
em torno dos três eixos de δx = 0.1, δy = 0.05, δz = 0.02 radianos.
Solução: Substituindo as rotações dadas na equação abaixo:
1 −δz δy 0
δz 1 −δx 0
Rot(q, dθ) = Rot(x, δx)Rot(y , δy )Rot(z, δz) =
−δy δx 1 0
0 0 0 1
Obtém-se:
1 −δz δy 0 1 −0.02 0.05 0
δz 1 −δx 0
= 0.02 1 −0.1 0
Rot(q, dθ) =
−δy
δx 1 0 −0.05 0.1 1 0
0 0 0 1 0 0 0 1
Exemplo 3.30
Transformações diferenciais
Ou:
Na qual:
Operador diferencial
Exemplo 3.31
Determine o efeito de uma rotação diferencial de 0.1 rad ao redor do eixo
y seguido por uma translação diferencial de [0.1, 0, 0.2] no frame B.
0 0 1 10
1 0 0 5
B=
0
1 0 3
0 0 0 1
Exemplo 3.31
Solução: A mudança no frame pode ser encontrada multiplicando-se
à esquerda o operador diferencial. Substituindo as informações dadas
e multiplicando as matrizes, obtém-se:
Para dx = 0.1, dy = 0, dz = 0.2, δx = 0, δy = 0.1, δz = 0.
0 0 0.1 0.1 0 0 1 10
0 0 0 0 1 0 0 5
[dB] = [∆][B] =
−0.1 0 0 0.2 0 1 0 3
0 0 0 0 0 0 0 1
0 0.1 0 0.4
0 0 0 0
=
0 0 −0.1 −0.8
0 0 0 0
A mudança diferencial
Exemplo 3.32
Encontre a localização e a orientação do frame B do Exemplo (3.31) após
o movimento.
Solução: As novas localização e orientação do frame podem ser
encontradas adicionando-se as alterações aos valores originais. O
resultado é:
Bnovo = Boriginal + dB
0 0 1 10 0 0.1 0 0.4 0 0.1 1 10.4
1 0 0 5 + 0 0 0 0 = 1 0 0 5
=0
1 0 3 0 0 −0.1 −0.8 0 1 −0.1 2.2
0 0 0 1 0 0 0 0 0 0 0 1
T
δx = δ · n
T
δy = δ · o
T
δz = δ · a
T
dx = n · [δδ × p + d]
T
dy = o · [δδ × p + d]
T
dz = a · [δδ × p + d]
Exemplo 3.33
Encontre B ∆ para o Exemplo (3.31).
n = [0, 1, 0] o = [0,0,1] a = [1,0,0] p = [10,5,3]
δ = [0,0.1,0] d = [0.1,0,0.2]
i j k
δ × p = 0 0.1 0 = [0.3, 0, −1]
10 5 3
δ × p + d = [0.3, 0, −1] + [0.1, 0, 0.2] = [0.4, 0, −0.8]
B
dx = n · [δδ × p + d] = 0(0.4) + 1(0) + (−0.8) = 0
B
dy = n · [δδ × p + d] = 0(0.4) + 0(0) + 0(−0.8) = −0.8
B
dz = n · [δδ × p + d] = 1(0.4) + 0(0) + 0(−0.8) = 0.4
B
δx = δ · n = 0(0) + 0.1(1) + 0(0) = 0.1
B
δy = δ · o = 0(0) + 0.1(0) + 0(1) = 0
B
δz = δ · a = 0(1) + 0.1(0) + 0(0) = 0
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 371 / 517
Introdução à robótica Movimentos diferenciais e velocidades
Exemplo 3.33
Exemplo 3.33
Substituindo na equação:
0 −T δz T
δy T
dx
T
T δz 0 −T δx T
dy
[ ∆] = [T ] [∆][T ] = T
−1 T T
− δy δx 0 dz
0 0 0 0
Obtém-se:
B
d = [0, −0.8, 0.4] e B δ = [0.1, 0, 0]
0 0 0 0
B
0 0 −0.1 −0.8
∆= 0 0.1
0 0.4
0 0 0 0
Observa-se que os valores de B ∆ não são iguais a ∆. No entanto, a
pós-multiplicação da matriz B por B ∆ produzirá o mesmo resultado
dB de antes.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 371 / 517
Introdução à robótica Movimentos diferenciais e velocidades
Cálculo do Jacobiano
Cálculo do Jacobiano
T6
J1i = (−nx py + ny px )
T6
J2i = (−ox py + oy px )
T6
J3i = (−ax py + ay px )
T6
J4i = nz
T6
J5i = oz
T6
J6i = az
Cálculo do Jacobiano
T6
J1i = nz
T6
J2i = oz
T6
J3i = az
T6
J4i = 0
T6
J5i = 0
T6
J6i = 0
Cálculo do Jacobiano
Exemplo 3.34
Encontre os elementos T6 J e T6 J do jacobiano para um braço robótico
11 41
simples com 6DOF.
Solução: Para calcular dois elementos da primeira coluna do
jacobiano, é necessário usar a matriz A1 A2 ...A6 , que para o robô em
questão é tal como segue:
nx ox ax 0
R
ny oy ax 0
TH = A 1 A 2 A 3 A 4 A 5 A 6 =
nz oz az 0 =
0 0 0 1
Exemplo 3.34
RT =
H
−C234 C5 C6
C1 (C234 C5 C6 − S234 S6 ) C1
−S234 C6
C1 (C234 S5 )
C1
C234 a4 + C23 a3
−S1 S5 C6 +S1 C5 +C2 a2
+S1 S5 S6
−C234 C5 C6
S1 (C234 C5 C6 − S234 S6 ) S1 S1 (C234 S5 ) C234 a4 + C23 a3
−S234 C6 S1
+C1 S5 C6 −C1 C5 +C2 a2
−C1 S5 S6
S C C +C S −S234 C5 C6 S234 a4 + S23 a3
234 5 6 234 6 S234 S5
+C234 C6 +S2 a2
0 0 0 1
Exemplo 3.34
Usando os valores correspondentes de n, o, a, p e a equação para
juntas de revolução, obtém-se:
T6
J11 = (−nx py + ny px )
= −[C1 (C234 C5 C6 − S234 S6 ) − S1 S5 C6 ] × [S1 (C234 a4 + C23 a3 + C2 a2 )]
+[S1 (C234 C5 C6 − S234 S6 ) + C1 S5 C6 ] × [C1 (C234 a4 + C23 a3 + C2 a2 )]
= S5 C6 (C234 a4 + C23 a3 + C2 a2 )
T6
J41 = nz = S234 C5 C6 + C234 S6
Exemplo 3.35
Os movimentos diferenciais aplicados ao frame (T1 ), descrito como
D = [dx, δy , δz]T , e as posição e orientação finais resultantes, (T2 ), de
um robô 3 − DOF são dadas a seguir, assim como o jacobiano
correspondente. Faça o que se pede:
(a) Encontre o frame original T1 antes que os movimentos diferenciais
tenham sido aplicados a ele;
(b) Encontre T ∆. É possı́vel obter a mesma mudança em T1 executando
os movimentos diferenciais em relação ao frame?
−0.03 1 −0.02 4.97
0.01 1 5 10 0
0.03 0 8.15
D = 0.02 T2 =
0
J = 3 0 0
−0.02 −1 9.9
0.03 0 1 1
0 0 0 1
Exemplo 3.35
Solução:
dT = T2 − T1 = ∆ · T1 → T2 = (∆ + I ) · T1 e T1 = (∆ + I )−1 · T2
Exemplo 3.35
T1 (aproximadamente)
0 1 0 5
1 0 0 8
T1 =
0
0 0 10
0 0 0 1
Então:
0 0.03 0 0.15
T
−0.03 0 −0.02 −0.03
∆ = T1−1 ∆ · T1 =
0
0.02 0 0.1
0 0 0 0
Jacobiano inverso
[D] = [J][Dθ ]
−1
[J ][D] = [J −1 ][J][Dθ ]
[Dθ ] = [J −1 ][D]
De modo similar
Jacobiano inverso
px S1 = py C1
dpx S1 + px C1 dθ1 = dpy C1 − py S1 dθ1
dθ1 (px C1 + py S1 ) = −dpx S1 + dpy C1
−dpx S1 + dpy C1
dθ1 =
(px C1 + py S1 )
Embora esta equação seja grande, todos os seus elementos são conhecidos
e dθ3 pode ser determinado.
Nota-se que há seis equações diferenciais que resultam em seis valores
diferenciais para juntas a partir dos quais as velocidades podem ser
calculadas. O controlador do robô pode ser programado com essas
equações, as quais permitem que o mesmo calcula rapidamente
velocidades e comande o robô adequadamente.
Exemplo 3.36
Uma câmera é anexada ao frame da mão TH de um robô tal como
apresentado a seguir e o Jacobiano inverso do robô nesta posição é
também descrito.
1 0 0 0 0 0
0 1 0 3 2
0 −1 0 0 0
1 0 0 2 0 −0.2 0 0 0 0
TH =
0
J −1 =
0 −1 8 0
−1 0 0 1 0
0 0 0 1 0 0 0 1 0 0
1 0 0 0 0 1
Exemplo 3.36
(a) Determine quais juntas devem fazer um movimento diferencial, e por
quanto, para criar os movimentos diferenciais indicados;
(b) Encontre a mudança no frame da mão;
(c) Determine a nova localização da câmera depois do movimento
diferencial;
(d) Determine quantos movimentos diferenciais deveriam ser feitos para
mover o robô para o mesmo local da parte (c), em relação ao frame
TH .
Exemplo 3.36
Substituindo os valores nas equações correspondentes, obtém-se:
(a)
1 0 0 0 0 0 0.05 0.05
2 0 0 0 0
−1 0 0.02
0 −0.2 0 0 0 0 −0.1 0
Dθ = J −1 · D
0
× =
−1 0 0 1 0 0.1
0
0 0 0 1 0 0 0.1 0
1 0 0 0 0 1 0.03 0.08
Assim, pode-se dizer que as articulações 1, 2, 4 e 6 precisam ser movidas
conforme mostrado.
Exemplo 3.36
(b) A mudança no frame da mão é:
0 −0.03 0.1 0.05 0 1 0 3
0.03 0 0 0 1
0 0 2
dT = ∆ · T = −0.1 ×
0 0 −0.1 0 0 −1 8
0 0 0 0 0 0 0 1
−0.03 1 −0.1 0.79
0 0.03 0 0.09
= 0
−0.1 0 −0.4
0 0 0 0
Exemplo 3.36
(c) A nova localização da câmera é:
Tnova = Tantiga + dT
0 1 0 3 −0.03 0 −0.1 0.79
1 0 0 2 0 0.03 0 0.09
=
0 0 −1 8 + 0
−0.1 0 −0.4
0 0 0 1 0 0 0 0
−0.03 1 −0.1 3.79
1 0.03 0 2.09
=
0
−0.1 −1 7.6
0 0 0 1
Exemplo 3.36
(d) T∆ = T −1 · ∆ · T = T −1 · dT
0 1 0 −2 −0.03 0 −0.1 0.79
1 0 0 −3 0 0.03 0 0.09
= 0 0 −1 8 × 0
−0.1 0 −0.4
0 0 0 1 0 0 0 0
0 0.03 0 0.09
−0.03 0 −0.1 0.79
= 0
0.1 0 0.4
0 0 0 0
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Introdução
Introdução
Visão
Visão humana
Soberbamente eficiente;
Detecta rapidamente padrões em uma cena
Persepção
Visão computacional
Conceitos básicos
Conceitos básicos
Conceitos básicos
Conceitos básicos
Conceitos básicos
Uma imagem digital é composta por pontos discretos de tons e/ou cores,
ou brilho, e não por uma variação contı́nua.
Conceitos básicos
Conceitos básicos
Resolução e quantização
Resolução e quantização
Série de Fourier:
∞
X
x(t) = A0 + An cos (nω0 t + θn )
n=1
Exemplo 3.37
Exemplo 3.37
Exemplo 3.37
Teorema da amostragem
Amostragem de um sinal:
Teorema da amostragem
Reconstrução de um sinal:
Várias possibilidades existem
Aliasing
Teorema da amostragem
Exemplo 3.38
(a) 16 x 16 (b) 32 x 32
Histograma
(a) (b)
Equalização de histograma
Expande o histograma para que inclua uma faixa maior de dos nı́veis
de cinza disponı́veis.
(c) (d)
Limiarização
Limiarização multimodal
Exemplo 3.39
(a) (b)
(c) (d)
Limiarização multimodal
Exemplo 3.39
(e) (f)
(g) (h)
Conectividade
(a) (b)
(c) (d)
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 402 / 517
Introdução à robótica Análise e processamento de imagens com sistemas de visão
Média de imagens
1. Imagem original
2. Corrompida por ruı́do
(a) (b)
3. Filtro com mediana
3x3
4. Filtro com mediana
7x7
(c) (d)
Detecção de bordas
Detecção de bordas
δI δI
▽I = ,
δx δy
s 2 2
δI δI
(▽I )magnitude = +
δx δy
2 δ2 I δ2 I
▽ I = ,
δx 2 δy 2
Detecção de bordas
f (x + dx)
f ′ (x) = lim
dx→0 dx
dx em uma imagem é um pixel;
Derivada simplifica para
F ′ (x) = F (x + 1) − F (x)
[−1 1]
Detecção de bordas
Detecção de bordas
Detecção de bordas
Exemplo 3.40
Detecção de bordas
(a) Imagem original
(b) Laplaciano 1
(c) Laplaciano 2
(d) Operador Sobel
(e) Bordas Robert (a) (b)
Detecção de bordas
Técnica direita-esquerda:
Se o pixel está ON, vire a esquerda;
Se o pixel está OFF, vire a direita;
Técnica de ”escrituração” simples;
Gera bordas contı́nuas;
Pode ser feita manualmente.
Transformada de Hough
Transformada de Hough
Transformada de Hough
(a) (b)
Segmentação
Duas abordagens:
Aumentar regiões com atributos similares (faixa de valores de nı́veis de
cinza, por exemplo);
Dividir a imagem em regiões menores usando suas diferenças (exemplo:
limiarização).
Regiões são formadas ao redor de pixels núcleos através de
conectividade de vizinhança;
Sucessivamente, regiões são combinadas em regiões maiores com base
em algum outro atributo ou regra.
Segmentação
Exemplo 3.41
Operação de espessamento
Dilatação
Erosão
Esquelização
Esquelização
Outras operações
Aberta: Uma erosão seguida por uma dilatação, para suavizar partes
convexas da forma;
Fechada: Uma dilatação seguida por uma erosão, para suavizar
partes côncavas da forma;
Preenchimento: Preenche espaços no plano de frente (objeto).
Análise de imagens
Fineza
(perı́metro)2 diâmetro
1. Fineza = 2. Fineza =
área área
Momentos
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 419 / 517
Introdução à robótica Análise e processamento de imagens com sistemas de visão
Momentos
X
Ma,b = x ay b
x,y
Momentos
Especificamente:
P 0 0
M0,0 = x y = area. Pode ser usado para identificar um objeto.
P 0 1
M0,1 = x y = Primeiro momento da área com relação ao eixo x.
P
y M0,1
ȳ = area = M0,0 Localização do centro da área com relação ao eixo x.
Imageamento estéreo
Iluminação especial
Example 3.2
Codificação preditiva
Basea-se na teoria de que, em imagens repetitivas, apenas as novas
informações (inovações) precisam ser amostradas, quantificadas e
transmitidas.
A transmissão de dados pode ser significativamente reduzida se
apenas as alterações entre imagens sucessivas forem transmitidas.
Um preditor é usado para prever um valor ótimo para cada pixel com
base nas informações obtidas das imagens anteriores.
A inovação é a diferença entre os valores reais e previstos.
Este valor é transmitido pelo sistema para atualizar a imagem anterior.
Técnicas de compressão
Imagens coloridas
Heurı́stica
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Caminho x Trajetória
Figura: (a) Uma trajetória especificada no espaço cartesiano pode levar o robô a
bater em si mesmo (b) A trajetória pode requerer mudanças bruscas nos ângulos
de juntas [Niku, 2011].
θ(ti ) = θi θ̇(ti ) = θf
θ̇(ti ) = 0 θ̇(tf ) = 0
4 incógnitas podem ser calculadas, portanto um polinômio de terceira
ordem.
θ(t) = c0 + c1 t + c2 t 2 + c3 t 3
θ̇(t) = c1 + 2c2 t + 3c3 t 2
θ(ti ) = c0 = θi
θ(tf ) = c0 + c1 tf + c2 tf2 + c3 tf3 = 0
θ̇(ti ) = c1 = 0
θ̇(tf ) = c1 + 2c2 tf + 3c3 tf2 = 0
Exemplo 3.42
Deseja-se que a primeira junta de um robô de 6 eixos parta do ângulo
inicial de 30◦ para um ângulo final de 75◦ em 5 segundos. Utilizando um
polinômio de terceira ordem, calcule o ângulo da junta em 1, 2, 3 e 4
segundos.
Solução:
Substituindo as condições de contorno na equação abaixo, obtém-se:
θ(t i ) = c0 = 30
c0 = 30
θ(t ) = c + c (5) + c (52 ) + c (53 ) = 75
c = 0
f 0 1 2 3 1
→
θ̇(ti ) = c1 = 0
c2 = 5.4
θ̇(t ) = c + 2c (5) + 3c (52 ) = 0
c = −0.72
f 1 2 3 3
Exemplo 3.42
Exemplo 3.42
80
Posição
70 Velocidade
Aceleração
60
50
40
30
20
10
-10
-20
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tempo (s)
Exemplo 3.43
Suponha que o braço do robô do Exemplo 3.42 deva continuar até o
próximo ponto, onde a junta deve alcançar 105◦ em outros 3 segundos.
Desenhe as curvas de posição, velocidade e aceleração para o movimento.
Solução:
Na conclusão do primeiro segmento, tem-se conhecimento das
posição e velocidade da junta. Usando esses valores como condições
iniciais para o próximo segmento, tem-se:
θ(t) = c0 + c1 t + c2 t 2 + c3 t 3
θ̇(t) = c1 + 2c2 t + 3c3 t 2
θ̈(t) = 2c2 + 6c3 t
nas quais:
em ti = 0, θi = 75 θ̇i = 0
em tf = 3, θf = 105 θ̇f = 0
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 445 / 517
Introdução à robótica Planejamento de trajetórias
Exemplo 3.43
O que leva a:
c0 = 75 c1 = 0 c2 = 10 c3 = −2.222
2 3
θ(t) = 75 + 10t − 2.222t
θ̇(t) = 20t − 6.666t 2
θ̈(t) = 20 − 13.332t
Exemplo 3.43
120
Posição
100 Velocidade
Aceleração
80
60
40
20
-20
0 1 2 3 4 5 6 7 8
Tempo (s)
Exemplo 3.43
Para garantir que as acelerações do robô não excedam suas
capacidades, limites de aceleração podem ser usados para calcular o
tempo necessário para alcançar o alvo. Nesse caso, para θ̇i = 0 e
θ̇f = 0, a aceleração máxima será.
6(θf − θi )
|θ̈|max =
(tf − ti )2
θ(t) = c0 + c1 t + c2 t 2 + c3 t 3 + c4 t 4 + c5 t 5
θ̇(t) = c1 + 2c2 t + 3c3 t 2 + 4c4 t 3 + 5c5 t 4
θ̈(t) = 2c2 + 6c3 t + 12c4 t 2 + 20c5 t 3
Utiliza-se as equações para gerar trajetórias para cada junta com base
nos dados calculados a partir da cinemática inversa.
Exemplo 3.44
Repita o Exemplo 3.42, assumindo que a aceleração inicial e a
desaceleração final sejam 5◦ /s 2 .
Usando as equações:
θ(t) = c0 + c1 t + c2 t 2 + c3 t 3 + c4 t 4 + c5 t 5
θ̇(t) = c1 + 2c2 t + 3c3 t 2 + 4c4 t 3 + 5c5 t 4
θ̈(t) = 2c2 + 6c3 t + 12c4 t 2 + 20c5 t 3
Exemplo 3.44
c0 = 30 c1 = 0 c2 = 2.5
c3 = 1.6 c4 = −0.58 c5 = 0.0464
Exemplo 3.44
A figura apresenta os gráficos de posição, aceleração e velocidade
para a junta. A aceleração máxima é 8.7◦ /s 2 .
80
Posição
70 Velocidade
Aceleração
60
50
40
30
20
10
-10
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
Tempo (s)
1
θ(t) = c0 + c1 t + c2 t 2
2
θ̇(t) = c1 + c2 t
θ̈(t) = c2
e
1 2
θ(t) = θi + 2 c2 t
θ̇(t) = c2 t
θ̈(t) = c2
1
θA = θi + c2 tb2
2
θ̇A = c2 tb = ω
θB = θA + ω((tf − tb ) − tb ) = θA + ω(tf − 2tb )
θ˙B = θ̇A = ω
θf = θB + (θA − θi )
θ̇f = 0
2(θf − θi )
ωmax =
tf
Exemplo 3.45
A junta 1 do robô de 6 eixos do Exemplo 3.42 deve ir do ângulo inicial de
θi = 30◦ para o ângulo final de θf = 70◦ em 5 segundos com uma
velocidade de ω1 = 10◦ /s. Determine o tempo necessário para a
cominação e faça o gráfico das posições, velocidades e acelerações das
juntas.
Solução::
θ i − θ f + ω 1 tf 30 − 70 + 10(5)
tc = = = 1s
ω1 10
Das equações:
1 2
θ(t) = θi + 2 c2 t
θ̇(t) = c2 t
θ̈(t) = c2
Exemplo 3.45
2
θ(t) = 30 + 5t
Para θ = θi a θA → θ̇(t) = 10t
θ̈(t) = 10
θ(t) = θA + 10(t − 1)
Para θ = θA a θB → θ̇(t) = 10
θ̈(t) = 0
2
θ(t) = 70 − 5(5 − t)
Para θ = θB a θf → θ̇(t) = 10(5 − t)
θ̈(t) = −10
Exemplo 3.45
θ(t)1 = a0 + a1 t + a2 t 2 + a3 t 3 + a4 t 4
θ(t)2 = b0 + b1 t + b2 t 2 + b3 t 3
θ(t)2 = c0 + c1 t + c2 t 2 + c3 t 3 + c4 t 4
Elas são:
1 A posição inicial é conhecida;
2 A velocidade inicial pode ser especificada;
3 A aceleração inicial pode ser especificada;
4 A posição do primeiro ponto de passagem é conhecida, e é igual a
posição final do primeiro segmento de quarta ordem;
5 A posição do primeiro ponto de passagem é a mesma posição inicial do
segmento de terceira ordem para continuidade;
6 Velocidade contı́nua deve ser mantida nos pontos de passagem;
7 Aceleração contı́nua deve ser mantida nos pontos de passagem.
Elas são:
8 A posição do segundo (e dos outros) pontos de passagem é
especificada e é a mesma posição final do segmento de terceira ordem;
9 A posição do segundo (e dos outros) pontos de passagem é a mesma
posição inicial do próximo segmento para continuidade;
10 Velocidade contı́nua deve ser mantida no próximo ponto de passagem;
11 Aceleração contı́nua deve ser mantida no próximo ponto de passagem;
12 A posição do destino é especificada;
13 A velocidade no destino é especificada;
14 A aceleração no destino é especificada.
Denotando:
t como o tempo global (variável normalizada para o movimento
completo);
τj tempos especı́ficos locais para cada segmento j;
E assumindo:
O instante de tempo de inı́cio local τji para cada segmento é zero;
O instante de tempo de término local τjf para cada segmento é
especificado;
Ou seja, assumindo que cada segmento começa no instante de tempo
local zero e termina em um instante de tempo definido, os segmentos
4-3-4 e as suas derivadas podem ser escritos na forma matricial como
segue:
Ou simplesmente:
[θ] = [M][C ]
[C ] = [M]−1 [θ]
Essa equação pode ser utilizada para mover uma junta com base em
uma trajetória 4-3-4;
Exemplo 3.46
Um robô deve ser conduzido de uma posição inicial através de dois pontos
de passagem antes de atingir seu destino final usando uma trajetória do
tipo 4 − 3 − 4. As velocidades e duração para os três segmentos são dadas
a seguir para uma das juntas. Determine as equações de trajetória e faça
os gráficos das posições, velocidade e aceleração para a junta.
Exemplo 3.46
O resultado é:
a0 = 30 b0 = 50 c0 = 90
a1 =0 b1 = 20.477 c1 = −13.81
a2 =0 b2 = 0.714 c2 = −9.286
a3 = 4.881 b1 = −0.833 c3 = 9.643
a4 = −1.191 c4 = −2.024
E os três segmentos são:
3 4
θ(t)1 = 30 + 4.881t + 1.191t
0<t≤2
θ(t)2 = 50 + 20.477t + 0.714t 2 − 0.833t 3 0<t≤4
θ(t)3 = 90 − 13.81t − 9.286t 2 − 9.643t 3 − 2.024t 4 0<t≤2
Exemplo 3.46
Tf = Ti R
−1
Ti Tf = Ti−1 Ti R
R = Ti−1 Tf
D = JDθ e Dθ = J −1 D
dT = ∆·T
Tnovo = Tantigo + dT
Exemplo 3.47
Um robô planar come 2 DOF segue uma linha reta entre os pontos inicial
(3, 10) e final (8, 14) do segmentos de movimento. Encontre as variáveis
das juntas do o robô se o caminho estiver dividido em 10 seções. Cada
vı́nculo tem 9 polegadas de comprimento.
Solução: A linha reta entre os pontos inicial e final no espaço
cartesiano pode ser descrita por:
y − 14 14 − 10
m= = = 0.8 ou y = 0.8x + 7.6
x −8 8−3
As coordenadas dos pontos intermediários podem ser encontradas
simplesmente dividindo as diferenças entre os valores x e y dos pontos
inicial e final. Os resultados são apresentados a seguir.
Exemplo 3.47
Exemplo 3.47
120
Junta 1
100 Junta 2
80
Graus
60
40
20
0
0 2 4 6 8 10 12
Número do segmento da trajetória
Exemplo 3.48
Um robô com 3 DOF tem dois vı́nculos, cada um com 9 polegadas de
comprimento. Os frames das juntas são tais que, quando todos os ângulos
são zero, o braço aponta para cima. As equações cinemáticas inversas do
robô são dadas abaixo. Deseja-se mover o robô do ponto (9, 6, 10) para o
ponto (3, 5, 8) ao longo de uma linha reta. Encontre os ângulos das três
juntas para cada ponto intermediário e faça o gráfico dos resultados.
−1 Px
θ1 = tan
Py
2
Py 2 − 162
C1 + (P z − 8)
θ3 = cos−1
162
−1 C1 (Pz − 8)(1 + C3 ) + Py S3
θ2 = cos
18(1 + C3 )C1
Exemplo 3.48
Exemplo 3.48
Solução: Dividindo a distância entre o inı́cio e o final em 10
segmentos iguais (embora, na realidade, dividir-se-ia o caminho em
muitos outros segmentos), pode-se encontrar as coordenadas de cada
ponto intermediário. As equações cinemáticas inversas são usadas
para calcular os ângulos de junta para cada ponto intermediário.
Exemplo 3.48
Exemplo 3.48
160
Junta 1
140 Junta 2
Junta 3
120
100
Graus
80
60
40
20
0
0 2 4 6 8 10 12
Número do segmento da trajetória
Gravação de trajetórias
3 Introdução à robótica
Fundamentos de robótica
Cinemática de robôs
Movimentos diferenciais e velocidades
Análise e processamento de imagens com sistemas de visão
Planejamento de trajetórias
Análise dinâmica e forças
Introdução
Introdução
Projeto de robôs
Para acelerar os elos, são necessários atuadores capazes de exercer
forças e torques de magnitude grande o suficiente nas juntas e elos
para movê-los co aceleração e velocidades desejadas;
Para calcular as forças e torques necessários, deve-se determinar as
relações dinâmicas que governam a movimentação do robô
(força-massa-aceleração e torque-inércia-aceleração angular);
Baseado nessas equações e considerando cargas externas ao robô,
pode-se calcular as cargas máximas às quais os atuadores serão
submetidos.
Mecânica Newtoniana
Mecânica Lagrangeana
Relações de Lagrange
δ δL δL
Fi = −
δt δẋi δxi
δ δL δL
Ti = −
δt δθ̇i δθi
Nas quais:
Fi é a soma de todas as forças externas para movimento linear;
Ti é a soma de todos os torques externos para movimento angular;
θi e xi são variáveis do sistema.
Portanto, para obter as equações de movimento, é necessário obter as
equações de energia para o sistema e depois derivar o Lagrangiano de
acordo com as Equações acima.
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 477 / 517
Introdução à robótica Análise dinâmica e forças
Exemplo 3.49
Derive a relação de força e aceleração para o sistema com 1DOF
apresentado na figura, usando tanto a mecânica lagrangeana quanto a
mecânica Newtoniana. Suponha que as rodas tenham inércia
insignificante.
Exemplo 3.49
1 2 1 2
K = mv = mẋ
2 2
1 2 1 1
P = kx → L = K − P = mẋ 2 − kx 2
2 2 2
F = mẍ + kx
Exemplo 3.49
Para resolver o problema com a mecânica Newtoniana, pode-se
desenhar o diagrama de corpo livre do carrinho e resolver para forças
como segue:
X
F = ma
Fx − kx = max → Fx = max + kx
Exemplo 3.49
Chega-se, portanto, ao mesmo resultado.
Para este sistema simples, a mecânica Newtoniana aparenta ser mais
simples.
Exemplo 3.50
Derive as equações de movimento para o sistema com 2 DOF apresentado
abaixo.
Exemplo 3.50
A energia cinética do sistema é composta pelas energias cinéticas do
carrinho e do pêndulo. A velocidade do pêndulo é a soma da
velocidade do carrinho e do pêndulo em relação ao carrinho, ou:
vp = vc + vp/c = (ẋ)i + (l θ̇ cos θ)i + (l θ̇ sen θ)j
= (ẋ + l θ̇ cos θ)i + (l θ̇ sen θ)j
vp2 = (ẋ + l θ̇ cos θ)2 + (l θ̇ sen θ)2
Assim sendo:
K = Kcarrinho + Kpêndulo
1
Kcarrinho = m1 ẋ 2
2
1 h i
Kpêndulo = m2 (ẋ + l θ̇ cos θ)2 + (l θ̇ sen θ)2
2
1 1
K = (m1 + m2 )ẋ 2 + m2 (l 2 θ̇ 2 + 2l θ̇ẋ cos θ)
2 2
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 479 / 517
Introdução à robótica Análise dinâmica e forças
Exemplo 3.50
Da mesma forma, a energia potencial é a soma das energias
potenciais na mola e no pêndulo, ou:
1 2
p= kx + m2 gl (1 − cos θ)
2
A linha de energia potencial zero (datum) é escolhida em θ = 0◦ . O
Lagrangiano é:
1 1
L= K −P = (m1 + m2 )ẋ 2 + m2 (l 2 θ̇ 2 + 2l θ̇ẋ cos θ)
2 2
1 2
− kx − m2 gl (1 − cos θ)
2
Exemplo 3.50
As derivadas e a equação de movimento relacionada ao movimento
linear são:
∂L
= (m1 + m2 )ẋ + m2 l θ̇ cos θ
∂ ẋ
d ∂L
= (m1 + m2 )ẍ + m2 l θ̈ cos θ − m2 l θ̇ 2 sen θ
dt ∂ ẋ
∂L
= −kx
∂x
F = (m1 + m2 )ẍ + m2 l θ̈ cos θ − m2 l θ̇ 2 sen θ + kx
Exemplo 3.50
E para movimentos rotacionais:
∂L
= m2 l 2 θ̇ + m2 l ẋ cos θ
∂ θ̇
d ∂L
= m2 l 2 θ̈ + m2 l ẍ cos θ − m2 l ẋ θ̇ sen θ
dt ∂ θ̇
∂L
= −m2 gl sen θ − m2 l θ̇ẋ sen θ
∂θ
T = m2 l 2 θ̈ + m2 l ẍ cos θ + m2 gl sen θ
Exemplo 3.50
F (m1 + m2 ) m2 l cos θ ẍ 0 −m2 l sen θ ẋ 2
= +
T m2 l cos θ m2 l 2 θ̈ 0 0 θ̇ 2
kx
+
m2 gl sen θ
Exemplo 3.51
Usando o método do Lagrangeano, derive as equações de movimento para
o braço robótico com 2DOF a seguir. Considere que o centro de massa de
cada vı́nculo está no seu centro.
Exemplo 3.51
Primeiro, calcula-se a velocidade do centro de massa do vı́nculo 2,
diferenciando sua posição:
Exemplo 3.51
1 ˙2 1 ˙ 2 1
K = K1 + K2 = IA θ1 + ID θ1 + θ˙2 + m2 vD 2
2 2 2
2 1
1 1 2 2 1 1 2 ˙ ˙ 2
= m1 l1 θ̇1 + m2 l2 θ1 + θ2 + m2 vD
2 2 2 12 2
Substituindo-se a equação anterior nesta última tem-se:
2 1 1 1 1
K = θ1˙ 2 2 2
m1 l1 + m2 l2 + m2 l1 + m2 l1 l2 C2
6 6 2 2
2 1 1 1
+θ2˙ 2 ˙ ˙
m2 l2 + θ1 θ2 2
m2 l2 + m2 l1 l2 C2
6 3 2
Exemplo 3.51
E o Lagrangeano para o braço robótico é:
L=K− P
1 1 1 1 2 1
L = θ̇12 m1 l12 + m2 l22 + m2 l12 + m2 l1 l2 C2 + θ˙2 m2 l22
6 6 2 2 6
˙ ˙ 1 2 1 l1 l2
+θ1 θ2 m2 l2 + m2 l1 l2 C2 − m1 g S1 − m2 g l1 S1 + S12
3 2 2 2
Exemplo 3.51
1 1
T1 = m1 l12 + m2 l12 + m2 l22 + m2 l1 l2 C2 θ¨1
3 3
1 1 ¨ ˙ ˙ 1 2
+ 2
m2 l2 + m2 l1 l2 C2 θ2 − (m2 l1 l2 S2 )θ1 θ2 − m2 l1 l2 S2 θ˙2
3 2 2
1 1
+ m1 + m2 gl1 C1 + m2 gl2 C12
2 2
1 1 ¨ 1
T2 = 2
m2 l2 + m2 l1 l2 C2 θ1 + m2 l2 θ¨2
2
3 2 3
1 2 1
+ m2 l1 l2 S2 θ˙1 + m2 gl2 C12
2 2
Exemplo 3.51
Que podem ser escritas na forma matricial como:
1
T1 1
+ m2 l12 + 13 m2 l22 + m2 l1 l2 C2
2
3 m1 l 1 3 m2 l22 + 21 m2l1 l2 C2 θ¨1
=
T2 1
m
3 2 2l 2
+ 1
m l l
2 2 1 2 2 C 1
m
3 2 2l 2
θ¨2
" 2#
0 1
− 2 m2 l1 l2 S2 θ˙1 −(m2 l1 l2 S2 ) 0 θ˙1 θ˙2
+ 2 +
1
2 m2 l1 l2 S2 0 θ˙2 0 0 θ˙2 θ˙1
1 1
+ 2 m1 + m2 gl1 C1 + 2 m2 gl2 C12
1
2 m2 gl2 C12
Será discutido:
Energia cinética;
Energia potencial;
Lagrangiano;
Derivação;
Observações.
Energia cinética
1 1
K = mvG2 + ωhG
2 2
Energia cinética
Energia cinética
Energia cinética
Energia cinética
Energia cinética
pi = R Ti ri = 0 Ti ri
Energia cinética
Como vi tem três componentes de ẋi , ẏi e żi , pode ser escrito como
uma matriz 3 X 3 como segue:
2
ẋi ẋ i ẋ i ẏ i ẋ i ż i
vi viT = ẏi ẋi ẏi żi = ẏi ẋi ẏi2 ẏi żi
żi żi ẋi żi ẏi żi2
E
ẋi2 ẋi ẏi ẋi żi
Traço vi , viT = Traço ẏi ẋi ẏi2 ẏi żi = żi2 + ẏi2 + żi2
żi ẋi żi ẏi żi2
Energia cinética
Energia cinética
Portanto:
Z xi Z
y
ri riT dmi = i [xi yi zi 1] dmi
z i
1
Energia cinética
R 2 R R R
xi R xi dmi R xi y2i dmi R xi zi dmi R xi dmi
Z
yi yi xi dmi
R yi dmi R yi z2i dmi R yi dmi
xi
zi yi zi 1 dmi = R
zi xi dmi
Ryi zi dmi R zi dmi Rzi dmi
R
1 xi dmi yi dmi zi dmi dmi
Sabendo que:
Z Z Z Z
2 1 2 2 1 2 2 1
x dm = − (y + z )dm + (x + z )dm + (x 2 + y 2 )dm
2 2 2
Z Z Z Z
2 1 2 2 1 2 2 1
y dm = (y + z )dm − (x + z )dm + (x 2 + y 2 )dm
2 2 2
Z Z Z Z
2 1 2 2 1 2 2 1
z dm = (y + z )dm + (x + z )dm − (x 2 + y 2 )dm
2 2 2
Energia cinética
Z
1
x 2 dm = − (−Ixx + Iyy + Izz )
2
Z
1
y 2 dm = (Ixx − Iyy + Izz )
2
Z
1
z 2 dm = (Ixx + Iyy − Izz )
2
Portanto:
1
2 (−Ixx + Iyy + Izz )i Iixy Iixz mi x̄i
1
Iixy 2 (Ixx − Iyy + Izz )i Iiyz mi ȳi
Ji = 1
Iixz Iiyz 2 (Ixx + Iyy − Izz )i mi z̄i
mi x̄i mi ȳi mi z̄i mi
Energia cinética
Energia potencial
Lagrangiano
O Lagrangiano é:
n i i n
1 XXX 1X
L= K −P = Traço Uip Ji UirT q̇p q̇r + Ii (atuadores) q̇i2
2 2
i =1 p=1 r =1 i =1
n h
X
0
i
− −mi g T · Ti r¯i
i =1
Equações de movimento
n
X n X
X n
Ti = Dij q̈j + Ii (atuadores) q̈i + Dijk q̇j q̇k + Di
j=1 j=1 k=1
n
X
T
Dij = Traço Upj , Jp , Upi
p=max(i ,j)
Xn
T
Dijk = Traço Upjk , Jp , Upi
p=max(i ,j,k)
Xn
Di = −mp g T Upi r¯p
p=i
Equações de movimento
Equações de movimento
T1 = D11 θ̈1 + D12 θ̈2 + D13 θ̈3 + D14 θ̈4 + D15 θ̈5 + D16 θ̈6 + I1(atuadores) θ̈1
+D111 θ̇12 + D122 θ̇22 + D133 θ̇32 + D144 θ̇42 + D155 θ̇52 + D166 θ̇62
+2D112 θ̇1 θ̇2 + 2D113 θ̇1 θ̇3 + 2D114 θ̇1 θ̇4 + 2D115 θ̇1 θ̇5 + 2D116 θ̇1 θ̇6
+2D123 θ̇2 θ̇3 + 2D124 θ̇2 θ̇4 + 2D125 θ̇2 θ̇5 + 2D126 θ̇2 θ̇6 + 2D134 θ̇3 θ̇4
+2D135 θ̇3 θ̇5 + 2D136 θ̇3 θ̇6 + 2D145 θ̇4 θ̇5 + 2D146 θ̇4 θ̇6 + 2D156 θ̇5 θ̇6 + D1
Equações de movimento
T2 =D21 θ̈2 + D22 θ̈2 + D23 θ̈3 + D24 θ̈4 + D25 θ̈5 + D26 θ̈6 + I2(atuadores) θ̈2
+D211 θ̇12 + D222 θ̇22 + D233 θ̇32 + D244 θ̇42 + D255 θ̇52 + D266 θ̇62
+2D212 θ̇1 θ̇2 + 2D213 θ̇1 θ̇3 + 2D214 θ̇1 θ̇4 + 2D215 θ̇1 θ̇5 + 2D216 θ̇1 θ̇6
+2D223 θ̇2 θ̇3 + 2D224 θ̇2 θ̇4 + 2D225 θ̇2 θ̇5 + 2D226 θ̇2 θ̇6 + 2D234 θ̇3 θ̇4
+2D235 θ̇3 θ̇5 + 2D236 θ̇3 θ̇6 + 2D245 θ̇4 θ̇5 + 2D246 θ̇4 θ̇6 + 2D256 θ̇5 θ̇6 + D2
T3 =D31 θ̈1 + D32 θ̈2 + D33 θ̈3 + D34 θ̈4 + D35 θ̈5 + D36 θ̈6 + I3(act) θ̈3
+D311 θ̇12 + D322 θ̇22 + D333 θ̇32 + D344 θ̇42 + D355 θ̇52 + D366 θ̇62
+2D312 θ̇1 θ̇2 + 2D313 θ̇1 θ̇3 + 2D314 θ̇1 θ̇4 + 2D315 θ̇1 θ̇5 + 2D316 θ̇1 θ̇6
+2D323 θ̇2 θ̇3 + 2D324 θ̇2 θ̇4 + 2D325 θ̇2 θ̇5 + 2D326 θ̇2 θ̇6 + 2D334 θ̇3 θ̇4
+2D335 θ̇3 θ̇5 + 2D336 θ̇3 θ̇6 + 2D345 θ̇4 θ̇5 + 2D346 θ̇4 θ̇6 + 2D356 θ̇5 θ̇6 + D3
Equações de movimento
T4 =D41 θ̈2 + D42 θ̈2 + D43 θ̈3 + D44 θ̈4 + D45 θ̈5 + D46 θ̈6 + I4(atuadores) θ̈4
+D411 θ̇12 + D422 θ̇22 + D433 θ̇32 + D444 θ̇42 + D455 θ̇52 + D466 θ̇62
+2D412 θ̇1 θ̇2 + 2D413 θ̇1 θ̇3 + 2D414 θ̇1 θ̇4 + 2D415 θ̇1 θ̇5 + 2D416 θ̇1 θ̇6
+2D423 θ̇2 θ̇3 + 2D424 θ̇2 θ̇4 + 2D425 θ̇2 θ̇5 + 2D426 θ̇2 θ̇6 + 2D434 θ̇3 θ̇4
+2D435 θ̇3 θ̇5 + 2D436 θ̇3 θ̇6 + 2D445 θ̇4 θ̇5 + 2D446 θ̇4 θ̇6 + 2D456 θ̇5 θ̇6 + D4
T5 =D51 θ̈1 + D52 θ̈2 + D53 θ̈3 + D54 θ̈4 + D55 θ̈5 + D56 θ̈6 + I5(atuadores) θ̈5
+D511 θ̇12 + D522 θ̇22 + D533 θ̇32 + D544 θ̇42 + D555 θ̇52 + D566 θ̇62
+2D512 θ̇1 θ̇2 + 2D513 θ̇1 θ̇3 + 2D514 θ̇1 θ̇4 + 2D515 θ̇1 θ̇5 + 2D516 θ̇1 θ̇6
+2D523 θ̇2 θ̇3 + 2D524 θ̇2 θ̇4 + 2D525 θ̇2 θ̇5 + 2D526 θ̇2 θ̇6 + 2D534 θ̇3 θ̇4
+2D535 θ̇3 θ̇5 + 2D536 θ̇3 θ̇6 + 2D545 θ̇4 θ̇5 + 2D546 θ̇4 θ̇6 + 2D556 θ̇5 θ̇6 + D3
Equações de movimento
T6 =D61 θ̈2 + D62 θ̈2 + D63 θ̈3 + D64 θ̈4 + D65 θ̈5 + D66 θ̈6 + I6(atuadores) θ̈6
+D611 θ̇12 + D622 θ̇22 + D633 θ̇32 + D644 θ̇42 + D655 θ̇52 + D666 θ̇62
+2D612 θ̇1 θ̇2 + 2D613 θ̇1 θ̇3 + 2D614 θ̇1 θ̇4 + 2D615 θ̇1 θ̇5 + 2D616 θ̇1 θ̇6
+2D623 θ̇2 θ̇3 + 2D624 θ̇2 θ̇4 + 2D625 θ̇2 θ̇5 + 2D626 θ̇2 θ̇6 + 2D634 θ̇3 θ̇4
+2D635 θ̇3 θ̇5 + 2D636 θ̇3 θ̇6 + 2D645 θ̇4 θ̇5 + 2D646 θ̇4 θ̇6 + 2D656 θ̇5 θ̇6 + D6
Exemplo 3.52
Obtenha as equações de movimento para o braço robótico com 2DOF do
Exemplo 3.51, também apresentado abaixo. Considere que os dois vı́nculos
têm o mesmo comprimento.
Exemplo 3.52
Para derivar as equações de movimento, deve-se primeiro escrever as
matrizes A para os dois vı́nculos, depois desenvolver os termos Dij e
Di para o robô.
Por fim, deve-se substituir os resultados nas equações de T1 e T2
para obter as equações finais.
Os parâmetros de juntas e vı́nculos do robô são d1 = 0, d2 = 0,
a1 = l , a2 = l , α1 = 0, α2 = 0.
C1 −S1 0 lC1 C2 −S2 0 lC2
S1 C1 0 lS1 S2 C2 0 lS2
A1 = 0
A 2 =
0 1 0 0 0 1 0
0 0 0 1 0 0 0 1
Exemplo 3.52
C12 −S12 0 l (C12 + C1 )
0
S12 C12 0 l (S12 + S1 )
T2 = A1 A2 =
0
0 1 0
0 0 0 1
Sabendo que:
0 −1 0 0
1 0 0 0
Q(Revolução) =
0 0 0 0
0 0 0 0
Tem-se:
∂ 0 Ti ∂(A1 A2 ...Aj ...Ai )
Uij = = = A1 A2 ...Qj Aj ...Ai
∂qi ∂qj
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 504 / 517
Introdução à robótica Análise dinâmica e forças
Exemplo 3.52
Assim:
−S1 −C1 0 −lC1
C1 −S1 0 lC1
U11 = QA1 =
0
0 0 0
0 0 0 0
∂(QA1 ) ∂(QA1 )
→ U111 = = QQA1 U112 = =0
∂θ1 ∂θ2
−S12 −C12 0 −l (S12 + S1 )
C12 −S12 0 l (C12 + C1 )
U21 = QA1 A2 =
0
0 0 0
0 0 0 0
∂(QA1 A2 ) ∂(QA1 A2 )
→ U211 = = QQA1 A2 U212 = = QA1 QA2
∂θ1 ∂θ2
Exemplo 3.52
−S12 −C12 0 −lS12
C12 −S12 0 lC12
U22 = A1 QA2 = 0
0 0 0
0 0 0 0
∂(A1 QA2 ) ∂(A1 QA2 )
→ U221 = = QA1 QA2 U222 = = A1 QQA2
∂θ1 ∂θ2
∂A1
U12 = =0
∂θ2
Assumindo que todos os produtos de inércia são zero, obtém-se:
1 1
3 m1 l
2 0 0 12 m1 l 3 m2 l
2 0 0 1m l
2 2
0 0 0 0 0 0 0 0
J1 =
0
J 2 =
0 0 0 0 0 0 0
1 1
2 m1 l 0 0 m1 2 m2 l 0 0 m2
Exemplo 3.52
A partis das equações para um robô com 2DOF, obtém-se:
2 2
T1 =D11 θ¨1 + D12 θ¨2 + D111 θ˙1 + D122 θ˙2 + 2D112 θ˙1 θ˙2 + D1 + I1(at) θ¨1
2 2
T2 =D21 θ¨1 + D22 θ¨2 + D211 θ˙1 + D222 θ˙2 + 2D212 θ˙1 θ˙2 + D2 + I2(at) θ¨2
Das equações:
n
X
T
Dij = Traço(Upj Jp Upi )
p=max(i ,j)
Xn
T
Dijk = Traço(Upjk Jp Upi )
p=max(i ,j,k)
Xn
Di = −mp g T Upi r¯p
p=i
Exemplo 3.52
Tem-se que:
T T
D11 = Traço(U11 J1 U11 ) + Traço(U21 J2 J21 ) para i = 1, j = 1, p = 1, 2
T
D12 = Traço(U22 J2 U21 ) para i = 1, j = 2, p =2
T
D21 = Traço(U21 J2 U22 ) para i = 2, j = 1, p =2
T
D22 = Traço(U22 J2 U22 ) para i = 2, j = 2, p =2
T T
D111 = Traço(U111 J1 U11 ) + Traço(U211 J2 J21 ) para i = 1, j = 1, k = 1, p = 1, 2
T
D122 = Traço(U222 J2 U21 ) para i = 1, j = 2, k = 2, p =2
T
D112 = Traço(U212 J2 U21 ) para i = 1, j = 1, k = 2, p =2
T
D211 = Traço(U211 J2 U22 ) para i = 2, j = 1, k = 1, p =2
T
D222 = Traço(U222 J2 U22 ) para i = 2, j = 2, k = 2, p =2
T
D212 = Traço(U212 J2 U22 ) para i = 2, j = 1, k = 2, p =2
Exemplo 3.52
Embora seja muito longa, mesmo para um robô de apenas 2DOF, a
substituição de todas as matrizes dadas por essas equações produz:
1 4
D11 = m1 l 2 + m2 l 2 + m2 l 2 C2
3 3
1 1
D12 = D21 = m2 l 2 + m2 l 2 C2
3 2
1 2
D12 = D22 = m2 l
3
1
D111 = 0 D112 = D121 = − m2 l 2 S2
2
1
D122 = − m2 l 2 S2 D211 m2 l 2 S2
2
D212 = 0 D221 = D222 = 0
Exemplo 3.52
Da Equação de Di , considerando g T = [0 − g 0 0] (porque a
aceleração da gravidade está na direção negativa do eixo y ) e
r1−T = r2−T = [−l /2 0 0 1] (porque o centro de massa da barra
está em − 2l ), obtém-se:
Exemplo 3.52
Da mesma forma para D2 , tem-se:
1 1
D1 = m1 glC1 + m2 glC12 + m2 glC1
2 2
1
D2 = m2 glC12
2
T
[H F ] = fx fy fz mx my mz
T
[H D] = dx dy dz δx δy δz
T
[T ] = T1 T2 T3 T4 T5 T6
T
[Dθ ] = dθ1 dθ2 dθ3 dθ4 dθ5 dθ6
δW = [H F ]T [H D] = [T ]T [Dθ ]
dx
dy
dz
fx fy z mx my mz δx = fx dx + fy dy + · · · + mz δz
δy
δz
Sabendo que:
[H F ]T [H J][Dθ ] = [T ]T [Dθ ] → [H F ]T [H J] = [T ]T
[T ] = [H J]T [H F ]
Exemplo 3.53
O valor numérico do jacobiano de um robô RPY esférico é dado abaixo.
Deseja-se aplicar uma força de 1 libra ao longo do eixo z do frame da mão,
bem como um momento de 20 libras-polegadas, em torno do eixo z do
frame da mão para fazer um furo em um bloco. Encontre as forças e
torques necessários às juntas .
20 0 0 0 0 0
−5 0 1 0 0 0
H
0 20 0 0 0 0
J =
0 1 0 0 1 0
0 0 0 1 0 0
−1 0 0 0 0 1
Exemplo 3.53
Substituindo os valores dados na equação abaixo, obtém-se:
[T ] = [H J]T [H F ]
T1 20 −5 0 0 0 −1 0 −20
T2 0 0 20 1 0 0 0 20
F3 0 1 0 0 0 0 1 0
[T ] = =
T4 0 =
0 0 0 1 0 0 0
T5 0 0 0 1 0 0 0 0
T6 0 0 0 0 0 1 20 20
Exemplo 3.53
Porquê?
À medida em que as configurações do robô mudam, o jaconbiano
muda também. Portanto, para o esforço contı́nuo da mesma força e
do mesmo momento no frame da mão à medida em que o robô se
move, os torques de juntas terão que mudar também, exigindo o
cálculo contı́nuo dos torques da junta pelo controlador.
Exemplo 3.54
Um objeto, fixo a um frame B, é submetido à forças e momentos dados
em relação à um frame de referência. Encontre as forças e momentos
equivalentes no frame B.
Exemplo 3.54
FT =
0, 10(lb), 0, 0, 0, 20(lb · pol )
0 1 0 3
0 0 1 5
B =
1
0 0 8
0 0 0 1
Exemplo 3.54
i j k
f × p = 0 10 0 = i(80) − j(0) + k(−30)
3 5 8
f × p + m = 80i − 10k
Assim:
B
fx = n·f =0
B
fy = o·f =0
B B
fz = a · f = 10 → f = [0, 0, 10]
B
mx = n · [(f × p + m)] = −10
B
my = o · [(f × p + m)] = 80
B B
mz = a · [(f × p + m)] = 0 → m = [-10, 80, 0]
Prof. Téo Revoredo (DETEL/FEN/UERJ) SDA 2019/1 - Rev.1 509 / 517
Introdução à robótica Análise dinâmica e forças
Exemplo 3.54
Isso significa que uma força de 10lb ao longo do eixo a do frame B,
em conjunto com dois momentos de −10lb.pol, ao longo do eixo n e
80lb.pol ao longo do eixo o, terá o mesmo efeito no objeto que a
força e o momento originais em relação ao frame de referência.
Bibliografia I
Stephen Ashley
Getting a Hold on Mechatronics
Mechanical Engineering, may 1997, p. 60-63
Bibliografia II
Gerhard Sweitzer
Mechatronics: Basics, Objectives, Examples
Proceedings of the Institution os Mechanical Engineers, v. 210, p. 1-11, 1996
Van Brussel
Mechatronics: A Powerful concurrent Engineering Framework
IEEE & ASME Transactions on Mechatronics, v. 1, n. 2, p. 127-136, 1996
Vesa Salminen
Ten year of mechatronics research and industrial applications in Finland
IEEE & ASME Transactions on Mechatronics, v. 1, n. 2, p. 103-105, 1996
Bibliografia III
William Bolton
Electronic Control Systems in Mechanical and Electrical Engineering, Fifth edition
Prentice Hall
Robert A. Bishop
Mechatronics an introduction
Taylor & Francis
Bibliografia IV
Bibliografia V
Rene David
Modeling of dynamic systems by petri nets
Proceedings of europeen control conference, 2-5, p. 136-147, 1991
Bibliografia VI
Kleber automation
Pirâmide de automação
http://kleberautomation.blogspot.com.br/2012/01/piramide-da-automacao.html
Bibliografia VII
Bibliografia VIII