2018 Dissertacao Felipe Macedo
2018 Dissertacao Felipe Macedo
2018 Dissertacao Felipe Macedo
Rio de Janeiro
2018
AGRADECIMENTOS
Gostaria de agradecer em primeiro lugar a minha família, por não medirem esforços ao me
apoiarem e incentivarem durante essa etapa da minha vida. Minha mãe Marcia Macedo e meu
pai Francisco Macedo por todo o amor, carinho e dedicação, e meu irmão André Macedo pelo
companheirismo e momentos de descontração.
Minha namorada Larissa Damazio e família, por todo carinho e incentivo durante este
período.
Ao meu orientador Luiz Paulo Gomes Ribeiro, que sempre buscou a melhor forma para
transmitir seus conhecimentos, fundamentais para a conclusão dessa dissertação, pelo incentivo
e confiança.
Ao IME, pela estrutura oferecida, fundamental para o desenvolvimento dessa dissertação,
e pela oportunidade que me foi dada de ingressar e me formar no mestrado.
A família IDR Lab, Felyppe Laborde, Rafael Rosenberg, Michel Alba, Bruno Galhardo,
Leonardo Marques, Alexandre Soares e Leandro Almeida, que esteve sempre unida, dando,
quando necessário, assistência e momentos de descontração e diversão.
Aos professores que me fizerem crescer, intelectual e pessoalmente, através de seus ensi-
namentos.
A todos os funcionários do Instituto Militar de Engenharia que, de alguma forma, colabo-
raram com esta etapa que se encerra.
A CAPES (Coordenação de Aperfeiçoamento de Pessoal de Nível Superior), pelo suporte
financeiro durante o mestrado.
E a todos que de alguma maneira contribuíram para o meu crescimento durante esta cami-
nhada.
4
“No que diz respeito ao empenho, ao compromisso, ao
esforço, à dedicação, não existe meio termo. Ou você faz
uma coisa bem feita ou não faz.”
Ayrton Senna
5
SUMÁRIO
LISTA DE ILUSTRAÇÕES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
LISTA DE TABELAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1 INTRODUÇÃO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.2 Formulação do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.3 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.4 Organização do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2 REVISÃO BIBLIOGRÁFICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1 O que é a Robótica? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2 A Industria e os Robôs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.3 Programação de Robôs Industriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.4 Laboratório Virtual - VL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.4.1 Definição de um Laboratório Virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4.2 Laboratório virtual: vantagens e desvantagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.5 Critério para avaliação de VLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.6 Conceitos de Engenharia Reversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
6
3.3.1 Modelagem do robô e dos componentes de cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.1.1 Teoria dos Helicoides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.3.1.2 Modelagem do robô . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.1.3 Modelagem do cenário . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.3.2 Modelagem do PP do CAMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.4 identificação de abordagem orientada a objeto na programação . . . . . . . . . . . . . . . . . 64
3.5 Implementação de exemplos da vida real . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5 ESTUDO DE CASO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.1 Definição e Características Básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
5.2 Planejamento do experimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.1 Padronização das atividades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.2.2 Sessão de Coding Dojo com o CAMPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.3 Avaliação realizada pelos alunos participantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5.2.4 Resultados e análise dos indicadores quantitativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
5.2.5 Resultados e análise dos indicadores Qualitativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6 CONCLUSÕES E PERSPECTIVAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.1 Recapitulação sintetizada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Contribuições Científicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.3 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
6.4 Perspectivas para trabalhos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
7
8 APÊNDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
8.1 Apêndice 1: Teoria dos Helicoides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.1 O Helicoide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.2 Rotação Helicoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
8.1.2.1 Ângulos de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
8.1.3 Deslocamento Helicoidal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
8.1.4 Método dos Deslocamentos dos Helicoides Sucessivos . . . . . . . . . . . . . . . . . . . . . . . . 117
8.1.5 Modelagem do Robô Motoman MH5F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
8.1.5.1 Passo 1: Identificar corpos, juntas e eixos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
8.1.5.2 Passo 2: Identificar parâmetros do Helicoide de cada junta . . . . . . . . . . . . . . . . . . . . . 120
8.1.5.3 Passo 3: Determinar a MTH de cada junta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
8.1.5.4 Passo 4: Aplicação do Método dos Deslocamentos dos Helicoides Sucessivos . . . . 123
8.1.5.5 Passo 5: Aplicação de Chasles e ângulos de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
8.2 Apêndice 2: Modelagem do robô Motoman MH5F pela Convenção de
Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.1 Determinar parâmetros de Denavit-Hartenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
8.2.2 Determinar as Matrizes de Transformação Homogeneas (MTH) . . . . . . . . . . . . . . . . 128
8.2.3 Determinar a composição da MTH de cada junta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8.2.4 Determinar as MTH de base e ferramenta (passo opcional) . . . . . . . . . . . . . . . . . . . . . 128
8.3 Apêndice 3: Teoria dos Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.3.1 Matriz de incidência, ou Matriz dos Circuitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.4 Apêndice 4: Cinemática Diferencial e Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.4.1 Cinemática Diferencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
8.4.1.1 Aplicação do Método de Kirchhoff-Davies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
8.4.2 Cinemática Inversa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.5 Apêndice 5: Comandos da linguagem INFORM III . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8.6 Apêndice 6: Cenário CIM–Mecatrime do Laboratório Virtual . . . . . . . . . . . . . . . . . . 143
8
LISTA DE ILUSTRAÇÕES
9
FIG.3.22 Representação compacta das CVAs. (Adaptado de SANTOS (2018)) . . . . . . . . 66
10
FIG.8.8 Identificação dos corpos, juntas e eixos das juntas. (Autoria própria) . . . . . . . . . 120
FIG.8.9 Modelo esquemático usando a Teoria dos Helicoides . . . . . . . . . . . . . . . . . . . . . . 120
FIG.8.10 Definição do vetor s0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
FIG.8.11 Referencial da ferramenta. (Autoria própria) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
FIG.8.12 Validação dos resultados para U = −30◦ . (Autoria própria) . . . . . . . . . . . . . . . . 124
FIG.8.13 Parâmetros de DH. (SICILIANO et al., 2009) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
FIG.8.14 Modelagem do MH5F pela convenção de DH. (Autoria própria) . . . . . . . . . . . . 127
FIG.8.15 Definição de Vértices e Arestas. (Autoria própria) . . . . . . . . . . . . . . . . . . . . . . . . 130
FIG.8.16 Multigrafo com três Arestas ou caminhos paralelos. (Autoria própria) . . . . . . . . 131
FIG.8.17 Grafo orientado com sentido horário. (Autoria própria) . . . . . . . . . . . . . . . . . . . . 131
FIG.8.18 Representação do fechamento de cadeia do MH5F. (Autoria própria) . . . . . . . . 135
FIG.8.19 Cenário desenvolvido do CIM - MecatrIME. (Autoria própria) . . . . . . . . . . . . . . 146
11
LISTA DE TABELAS
12
LISTA DE ABREVIATURAS E SÍMBOLOS
ABREVIATURAS
13
OOP - Object Oriented Programming
OSHA - Occupational Safety and Health Administration
P - Junta Prismática
PD&I - Pesquisa, Desenvolvimento e Inovação
PP - Programming Pendant
PPGMEC - Programa de Pós-Graduação em Engenharia Mecânica
R - Junta de Revolução
RE - Reverse Engineering
RUR - Rossum’s Universal Robots
SCARA - Selective Compliance Assembly Robot Arm
SLURBT - Swing, Lower arm, Upper arm, Rotational, Bend, Twist
SLURBT - sigla com 6 letras associadas às 6 juntas do MH5F, da base à fer-
ramenta
TCP - Tool Center Point
TPU - Teach Pendant Unit
VL - Virtual Laboratories
VR - Virtual Reality
SÍMBOLOS
A - Referencial Absoluto
B - Referencial Móvel
(x, y, z) - Sistema de eixos coordenados do Referencial Absoluto
(u, v, w) - Sistema de eixos coordenados do Referencial Móvel
O - Origem do Referencial Absoluto
Q - Origem do Referencial Móvel
pA - Ponto em A em relação ao Referencial Absoluto
pB - Ponto em B em relação ao Referencial Móvel
A
RB - Matriz de Rotação
qxA - Translação em relação ao Referencial Absoluto ao longo do eixo na direção x
qyA - Translação em relação ao Referencial Absoluto ao longo do eixo na direção y
qzA - Translação em relação ao Referencial Absoluto ao longo do eixo na direção z
p̃A - Ponto P em relação ao Referencial Absoluto (A) representado na forma homogênea
14
p̃B - Ponto P em relação ao Referencial Móvel (B) representado na forma homogênea
TBA - Matriz de Transformação Homogênea
Tf - Matriz de Transformação Homogênea de ajuste da ferramenta
Tr - Matriz de Transformação Homogênea Resultante das Juntas
Ttot - Matriz de Transformação Homogênea Resultante com ajuste da ferramenta
s - Vetor unitário do eixo helicoidal de cada junta em relação ao referencial absoluto
sRef - Vetor unitário do eixo helicoidal de cada junta em relação ao referencial absoluto da
posição de referência
s0 - Vetor posição em relação ao referencial absoluto
s0Ref - Vetor posição em relação ao referencial absoluto da posição de referência
d˙ - Movimento de translação ao longo do eixo do helicoide
$n - Helicoide da n-ésima junta
Xf - Eixo X do sistema de coordenadas da ferramenta
Yf - Eixo Y do sistema de coordenadas da ferramenta
Zf - Eixo Z do sistema de coordenadas da ferramenta
θ - Movimento de rotação em torno do eixo do helicoide
t - Translação ao longo do eixo do helicoide
cθ - Abreviatura utilizada para cosseno de θ
sθ - Abreviatura utilizada para seno de θ
15
RESUMO
O dinamismo da economia do século XXI fomentou uma maior demanda por novas tec-
nologias, capazes de melhorar os processos de fabricação, objetivando produtos mais compe-
titivos. Uma dessas tecnologias é o robô industrial, considerado o sistema mecatrônico mais
vendido do mundo na atualidade, e estratégico por países tecnologicamente desenvolvidos.
Entretanto, a utilização de manipuladores robóticos traz consigo não somente vantagens, ou
seja, existem complexidades associadas ao risco que o dispositivo oferece aos operadores, e
às etapas de: planejamento; programação; sincronização; calibração e testes, o que demanda
tempo e pessoal qualificado. Assim sendo, existem desafios e oportunidades de melhorias vol-
tadas ao Ensino, Pesquisa, Desenvolvimento e Inovação (EPD&I). De modo a contribuir para
o treinamento de novos operadores, diminuindo os riscos inerentes e o tempo gasto nas eta-
pas associadas ao planejamento e programação, esta dissertação propõe um Laboratório Vir-
tual (VL), intitulado CAMPS (Computer-Aided Motoman MH5F robot Programming System),
que enquadra-se como ferramenta de ensino intermediária às aulas teóricas e práticas no robô
real. O CAMPS possui um ambiente gráfico capaz de representar o robô Motoman MH5F e
seus movimentos em um cenário 3D, além do Programming Pendant (PP), dispositivo utilizado
para sua programação. A metodologia utilizada ampara-se em Engenharia Reversa (RE), para
garantir maior similaridade com o equipamento real; na Teoria dos Helicoides, como ferramenta
matemática para resolução cinemática do robô; e da Programação Orientada a Objetos (OOP)
com classes bem definidas, auxiliando a implementação de problemas complexos. Para análise
de efetividade do CAMPS é proposto um Estudo de Caso no treinamento de alunos de gra-
duação em Engenharia Mecânica, onde a turma foi dividida em dois grupos, onde o primeiro
realizou o treinamento convencional, sem o uso do simulador, enquanto o segundo utilizou o
VL de previamente ao treinamento com o MH5F. Como resultado, são apresentados uma re-
dução nos indicadores do tempo de programação e uma pesquisa de satisfação, o que permitiu
validar o VL proposto como ferramenta de auxílio ao treinamento de novos programadores.
16
ABSTRACT
The dynamism of the 21st century’s economy fomented a higher demand for new tech-
nologies, capable of enhancing the manufacturing processes, aiming for more competitive prod-
ucts. One of this technologies is the industrial robot, which is today considered the best selling
mechatronic system, and strategic to technologically developed countries. However, the use of
robotic manipulators brings not only advantages but complexities related to the risk that this
equipment offers to its operators, and also, to the: planning; programming; synchronization;
calibration and tests phases, which require time and human resources. Therefore, there are
challenges and improvement opportunities in Education, Research, Development and Innova-
tion (ERDI). This dissertation intent to contribute to the training of new operators, reducing the
inherent risks, and the time spent on the planning and programming phases, thus, it is proposed
a Virtual Laboratory (VL), entitle CAMPS (Computer-Aided Motoman MH5F robot Program-
ming System), that fits as an intermediate learning tool between the theoretical and practical
classes using the real robot. The CAMPS has a 3D graphical environment capable to represent
the Motoman MH5F robot and its movements, besides the Programming Pendant (PP), a device
used to do its programming. It is used a methodology based on Reverse Engineering (RE), to
ensure the highest similarity possible to the real equipment; Screw Theory, as a mathematical
tool to solve the robot kinematics; and, Object-Oriented Programming (OOP) with classes well
defined, assisting the implementation of complex problems. In the end, it is proposed a study
case on the training of Mechanical Engineering students to analyze the CAMPS effectiveness.
The class was divided into two groups, where the first one performed the conventional train-
ing without the use of the VL, whereas the second group used the CAMPS previously to the
practical class, with the real robot. As a result, it is presented a reduction in the indicators of
programming time and a satisfaction research, which allowed to validate the proposed VL as a
training aid tool to new robot programmers.
Keywords: Virtual Laboratory. Motoman MH5F. Screw Theory. CAMPS. Industrial Robotic.
On-line Programming. Off-line Programming.
17
1 INTRODUÇÃO
1.1 MOTIVAÇÃO
18
eles: tornar a produção mais rápida, confiável, econômica, flexível e garantir um padrão de
qualidade, no mínimo, igual ou superior aos concorrentes.
Um recurso bastante utilizado nos países tecnologicamente desenvolvidos é a automação
dos processos de fabricação. Dentro dos três tipos de automação existentes: rígida, flexível e
programável; o robô industrial, ou manipulador robótico, é um componente tipicamente uti-
lizado (SICILIANO et al., 2009), sendo capaz de atender aos objetivos propostos por SLACK
et al. (2002) e possibilitar a substituição dos seres humanos em atividades perigosas, insalubres
e repetitivas (SICILIANO et al., 2009).
Tais motivos, despertaram no mundo um grande interesse na utilização do robô industrial,
considerando-o estratégico pelas indústrias de países como: China, Coreia do Sul, Japão, EUA
e Alemanha, que, de acordo com a IFR (International Federation of Robotics), em 2016, juntos,
integraram aos seus processos de fabricação, cerca de 74% do total de 294.312 novas unidades
de robôs instaladas no mundo. (IFR, 2017)
Apesar da grande importância da robotização nas indústrias, o Brasil, em 2016, teve uma
participação irrisória se comparado com o mercado mundial. Ao que diz respeito à instalações
de robôs industriais, o país é responsável por, somente, 0,41% do total, representando 1207
unidades instaladas. A situação se agrava ainda mais, se comparado com o ano anterior, quando
o Brasil havia instalado 1407 unidades, representando uma redução de 14,2% (IFR, 2017).
O incentivo político é fundamental ao que tange a expansão do mercado de robôs industriais
nos países. Como exemplo, o Japão, EUA, Europa e China já se movimentaram, e através
de programas de incentivo, ou discursos (New Robotic Strategy, National Robotics Initiative,
SPARC e o China Manufacturing 2025, respectivamente), à respeito da adoção desse tipo de
tecnologia (YASUDA, 2017). Um reflexo pode ser visto na IFR (2017), onde a China, que
já era maior compradora de robôs industriais durante 3 anos consecutivos, teve um aumento
de 27% se comparado à 2016, atingindo um total de 87.000 unidades instaladas. Entretanto,
existem indícios preliminares de que em 2017 o país tenha superado as expectativas e tido um
crescimento de 58%, batendo outro recorde (IFR, 2018).
No entanto, a utilização de robôs industriais também traz consigo desafios e oportunidades
de melhorias, devido à alta complexidade associada às etapas de planejamento, programação,
sincronização e calibração, que, na falta de recursos humanos qualificados para integrá-los aos
processos de fabricação, podem inviabilizar sua utilização. No Brasil, a qualificação profis-
sional se torna especialmente relevante, primeiro, pelo fato da falta do trabalhador especializado
ser a principal barreira externa que a indústria brasileira enfrenta na implementação de tecnolo-
19
gias relacionadas com a Indústria 4.0, como é o caso do manipulador robótico (CNI, 2016), e
segundo, pelo alto risco de acidentes associado à operação desses equipamentos.
Ratificando o supracitado, a OSHA (Occupational Safety and Health Administration), órgão
norte-americano com finalidade de registrar acidentes de trabalho, monitora os acidentes rela-
cionados à utilização de robôs industriais desde 1984 nos Estados Unidos. Com base em seus
dados, foi possível analisar que até 2018 ocorreram 38 acidentes de trabalhos relacionados a
robôs industriais, dentre eles 27 fatais, sendo que 44,7%(17/38) do total ocorreram durante a
operação de manutenção ou em situações de contato inevitável com o equipamento (OSHA,
2018).
Em vista disso, surgem inúmeras oportunidades em PD&I, voltados na capacitação de novos
profissionais e operadores de robôs industriais, face à importância que a correta implementação,
de forma segura, e o impacto que esse tipo de equipamento, em quantidade considerável, traria
para o desenvolvimento da indústria, seja civil ou de defesa, e, no desenvolvimento da economia
do país.
Dada a importância do incentivo à esse tipo de tecnologia para o desenvolvimento do pais, o
Instituto Militar de Engenharia (IME) investiu na infraestrutura de dois laboratórios, o Laborató-
rio de Robótica Industrial e de Defesa (IDR Lab) e o Laboratório de Mecatrônica (MecatrIME),
os quais tem como objetivo genérico: especializar e aperfeiçoar recursos humanos, e promover
a PD&I em sistemas mecatrônicos de aplicação dual, ou seja, militar e civil, em consonância
com a Missão do IME (IDRLAB, 2018; MECATRIME, 2018; IME, 2018).
Por se tratar de uma dissertação de mestrado realizada dentro IDR Lab, no Programa de Pós-
Graduação em Engenharia Mecânica (PPGMEC) do IME, tem caráter dual, e buscou amparo
no segundo eixo estruturante da Estratégia Nacional de Defesa (END), que diz respeito a ações
que contribuam para à reorganização da Base Industrial de Defesa, assegurando que os produtos
de necessidade por parte das Forças Armadas apoiem-se em tecnologias de domínio nacional,
de preferência às de emprego dual (END, 2012).
Apesar de todas as vantagens estratégicas auferidas pela utilização do robô industrial, ainda
é necessário vencer a complexidade associada às etapas de planejamento e programação, para
viabilizar a utilização de manipuladores robóticos nas indústrias. O tempo associado a etapa de
programação de uma tarefa é muito superior ao da respectiva execução pelo robô, e necessita
de pessoal especializado. Programar robôs industriais basicamente consiste em "ensinar" as
20
posições desejadas do efetuador final, muitas vezes utilizando o próprio equipamento, e associá-
las a uma sequência lógica de comandos que permitem ao robô realizar a tarefa.
Esse procedimento pode ser realizado de duas maneiras: (1) através da programação off-
line, que consiste na utilização de softwares específicos e modelos 3D da célula de trabalho e
do robô para a programação da tarefa, ou: (2) através da programação on-line que necessita
do próprio equipamento e, neste caso, enquanto em processo de programação, o robô industrial
naturalmente deixa de executar suas respectivas atividades, podendo parar toda uma linha de
produção (NOF, 1999).
Todavia, apesar da programação off-line oferecer qualidades, segundo YASUDA (2017) a
programação on-line através de um programming pendant (PP) - dispositivo comumente uti-
lizado para a manipulação e programação do robô - é, ainda, o procedimento convencional-
mente utilizado para ensinar as tarefas dos robôs industriais. Além disso, mesmo com o avanço
dos anos e os PPs terem ficado mais ergonômicos, se comparados aos primeiros, não houve
mudança significativa no processo de ensino da tarefa pelo método on-line, que é dependente
da experiência do operador e se torna uma barreira quando este possui pouca, ou nenhuma ex-
periência prévia. Portanto, o treinamento e capacitação profissional se torna uma necessidade e
mais uma vez relevante (YASUDA, 2017).
O Laboratório MecatrIME possui seis robôs industriais Motoman modelo MH5F, disponíveis
em seu Sistema de Manufatura Integrado por Computador (Computer-Integrated Manufactur-
ing System - CIM). Todavia, a quantidade de botões multifuncionais e comandos específicos
disponíveis no PP para programação torna o processo de treinamento desgastante, tanto para
o aluno, quanto para o instrutor, e potencialmente perigoso para o estudante que, inicialmente,
não possui experiência prévia, e para equipamento que pela falta de conhecimento por parte do
aluno, corre um maior risco de ser danificado.
O uso de simuladores é uma prática bastante utilizada pelas principais montadoras de robôs
industriais para a implementação de seus robôs nas linhas de produção, principalmente, por uti-
lizar a programação off-line para agilizar este processo. SANTOS (2017) desenvolveu um pro-
tótipo computacional intitulado CARPA (Computer-Aided Serial Robots Programming, Mod-
elling and Simulation Analysis) capaz de simular robôs industriais genéricos, com o auxílio de
um ambiente gráfico, passível de visualização do robô. É possível inserir modelos de CAD 3D
de robôs, fazendo com que o resultado das simulações seja visualizado de forma ainda mais
fiel a realidade, entretanto, por se tratar de um software de programação genérico, não possui
capacidade de geração automática de código, como os softwares de programação off-line.
21
Diante da alta importância estratégica e considerando o risco em potencial destes sistemas
mecatrônicos, os processos de aprendizagem, treinamento, manutenção e atualização dos ope-
radores de robôs industriais ganham ainda mais em importância e atenção. Assim, objetivando
auferir vantagens competitivas e diminuir, ou evitar, acidentes de trabalho em potencial associa-
dos, a utilização de Laboratórios Virtuais (Virtual Laboratories - VLs) é proposta por MOODY
et al. (2016), como uma alternativa segura e efetiva para o treinamento de estudantes aos con-
ceitos de robótica industrial. A ideia central é disponibilizar um ambiente virtual que inclua
as características físicas elementares e modelos 3D dos robôs e do ambiente que os rodeiam,
assim como outros elementos que permitam aumentar a experiência de operação real dos ma-
nipuladores robóticos.
Segundo POTKONJAK et al. (2010) e JARA et al. (2011b), a combinação de um curso ini-
ciando com aulas teóricas, em sala de aula, com o auxilio de VLs, de forma a preparar o aluno
para o laboratório real apresentado no final do curso, proporcionam melhores resultados edu-
cacionais, além de prover, principalmente nas fases iniciais do treinamento com VL, segurança
aos aprendizes e preservação do equipamento real.
Desta forma, a formulação do problema que esta dissertação almeja contribuir em nível de
solução é a seguinte: como fomentar e aumentar a eficiência do ensino e aprendizagem de
novos operadores de robôs industriais? Assim, ela deseja contribuir no preparo de alunos
e futuros programadores de forma mais eficiente que a convencional, além de prover maior
segurança. Consequentemente, o melhor preparo destes profissionais tem maior potencial de
impactar de forma positiva em contexto nacional, onde as indústrias carecem de pessoal quali-
ficado.
Essa dissertação intitulada: Robô Motoman MH5F: modelagem, simulação e programação
auxiliadas por computador, se enquadra na linha de pesquisa do Laboratório de Robótica Indus-
trial e de Defesa, mais especificamente na modelagem e implementação da cinemática de robôs
industriais em ambientes computacionais, onde duas dissertações de mestrado foram defendidas
(SANTOS, 2017), (SANTOS, 2018).
1.3 OBJETIVOS
22
1. partir do programa CARPA, desenvolvido no IDR Lab do IME, com o código aberto,
sendo capaz de adaptar e inserir novas funcionalidades objetivando a criação de um am-
biente para o auxílio ao treinamento do Robô Motoman MH5F, de modo a contribuir
para aumentar a efetividade do ensino, aprendizagem e treinamento de novos operadores,
oferecendo uma alternativa com baixo custo, alta similaridade e realidade, e que reduza o
tempo de treinamento, além de contribuir com o aumento da segurança.
Esta seção destina-se a apresentar a estrutura e organização desta dissertação. Iniciando por
este capítulo, onde estão formalizados os objetivos, seguindo o Capítulo 2 onde é feita uma
revisão bibliográfica sobre a Robótica Industrial e definições em relação a robótica e VLs, além
23
de conceitos básicos de Engenharia Reversa. O Capítulo 3 apresenta a Teoria dos Helicoides,
aplicado à modelagem e simulação de robôs seriais. O Capítulo 4 diz respeito à implementação
computacional, explicação detalhada dos comandos implementados, bem como o protocolo de
salvamento no formato .JBI para ser lido no robô real. Já no Capítulo 5, foi realizado um estudo
de caso, utilizando o VL como ferramenta intermediária de ensino, entre as aulas teóricas e
práticas no MH5F, de forma a levantar indicadores, quantitativos e qualitativos, da efetividade
do CAMPS no aprendizado de programação on-line. Finalmente, no Capítulo 6, é feita uma
recapitulação sintetizada do que foi apresentado nesta dissertação, bem como suas contribuições
científicas e perspectivas para trabalhos futuros.
24
2 REVISÃO BIBLIOGRÁFICA
Neste Capítulo é feita uma revisão bibliográfica a respeito da Robótica Industrial, apresen-
tando conceitos introdutórios, porém necessários, além de definições relativas a Laboratórios
Virtuais (VL), bem como, o processo de Engenharia Reversa que é utilizado para o desenvolvi-
mento do VL.
De acordo com SICILIANO et al. (2009) a origem da robótica como é conhecida nos dias
de hoje, se deu em 1920 quando o termo robô (robot) foi apresentado pelo dramaturgo checo
Karel Capek, em sua peça R.U.R (Rossum’s Universal Robots) em referência ao termo robota,
que significa trabalho escravo nas línguas eslavas. A peça retrata os robôs como máquinas que
se aparentavam com os seres humanos, mas que trabalhavam incansavelmente, e acabaram se
voltando contra seus criadores, tentando assim, aniquilar a raça humana.
Vinte anos depois na década de 1940, a imagem do robô como um artefato mecânico teve
seu início quando o russo Isaac Asimov, conhecido escritor de ficção científica, reapresentou o
robô como um artefato de aparência humana desprovido de sentimentos. Seu comportamento
era determinado por um “cérebro” eletrônico programado por um humano. A partir disso, o
termo robótica foi então introduzido por Asimov como a ciência que estuda os robôs, e dessa
forma, foram estabelecidas pelo altor as três leis fundamentais da robótica:
1. um robô não deve machucar um ser humano, ou permitir que ele sofra algum mal;
2. um robô deve obedecer as ordens dadas por um ser humano, a menos que elas entrem em
conflito com a primeira lei;
3. e a última, um robô deve proteger sua própria existência, desde que, se proteger não entre
em conflito, tanto com a primeira, quanto com a segunda lei.
Neste cenário de ficção científica, essas leis são admissíveis, lógicas e desejáveis, entre-
tanto, a tecnologia da atualidade ainda precisa evoluir para idealiza-las. Assim sendo, NOF
(1999) propôs, de forma alternativa, três leis, adequando às propostas por Asimov, contudo,
25
num contexto de possibilidade real de utilização e empregabilidade, onde o ser humano deve
ser substituído por robôs em:
3. atividades onde são mais produtivos e econômicos: robôs trabalham noite e dia, sem
perda de desempenho mantendo o mesmo padrão da qualidade do produto.
Tais leis, servem até hoje como referência aos engenheiros e projetistas, no que se refere às
especificações para a integração e emprego de um robô, demandando um alto nível de conheci-
mento em áreas distintas da ciência de forma sinérgica, mas que, porém, proporciona um vasto
leque de possibilidades de aplicação, como ilustrado na FIG. 2.1.
FIG. 2.1: Áreas de conhecimento e robótica. (Adaptado de MACEDO & RIBEIRO (2015))
A definição do termo robótica é comumente dita como “a ciência que estuda a conexão
inteligente entre a percepção (sistema de sensoriamento) e a ação (sistema de atuação)” (TSAI,
1999; SICILIANO et al., 2009; SICILIANO & KHATIB, 2008), o que pode ser entendida
também como o estudo das máquinas que podem substituir as tarefas executadas pelo homem,
tanto no que tange aos aspectos físicos das atividades, quanto ao processo de tomada de decisão.
Segundo SICILIANO et al. (2009), um sistema robótico é composto por múltiplos subsistemas,
como esquematizado na FIG. 2.2.
26
FIG. 2.2: Sistema robótico. (Adaptado de SICILIANO et al. (2009))
O sistema de mecânico propriamente dito, é composto por um braço mecânico, pelo punho
do robô e efetuador-final escolhido (também conhecido como ferramenta ou garra). O sis-
tema de atuação, com papel de animar o sistema mecânico, é composto por servomotores,
acionadores e transmissões. Já o sistema de sensoriamento, é o responsável por coletar da-
dos, tanto do sistema mecânico (transdutores de posição), quanto dados externos do meio no
qual o robô irá atuar (com sensores de força e câmeras). Por fim, o sistema de controle, elo
entre a percepção e a ação, comanda a execução da ação atendendo as metas estabelecidas pelo
planejamento da tarefa desejada, assim como as restrições impostas pelo robô e o ambiente (SI-
CILIANO et al., 2009).
A robótica pode ser classificada de acordo com tipo de ambiente de atuação do robô. A
Robótica Avançada, normalmente se refere a robôs autônomos que devem operar em ambi-
entes pouco estruturados ou mesmo não-estruturados, isto é, com características físicas e ge-
ométricas pouco ou não conhecidas. Já a Robótica Industrial, a qual leva esse nome por ser
constituída por robôs de aplicação industrial, lida com um ambiente estruturado, onde as carac-
terísticas físicas e geométricas são conhecidas, e.g, o chão de fábrica de uma indústria; e dessa
forma precisa de baixa autonomia (SICILIANO et al., 2009).
Como a dissertação tem como foco a Robótica Industrial, será dado um enfoque maior
sobre o assunto nas próximas seções, a começar por entender adequadamente as necessidades e
objetivos de desempenho da indústria.
27
2.2 A INDUSTRIA E OS ROBÔS
De forma a contribuir com a melhoria do desempenho das indústrias, SLACK et al. (2002)
enunciaram cinco objetivos de desempenho com propósito de melhorar os processos de fabrica-
ção e atender as exigências, cada vez maiores, dos consumidores, de modo a contribuir para o
aumento da competitividade entre os produtos fabricados. Tais objetivos, encontram-se ilustra-
dos na FIG. 2.3, e podem ser definidos como:
• rapidez, que tem como significado o tempo transcorrido entre a requisição e o recebi-
mento de produtos ou serviços pelos consumidores;
• confiabilidade, que representa a confiança que o consumidor tem de receber seus bens ou
serviços exatamente na data acordada. Portanto, só é possível se avaliar a confiabilidade
de um produto/serviço após o consumidor tê-lo recebido, todavia, com o decorrer do
tempo pode ser mais importante do que qualquer outro objetivo de desempenho;
28
Preço baixo,
Efeitos externos dos cinco margem alta
objetivos de desempenho ou ambos
Tempo de Entrega
entrega confiável
reduzido Custo
Rapidez Confiabilidade
Efeitos
Internos
Produção Operação
Rápida Confiável
Alta produtividade
Qualidade Flexibilidade
Uma forma de atender a esses objetivos é a partir da automação dos processos de fabricação,
que pode ser classificada em três diferentes níveis de automação industrial: (1) a automação
rígida, que lida com um contexto de fábrica orientada para produção em massa de um mesmo
tipo de produto; (2) a automação programável, que trata de fábricas orientadas para produção
de pequenos a médios lotes, de diferentes tipos, por permitir mudanças nas sequências de ope-
rações a serem executadas; e por fim, (3) a automação flexível, que representa a evolução da
automação programável, permitindo a fabricação de vários lotes de diferentes produtos, por
minimizar o tempo levado para a reprogramação da sequência de operações e o maquinário
empregado para passar de um lote para o outro.
Dito isso, o robô industrial possui características significantes no que diz respeito a sua
repetibilidade, versatilidade e flexibilidade. Em virtude de sua capacidade de ser reprogramado,
ele é um componente típico de sistemas de automação programáveis, todavia, também são
empregados em sistemas de automação rígida e flexível (SICILIANO et al., 2009).
Os robôs industriais podem ser considerados como um sistema multicorpos, ou seja, pos-
29
suem múltiplos corpos, ou elos, conectados por juntas, que formam uma cadeia cinemática, que
no caso dos robôs seriais, essa cadeia cinemática é aberta, e por isso, na maior parte dos casos,
possui uma quantidade de graus de liberdade (DOF) igual a quantidade de juntas (SICILIANO
et al., 2009; NORTON, 2010).
As juntas podem ser classificadas em função das juntas elementares, i.e.: (1) juntas prismáti-
cas (P), que executam movimentos lineares ao longo de um eixo, ou; (2) juntas de revolução
(R), que executam movimentos angulares em torno de um eixo, como ilustrado pela FIG. 2.4
(NORTON, 2010).
Δx Δθ
A análise dos tipos de junta e a ordem da sequência das três primeiras juntas classificam
o manipulador, podendo ser: robôs: (1) cartesianos; (2) cilíndricos; (3) esféricos; (4) SCARA
(Selective Compliance Articulated Robot Arm); e (5) o antropomórfico. Dependendo das di-
mensões dos elos e da sequência de posicionamento das juntas entre os mesmos, o espaço de
trabalho é modificado, como ilustrado nas TAB. 2.1 e 2.2 (SICILIANO et al., 2009).
TAB. 2.1: Classificação dos tipos de robôs industriais (SICILIANO et al., 2009)
1. Robo Cartesiano
(SANTOS, 2017)
30
TAB. 2.2: Classificação dos tipos de robôs industriais (Continuação) (SICILIANO et al., 2009)
3. Robo Cilíndricos
(SANTOS, 2017)
4. Robo Esféricos
(SANTOS, 2017)
5. Robo SCARA
(SANTOS, 2017)
6. Robo Antropomórfico
(SANTOS, 2017)
De acordo com a classificação, o robô estudado nesta dissertação, o Motoman MH5F, é clas-
sificado como um robô antropomórfico, possui seis juntas, em que as três últimas juntas com-
põem o punho esférico. Segundo SICILIANO et al. (2009) os punhos devem: ser compactos,
31
o que muitas vezes dificultam seu projeto; e possuir pelo menos três graus de liberdade (DOF),
proporcionando a destreza necessária ao robô. Os punhos esféricos, i.e., aqueles cujos eixos
de rotação das juntas se interceptam em um único ponto, proporcionam maior destreza aos
manipuladores (SICILIANO et al., 2009). A FIG. 2.5 ilustra essa definição.
32
Botão de início de execução
de Playback [START]
Botão de espera [HOLD]
JOB CONTENT
EDIT DISPLAY UTILITY
J:TEST01 S:0000
CONTROL GROUP:R1 TOOL:
Tecla de navegação
Main Menu Short Cut Turn on servo power
AUX
MOTION
TYPE
0 TOOL OF TOOL OF
JOB
MODIFY ENTER
Tecla enter
Tecla de tipo de [ENTER]
movimento
Teclado numérico
[MOTION TYPE]
Mesmo com o avanço dos anos, e os PPs terem se tornado mais ergonômicos (mais leves,
interfaces gráficas mais intuitivas, e alguns possuirem capacidade wireless), não houveram mu-
danças significativas no processo de ensino da tarefa (programação on-line), que é feito através
do PP, mediante a um processo de tentativa e erro para o posicionamento correto da garra, o qual
é dependente da experiência do operador e se torna uma barreira quando este possui pouca, ou
nenhuma experiência prévia. (YASUDA, 2017). Todavia, esse processo é ainda muito utilizado,
e mesmo que a programação off-line seja adotada na empresa, ainda é necessário a validação da
tarefa usando o PP, e desta forma, depende da destreza do operador, em ser capaz de manobrar
o robô e de programar de forma on-line.
Já na programação off-line, o programador deve ser treinado e habilitado a utilizar o software
capaz de simular a linguagem de programação do robô e a tarefa a ser realizada. Ambos os tipos
de programação possuem vantagens e desvantagens. A programação on-line, representada na
FIG. 2.7, é relativamente simples, onde o operador precisa realizar alguns passos, como:
33
• posicionar a ferramenta do robô utilizando o PP de modo a obter pontos pertencentes à
trajetória desejada;
• criar o algoritmo necessário, estabelecendo a sequência correta dos pontos, bem como o
tipo de trajetória entre eles, compondo assim a tarefa desejada.
FIG. 2.7: Programação on-line realizada por aluno do IME. (Autoria própria)
Apesar da programação on-line ainda ser o método convencional de ensino da tarefa, ainda
é rudimentar e necessita utilizar o próprio robô para a programação, o que pode resultar na
parada de uma linha inteira de produção. Segundo PAN et al. (2012), a programação de uma
grande linha automotiva de soldagem a arco utilizando a programação on-line pode levar mais
de 8 meses, enquanto o tempo de execução do processo de soldagem é de apenas 16 horas,
resultando em uma razão de 368 vezes entre os tempos de programação e execução. Já em
SANTOS et al. (2017b), para uma tarefa mais simples de pick-and-place realizada no IDR
Lab do IME, com tempo de execução de 12 minutos, foram necessárias, aproximadamente,
27 horas de programação, ou seja, um tempo de programação 135 vezes maior do que o tempo
de execução. O fato do operador estar muitas vezes exposto a um equipamento que demanda
atenção constante para evitar acidentes, e a qualidade dos movimentos do robô dependerem da
destreza do operador também tornam-se desvantagens.
34
Em contrapartida, a programação off-line não exige a disposição do robô durante todo pro-
cesso de programação. Os softwares de programação off-line, utilizam um modelo em CAD 3D
para gerar e simular a rotina antes de utilizar o robô em si. Um exemplo disso pode ser encon-
trado na FIG. 2.8, onde é apresentado o software MotoSim da fabricante Yaskawa Motoman.
Entre as diversas vantagens da programação off-line, além da não utilização do robô, as mais
visíveis são: (PAN et al., 2012)
• os programas gerados são mais flexíveis, podendo ser alterados com facilidade por inter-
médio do software, reduzindo muito a necessidade do robô; e,
A maior parte dos software de programação off-line são desenvolvidos pelos próprios fabri-
cantes para serem utilizados em seus robôs especificamente, limitando a utilização aos robôs
de sua respectiva marca. Dentre eles podem ser citados os softwares: KUKA.Sim (KUKA,
2018), Roboguide (FANUC, 2017), Robotstudio (ABB, 2018) e Motosim (YASKAWA, 2017).
35
Todavia, existem também software mais abrangentes, que possibilitam trabalhar com diferen-
tes marcas de robôs, como o RobotDK (ROBOTDK, 2018), Octopuz (OCTOPUZ, 2018) e o
Fastsuite da CENIT (FASTSUITE, 2017).
Entretanto, mesmo dispondo desse tipo de software, a programação off-line tem sua com-
plexidade. Requer ressaltar que há necessidade de um investimento relativamente alto para a
aquisição das licenças, e não dispensa treinamento no software, o que também pode represen-
tar custo e tempo adicionais. Outro ponto importante é que, apesar do tempo de utilização do
equipamento real ser reduzido consideravelmente, a programação off-line requer uma etapa de
calibração entre o modelo gerado em CAD 3D e o ambiente real. Finalmente, cabe ressaltar
que ainda é necessário o uso do robô real, já que é preciso realizar a validação do programa, o
que requer conhecimentos de operação do robô.
Cada fabricante de robô possui sua linguagem de programação própria, o que implica na
necessidade dos programadores de entenderem variadas linguagens de programação em função
dos robôs que irão operar, embora o conceito associado à programação guardar similaridades.
36
a destreza e os condicionamentos mentais estão em construção progressiva, o que acontece com
o decorrer do tempo em atividades práticas monitoradas. Assim sendo, tais atividades devem
seguir procedimentos de segurança bem definidos, com ainda maior rigor nas fases iniciais,
visando diminuir o alto risco de acidentes com pessoal, e de danos e avarias ao equipamento.
Com o aumento da capacidade e acessibilidade dos computadores à população, novas tec-
nologias ganham desenvolvimento e tornam-se mais acessíveis e eficientes, passando a serem
viáveis para implementação em educação. Um exemplo é o aumento da capacidade de pro-
cessamento das placas de vídeo, que possibilitam a criação de modelos virtuais com maior
semelhança aos equivalentes reais, e dos processadores, cada vez mais rápidos e capazes de
processar quantidades cada vez maiores de cálculos. Esses avanços tecnológicos tornaram pos-
sível a criação de Laboratórios Virtuais (Virtual Laboratories - VLs), cada vez mais interativos
e fieis a realidade.
37
por outro lado, é o passo inicial em um processo de ensino regular, para preparar os estudantes
para o laboratório real”.
BABATEEN (2015) propôs outra definição onde “o VL pode ser definido como um ambi-
ente de estudo e aprendizagem virtual, que estimula o laboratório real. Ele fornece aos estu-
dantes ferramentas, materiais e conjuntos de laboratórios no computador, a fim de realizar ex-
perimentos subjetivamente, ou dentro de um grupo, em qualquer lugar e a qualquer momento.
Esses experimentos são salvos em CD ou em um web site”.
POTKONJAK et al. (2016) propôs uma outra definição onde “operar um VL deve propor-
cionar que o estudante se sinta trabalhando com dispositivos reais autênticos em um espaço
autêntico e real”. Além disso afirmou que “o estágio final de treinamento requer o equipamento
real, pois, para o aluno conseguir as habilidades mais ‘finas’ é geralmente necessário que ele
tenha experiência pessoal prática”.
De fato, a partir das diversas definições propostas sobre VL na literatura pode-se concluir
que, ainda, não há uma definição específica e única para os VLs. Dessa forma, é realizada, a
partir das definições supracitadas, uma definição que acredita-se adequada para guiar o desen-
volvimento do VL proposto nesta dissertação, ou seja:
“O Laboratório Virtual (VL) é um ambiente de estudo e aprendizagem virtual, que
simula o comportamento do equipamento e faz com que o estudante se sinta trabalhando
com o dispositivo real. Ele fornece materiais e ferramentas de forma a capacitar o aluno
a estudar os conceitos do equipamento, independentemente de tempo e lugar, oferecendo
opção de salvar o trabalho realizado. Além disso o VL deve servir como uma forma inter-
mediária de aprendizagem i.e., não dispensa a utilização do equipamento real, entretanto,
deve ser capaz de preparar os alunos para o laboratório convencional, independentemente
se o curso é baseado inteiramente a distância ou não.”
Esta definição buscou unir conceitos encontrados na literatura e serve como premissa ao
desenvolvimento do VL proposto nesta dissertação.
38
transparentes no equipamento real, e.g. espaço de trabalho do robô.
Entretanto, também são apontadas algumas desvantagens proporcionadas para cursos re-
alizados exclusivamente com VLs, sendo elas: (1) a necessidade de recursos computacionais,
que apesar de mais baratos do que o equipamento real, possuem alta complexidade relativa,
principalmente em desenhos mecânicos, em CAD 3D, complexos e modelagem física do pro-
blema; (2) como o VL é por natureza um ambiente virtual, que não existe, o estudante pode
apresentar falta de seriedade, responsabilidade e cuidado ao realizar a tarefa, o que não ocor-
reria com o equipamento real; e, (3) o fato de que usualmente o último estágio do treinamento
exigir que o aluno utilize o equipamento real, pois somente assim, será possível adquirir, de
fato, a proficiência com o equipamento.
39
em computadores pessoais ou consoles de vídeo game (SUSI et al., 2007). A proposta do
CAMPS, abordada nesta dissertação, tem como foco principal, estabelecer a relação usuário/e-
quipamento, e não usuário/monitor ou usuário/usuário, como infere o critério C4.
Entretanto, foi adicionado um quinto critério abordado por JARA et al. (2011a), o qual
infere que:
• (C5) o simulador deve apresentar uma interface gráfica interativa, de modo que dispense
a necessidade do conhecimento em algum tipo de linguagem de programação para exe-
cutar a simulação, ou seja, deseja-se um nível de abstração de alto nível, onde a única
linguagem de programação utilizada durante o treinamento é a linguagem “nativa” do
robô que via um PP virtual, o usuário realiza a simulação.
Este critério (C5) foi considerado relevante, já que em muitos casos, principalmente quando
são considerados alguns softwares comerciais ou livres, de uso genérico, existe a necessidade de
se conhecer uma linguagem nativa do ambiente de desenvolvimento do VL, para poder realizar
as simulações.
De modo a alcançar êxito nos critérios elencados, buscou-se utilizar conceitos de Enge-
nharia Reversa para mapear as funcionalidades do MH5F, para tal, o item a seguir apresenta
conceitos relativos que deram suporte e método ao mapeamento.
40
também é utilizada em prototipagem de novos projetos ou peças que necessitam ser reparadas.
Além disso é altamente utilizada em indústrias de tecnologia de informação e software, desde o
desenvolvimento do código de software até segurança de redes de internet. (WANG, 2011)
Quando aplicada em software, a Engenharia Reversa de Softwares tem como função analisar
um sistema específico para assim criar suas representações em um maior nível de abstração, que
esquematicamente encontra-se ilustrada na FIG. 2.9. Em Engenharia de Software níveis altos
de abstração tipicamente envolvem conceitos e requerimentos, enquanto níveis mais baixos, o
projeto e implementação. Desta forma, a RE de software, realiza transformações de um nível de
abstração mais baixo, para um mais alto, reestruturando transformações dentro de um mesmo
nível de abstração (WANG, 2011; PRESSMAN, 2011).
recuperação
recuperação de design
de design
Reengenharia Reengenharia
(renovação) (renovação)
1. analisar os eventos que representam as funções básicas (ex: teclas do teclado e cliques do
mouse) que a interface de comunicação com o usuário deve processar;
41
3. analisar possíveis substitutos, ou seja, considerar se conceitos de equivalência de inter-
faces são relevantes.
42
3 METODOLOGIA PARA DESENVOLVIMENTO DO CAMPS
Cabe ressaltar que as etapas foram extraídas de HOVAKIMYAN et al. (2013), que propõem
uma metodologia com treze etapas para desenvolvimento de VLs específicos para a Química.
Todavia, apesar do foco desta dissertação ser Robótica Industrial, essas cinco etapas estão ali-
nhadas com os conceitos de RE e são pertinentes para o desenvolvimento do CAMPS. Desta
forma, são apresentadas, de forma detalhada, nas seções deste capítulo.
43
que estão presentes no PP devem ser implementados no VL, demandando sua execução para dar-
se início a operação do robô virtual. O procedimento consiste em liberar o botão de emergência
da trava de segurança e a chave de comando posta na posição “Teach” para que possa dar inicio
ao procedimento de programação on-line.
Apesar de necessário tomar as devidas medidas de segurança e ter o conhecimento do
equipamento, em geral, o procedimento de programação on-line é relativamente simples, sendo
necessário, normalmente, realizar três etapas básicas, como apresentado na Seção 2.3, sendo
elas:
2. salvar o ponto no controlador, associando uma numeração que não esteja sendo usada, e
repetir a primeira etapa, de forma a gerar uma “nuvem” de pontos de interesse que irão
compor a trajetória desejada; e,
3. criar um algoritmo, a partir dos comandos da linguagem nativa do robô utilizado, de modo
a compor a tarefa desejada, com base nos pontos ensinados - os quais geram a trajetória
do robô - e outros comandos e.g., abrir e fechar a garra.
Entretanto, dependendo do robô utilizado e da tarefa a ser executada, cada uma dessas
etapas demanda conhecimentos diferentes em relação a: (1) comandos a serem utilizados, que
são específicos dependendo da linguagem de programação do robô em questão; e, (2) técnicas
que auxiliam o processo de salvamento de pontos. Desta forma, como o objetivo do CAMPS é
ser um laboratório virtual que seja capaz de reproduzir e ensinar de maneira prévia, conceitos
e funcionalidades específicas do robô Motoman MH5F, utilizados durante o treinamento de
programação on-line tradicionalmente realizado pelos estudantes, o ponto de partida para definir
quais são os principais conceitos a serem abordados pelo VL é conhecer a tarefa desejada,
uma vez que o robô em si já está definido.
A primeira tarefa para introduzir os conceitos de programação deve ser simples, e viabilizar
que fundamentos introdutórios sejam observados. Assim sendo, a tarefa escolhida é a mesma
abordada por SANTOS et al. (2017a), que é, tradicionalmente, usada durante a habilitação dos
alunos do IME. Consta de uma operação de pick-and-place, onde deve ser realizada a reorga-
nização de três peças cúbicas de cores distintas, empilhadas uma sobre as outras num pallet
de armazenamento. Inicialmente as peças se encontram empilhadas conforme a FIG. 3.1(a),
44
na ordem: azul; amarela; e vermelha, onde o objetivo é programar o robô para que ele possa
reorganizar os blocos a partir do processo ilustrado pelas FIG. 3.1(a)-(g), usando apenas dois
espaços vagos no pallet, e posteriormente indo para a ordem final: amarela; vermelha; e azul,
como ilustrado pela FIG. 3.1(g).
O primeiro conceito a ser ensinado ao aluno, é a posição inicial do robô, chamada de HOME.
Esta posição tem como característica possuir os valores do encoder de cada junta zerados.
Usualmente, ao ligar e ao desligar o robô, ou iniciar e ao finalizar uma tarefa, essa posição
serve como referência e é convencionalmente utilizada, principalmente na troca de programas,
como forma de evitar a ocorrência de acidentes.
O segundo conceito a ser abordado, refere-se aos modos de movimentação, que permitem
que o operador manobre o robô de uma posição para outra durante o processo de ensino de pon-
tos. O Motoman MH5F, dispõe de quatro modos de movimentação: juntas (JOINT); coorde-
nadas da base (BASE); coordenadas da ferramenta (TOOL); e, coordenadas do usuário (USER).
Entretanto, na fase inicial de treinamento optou-se por apresentar ao aluno somente o primeiro
45
e o terceiro modos durante a programação, ou seja, os modos de junta e de coordenadas da
ferramenta, como ilustrado nas FIG. 3.2(a) e (b).
No modo de junta, o robô move cada uma de suas juntas individualmente. Para o caso do
robô Motoman, especificamente, cada uma das juntas recebe um nome específico composto pela
primeira leta das palavras: Swing (S); Lower arm (L); Upper arm (U); Rotation (R); Bend (B);
e, Twist (T), iniciando pela base até a última junta anterior ao flange aonde é conectada a fer-
ramenta, e assim, formando pelas iniciais a palavra SLURBT, como é utilizado pela própria
fabricante para auxiliar os operadores durante a operação do MH5F. Quando uma junta é movi-
mentada utilizando o modo JOINT, as posições dos enconders são alteradas somente em relação
ao eixo da junta, enquanto as demais não se alteram. Esse modo é direto e mais rápido do que
os demais já que não é necessário calcular uma trajetória específica (AMATROL, 2005).
Ao utilizar o sistema de coordenadas da ferramenta (TOOL), o manipulador se movimenta
em uma trajetória linear em relação ao referencial definido no efetuador final. O sistema de
coordenadas da ferramenta segue ao longo da mesma direção do sistema de coordenadas que se
encontra no Tool Center Point (TCP) (ponto específico dos robôs industriais que fica localizado
próximo a ponta da ferramenta, e pode ser regulado de acordo com o tipo de efetuador utilizado),
e muda sua orientação toda vez que a ferramenta sofre inclinações de rolamento, tombamento
e arfagem (roll, pitch e yaw). O eixo +Zf , da ferramenta, se estende diretamente na frente da
garra do robô, o eixo +Xf vai diretamente para cima da garra, e o eixo +Yf vai diretamente à
direita da garra, conforme ilustra a FIG. 3.3. O modo de referência na ferramenta permite que
o operador realize posicionamentos exatos do robô em um ângulo que não seja paralelo à base
46
do manipulador. Isto permite que o operador movimente o robô numa linha reta com relação ao
efetuador-final do manipulador, como mostra a FIG. 3.2(b), facilitando o processo de ensinar
pontos.
xf
zf
yf TCP
A criação da “nuvem” de pontos que constitui a tarefa é uma das atividades mais impor-
tantes durante o processo de programação on-line, pois, é a partir dos pontos ensinados que
serão criadas as trajetórias que definem a tarefa do robô, e um ponto mal ensinado, significa
retrabalho. Desta forma, esse conceito se torna relevante e deve ser abordado pelo CAMPS.
Segundo AMATROL (2013), em uma tarefa onde é necessário posicionar a garra do robô,
que carrega a peça para uma posição com tolerâncias pequenas, como a tarefa de pick-and-place
adotada no treinamento, é recomentado utilizar três tipos de pontos durante a aproximação e
afastamento do efetuador-final, representados pela FIG. 3.4. O primeiro é chamado de chamado
de ponto de hover (FIG. 3.4(a)), que é um ponto de segurança, onde não há riscos de colisão
com nenhum equipamento no ambiente, e assim, o robô pode se movimentar mais rapidamente;
O segundo, é o ponto de aproximação (FIG. 3.4(b)), que é um ponto mais próximo da peça ou
área em que o efetuador-final deve entrar em contado. A AMATROL (2013) recomenda que a
distância entre o ponto de aproximação e o de contato seja de aproximadamente 1 polegada. O
último, é o ponto de contato (FIG. 3.4(c)) que é um ponto específico em que o efetuador-final
consiga realizar sua atividade-fim, i.e. agarrar a peça. Vale citar que nessa etapa é necessário
obter a equidistância adequada entre extremidades dos “dedos” da garra (extremidades internas
da garra) e a superfície do objeto alvo antes de, efetivamente, ocorrer o fechamento da ferra-
menta para não deslocar a peça, evitando que uma extremidade entre em contato com o objeto
47
antes da outra, e dessa forma, o “empurrando”.
2
3
Após finalizada a etapa de criação da “nuvem” de pontos que constitui a tarefa, segue o
processo de criação e desenvolvimento do programa, que representa a rotina da tarefa que o
robô precisa executar, nomeada pela Yaskawa de JOB. Esse procedimento é bastante simples e
consiste na criação do JOB efetivamente, onde é possível atribuir um nome, usando um teclado
alfanumérico que aparece na tela do PP, e encadear uma sequência lógica contendo comandos
de forma a estruturar a rotina da tarefa.
48
do JOB, pois representam os tipos de trajetória, em que o robô pode utilizar durante a movi-
mentação entre os pontos, e assim gerar a trajetória da tarefa. Em geral, existem três principais
tipos de trajetória: ponto a ponto, linear e circular; Entretanto, apesar do MH5F disponibilizar
os três tipos, durante a tarefa de habilitação são utilizadas somente as trajetórias ponto a ponto,
e linear, e dessa forma, somente essas duas foram implementadas no CAMPS.
(a) (b)
Após apresentar a estratégia para criação de pontos, o próximo conceito necessário, é a ati-
vação do efetuador-final. Muita das vezes, o robô é comprado sem a ferramenta, que é adquirida
separadamente levando em conta o tipo de tarefa, por isso, muitas vezes é considerada um
49
acessório, e atuada via output, condição que ocorre no Motoman do MecatrIME, que possui
uma garra pneumática instalada como output 1 - OT#(1). Como nesse caso se trata de uma
tarefa de pick-and-place a ativação do output consiste na abertura e fechamento da garra.
No caso do MH5F instalado no IME, são necessários dois comandos para atuar na abertu-
ra/fechamento da garra. O primeiro, chamado de DOUT (device output); e o segundo chamado
TIMER, comando que tem o objetivo de fazer com que o robô aguarde um determinado tempo.
O segundo comando se torna necessário pelo fato da garra pneumática possuir um tempo de
resposta relativamente maior do que os comandos elétricos enviados para movimentação das
juntas do robô, então sempre que utilizado o DOUT para fechar a garra (FIG. 3.6(b)), deve ser
utilizado o comando TIMER com o tempo de 1 s (FIG. 3.6(c)), com o intuito de dar o tempo
necessário para a garra pneumática fechar completamente e agarrar a garra, antes do robô sair
e continuar a tarefa (FIG. 3.6(d)). Caso contrário, o robô irá se mexer antes da garra fornecer a
força normal necessária para efetivamente segurar a peça.
O último conceito necessário a ser ensinado aos alunos é a depuração do código em sí.
Essa etapa também é de extrema importância, pois é o momento em que o programador de
robôs verifica se o código tem algum tipo de erro. Consiste em executar linha-a-linha do JOB
e analisar se o robô executa a tarefa na forma correta, e face a importância para o treinamento,
cabe implementação no CAMPS.
Após estabelecidos os conceitos principais que o VL irá abordar, ou seja, o que se pretende
ensinar ao aluno, o próximo passo é identificar os elementos básicos necessários, que devem
50
estar presentes no VL de forma a atender os critérios estabelecidos na Seção 2.5, bem como as
funcionalidades de operação e a relação entre eles. Assim, o objetivo desta seção é apresentar,
de forma detalhada os itens físicos, e as funcionalidades (itens abstratos) necessárias a serem
implementadas no VL de forma a garantir que o VL seja o mais similar possível ao laboratório
real, no que diz respeito à tarefa básica utilizada para fixar os conceitos, e que atenda cada um
dos critérios, conforme detalhado a seguir.
O critério (C1) avalia o quão similar ao real é a interface do VL com o usuário. Isto re-
sulta na necessidade de ser implementado um PP virtual no CAMPS, devendo possuir a maior
similaridade possível com a TPU real do Motoman.
O critério (C2) avalia o comportamento do sistema virtual, o que implica que as funcio-
nalidades do PP do CAMPS sejam similares ao real, possibilitando a aplicação dos conceitos
presentes na tarefa, basicamente no que tange à capacidade de manobrar o robô nos modos
JOINT e TOOL; no acionamento da garra, no processo de ensinar pontos; e na criação e simu-
lação comando a comando do programa escrito (JOB) pelo aluno.
O critério (C3) avalia o ambiente de visualização gráfica, o que implica que os modelos
em CAD 3D do MH5F, pallet, blocos presentes na tarefa de habilitação e elementos de cenário
como mesa e o pedestal do robô estejam compondo um ambiente virtual, que permita a nave-
gação do usuário, fornecendo a capacidade de visualização em ângulos e posições, diferentes,
bem como profundidade a partir da aplicação de zoom.
O critério (C4) avalia a comunicação entre alunos e supervisor no VL, que não foi imple-
mentado no CAMPS. Assim, o VL demanda um monitor presencial para instrução, ou seja,
atualmente não possui capacidade de ser utilizado em ensino à distância.
O critério (C5) avalia a ausência da necessidade de conhecimento da linguagem de pro-
gramação computacional na qual o VL foi concebido. O CAMPS não exige conhecimento
qualquer, além de clicar em um ícone para iniciar o programa e usar o mouse para navegar no
cenário, ao ser utilizado os botões direito e esquerdo para rotacionar e transladar, bem como o
uso do Ctrl em conjunto com mouse para zoom. Além disso, comando algum do RAD Studio
Tokyo (software que foi utilizado para o desenvolvimento do CAMPS) precisa ser digitado,
focando somente nos comandos da linguagem INFORM III do MH5F, alvo dos conceitos que
almejam ser ensinados.
51
3.3 MODELO FORMAL PARA O VL
Após o detalhamento dos elementos básicos do VL, faz-se necessário desenvolver um mo-
delo formal para o cenário do VL e sua adaptação ao modelo matemático mais apropriado.
Assim sendo, foi realizada nessa seção modelagem dos itens físicos do sistema, i.e, robô, ambi-
ente e o PP, utilizando os conceitos de Engenharia Reversa introduzidos na Seção 2.6, que por
sua vez foi dividida em três etapas, (1) escolha do modelo matemático para resolução cinemá-
tica do robô; (2) modelagem em CAD 3D dos componentes do cenário virtual e adequação ao
método matemático escolhido para o posicionamento de cada componente no cenário; e, (3) a
modelagem em CAD 3D do PP virtual.
• cinemática inversa: tem como objetivo descobrir o vetor posição das juntas, a partir de
variáveis de entrada que são os vetores de posição e orientação do efetuador-final em
relação ao referencial absoluto.
A modelagem cinemática usada no CAMPS é feita a partir da Teoria dos Helicoides, mais
especificamente através do Método dos Deslocamentos dos Helicoides Sucessivos (MDHS).
A escolha desse método, em relação à convenção de Denavit-Hartenberg (DH), vem da maior
simplicidade no processo de obtenção e implementação computacional do modelo cinemático
baseado em ROCHA et al. (2011), entretanto, a modelagem pela convenção de DH também foi
feita, e encontra-se no Apêndice 8.2.
52
3.3.1.1 TEORIA DOS HELICOIDES
Segundo TSAI (1999), um helicoide é um ente geométrico que pode ser definido a partir de
quatro parâmetros:
2. um vetor posição, s0 = [s0x , s0y , s0z ]T , que liga o referencial absoluto a um ponto perten-
cente ao eixo do helicoide;
A
P
t t
A A
Pr Pr
B
B P
P
rB
S0 rA
r A
S0 p
B
p
s s0 s s0
z z
y y
x x
(a) Representação de um corpo rígido (b) Análise vetorial
pA = RB
A B
p + qA (3.1)
53
De forma generalizada, pode-se escrever a EQ. 3.1 como:
onde p̃A = [pA 1]T é o vetor na forma homogênea de localização do ponto alvo, isto é, onde
se deseja alcançar; p̃B = [pB 1]T é o vetor na forma homogênea de localização do ponto de
referência; e TBA é chamada de Matriz de Transformação Homogênea (MTH)(4×4) . Esta, é
A
composta pela, matriz de rotação, RB , que fornece a orientação ao corpo, e pelo vetor posição
q A , ou seja: " #
A
RB qA
TBA = (3.3)
0 1
A
Conforme TSAI (1999), é possível obter a matriz RB através da análise da FIG. 3.7(b), em
função dos 4 parâmetros do helicoide, ou seja:
cθ + s2x (1 − cθ ) sy sx (1 − cθ ) − sz sθ sz sx (1 − cθ ) − sy sθ
A
RB =
sx sy (1 − cθ ) + sz sθ cθ + s2y (1 − cθ ) =
sz sy (1 − cθ ) + sx sθ
sx sz (1 − cθ ) + sy sθ sx sz (1 − cθ ) + sy sθ cθ + s2z (1 − cθ )
(3.4)
a11 a12 a13
=a a
21 22 23 a
a31 a32 a33
onde sθ e cθ são notações utilizadas para representar sen θ e cos θ, respectivamente. Já o vetor
posição q A é representado por:
tsx + s0x − s0x a11 − s0y a12 − s0z a13
qA =
tsy + s 0y − s 0x a 21 − s 0y a22 − s 0z a 23
(3.5)
tsz + s0z − s0x a31 − s0y a32 − s0z a33
54
FIG. 3.8 (TSAI, 1999). Sendo assim, para n juntas, o MDHS resulta no produtório de cada
MTH, i.e.:
3
n-1
2 3
n-1
2 n
1 n
un
1 p
z0 vn wn
s0 q Efetuador Final
Base
y0
O0
x0
Caso o robô tenha um efetuador final instalado, é necessário fazer o ajuste da ferramenta,
i.e., da orientação e posição em relação ao flange do manipulador. Desta forma é montada
mais uma MTH de ajuste de ferramenta (Tf ) e feita uma pós-multiplicação, em relação à MTH
resultante Tr , ou seja:
Ttot = Tr Tf (3.7)
O Apêndice 8.1, apresenta toda a dedução da Teoria dos Helicoides utilizada no CAMPS de
forma detalhada.
55
3.3.1.2 MODELAGEM DO ROBÔ
A modelagem do robô em sí foi realizada com base nos dados fornecidos pelo datasheet
do fabricante YASKAWA (2017), como pode ser evidenciado na FIG. 3.10, que possui as cotas
de cada junta em relação ao referencial global, para auxilio e determinação do vetor s0 . Já
a direção de cada junta, ou seja, o vetor s, foi obtida via experimentação com o MH5F real e
observando marcações existentes no manipulador, próximas às respectivas juntas, que identifica
o seu sentido, as Figs. 3.11(a) e (b) ilustram a localização dessas marcações no MH5F.
A partir desses dados foi possível montar a TAB. 3.1, que contém os vetores s e s0 de cada
junta (SLURBT) em relação ao referencial de base (absoluto), possibilitando a obtenção das
MTHs de cada junta e aplicar o MDHS para localizar a posição e orientação do flange do robô
no espaço.
88 305 80
U R B
40
T
310
L
330
S
Working range
Point P
(a) (b)
FIG. 3.11: Marcações dos sentidos das juntas do robô. (Autoria Própria).
56
TAB. 3.1: Componentes dos vetores s e s0 do Motoman MH5F
Parâmetros S L U R B T
sx 0 0 0 -1 0 -1
sy 0 -1 -1 0 -1 0
sz 1 0 0 0 0 0
s0x 0 88 88 88 393 473
s0y 0 0 0 0 0 0
s0z 0 0 310 350 350 350
* s0 - cotas em mm
112 mm
xf
zb
yb
zf
yf
xb
57
3.3.1.3 MODELAGEM DO CENÁRIO
Vencida a etapa de modelagem do robô industrial MH5F, faz-se necessário modelar o cenário
em CAD 3D, de forma a trazer maior realismo para o treinamento dos estudantes. Esta etapa foi
realizada utilizando a versão acadêmica dos softwares SolidWorks e 3DStudio Max, seguindo
o mesmo critério de modelagem adotado por MACEDO et al. (2018), descrito abaixo:
3. se nenhum dos critérios anteriores for atendido, modelar o equipamento valendo-se das
cotas obtidas a partir de medições com instrumentos de medição.
Além disso, é necessário ajustar o referencial do modelo 3D para permitir seu posiciona-
mento no ambiente CAMPS. Este ajuste é realizado seguindo dois outros critérios: (1) para o
caso de componentes que não executam movimento, o posicionamento da origem do modelo é
definido na projeção do centro geométrico no plano da superfície de contato, como ilustrado na
FIG. 3.13 para o modelo 3D do alimentador gravitacional; e, (2) no caso de componentes que
realizam movimentos, onde existe uma cadeia cinemática, como no MH5F, o referencial deve
coincidir com a origem da cadeia cinemática serial que representa o robô, conforme ilustrado
nas FIG. 3.14(a) e (b).
Projeção do
Centro Geométrico
Plano de contato
58
(a) (b)
Após realizar a modelagem no SolidWorks, o arquivo é salvo com a extensão .STL e, pos-
teriormente, é utilizado o software 3DStudio Max para conversão da extensão de arquivo, de
.STL para .3DS, uma vez que esta é usada na biblioteca gráfica open source, GLScene, utilizada
na elaboração do CAMPS.
Cada componente adicionado no cenário, possui seu próprio referencial, solidário à base de
sua cadeia cinemática de posicionamento, ou Cadeias Virtuais de Posicionamento (CVP), que
são uma forma alternativa de interpretação das Cadeias Virtuais de Assur (CVA), proposta por
CAMPOS et al. (2005), porém, ao invés de realizar o fechamento da cadeia cinemática aberta
como abordado por SIMAS et al. (2009), realizam o posicionamento do componente de cenário
(MACEDO et al., 2018). A CVP pode ser representada como seis juntas helicoidais do tipo
3P3R, sendo as três primeiras, prismáticas (3P) representando as translações (Px , Py e Pz ) ao
longo dos eixos x, y e z respectivamente, e as três últimas de rotação (3R), representando as
rotações (Rx ,Ry e Rz ) em torno dos eixos x, y e z, respectivamente.
Cada junta virtual, possui o vetor s coincidindo com a direção do vetor unitário do eixo que
se refere no referencial fixo, e o vetor s0 é nulo. Ao ser inserido, o componente de cenário tem
seu referencial coincidente com o referencial global do CAMPS. Desta forma, é necessário,
somente, ajustar os valores das variáveis de junta t, para as juntas virtuais prismáticas, e θ, para
as juntas virtuais de rotação, de modo a posicionar o componente de cenário em seu devido
lugar, conforme ilustrado na FIG. 3.15, para o caso do modelo 3D de uma mesa.
59
Referencial
Fixo Referencial
Movel
Rz
Px Ry
Rx
Py Pz
Portanto, à medida que novos componentes são adicionados, novas CVP são criadas, possi-
bilitando o posicionamento de outros componentes, e assim criar um cenário, conforme ilustrado
na FIG. 3.16.
Referencial
Movel
Referencial
Fixo
A partir do conceito de CVP, é criada a TAB. 3.2 com os valores de posição, Px , Py e Pz , bem
como os de orientação Rx , Ry e Rz , obtidos através da modelagem do cenário em SolidWorks
utilizando a ferramenta de medição do CAD para obter a distância entre a origem do referencial
global escolhido e o referêncial local do objeto a ser posicionado, conforme ilustra a FIG. 3.17.
60
Referencial
Absoluto
O cenário desenvolvido para o CAMPS, e representado pela TAB. 3.2, é composto por um
pedestal, que serve de base para o robô MH5F; uma mesa de trabalho, contendo, um alimentador
gravitacional; quatro “buffers” (local específico com função de armazenar peças por tempo
indefinido) e; três “racks” suspensos, que possibilitam o posicionamento de componentes para
posterior montagem. Acima do “rack” central, há um “pallet” com os três blocos relativos à
tarefa de treinamento para o módulo básico, conforme pode ser visto na FIG. 3.18.
61
TAB. 3.2: Parâmetros de posicionamento do cenário do CAMPS
Componentes de cenário Px Py Pz Rx Ry Rz
Mesa de montagem 0 0 0 0 0 -90
Pedestal do robô 0 402 0 0 0 0
Buffer 1 611 450 870 0 0 0
Buffer 2 611 302 870 0 0 0
Buffer 3 415 302 870 0 0 0
Buffer 4 415 450 870 0 0 0
Rack de montagem 1 -265 -50 870 0 0 0
Rack de montagem 2 -5 -50 870 0 0 0
Rack de montagem 3 255 -50 870 0 0 0
Alimentador gravitacional -600 400 870 0 0 90
Pallet -5 -49,5 909,8 0 0 0
Cubo vermelho -4,85 -49,2 930,7 0 0 0
Cubo amarelo -4,85 -49,2 962,5 0 0 0
Cubo azul -4,85 -49,2 994,3 0 0 0
Motoman MH5F -3,5 397 1197 0 0 -90
*Px , Py e Pz em mm, e Rx , Ry e Rz em graus
Tendo concluído a modelagem do robô e do cenário, esta seção tem como objetivo apresen-
tar a modelagem do PP. Foi adotado como parâmetro de dimensão uma tela de 15 polegadas de
um laptop, para verificação de legibilidade das inscrições dos botões, bem como informações
contidas na tela do PP.
A primeira linha de ação utilizada para representar o PP original na tela do computador
utilizado, foi utilizar uma representação do PP original disponível em YASKAWA (2014b),
conforme ilustrado na FIG. 3.19(a). Entretanto, verificou-se que a dimensão original não atendia
os requisitos de legibilidade de teclas e da tela de programação. Sendo assim, um novo PP foi
modelado, de forma a permitir visualização legível.
O PP virtual foi dividido em duas janelas distintas, a principal, maximizando as teclas e
inscrições, e diminuindo o visor, que por sua vez passa a ser usado para apresentar informações
de fácil acesso e disparar um evento mediante ao duplo clique do mouse, que mostra uma nova
janela de formato retangular, simulando a tela original do PP. Desta forma, em prol de tornar os
62
(a) (YASKAWA, 2014b) (b) (Autoria própria)
comandos legíveis, foi criada outra interface, como pode ser visualizado na FIG. 3.20.
O desenvolvimento do PP físico iniciou a partir da realização de um modelo em CAD 3D
utilizando a versão acadêmica do SolidWorks, que em seguida, foi exportado para o 3DStu-
dio Max de modo a inserir textura e renderização.
FIG. 3.20: PP recriado para ser utilizado em telas de computador. (Autoria própria)
63
3.4 IDENTIFICAÇÃO DE ABORDAGEM ORIENTADA A OBJETO NA PROGRAMAÇÃO
T CVA T Juntas
Nome: string +1 +6 Nome: string
+1 Tipo: string
Tipo: string
Junta id: integer q: real
Sx: real
Add Junta () Sy: real
+1 Sz: real
+5 S0x: real
T Pontos
S0y: real
Nome: string +1 S0z: real
NrJuntas: integer ArquivoCorpo: string
VarJunta: real T Modelos CorCorpo:TColor
Esfera: TGLSphere Nome: string FatConvPulse: real
CVA Id: integer
+1...* Pontos Id: integer
Jobs Id: integer
+1 Add CVA ()
CinDireta () T Cenários
CinInversa () Nome: string
SalvarJOB ()
+1...* +1 Modelo Id: integer
MOVL ()
MOVJ () Add Modelo ()
Ao todo foram construídas cinco classes para serem utilizadas no CAMPS, sendo elas: (1)
TModelos; (2) TJuntas; (3) TCVA; (4) TPontos; e, (5) TCenários. A primeira, TModelos, re-
presenta a estrutura de atributos e procedimentos que cada um dos componentes de cenário e
robôs instanciados no CAMPS possui. Ela disponibiliza para cada componente os procedimen-
tos da cinemática direta e inversa, bem como os procedimentos da trajetória ponto a ponto e
linear.
64
A próxima classe, TJuntas, representa os atributos e procedimentos peculiares às juntas,
amparados na Teoria dos Helicoides. Além disso, também guarda o arquivo do corpo imediato
que sucede a junta, bem como o fator referente a conversão de graus para pulsos elétricos da
junta correspondente do robô real, os parâmetros do helicoide e procedimentos que calculam a
MTH associada.
A classe TCVA representa a Cadeia Virtual de Assur. Em cada componente de cenário
do CAMPS, são necessárias, como abordado por SANTOS (2018), cinco CVAs, conforme
ilustrado na FIG. 3.22. A primeira, do tipo 3P3R, é a cadeia de posicionamento da base, a CVP,
conforme explicado na Seção 3.3.1.3. A seguinte, é referente a Cadeia das Juntas, chamada de
CJ para o caso do robô MH5F, pois representa a cadeia cinemática aberta do robô, composta por
seis juntas de rotação, entretanto, no caso de um componente de cenário qualquer, como uma
mesa, essa cadeia é do tipo 3P3R e tem o nome de Cadeia Virtual das Juntas (CVJ), conforme
nomeado por SANTOS (2018). A terceira, é a Cadeia Virtual Tool (CVT), referente ao ajuste
do referencial móvel do robô, que vem configurado de fábrica em seu flange, como sendo o
TCP da ferramenta. Assim ela serve para obter a MTH referente ao ajuste do referencial da
ferramenta a ser instalada, conforme visto na Seção 3.3.1.2.
A quarta CVA, tem o nome de Cadeia Virtual Move (CVM) que é utilizada para realizar
a cinemática inversa. Neste caso, o sistema de coordenadas é movido ao longo/em torno de
seus eixos até uma determinada localização, e quando aplicada a cinemática inversa, o robô se
move ao encontro desse ponto referente ao sistema referencial movido, reproduzindo o efeito
do comando MOVL na simulação.
Finalmente, a última cadeia, chamada de Cadeia Virtual de Fechamento (CVF) que faz o
fechamento da cadeia cinemática aberta, para a realização da cinemática inversa.
A classe TPontos possui os atributos e procedimentos que permitem gravar as variáveis de
juntas do robô MH5F em uma postura específica em um ponto no espaço. Além disso, ela
possui o atributo gráfico em forma de esfera, que dá a capacidade do ponto ser visualizado no
ambiente virtual do VL.
A última classe, é chamada de TCenarios, que é responsável por adicionar e gravar cada
modelo integrante do CAMPS, permitindo assim, a geração de um cenário realístico para o
treinamento dos estudantes.
65
FIG. 3.22: Representação compacta das CVAs. (Adaptado de SANTOS (2018))
Esse último tópico prevê que a implementação das abordagens sugeridas sejam capazes
de reproduzir exemplos da vida real. A relevância deste tópico fez com que fosse posto em
paralelo com as etapas anteriores, associando os conceitos básicos utilizados na tarefa de pick-
and-place, abordada durante o treinamento de habilitação do Motoman, conforme apresentado
na Seção 3.1. A implementação de um exemplo da vida real possibilita que o CAMPS seja
utilizado como passo intermediário entre a teoria e a prática em laboratório real, e torna factível
a realização de uma análise de eficiência do VL, como abordado no Capítulo 5. Cabe ressaltar
que, durante o processo de modelagem, também foi feito outro cenário, referente ao CIM -
MecatrIME inteiro, de forma a verificar a flexibilidade da OOP e capacidade do VL em lidar
com cenários mais complexos (ver APENDICE 8.6).
66
4 IMPLEMENTAÇÃO COMPUTACIONAL E SIMULAÇÃO
(a) (b)
FIG. 4.1: Modo Junta: atuação nas juntas SL. (Autoria própria)
67
(a) (b)
(c) (d)
FIG. 4.2: Modo Junta: atuação nas juntas URBT. (Autoria própria)
De forma análoga ao robô real, para manobrar o equipamento, o usuário necessita primeira-
mente realizar dois procedimentos de segurança, que foram implementados, i.e.: (1) desabilitar
o botão de emergência, ilustrado na FIG. 4.3(a); e, (2) energizar o robô clicando no botão
SERVO ON READY do teclado, FIG. 4.3(b), o qual aciona a luz verde escrita SERVO ON logo
abaixo da tecla.
(a) (b)
68
4.2 CRIAÇÃO DA “NUVEM” DE PONTOS
(a) (b)
69
(a) (b)
(c) (d)
Ao criar o ponto, é criada uma esfera no ambiente gráfico para identificar sua existência,
como pode ser observado, em zoom, na FIG. 4.6
O procedimento de ensino de pontos, especificamente, no CIM Mecatrime, é feito utilizando
um a variação entre os pontos 1100 até 1279. Isso ocorre pois do ponto 1 ao 1099, são pontos
reservados e utilizados pelo próprio CIM, e por isso não devem ser utilizados. Já o ponto 1279,
é o próprio limite do sistema, e com isso não é possível ensinar pontos além desse valor.
70
FIG. 4.6: Esfera que identifica um ponto no cenário virtual. (Autoria própria)
71
(a) (b)
(c) (d)
72
representada pela FIG. 4.8(b), que mostra a posição da origem e a posição atual em pulsos
elétricos.
Logo após, para executar o movimento, é necessário manter pressionado o botão FWD
do teclado, responsável por acionar o evento MouseDown para movimentação das juntas, e
aguardar que a movimentação do robô seja concluída, chegando assim na posição de HOME,
como ilustrado pela sequência de figuras, iniciando pela FIG. 4.8(c) até a 4.9(d). Durante a
movimentação, é possível verificar a mudança contínua dos encoders através dos valores da
coluna CURRENT, como pode ser verificado da FIG. 4.8(b) até FIG. 4.9(c).
(a) (b)
(c) (d)
73
(a) (b)
(c) (d)
74
(a) (b)
(c) (d)
Nessa tela, o usuário digita o nome do JOB com um limite máximo de 32 caracteres, e
confirma a escolha ao realizar o clique (4) na tecla ENTER, como ilustrado pela FIG. 4.11(a),
levando assim novamente para a tela representada na FIG. 4.11(b). A criação de JOB permite
também a inserção de comentários, sendo necessário realizar uma sequência similar a feita
anteriormente, entretanto com a diferença onde o campo iluminado deve ser o COMMENT ao
invés de JOB NAME, como indicado pela seta na FIG. 4.11(c). Para finalizar, é necessário
realizar o ultimo evento, representado pelo clique (5) no botão EXECUTE, levando assim para
a tela de JOB CONTENT, representado pela FIG. 4.11(d), onde o sistema efetivamente está
pronto para receber comandos escritos pelo usuário, que irão compor o JOB.
75
(a) (b)
(c) (d)
Com o sistema pronto para receber os comandos, resta ao usuário criar uma sequência capaz
de realizar a tarefa desejada a partir dos comandos básicos do Motoman MH5F. Inicialmente é
necessário os comandos da linguagem INFORM III nativa do MH5F, bem como sua sintaxe, e
como acessá-los no PP. Ao todo, estão disponíveis no manipulador do laboratório, um total de
31 comandos, sendo eles divididos em 7 categorias, i.e.: (1) IN/OUT; (2) CONTROL; (3) DE-
VICE; (4) MOTION; (5) ARITH; (6) SHIFT; e, (7) OTHER. Além de mais dois comandos,
SAME e PRIOR, os quais são responsáveis por, respectivamente, utilizar o mesmo comando já
escrito no JOB e que o cursor do PP está posicionado, e utilizar o último comando escrito no
JOB pelo usuário.
Todos os comandos foram implementados, de forma escrita, i.e., o usuário consegue adi-
cionar no JOB criado, entretanto, na versão do CAMPS para o treinamento inicial, são aborda-
76
dos e disponibilizados para o aluno apenas quatro comandos, necessários para a execução da
tarefa proposta, sendo eles: DOUT, TIMER, MOVJ e MOVL.
Para desenvolver o JOB, o usuário inicia o processo entrando no menu JOB CONTENT.
Existem duas formas para entrar nesse menu: (1) ao criar um JOB, como apresentado na
Seção 4.5, que automaticamente ao ser criado, o usuário é direcionado para esta tela, ou; (2)
caso o JOB já tenha sido criado previamente, é necessário então clicar no botão JOB no menu
principal, seguido do botão JOB do submenu, representados pelos cliques (1) e (2), respectiva-
mente, da FIG. 4.12(a). Em seguida, é necessário realizar o clique (3) no botão INFORM LIST
no teclado do PP, o qual irá acender uma luz verde, indicando que está ativo, como ilustrado em
destaque de zoom na FIG. 4.12(b).
Esse botão tem a função de habilitar um menu lateral, a esquerda da janela, como ilustrado
na FIG. 4.12(c), em uma lista das funções da linguagem, INFORM III, onde estão dispostos os
31 comandos de forma organizada sete categorias anteriormente citadas.
A funcionalidade de abrir/fechar garra é realizada no MH5F através do comando DOUT (De-
vice Output), mais especificamente pelo chaveamento do sinal da porta de saída no 1 do contro-
lador, desta forma, a garra fecha com o comando “DOUT OT#(1) OFF” e basta substituir a
posição de “OFF” para “ON” que a garra é aberta. O controlador do MH5F possui 8 portas
de saídas, sendo que a porta 1 está conectada à garra e as demais disponíveis para acionar dis-
positivos auxiliares, como alimentadores pneumáticos, abertura e fechamento de equipamentos
auxiliares e.g., centro de torneamento CNC, e outros.
A FIG. 4.13(a) até (c) ilustra a inclusão do comando DOUT para o fechamento da garra,
assim, em (a) é realizado o clique (1) em IN/OUT seguido do clique (2) em DOUT. Posterior-
mente, como ilustrado em (b), o comando, “DOUT OT#(1) OFF", aparece na tela na linha de
77
comandos o código, e através das setas do teclado é possível navegar pelos comandos e alterar
o valor do Output e se ele se encontra Ligado (ON) ou desligado (OFF). Ao pressionar o botão
ENTER do PP o comando DOUT é transferido para o JOB, como visualizado em (c).
(a) (b)
(c) (d)
(e) (f)
FIG. 4.13: Desenvolvimento de um JOB: comandos DOUT, TIMER e MOVJ. (Autoria própria)
78
(a) (b)
79
é o ponto para onde o robô irá, e xx é a velocidade que o robô deve executar a trajetória linear,
em mm/s, resultando na FIG. 4.15.
Vale ressaltar que a inclusão de comandos ao JOB, ocorre em um processo cíclico, onde é
adicionado um comando, e posteriormente o usuário vai adicionando, progressivamente, outros
comandos desejados, como pode ser visto de forma representativa na FIG. 4.16, até compor a
tarefa desejada.
Cada procedimento apresentado foi filmado, de modo a gerar vídeos tutoriais para auxiliar
80
o aluno mediante um exemplo do passo a passo, facilitando a assimilação da sequencia estabe-
lecida pelo fabricante para criação de JOB e inclusão dos comandos descritos que compõem o
modulo básico do CAMPS.
4.7 PROGRAMAÇÃO
81
FIG. 4.17: Esquema da linguagem INFORM III implementado. (Autoria própria)
| {z } = |S, L, U,{zR, B, T}
P0XXXX (4.1)
número do ponto variáveis de junta em pulse
Uma vez que o equipamento real interpreta as variáveis de junta em pulsos, foi necessário
levantar o fator de conversão de graus para pulsos, de forma a viabilizar a utilização do programa
gerado no CAMPS no equipamento real. Em processo de RE, foi necessário entrar no modo
administrador do robô, onde são liberadas todas as suas funcionalidades, e, a partir daí, na tela
para enviar o robô para HOME , correspondente a da FIG. 4.8(b), da Seção 4.4 do CAMPS, foi
possível trocar o modo de visualização padrão, em pulse, para grau. Desta forma, cada uma das
juntas foi posicionada em seus limites de junta, e os valores, para ambos limites de junta, tanto
em pulso, quanto em grau, foram registrados, e são apresentados na TAB. 4.1, o que possibilitou
a obtenção do fator de conversão que é razão entre os valores da junta em grau e em pulsos.
82
TAB. 4.1: Fator de conversão de grau para pulsos por junta do MH5F
A próxima função oculta necessária para a leitura do arquivo JBI pelo robô real é a //INST
que tem como objetivo informar que as próximas linhas referem-se a instruções extras, dando
início pela instrução de data //DATE, que é escrita no formato yyyy/mm/dd hh:mm. Posteri-
ormente, são informados atributos referentes ao JOB, ///ATTR, que no caso, para o CAMPS
são informados apenas os comandos SC, referente a Save Complete e RW, Read and Write que
indica que o código pode ser lido ou editado pelo usuário.
A última instrução necessária antes do código que é efetivamente escrito pelo usuário, é
chamada de ///GROUP que indica qual robô irá receber o código, visto que o controlador é
83
capaz de atuar em mais de um robô. Como o controlador de fato comanda apenas um robô, essa
instrução tem em sua sequência o código RB1 referente ao robô número 1.
Um exemplo do arquivo .JBI gerado pelo CAMPS, ilustrando a ordem das instruções des-
critas em um JOB pode ser visualizada na TAB. 4.3.
Assim sendo, o CAMPS tem capacidade de gerar um arquivo capaz de ser lido pelo robô
real e executado tanto no ambiente real, quanto em simulação no ambiente virtual.
84
5 ESTUDO DE CASO
Este capítulo apresenta um estudo de caso da aplicação do CAMPS, obtido como resul-
tado desta dissertação, como ferramenta auxiliar de ensino e aprendizagem, quando utilizado
de forma intermediária entre as aulas teóricas de programação do robô MH5F e a prática em
laboratório convencional com o equipamento real.
O experimento foi realizado com os alunos de graduação em Engenharia Mecânica do IME,
de modo a levantar indicadores quantitativos e qualitativos da efetividade do CAMPS no apren-
dizado de programação on-line. As condições do experimento, os fatores envolvidos, os re-
sultados obtidos e as oportunidades de melhorias encontram-se apresentados nas seções deste
capítulo.
85
os fundamentos teóricos apresentados em sala.
O experimento com o equipamento real foi feito de maneira individual e acompanhado
por um único monitor, que, seguiu rigorosamente uma planilha com as etapas da atividade, as
quais, foram previamente estabelecidas, padronizadas e encadeadas em uma mesma sequência,
visando minimizar a influência do fator instrutor durante a etapa em questão. O monitor re-
gistrou a data e hora de inicio e fim do treinamento, além do tempo levado em cada etapa da
atividade para posterior utilização e tratamento dos tempos, e assim, obter indicadores quan-
titativos do tempo individual e médio dos alunos em treinamento, em relação ao grupo em
observação.
Ao completar o treinamento de cada aluno do G1, foi possível aplicar em sala de aula o
treinamento com o VL CAMPS, o qual foi dividido em duas etapas. A metodologia adotada
em cada etapa foi uma adaptação do Coding Dojo, onde, na etapa (1) a turma foi dividida em
pares formados por um aluno de cada grupo, ou seja, um do G1 e outro do G2. Além disso, foi
disponibilizado um computador com o CAMPS para cada par, e desta forma, o aluno do G1, o
qual já havia realizado o treinamento, passou a ser monitor do aluno do G2 que, sob orientação
do seu par, utilizava o VL para simular algumas atividades previamente escolhidas. Já na etapa
(2), foi proposto um desafio em comum, em que todos os alunos deveriam realizar.
Terminada a sessão de Dojo, os membros do G2 agendaram a atividade no equipamento real
com o mesmo monitor que acompanhou cada aluno do G1. As tarefas foram rigorosamente as
mesmas para todos os alunos.
Finalmente foram disponibilizados questionários eletrônicos para cada aluno, objetivando
avaliar qualitativamente o CAMPS. Foi garantido anonimato, de forma a obter respostas o mais
francas e isentas possível. Com toda essa massa de dados foi possível consolidar e obter os
indicadores qualitativos e quantitativos do tempo necessário ao treinamento e realização das
tarefas propostas.
A seguir, encontram-se detalhadamente cada etapa do experimento realizado com os grupos,
bem como a apresentação dos resultados e das considerações finais.
Para seguir uma metodologia que possibilite identificar o efeito do uso do CAMPS, de
forma intermediária entre a teoria e a prática de laboratório, no ensino da programação on-
line do MH5F, buscou-se estruturar o experimento, entendendo claramente o que deseja-se
avaliar, analisando as variáveis de influência envolvidas, para que qualquer ação seja estabe-
86
lecida seguindo um roteiro claro e controlável, objetivando o maior nível de isenção possível na
obtenção dos indicadores.
A avaliação da eficiência do simulador CAMPS se deu a partir de um experimento junto a
alunos do 5o ano da turma de graduação em Engenharia Mecânica do IME. A turma cursava
a disciplina de Introdução à Mecatrônica e era composta por doze alunos sem contato prévio
com o sistema robótico Yaskawa Motoman MH5F. Dois grupos distintos de seis alunos foram
formados e receberam o mesmo conteúdo em aulas teóricas de robótica industrial, segurança
e operação básica do MH5F, as quais foram previamente padronizadas e apresentadas por um
mesmo instrutor. Além disso, o treinamento de cada um dos estudantes no robô real foi su-
pervisionado por um único monitor, que utilizou o mesmo roteiro de treinamento para todos os
alunos, sendo a única diferença o uso prévio do CAMPS. Vale ressaltar, entretanto, que apesar
de nenhum dos alunos terem alguma experiência com o MH5F, todos já haviam sido treinados
no robô educacional Pegasus Amatrol e, desta forma, já eram familiarizados, tanto em relação
aos procedimentos de segurança, quanto ao processo de programação on-line.
6. escrever o programa.
87
TAB. 5.1: Lista de etapas da atividade no robô Motoman MH5F.
A primeira etapa engloba o tempo necessário para o aluno se preparar para realização da
tarefa, dando foco aos procedimentos de segurança e registro de utilização, bem como: ensinar o
procedimento para ligar o manipulador do Laboratório MecatrIME, i.e, ligar os disjuntores refe-
rentes à: (1) energização do compressor a ar (responsável pela utilização da garra pneumática);
(2) cerca de segurança; (3) estação de trabalho de torneamento do laboratório, e; (4) o com-
putador central (manager). Após ter os equipamentos energizados, ainda foi necessário ligar os
controladores responsáveis pelo trilho de translação e pelo MH5F, além de inicializar o sistema
de operação do robô, entrando assim, na tela principal de programação do PP, que pode ser
visualizada na FIG. 5.1.
A segunda etapa representa todos os procedimentos ensinados aos alunos para que sejam
88
FIG. 5.1: Tela inicial do PP. (Autoria própria)
capazes de salvar os pontos planejados para a realização da tarefa, i.e: ensinar como habilitar
o robô, retirando-o do modo de emergência, e energizá-lo através dos botões SERVO ON e
do Deadman Switch - alavanca com três diferentes posições localizada na parte posterior do
PP com finalidade de cortar a energia do robô, quando o usuário apresenta alguma reação de
perigo; ensinar os modos de movimentação coordenada que podem ser utilizados na tarefa,
JOINT (SLURBT) e TOOL, e em seguida, os quatro níveis de velocidade disponíveis: inching
(movimentação pulso a pulso), low, medium e high. Posteriormente, foi ensinado o procedi-
mento para enviar o robô para a posição de HOME, em que todas as juntas do robô se encontram
zeradas. Logo após, o aluno aprendeu como criar pontos, além de como realizar movimentações
entre pontos e ativar/desativar outputs, uma vez que a garra é considerada um acessório para o
robô e ela recebe sinal da porta #1 da saída do controlador. Finalizando a segunda etapa, o aluno
é instruído a salvar todos os pontos necessários para a realização da tarefa, resultando em uma
nuvem que totalizou 17 pontos distintos.
A terceira etapa consiste no processo de criação e desenvolvimento do JOB, ou seja, o
programa do robô. São necessários ao todo quatro diferentes comandos para o seu desenvolvi-
mento, sendo eles: o MOVJ (movimento junta a junta); MOVL (movimentação em trajetória
linear); DOUT (device output; para realizar a abertura e fechamento da garra), e o comando
TIMER necessário ser utilizado imediatamente depois do comando DOUT, para garantir o
tempo necessário para a garra pneumática fechar completamente. Essa etapa foi ensinada du-
89
rante o desenvolvimento da tarefa, que consiste em um programa com 89 linhas de comando.
Ao terminar o JOB, o aluno aprendeu a depurar o código, i.e, executar linha a linha o pro-
grama, na mesma velocidade em que o robô foi movimentado em modo TEACH pelo aluno,
isto permite verificar se a tarefa foi programada corretamente e com segurança.
Ao concluir a terceira etapa, é iniciada a quarta, e última, etapa do treinamento. Nesta, o
aluno foi instruído a configurar o robô para execução automática da tarefa, i.e. ativar o modo
PLAY, para o robô realizar o JOB nas velocidades, reais, estabelecidas no programa. Tendo
concluído, é feito o procedimento para desligar o CIM, ou seja, o processo inverso do utilizado
na primeira etapa: (1) desligar o robô, deixando a chave de acionamento em Remote, acionar o
botão de emergência e desligar os dois controladores utilizados; (2) desligar o computador do
manager; (3) desligar os disjuntores, e; (4) organizar a sala do laboratório. Em seguida, o livro
de registros é fechado, com o horário do término da tarefa, e finalmente o aluno é instruído a
limpar o equipamento de proteção individual utilizado, concluindo a tarefa.
Cabe ressaltar que a etapa de execução da tarefa foi filmada com a supervisão de cada aluno,
atento para atuação do botão de emergência e para gerar uma evidência objetiva do treinamento
do aluno na tarefa básica proposta.
90
desta forma, o iniciante atuava como piloto, sendo treinado no CAMPS com auxílio do copiloto,
i.e., o outro aluno já treinado no robô. Em seguida, foi proposto como desafio em comum, uma
tarefa onde os comandos básicos aprendidos na primeira etapa eram necessários. No primeiro
momento o piloto deveria executar a tarefa sem auxílio do co-piloto, que poderia ajudá-lo após
um determinado tempo. A sessão de Dojo foi realizada durante a disciplina Introdução à Meca-
trônica, e teve a duração de 4 horas/aula.
Terminada a sessão de Coding Dojo, os membros do G2 agendaram a atividade no equipa-
mento real com o mesmo monitor do G1. Além disso, o treinamento foi rigorosamente o mesmo
do primeiro grupo, além de seguir o mesmo roteiro de atividades proposto na Seção 5.2.1, pos-
sibilitando que os tempos de programação possam ser mensurados e consolidados juntamente
com os tempos do G1, possibilitando levantar indicadores quantitativos.
Cada tópico gerou perguntas que são feitas de modo individual, buscando a percepção de
cada aluno, e fornecem informações que são analisadas para obter indicadores qualitativos,
diferentemente da consolidação de ambos os grupos que conferem indicadores quantitativos.
91
TAB. 5.2: Questionário realizado para obter o feedback do aluno
2. Como você avalia sua adaptação ao robô real (caso tenha sido treinado com o
uso prévio do simulador), ou sua adaptação ao CAMPS (caso tenha treinado
no robô real previamente)?.
92
TAB. 5.3: Questionário realizado para obter o feedback do aluno (Continuação)
Nível de Segurança
1. Você acredita que a prática em um robô industrial real nas aulas contribui para
a assimilação das etapas de programação de robôs industriais?
O questionário foi enviado eletronicamente para cada aluno, garantindo anonimato das res-
postas, com intuito de que elas fossem livres e sinceras. Cada pergunta tinha cinco opções de
resposta, sendo as duas primeiras e duas ultimas, representando, respectivamente, uma gradua-
ção de desempenho positiva e negativa, e a terceira guardando neutralidade/indiferença.
93
Cabe ressaltar que o tempo oficial inicia-se da abertura ao fechamento do livro, o que não leva
em consideração o tempo de higienização do óculos.
É possível verificar que o G1 apresentou uma média de tempo de treinamento de 2:03 ho-
ras, sendo o menor valor igual a 1:47 e o maior, 2:28 horas. Já o G2, que utilizou o simulador
CAMPS anteriormente ao treinamento, apresentou uma média de tempo de programação infe-
rior ao G1, resultando em 1:28 horas. O menor tempo obtido deste grupo foi de 1:19 horas, e o
maior, 1:39 horas.
Finalmente, pelo resultado dos indicadores quantitativos, o primeiro efeito encontrado foi
em relação ao tempo de execução do robô Motoman MH5F. Como a quantidade de pontos
e a velocidade do deslocamento entre eles foram padronizados e definidos para o programa
obtido por todos os alunos, o tempo médio de execução da tarefa pelo robô foi de 1:24 minutos,
não havendo diferenças significativas entre ambos, os alunos e grupos, o que era esperado.
Entretanto, quando comparados com os tempos de programação, a homogeneidade no tempo
94
de execução obtido por todos os alunos tem maior impacto, tendo o G1 obtido uma relação entre
tempos de programação/execução de 76,4 a 105,7 respectivamente, e o G2, de 56,4 e 70,7.
A partir das TAB. 5.4 e 5.5, foi possível gerar dois gráficos de comparação entre os tempos
de programação do robô entre ambos os grupos. O primeiro gráfico, apresentado na FIG. 5.2,
ilustra o tempo dos alunos separados nos dois grupos, bem como a média resultante dos tempos
de programação por grupo. Observou-se que o uso do CAMPS proporcionou uma redução do
tempo médio de programação do MH5F em 28%. Levando em conta uma turma de doze alunos,
essa redução equivale a 7 horas em que dispositivo e instrutor permaneceriam a disposição do
aluno. Além disso, a pior performance do G2, foi melhor do que o melhor aluno do G1.
Tempo de operação no robô (h:min)
2:52
2:28
2:24 2:06 2:08
1:55 1:39 2:03
1:55 1:57 1:36
1:47
1:26 1:28
1:23 1:26 1:30
1:19
0:57 Sem CAMPS
G1 Média sem CAMPS
0:28
Com CAMPS
0:00
G2 Média com CAMPS
1 2 3 4 5 6 7
Estudantes
FIG. 5.2: Tempo de programação com e sem o uso prévio do CAMPS. (Autoria própria)
95
Sem o uso do CAMPS - G1
Com o uso do CAMPS - G2
2
Frequência
O tempo médio necessário para os alunos completarem cada uma das etapas descritas na
Seção 5.2.1, além da redução percentual entre os grupos foram registrados e podem ser obser-
vados na TAB. 5.6.
TAB. 5.6: Tempo médio e porcentual de redução de tempo entre ambos os grupos, com e sem
uso prévio do CAMPS
A partir da TAB. 5.6, é possível perceber que as etapas 2 e 3 foram as de maior impacto na
performance dos alunos, sendo que a etapa de maior redução percentual foi a terceira, a qual
envolvia maior número de interações com o PP e, portanto, maior possibilidade de erros na
interação com o software do fabricante do robô, comprovando que o uso do CAMPS facilitou a
criação de condicionamento mental da localização dos comandos no PP pela prática do DOJO.
96
alunos, que podem ser vistos na FIG. 5.4, o que permitiu analisar o grau de satisfação geral
dos estudantes.
É possível dizer que 85% dos alunos afirmaram aprovar a metodologia aplicada em relação
aos métodos tradicionais de ensino. Além disso, 95% considerou o CAMPS fácil de ser uti-
lizado. Quanto a sua qualidade, apenas 6% dos alunos não aprovaram, porém todos acreditam
que o uso do simulador auxilia no aprendizado da programação do robô real.
Todos os alunos concordam que a utilização de VL, previamente ao robô real, auxiliam e
aumentam a segurança do aluno iniciante na programação on-line. Entretanto, todos acreditam
que o VL não dispensa o robô real, e que o equipamento auxilia no entendimento das etapas
de programação on-line.
Além disso, nenhum estudante se sentiu insatisfeito com a atividade; 36% dos alunos acre-
ditam não ser necessário o uso da metodologia Dojo; 37% acreditam que todos os alunos deve-
riam ser treinados previamente com o simulador CAMPS; e, 27% concordam que a metodolo-
gia Dojo deve ser mantida para as próximas turmas. Isto mostra que a metodologia Dojo não
é aceita pela totalidade, porém, concordam que usar o VL na fase intermediária traz benefícios
para a aprendizagem.
Cabe ressaltar que somente 11 alunos responderam os questionários. Além disso, os gráficos
apresentados na FIG. 5.4 são os resultados de cada grupo de questões referentes à TAB. 5.2 e
5.3, ou seja, a soma das respostas obtidas por cada uma das perguntas de seus respectivos
grupos.
97
a b
Aprendizagem em relação à Facilidade em usar o CAMPS
métodos tradicionais
5%
3% 3%
9% 27% Muito bom
33% Aprendeu muito mais
Bom
Aprendeu mais
Neutro
Neutro
Aprendeu menos
Ruim
c d
Qualidade do CAMPS Aceitação do CAMPS
6%
6% 32%
Muito bom Concordo fortemente
33%
Bom Concordo
Neutro Neutro
Ruim Discordo
e f
Segurança que o uso prévio do CAMPS Grau de satisfação do estudante
oferece aos alunos ao operar o robô real
18%
45% Concordo fortemente Muito satisfeito
Concordo Satisfeito
Neutro Neutro
18%
55% Discordo Insatisfeito
Discordo fortemente 64% Muito insatisfeito
g h
Influência da utilização do robô real Método de ensino preferido entre os
no entendimento dos passos de alunos para ser aplicado nas futuras classes
programação on-line Toda a turma usando o
CAMPS de maneira prévia
Muito melhor 36% 37% ao robô real.
36% Dividir a turma de forma
Melhor aleatória e APLICAR a
Neutro metodologia DOJO
Pior Dividir a turma de forma
aleatória e NÃO APLICAR
Muito pior a metodologia DOJO
64%
27% NÃO USAR o CAMPS de
maneira prévia ao robô real
98
6 CONCLUSÕES E PERSPECTIVAS
Este capítulo apresenta as considerações finais da dissertação. Se inicia pela Seção 6.1,
com uma recapitulação do que foi apresentado na dissertação, além de ressaltar os argumentos
utilizados, de forma a encadear o raciocínio e permitir as considerações finais em torno das
contribuições científicas desta dissertação abordadas na Seção 6.2. Em sequência, o capítulo é
finalizado na Seção 6.4, com as perspectivas para futuros trabalhos.
99
equipamento real e viabilizar sua implementação computacional, objetivando capacitar alunos
com eficiência, através do treinamento da programação on-line de tarefas básicas de pick-and-
place, como a utilizada no treinamento prático em laboratório convencional, tradicionalmente,
realizado com os alunos de graduação do IME. Foi desenvolvido também um módulo intro-
dutório de programação off-line na Seção 4.7, que torna o CAMPS um protótipo de programação
off-line, permitindo salvar o código desenvolvido no VL, e ser interpretado pelo controlador do
Motoman real.
O Capítulo 5 apresenta um estudo de caso realizado com os alunos do último ano de En-
genharia Mecânica do IME, cursando a disciplina de Introdução à Mecatrônica. O treinamento
foi realizado dividindo a turma em dois grupos, onde o primeiro realizou o treinamento sem a
utilização do CAMPS, enquanto o segundo, usou o VL de forma prévia ao treinamento prático
tradicional, sendo apresentado a partir da metodologia de Coding Dojo, abordada no mesmo
capítulo. Ao final, foi realizado um questionário, para verificar a aceitação do VL pelos alunos,
e analisados os resultados qualitativos e quantitativos de ambos os grupos.
100
3. capacidade de gerar automaticamente o arquivo na linguagem nativa (INFORM III) do
controlador FS100, contendo os pontos ensinados e os comandos criados pelo usuário, e
capaz de ser inserido via porta USB no PP real.
Para analisar a efetividade do resultado obtido nesta dissertação diante do objetivo geral,
utiliza-se como base o CARPA (SANTOS, 2017), que sofreu minuciosa análise a fim de receber
implementações adicionais e modificações para dar origem ao CAMPS, de modo que viesse a
contribuir como um VL capaz de aumentar a eficiência do ensino e aprendizagem de novos
usuários.
Os resultados obtidos no estudo de caso realizado proveram indicadores quantitativos que
mostraram uma redução média de 28% do tempo necessário ao treinamento no robô real entre
alunos que usaram o VL em fase intermediária, entre as aulas teóricas e a prática em laboratório
convencional.
Indicadores qualitativos foram obtidos no sentido de levantar a aceitação do CAMPS com os
usuários, e foi possível avaliar alguma variação quanto à metodologia, porém todos afirmaram
que o uso do VL em foco aumenta a motivação e auxilia na criação de condicionamentos men-
tais para acesso aos comandos no PP.
Diante dos resultados dos indicadores é possível concluir que para a população experimen-
tada, ou seja alunos de graduação do 5o ano de Engenharia Mecânica do IME, o CAMPS favore-
ceu o ensino e a aprendizagem da programação do MH5F e por ter sido desenvolvido no IME,
pode ser disponibilizado a baixo custo e promover a disseminação do ensino em instituições
que não possuam um robô, o que é desejável, porém demanda alto investimento.
Assim sendo, como consideração final, cabe deixar registrado que o resultado obtido foi
apenas um início para o desenvolvimento um sistema de programação off-line, sendo utilizado
de forma eficiente como módulo básico para treinamento de iniciantes.
101
inicial de desenvolvimento, e a implementação de outras funcionalidades, como a movimen-
tação utilizando as coordenadas da base, ou do usuário, bem como, a opção de trajetórias, como
as circulares, são relevantes para aumentar a capacidade do VL, de modo a ser utilizado não só
em tarefas de pick-and-place, mas também na simulação de outras atividades de relevância na
indústria, e.g., operação de soldagem, pintura, e manuseamento de materiais.
Desta forma, quanto mais funcionalidades introduzidas no VL, maior a possibilidade de
criação de novos módulos de treinamento, intermediário e avançado, para introduzir ao progra-
mador, conceitos e funções mais complexas, contudo, preservando sempre sua segurança e a
integridade do equipamento.
Outro ponto de relevância, é que pela robótica em si ser uma ciência multidisciplinar, o
CAMPS também pode ser utilizado como estudo ou desenvolvimento em outros cursos de pós-
graduação do IME e outra Instituição de Ensino Superior. Uma sugestão, seria a otimização
do código computacional, de forma a deixa-lo mais rápido e viabilizar a simulação do cenário
completo do CIM-MecatrIME, apresentado no APÊNDICE 8.6, que contém várias estações de
trabalho, podendo evoluir para um Simulador de Eventos Discretos e contribuir para a PD&I
em Indústria 4.0.
102
7 REFERÊNCIAS BIBLIOGRÁFICAS
ABB. Robotstudio: It’s just like having the real robot on your pc!, 2018. Disponível:
https://new.abb.com/products/robotics/robotstudio [capturado em 16 jul. 2018].
AMATROL. Sistemas flexíveis de manufatura 1: montagem com movimentação linear. Jef-
fersonville, EUA: Amatrol, Inc, 2004.
AMATROL. Sistemas flexíveis de manufatura 1: introdução aos sistemas flexíveis de manu-
fatura. Jeffersonville, EUA: Amatrol, Inc, 2005.
AMATROL. Robotics and computer programming 1: basic robot programming. Jefferson-
ville, EUA: Amatrol, Inc, 2013.
BABATEEN, H. M. The role of virtual laboratories in science educa-
tion In: INTERNATIONAL CONFERENCE ON DISTANCE LEARNING
AND EDUCATION (IPCSIT), 5. 2015. v. 12, p. 100-104. Disponível:
https://pdfs.semanticscholar.org/a98d/73d731659b5e9053f10b3213daeb85f630eb.pdf
[capturado em 30 jun. 2018].
BABICH, A. e MAVROMMATIS, K. Virtual laboratory concept for engineering education. In:
INTERNATIONAL CONFERENCE ON ENGINEERING AND RESEARCH “PROGRESS
THROUGH PARTNERSHIP”. 2004. p. 1043-1050. ISSN 1562-3580. Disponível:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.608.444&rep=rep1&type=pdf
[capturado em 5 abr. 2018].
CAMPOS, A., GUENTHER, R. e MARTINS, D. Differential kinematics of se-
rial manipulators using virtual chains. Journal of the Brazilian Society of Me-
chanical Sciences and Engineering [online], Brasil, Out., 2005. n. 4, v. 12,
p. 345-356.ISSN 1806-3691. Disponível: http://www.scielo.br/scielo.php?pid=S1678-
58782005000400002&script=sci_arttext#fig3 [capturado em 29 jan. 2017].
CHIKOFSKY, E. J. e CROSS, J. H. Reverse engineering and design recovery: a taxonomy.
IEEE software, 7(1):13–17, 1990.
CNI. Indústria 4.0: novo desafio para a indústria brasileira. SONDA ESPECIAL [online],
ano 17, n. 2, abr., 04 2016. Disponível: http://www.cni.org.br/sondespecial. [capturado em
05 out. 2017]. ISSN 2317-7330.
CRAIG, J. J. Introduction to robotics: mechanics and control 3 ed. NJ, EUA: Pearson Prentice
Hall„ 2005.
DA LUZ, R. B., NETO, A. G. S. S. e NORONHA, R. V. Teaching tdd, the coding dojo
style. In: IEEE 13TH INTERNATIONAL CONFERENCE ON ADVANCED LEARN-
ING TECHNOLOGIES, 13 [online]. 2013. p. 371-375. ISSN 2161-377X . Disponível:
https://ieeexplore.ieee.org/xpls/icp.jsp?arnumber=6601956 [capturado em 13 jul. 2018].
103
DAVIDSON, J. K. e HUNT, K. H. Robots and screw theory: applications of kinematics and
statics to robotics. Nova York, EUA: Oxford University Press, 2004.
JARA, C. A., CANDELAS, F. A. e POMARES, J. et al. Java software platform for the
development of advanced robotic virtual laboratories. Wiley Periodicals, Inc, 2011a.
104
MACEDO, E. e RIBEIRO, L. P. Robótica industrial: vantagem estratégica e desafios. In: IN-
TERNATIONAL SODEBRAS CONGRESS, 33. 2015. v. 10, n. 116. p. 139-144. ISSN
1809-3957. Disponível: http://www.sodebras.com.br/edicoes/N116.pdf. [capturado em 5 abr.
2018].
MERLO, E., GAGNÉ, P.-Y. e GIRARD, J.-F. et al. Reengineering user interfaces. IEEE Soft-
ware n. 1, p. 64-73, jan. 1995.
NOF, S. Y. Handbook of industrial robotics. Indiana, EUA: John Wiley & Sons, 1999.
PAN, Z., POLDEN, J. e LARKIN, N. et al. Recent progress on programming methods for in-
dustrial robots. In: INTERNATIONAL SYMPOSIUM ON ROBOTICS (ISR), 41 /GERMAN
CONFERENCE ON ROBOTICS, 6, 2010. 2012. p. 619-626. ISBN: 978-3-8007-3273-9.
105
RIBEIRO, L. P. G. Modelagem Cinemática de Sistemas Robóticos Cooperativos: proposta
de um jacobiano de cooperação. 2010.
ROBOTDK. Simulate robot applications: program any industrial robot offline with one simu-
lation environment, 2018. Disponível: https://robodk.com/index [capturado em 16 jul. 2018].
SATO, D. T., CORBUCCI, H. e BRAVO, M. V. Coding dojo: An environment for learning and
sharing agile practices. Em Agile 2008 Conference, págs. 459–464, Aug 2008.
SIMAS, H., GUENTHER, R., DA CRUZ, D. e MARTINS, D. A new method to solve robot
inverse kinematics using assur virtual chains. Robotica, 27(7):1017–1026, 2009.
106
TSAI, L.-W. Robot analysis: the mechanics of serial and parallel manipulators. John Wiley
& Sons, 1999.
WANG, W. Reverse engineering: Technology of reinvention. Boca Raton, EUA: CRC Press,
2011.
YASKAWA. MOTOMAN MH5S II, MH5F, MOTOMAN MH5LS II, MH5LF Handling & Gen-
eral Applications with the MH-series. Disponível: https://www.motoman.com/ [capturado
em 03 abr. 2017]. 2017.
107
8 APÊNDICES
108
8.1 APÊNDICE 1: TEORIA DOS HELICOIDES
8.1.1 O HELICOIDE
1. uma reta no espaço que representa a direção do seu eixo, em torno do qual rotaciona ou
ao longo do qual translada, designada pelo respectivo vetor unitário s,ou seja,o eixo do
helicoide;
109
FIG. 8.1: Representação da rotação de um helicoide. (Adaptado de TSAI (1999))
Para isso, admita o vetor unitário s = [sx , sy , sz ]T e o sistema de eixos cartesianos (x, y, z)
sendo o referencial fixo. Seja P1 a posição inicial de um ponto P pertencente ao corpo rígido
e P2r corresponda à posição final do ponto P entre dois deslocamentos sucessivos. Neste caso
ocorre uma rotação em torno do eixo do helicoide s da posição P1 para P2r . Seja SP um ponto
sobre o eixo do helicoide pertencente ao plano perpendicular e que contenha os pontos P1 e P2r .
Analisando a geometria da FIG. 8.1, as seguintes expressões vetoriais podem ser escritas:
Do mesmo modo:
Agora, considera-se a interseção do plano perpendicular à s, FIG. 8.2, passando pelos pontos
110
P1 e P2r , sendo definido o ponto Sp . Sp N é a projeção de SP P2r sobre SP P1 , de acordo com a
FIG. 8.2. Logo, N P2r ⊥SP P1 e:
SP N = SP P2r cos θ (8.6)
SP N = SP P1 cos θ (8.7)
r
P2
Sp θ
P1
pois (s × s) = 0.
Deseja-se escrever a seguinte soma vetorial:
111
Como:
Assim:
SP N = SP P1 cos θ (8.13)
SP P2r = P2r − (P2r · s)s (8.14)
Como:
Tem-se que:
P2r − (P1 · s)s = (P1 − (P1 · s)s) cos θ + (s × (P1 − (P1 · s)s)) sen θ (8.19)
P2r = (P1 · s)s − (P1 · s)s cos θ + P1 cos θ + (s × P1 − (P1 · s) (s × s)) sen θ (8.20)
112
componentes da matriz de rotação, fazendo P1 = pB e P2r = pA :
Onde:
cθ + s2x (1− cθ ) sy sx (1 − cθ ) − sz sθ sz sx (1 − cθ ) − sy sθ
A
RB = sx sy (1 − cθ ) + sz sθ cθ + s2y (1 − cθ ) (8.24)
sz sy (1 − cθ ) + sx sθ
sx sz (1 − cθ ) + sy sθ sx sz (1 − cθ ) + sy sθ cθ + s2z (1 − cθ )
sabendo que sθ e cθ são notações utilizadas para representar sen θ e cos θ, respectivamente.
Para uma representação da orientação do vetor pA , são usados um conjunto mínimo de três
ângulos, Rx , Ry e Rz . Estes, são chamados de Ângulos de Euler e representam uma rotação
nos eixos X, Y e Z respectivamente. De acordo com SICILIANO et al. (2009), uma matriz de
rotação genérica, isto é, uma matriz que consiga representar a orientação de um corpo rígido no
espaço, pode ser obtida pela sequência de três rotações elementares convenientes, desde que,
não sejam realizadas duas rotações sucessivas sobre eixos paralelos. Isso implica que existem
12 conjuntos possíveis das 27 combinações existentes. Todavia, será apresentado somente o os
angulos ZYX, conhecido como Roll-Pitch-Yaw (SICILIANO & KHATIB, 2008).
Dito isso, ao substituir na EQ. 8.24 os valores de s e s0 , sendo sRx = [1; 0; 0]T ; sRy =
[0; 1; 0]T sRz = [0; 0; 1]T e s0Rx ≡ s0Ry ≡ s0Rz ≡ [0; 0; 0]T , é possível obter as rotações
elementares Rx , Ry e Rz , ou seja, para cada rotação elementar em torno do eixo fixo X, Y, Z
tem-se as respectivas matrizes Rx , Ry e Rz .
113
1 0 0 cRy 0 sRy cRz −sRz 0
Rx = 0 cRx −sRx Ry = 0 1 0 Rz = sRz cRz 0
0 sRx cRx −sRy 0 cRy 0 0 1
Após a análise da rotação helicoidal, onde o eixo passa pela origem do referencial fixo,
é necessário representar o seu deslocamento. Sua análise é realizada através do Teorema de
Chasles, o qual diz que qualquer deslocamento de um corpo rígido é equivalente à soma da
translação de qualquer ponto naquele corpo com uma rotação sobre um eixo por meio desse
ponto (NORTON, 2010).
Sendo assim, através da análise da FIG. 8.3, tem-se o ponto P em três posições distintas:
P1 , P2r e P2 . Existe uma rotação θ entre P1 e P2r , e uma translação t entre P2r e P2 , além do
eixo do helicoide estar distante da origem do referencial de um vetor s0 , sabe-se também, que a
direção do eixo do helicoide é dada pelo vetor s, onde ocorrerá a translação e a rotação. Dessa
forma, o deslocamento helicoidal fica perfeitamente determinado por s, s0 , θ e t.
114
t
r
P1 = s 0 + s 0 P 1 (8.27)
P2 = s0 P2r + s0 + ts (8.28)
pA = RB
A B
p + qA (8.30)
115
O termo da rotação é idêntico ao analisado na rotação em torno de um ponto, o que implica
que as componentes da matriz de rotação são as mesmas, o que não poderia deixar de ser, visto
que é uma soma vetorial:
A
px
A =
py
A
pz
cθ + s2x (1 − cθ ) sy sx (1 − cθ ) − sz sθ sz sx (1 − cθ ) + sy sθ
= sx sy (1 − cθ ) + sz sθ cos θ + s2y (1 − cθ ) .
sz sy (1 − cθ ) − sx sθ
sx sz (1 − cθ ) − sy sθ sy sz (1 − cθ ) + sx sθ cos θ + s2z (1 − cθ )
pB
x
A
qx
. pB + A (8.32)
y qy
pB
z
A
qz
116
É possível escrever o Teorema de Chasles para o movimento helicoidal na forma homogênea,
para isso, é feita um sistema de equações lineares, com a EQ. 8.30, e levando em conta a verdade
de que 1 = 1 conforme o sistema abaixo:
p A = R A p B + q A
B
(8.34)
1 = 1
O sistema de equações da EQ. 8.34, pode ser reescrita sem alterar a igualdade, como:
p A = R A p B + q A
B
(8.35)
1 = 0pB + 1
Dessa forma, o Teorema de Chasles na forma homogênea pode ser vista da seguinte forma:
onde TBA é conhecida como Matriz de Transformação Homogênea (MTH), capaz de representar
a localização do sistema móvel, ou seja rotação e translação.
O Método dos Deslocamentos dos Helicoides Sucessivos (MDHS), tem como objetivo en-
contrar um helicoide resultante, que consiga representar o movimento geral dos helicoides das
juntas, conforme a FIG. 8.4 de uma posição inicial (Referencia) para uma Final (Alvo), após
variar θ e t de todos os helicoides da cadeia aberta.
Cada corpo, representado pela letra C, é conectado ao próximo por uma junta, formando um
par cinemático. Através de uma análise iniciada pela ferramenta em direção a base, tem-se que
o helicoide $n é passível de sofrer influência do helicoide anterior, e assim por diante, e.g se o
$2 rotacionar/transladar, ela afetará somente a localização dos helicoides $3 em diante, contudo,
o helicoide $1 não será influenciado.
117
C4
C5 C6
C3
C2
Efetuador - Final
Base
C1
FIG. 8.4: Representação dos Deslocamentos dos Helicoides Sucessivos. (Adaptado de TSAI
(1999))
Visto isso, a representação desse método pode ser dado a partir da pré-multiplicação das
matrizes Tn por Tn−1 e assim sucessivamente até T1 , o que pode ser representado como:
Após explicado a modelagem pela Teoria dos Helicoides, essa seção, apresenta a modela-
gem do robô em foco, com uma variação na junta 3 ou U de −30◦ , FIG. 8.6. A fabricante
Yaskawa adota letras para identificar as juntas de 1 a 6 (base até efetuador-final) que compõe a
sigla SLURBT, logo a terceira junta é conhecida no PP como junta U .
118
θU=-30o
FIG. 8.6: Posição final do robô com Junta U = −30. (Autoria própria)
Para facilitar a visualização das juntas, e tornar o procedimento de análise mais fácil, é
utilizado um modelo esquemático do robô em questão, conforme as FIG. 8.7(a), (b) e (c). A
partir do modelo em CAD 3D é identificado e esquematizado o tipo de junta, adequando ao
vetor de referencia, em que se encontra na posição de Home (encoders zerados).
(a) Motoman MH5F render- (b) Transição entre o robô real e (c) Modelo esquemático do
izado. o esquemático. Robô Motoman MH5F.
Primeiro passo, como consta no fluxograma da FIG. 8.5, é definir os corpos, as juntas e as
direções dos eixos das juntas, FIG. 8.8.
119
C3 JR C J
4 B JT
JU
C5 C6
C2
C1
JL
Js
C0
FIG. 8.8: Identificação dos corpos, juntas e eixos das juntas. (Autoria própria)
s0xE
s0xT
s0xB
sR
sT s0xL s0xU s0xR
s0zR s0zB s0zT s0ze
sU sB
s0zU
sL
s0zL =0
sS
Referencial
Absoluto
(a) Perspectiva do modelo esquemático. (Autoria (b) Vista lateral mostrando os s0 s, ou seja, as dis-
Própria) tâncias de cada junta. (Autoria Própria)
A partir dos dados fornecidos pelo DataSheet do fabricante, FIG. 8.10(a), é possivel criar
uma tabela com os parâmetros s e s0 de referência de cada junta, necessários para definir os
helicoides, conforme mostrado na TAB. 8.1.
120
486
235
706
114
0
88 305 80 585
947 473
393
D U R B 88
57
A
40
T
554
155° °
65 P
350
310
474
310
L
37°
737
150°
239
Working range
330
Point P
Referencial
B
0 Absoluto
S °
136
C
0
51
203
178
246
243
(a) Dados fornecidos pelo DataSheet do fabricante (b) Vista lateral mostrando os s0 s, ou
(YASKAWA, 2017) seja, as distâncias de cada junta. (Autoria
própria)
S L U R B T
sx 0 0 0 -1 0 -1
sy 0 -1 -1 0 -1 0
sz 1 0 0 0 0 0
s0x 0 88 88 88 393 473
s0y 0 0 0 0 0 0
s0z 0 0 310 350 350 350
* s0 - cotas em mm
Cabe ressaltar que o fabricante, Yaskawa, associa uma letra para representar cada junta, ou
seja: S (swing) é a junta 1, L (lower arm) é a junta 2, U (upper arm) é a junta 3, R (rotation) é a
junta 4, B (bend) é a junta 5, e T (twist) é a junta 6.
Os dados relativos aos s0 ’s são os dados relativos ao datasheet do robô, os quais, são os
mesmos dados apresentados pelo próprio PP com o robô na posição de Home.
121
8.1.5.3 PASSO 3: DETERMINAR A MTH DE CADA JUNTA
Após realizados os passos 1 e 2, é possível criar as MTH de cada junta, as quais, definem
seus movimentos, como visto na Seção 8.1.3.
Com isso, a MTH, ou seja TBA de cada junta encontra-se representada na TAB. 8.2.
TAB. 8.2: MTH de cada junta (genérica e para SLURBT = [0, 0, −30, 0, 0, 0]T
122
8.1.5.4 PASSO 4: APLICAÇÃO DO MÉTODO DOS DESLOCAMENTOS DOS HELICOIDES
SUCESSIVOS
TBA = T1 T2 T3 T4 T5 T6 (8.39)
112 mm
xf
zb
yb
zf
yf
xb
O ajuste é realizado a partir de uma pós-multiplicação do produtório das MTHs TBA , com a
matriz ajuste da ferramenta Tf , resultando na EQ. 8.41.
123
8.1.5.5 PASSO 5: APLICAÇÃO DE CHASLES E ÂNGULOS DE EULER
Localização X Y Z Rx Ry Rz
Resolução 538.4146 0 96.1410 180 -60 0
Com os dados obtidos através do exemplo, é possível fazer uma validação a partir do próprio
robô, conforme pode ser observado na FIG. 8.12
124
8.2 APÊNDICE 2: MODELAGEM DO ROBÔ MOTOMAN MH5F PELA CONVENÇÃO
DE DENAVIT-HARTENBERG
O principal método utilizado pelos autores SICILIANO et al. (2009); SICILIANO & KHATIB
(2008); NOF (1999); MURRAY et al. (1994) para resolver a modelagem cinemática de robôs é
a convenção de Denavit-Hartenberg (DH). Esta convenção, tem como objetivo apresentar regras
para se definir a posição e orientação relativa entre dois elos consecutivos ligados por uma junta,
ou seja, um par cinemático. Uma vez que os referenciais podem ser arbitrariamente escolhidos,
essa metodologia permite que os valores encontrados não venham a se divergir drasticamente.
Esse apêndice tem como objetivo apresentar a modelagem por DH do robô Motoman MH5F
como forma de comparação entre a Teoria dos Helicoides utilizada.
1. identificar elos, juntas e eixos: numerar os elos de 0 (base) até n (efetuador-final); juntas
são numeradas de 1 até n, sabendo que a junta i conecta os elos i − 1 e i; escolher o eixo
zi sobre o eixo da junta i + 1, para i = 0, ..., n − 1.
3. determinação do ponto Oi0 : determinar o ponto Oi0 (sistema linha) na interseção do eixo
zi−1 e a junta i com a normal comum dos eixos zi−1 e zi , observando se, zi for colinear a
zi−1 e a junta i + 1 for de translação, definir Oi0 no limite da junta i + 1, e.g. na posição
de zero da junta (Home).
125
5. determinação dos eixos xi e yi : escolher o eixo xi sobre a normal comum aos eixos
zi−1 e zi . Se zi−1 for colinear a zi adotar xi de forma que fique no mesmo sentido do
adotado nesta direção pelo referencial da base; escolher o eixo yi obedecendo a regra da
mão direita;
6. determinação dos eixos xi0 e yi0 do sistema linha: determinar zi0 e xi0 , sabendo que zi0
é colinear a zi−1 , e xi0 a xi ;
ELO ELO
126
É importante ressaltar que dentre os 4 parâmetros, 2 são sempre constantes (ai e αi ), os
outros dois, um deles vai variar de acordo com o tipo de junta que conecta o elo i − 1 ao elo i,
enquanto o outro fica constante, ou seja:
• Se junta i for prismática, o parâmetro variável é di , tendo um valor fixo, calculado pela
regra do passo 8, e um adicional de ti que representa a translação de junta i.
Desta forma, a FIG. 8.14 ilustra o resultado da modelagem do Motoman MH5F pela con-
veção de DH. Vale citar, que para uma melhor visualização, foram ocultados o eixo y de cada
uma das junta, e as cores relativas ao sistema linha, de um tom mais claro.
X6
X4 X5
X3 Z4
Z3
X2
Z2
X1
Z0
Y0
Z1
127
TAB. 8.4: Parâmetros de Denavit-Hartenberg do Motoman MH5F
a (mm) αi (◦ ) d (mm) ϑ (◦ )
S 88 +π/2 0 θS
L 310 0 0 θL + π/2
U 40 −π/2 0 θU
R 0 π/2 -305 θR
B 0 −π/2 0 θB
T 0 π -192 θT
T60 = A01 (q1 )A12 (q2 )A23 (q3 )A34 (q4 )A45 (q5 )A56 (q6 ) (8.45)
Como resultado, é montada a TAB. 8.5, onde são apresentadas as MTH genéricas de cada
junta, e para uma rotação em U = −30◦ .
128
TAB. 8.5: MTH de cada junta por DH (genérica e para L= −30o )
0 0 0 1 0 0 0 1
c5 0 −s5 0 1 0 0 0
s
5 0 c5 0 0 0 1 0
4
B A5 = A45 =
0 −1 0 0 0 −1 0 0
0 0 0 1 0 0 0 1
c6 s 6 0 0 1 0 0 0
s −c 0 0 0 −1 0 0
5 6 6 5
T A6 = A6 =
0 −1 −192 0 0 −1 −192
0
0 0 0 1 0 0 0 1
0.50000 0 0.86603 538.41463
0 −1 0 0
Ttot A6e =
0.86603 0 −0.50000 96.14102
0 0 0 1
O resultado pode ser comparado com o obtido através da Teoria dos Helicoides, compro-
vando sua equivalência, entretanto, o procedimento para sua obtenção do produtório, mais es-
pecificamente, durante o procedimento para obter os parâmetros de DH na Seção 8.2.1 é mais
complexo de ser automatizado, e dessa forma foi optado pela utilização da Teoria dos Helicoides
na dissertação.
129
8.3 APÊNDICE 3: TEORIA DOS GRAFOS
Definição 8.1 Um grafo G é definido sendo um par ordenado (V, E), onde V é um conjunto
que possui elementos denominados vértices ou nós, representados na FIG. 8.15; e E é uma
relação binária sobre V , sendo pares ordenados denominados arestas, linhas ou ramos.
Vértices Arestas
Definição 8.2 Uma aresta incidente a um único vértice, ou seja, uma aresta que conecta um
vértice a ele mesmo, é denominado laço.
Definição 8.3 Dois vértices são adjacentes, se eles estão ligados por uma aresta.
Para a metodologia de Cadeias Virtuais utilizada, cada aresta corresponde a uma junta, ou a
um grau de liberdade, tendo um helicoide associado e uma MTH que permite a localização dos
corpos da mesma cadeia cinemática. Da mesma forma, cada vértice é associado a um corpo do
robô.
Definição 8.4 Um vértice é dito isolado, se não existe aresta incidindo sobre ele.
Definição 8.5 Se um grafo possui laços e/ou arestas paralelas, então este grafo é denominado
multigrafo, exemplo FIG. 8.16, caso contrário é dito um grafo simples, FIG. 8.15.
130
2
1
Arestas paralelas 3
caracterizando um
multigrafo
4
FIG. 8.16: Multigrafo com três Arestas ou caminhos paralelos. (Autoria própria)
Definição 8.6 Um grafo é dito orientado ou dirigido, quando existe uma seta de orientação
associada a cada ramo.
Definição 8.7 Define-se grau de um vértice como sendo o número de arestas incidentes a V .
Definição 8.8 Os grafos possuem ciclos e um ciclo é um conjunto de ramos que formam um
único caminho fechado, ou seja, cada nó de um ciclo tem ligado a si mesmo, dois ramos do
ciclo.
Definição 8.9 Um grafo é composto de subgrafos denominados árvores. Uma árvore possui
ramos que ligam todos os nós, entretanto uma árvore não possui um ciclo algum. Assim sendo
um seja um grafo com N nós, quando uma árvore ligando esses N nós, implica que esta árvore
possui N − 1 ramos.
Definição 8.10 Assim, os ramos de um grafo podem ser divididos em dois subconjuntos: (1)
os ramos das árvores e (2) os ramos de ligações, que são aqueles ramos não pertencentes
às árvores, denotados por L. Logo, seja um grafo com B ramos e N nós, tem-se que B =
(N − 1) + L, ou que o número de ramos de ligações de um grafo é dado por:
131
L=B−N +1 (8.46)
132
8.4 APÊNDICE 4: CINEMÁTICA DIFERENCIAL E INVERSA
h iT
q̇ = q˙1 q˙2 · · · q̇n−1 q̇n (8.50)
com o vetor das juntas q̇ que consolida as velocidades individuais de cada junta.
Segundo SICILIANO et al. (2009), existe uma matriz que representa a transformação linear
entre o espaço das juntas e o operacional, de maneira que
ve = J(q)q̇ (8.51)
J(q) é uma matriz (6 × n), para o caso do espaço euclidiano, chamada de Jacobiano, que
pode ser subdividida em duas partes: uma relacionada à velocidade angular, Jω (q), e outra à
velocidade linear, Jv (q). Para o caso de um deslocamento helicoidal, o Jacobiano pode ser
rescrito como:
" #
Jw (q)
J(q) = (8.52)
Jv (q)
Por outro lado, a EQ. 8.51 admite a possibilidade da análise do problema inverso, onde,
conhecidas as velocidades da ferramenta, busca-se encontrar as velocidades de cada junta. Para
isso, basta a inversão da matriz jacobiana e, assim, a EQ. 8.51 toma a forma de
q̇ = J −1 (q)ve (8.53)
Cada junta helicoidal pode ser representada por um helicoide $, o qual pode ser desmem-
133
brado em uma intensidade q̇, e um vetor $̂ que representa o seu respectivo helicoide unitário.
Desta forma:
$ = q̇ $̂ (8.54)
O helicoide unitário pode, por sua vez, ser convenientemente representado por um par de
vetores, isto é:
sx
sy
" #
s sz
$̂ = = (8.55)
s0 × s + h s (s0y sz − s0z sy ) + hsx
(s s − s s ) + hs
0z x 0x z y
(s0x sy − s0y sx ) + hsz
Entretanto, como usualmente são utilizados apenas representações dos dois tipos de juntas
elementares, i.e. juntas de revolução, e prismática, como apresentado na Seção 2.2, a intensi-
dade para uma junta de revolução: q̇ = θ̇, e; para uma junta prismática: q̇ = d.˙ Além disso,
como não existe translação em uma junta de revolução, i.e., d = 0, o passo helicoidal, que é
representado por h = d/θ, se iguala a zero, ou seja, h = 0, e desta forma, o helicoide unitário
para uma junta de rotação é dado pela EQ. 8.56 (TSAI, 1999).
sx
sy
" #
s sz
$̂ = = (8.56)
s0 × s sz s0y − sy s0z
s s −s s
x 0z z 0x
sy s0x − sx s0y
Já para uma junta prismática, h = ∞, e então o helicoide unitário pode ser representado
conforme a EQ. 8.57 (TSAI, 1999).
134
0
0
" #
0 0
$̂ = = (8.57)
s sx
sy
sz
135
Assim, a análise do mecanismo é feito a partir de conceitos da Teoria dos Grafos onde cada
aresta é considerada uma junta, e cada vértice um corpo (Apêndice 8.1). Desta forma a Lei de
Kirchhoff-Davies pode ser matematicamente interpretada conforme a EQ. 8.58:
sabendo que B é a matriz dos circuitos, onde cada elemento pode assumir os seguintes valores:
1 se vi for o vértice inicial de ej
bij −1 se vi for o vértice final de ej (8.59)
0 em caso contrário ou se ej for um laço
gerando dessa forma, a matriz uma matriz de B para o caso específico do Motoman MH5F,
De forma geral, a representação do movimento relativo entre os elos n e n − 1 pode ser feita
por meio do helicoide $n . Com isso, a Lei de Circulação de Kirchhoff-Davies, obedecendo o
sentido e a ordem da circulação, definida pela matriz dos Circuitos, a EQ. 8.58 pode ser descrita
por
h i
$1 · · · $n−1 $n −$Rz −$Ry −$Rx −$Pz −$Py −$Px = 0 (8.61)
que através da EQ. 8.55, a EQ. 8.61 pode ser reescrita em função dos helicoides unitários e suas
respectivas magnitudes
136
q̇1
.
..
q̇n−1
q̇n
h i
$̂1 · · · $̂n−1 $̂n −$̂Rz −$̂Ry · · · −$̂Py =0
−$̂Px q̇Rz (8.62)
q̇
Ry
..
.
q̇
Py
q̇Px
N q̇ = 0 (8.63)
onde N é a matriz que contém os helicoides unitários e q̇ a matriz que agrupa as magnitudes.
Considera-se conhecida a posição ocupada pelo efetuador final, sendo a mesma completa-
mente determinada pela pelas juntas que compõem a cadeia virtual. A matriz q̇ pode ser rees-
crita, de maneira que as magnitudes das juntas primárias (juntas que impõem a ação, no caso
da resolução da cinemática inversa, as juntas virtuais), e as secundárias, (juntas que sofrem
ação, que no caso da resolução da cinemática invera são as juntas do robô), sejam rearranjadas,
iT
. .
h h i
q̇ = q̇S .. q̇P e, de forma coerente, N = NS .. −NP . Sendo assim, a EQ. 8.63 toma a
forma de
q̇
i S
..
h
NS . . . = 0
. −NP (8.64)
q̇P
137
q̇P = NP−1 NS q̇S (8.66)
Comparando as EQ. 8.66 e 8.51, têm-se que o Jacobiano pode ser reescrito como
J$ = NP−1 NS (8.67)
Vale citar, que nem sempre, o Jacobiano baseado em Helicoides é passível de ser invertido,
entretanto, pelo Motoman MH5F ser um robô de 6 juntas, a EQ. 8.67 resulta em uma matriz
quadrada, 6 × 6, o que garante sua inversão.
O objetivo da cinemática inversa é obter as variáveis de junta necessárias para que o efetu-
ador final esteja na localização desejada e, assim como em SICILIANO et al. (2009), pode ser
obtida numericamente utilizando o método numérico de integração de Euler, determinado por
A determinação das variáveis de junta dessa forma trazem um erro oriundo desse método
de 1a ordem e, como ∆t, apesar de pequeno não é infinitesimal, resulta em um desvio da
localização do efetuador final. Esse erro pode ser representado, no caso espacial, por um vetor
6 × 1, que corresponde à diferença entre a posição desejada e a real, ou seja,
e = xd − x (8.70)
ė = ẋd − ẋ (8.71)
Visando a convergência desse sistema, é desejável que o erro se comporte da seguinte forma
ė + Ke = 0 (8.72)
138
e que K seja uma matriz positiva definida. Isso garante que o sistema seja assintoticamente
estável.
Substituindo as EQ. 8.70 e 8.71 em 8.72, têm-se que
Com isso, é possível determinar o vetor das juntas para uma trajetória desejada.
139
8.5 APÊNDICE 5: COMANDOS DA LINGUAGEM INFORM III
140
TAB. 8.7: Instruções (IN/OUT) (adaptado de YASKAWA (2014a))
141
TAB. 8.9: Instruções (SHIFT) (adaptado de YASKAWA (2014a))
142
8.6 APÊNDICE 6: CENÁRIO CIM–MECATRIME DO LABORATÓRIO VIRTUAL
Esta seção apresenta as variáveis de junta das Cadeias Virtuais de Posicionamento de cada
componente de cenário do CIM do laboratório MecatrIME, organizadas nas TAB. 8.12, 8.13
e 8.14. Esse cenário totaliza em 94 componentes, como pode ser visualizado na FIG. 8.19.
Cada um dos componentes foi modelado utilizando os critérios abordado na Seção 3.3.1.3.
Este cenário requer, implantação futura das funcionalidades dos outros equipamentos, e não
somente dos robôs Motoman MH5F que é a contribuição desta dissertação. Além disso neces-
sita do código do CAMPS em si, de forma a diminuir o custo computacional demandado pelas
simulações realizadas atualmente no CAMPS, que hoje inviabilizam a utilização deste cenário,
ficando como sugestão para trabalhos futuros.
Componentes de Cenário X Y Z Rx Ry Rz
Conveyor -6159,37 135,63 0 0 0 90
Manager Mesa1720 0 0 0 0 0 90
Manager CadeiraOfficer1720 550 500 0 0 0 90
Manager CadeiraOfficer1720 542 -240 0 0 0 90
Manager Monitor Duplo -133,03 -568,73 755 0 0 110
Manager Monitor Duplo2 -150,9 598 755 0 0 70
Manager Teclado 233,25 -241,37 755 0 0 90
Manager Mouse 222,11 62,08 755 0 0 -90
Botoeira Intelitek -55 170 755 0 0 0
ASRS -2049,37 -1061,24 0 0 0 90
Mesa1420 -2015 1650 0 0 0 0
CadeiraOfficer1420 -1473 1960 0 0 0 90
RackPreto -2245 1070 755 0 0 0
RackBranco -2245 1330 755 0 0 0
Alimentador Gravitacional -1909,39 1018,75 755 0 0 90
Alimentador Gravitacional -1909,39 1240,75 755 0 0 90
Teclado -1845,16 1964,1 755 0 0 90
Mouse -1834,33 2267,4 755 0 0 -90
Monitor Duplo -2167,76 2002,69 755 0 0 90
Trilho -2620 1572 0 0 0 0
Robo MH5F Trilho -2620 901,5 1172 0 0 -90
Torno CNC -3485,54 2734,8 0 0 0 -90
143
TAB. 8.13: Localização CIM–Mecatrime (Continuação)
Componentes de Cenário X Y Z Rx Ry Rz
Buffer -2760,5 485 934,72 0 0 0
Mesa1420 -6001,09 1537,34 0 0 0 0
CadeiraOfficer1420 -5459,09 1777,34 0 0 0 90
Monitor Duplo1420 -6157,36 1908,5 755 0 0 90
Teclado1420 -5784,4 1783,24 755 0 0 90
Mouse1420 -5790,46 2108,45 755 0 0 -90
Alimentador Pneumático -6141,59 1140,17 755 0 0 -90
Flip Pneumático -5987,2 742,27 615 0 0 90
Mesa740 -4641,09 886 0 0 0 -90
CadeiraOfficer740 -4661,09 1428 0 0 0 180
Mouse740 -4934,54 1061,55 755 0 0 0
Teclado740 -4635,19 1059,18 755 0 0 180
MonitorDuplo740 -4630,61 734,17 755 0 0 180
Trilho -6626,09 1547,34 0 0 0 0
Robô MH5F Trilho -6626,09 1044,62 1172 0 0 -90
Centro de Usinagem -7911,59 2518,47 0 0 0 0
Rack -6231 957,34 755 0 0 0
Gaiola de Soldagem -9829,47 1089,9 0 0 0 90
Alimentador Gravitacional -9431,35 1426,01 808,9 0 0 130
Tocha -9769,2 1548,8 902,07 0 0 180
Robo MH5F -10106,99 867,46 808,9 0 0 0
Mesa740 -11169,37 1391,26 0 0 0 -90
CadeiraOfficer740 -11139,37 1933,26 0 0 0 180
Mouse740 -11444,63 1609,78 755 0 0 0
Teclado740 -11126,16 1603,4 755 0 0 180
MonitorDuplo740 -11176,55 1254,14 755 0 0 180
Exagon -11244,53 359,08 0 0 0 90
Mesa740 -12149,37 311,26 0 0 0 90
CadeiraOfficer740 -12189,37 -230,74 0 0 0 0
Teclado740 -12179,5 115,5 755 0 0 0
Mouse740 -11873,15 88,63 755 0 0 180
MonitorSimples740 -12164,55 526,26 755 0 0 180
Mesa1420 -10724,37 -1168,74 0 0 0 -90
CadeiraOfficer1420 -10454,37 -1710,74 0 0 0 0
Teclado1420 -10451,32 -1379,51 755 0 0 0
Mouse1420 -10125,48 -1417,19 755 0 0 180
MonitorDuplo1420 -10424,37 -1043,74 755 0 0 0
RackApoiadoPequeno -11158,51 -965,74 755 0 0 0
AlimentadorPneumatico -11359,54 -1038,24 755 0 0 180
TrilhoRobo -10719,37 -563,74 0 0 0 90
Robo MH5F Trilho -11209,24 -585,84 1172 0 0 180
Pedestal -8845,37 -494,04 0 0 0 0
144
TAB. 8.14: Localização CIM–Mecatrime (Continuação)
Componentes de Cenário X Y Z Rx Ry Rz
Robo MH5F -8840,87 -500,04 866,7 0 0 -90
MesaMontagem -8844,37 -896,24 0 0 0 -90
RackApoiadoPequeno 1 -9109,37 -945,74 870 0 0 0
RackApoiadoPequeno 2 -8849,37 -945,74 870 0 0 0
RackApoiadoPequeno 3 -8589,37 -945,74 870 0 0 0
BufferSimples 1 -8232,87 -445,99 870 0 0 0
BufferSimples 2 -8232,87 -594,49 870 0 0 0
BufferSimples 3 -8429,87 -594,49 870 0 0 0
BufferSimples 4 -8429,87 -445,99 870 0 0 0
Mesa1420 -7344,37 -788,74 0 0 0 -90
CadeiraOfficer1420 -7554,37 -1330,74 0 0 0 0
MonitorDuplo1420 -7474,37 -683,74 755 0 0 0
Teclado1420 -7550,25 -1012,68 755 0 0 0
Mouse1420 -7240,43 -1009,05 755 0 0 180
BufferSimples 1 -6732,87 -505,99 755 0 0 0
BufferSimples 2 -6929,87 -505,99 755 0 0 0
AlimentadorPneumatico -6821,87 -1068,91 755 0 0 0
Pedestal Robo -6329,37 -833,74 0 0 0 0
Robô MH5F -6324,87 -839,74 1166,7 0 0 -90
Impressora a Laser -5644,37 -606,24 70 0 0 0
Mesa740_1 -4449,37 -633,74 0 0 0 90
CadeiraOfficer740_1 -4479,37 -1128,27 0 0 0 0
MonitorDuplo740_1 -4439,37 -528,74 755 0 0 0
Mouse740_1 -4141,7 -865,29 755 0 0 180
Teclado740_1 -4472,08 -852,82 755 0 0 0
Mesa740_2 -3194,37 -778,74 0 0 0 90
CadeiraOfficer740_2 -3254,37 -1320,74 0 0 0 0
MonitorDuplo740_2 -3184,37 -653,74 755 0 0 0
Mouse740_2 -2914,46 -996,58 755 0 0 180
Teclado740_2 -3253,41 -992,09 755 0 0 0
145
FIG. 8.19: Cenário desenvolvido do CIM - MecatrIME. (Autoria própria)
146