Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Área Tecnológica de Mecatrônica.
ROBÓTICA BÁSICA
ROBÔ FANUC
Área Tecnológica de Mecatrônica.
ROBÓTICA
BÁSICA
ROBÔ FANUC
SALVADOR
2 0 0 3
Copyright 2003 por SENAI CIMATEC. Todos os direitos reservados.
Área Tecnológica de Mecatrônica
Elaboração: Eduardo José Lima II 
Marise Carvalho Mota Arnaldo
Helder Lacerda de Araújo
Revisão Técnica: Milton Souza Bastos
Revisão Pedagógica: Maria Célia Calmon Santos
Normalização: Maria do Carmo Oliveira Ribeiro
Catalogação na fonte (Núcleo de Informação Tecnológica - NIT)
________________________________________________________
 SENAI-BA CIMATEC – Centro Integrado de Manufatura 
 e Tecnologia. Robótica Básica: robô FANUC. Salvador, 
 2003. 67.p. il. (Rev.00)
 
 I. Robótica I. Título
CDD 629
________________________________________________________
SENAI CIMATEC
Av. Orlando Gomes, 1845 - Piatã
Salvador – Bahia – Brasil
CEP 416050-010
Tel.: (71) 462-9500
Fax. (71) 462-9599
http://www.cimatec.fieb.org.br
 
http://www.cimatec.fieb.org.br/
MENSAGEM DO SENAI CIMATEC
O SENAI CIMATEC visa desenvolver um programa avançado de suporte tecnológico 
para suprir as necessidades de formação de recursos humanos qualificados, 
prestação de serviços especializados e promoção de pesquisa aplicada nas 
tecnologias computacionais integradas da manufatura. 
Com uma moderna estrutura laboratorial e um corpo técnico especializado, o 
CIMATEC desenvolve programas de intercâmbio tecnológico com instituições de 
ensino e pesquisa, locais e internacionais. 
Tudo isso sem desviar a atenção das necessidades da comunidade, atendendo suas 
expectativas de formação profissional, suporte tecnológico e desenvolvimento, 
contribuindo para uma constante atualização da indústria baiana de manufatura e 
para a alavancagem do potencial das empresas existentes ou emergentes no 
estado. 
 
APRESENTAÇÃO 
Neste trabalho, o convidamos a entrar no mundo fascinante da robótica. Aqui você 
encontrará os conceitos básicos necessários à compreensão do funcionamento dos 
robôs, desde os aspectos construtivos aos fundamentos básicos de programação. 
Não se pretende aqui esgotar o assunto, mas sim fornecer subsídios básicos para 
aqueles que pretendem ter um contato inicial com a área e para aqueles que 
pretendem se aprofundar posteriormente.
SUMÁRIO
1. IntroduÁão à Robótica.........................................................................................7
 
1.1 HISTÓRICO..................................................................................................................................................7
1.2 DEFINIÇÃO..................................................................................................................................................7
2. Arquitetura.............................................................................................................8
3. ClassificaÁão.........................................................................................................9
4. Graus de Liberdade............................................................................................13
5. Volume de Trabalho...............................................................................................14
6. Acessórios...........................................................................................................15
6.1 GARRAS:..................................................................................................................................................15
6.2 FERRAMENTAS ESPECIALIZADAS....................................................................................................................16
7. Capacidade de Carga.........................................................................................16
8. AplicaÁões Industriais de Robôs......................................................................16
8.1 SOLDAGEM................................................................................................................................................17
8.1.1 SOLDAGEM A PONTO..................................................................................................................................17
8.1.2 SOLDAGEM A ARCO....................................................................................................................................18
8.2 APLICAÇÃO DE FLUIDOS..............................................................................................................................19
8.3 MONTAGEM...............................................................................................................................................20
8.4 CARREGAMENTO / MOVIMENTAÇÃO..............................................................................................................21
9. SeguranÁa...........................................................................................................21
10. Tipos e dispositivos de ProgramaÁão.............................................................23
10.1 PROGRAMAÇÃO MANUAL............................................................................................................................25
10.2 REPETIÇÃO................................................................................................................................................26
11. Terminal de ProgramaÁão (Teach Pendant).....................................................26
12. Linguagens de ProgramaÁão.............................................................................29
12.1 GERAÇÕES DE LINGUAGENS DE PROGRAMAÇÃO..............................................................................................29
12.2 COMANDOS DE PROGRAMAÇÃO...................................................................................................................31
12.3 SIMULAÇÃO...............................................................................................................................................35
12.4 SISTEMA DE MOVIMENTAÇÃO DO ROBÔ.........................................................................................................35
12.5 MODO AUTOMÁTICO..................................................................................................................................36
12.6 CRIAÇÃO E EDIÇÃO DE PROGRAMAS.............................................................................................................36
12.7 SALVAMENTO DE PROGRAMAS......................................................................................................................37
12.8 VISUALIZAÇÃO DE ERROS............................................................................................................................37
12.9 TROCA DE FERRAMENTAS............................................................................................................................37
12.10 ETAPAS DA PROGRAMAÇÃO......................................................................................................................38
12.11 PLANEJAMENTO DE PROGRAMAS...............................................................................................................38
12.12 DOCUMENTAÇÃO DE PROGRAMAS..............................................................................................................40
12.13 INTERRUPÇÕES.......................................................................................................................................40
13. Elementos de ProgramaÁão(robô FANUC).....................................................40
13.1 INSTRUÇÕES DE MOVIMENTO........................................................................................................................40
13.2 REGISTRADORES.........................................................................................................................................42
13.3 ESTRUTURAS DE CONTROLE DE FLUXO...........................................................................................................42
13.3.1 CHAMADA DE PROGRAMAS......................................................................................................................43
13.3.2 SALTOS DENTRO DE UM PROGRAMA...........................................................................................................43
13.3.3 ESTRUTURA CONDICIONAL.......................................................................................................................44
 
13.3.4 REPETIÇÃO COM CONTAGEM.....................................................................................................................44
13.3.5 SELEÇÃO DE CONDIÇÕES.........................................................................................................................45
13.4 COMANDO DE ATRASO.................................................................................................................................45
13.5 COMANDO DE MENSAGEM............................................................................................................................45
13.6 ENTRADAS E SAÍDAS...................................................................................................................................45
13.6.1 FORÇANDO E SIMULANDO SINAIS..............................................................................................................46
ANEXO I – Robô Industrial da FANUC (ARC Mate 50 iL)......................................48
A1.1 SEGURANÇA..............................................................................................................................................48
A1.1.1 CONSIDERAÇÕES DE SEGURANÇA PARA A INSTALAÇÃO DO ROBÔ..................................................................48
A1.1.2 EXTINÇÃO DO FOGO..............................................................................................................................49
A1.1.3 USO DE DISPOSITIVOS DE AUMENTO DE SEGURANÇA.................................................................................49
A1.1.4 CRIANDO UM CÉLULA DE TRABALHO SEGURA..........................................................................................49
A1.1.5 PARADAS DE EMERGÊNCIA......................................................................................................................50
A1.2 APLICAÇÕES:.............................................................................................................................................50
A1.3 GRAUS DE LIBERDADE:...............................................................................................................................50
A1.4 EIXOS:.....................................................................................................................................................51
A1.4.1 EIXOS INTERNOS :..................................................................................................................................51
A1.4.2 EIXOS EXTERNOS :.................................................................................................................................51
A1.5 ABERTURA DE PROGRAMAS.........................................................................................................................51
A1.6 INICIANDO O PROGRAMA.............................................................................................................................52
ANEXO II – Roteiros de Aulas Práticas...................................................................53
PRÁTICA 1 – MOVIMENTAÇÃO DO ROBÔ (JOGGING)......................................................................................................53
PRÁTICA 2 - MARCAÇÃO DE PONTOS..........................................................................................................................55
PRÁTICA 3 - EDIÇÃO DE POSIÇÃO DE PONTOS...............................................................................................................58
PRÁTICA 4 - FUNÇÕES DE CHAMADAS DE PROGRAMAS...................................................................................................60
PRÁTICA 5 - COMANDO DE MOVIMENTO CIRCULAR.......................................................................................................61
PRÁTICA 6 - REPETIÇÃO DE PROGRAMA UM NÚMERO INDETERMINADO DE VEZES...............................................................63
PRÁTICA 7 - REPETIÇÃO DE PROGRAMA UM NÚMERO DETERMINADO DE VEZES..................................................................64
Referências Bibliográficas.......................................................................................66
 
1. IntroduÁão à Robótica
1.1 Histórico
Desde o início da humanidade busca-se o desenvolvimento de equipamentos 
que possibilitem melhorar a forma de sobrevivência e/ou interação com o meio 
ambiente. 
O termo robô tem sua origem datada no início do século XX através da 
imaginação de escritores de ficção científica como Karel Capek que introduziu o 
termo em 1921 em sua peça Rossum´s Universal Robots (RUR). Este termo provem 
do checo e significa trabalho árduo ou trabalho forçado. Já o termo robótica foi 
introduzido por Isaac Asimov, no início dos anos 40 para descrever a arte e a ciência 
que envolve a tecnologia de robôs. Na concepção de Capek os robôs podiam se 
tornar malevolentes e dispostos a conquistar o mundo, enquanto que na de Asimov 
os robôs seriam sempre benevolentes para a humanidade. 
O conceito de robô industrial foi patenteado em 1954 por G.C. Devol. Ele 
descreve como construir um braço mecânico controlado para realizar tarefas na 
indústria. Porém somente em 1961 foi instalado o primeiro robô industrial pela 
Unimation na General Motors em uma máquina de fundição.
Três tecnologias que nasceram durante ou após a II Guerra Mundial que 
foram cruciais para o sucesso da robótica: A tecnologia de servo-mecanismos; a 
computação digital; e o desenvolvimento de componentes eletrônicos. É 
interessante notar que no princípio a eletrônica representava 75% do custo de 
fabricação do robô, enquanto que 25% referia-se ao custo hidromecânico. Hoje 
essas taxas se inverteram.
Os robôs industriais são considerados convenientes para trabalhos 
considerados repetitivos, desagradáveis, arriscados ou insalubres para o homem. As 
principais vantagens dos robôs são as seguintes:
• Flexibilidade
• Alta produtividade
• Melhor qualidade dos produtos
• Aumento da qualidade de vida humana, uma vez que realizam trabalhos 
indesejáveis.
Muita discussão se forma ao redor dos robôs e sob seu uso em detrimento as 
mãos-de-obra humana. Obviamente a implantação de robôs extingue algumas 
atividades humanas, aquelas que são repetitivas e braçais, mas em contra-partida 
desloca postos de trabalho para atividades de maior valor agregado, substituindo 
assim a mão-de-obra pela mente-de-obra.
1.2 DefiniÁão
A Divisão Internacional de Robótica da Society Manufacturing Engineers 
(SME) define o robô industrial como “manipulador multifuncional reprogramável 
projetado para mover materiais, peÁas, ferramentas ou aparelhos 
especializados através de movimentoprogramados variável para a realizaÁão 
de diversas tarefas”. As palavras chaves dessa definição são multifuncionais, 
mostrando que o robô pode possuir mais do que uma função sendo que às vezes 
pode possuir somente uma, reprogramável, mostrando que o robô pode ser 
programado sempre e mover materiais, peças e ferramentas que definem as tarefas 
do manipulador. Além dessas pode-se incluir as seguintes palavras chaves: 
7
movimento sobre diversas direções (graus de liberdade), end effector (ferramenta do 
robô anexada ao pulso do robô que exercerá a função desejada).
2. Arquitetura
Os sistemas robóticos consistem de, no mínimo, duas partes principais:
• Manipulador - Consiste na estrutura mecânica móvel que realiza a função de 
movimento em um robô. Ele é composto por uma estrutura principal (main 
frame), braço mecânico, que consiste de diversos ligamentos mecânicos 
rígidos conectados por juntas que permitem o movimento relativo entre 
ligamentos vizinhos. As juntas são dotadas normalmente de sensores de 
posição que permitem medir o deslocamento relativo entre os ligamentos. Ao 
pulso do robô (flange) se conectam ferramentas específicas que variam 
segundo a aplicação. 
• Controlador - Controla e armazena o programa tarefa, bem como atua nas 
juntas do manipulador
As partes de um robô correspondem a algumas das partes de uma pessoa (e 
outros animais), pois os problemas de percepção, movimento e controle que os 
robôs devem resolver são análogos aos muitos problemas que os humanos e outras 
criaturas vivas também enfrentam. De fato, a fim de descobrir como solucionar 
esses problemas para os robôs os engenheiros freqüentemente preferem estudar 
como a natureza tentou solucioná-los.
 
9
 
3. ClassificaÁão
A primeira classificação diferencia os diversos tipos de robô pela sua forma de 
locomoção:
1. Tartarugas (turtlebots): São robôs dotados de características que os assemelham a 
uma tartaruga.
2. Estacionários: São braços dotados de mãos ou garras que normalmente ficam fixos 
em mesas e pedestais.
3. Andróides: Robôs que possuem formas baseadas na anatomia do corpo humano.
Os sistemas robóticos classificam-se também segundo a configuração das 
juntas utilizadas, incluindo as características cinemática e estrutural, o número de 
graus de liberdade, a faixa de trabalho e o tipo de controle do robô.
Para permitir a compreensão desta classificação, caracterizaremos os tipos 
de junta como:
• Prismáticas: que podem ser de estágio simples e estágio múltiplo 
(juntas telescópicas), as de estágio simples são feitas de uma 
superfície móvel que desliza linearmente sobre uma superfície 
fixa; as de estágio múltiplo são na verdade um conjunto de juntas 
de estágio simples (à semelhança de uma antena de carro). 
Produzem deslocamentos lineares entre os ligamentos.
 
10
• De movimento Rotativo: projetadas para permitir rotação pura 
com o mínimo de movimentos axiais e radiais. Produzem 
deslocamentos angulares entre os ligamentos. São também 
chamadas de juntas angulares.
Há, ainda, juntas especiais, como as juntas esféricas:
• Esféricas: projetadas para combinar três juntas de rotação, 
realizando a rotação em torno de três eixos. No corpo humano 
existem algumas juntas esféricas como a junta entre o ombro e o 
braço, o braço e o punho, o tronco e as pernas.
Assim, estruturalmente os robôs podem ser classificados de acordo com o 
sistema de coordenadas adotado pela sua estrutura principal, ou seja, seus três 
primeiros eixos a contar a partir da base:
Cartesiano (três eixos lineares - PPP): possuem uma 
estrutura principal que consiste em três linhas ortogonais 
(prismáticas ou deslizantes). Em robôs cartesianos, o 
hardware do manipulador e o programa de controle são 
similares aos das máquinas ferramentas CNC. O pulso de 
um robô cartesiano pode ser programado para traçar uma 
trajetória linear simplesmente controlando cada um dos 
eixos com velocidade constante. Outra importante 
característica dos robôs cartesianos é sua resolução 
espacial constante, isto é sua resolução é fixa em todas as 
direções da trajetória. Não é tão popular na indústria 
devido a sua deficiente flexibilidade mecânica, não 
conseguindo alcançar objetos no chão ou alcançar pontos 
invisíveis da sua base. Além disso, a velocidade de 
operação no plano horizontal é inferior aos robôs que 
possuem uma base rotacional.
Cilíndricos (um eixo angular e dois eixos lineares RPP): 
consistem em um braço horizontal montado sobre uma 
coluna vertical que é inserida em uma base rotacional. Seu 
volume de trabalho é um cilindro de base anular. Sua 
resolução não é constante e depende da distância r entre 
a coluna e a garra inserida no braço horizontal. A 
resolução do braço sobre a base possui uma ordem de 
grandeza duas vezes maior que nos robôs cartesianos, 
além disso, possui maior velocidade no fim do braço. 
Entretanto essa velocidade é limitada em muitos robôs 
devido à variação do momento de inércia do braço do robô 
 
11
que depende da carga da ferramenta inserida no braço do 
robô e a posição do próprio braço. Porém uma boa 
performance dinâmica é difícil de ser alcançada, pois o 
torque que o motor que está na base deve fornecer 
depende da posição, velocidade e aceleração das outras 
juntas e causa variação que reflete no torque e momento 
de inércia. O momento de inércia depende da massa do 
objeto carregado pela garra e também da distância entre o 
eixo da base e o objeto manipulado. Esta distância é 
função da posição instantânea da garra e das outras 
juntas durante o movimento, logo o momento de inércia 
varia com a posição e o tempo.
Esféricos (dois angulares e um linear RRP): consistem 
em uma base rotatória, um eixo elevado e um braço 
telescópico. Seu volume de trabalho é de uma casca 
esférica. Sua desvantagem em relação aos robôs 
cartesianos é que os robôs esféricos possuem dois eixos 
com resolução relativamente baixa que varia com o 
comprimento do braço. Sua vantagem em relação aos 
robôs cartesianos e cilíndricos é sua melhor flexibilidade 
mecânica, seu eixo elevado permite acesso aos pontos no 
nível da base ou abaixo dela.
SCARA (dois angulares e um linear RRP): A sigla 
SCARA provém do inglês e significa “Selective Compliant 
Assembly Robot Arm''. A principal vantagem desta 
configuração é que os atuadores das duas primeiras 
juntas estão livres de suportar os pesos do próprio 
manipulador e da carga e podem ser alocados na base 
do manipulador, podendo então ser relativamente 
grandes, o que garante altas velocidades de movimento. 
Como o próprio nome indica, esta configuração é 
indicada para tarefas de montagem, tais como inserir 
pinos em buracos ou componentes de circuitos 
eletrônicos em soquetes. 
Articulados (três eixos angulares RRR): consistem em 
três membros rígidos conectados por duas juntas de 
revolução e apoiados sobre uma base rotatória. Os robôs 
articulados possuem três eixos angulares e sua resolução 
espacial depende da posição do braço. Sua precisão é 
pobre pois os erros das juntas são acumulados no fim do 
braço. Por outro lado podem mover-se em altas 
velocidades e possuem uma excelente flexibilidade 
mecânica, o que torna o seu uso mais comum em robô de 
tamanho pequenoou médio. 
Geralmente, além dos três eixos mencionados, os robôs articulados possuem 
mais três eixos que têm o objetivo de orientar a ferramenta, são eles o roll, o pitch e 
o yaw.
 
12
• Yaw é uma rotação ao redor de um eixo vertical que 
vai da parte superior à parte inferior através do 
punho. Isto produz um movimento da direita para a 
esquerda, assim como aquele usado para dizer 
“não”.
• Pitch é uma rotação ao redor de um eixo horizontal 
que vai da esquerda para à direita através do punho. 
. Isto produz um movimento de sobe e desce da mão, 
assim como aquele usado para dizer “até logo”.
• Roll é uma rotação ao redor de um eixo horizontal 
que vai de trás para frente através do punho. Isto 
produz um balanço lateral da mão, assim como 
aquele usado para dizer “mais ou menos”.
Alguns robôs utilizam outra configuração para os eixos de orientação da 
ferramenta. Nestes robôs temos dois eixos de roll e um eixo de picth/yaw. Desta 
forma obtemos também a orientação da ferramenta em roll, pitch e yaw.
A figura seguinte mostra como a ferramenta 
pode ter várias orientações na mesma posição:
4. Graus de Liberdade
Braços de robôs são freqüentemente descritos 
como tendo um certo número de graus de liberdade 
ou um certo número de eixos de movimento. Em 
robótica, o número de graus de liberdade é o número 
de movimentos distintos que o braço pode realizar.
Normalmente o número de graus de liberdade 
iguala-se ao número de juntas, de forma que um robô de cinco graus de liberdade 
possui cinco juntas, e um robô com seis eixos tem seis juntas. Porém, em certos 
casos é possível que duas juntas não tenham movimentos independentes, como, 
por exemplo, em um compasso com engrenagens. Nesses casos apenas um grau 
de liberdade é contado para as duas juntas.
A noção de graus de liberdade tem limites definidos. Por exemplo, uma junta 
não possui apenas uma direção de movimento, mas também limites a este 
movimento. Essa faixa de movimento permitido, que não tem nada a ver diretamente 
com graus de liberdade, é muito importante. Por exemplo, quando seguramos uma 
bola de tênis na mão, a seguramos mantendo a palma da mão em contato com ela. 
Isto ocorre porque as juntas de nossos dedos só dobram na direção da palma da 
mão e não em direção às costas desta. Caso nossas juntas tivessem uma faixa de 
 
13
movimento que lhes permitisse dobrar nas duas direções, seríamos capazes de 
pegar uma bola de tênis tanto com a palma como com as costas da mão.
Assim, usamos os graus de liberdade adicionais das juntas de nossos 
punhos, cotovelo e ombro para mover nossa mão de tal forma que a palma fique de 
frente para a bola. Portanto ter mais juntas (punho, cotovelo e ombro) e em 
conseqüência mais graus de liberdade, ajuda-nos a compensar o fato de ter uma 
faixa de movimentos um tanto limitada em nossos dedos. Um robô precisa de 
apenas dois ou três graus de liberdade para ser útil, mas às vezes mais que seis 
graus são necessários para estendê-lo a realizar manobras, como, por exemplo, no 
interior de um automóvel.
5. Volume de Trabalho
Uma das características mais importantes dos manipuladores é o seu volume 
de trabalho, ou seja, a região do espaço que o mesmo consegue alcançar com seu 
órgão terminal. A superfície desse volume depende do sistema de coordenadas 
empregado e o tamanho depende das dimensões físicas do braço do robô.
Robôs em movimento especialmente de grande porte, acumulam uma grande 
energia. Os robôs podem aparentar estarem desligados, mas podem mover-se 
repentinamente e sem advertência, pois pode estar esperando por sinais de 
entradas que vem de outras máquinas ou mesmo esperando um período de tempo 
passar. A segurança do usuário depende do respeito ao volume de trabalho do 
robô. É importante observar também que o acoplamento de uma ferramenta no 
flange do robô aumenta esse volume de trabalho.
 
Volume de Trabalho do homem e de um robô
 
14
Volume de Trabalho do FANUC ARC Mate 50 iL
6. Acessórios
A junta terminal do robô é também conhecida como punho ou flange. A ela 
podem ser acoplados acessórios efetuadores ou ferramentas apropriadas para 
diferentes aplicações. As ferramentas podem ser classificadas em dois grandes 
grupos: garras e ferramentas especializadas, respectivamente usadas para mover 
objetos e para executar tarefas especiais.
6.1 Garras:
 
• Garras de dois dedos: É o tipo de garra mais 
comum, variando em tamanho e/ou movimento dos 
dedos. A desvantagem básica da garra de dois dedos 
é a sua limitação de abertura, impossibilitando o 
manuseio de objetos maiores que sua abertura total.
 
• Garras de três dedos: É similar à garra de dois 
dedos, mas permite maior segurança no agarrar 
objetos, podendo segurar formas esféricas, 
triangulares, etc.
 
• Garras para objetos cilíndricos: Consiste de dois 
dedos, cada um deles possuindo três ou mais 
depressões circulares, possibilitando a pega de 
objetos cilíndricos de diversos tamanhos.
 
15
 
• Garras para objetos frágeis: Projetadas para pegar 
um objeto frágil sem quebrá-lo, através da distribuição 
do ponto de força ao longo da peça.
 
• Garras de Juntas: Apropriadas para pegar objetos 
de vários tamanhos e de superfícies irregulares. As 
conexões são movidas por pares de cabos. Um cabo 
de cada par flexiona a junta, e o outro a estende. Para 
pegar um objeto, as juntas dos dedos envolvem-no e 
seguram-no firmemente. Quanto menor o tamanho 
das juntas dos dedos, maior é a firmeza e a 
capacidade de pegar objetos irregulares.
 
• Garra Eletromagnética ou a Vácuo: Projetadas para 
pegar objetos lisos e chatos através de um vácuo 
criado nas suas ventosas. Já as Garras 
Eletromagnéticas são designadas para pegar objetos 
metálicos através de campo magnético. Ambos os 
tipos de garras são eficientes, já que elas podem 
pegar objetos de diversos tamanhos, e não requerem 
grande precisão na localização do objeto. As garras a 
vácuo são usadas para pegar objetos de superfície 
plana, como chapas de metal e caixas de papelão. 
Geralmente cada garra a vácuo possui um 
determinado número de ventosas conforme sua 
aplicação, isto para reduzir o risco de 
escorregamento, bem como para aumentar a 
capacidade de transporte.
6.2 Ferramentas especializadas
As ferramentas especializadas que os robôs podem usar nas diversas 
operações que executam incluem pistolas de pintura e de solda a ponto, tochas de 
solda a arco, cortadores a jato d’água e a laser e rebitadeiras automáticas.
 
Pistola de Pintura Tocha Ponteadeira de Solda Cortadora Laser
 
16
7. Capacidade de Carga
Como vimos previamente, existem diferentes tipos de robôs para a execução 
das mais variadas funções. Logo a capacidade de carga irá diferir a depender da 
tarefa a ser executada pelo robô. Robôs podem chegar a ter uma capacidade de 
carga de até mais de uma tonelada. Os Robôs da FANUC, o ARC Mate 50 iL e o 
120 possuem uma capacidade de carga de 3 kg e de 130 kg respectivamente.
8. AplicaÁões Industriais de Robôs
A principal vantagem da utilização de robôs na indústriase refere a sua 
capacidade de executar tarefas repetitivas e com grande precisão (repetibilidade). 
Com isso pode-se conseguir um aumento na produtividade e na qualidade dos 
produtos. Além disso, há casos onde há risco para os operários e a utilização de 
robôs se faz por questões de segurança. 
São apresentadas a seguir uma série de aplicações de robôs na indústria.
8.1 Soldagem 
8.1.1 Soldagem a Ponto
Este tipo de soldagem se caracteriza pela união das peças apenas em 
determinados pontos sem que haja inclusão de material novo. O calor necessário à 
soldagem provém da corrente elétrica que passa por dois eletrodos permanentes. 
Os principais parâmetros que influenciam a qualidade da solda são: corrente 
elétrica, pressão entre os eletrodos, tempo de duração da corrente e espessura do 
material.
As operações do processo de solda a ponto, integrando o robô, são:
• Movimento rápido do braço do robô, com a pistola de solda fixa, para 
se aproximar do ponto a ser soldado;
• Aproximação dos eletrodos da pistola de solda a ambos os lados da 
parte a ser soldada e posicionamento destes exatamente em frente a ponto 
de solda;
• Fixação dos eletrodos no ponto a ser soldado;
• Envio de corrente elétrica através dos eletrodos e do material a ser 
soldado;
• Espera;
• Abertura dos eletrodos;
• Movimentação do braço do robô para se aproximar do novo ponto de 
solda. 
 
17
Podemos concluir que este tipo de trabalho é ideal para a utilização de robôs, 
afinal estes podem repetir com grande precisão os valores dos três primeiros 
parâmetros, durante todo o trabalho. Nestas aplicações o robô usa como ferramenta 
a pistola de solda que geralmente é pesada ( 10 a 80 Kg ), por isso, são geralmente 
usados robôs com fonte de potência hidráulica. A precisão de posição não é um 
ponto crítico. 
Sem dúvida a utilização de robôs na 
área de soldagem se mostra muito maior na 
linha de montagem de automóveis. Os 
primeiros robôs do setor foram instalados 
pela General Motors em 1969. Neste tipo de 
aplicação ocorrem muitos pontos de solda 
(300) em cada estrutura e, além disso, os 
pontos são próximos uns dos outros o que 
cria uma grande vantagem na utilização de 
robôs. Podemos citar ainda outras aplicações deste tipo de robôs na indústria como: 
estruturas metálicas e produção de eletrodomésticos.
8.1.2Soldagem a Arco 
Este método de soldagem é 
utilizado para unir metais ao longo 
de uma trajetória contínua. O 
princípio de operação é igual à 
soldagem de ponto, porém neste 
caso há introdução de material de 
solda, geralmente de mesma 
composição das peças a serem 
soldadas. Outra diferença está no 
fato de que neste caso um eletrodo 
não entra em contato com a peça e a corrente é transmitida por um arco. Nos 
sistemas robotizados geralmente se utiliza o processo de escudo por gás inerte 
(IGS) onde a oxidação da solda que é muito intensa àquela temperatura, é inibida 
pela introdução de gás inerte na região entre o eletrodo e a peça. A ferramenta neste 
caso não é tão pesada e robôs com servo motores podem ser utilizados. A 
velocidade de soldagem varia de 0,25 a 3 m/min. O ciclo de soldagem é controlado 
pelo equipamento de solda que na verdade controla o fluxo do gás inerte, a tarefa do 
robô é de conduzir a ferramenta na trajetória correta, com a velocidade desejada e 
com distância constante em relação à base. As operações realizadas pelo robô são:
• Rápido movimento para a área de contato a ser soldada;
• Transmissão de sinais para causar a dispersão do gás e aplicação de 
tensão ao eletrodo;
• Movimento preciso ao longo do caminho de solda enquanto mantém 
um constante vão de ar;
• Preservar constante a orientação do eletrodo em relação à superfície a 
ser soldada;
 
18
• Manter a pistola de solda se movendo a uma velocidade constante;
• Habilidade para realizar movimentos de "tecelagem", para se atingir 
uma boa junção entre os dois corpos de metal e garantir a qualidade da 
solda. 
Este tipo de aplicação geralmente requer robôs com quatro ou cinco eixos de 
movimentação e se constitui numa das mais difíceis tarefas a ser realizadas por 
robôs na indústria. Porém a maior vantagem da utilização de robôs é a otimização 
do tempo de trabalho. Quando analisamos o trabalho realizado por um homem 
verificamos que o tempo gasto efetivamente com a soldagem é aproximadamente 
30% do tempo total, sendo que os 70% restantes são despendidos com ajuste do 
equipamento de proteção ou das peças. Este tempo pode ser eliminado se o 
operador for um robô. A principal aplicação da soldagem de arco na indústria se 
encontra na fabricação de cascos de navios e barcos. Além da melhoria no tempo de 
produção a soldagem de partes internas se torna muito perigosa para um ser 
humano devido aos gases tóxicos liberados.
8.2 AplicaÁão de Fluidos
Os setores de aplicação de fluidos tais como tinta, cola e resina de uma 
indústria, são ambientes não adequados para o ser humano em função da toxidez 
dos produtos utilizados e do ruído provocado pelo fluxo de ar. Assim, esses 
processos se tornam candidatos potenciais ao uso de robôs em substituição a mão-
de-obra humana. Neste tipo de aplicação as características desejadas dos robôs 
são bastante específicas:
• Grande “habilidade” para aplicação do fluido em áreas pouco 
acessíveis;
• Elevado volume de trabalho;
• Devem ocupar pequeno espaço no solo pois as áreas são geralmente 
pequenas;
• Ferramenta leve e com baixa precisão. 
 
19
Neste tipo de aplicação ocorre também um grande predomínio de robôs no 
setor de produção de automóveis onde os robôs devem dispor das características 
citadas acima para alcançar partes internas do veículo. Apresentamos a seguir um 
exemplo que ilustra a aplicação de robôs no setor de pintura.
Os principais problemas 
da integração de robôs aos 
processos de aplicação de 
fluidos são:
– Proteção dos robôs de 
fumaça e sujeira do ambiente 
externo;
– Isolação de fontes de faíscas 
elétricas durante a operação, 
durante a manipulação de 
fluidos inflamáveis;
– Necessidade de coordenação 
entre os movimentos do robô 
e a localização das partes a 
serem pintadas;
– Necessidade de alcance de áreas difíceis. 
8.3 Montagem
Esta operação é uma das áreas mais desafiadoras e com maior potencial de 
crescimento na aplicação de robôs. Ela requer precisão, repetibilidade, grande 
variedade de movimentos e alto grau de sofisticação das garras. Geralmente o fator 
mais importante na decisão de substituir uma linha de montagem com mão-de-obra 
humana por uma automatizada seja a produtividade e os custos. Neste setor o 
ambiente normalmente não apresenta grandes riscos aos humanos, portanto para 
ser viável a aplicação de robôs, estes devem ser mais rápidos ou mais precisos que 
os humanos.
A aplicação mais comum de robôs na montagem industrial é encontrada em 
produtos com dimensões reduzidas, onde a precisão é fator importante, como 
elementos eletrônicos ou pequenos motores elétricos. Este sistema permite uma 
solução extremamente econômica para este tipo de montagem. Há uma 
peculiaridade neste tipo de aplicação. Devido às dimensões serem bastante 
reduzidas, as trajetórias das ferramentas são, geralmente, muito curtas. Para atingir 
velocidades consideráveis e diminuir o tempo de montagem, o robô precisa ter 
acelerações muito altas. A principal desvantagemda utilização de robôs neste tipo 
de operação está no fato de que as peças a serem montadas precisam estar 
dispostas de forma correta para o robô funcionar. Isto faz com que em certas 
aplicações o sistema de alimentação do robô custe mais caro que ele próprio.
 
20
8.4 Carregamento / MovimentaÁão
Este processo é historicamente um dos mais perigosos da indústria, devido às 
grandes cargas e pressões que normalmente envolvem. A aplicação de robôs neste 
tipo de operação, normalmente pouco ergonômica, trás vantagens principalmente 
para a segurança e saúde dos operários.
9. SeguranÁa
Um ponto que deve ser analisado com cuidado se refere à segurança dos 
operários que podem trabalhar próximos aos robôs. Pode parecer antagônico, mas 
os robôs que em certos casos são utilizados para diminuir os riscos às vidas 
humanas, podendo se tornar fonte de perigo. Devemos encarar aqui o robô como 
uma outra máquina qualquer e, portanto deve este ser tratado como um agente 
perigoso se operado impropriamente. Um fato agravante na utilização de robôs é 
que seu volume de trabalho não se limita ao volume realmente ocupado por ele, 
criando assim uma zona de perigo que às vezes pode não ser percebida pelo 
operador. Há uma série de normas que regem a instalação de robôs no chão e 
fábrica. Os pontos mais importantes destas normas são:
• O volume de trabalho do robô deve estar constantemente isolado da 
fábrica, impedindo que qualquer pessoa tenha acesso a ele durante a operação 
do robô
• A abertura da proteção do volume de trabalho do robô deve interromper o 
seu funcionamento
• Deve haver uma indicação luminosa para mostrar que o robô está em 
operação
• Botões de emergência devem estar dispostos em locais de fácil acesso
• Deve-se tomar especial cuidado durante a manutenção onde o contato com 
o robô é inevitável
 
21
Essas são apenas algumas das instruções para instalação do robô no chão 
de fábrica. Elas devem ser seguidas rigorosamente para que a integração do robô 
na fábrica traga aumento da segurança aos operários e não o contrário. 
Os cuidados de segurança são imprescindíveis durante o manuseio de robôs, 
principalmente os de porte industrial. As velocidades de operação envolvidas aliado 
à falta de “inteligência” do equipamento, que meramente reproduz os movimentos 
pré-programados, os tornam verdadeiras armas mortíferas quando as devidas 
precauções não são tomadas. 
Colisões com robôs em movimento podem trazer graves danos tanto ao 
pessoal envolvido quanto aos equipamentos no entorno. Algumas precauções 
devem então ser tomadas:
1. Área de trabalho - Não entrar na área de trabalho do robô durante a operação 
no modo automático.
2. Travas de seguranÁa – Uma vez ocorrida uma parada no sistema provocada 
por uma trava, o programa reinicia de onde parou. Se a trava faz parte do 
circuito de emergência, precisa reiniciar. Algumas das travas possíveis são:
• Cerca com porta, munida de sensor.
• Cortina de luz 
3. Fim de curso - Limitação da área de trabalho
• Via software (todos os eixos. O próprio controlador impede movimentos além 
dos valores determinados)
• Via hardware (stops mecânicos nos eixos 1,2 e 3)
É aconselhável o uso de limitação por software em valores inferiores aos 
bloqueios por hardware pelo esforço e conseqüente desgaste mecânico provocado 
por estes últimos
4. Modo de operaÁão - Usualmente costuma-se operar o robô de três formas 
distintas:
– Automático – Usado quando se roda programas prontos, em produção. Não é 
possível movimentar o robô através do “teach pendant” neste modo.
– Modo Aprendizado – É utilizado quando se trabalha dentro da área de trabalho 
do robô e durante a fase de programação e debug. Normalmente deve-se usar 
velocidades reduzidas.
– Manual Pleno – É utilizado para testar o robô à velocidade de programação 
plena.
Nos modos manuais (modos aprendizagem e manual pleno) a energização 
dos motores se dá através de um botão de um dispositivo de habilitação localizado 
no teach pendant.
5. Emergency Stop – botão de parada brusca
• Terminal de programação
• Painel de controle
 OBS: Deve ser usado apenas em caso de real emergência pelo esforço 
aplicado nas engrenagens, causando desgaste mecânicos . 
 
22
6. Bom Senso – A execução de qualquer programa deve ser primeiramente 
realizada com velocidade reduzida. Só após todos os testes, efetuar em 
velocidade normal.
10. Tipos e dispositivos de ProgramaÁão
Os robôs utilizados na indústria atualmente são basicamente mecanismos 
automáticos projetados para desenvolver determinadas tarefas que podem ser parte 
ou até mesmo todo o processo produtivo de determinado produto. Quando executa 
sua tarefa o robô deve ser capaz de perceber certas mudanças no ambiente e de 
acordo com elas alterar seu ciclo de operações. Além disso, um mesmo tipo ou até 
mesmo um mesmo robô deve ser capaz de realizar diferentes tarefas de acordo com 
a utilização que se faz dele. Os modos de programação dos robôs devem ser 
capazes de atender a essas exigências, ou seja, permitir a variação do ciclo de 
operação. 
A combinação de seis graus de liberdade com o sistema de coordenas não 
cartesiano geralmente utilizado por robôs torna a programação destas máquinas 
muito mais complexa do que a de outras utilizadas na manufatura. Por isso muitas 
técnicas tem sido desenvolvidas para auxiliar e tornar mais completa a programação 
de robôs.
Inicialmente devemos entender a diferença entre os sistemas de coordenadas 
geralmente utilizados na programação de robôs. Há basicamente três sistemas 
importantes neste tipo de problema:
• o sistema de coordenas global, que se refere ao mundo do usuário e é 
fixo
• o sistema de coordenadas das juntas do robô que se refere aos valores 
assumidos por cada junção do robô
• o sistema de coordenadas da ferramenta (TCP) que é solidário ao ponto 
central da ferramenta.
Cada ponto do espaço cartesiano interno ao volume de trabalho do robô pode 
ser representado por uma família de coordenadas de junção.
O mais importante para o usuário é a localização da ferramenta. Esta pode 
estar disposta em várias direções mesmo que o ponto central da ferramenta esteja 
no mesmo local. Geralmente é mais importante programar o movimento com 
referência na ferramenta e não no robô ou em coordenadas cartesianas globais. 
Neste ponto fica claro que uma característica importante de um sistema de 
programação de robôs é a capacidade de realizar a transformação das coordenadas 
entre os diversos sistemas de referência. Essa transformação deve ser realizada em 
tempo real, principalmente para aplicações mais complexas.
Os métodos comercialmente utilizados na programação de robôs são: manual 
e repetição ( “on-line”) e linguagens de programação ( “of-line” ). 
O método de programação “on-line” utiliza o robô diretamente na fase de 
programação. O operador deve guiá-lo e mostrar a ele o que fazer. Ou seja, deve-se 
de alguma maneira levar o robô até a posição desejada e mandá-lo realizar 
determinada tarefa, sendo que todos os dados vão sendo armazenados pelo robô. 
Com os dados armazenados o robô pode repetir a tarefa quantas vezes forem 
desejadas.
 
23
Ao contrário, o método “off-line” não utiliza o robô na fase de programação. 
As ordens são passadas aorobô através de um programa de computador escrito em 
uma linguagem específica. O programa consiste na verdade de uma seqüência de 
ordens ao robô para orientá-lo na execução da tarefa. A linguagem usada deve 
permitir ao programador pensar em termos das coordenadas da ferramenta. Assim 
ele pode programar mais facilmente sendo que todos os cálculos de transformação 
para as coordenadas de junção ficam sob responsabilidade do processador. Depois 
que o programa for escrito ele é compilado e seu código é passado ao robô que 
pode então executar as tarefas determinadas. 
No caso da programação off line, as coordenadas dos pontos podem ser 
fornecidas no próprio programa, caso sejam conhecidas previamente, ou podem ser 
obtidas posteriormente, movimentando-se o robô para esses pontos.
Antes de passarmos ao estudo de cada um destes métodos de programação 
é interessante apresentar os tipos de sistemas de movimentação utilizados:
• Ponto a Ponto (PTP): O robô trabalha apenas em pontos específicos e a 
trajetória usada para atingir estes pontos não é importante. Este tipo de 
movimentação é usado, por exemplo, em aplicações de solda a ponto e de 
movimentação de objetos.
• Sistema Contínuo de Trajetórias (CP): Robôs que devem trabalhar sobre 
trajetórias bem determinadas, onde não apenas os pontos iniciais e finais são 
importantes. Este tipo de movimentação é usado, por exemplo, em aplicações de 
solda a arco.
10.1 ProgramaÁão Manual
Este método de programação é o mais simples e o mais usado para robôs 
que utilizam o sistema PTP. A programação é feita movendo-se o robô manualmente 
em cada eixo até que se obtenha a posição desejada. Os comandos para realizar 
esta movimentação são dados pelo programador através de uma série de botões 
geralmente dispostos numa caixa de controle ligada ao robô (teach pendant). 
Quando a posição desejada é atingida, o programador armazena esta informação na 
memória do processador. Pode-se com uma seqüência de pontos levar o robô a 
qualquer posição do seu volume de trabalho e executar a tarefa desejada. Com 
todos os passos gravados, o robô pode repetir os passos, assim, podemos realizar a 
tarefa quantas vezes forem necessárias. 
 
Teach Pendant da ABB (esquerda) e FANUC (direita)
 
24
Além da seqüência de operações a serem realizados pelo robô os 
programadores deve também fornecer os tempos de cada uma destas operações. 
Para programadores experientes podem-se programar simultaneamente as 
operações e os tempos de duração. Pode-se por outro lado, programar inicialmente 
o ciclo de operações e na seqüência ajustar o tempo de cada operação, passo a 
passo, sendo este método muito útil para programadores inexperientes. 
Este método dispõe ainda de uma série de ferramentas que auxiliam na 
programação do robô. Podemos mudar a qualquer instante o sistema de 
coordenadas utilizado pelo programador. Assim ele pode, de acordo com suas 
necessidades, entrar com os valores de movimento com referencial global, na 
ferramenta ou nas juntas. Outra possibilidade é a memorização de operações que 
serão disparadas pelo simples toque em uma tecla. 
Podemos concluir que este método de programação é uma ferramenta muito 
poderosa para programar tarefas simples. Ele é especialmente utilizado para 
operações de “pegar e soltar”, onde a fonte e o destino do objeto são fixos. Este 
método não é eficaz para programar caminhos complicados como curvas, por 
exemplo, e também não dispõe de técnicas mais sofisticadas de programação.
10.2 RepetiÁão
Foi visto no item anterior um método eficaz de programação de robôs que 
utilizam o sistema de movimentação PTP. Porém será que este método é também 
eficiente para robôs com movimento contínuo CP? Uma rápida análise do processo 
de movimentação CP mostra que não. Neste caso deve-se armazenar toda a 
trajetória do robô, afinal não se quer que ele apenas chegue ao ponto final, mas que 
ele faça isso pelo caminho determinado. 
Pode-se deduzir que o método mais fácil de se programar um robô para 
realizar movimentos contínuos (CP) seja conduzir o robô pela trajetória desejada, 
sendo que o posicionamento em cada eixo seja simultaneamente armazenado. 
Depois pode-se reproduzir estes dados para que o robô realize a mesma trajetória, 
desta vez “sozinho”. Há casos onde pode-se desacoplar os mecanismos de 
transmissão de potência do robô e através de forças externas movimentá-lo através 
da trajetória desejada. Porém há casos onde isso não é possível, nestes casos 
geralmente se constrói um mecanismo idêntico ao do robô apenas com os sensores 
de posicionamento. Este mecanismo pode então ser guiado pela trajetória desejada 
e os dados podem ser fornecidos ao robô. Apesar da grande facilidade de 
programação introduzida por este método ele possui grandes desvantagens:
• Geralmente é necessário um investimento adicional para construção do 
simulador
• Todos os movimentos, mesmos os indesejados, são gravados e repetidos 
pelo robô.
• A precisão dos movimentos é limitada à precisão do movimento inicial
• O armazenamento dos dados requer uma grande quantidade de memória
11. Terminal de ProgramaÁão (Teach Pendant)
O “teach pendant”, também chamado de unidade de programação, é um 
pequeno painel de controle que possibilita realizar várias funções como:
 
25
• Movimentar o manipulador
• programar
• Carregar programas
• Iniciar e interromper um programa (inclusive parada de emergência)
• Alterar sinais de saída e verificar sinais de entrada
 
26
Teach pendant - FANUC
 
27
Parada de emergência: O robô pára imediatamente depois que o botão de parada 
de emergência é pressionado (independente de qual situação ou modo o sistema 
esteja).
Dispositivo de habilitaÁão: É um botão na parte traseira do teach pendant que, só 
quando pressionado, libera o movimento do robô. Quando o dispositivo de 
habilitação for solto, o robô para instantaneamente.
Teclas de Movimento: Como o próprio nome já diz, essas teclas são usadas para 
mover o robô manualmente, por exemplo, durante a programação.
Tela: Usada para mostrar todas as informações durante a programação, mudar 
programas, etc.
Seletor de Liga/Desliga do TP (Teach Pendant): Este seletor deverá estar em ON 
para que seja possível a movimentação manual do robô.
Reset: Esta tecla é utilizada para o reconhecimento de falhas, habilitando o controle.
Seletor de Coordenadas: Tecla de seleção do tipo de coordenada a ser utilizada 
para movimento manual.
NavegaÁão: Estas teclas são utilizadas para acessar funções extras.
SeleÁão de FunÁões (select): Tecla utilizada para selecionar ou criar programas.
Fwd:Utilize esta tecla para avançar na execução de um programa. Com o TP ligado 
deverá ser utilizada em conjunto com a tecla SHIFT.
Bwd:Utilize esta tecla para retroceder na execução de um programa. Com o TP 
ligado deverá ser utilizada em conjunto com a tecla SHIFT.
Tipo de ExecuÁão: Através desta tecla você determina se a execução do programa 
será passo a passo ou contínua
Hold: Para parar a execução de um programa ou instrução utilize a tecla “HOLD”, 
parada suave.
 
28
12. Linguagens de ProgramaÁão
Em muitasaplicações o uso de métodos “on-line” de programação pode 
despender muito tempo. Principalmente em casos onde o trabalho deve ser 
realizado em um número muito grande de pontos e os dados referentes a esses 
pontos já sejam conhecidos de alguma fase do projeto, é interessante analisar a 
possibilidade de utilização de uma linguagem específica para programar o robô. Por 
exemplo, na indústria aeroespacial as estruturas devem receber milhares de furos e 
estes devem ser rebitados para fixação das peças. Os processos de programação 
manual seriam muito tediosos e consumiriammuito tempo, além do que a posição de 
todos os furos é um dado conhecido do projeto. O principal problema introduzido 
por este tipo de programação são os erros que ocorrem devido a diferentes 
situações de uso. O posicionamento de uma ferramenta, por exemplo, pode ser 
alterado devido às deflexões da estrutura do robô que são diferentes para diferentes 
cargas aplicadas a ele. Nos método “on-line” de programação este tipo de problema 
não aparece, afinal as cargas podem ser incluídas no processo de programação. 
Existe um grande número de linguagens de programação utilizadas 
comercialmente. São apresentadas aqui algumas das mais utilizadas para ilustrar o 
processo e as possibilidades deste tipo de programação.
12.1 GeraÁões de Linguagens de ProgramaÁão
Como as linguagens de programação para computadores, as linguagens de 
programação de robôs possuem uma variedade de estruturas e capacidades, 
surgindo novas linguagens mais evoluídas a cada dia.
Linguagem de Primeira GeraÁão
As linguagens de primeira geração usam declarações de listagens de 
comandos e procedimentos de “teach pendant” para desenvolver programas de 
robôs. Essas linguagens foram principalmente desenvolvidas para implementar 
controle de movimento com uma linguagem textual de programação e são, às vezes, 
chamadas de “motion level language”. Características típicas incluem a capacidade 
de definir movimentos do manipulador (usando as declarações para definir a 
seqüência dos movimentos e o “tech-pendant” para definir a localização dos pontos), 
interpolação linear, ramificação e comandos elementares por sensores, envolvendo 
sinais binários (liga-desliga).
A linguagem VAL (“Victor Assembly Language”) é um exemplo de uma 
linguagem de programação de robôs de primeira geração.
As linguagens de programação são uma ferramenta poderosa na solução de 
problemas complexos, porém apresentam uma série de desvantagens:
• Sua utilização é complicada para os trabalhadores da fábrica
• Não há padronização entre as linguagens
• Erros de posicionamento
As limitações comuns das linguagens de primeira geração incluem: 
incapacidade de especificar cálculos aritméticos complexos para usar durante a 
execução do programa; incapacidade de usar sensores complexos e dados 
 
29
fornecidos pelos mesmos e uma capacidade de limitada de comunicação com outros 
computadores.
Linguagem de Segunda GeraÁão
Essas linguagens foram chamadas de linguagens de programação 
estruturadas, porque possuem grupos de comandos estruturados, usados em 
linguagens de programação de computadores. Linguagens de segunda geração 
comercialmente disponíveis incluem: AML, RAIL. MCL e VAL II.
As características e capacidades dessas linguagens são:
1. Controle de movimento: esta característica é, basicamente, a mesma para 
as linguagens de primeira geração;
2. Capacidade de sensoriamento avançada: os melhoramentos nas 
linguagens de segunda geração normalmente incluem: a capacidade de 
manusear muito mais do que simples sinais binários (liga/desliga) e a 
capacidade de controlar dispositivos através dos dados fornecidos pelos 
sensores;
3. Inteligência limitada: isto é, a capacidade de utilizar as informações 
recebidas sobre o ambiente de trabalho para modificar o comportamento 
do sistema de forma programada;
4. Comunicações e processamentos de dados: linguagens de segunda 
geração geralmente possuem meios para interagir com computadores e 
bases de dados de computadores com a finalidade de manter registros, 
gerar relatórios e controlar atividades nas células de trabalho.
Um sistema operacional de um robô contém os três modos básicos de 
operação, indicados abaixo:
1. Modo monitor
2. Modo execução
3. Modo edição
O modo monitoré usado para realizar um controle global de supervisão do 
sistema. É, às vezes, chamado de modalidade supervisora. Nesse modo de 
operação, o usuário pode: definir posições no espaço, usando “teach pendant”; 
ajustar o controle da velocidade do robô; armazenar programas e transferir 
programas do armazenador de dados na memória de controle ou movimentar-se em 
vaivém entre outros modos de operação, como edição ou execução.
O modo execuÁão é usado para executar um programa robótico. Neste 
modo, o robô está realizando a seqüência de instruções no programa durante a 
execução.
Quando se testa um novo programa no modo execução, o usuário pode 
utilizar procedimentos de correção embutidos na linguagem, para ajudar a 
desenvolver um programa correto. Por exemplo: o programa pode indicar ao 
usuário que exceda seus limites de articulação ao movimentar o manipulador de um 
ponto especificado no programa para o próximo. Já que o robô não pode fazer isso, 
uma mensagem de erro aparece no monitor de vídeo, e o robô para. Essa indicação 
 
30
pode ser corrigida voltando para o modo de edição e ajustando o programa ou o 
referindo ponto. A maioria dos modernos sistemas operacionais de robôs permite ao 
usuário voltar para o modo monitor ou edição, enquanto o programa está sendo 
executado, de modo que um outro programa possa ser escrito. Em alguns casos, é 
mesmo possível editar o programa em andamento, apesar de existirem perigos 
inerentes ao fazer isto.
O modo ediÁãoproporciona um conjunto de instruções que permite ao usuário 
escrever novos programas ou editar programas existentes. Apesar da operação do 
modo edição que pode ser diferente de um sistema de linguagem para outro, os 
tipos de operações de edição que podem ser realizadas incluem: digitação de novas 
linhas de instruções em seqüência, anulação ou alteração de instruções existentes e 
inserção de novas linhas num programa. Como nos casos de linguagem de 
programação, o programa do robô é pode ser interpretados ou compilados pelo 
sistema operacional. Um interpretador é um programa no sistema operacional que 
executa cada instrução do programa-fonte (nessecaso, o programa-fonte é o 
programa em linguagem de programação de robô), uma de cada vez. A linguagem 
VAL é um exemplo de linguagem de programação de robôs que é processada por 
um interpretador. Um compilador é um programa no sistema operacional que passa 
através do programa-fonte inteiro e traduz todas as instruções em código de 
máquina, que pode ser lido e executado pelo controlador do robô. Programas 
compilados resultam finalmente em tempos menores de execução. Por outro lado, 
um programa-fonte processado por um interpretador pode ser editado com mais 
facilidade, já que a recompilação do programa inteiro não é necessária. 
12.2 Comandos de ProgramaÁão
A linguagem de programação utilizada varia de fabricante para fabricante. 
Marca Linguagem de 
ProgramaÁão
FANUC RJ3
ABB RAPID
MITSUBISH MELPHA BASIC
Elementos e funções de um sistema de programação de robôs:
-Constantes, variáveis e outros tipos de dados;
-Comandos de movimento;
-Comandos para atuadores esensores
-Computação e operações;
-Controle do programa e chamadas a sub-rotinas;
-Comunicações e processamento de dados;
-Comandos no modo monitor.
Constantes e variáveis
Uma constante é um valor que não muda durante a execução do programa. 
Uma variável em programação de computadores é um símbolo ou um nome 
 
31
simbólico que pode mudar de valor durante a execução do programa. Constantes e 
variáveis podem ser números inteiros, números reais contento um ponto decimal ou 
cadeias que podem ser colocadas entre aspas:
Constantes:
+8
-289.34
1.56e+4 (exponencial)
[23.4;45.98;-34.05] (vetor)
Variáveis:
E
R2UI
FOI[3,4] – arranjo com doze elementos.
Comando de movimento
Uma das funções mais importantes da linguagem e a principal característica 
que distingue as linguagens robóticas das de programação de computadores é o 
controle de movimento do manipulador. Basicamente utilizam-se dois tipos de 
movimentos:
• Movimento Junta a Junta – neste caso o robô é orientado a deslocar-se de 
um ponto a outro e a trajetória utilizada é calculada pelo controlador, de forma 
a atingir o destino com um mínimo de esforço.
• Movimento de Trajetória – neste caso, o robô é orientado a seguir uma 
trajetória definida que pode ser:
○ Linear – traça um segmento entre dois pontos;
○ Circular – traça um arco entre 3 pontos;
DefiniÁões de pontos no espaÁo de trabalho
A definição de posições de pontos é, geralmente, feita por meio de um “teach 
pendant”. O “teach pendant” é usado para movimentar o braço do robô para a 
posição e orientação desejadas. Em seguida, com um comando digitado no teclado, 
as coordenadas de posição e orientação de cada articulação são captadas na 
memória de controle.
Por exemplo:
<59.43; 235.67; 46.224; 165.34; 44.678; 67.78>,
os primeiros três valores são as coordenadas espaciais (x,y,z), e os valores 
restantes são ângulos de rotação de punho.
DefiniÁão de Trajetórias
 
32
Vários pontos podem ser ligados para definir uma trajetória específica no 
espaço de trabalho.
Comandos de Entrada / Saída
Utilizados para monitorar entradas e saídas digitais (on/off) e/ou analógicas 
(faixa contínua de valores), para comandar eixos externos, ou usados para abrir e 
fechar garras.
Comandos Numéricos
Realizar cálculos aritméticos e outros tipos de operação com constantes, 
variáveis e outros tipos de dados. Faz-se necessário em vários programas de robôs. 
O conjunto padrão de operadores matemáticos em linguagem de segunda geração 
é:
+ adição;
- subtração;
* multiplicação;
/ divisão
** potência
= igual a
A seguir, está exposta uma lista de funções que poderão também ser usadas:
Seno de um ângulo A;
Cosseno de um ângulo A;
Tangente de um ângulo A;
Cotangente de um ângulo A;
Arco seno de um ângulo A;
Arco cosseno de um ângulo A;
Arco tangente de um ângulo A;
Arco cotangente de um ângulo A;
Logarítmo;
Valor absoluto de X;
Raiz quadrada de X; Entre outros.
 
33
Além dos operadores aritméticos e trigonométricos, operadores relacionais 
são usados para avaliar e comparar expressões. Os operadores relacionais mais 
comuns são indicados abaixo:
Igual a;
Não igual a;
Maior que;
Maior ou igual a;
Menor que;
Menor ou igual a.
Comandos de fluxo do programa
• Desvio: é um comando que depende de condições para executar o 
movimento. Caso a condição for verdadeira ele prossegue o 
movimento, caso seja falsa o robô interrompe o caminho original e 
percorre um caminho alternativo.
• Condicional: como o comando de desvio, o condicional também é um 
comando que depende de uma condição para que ele seja executado. 
Caso uma condição seja verdadeira ele executa uma tarefa e caso esta 
condição esteja falsa ela executa outra tarefa.
• Ciclo: é um comando em que o robô repete seus movimentos por uma 
quantidade pré-determinada de vezes.
Chamada a Sub-rotina
Algumas vezes, quando um certo grupo de instruções é executado várias 
vezes durante o programa, pode-seagrupar estas instruções em rotinas. Toda vez 
que se deseja executar essas instruções, pode-se chamar a rotina. O programa 
então desviará seu curso, executará as instruções e retornará para a instrução 
seguinte à chamada da rotina.
É possível enviar um número de argumentos para a nova rotina. Eles 
controlam o comportamento da rotina e tornam possível que a mesma rotina seja 
utilizada para diversas tarefas.
Comandos do modo monitor
Geralmente, o modo monitor é usado para funções tais como: entrada de 
dados de posição por meio do “teach pendant” e ajuste da velocidade inicial para a 
execução de um programa de robô. Várias funções relacionadas com a supervisão 
do sistema, processamento de dados e comunicações são também realizadas com 
os comandos do monitor, ou seja, as instruções da linguagem de comando.
Tipicamente, são usados os seguintes comandos:
Abertura de um arquivo;
Armazenagem de um programa na memória do controlador;
Armazenagem de um programa no disco flexível;
 
34
Leitura do arquivo do disco para a memória
Obtenção de uma listagem dos nomes do programas que são 
armazenados na memória;
Execução de um programa;
Interrupção da execução e parada do movimento do robô;
Apagamento de um programa;
12.3 SimulaÁão
Esta ferramenta, cuja aplicação vem crescendo de forma substancial, pode 
auxiliar muito a programação de robôs pelos métodos anteriores. O modelo do robô 
pode ser representado no computador e todos os seus movimentos podem ser 
simulados por processos de animação. O ambiente de trabalho pode também ser 
incluído, permitindo uma previsão dos principais problemas que poderão ocorrer na 
aplicação real. Além disso, este tipo de programação possibilita o desenvolvimento e 
testes preliminares dos programas sem a necessidade de interromper a operação do 
robô. Um exemplo de software de simulação é o Workspace.
12.4 Sistema de MovimentaÁão do Robô
Pode-se mover (jog) o robô usando as teclas de movimento na unidade de 
programação.
Existem Três modos de movimentar o robô:
• Coordenadas Base: movimenta-se a ferramenta, fazendo com que o TCP 
(ponto central da ferramenta) percorra linhas paralelas aos eixos do 
sistema cartesiano imaginário(x,y,z) com origem na base do robô;
• Coordenadas do Usuário: são coordenadas definidas pelo usuário com o 
objetivo de facilitar o movimento do robô para a atividade a ser executada
No robô FANUC, para selecionar o movimento linear deve-se pressionar a 
tecla:
selecionando xyz.
O ponto que irá se mover linearmente, ao longo dos eixos do sistema de 
coordenadas acima é chamado Tool Center Point (TCP). Esse ponto é um ponto da 
ferramenta definido pelo programador. Quando não há definição de ferramenta, está 
localizado na frente do braço superior, no centro da placa frontal do robô.
 
35
12.5 Modo Automático
O modo automático é utilizado para executar programas prontos.
Movendo o seletor de modo de operação no TP para a posição OFF e 
segurando o botão CICLE START no Painel do Operador por 3 segundos.
QUANDO FOR INICIAR O PROGRAMA, ASSEGURE-SE DE QUE NÃO HÁ 
NINGUÉM DENTRO DA ÁREA DE SEGURANÇA AO REDOR DO RÔBO.
Para parar o programa, pressione o botão HOLD na unidade de programação.
12.6 CriaÁãoe EdiÁão de Programas
Através do teach pendant podem-se criar novos programas, assim como 
editar programas já existentes, adicionando e removendo instruções ou alterando 
seus argumentos.
Para criar ou alterar os pontos de instruções de movimento, tem-se a função 
F[POINT]. Para isto, coloca-se o robô na posição desejada, movimentando-o 
através das teclas de movimento e pressiona-se a tecla de função à qual se refere o 
texto [POINT] na tela to TP, juntamente com a tecla SHIFT. Note que este é o 
método de programação manual, descrito anteriormente na seção “Tipos e 
dispositivos de programação”.
12.7 Salvamento de Programas
Após criar ou editar um programa, pode-se salvá-lo em disquete ou outro 
meio de armazenamento, na janela SELECT. 
12.8 VisualizaÁão de Erros
Um texto visualizado na parte superior da tela mostrando as mensagens de 
erro aparece sempre que há algum tipo de erro. Esta linha contém:
Número do código de erro
Um único número para cada erro.
Categoria do erro
Classifica o erro em grupos relacionados por tipos de erros. Cada categoria 
de erro tem sua própria série de códigos.
Motivo
Descreve os motivos do erro em linguagem comum. Para maiores 
informações a respeito de defeitos no hardware, consultar o Manual do 
Produto.
 
36
Quando ocorre um erro o robô bloqueia todos os movimentos e execução de 
programas. Para continuar deve-se pressionar a tecla RESET.
12.9 Troca de Ferramentas
O robô vem ajustado para conhecer o posicionamento do centro do seu flange 
(punho), ou seja, sem nenhuma ferramenta acoplada. O centro geométrico da ponta 
de uma dada ferramenta é denominado de TCP (Tool Centre Point). O TCP do flange 
do robô é normalmente chamado de tool0. 
Normalmente são instaladas no flange do robô as ferramentas específicas 
necessárias ao desenvolvimento das aplicações a que se destina. Essas 
ferramentas deslocam a ponta do robô para outra posição. É necessário que o robô 
conheça a nova posição e a nova orientação dessa ponta. 
Devem ser cadastrados os TCPs de todas as ferramentas a serem utilizadas 
durante as aplicações. Cada ferramenta recebe um novo nome e este fica 
armazenado na memória do computador. Em alguns robôs, todos os movimentos a 
serem programados no robô devem informar qual a ferramenta que será utilizada 
(chamando-a pelo nome de cadastro), pois ela irá indicar qual sistema de 
coordenadas será utilizado para o cálculo dos movimentos. Em outros robôs, basta 
informar que a ferramenta foi trocada e a partir daí todos os movimentos são 
realizados considerando o uso dessa ferramenta.
Por questão de segurança, o robô FANUC não permite, usando uma 
ferramenta, o movimento para um ponto criado utilizando outra ferramenta.
12.10 Etapas da programaÁão
O primeiro passo da programação é fazer um esquema do que se deseja que 
o robô faça.
Em seguida, devem-se definir os pontos que serão utilizados para realizar o 
movimento. (O robô será movimentado, seqüencialmente, de um ponto a outro, na 
ordem definida no programa.)
O próximo passo é escrever o programa, ou seja, traduzir o que se deseja 
que o robô faça em instruções da linguagem utilizada.
Depois deve-se testar, a velocidade baixa, o programa e verificar se o robô 
está fazendo os movimentos esperados, sem tocar em objetos do ambiente. Deve-
se lembrar que o robô não fará nada que não for instruído a fazer, e nem vai 
“adivinhar” o que o programador quer. Devem-se dar instruções detalhadas 
informando todos os movimentos.
Por último, por segurança, deve-se testar novamente o programa utilizando a 
velocidade normal de trabalho.
12.11 Planejamento de programas
MovimentaÁão
JUNTA A JUNTA
Deve-se utilizar movimentação junta a junta sempre for possível. Este tipo de 
coordenada proporciona um tempo de ciclo menor que a movimentação em 
coordenadas lineares, além de minimizar esforços do robô.
 
37
LINEAR E CIRCULAR
Esses tipos de movimentos devem ser utilizados quando é necessária uma 
trajetória precisa do robô, por exemplo, durante a realização de um trabalho.
TERMINAÇÃO FINA
A terminação fina (fine) é utilizada quando é necessário que o robô chegue 
exatamente ao ponto destino antes de mudar de direção para o próximo ponto. 
Porém, esse tipo de terminação provoca uma parada do robô antes do próximo 
movimento.
TERMINAÇÃO CONTÍNUA
A terminação contínua faz o robô mudar de direção para alcançar o próximo 
ponto antes de alcançar o ponto desejado. A distância de aproximação pode ser 
configurada e normalmente é expressa em milímetros. Isso faz com que o robô não 
pare entre um movimento e outro. Essa terminação pode ser utilizada para se 
movimentar ao redor de obstáculos, ou quando o trabalho realizado não exige muita 
precisão.
FINA --- CONTÍNUA
PLANEJAMENTO DA MOVIMENTAÇÃO
• Movimente o robô manualmente em todas as posições do processo, e avalie, 
eventuais interferências, obstruções e reorientações da ferramenta;
• Procure visualizar mentalmente a movimentação do robô durante todo o 
processo;
• Procure identificar possíveis reduções nas trajetórias;
• Posicione o robô na primeira posição do trecho, tenha certeza de que o robô 
está corretamente posicionado e grave a posição;
• Leve o robô manualmente até a última posição do trecho a ser considerado. 
Tenha certeza de que esta posição está correta e que ela represente a 
primeira posição do trecho seguinte. Grave a posição;
• Grave quantas posições você acreditar serem necessárias para se criar a 
trajetória entre o primeiro ponto e o último ponto;
 
38
POSIÇÕES PRÉ-DEFINIDAS
Posições pré-definidas são posições que irão se repetir inúmeras vezes 
dentro de seu processo, não necessitando desta forma serem armazenadas 
diversas vezes. Posições pré-definidas podem ser criadas através de diversos 
métodos:
TRECHOS REPETITIVOS DE LÓGICA
Trechos repetitivos na lógica do programa podem ser agrupados em uma sub-
rotina tornando assim mais segura a manutenção dos programas.
CONDIÇÕES INICIAIS
O programador deverá analisar o contexto no qual o programa se insere 
criando um conjunto de instruções iniciais que garantam a segurança pessoal, de 
ferramental e de produção.
12.12 DocumentaÁão de programas
Programas de aplicações industriais normalmente possuem muitas linhas de 
código. É conveniente que, quando da elaboração de um programa, sejam 
colocados bastantes comentários referentes às sub-tarefas que estão sendo 
realizadas de forma a facilitar a correção de erros (“debug”).
12.13 InterrupÁões
Interrupções são utilizadas pelo programa para tornar possível tratar 
diretamente de um evento, independente de qual instrução estiver sendo executada.
Uma interrupção pode ocorrer, por exemplo, quando uma entrada muda de 
valor (por exemplo, uma peça é colocada no alimentador e identificada por um 
sensor). Quando esta interrupção ocorre, o programa é interrompido e uma rotina 
especial é executada. Quando esta tiver sido totalmente executada, o programa 
continua de onde ele foi interrompido.
13. Elementos de ProgramaÁão (robô FANUC)
13.1 InstruÁões de movimento
A instrução de movimento direciona o robô para movimentar-se em um 
caminho especificado para um local especificado com uma velocidade especificada 
na célula de trabalho, ou seja, o robô se movimenta de um ponto a outro com um 
caminho, local e velocidade definidos pelooperador.
1-Tipo de Movimento: Como o robô se movimenta para a posição, (Junta a Junta - 
Joint, Linear e Circular);
 
39
Joint (J): O robô irá se mover do ponto inicial para o final sem se preocupar 
com a trajetória percorrida.
Linear (L): O robô irá mover o TCP em uma linha reta do ponto inicial para o 
final.
Circular (C): O robô irá o TCP em um arco do ponto inicial, passando por um 
ponto intermediário e chegando ao ponto final.
CIRCULAR
2-Tipo de PosiÁão: Ponto destino, gravado na memória do robô (P posição, PR 
registro de posição);
3-Tipo de TerminaÁão: Como o robô termina o movimento na posição final (Fine, 
CNT contínuo);
Fine: O robô pára no ponto de destino antes de ir para a próxima posição;
CNT: O robô desacelera ao se aproximar do ponto de destino, mas não pára, 
mudando de direção para o próximo ponto.
4-Velocidade: A rapidez com que o robô se move para uma posição (%, mm/seg, 
graus/seg, cm/min);
5-OpÁões de Movimento: Comandos adicionais para executar uma tarefa 
específica durante o movimento do robô(No option, ACC, Coord, Arc Start [ ], Arc 
End [ ], Skip, LBL [ ], Offset, Inc, Pth);
Skip, LBL [ ]: Esse comando redireciona a execução do programa baseado 
numa condição predefinida. Se ela for satisfeita, o programa é redirecionado 
através do comando LABEL (LBL). Se ela não for satisfeita, ele mantém a 
seqüência.
 
40
Arc Start [ ]: O robô abre o arco elétrico e inicia o movimento.
Arc End [ ]: O robô fecha o arco elétrico ao final do movimento.
Exemplos:
J P[1] 50% FINE – Movimento junta a junta para o ponto P[1], a 50% 
da velocidade máxima e terminação fina.
L P[2] 200mm/s CNT10 – Movimento linear para o ponto P[2], a 200 
mm/seg e terminação contínua.
C P[3]
 P[4] 500mm/s FINE – Movimento circular para o ponto P[4], 
passando pelo ponto P[3], a 500 mm/seg e terminação fina.
13.2 Registradores
Registradores são posições de memória, utilizados para armazenar valores. 
Esses registradores são numerados, e podem ser acessados por R[n] onde n é o 
número do registrador.
Para atribuir um valor a um registrador utiliza-se a estrutura:
R[1]=10
Nessa estrutura, o valor 10 será armazenado no registrador R[1].
Pode-se, por exemplo, somar o valor de dois registradores e armazenar o 
resultado em um terceiro:
R[5]=R[2]+R[7]
13.3 Estruturas de controle de fluxo
Normalmente o programa é executado seqüencialmente, isto é, instrução por 
instrução, na ordem em que elas foram escritas. Algumas vezes, porém, instruções 
que interrompem esta seqüência e chamam outras instruções são necessárias para 
o tratamento de diferentes situações que podem ocorrer durante a execução, para:
 
41
– Chamar outra rotina ou sub-rotina (procedimento) e, quando esta tiver sido 
executada, retornar o controle do programa para a instrução imediatamente 
posterior à que chamou a sub-rotina;
– Executar uma seqüência ou outra de instruções dependendo se uma dada 
condição tiver sido ou não satisfeita;
– Repetir uma seqüência de instruções um certo número de vezes ou até que uma 
dada condição seja satisfeita;
– Desviar o controle de programa para uma determinada instrução (identificada por 
um rótulo) dentro da mesma rotina;
– Parar a execução do programa.
13.3.1 Chamada de programas 
Algumas funções de um programa podem ser agrupadas. Isso é útil, por 
exemplo, quando certos blocos do programa devem ser executados várias vezes e 
em várias partes do programa. Em muitas linguagens de programação esses grupos 
de funções são chamados rotinas e são escritos dentro do próprio programa. No 
robô FANUC, isso deve ser feito através da criação de outro programa. Esse 
programa é então chamado a partir do programa principal através do comando 
CALL. Após a execução do programa chamado, a execução volta ao principal no 
ponto em que ocorreu a chamada.
Por exemplo, para chamar um programa chamado GIRAPECA a partir de um 
programa principal, utiliza-se a estrutura:
CALL GIRAPECA
13.3.2 Saltos dentro de um programa
Dentro de um mesmo programa pode ser necessário pular certos comandos 
ou voltar para uma linha anterior. Isso pode ser feito marcando-se uma linha do 
programa com a instrução label: LBL[n]. Essa intrução vem sempre acompanhada 
de um número correspondente ao número do label a ser dado àquela linha. Não 
podem existir em um mesmo programa dois labels com o mesmo número.
Pode-se então utilizar o comando jump label: JMP LBL[n] para pular para 
uma linha marcada, informando o número do label da linha.
Uma utilização de tais saltos é quando se deseja fazer um programa cíclico. 
Marca-se então com um label a primeira do programa e se instrui o programa a pular 
para esse label no final:
LBL[1]
(programa)
JMP LBL[1]
Nesse caso, o robô irá repetir o programa até que um comando externo o faça 
parar.
 
42
13.3.3 Estrutura condicional 
A estrutura condicional indica ao robô que uma instrução deve ser executada 
se uma condição for verdadeira (por exemplo, se um registrador possuir um 
determinado valor).
Assim, pode-se, por exemplo, selecionar se uma parte do programa deve ser 
executada se uma condição for satisfeita. No exemplo abaixo, o robô inicialmente vai 
para o ponto P[1]. Se o registrador R[8] possuir o valor 30, o programa passa pelos 
pontos P[2] e P[3] antes de ir para o ponto P[4]. Caso contrário o robô salta 
diretamente para o ponto P[4].
J P[1] 20% FINE
IF R[8]=30 JMP LBL[10]
J P[2] 20% FINE
J P[3] 20% FINE
LBL[10]
J P[4] 20% FINE
13.3.4 RepetiÁão com contagem
Linguagens de programação estruturadas possuem instruções específicas 
para provocar a repetição de trechos de programa um determinado número de 
vezes. Como a linguagem do robô FANUC não dispõe de tal recurso, utiliza-se um 
registrador como contador e uma estrutura de salto condicional para realizar a 
repetição até que o registrador alcance determinado valor:
Esse contador pode começar com o valor 0 e ser incrementado após cada 
repetição do trecho do programa. Para zerar o contador 1 utiliza-se R[1]=0. Para 
incrementar seu valor utiliza-se R[1]=R[1]+1, ou seja, o valor de R[1] é determinado 
por seu valor anterior mais 1.
Após incrementar o valor de R[1] deve-se verificar se ele é ainda menor que o 
número de vezes que o trecho de programa deve ser repetido. Se for, o programa 
deve retornar ao início do trecho. Para isso utiliza-se, por exemplo, IF R[1]<3 JMP 
LBL[1]. Isso significa que se o registrador 1 for menor que 3 então o programa deve 
pular para o label 1.
Observe que o contador deve ser zerado antes da instrução LBL[1], do 
contrário seu valor seria zerado a cada ciclo, e nunca alcançaria o valor desejado.
R[1]=0
LBL[1]
(trecho de programa)
R[1]=R[1]+1
IF R[1]<3 JMP LBL[1]
13.3.5 SeleÁão de condiÁões
Selec / Else: Compara o valor de um registro com um de muitos valores e caso 
uma comparação seja verdadeira, executa uma ação:
SELECT R[X] = [Valor 1], [AÁão]
 [Valor 2], [AÁão]
 
43
 [Valor N], [AÁão]
 Else [AÁão]
A Ação pode ser: JMP LBL [X] ou Call programa.
13.4 Comando de atraso
Quando a execução de um programa deve ser atrasada um intervalo de 
tempo específico, utiliza-se o comando WAIT seguido do tempo em segundos.13.5 Comando de mensagem
Message: Mostra na tela do Teach Pendant uma mensagem com no máximo 23 
caracteres
Message [mensagem]
13.6 Entradas e saídas
Entradas e saídas (I/O) são sinais elétricos que habilitam um controlador de 
comunicar com o robô e com outros dispositivos externos como sensores e 
atuadores.
Para usar uma I/O, você precisa fazer:
1. Identificar o hardware de I/O que precisa;
2. Instalar o hardware se necessário;
3. Conectar o hardware de I/O nos dispositivos necessários;
4. Configurar o I/O usando o “teach pendant”. Isto informará o software 
controlador que I/O você instalou para que este possa ser usado pelo robô.
Os seguintes tipos de I/O estão disponíveis: Analógico, Digital,Grupo, PLC 
(Controlador Lógico Programável), Painel do Operador(UOP) e Robô.
Analógico: Um sinal analógico de entrada ou saída (AI ou AO) são voltagens de 
entrada ou saídas que tem um valor dentro do limite do módulo usado.
As entradas analógicas convertem sinais analógicos para sinais numéricos para uso 
no controlador. Já as saídas analógicas permitem que sinais analógicos sejam 
mandados para dispositivos externos.
Digitais: Um sinal digital (DI ou DO) é um sinal de controle mandado para ou de um 
controlador. Sinais Digitais podem ter somente um de dois estados: Ligado ou 
Desligado.
Grupo(Group): Sinais de Gupo I/O (GI ou GO) foram criados para uma seqüência 
de sinais digitais. Eles são interpretados como inteiros binários.
Um grupo de sinais é um grupo de até 16 uns(1) e zeros(0), indicando Ligado e 
Desligado.
 
44
Painel do Operador(UOP): O painel do operador disponibiliza 18 sinais de entrada 
e 20 ou 24 sinais de saída, que podem ser conectados para dispositivos remotos ou 
para um painel de operador remoto, para controlar o robô.
PLC: PLC I/O (PI ou PO) são dispositivos opcionais controlados pelo PLC
Robô (Robot): Sinais do Robôs (RI ou RO) consistem de sinais de entrada e saída 
entre o controlador e o robô. Estes sinais são enviados para o conector EE 
localizado no robô. O número de sinais do robô de entrada e saída varia de acordo 
com o número de eixos do sistema.
O comando WAIT pode também ser utilizado para aguardar até que uma 
condição de sinal de entrada seja verdadeira. Por exemplo, deseja-se aguardar até 
que um sinal de entrada digital esteja em ON para iniciar a execução de um 
programa. Utiliza-se então a instrução:
WAIT DI[3]=ON
13.6.1 ForÁando e simulando sinais
Durante a programação é possível forçar sinais de saída para testar 
dispositivos conectados ao robô.
É possível também simular sinais de entrada para se testar a resposta do 
programa a tais sinais.
OBSERVAÇÕES:
-Sempre que for forçar uma saída digital lembre-se de que a saída irá ser atuada e 
que acidentes podem ocorrer.
Ex: acionar uma pinça, liberar um dispositivo, etc.
-Sempre que for simular um sinal lembre-se que programa do robô irá interpretar o 
sinal como se o mesmo estivesse presente podendo ocorrer acidentes.
Ex: sinal de OK liberando o robô para executar um programa de movimentação
PROCEDIMENTO:
MENUS -> m[I/O] -> F[TYPE] -> Selecione o tipo de sinal
 
45
 
 
46
ANEXO I – Robô Industrial da FANUC (ARC Mate 50 iL)
A1.1 SeguranÁa
FANUC Robotics não é e nem se representa como sendo peritos em sistemas 
de seguranças, equipamentos de segurança ou aspectos específicos de seguranças 
da sua empresa e/ou da sua força de trabalho. É de responsabilidade do dono, 
empregado ou usuário fazer todos os passos necessários para garantir a segurança 
de todos em um ambiente de trabalho.
Os níveis apropriados de segurança para suas aplicações e instalação podem 
ser mais bem determinados por um profissional em segurança do trabalho. FANUC 
Robotics, portanto, recomenda que cada cliente consulte com um profissional em 
ordem de ter um ambiente de trabalho que permita uma aplicação, uso e operação 
segura dos sistemas da FANUC Robotics.
De acordo com os padrões industriais ANSI/RiA R15-06, o dono ou usuário 
deverá consultar os padrões to assegurar um bom uso para o design, usabilidade, 
operação, manutenção e serviço. Adicionalmente, como dono, empregado ou 
usuário de um sistema robótico, é sua a responsabilidade de conseguir treinamento 
para o operador de um sistema robótico reconhecer e responder para danos 
associados com o seu sistema robótico e estar ciente dos procedimentos de 
operação recomendados para sua aplicação particular e instalação do robô.
FANUC Robotics, portanto, recomenda que todo o pessoal que pretenda 
operar, programar, reparar ou outros que manipularem o sistema robótico deve ser 
treinado por um curso de treinamento aprovado pela FANUC Robotics e esteja 
familiarizado com a forma conveniente de operar o sistema. Pessoas responsáveis 
por programar o sistema – incluindo o design, a implementação dos programas de 
aplicação – devem ser familiares com os processos de programação recomendadas 
para sua aplicação e a instalação do robô.
Nas próximas linhas estão contidos materiais para enfatizar a importância da 
segurança no ambiente de trabalho.
A1.1.1 ConsideraÁões de SeguranÁa para a InstalaÁão do Robô
Segurança é essencial todas as vezes que os robôs forem usados. Tenha na 
cabeça os seguintes fatores com consideração à segurança:
• A segurança de pessoal e equipamentos;
• O uso de dispositivos de aumento de segurança;
• Técnicas seguras de ensinamento e operação manual dos robôs;
• Técnicas seguras para inspeção do robô e da célula de trabalho;
• Manutenção correta do robô.
A segurança do pessoal é sempre de primordial importância em qualquer 
situação. Porém, os equipamentos também devem estar seguros. Quando priorizar 
como aplicar segurança no seu sistema robótico, você deverá considerar os 
seguintes:
• Pessoas
 
47
• Dispositivos externos;
• Robôs;
• Ferramentas;
• Trabalho.
A1.1.2 ExtinÁão do Fogo
USE DIÓXIDO DE CARBONO SE O ROBÔ OU PAINEL DE CONTROLE PEGAR 
FOGO.
A1.1.3 Uso de Dispositivos de Aumento de SeguranÁa
Sempre dê uma atenção apropriada para a área de trabalho que envolve o 
robô. A segurança da área de trabalho pode ser acrescida, instalando alguns ou 
todos os seguintes dispositivos:
• Grades, barreiras ou correntes de seguranças;
• Cortinas;
• Fechaduras internas;
• Marcas no chão;
• Paradas mecânicas;
• Botões de PARADA DE EMERGÊNCIA;
• Alavancas DEADMAN.
A1.1.4 Criando um Célula de Trabalho Segura
Uma célula de trabalho segura é essencial para proteger pessoas e 
equipamentos. Observe as linhas seguintes para garantir que uma célula de 
trabalho segura seja preparada. Essas sugestões foram feitas para complementar e 
não para substituir leis federais, estaduais ou municipais, regulamentos e guias 
pertinentes à segurança.
• Patrocine seu pessoal um curso de treinamento relacionado à 
aplicação em um curso aprovado pela FANUC Robotics. Nunca 
permita pessoas sem treinamento de operar os robôs;
• Instale um dispositivo com código de acesso para que pessoas sem 
autorização de operar o robô;
• Use uma lógica “anti-tie-down” para prevenir o operador de ultrapassar 
as medidas de seguranças;
• Arrume a célula de trabalho que operador olhe para a célula de 
trabalho e possa ver o que se passa dentro da célula.
• Identifique claramente a área de trabalho de cadarobô no sistema com 
marcas no chão, placas e barreiras especiais. A área de trabalho é a 
 
48
área definida pelo alcance máximo de movimento do robô, incluindo 
qualquer ferramenta anexada no flange que estenda esse alcance.
• Posicione todos os controladores fora da área de trabalho do robô;
• Nunca confie em um software como sendo o elemento primordial de 
segurança;
• Monte um número adequado de botões de PARADA DE EMERGÊNCIA 
ou alavancas que esteja de fácil alcance do operador e em pontos 
críticos dentro e fora da célula de trabalho;
• Instale Luzes que piscam e/ou dispositivos de áudio que são ativados 
enquanto o robô está em funcionamento;
• Sempre que possível, instale grades de segurança para se proteger 
contra entradas não autorizadas de pessoas na área de trabalho;
A1.1.5 Paradas de emergência
A parada de emergência deve ser ativada se há perigo para alguma pessoa 
ou equipamento. Os botões para parada de emergência estão localizados no Painel 
de Operação e na Unidade de Programação.
Os dispositivos de parada de emergência externos (botões, etc.) podem ser 
conectados no elo de segurança pelo usuário (veja Manual do Produto/Instalação). 
Eles devem ser conectados de acordo com as normas para os circuitos de paradas 
de emergência.
Antes do comissionamento do robô, todos os botões de parada de 
emergência ou outro equipamento de segurança devem ser verificados pelo usuário 
para assegurar seu bom funcionamento.
A1.2 AplicaÁões:
É usado em todo tipo de aplicação industrial de porte exceto para 
manipulação de líquidos (pintura, colagem etc), por não possuir o molejo necessário 
nas suas articulações para este tipo de tarefa.
A1.3 Graus de Liberdade:
O ARC Mate 50 iL possui 6 graus de liberdade. Os três primeiros graus de 
liberdade possibilitam o posicionamento da ferramenta. Os três seguintes são 
responsáveis pela sua orientação.
 
49
A1.4 Eixos:
A1.4.1Eixos internos :
• Os eixos 1,2 e 3 são conhecidos como eixos inferiores
• Os eixos 4,5 e 6 são conhecidos como eixos superiores
A1.4.2Eixos externos :
É possível se adicionar ao robô eixos externos, como por exemplo, um eixo 
de translação (trilho) que possibilite aumentar sua área de trabalho, ou uma mesa 
giratória para posicionamento de peças.
1) Trilho 2)Mesa – Giro de mesa
A1.5 Abertura de Programas
Quando se abre um programa, este programa substitui o programa existente 
na memória do robô. 
A tecla de janela Select é utilizada para mostrar o programa e funções 
relacionadas a ele.
Através desta janela pode-se, entre outras opções, abrir um programa 
armazenado em disquete, memória ou outro dispositivo de armazenamento. 
Também podemos criar programas nesta mesma janela.
 
50
A1.6 Iniciando o Programa
Pode-se executar o programa de três maneiras através de teclas de função 
diferentes:
– SHIFT + FWD: roda o programa uma vez;
– Com o Led do STEP acionado + SHIFT + FWD: executa uma instrução para 
frente.
– SHIFT + BWD: uma instrução para trás.
Pode-se também escolher a velocidade utilizando as teclas de função -%, +% 
(para decrementos e incrementos de %), 
QUANDO FOR RODAR UMA INSTRUÇÃO OU O PROGRAMA COMPLETO, 
ASSEGURE-SE DE QUE NÃO HÁ NINGUÉM DENTRO DA ÁREA DE 
SEGURANÇA AO REDOR DO ROBÔ.
Sempre se lembre de que para iniciar o programa em um dos modos 
manuais, deve-se pressionar o Deadman e segurar a tecla SHIFT.
Para parar o programa deve-se pressionar a tecla HOLD ou o botão de 
emergência na unidade de programação. 
 
51
ANEXO II – Roteiros de Aulas Práticas
Prática 1 – MovimentaÁão do robô (jogging)
Objetivos
Movimentar o robô manualmente
Introdução
Para se fazer a programação de um robô é necessário movimentá-lo 
manualmente e informar ao robô a ordem de movimentação para esses pontos.
O robô pode ser movimentado com o uso do teach pendant em vários 
sistemas de coordenadas. Os mais comuns são o junta a junta e o linear. No 
movimento junta a junta pode-se movimentar o robô em cada uma de suas juntas 
por vez. No movimento linear, pode-se movimentá-lo em cada um dos eixos de 
coordenadas x, y e z e de orientação da ferramenta roll, pitch e yaw.
Metodologia
Nessa prática o aluno aprenderá a movimentar o robô FANUC nos sistemas 
de coordenadas de junta e linear.
Procedimentos
1 Selecione o tipo de movimento junta a junta
a Aperte a tecla COORD várias vezes até aparecer na tela o tipo de 
movimento JOINT.
2 Selecione a velocidade de movimento do robô para 10%
a Pressione as teclas -% e +% até que a velocidade 10% apareça na tela
3 Movimente o robô em cada uma de suas juntas
a Mantenha pressionados o dead man e o botão SHIFT.
b Pressione as teclas J1- e J1+ para movimentar a junta 1 do robô, 
pressione as teclas J2- e J2+ para movimentar a junta 2 do robô e assim 
por diante.
4 Selecione o tipo de movimento linear
a Aperte a tecla COORD várias vezes até aparecer na tela o tipo de 
movimento WORLD.
5 Selecione a velocidade de movimento do robô para 10%
a Pressione as teclas -% e +% até que a velocidade 10% apareça na tela
6 Movimente o robô em cada uma das coordenadas cartesianas
a Mantenha pressionados o dead man e o botão SHIFT.
b Pressione as teclas J1- e J1+ para movimentar o robô no eixo x, as teclas 
J2- e J2+ para movimentar o robô no eixo y e as teclas J3- e J3+ para 
movimentar o robô no eixo z.
 
52
c Pressione as teclas J4-, J4+, J5-, J5+, J6- e J6+ para alterar a orientação 
da ferramenta.
 
53
Prática 2 - MarcaÁão de pontos
Objetivos
Criar um programa novo
Nomear o programa
Criar linhas de movimentação
Marcar pontos
Executar o programa
Introdução
Programas para robôs industriais são constituídos basicamente de comandos 
de movimentos. Esses comandos informam ao robô para que ponto ir, velocidade e 
precisão do ponto final.
Assim, é necessário que as posições dos pontos utilizados no programa 
sejam informadas previamente ao robô. Em algumas linguagens, como a utilizada 
pelos robôs da ABB, os pontos podem ter nomes definidos pelo usuário. Em 
linguagens como a utilizada pelos robôs da FANUC, os pontos são identificados pelo 
número.
A identificação dos pontos é feita normalmente de duas maneiras:
- Levando o robô à posição desejada e “marcando o ponto”.
- Informando as coordenadas do ponto, quando essas forem conhecidas.
Metodologia
Nessa prática será desenvolvido um programa simples com apenas dois 
movimentos, para demonstrar como marcar pontos no robô FANUC.
Procedimentos
1 Crie um novo programa.
a Entre na tela de seleção de programas utilizando a tecla SELECT.
b Utilize a função CREATE, utilizando a tecla de função corespondente.
2 Nomeie o novo programa com o nome P1Dx, em que x é o número da dupla.
a Na lista da parte superior da tela, selecione UPPER CASE (letras 
maiúsculas), utilizando as setas de navegação.
b Escreva o nome do programa utilizando as teclas de função, como em um 
telefone celular. Por exemplo, pressionando a tecla F1 uma vez, tem-sea 
letra A. Pressionando a segunda vez, tem-se a letra B. Os números devem 
ser escritos utilizando as teclas numéricas. Para passar para a letra 
seguinte pressione a seta para a direita. Para apagar a última letra 
digitada, pressione a tecla BACK SPACE.
c Após escrever o nome do programa, pressione a tecla ENTER duas vezes.
3 Na tela de edição de programas, crie um comando de movimento
a Movimente o robô para a posição desejada
b Pressione a tecla SHIFT juntamente com a tecla de função correspondente 
à função POINT.
4 Edite o comando de movimento para a seguinte maneira:
J P[1] 40% CNT50
 
54
a Para alterar o tipo de movimento, leve o cursor utilizando as teclas de 
navegação até o comando e pressione a tecla de função correspondente à 
função [CHOICE]. Selecione o movimento JOINT e pressione a tecla 
ENTER.
b Para alterar a velocidade do movimento, leve o cursor até o valor da 
velocidade e digite o novo valor (40), pressionando em seguida a tecla 
ENTER.
c Para alterar o tipo de terminação do movimento (CNT), leve o cursor até o 
parâmetro e pressione a tecla de função correspondente à função 
[CHOICE]. Selecione o tipo de terminação CNT e pressione a tecla 
ENTER.
d Para alterar o valor da terminação do movimento (CNT50) leve o cursor até 
o valor atual e digite o novo valor (50), pressionando em seguida a tecla 
ENTER.
5 Movimente o robô para uma nova posição, leve o cursor para a última linha do 
programa ( [END] ) e crie um novo comando de movimento, como no passo 3.
6 Repita o passo 4 para deixar o comando de movimento da seguinte maneira:
L P[2] 500mm/s FINE
a No passo 4a, selecione o movimento LINEAR.
b Ao se selecionar o movimento linear, a unidade de velocidade passa 
automaticamente para mm/sec, bastando então alterar o valor da 
velocidade para 500.
c No passo 4c, selecione o tipo de terminação FINE.
7 Execute o programa passo a passo
a Leve o cursor para a primeira linha do programa.
b Pressione a tecla STEP e verifique se o led correspondente acendeu na 
parte esquerda do teach pendant.
c Regule a velocidade de execução do programa para 10%, com as teclas -
% e +%.
d Afaste-se do robô para uma posição segura.
e Verifique se não há objetos na área de trabalho do robô.
f Mantenha pressionados o dead man e a tecla SHIFT.
g Para executar o primeiro passo do programa, pressione uma vez a tecla 
FWD.
h Para executar o segundo passo do programa, pressione novamente a tecla 
FWD.
i Para encerrar o programa (comando [END]), pressione mais uma vez a 
tecla FWD.
8 Execute o programa completo
a Leve o cursor para a primeira linha do programa.
b Pressione a tecla STEP e verifique se o led correspondente se apagou na 
parte esquerda do teach pendant.
c Mantenha pressionados o dead man e a tecla SHIFT.
d Pressione uma vez a tecla FWD.
 
55
Prática 3 - EdiÁão de posiÁão de pontos
Objetivos
Atribuir a pontos valores conhecidos de coordenadas
Introdução
Em muitos casos, os valores das coordenadas de certos pontos são 
previamente conhecidos, por exemplo, com base no projeto. Nesses casos pode-se 
editar o ponto e informar o valor de tais coordenadas.
As coordenadas dos pontos podem estar em dois sistemas diferentes: junta 
ou cartesiano.
Quando se utiliza o sistema de coordenadas de junta, os valores de giro em 
graus de cada uma das juntas é informado diretamente.
Quando o sistema utilizado é o cartesiano, são informados os valores x, y, z, 
roll, pitch e yaw do ponto a ser alcançado pelo TCP. O controlador do robô calcula 
então os valores de giro de cada uma das juntas para que seja alcançado o ponto 
desejado.
Metodologia
Nessa prática será utilizado o programa P1Dx criado na prática anterior e 
serão editados os valores de seus dois pontos, utilizando o sistema de coordenadas 
de junta e cartesiano.
Procedimentos
1 Abra o programa P1Dx, criado na prática anterior.
a Entre na tela de seleção de programas utilizando a tecla SELECT.
b Localize o programa desejado utilizando as teclas de navegação e 
pressione a tecla ENTER para abrir o programa. Dica: pressione a tecla 
SHIFT juntamente com as teclas de navegação para avançar várias linhas 
da lista de uma só vez.
2 Edite o ponto P[1] para as seguintes coordenadas de juntas:
J1 = 0 deg
J2 = 0 deg
J3 = 0 deg
J4 = 0 deg
J5 = -90 deg
J6 = 0 deg
a Movimente o cursor para o ponto P[1] utilizando as teclas de navegação.
b Pressione a tecla de função correspondente à função POSITION.
c Na parte superior da tela aparecerão os valores das coordenadas 
cartesianas do ponto. Pressione a tecla de função correspondente à função 
[REPRE] e selecione o sistema de coordenadas JOINT, pressionando a 
tecla ENTER em seguida.
d Edite cada uma das coordenadas de junta movimentando o cursor para 
seu valor, digitando o novo valor e pressionando a tecla ENTER ao final de 
cada uma.
e Após feitas todas as alterações pressione a tecla de função 
correspondente à função DONE.
 
56
3 Edite o ponto P[2] para as seguintes coordenadas cartesianas:
X = 700 mm
Y = 100 mm
Z = -20 mm
W = -180 deg
P = 0 deg
R = 0 deg
a Movimente o cursor para o ponto P[2] utilizando as teclas de navegação.
b Pressione a tecla de função correspondente à função POSITION.
c Na parte superior da tela aparecerão os valores das coordenadas 
cartesianas do ponto. Se essas coordenadas estivessem no sistema de 
junta, deveria ser pressionada a tecla de função correspondente à função 
[REPRE] e selecionado o sistema de coordenadas CARTESIAN, 
pressionada em seguida a tecla ENTER.
d Edite cada uma das coordenadas de junta movimentando o cursor para 
seu valor, digitando o novo valor e pressionando a tecla ENTER ao final de 
cada uma.
e Após feitas todas as alterações pressione a tecla de função 
correspondente à função DONE.
4 Execute normalmente o programa.
 
57
Prática 4 - FunÁões de chamadas de programas
Objetivos
Fazer programas que chamem outros programas (comando CALL)
Introdução
Algumas funções de um programa podem ser agrupadas. Isso é útil, por 
exemplo, quando certos blocos do programa devem ser executados várias vezes e 
em várias partes do programa. Em muitas linguagens de programação esses grupos 
de funções são chamados rotinas e são escritos dentro do próprio programa. No 
robô FANUC, isso deve ser feito através da criação de outro programa. Esse 
programa é então chamado a partir do programa principal através do comando 
CALL. Após a execução do programa chamado, a execução volta ao principal no 
ponto em que ocorreu a chamada.
Metodologia
Nessa prática será utilizado criado um programa que chama outros dois 
programas em sequência.
Procedimentos
1 Crie dois programas, um que desenha o retângulo e outro que desenha o losango 
da bandeira do Brasil. O primeiro deve ter o nome de RETDx e o segundo deve 
ter o nome de LOSDx. Ambos os programas devem possuir 5 pontos sendo 4 
deles os vértices das figuras e o quinto um ponto marcado fora do plano de 
desenho. Todos os movimentos devem ter terminação FINE.
2 Faça um terceiro programa que faz as chamadas aos dois outros, chamado de 
BRx:
CALL RETDx
CALL LOSDx
a Para inserir o comando CALL, pressione a tecla NEXT para que apareça 
na tela a função [INST] (para ver novamente as funções anteriores, 
pressione novamente a tecla NEXT). Pressione atecla correspondente à 
função [INST].
b Selecione na lista na parte superior da tela a opção CALL e pressione a 
tecla ENTER.
c Selecione o comando CALL program e pressione ENTER.
d Selecione o programa a ser chamado. Se não aparecer na tela, selecione a 
opção 8 ---next page--- para mostrar mais programas. Pressione ENTER.
5 Execute normalmente o programa.
4 Altere o programa do retângulo para movimentos contínuos (CNT50). E execute 
novamente o programa BRx. Qual a diferença entre os movimentos das duas 
figuras?
 
58
Prática 5 - Comando de movimento circular
Objetivos
Fazer um programa que desenhe um círculo
Introdução
Foram vistos em práticas anteriores os comandos de movimentos de junta a 
junta e linear. Para se fazer movimentos circulares é utilizado o comando C. Os 
comandos J e L necessitam de apenas um ponto, que é o ponto final do movimento. 
O comando C necessita de 2 pontos, sendo que um é o ponto final e o outro é um 
ponto intermediário, pertencente ao arco de círculo. A sintaxe do comando é a 
seguinte:
C P[1]
 P[2] (velocidade) (terminaÁão)
Nesse caso, o ponto P[1] é o ponto intermediário e o ponto P[2] é o ponto final 
do arco.
Para se fazer uma circunferência completa são necessários dois comandos 
de movimento C e a marcação de 4 pontos:
O programa poderia ser o seguinte:
J P[1] 30% FINE
C P[2]
 P[3] 100 mm/s FINE
C P[4]
 P[1] 100 mm/s FINE
O primeiro comando posiciona a ferramenta no primeiro ponto do desenho. O 
comando seguinte desenha um arco de círculo iniciando no ponto P[1], passando 
pelo ponto P[2] e terminando no ponto P[3]. O último comando desenha um arco de 
círculo iniciando no ponto P[3], passando pelo ponto P[4] e terminando no ponto 
P[1].
Metodologia
Nessa prática será criado um programa que desenha um círculo e será 
introduzida uma chamada a esse programa no programa da prática anterior (BRx).
Procedimentos
1 Crie um novo programa chamado CIRx.
 
59
2 Leve o robô para o ponto inicial do círculo e insira um comando de movimento.
3 Leve o robô para o ponto intermediário, insira um comando de movimento e o 
altere para o comando de movimento circular (comando C). O comando deverá 
ficar da seguinte maneira:
C P[2]
 P[ ... ] (velocidade) (terminaÁão)
As reticências significam que o ponto intermediário foi marcado, mas o ponto final 
ainda não.
4 Leve o robô para o ponto final, posicione o cursor no início da segunda linha do 
movimento ( P[ ... ] (velocidade) (terminaÁão) ) e pressione a tecla de função 
correspondente à função TOUCHUP juntamente com a tecla SHIFT. Isso marcará 
o ponto P[3].
5 Leve o robô para o ponto P[4] (ponto intermediário do segundo movimento), insira 
outro comando de movimento e altere para movimento circular. Informe 
manualmente que o ponto final desse movimento é o ponto P[1], levando o cursor 
para as reticências (...) e digitando o valor 1 e a tecla ENTER.
6 Execute o programa normalmente
7 Modifique a terminação do primeiro movimento circular para CNT50 e execute o 
programa. Qual a diferença?
8 Insira no programa BRx a chamada ao programa CIRx.
9) Execute o programa BRx.
 
60
Prática 6 - RepetiÁão de programa um número indeterminado de vezes
Objetivos
Aprender as intruções LBL e JMP LBL
Fazer um programa que se repita número indeterminado de vezes
Introdução
Dentro de um mesmo programa pode ser necessário pular certos comandos 
ou voltar para uma linha anterior. Isso pode ser feito marcando-se uma linha do 
programa com a instrução label: LBL[n]. Essa intrução vem sempre acompanhada 
de um número correspondente ao número do label a ser dado àquela linha. Não 
podem existir em um mesmo programa dois labels com o mesmo número. Pode-se 
então utilizar o comando jump label: JMP LBL[n] para pular para uma linha 
marcada, informando o número do label da linha.
Para se fazer um programa cíclico deve-se, então, marcar a primeira linha do 
programa e instruir o robô a pular para aquela linha ao final de sua execução.
Metodologia
Nessa prática será alterado o programa (BRx) de modo a fazê-lo cíclico.
Procedimentos
1 Abra o programa BRx.
2 Insira uma linha antes da primeira linha do programa
a Movimente o cursor para o início da primeira linha do programa.
b Pressione a tecla NEXT para que apareça na tela a função [EDCMD]. 
Pressione a tecla correspondente a essa função.
c Selecione no menu a opção INSERT e pressione ENTER.
d Digite o número de linhas a serem inseridas (1 linha) e pressione ENTER.
3 Insira a intrução LBL[1] na linha recém inserida.
a Pressione a tecla de função correspondente a [INST].
b Selecione a opção JMP/LBL e pressione ENTER.
c Selecione a opção LBL[ ] e pressione ENTER.
d Dê um número para o label criado, por exemplo LBL[1].
4 Na última linha do programa, insira o comando JMP LBL[1].
a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
c Selecione a opção JMP/LBL e pressione ENTER.
d Selecione a opção JMP LBL[ ] e pressione ENTER.
e Informe o número do labelpara o qual o programa deve pular, no caso 
JMP LBL[1] e pressione ENTER.
5 Execute normalmente o programa. Para fazê-lo parar, solte o botão SHIFT. 
Somente solte o dead man antes do SHIFT em casos de emergência, pois ocorre 
a parada brusca, levando a desgastes das engrenagens.
 
61
Prática 7 - RepetiÁão de programa um número determinado de vezes
Objetivos
Aprender as intruções R[n]=c e IF
Fazer um programa que se repita número determinado de vezes
Introdução
Para se fazer um programa cíclico que pare após a execução de um certo 
número de cliclos, deve ser usado um contador. O robô FANUC dispõe de um 
número de variáveis, chamadas registradores. Um desses registradores pode ser 
utilizado como contador, por exemplo o registrador 1 ( R[1] ).
Esse contador pode começar com o valor 0 e ser incrementado após cada 
ciclo do programa. Para zerar o contador 1 utiliza-se R[1]=0. Para incrementar seu 
valor utiliza-se R[1]=R[1]+1, ou seja, o valor de R[1] é determinado por seu valor 
anterior mais 1.
Após incrementar o valor de R[1] deve-se verificar se ele é ainda menor que o 
número de vezes que o programa deve ser repetido. Se for, o programa deve 
retornar ao início do ciclo. Para isso utiliza-se, por exemplo, IF R[1]<3 JMP LBL[1]. 
Isso significa que se o registrador 1 for menor que 3 então o programa deve pular 
para o label 1.
Observe que o contador deve ser zerado antes da intrução LBL[1], do 
contrário seu valor seria zerado a cada ciclo, e nunca alcançaria o valor desejado.
Metodologia
Nessa prática será alterado o programa (BRx) de modo a fazê-lo repetir 3 
vezes.
Procedimentos
1 Abra o programa BRx.
2 Insira uma linha antes da linha LBL[1] (como na prática anterior, passo 2).
3 Insira a intrução R[1]=0 na linha recém inserida.
a Pressione a tecla de função correspondente a [INST].
b Selecione a opção Registers e pressione ENTER.
c Selecione a opção ...=... e pressione ENTER.
d Selecione a opção R[ ] e pressione ENTER.
e Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
f Selecione a opção Constant e pressione ENTER.
g Digite o valor da constante (no caso, valor 0) e pressione ENTER.
4) Apague a última linha do programa (linha JMP LBL[1])
a Movimente o cursor para a linha a ser apagada.
b Pressione a tecla correspondente à função [EDCMD]. Se necessáriopressione a tecla NEXT.
c Selecione no menu a opção DELETE.
d Pressione a tecla de função correspondente a YES.
5 Na última linha do programa, insira o comando R[1]=R[1]+1
a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
 
62
c Selecione a opção Registers e pressione ENTER.
d Selecione a opção ...=..+.... e pressione ENTER.
e Selecione a opção R[ ] e pressione ENTER.
f Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
g Selecione a opção R[ ] e pressione ENTER.
h Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
h Selecione a opção Constant e pressione ENTER.
i Digite o valor da constante (no caso, valor 1) e pressione ENTER.
6 Insira o comando IF R[1]<3, JMP LBL[1]
a Movimente o cursor para a última linha do programa ( [END] ).
b Pressione a tecla de função correspondente a [INST].
c Selecione a opção IF/SELECT e pressione ENTER.
d Selecione a opção IF ...<... e pressione ENTER.
e Selecione a opção R[ ] e pressione ENTER.
f Digite o número do registrador (no caso, registrador 1) e pressione ENTER.
i Selecione a opção Constant e pressione ENTER.
j Digite o valor da constante (no caso, valor 3) e pressione ENTER.
k Selecione a opção JMP LBL[ ] e pressione ENTER.
l Informe o número do labelpara o qual o programa deve pular, no caso 
JMP LBL[1] e pressione ENTER.
7 Execute normalmente o programa. O programa deverá desenhar a bandeira 3 
vezes e parar.
 
63
Referências Bibliográficas
[1] Toss, D.J. Fudamentals of robot technology. 
[2] Holzbock, Werner G. Robotic technology, principles and pratice . 
[3] Asfahl, C. Ray. Robots and manufacturing automation . 
[4] Koren, Yoram. Robotics for engineers.
[5] Handbook of industrial robotics.
[6] Apostila de Robótica – UFRGS / GCAR].
[7] User´s Guide – ABB.
[8] Manual de Referência Rápida – ABB.
[9] Polonskii, Mikhail M. Introdução à Robótica e Mecatrônica . Caixias do 
Sul: EDUSC, 1996.
[10] User´s Guide – FANUC.
 
64
	1.	Introdução à Robótica
	1.1	Histórico
	1.2	Definição
	2.	Arquitetura
	3.	Classificação
	4.	Graus de Liberdade
	5. Volume de Trabalho
	6.	Acessórios
	6.1	Garras:
	6.2	Ferramentas especializadas
	7.	Capacidade de Carga
	8.	Aplicações Industriais de Robôs
	8.1	Soldagem 
	8.1.1	Soldagem a Ponto
	8.1.2	Soldagem a Arco 
	8.2	Aplicação de Fluidos
	8.3	Montagem
	8.4	Carregamento / Movimentação
	9.	Segurança
	10.	Tipos e dispositivos de Programação
	10.1	Programação Manual
	10.2 	Repetição
	11. Terminal de Programação (Teach Pendant)
	12. Linguagens de Programação
	12.1	Gerações de Linguagens de Programação
	12.2	 Comandos de Programação
	12.3	Simulação
	12.4	Sistema de Movimentação do Robô
	12.5	Modo Automático
	12.6	Criação e Edição de Programas
	12.7	Salvamento de Programas
	12.8	Visualização de Erros
	12.9	Troca de Ferramentas
	12.10	Etapas da programação
	12.11	Planejamento de programas
	12.12	Documentação de programas
	12.13	Interrupções
	13. Elementos de Programação (robô FANUC)
	13.1	Instruções de movimento
	13.2	Registradores
	13.3	Estruturas de controle de fluxo
	13.3.1	Chamada de programas 
	13.3.2	Saltos dentro de um programa
	13.3.3	Estrutura condicional 
	13.3.4	Repetição com contagem
	13.3.5	Seleção de condições
	13.4	Comando de atraso
	13.5	Comando de mensagem
	13.6	Entradas e saídas
	13.6.1	Forçando e simulando sinais
	ANEXO I – Robô Industrial da FANUC (ARC Mate 50 iL)
	A1.1	Segurança
	A1.1.1	 Considerações de Segurança para a Instalação do Robô
	A1.1.2	 Extinção do Fogo
	A1.1.3	 Uso de Dispositivos de Aumento de Segurança
	A1.1.4	 Criando um Célula de Trabalho Segura
	A1.1.5	 Paradas de emergência
	A1.2	Aplicações:
	A1.3	Graus de Liberdade:
	A1.4	Eixos:
	A1.4.1	Eixos internos :
	A1.4.2	Eixos externos :
	A1.5	Abertura de Programas
	A1.6	Iniciando o Programa
	ANEXO II – Roteiros de Aulas Práticas
	Prática 1 – Movimentação do robô (jogging)
	Prática 2 - Marcação de pontos
	Prática 3 - Edição de posição de pontos
	Prática 4 - Funções de chamadas de programas
	Prática 5 - Comando de movimento circular
	Prática 6 - Repetição de programa um número indeterminado de vezes
	Prática 7 - Repetição de programa um número determinado de vezes
	Referências Bibliográficas

Mais conteúdos dessa disciplina