Você está na página 1de 89

Material Instrucional especialmente elaborado

pelo Prof. Paulo para uso exclusivo do CETEB-


CA.

Curso: Mecatrônica Módulo: II Carga Horária:


Docente: Turno: Turma:

3
SUMÁRIO
CONCEITOS BÁSICOS 6
INTRODUÇÃO 6
O QUE É ROBÓTICA ? 7
OPERAÇÃO 8
ARQUITETURA DE UM MANIPULADOR ROBÓTICO 9
O MANIPULADOR 10
RESOLUÇÃO, REPETIBILIDADE, PRECISÃO 16
DESCRIÇÃO DE POSIÇÃO E ORIENTAÇÃO 16
CINEMÁTICA 17
VELOCIDADES, FORÇAS ESTÁTICAS, SINGULARIDADES 18
ESTÁTICA 19
DINÂMICA 19
GERAÇÃO DE TRAJETÓRIA 19
SEGURANÇA 22
APLICAÇÕES INDUSTRIAIS DE ROBÔS 23
SOLDAGEM 23
APLICAÇÃO DE FLUIDOS 24
MONTAGEM 25
PROGRAMAÇÃO E SIMULAÇÃO DE ROBÔS 25
PROGRAMAÇÃO POR APRENDIZAGEM 27
PROGRAMAÇÃO OFF-LINE 29
ROBÔ 30
MODELO E SISTEMA DE PROGRAMAÇÃO 30
LINGUAGENS DE PROGRAMAÇÃO DE ROBÔS INDUSTRIAIS 30
SIMULAÇÃO DE ROBÔS 32
SIMULADORES COMERCIAIS 33
SOFTWARES EDUCACIONAIS 33
EXEMPLOS 34
REFERÊNCIAS BIBLIOGRÁFICAS 34
ANEXO I 35
O ROBÔ DIDÁTICO - SCORBOT - ER III 35
SEGURANÇA COM O ROBÔ DIDÁTICO 36
COMPONENTES DO ROBÔ DIDÁTICO SCORBOT - ER III 37
O BRAÇO MECÂNICO 37
CÁLCULO DA TAXA DE TRANSMISSÃO 38
TRANSMISSÕES DO SCORBOT-ER III 40
O CONTROLADOR 43
INTRODUÇÃO AOS TIPOS DE CONTROLE 44
ENCODERS ÓTICOS 46
ENTRADAS E SAÍDAS 49
A COMUNICAÇÃO ENTRE O ROBÔ E SEU AMBIENTE. 49
PONTO DE INICIALIZAÇÃO DO ROBÔ (ROBOT HOME) 52
UTILIZANDO SCORBASE PARA OPERAR O ROBÔ 53
PRINCÍPIOS DE OPERAÇÃO 53
MOVENDO AS ARTICULAÇÕES DO ROBÔ 55
RUN PROGRAM MENU 59
USO DA LINGUAGEM SCORBASE NÍVEL 1 59
MENU DE MANIPULAÇÃO DE PROGRAMAS (SALVAR, CARREGAR E DELETAR) 62
EXECUTANDO PROGRAMAS VIA RUN PROGRAM MENU 62
USOS DO SCORBASE NÍVEL 2 62
4
ESCRITA DE PROGRAMAS VIA MENU EDITOR DE PROGRAMA (OFF-LINE) 63
USOS DO SCORBASE NÍVEL 3 64
"HARD HOME" 65
ESCREVENDO UM PROGRAMA PARA LOCALIZAÇÃO 65
ANEXO II 70
ELEMENTOS DE HARDWARE 70
MOTOR DE PASSO 70
SENSORES 75
O QUE É SENSOR CA? 82
O QUE É SENSOR CA / CC? 82
SENSORES CA MODELOS WA E WF: 82
SENSORES CA MODELOS W3A E W3F: 82
SENSORES CA / CC MODELOS UA E UF: 82
SENSORES CA / CC MODELOS UZA E UZF: 83
EXERCÍCIOS 87

5
Conceitos Básicos

Introdução
Robôs são uma idéia antiga. Por volta de 3500
A.C. entidades da mitologia grega como Efestus e
Pigmalion, incorporam a idéia de robos
inteligentes. Em 270 A.C. Ctesibius da Grécia
construiu relógios d’água com figuras móveis.
Entre 1452-1419 Leonardo Da Vinci imaginou
robôs humanóides para proteger castelos (figura
1), mas que por falta de tecnologia apropriada
não chegaram a ser construídos.
A palavra robô vem da palavra tcheca "Robota",
que significa trabalho escravo.
Ela foi utilizada pela primeira vez em uma peça
Fig 1 – Robo Humanóide e desenhos de DaVinci
teatral de Karel Capek (vide figura 2). A peça de
1921 era chamada "Robôs Universais de
Russum"e tratava sobre a hoje clássica estória de
robôs que rebelam-se contra a humanidade.
Nos anos 40 Isaac Asimov cunhou a palavra
robótica, para designar o campo científico que
aborda os robôs. Desde então, muitos filmes e
programas de televisão (figura 3) tem feito as
pessoas imaginarem robôs como sendo máquinas
humanóides dotadas de elevada inteligência
sempre prontas para rebelar-se contra a
humanidade.

Figura 2- Cartaz e o robo da peça de Karel Capek.

Definição
Existem várias definições históricas sobre os robôs.
Por robôs entendemos ser uma máquina flexível programável com
a qual um objeto pode ser movido para um local definido no
espaço, ou com o qual pode ser realizados uma trajetória com este
objeto para realizar uma determinada tarefa.

6
Porém, robôs reais são bem diferentes dos robôs da ficção científica.

O que é Robótica ?
Robótica é um campo vasto que necessita de conhecimentos de Eletrônica, Mecânica,
Computação, Controle, Psicologia, etc. Usualmente os robôs são tidos como
causadores de desemprego. No entanto, o que ocorre na maioria dos casos é que os
robôs modificam a posição dos postos de trabalho na linha de produção. Com os (a) Os Jetson’s (69)
robôs, toda a linha de produção torna-se mais rápida, demandando mais pessoas para
embalagem dos produtos, venda da produção maior, compra de mais matéria prima,
programação e alimentação dos robôs e outras tarefas que não podem ser
automatizadas.

Classificação (b) Star Wars


Os robôs podem ser classificados quanto à sua estrutura mecânica, quanto á sua
geração tecnológica e quanto à participação do operador humano em seu
funcionamento.

Quanto à estrutura mecânica


Segundo a Federação Internacional de Robótica (IFR), as principais configurações são
(c) Robots
as seguintes:
1. Robôs de coordenadas cartesianas (pórticos)
2. Robôs de coordenadas cilíndricas
3. Robôs de coordenadas esféricas
4. Robô SCARA
5. Robôs de articulados ou antropomórficos
6. Robôs paralelos (d) Lost in Space
Os robôs relacionados nos itens 1 a 6 serão melhor descritos mais a adiante.
Os robôs paralelos apresentam uma configuração tipo plataforma e mecanismos em
forma de cadeia cinemática fechada. O volume de trabalho resultante é
aproximadamente esférico.

Quanto à geração tecnológica


Segundo RIVIN (1988) e ROSEN (1985), podemos classificar os robôs segundo a sua
geração tecnológica.
(e) Short Circuit

1ª GERAÇÃO – robôs denominados de “seqüência fixa”, os quais, uma vez


programados, repetem sempre a seqüência de operações. Para realizar uma
operação diferente tem que ser reprogramados. São incapazes de obter qualquer
informação sobre o ambiente de interação do robô na fabrica. Este ambiente deverá
estar completamente estruturado (parametrizado), pois as operações exigem um
posicionamento preciso dos objetos a serem trabalhados. A maioria dos robôs
(f) Android Jonnhy Walker
industriais pertence a esta geração. 2005
2ª GERAÇÃO – possuem recursos computacionais e sensores que permitem ao robô
agir em um ambiente parcialmente estruturado, calculando em tempo real os
parâmetros de controle para a realização dos movimentos. Atividades como pegar
uma peça deslocada de sua posição ideal ou reconhecer uma peça a ser manipulada,
dentre um conjunto de peças variadas.
(g) I Robot
3ª GERAÇÃO – Apresentam inteligência suficiente para se conectar com outros robôs Fig 3
e maquinas armazenar programas e se comunicar com outros sistemas
computacionais. É capaz, por exemplo, de tomar decisões em operações de montagem, tais como montar
uma adequada combinação de peças, rejeitar peças defeituosas e selecionar uma combinação correta de
tolerâncias. No entanto, o emprego desse tipo de robô ainda em processos industriais ainda é incipiente.

7
Quanto à participação de operador humano
O grau de envolvimento com o operador humano no processo de controle de um sistema robótico é
determinado pela complexidade que o meio de interação apresenta e pelos recursos disponiveis para o
processamento dos dados necessários à execução das tarefas.
Caso o ambiente seja estruturado, onde os parametros necessários à operacionalidade do sistema possam
ser identificados e quantificados, é possivel estabelecer um sistema de controle capaz de gerenciar e
monitorar tarefas com a mínima paarticipação do operador, é o chamado Sistema Robótico. A maioria das
atividades industriais automatizadas, como soldagens por ponto ou contínua, fixação de circuitos integrados
em placas, pintura de superfícies, movimentação de objetso e montagens de peças, operam em ambientes
estruturados.
Com o ambiente não-estruturado, surge a dificuldade de quantificar determinados parametros do processo
ou por possuirem elevado custo para obtê-los, dentro de certas especificações, a utilização do poder
decisório do operador no gerenciamento do sistema de controle torna-se fundamental para a realização das
tarefas determinadas. Neste caso o sistema é classificado como Tele operado
Sistema tele operados, são normalmente utilizados em mineradoras, recuperação de satélites, manipulação
de material radioativo ou tóxico, exploração de petróleo e gás em plataformas maritimas.
Podemos ter ainda:

Robôs industriais: são os utilizados em linha de produção para movimentação de peças, pintura, soldagem,
etc. Normalmente são constituídos por um braço articulado, uma unidade de controle, um "teaching-pad"
(teach-pendant), uma unidade de potência e muitas interfaces para conexão do robô com periféricos segundo
a tarefa.
Robôs móveis: são os que podem se movimentar autonomamente no chão ou no espaço. Obviamente, um
robô estacionário pode ser tornado móvel se montado em uma plataforma móvel, mas freqüentemente o
termo robô móvel é utilizado para referir-se apenas a plataforma móvel.
Robôs de serviço: são os desenvolvidos para realizar tarefas específicas, como aspiração de pó, auxílio a
pessoas idosas ou deficientes, limpeza de navios e aviões, corte de grama, tosquia de ovelhas, etc.

Operação
A operação de robô industrial engloba uma série de tarefas de menor ou maior grau de complexidade. O
termo operação pode se referir a operação simples de carregar um programa para que o robô realize uma
tarefa específica; ajustar parâmetros do programa para o robô execute um trabalho um certo número de
vezes ou com um tipo especifico de ferramenta, mas também pode se referir à tarefas complexas como
calibração ou estabelecimento do posto de trabalho do robô.
Uma das principais preocupações da industria é com as tarefas mais simples que, via de regra, podem ser
desempenhadas por pessoal com pouca qualificação profissional e que são executadas com muita
freqüência. Para maximizar o lucro o industrial geralmente procura-se empregar na operação de robôs
operadores de máquina sem capacitação profissional. Isso traz a necessidade de uma melhoria
(simplificação) da interface homem-máquina com o objetivo de facilitar o uso desta interface sobre tudo nas
operações cotidianas: colocar o robô em execução de uma rotina repetitiva; contornar situações de erro (por
exemplo: parada ocasionada por colisão); ligar o desligar o robô.
Tarefas mais sofisticadas como: instalação, manutenção e calibração; requerem o emprego de mão-de-obra
especializada e, por isso, implicam em um gasto maior. Há um segmento de mercado significativo para
prestação deste serviço já que, no geral, não vale a pena para o industrial que aplica robôs em sua planta
manter uma equipe de especialistas.

8
Arquitetura de um Manipulador Robótico

Figura 4 - Arquitetura típica de um manipulador robótico.

Estação de Trabalho: Computador que implementa a interface amigável com o operador. Permite a
programação das tarefas a serem executadas pelo braço. Através dela o programa é carregado no
Controlador de Robô. Pode ser compartilhada por outras máquinas que componham a célula de trabalho.
Teach Pendant (Apêndice de Ensino): interface homem-máquina (conhecido simplesmente como IHM) ligada
por um cabo ao controlador do robô e equipada com teclas de funções que permitem que as juntas do robô
sejam acionadas independentemente. A seqüência de movimentos pode ser gravada e utilizada pelo
controlador para repetir a tarefa “ensinada”.
Controlador do Robô: Computador dedicado que interpreta o programa, executando as tarefas programadas
através de algoritmos de controle das juntas do robô. Estes algoritmos comparam a posição real das juntas
fornecida pelos sensores com a posição que estas deveriam ter para realizar as tarefas programadas,
determinando o esforço que deve ser aplicado pelos atuadores de modo a corrigir eventuais desvios na
execução das tarefas.
Acionamento: circuitos de potência comandados pelo Controlador de modo a aplicar nos atuadores a
energia necessária para realizar os movimentos programados.
Aquisição de dados: Circuitos de condicionamento e conversão analógico/digital dos sinais fornecidos pelos
sensores. Transformam a informação provinda nos sensores num código numérico manipulávél pelo
Controlador do Robô.
Sensores: Detectam posição e velocidade do robô ou a força exercida pela ferramenta.

Sensores de posição: detectam a posição das juntas do manipulador.


• Potenciômetros: tensão é proporcional ao ângulo da junta.
• Resolvers: tensão é proporcional ao ângulo da junta.
• Encoders: ângulo da junta codificado digitalmente.
o Incrementais: contam pulsos correspondentes a incrementos angulares.
o Absolutos: fornecem diretamente o código binário correspondente ao ângulo.

Sensores de velocidade: detectam a velocidade das juntas do manipulador.


• Tacômetros: tensão é proporcional à velocidade da junta.

Sensores de torque e força: detectam o torque e a força aplicados pela garra.


• Células de carga: tensão proporcional ao esforço na sua superfície.

9
Atuadores: Realizam a conversão da energia disponível em energia mecânica para movimentar o braço.
Podem ser elétricos, pneumáticos ou hidráulicos.

• Elétricos: motores elétricos (de passo, servos CC ou CA)


o Usados em robôs de médio porte.
o Maior precisão.
o Permite controle preciso e eficiente
o Envolve estruturas simples e de fácil manutenção
o Não requer fonte de energia cara
o Custo relativamente baixo
o É sujeito a danos devido a cargas pesados o bastante para parar o motor
o É incapaz de manter um momento constante em velocidades variáveis de revolução
o Tem uma baixa razão de potência de saída em relação ao peso do motor

• Pneumáticos: utilizam um gás a pressão para movimentar o braço ou músculos artificiais (ligas de
Nitinol).
o Usados em robôs de pequeno porte.
o Baixa precisão. Limitados a operações do tipo pega-e-coloca.
o Permite operação em altas velocidades.
o Precisão pouco apurada.
o Pode manter um momento constante (menor do que o acionamento hidráulico).
o Está sujeito a vibrações momentâneas no braço.
o Fácil manutenção
o Custo relativamente baixo

• Hidráulicos: utilizam um fluido a pressão para movimentar o braço.


o Usados em robôs grandes.
o Grande potência e velocidade, mas baixa precisão.
o Mantém um momento alto e constante sob uma larga faixa de velocidades
o Requer uma fonte de energia cara
o Permite precisão de operação, algo menos que acionamento elétrico, mas mais que o pneumático.
o Requer cara e extensiva manutenção.
o Pode manter alto momento sobre longo período de tempo.
o As válvulas devem ser precisas e são caras.
o Está sujeito a vazamentos de óleo do sistema.

O Manipulador

Figura 5 – O Braço manipulador e o equivalente esquemático

10
Manipulador é o conjunto de corpos rígidos, (chamados elos), interligados em uma cadeia cinemática aberta
através de juntas, as quais são acionadas por atuadores de modo a posicionar a extremidade livre da cadeia
(órgão terminal, efetuador, garra ou ferramenta) em relação à outra extremidade, que é fixa (base do
manipulador).

Juntas
Junta é a interligação entre dois elos que permitem o movimento relativo entre os mesmos numa única
dimensão ou Grau de Liberdade.

• Juntas rotacionais : Permite a mudança da orientação


relativa entre dois elos.
• Juntas prismáticas: Permite a mudança da orientação
relativa entre dois elos.
• Juntas esféricas: Tentam agregar as funcionalidades dos
tipos acima, mas são dificeis de implementar.

Características das juntas

Prismáticas:
(a) Rotacional. (b) Prismática.
As juntas prismáticas construtivamente são mais complexas
que as rotacionais, mas devido a sua tecnologia ser a
mesma aplicada na construção de máquinas-ferramenta
apresentam maior rigidez e precisão.
O movimento relativo entre dois elementos de uma junta
aplicada em robótica é obtido através da interposição de
dois elementos deslizantes de modo a minimizar a
resistência ao movimento devido ao atrito. Esta escolha é
imposta por dois motivos fundamentais:
Os movimentos do robô se caracterizam por uma
seqüência de partidas e paradas onde somente a presença (c) Esférica 3GL. (d) Esférica.
Figura 4: Tipos de juntas.
de rolamentos pode gerar um baixo atrito;
Operacionalmente se requer no robô uma capacidade de realizar movimentos rápidos com pequenas forças
motrizes.
Definição
Graus de liberdade é 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.

Rotacionais:
A construção de juntas rotacionais é realizada com componentes padronizados dos fabricantes de
rolamentos. Construtivamente as juntas prismáticas são realizadas com guias de roletes ou de bússolas
esféricas. As juntas rotacionais são sempre mais compactas.

Juntas principais e secundárias


Essa divisão em dois grupos com funções distintas, principais e secundárias, remete a uma especialização
na estrutura das juntas.

Braço – a estrutura do braço pode utilizar juntas “P” e “R”. Os elementos componentes possuem determinado
comprimento.

11
Pulso - no pulso somente juntas “R”; elementos sem dimensão; os eixos de rotação das três juntas se
encontram em um ponto.

Considerando um robô com seis graus de liberdade temos como:

• Graus de liberdade principais (braço do robô): Conjunto dos três primeiros elos do manipulador e
suas juntas correspondentes. Determina predominantemente a posição da ferramenta. Requer atuadores
mais potentes.
• Graus de liberdade secundários (pulso do robô): Conjunto dos três últimos elos do manipulador e
suas juntas correspondentes. Determina predominantemente a orientação da ferramenta.

Ferramentas
Parte do manipulador usada para interagir com objetos presentes no espaço de trabalho.

Garras : Ferramentas específicas para pegar objetos. Podem ser:


• Garras Mecânicas: pegam pressionando o objeto entre dedos (que podem ser intercambiáveis).
o Por movimento pivotante.
o Por movimento linear.
o Mãos antropomórficas.
• Garras de Sucção: pegam através da criação de um vácuo entre a garra e a peça.
o Requerem superfícies limpas e sem furos.
• Garras Magnéticas: pegam através da atração magnética entre a garra e a peça.
o São rápidas, independem da forma e dos orifícios da peça.
o Funcionam apenas com materiais ferromagnéticos, podem pegar peças indesejadas e podem deixar
magnetismo residual nas mesmas.
o Aquelas a imã permanente requerem dispositivo para soltar a peça.
• Garras Adesivas: pegam pelo contato com substância adesiva (que deve ser renovada de tempos em
tempos).
• Garras Balões: pegam objetos côncavos através da pressão ao serem inflados.

(a) com dois dedos. (b) com três dedos. (c) para objetos delicados.

(d) para objetos circulares. (e) articulada. (f) com ventosas.


Figura 6: Modelos de Garras.

12
Ferramentas Especiais: possuem finalidades diversas.
• Pinças para soldagem a ponto.
• Tocha Arco, Maçaricos e Pistolas de pintura.
• Mandris e Perfuração.
• Polimento e Retífica.
• Aplicadores de cola ou resina.
• Ferramentas de corte por jato de água.
• Carregamento e Movimentação

A avaliação dos tipos de articulações e seu arranjo permitem


ao projetista estimar a área de atuação do robô, rigidez
mecânica a facilidade de controle do braço, possibilitando
qual tarefa serão mais apropriadas para cada tipo de robô. O
movimento das articulações capacita o robô a mover seu
atuador para qualquer ponto na sua área de atuação, mas
não habilita o controle da orientação do atuador no espaço;
cuja importância não se restringe somente ao alcance à peça.
Essa tarefa pode ser realizada adicionando-se articulações
para o pulso do braço, dando um maior grau de liberdade. A
partir disso, o robô fica habilitado a realizar os seguintes Figura 7: Três juntas rotacionais
movimentos: substituindo a junta de esfera e encaixe
• Pitch – movimento para cima e para baixo;
• Roll – movimento de rotação no sentido horário e anti-horário;
• Yaw – movimento para a esquerda e direita.

Configurações Cinemáticas
Definição
Espaço de Trabalho: Ou volume de trabalho, é a fronteira exterior
de todos os pontos que um robô pode alcançar com seu efetuador.
Envelope de Trabalho: é a superfície desse espaço de trabalho,
ou seja, os pontos de alcance máximo do robô.

Configuração Articulada (RRR) - Articulada vertical

Figura 8

13
Configuração Esférica (RRP)

Figura 9
Configuração SCARA (RRP) - Articulada horizontal
SCARA significa Selective Compliance Assemlby Robotic Arm (Braço Robótico de Montagem de
conformidade seletiva). Tem este nome porque o robô apresenta uma flexibilidade estrutural maior no plano
horizontal do que no plano vertical, facilitando operações de montagem com inserções verticais de pinos.

Figura 10
Configuração Cilíndrica (RPP)

Figura 11

14
Configuração Cartesiana (PPP)

Figura 12

Aplicações Práticas dos Graus de Liberdade


Os seis graus de liberdade não são necessários em muitas aplicações práticas. O número de graus de
liberdade, portanto deve ser apenas o suficiente para atender as especificações de trabalho.

Robôs a quatro graus de liberdade


São utilizados em operações de montagem onde a união
das partes pode ser obtida com uma seqüência de
inserções verticais. Neste caso três graus de liberdade,
translação ao longo dos eixos x e y e rotação em torno do
eixo vertical permitem posicionar e orientar um objeto no
plano, enquanto uma translação em torno do eixo vertical
permite uma operação de encaixe (inserção).

Robôs a três graus de liberdade


Um robô a três graus de liberdade pode sempre substituir Figura 13
um de quatro graus quando as peças a serem montadas forem cilíndricas
(eixos). Neste caso a possibilidade de rotação em torno do eixo vertical
torna-se dispensável.

Robôs a cinco graus de liberdade


Um robô a cinco graus de liberdade poderá sempre substituir um de seis
graus quando as peças tiverem simetria axial, como objetos cilíndricos.
Casos em que se torna supérfluo o movimento de rotação em torno de
seus eixos de simetria.

Figura 14

15
Resolução, Repetibilidade, Precisão

Resolução: É o menor movimento incremental de uma junta, normalmente detectável pelo dispositivo de
medição.
Exemplo, se o codificador tiver 180 incrementos então sua resolução será de 180 incrementos por volta ou
seja 360º/180 = 2º.
Esta é a resolução angular, que pode ser convertida em resolução espacial, em função do comprimento da
junta: Res_Espacial = L*sen(Res_Angular)

Repetibilidade: Traduz a diferença de


posição (linear em geral) com que o robô
volta a recolocar-se num ponto especifico.

Precisão: Traduz a diferença entre uma


posição realmente atingida e a posição
desejada pela programação. Está
relacionada com a resolução e por certo não
poderá ser melhor que o valor daquela (ou
+/- metade) – afetado pela carga Boa Precisão Má Precisão
transportada e variável conforme a zona de Boa repetibilidade Boa repetibilidade
espaço de trabalho.
Um outro fator que influencia grandemente a
precisão e a repetibilidade é a resolução do
controlador. Entende-se por resolução do
controlador o menor incremento de
movimento que o controlador pode "sentir".
Matematicamente, é dada pela expressão:
Boa Precisão Má Precisão
Má repetibilidade Má repetibilidade
Figura 15

Distância total percorrida pela junta


Res_controle =
2n

Onde n é o número de bits do encoder (sensor de posição existente na junta). Obviamente, se a junta for
prismática, o numerador da equação é um deslocamento linear, enquanto que se a junta for rotativa, será um
deslocamento angular. Nesse contexto, juntas prismáticas proporcionam maior resolução que juntas rotativas,
pois a distância linear entre dois pontos é menor do que o arco de circunferência que passa pelos mesmos
dois pontos.

Descrição de posição e orientação


No estudo de robótica nós estamos constantemente preocupados com a localização de objetos no espaço
tridimensional. Estes objetos são os segmentos do manipulador, as peças e ferramentas com que ele
trabalha, e outros objetos no ambiente do manipulador. De uma forma bem simples, mas não menos
importante, estes objetos são descritos através de apenas dois atributos: sua posição e orientação, em
termos de pontos.
Para que se possa localizar este ponto no espaço é necessário considerar a existência de um sistema de
coordenadas, daí, de que maneira nós podemos representar estas quantidades. É importante observar que
neste curso não iremos manipulá-las matematicamente.

16
Para descrever a posição e orientação de um corpo no espaço
nós atrelaremos sempre um sistema de coordenada, ou frame,
rigidamente ao objeto. Então, nós descrevemos a posição e
orientação deste frame com relação a algum sistema de
coordenada de referência (Figura 16).
Desde que qualquer frame pode servir como um sistema de
referência em relação as qual nós expressamos a posição e
orientação de um corpo, nós freqüentemente teremos que Figura 16 – Sistemas de Coordenadas
transformar ou mudar a descrição destes atributos de um corpo ou frames são atrelados ao manipulador
de um frame para outro. e outros objetos no ambiente

Cinemática
Cinemática é a ciência do movimento que trata o movimento sem levar em conta as forças que o causam.
Dentro da ciência da cinemática estudamos a posição, velocidade, aceleração.
Conseqüentemente, o estudo da cinemática de manipuladores se refere a todas as propriedades geométricas
e baseadas no tempo do movimento. Manipuladores são constituídos de segmentos quase rígidos que são
conectados por articulações ou juntas que permitem movimento relativo de segmentos vizinhos. Estas juntas
normalmente são instrumentadas com sensores de posição que permitem medir a posição relativa de
segmentos vizinhos. O valor medido é chamado de variável de junta e mede o deslocamento de um
segmento em relação ao outro. No caso de juntas rotativas ou de revolução, estes deslocamentos são
chamados ângulos de junta. Alguns manipuladores contêm juntas prismáticas ou deslizantes nas quais o
deslocamento relativo entre segmentos é uma translação, às vezes chamado de offset de junta.
O número de graus de liberdade (DOF – degrees of freedom) que um manipulador possui é o número de
variáveis de posição independentes que teriam que ser especificadas para localizar todas as partes do
mecanismo. Este é um termo geral usado para qualquer mecanismo. Por exemplo, um encadeamento de
quatro-barras tem só um grau de liberdade (embora haja três membros que se movem). No caso de robôs
industriais típicos, porque um manipulador normalmente é que
um cadeia cinemática aberta e porque cada posição é definida
normalmente com uma única variável, o número de juntas é igual
ao número de graus de liberdade.
No extremo livre da cadeia de segmentos que compõem o
manipulador está o efetuador (end-effector). Dependendo da
aplicação planejada para o robô, o efetuador pode ser uma garra
(gripper), uma tocha de soldagem (weld torch), um eletroímã ou
outro dispositivo. Nós geralmente descrevemos a posição do
manipulador dando uma descrição do frame da ferramenta (tool Figura 17 – Equações cinemáticas
frame) que é atrelado ao efetuador, relativo ao frame da base descrevem o frame da ferramenta em
(base frame) que é atrelado à base de imóvel do manipulador relação ao frame da base como uma
(Figura 17). função das variáveis de junta

Cinemática Direta
Um problema básico no estudo de manipulação mecânica é o da cinemática direta, que pode ser dividida em
dois problemas:
1. O problema estático e geométrico de calculo da posição e orientação do efetuador em relação ao
sistema de coordenadas fixas, dadas as posições de todas as articulações ou seja, trata-se de computar a
posição e orientação do frame da ferramenta relativo ao frame da base.
2. O problema do robô manipulador em movimento, onde se deseja calcular a velocidade linear e
angular do efetuador, dadas as posições e velocidades de todas as articulações.

17
Cinemática Inversa
O problema cinemática inversa é proposto como segue: dado a posição e orientação do efetuador do
manipulador, calcule todos os possíveis vetores de ângulos de junta que poderiam ser usados para atingir
esta determinada posição e orientação. Este é um problema fundamental para o uso prático de
manipuladores.
O problema da cinemática inversa não é tão simples quanto o da cinemática direta. Porque as equações
cinemática não são lineares, a solução delas sempre é mais difícil ou até mesmo impossível em uma forma
fechada. Também surgem questões quanto à existência de uma solução e de soluções múltiplas.
A existência ou não existência de uma solução para a cinemática definem o espaço de trabalho (workspace)
de um determinado manipulador. A falta de ao menos uma solução, ou seja a inexistência de qualquer
solução, significa que o manipulador não pode atingir a posição e orientação desejadas porque caem fora do
workspace do manipulador.

Velocidades, Forças estáticas, Singularidades


Além de lidar com problemas de posicionamento estáticos, nós
podemos desejar analisar os manipuladores em movimento.
Freqüentemente, executando a análise de velocidade de um
mecanismo é conveniente definir uma quantidade matricial
chamada de Jacobiano, ou matriz Jacobiana do manipulador.
O Jacobiano especifica um mapeamento de velocidades no
espaço de junta para velocidades no espaço Cartesiano (Figura
18). a natureza deste mapeamento muda com variação na
configuração do manipulador. Em certos pontos, chamados de
singularidades, este mapeamento não é inversível. Uma Figura 18 – Relação geométrica entre a
compreensão detalhada do fenômeno é importante para os taxa de variação da variável de junta e a
projetistas e usuários de manipuladores. Manipuladores nem velocidade de efetuador pode ser
sempre se movem pelo espaço livre; às vezes eles também descrita por uma matriz chamada de
devem fazer contato com uma peça ou superfície de trabalho e Jacobiano
aplicar uma força estática.
Neste caso surge um problema:
Definição
Por espaço Cartesiano nós queremos dizer o espaço no
qual a posição de um ponto é determinada com três números, e na
qual a orientação de um corpo é determinada com três números.
Às vezes é chamado espaço de tarefa ou espaço operacional.

“Dada uma força de contato e momento desejados, o que determina quais torques de junta são exigidos para
gerá-los?” Mais uma vez, a matriz de Jacobiana do manipulador surge muito naturalmente na solução deste
problema.
Na prática sempre fazemos uso de pontos de aproximação para garantir que os parametros não sejam
ultrapassados.

18
Estática
Os robôs manipuladores nem sempre estão em movimento,
algumas vezes eles são utilizados para pegar objetos ou
trabalhar em contato com uma superfície e assim aplicar um
esforço estático; nesta situação surge um problema: dada
uma força e um momento que o robô deve aplicar no
ambiente, quais devem ser as forças e torques nos atuadores
das articulações para gerar as forças e momentos de
interação com o ambiente; a matriz Jacobiano do robô é
utilizada também na solução deste problema (Figura 19).

Dinâmica Figura 19 – A relação entre os esforços


Dinâmica é um campo de estudo enorme dedicado a estudar aplicados nas articulações e os esforços
as forças exigidas para causar movimento. Para acelerar um aplicados pelo efetuador no ambiente é
manipulador do repouso, mover o efetuador com uma determinada pelo Jacobiano
velocidade constante, e finalmente desacelerar e parar, um
conjunto complexo de funções de torque deve ser aplicado pelos
atuadores das juntas (note o box abaixo). A forma exata das
funções de torque de atuador exigidas depende dos atributos de
espaço e temporais da trajetória percorrida pelo efetuador como
também das propriedades de massa dos segmentos e carga,
atrito nas juntas, etc. Um método para controlar um manipulador Figura 20 – Relação entre o torque
afim de seguir uma trajetória desejada envolve calcular estas aplicado pelos atuadores nas juntas e o
funções de torque de atuador usando as equações dinâmicas de movimento resultante do manipulador
movimento do manipulador. pode ser descrita com as equações
Um segundo uso para as equações dinâmicas de movimento dinâmicas
está na simulação (Figura 31). Reformulando as equações
dinâmicas de forma a calcular a aceleração como uma função de torque de atuador, é possível simular como
um manipulador se moveria sob a aplicação de um conjunto de torque de atuador (Figura 20).

Geração de trajetória
Um modo comum de causar um movimento em um manipulador de um lugar para outro de forma suave e
controlada é fazer com que cada junta se mova como especificado por uma função suave de tempo.
Definição
Nós empregamos a expressão “atuador de junta” para
descrever um dispositivo genérico destinado a mover a junta
fornecendo energia mecânica à ela, por exemplo: motor elétrico,
cilindro hidráulico e pneumático, etc.

Normalmente, cada junta começa e termina seu movimento ao


mesmo tempo, de forma que o movimento de manipulador
parece ser coordenado. Exatamente como computar estas
funções de movimento é o problema de geração de trajetória
(Figura 21).
Freqüentemente um caminho é descrito não apenas pelo destino
desejado mas também por algumas localizações intermédias, ou
por pontos pelos quais o manipulador tem que passar no seu Figura 21 – Para mover o efetuador de
cominho para o destino. Neste caso, o termo spline é usado para um ponto PA para um ponto PB no
se referir a uma função suave, ou um algoritmo que gera uma espaço deve-se calcular uma trajetória
função suave, que passa por um conjunto de pontos. para cada uma das juntas, e elas devem
ser seguidas pelas juntas.
19
Para forçar o efetuador a seguir uma linha reta (ou outra forma geométrica) através do espaço, o movimento
desejado deve ser convertido a um conjunto equivalente de movimentos de junta.

Controle de trajetória
Cada tarefa executada por um robô pode ser considerada como uma série de operações, através das quais o
atuador é movido pelo braço do robô entre dados pontos e operando como programado nesses pontos.
O controle de trajetória pode ser dividido em dois métodos:

• Ponto-a- ponto;
• Controle contínuo.
Antes de descrever cada método, devemos definir alguns termos:
• Ponto: localização no espaço em direção ou através do qual o atuador é movido por uma operação
do braço do robô.
• Passo: uma parte do programa operacional do robô. A cada passo, o robô executa uma atividade.
• Série: uma coleção de passos que combinados formam o programa operacional do robô.

Controle da trajetória ponto-a-ponto


Neste tipo de controle, primeiramente definimos uma coleção de pontos para o robô, então construímos a
série e guardamos na memória do controlador.
Quando rodamos a série, o braço do robô vai se mover pelos vários pontos, de acordo com a ordem dos
passos na série, em cada passo o robô sabe para onde ir, mas não conhece a trajetória que traçara para
chegar a um certo ponto.
Robôs com controle ponto-a-ponto são geralmente usados em séries onde o atuador não precisa realizar
alguma função no decorrer do movimento, uma aplicação típica é solda em ponto, a maioria dos robôs do
mundo opera em controle ponto-a-ponto.

Controle da trajetória contínua


Esse método é mais complexo e caro do que o ponto-a-ponto, pois o braço deve se mover por uma trajetória
exatamente definida.
Os movimentos dos acionadores são coordenados pelo controlador do braço a cada instante, de tal forma
que a trajetória irá se assemelhar o Maximo possível com a programada.
A trajetória do robô pode ser definida por dois métodos, como veremos:

• Método A: nesta técnica, o braço do robô é movido manualmente pela trajetória desejada, enquanto
o controlador grava em sua memória as posições das articulações a cada instante, através das informações
fornecidas pelos encoder’s, quando a série é rodada mais tarde, o controlador comanda os acionadores de
acordo com a informação em sua memória, o braço então repete a trajetória precisamente.
• Método B: nesta técnica, a trajetória é definida por um determinado trajeto de movimento, tal como
uma linha reta ou um arco passando por dados pontos, o controlador calcula e coordena o movimento a cada
instante, o computador controlador deve ser mais rápido e ter mais memória do que o computador de controle
ponto – a – ponto, robôs com controle de trajetória continua são usados em serie onde o atuador deve
realizar algum trabalho enquanto o braço se move, uma aplicação típica é pintura com spray.

Controle de coordenada com o ambiente


O movimento de um braço de robô é baseado em movimento coordenado de todos seus acionadores, as
condições em que esses acionadores trabalham são diferentes, diferem na carga, no momento de inércia e
na velocidade, por exemplo; portanto, essas condições variáveis podem exigir um diferente planejamento de
controle para cada malha de controle.

20
• Em robôs modernos, cada malha de controle do acionador é controlada por um microcomputador; se
quisermos que o atuador se mova até determinado ponto, podemos ditar as coordenadas daquele ponto para
o computador controlador que irá coordenar os movimentos das várias articulações; o operador não precisa
se preocupar com o controle de cada eixo separadamente nem coordenar o movimento dos vários eixos, isso
é função do computador controlador.

Projeto de manipuladores e sensor


Embora os manipuladores sejam teoricamente dispositivos
universais aplicáveis em muitas situações, geralmente a
economia manda que a tarefa a ser executada pelo manipulador
tenha influência dominante no projeto mecânico do manipulador.
Junto com assuntos como tamanho, aceleração e capacidade de
carga, o projetista também tem que considerar o número de
juntas e o arranjo geométrico delas. Estas considerações têm
um impacto no tamanho e qualidade do espaço de trabalho do
manipulador, rigidez da estrutura de manipulador, e outros Figura 22 – O projeto mecânico do
atributos. Faz parte do projeto do manipulador assuntos que manipulador deve se preocupar com
envolvem a escolha e localização de atuadores, sistemas de assuntos como a escolha dos atuadores,
transmissão e sensores de posição (e às vezes de força) (Figura a localização deles, o sistema de
22). transmissão, a resistência/flexibilidade da
estrutura, a localização dos sensores e
muito mais
Controle linear de posição
Alguns manipuladores são equipados com motores de passo ou outros atuadores que podem executar uma
trajetória desejada diretamente. Porém, a grande maioria dos manipuladores é movida por atuadores que
fornecem uma força ou um torque para causar movimento dos segmentos. Neste caso, um algoritmo é
necessário para computar o torque que causará o movimento desejado. O problema de dinâmica é central ao
projeto de tais algoritmos, mas não são por si só uma solução. Uma preocupação primária de um sistema de
controle de posição é compensar automaticamente os erros quanto ao conhecimento dos parâmetros de um
sistema e suprimir distúrbios que tendem a perturbar o sistema afastando-o da trajetória desejada. Para
realizar isto, os sensores de posição e velocidade são monitorados pelo algoritmo de controle que computa
comandos de torque para os atuadores (Figura 21).

Controle não linear de posição


Embora sistemas de controle baseados em modelos lineares aproximados sejam populares em robôs
industriais atuais, é importante considerar a dinâmica completa e não linear dos manipuladores quando
sintetizamos algoritmos de controle. Atualmente, alguns robôs industriais que fazem uso de algoritmos de
controle não linear nos seus controladores estão sendo introduzidos. Estas técnicas de controle não linear
prometem um desempenho melhor do manipulador em relação os esquemas lineares mais simples.

Controle de força
A habilidade de um manipulador para controlar forças de contato
quando toca peças, ferramentas, ou trabalha uma superfície é de
grande importância em aplicações de manipuladores para muitas
tarefas do mundo real. Controle de força é complementar ao
controle posicional no sentido de que nós normalmente pensamos
que um ou outro como aplicável em uma certa situação. Quando um Figura 23 – Para que um manipulador
manipulador está se movendo para espaço livre, controle de posição deslize sobre uma superfície ao mesmo
sozinho faz sentido, desde que não haja nenhuma superfície para tempo que aplica uma força é necessário
reagir contra. Porém, quando um manipulador está tocando uma um controle híbrido de força e posição
superfície rígida, esquemas de controle de posição podem causar
forças excessivas de contato ou podem causar perda de contato com a superfície quando o a manutenção do
contato é desejada para alguma aplicação.
21
Considerando que os manipuladores raramente são restringidos pela superfícies de reação em todas as
direções simultaneamente é necessário usar um controle misto ou híbrido no qual algumas direções são
controladas por uma lei de controle de posição e as direções restantes são controladas por uma lei de
controle de força (Figura 23).

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.
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 de aprendizagem e manual pleno) a energização dos motores se dá através de
um dispositivo de habilitação (botão) localizado no teach pendant.
22
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.
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.

Aplicações Industriais de Robôs


A principal vantagem da utilização de robôs na industria se refere a sua capacidade de executa tarefas
repetitivas e com grande precisão (e 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 dos robôs se faz por questão de segurança.
Apresentamos a seguir algumas aplicações de robôs na industria.

Soldagem

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; Figura 24
•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.

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 Figura 25
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 Figura 26
e produção de eletrodomésticos.

23
Soldagem 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 conduzira 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;
•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 toma muito
perigosa para um ser humano devido aos gases tóxicos Figura 27
liberados.

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 tomam 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.

24
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, Figura 28
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.

Montagem
Figura 29
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 tinha.
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 desvantagem da 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.

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.

PROGRAMAÇÃO E SIMULAÇÃO DE ROBÔS


Com o crescente desenvolvimento dos processos de manufatura, surgiu a necessidade de linhas de produção
que permitissem maior flexibilidade na quantidade e na variedade de produtos a serem fabricados, A
indústria, com a globalização dos processos, sentiu a necessidade de romper com paradigmas, como, por
exemplo, de que toda a empresa deveria obter alta taxa de produtividade com uma pequena variedade de
produtos, característica da visão taylorista, e adequar-se às necessidades do mercado, mais especificamente
do cliente.
Nesse processo de mudança, surgiu o conceito de automação flexível, em que, basicamente, se otimiza o
arranjo físico existente no chão-de-fábrica para torná-lo o mais flexível possivel, frente à variação de produtos
a que a linha de produção está sujeita. Em outras palavras, com um arranjo fisico mais racional, pode-se
obter uma alta taxa de produtividade com uma-alta variedade de produtos.
Desde o início da automatização dos processos ficou clara a necessidade de uma sistemática que
possibilitasse a otimização das linhas de produção.

25
Ao analisar a estrutura de uma linha de produção, verificamos que algumas tarefas são repetitivas e que
perdemos um tempo considerável para programá-las (ou reprogramá-las); a busca da automatização (ou
semi-automatização) de determinadas tarefas passa pela definição de como replicar uma determinada tarefa
em outra máquina. A questão que surge aqui é: como replicar as tarefas executadas num robô, num parque
industrial com uma centena deles?
A resposta a essa pergunta nos leva a sir Charles Devol que desenvolveu uma forma de registrar uma
seqüência de movimentos, dando início à primeira geração de robôs. A partir de Devol começou-se a ter a
consciência do conceito de reprogramabilidade, que é atualmente a base do desenvolvimento dos robôs
comerciais existentes no mercado.
Quando se deseja programar um robô para executar determinada tarefa, um dos pontos importantes é o fato
de ser ou não possível executar uma seqüência específica de comandos. Programar um robô significa
descrever os procedimentos a serem tomados pelo manipulador sob a ação do controlador. Devido ao grande
número de controladores de robôs existentes e à crescente evolução dos sistemas de programação de alto
nível orientados ao usuário, faz-se necessária uma interface entre eles. Conforme a norma ISO TR 10562
(Manipulating lndustrial Robots - lntermediate Code for Robots (ICR)), um código intermediário deve ser
usado como uma interface entre programas de robô orientados ao usuário e controladores de robôs
industriais.

O problema básico da programação


Para um dado problema de programação há diversas formas de se implementar um algoritmo para solucioná-
lo; escolheremos uma em função do índice de desempenho adotado, de forma a minimizá-lo, ou que seja a
mais próxima do ideal. Eis ai a motivação da programação e, consequentemente, da programação de robôs.
Da busca constante para otimização das soluções, surgiram ao longo dos anos ferramentas computacionais
mais avançadas, que propiciam ao projetista uma maior flexibilidade no que tange à tarefa a ser executada.
Inicialmente as linguagens existentes se baseavam em comandos intuitivos do tipo move to, open tool, etc.,
que descreviam literalmente o tipo de ação a ser executada. Concomitantemente com tais desenvolvimentos,
os computadores, unidade básica no processamento dessas informações, experimentaram uma constante
evolução em termos de quantidade de informação, velocidade de processamento e disponibilidade de
periféricos.
A conjunção de fatores como evolução tecnológica dos microcomputadores, desenvolvimento de linguagens e
ferramentas de análise e programação possibilitounos atingir o estágio atual da automatização robotizada.
Nosso problema, no entanto, se reduz a apresentar de forma clara e objetiva o estado atual da programação
de robôs, propiciando ao leitor uma visão dos procedimentos adotados ao resolver um problema de
programação.

Métodos de programação
A pesquisa na indústria durante os últimos 20 anos tem sido direcionada para a criação de técnicas de
automação que aplicadas em lotes de produção de pequeno e médio porte, produzam resultados adequados
do ponto de vista custo-benefício. Isso culminou com o desenvolvimento das máquinas CNC, sistemas
flexíveis de manufatura, robôs móveis e braços manipuladores. O desenvolvimento desse último grupo tem
particular importância, pela complexidade intrínseca envolvida na habilidade de emular o comportamento da
cadeia de ligamentos do braço manipulador, de forma a replicar os movimentos do braço humano.
Os robôs industriais de hoje são mecanismos automatizados, projetados para movimentar peças ou
ferramentas sobre uma trajetória previamente estabelecida. Como mencionado anteriormente, um robô
deverá ser capaz de executar um conjunto de operações ou movimentos diferenciados se sua célula de
trabalho for alterada. O programa de controle do robô deverá ser capaz de adaptar-se às variações das
tarefas e ser flexível o suficiente para permitir uma seqüência dinâmica de operações. Pode-se avaliar a
flexibilidade de um robô pela extensão dos tipos de operação e de movimento que podem ser programados
no seu controlado r e pela facilidade de entrada ou alteração de um programa.
A programação pode ser feita de duas maneiras: on-line e qff-line. Na programação off-line utilizam-se
linguagens de programação criadas especialmente para robôs, tais como VAL, Wave, AML, MCL, e Sigla.

26
Esses programas são em geral depurados com o uso de simuladores. A Programação on-line, por outro, lado
faz uso geralmente de métodos de programação por ensino ou condução.
Os métodos atuais de programação de robôs industriais têm sido satisfatórios onde a proporção entre o
tempo de programação e de produção é pequeno e também quando a complexidade da aplicação não é tão
exigida.
A programação off-line pode ser definida nesse contexto como o processo pelo qual a programação dos
robôs é desenvolvida, parcial ou completamente, sem a necessidade do uso do robô.

Programação on-line
Podemos definir programação on-line como a utilização de métodos de programação "por ensino" para aplicar
um programa de controle no controlador do robô. O programador conduz o robô por uma seqüência de
posições desejadas (via teachpendant ou dispositivo mestre-escravo).
Nesse processo de "ensino", envolvemos as tarefas de identificação dos pontos, edição e repetição do trajeto
ensinado. Programas de edição adicionam informações relevantes ao programa de controle, bem como aos
equipamentos de produção associados. O uso de programas de edição nos permite um meio de avaliar e
corrigir programas de controle existente ou ajustar pontos quando uma tarefa é codificada.
Durante esse processo, o programador necessita de funcionalidades que podem incluir repetição do
programa para frente e para trás, operações passo a passo, seleção de velocidade de execução entre outras,
que facilitam a depuração do programa. Necessariamente, essa abordagem utiliza o robô para a programação
e, de alguma forma, é dependente do algo ritmo de controle usado para movimentação entre os pontos da
trajetória.
Três algoritmos básicos de controle são usualmente utilizados: movimento ponto a ponto, contínuo e o
controle de trajetória.

• Ponto a ponto: Robôs com esse tipo de controle movem-se de uma posição inicial a outra final, sem
que posições intermediárias sejam inseridas na programação da trajetória. Geralmente cada eixo se move até
atingir a posição desejada.
• Movimento contfnuo: Esses robôs se movimentam através de pontos com pequenos incrementos
entre si, armazenados ao longo de uma trajetória previamente percorrida. As posições de cada eixo são
gravadas pela unidade de controle a intervalos de tempo constantes recolhendo dados dos sensores de
posição durante a movimentação do robô.
• Controle de trajetória: Envolve o controle coordenado de todas as juntas, para percorrer uma
trajetória desejada ao longo de dois pontos. Nesse método. os eixos se movem suave e proporcionalmente
para gerar o trajeto de controle especificado.
Em programação on-line, duas abordagens básicas são tomadas para passar ao robô uma trajetória
desejada: métodos de programação por aprendizagem e por linguagens textuais.

Programação por aprendizagem


Métodos de programação por aprendizagem exigem que o programador conduza o manipulador, movendo-o
fisicamente de modo a realizar as manobras que ele deve apreender. Esse método é mais utilizado em
tarefas que necessitam dé uma trajetória contínua, como pintura por pulverização, corte a jato de água,
aplicação de selante ou solda a arco.
A programação por aprendizagem envolve o uso de um joystick, um teclado comum ou um teclado portátil
chamado de teach-box para guiar o robô ao longo de uma trajetória planejada. Se o programa (ou teach-box)
especificar uma trajetória, contínua ou ponto a ponto, da extremidade de robô usando as coordenadas de
posição e orientação referenciadas a um sistema cartesiano de coordenadas inercial, essas informações são
enviadas ao controlador, que as converte em coordenadas de junta, produzindo desta forma os movimentos
desejados.

27
Programação por condução
O aprendizado por condução também é utilizado no modo ponto a ponto, em que o robô grava apenas certos
pontos da trajetória, deslocando-se posteriormente através deles em linha reta (ou por trajetos circulares, se
assim for solicitado).
Nesse tipo de programação, o operador move fisicamente o efetuador final pelo trajeto desejado. Para
trajetórias contínuas, os sensores do braço enviam continuamente informação sobre a posição de cada junta
para o controlado r do robô à medida que o braço vai se movimentando. Para trajetórias ponto a ponto, a
informação de posição da junta é enviada apenas nos pontos da trajetória onde o operador especificamente a
posiciona. Nesses casos, uma vez gravados na memória do computador, os pontos podem ser chamados a
qualquer tempo para reprodução.

• Ambos os métodos de programação descritos envolvem a tarefa de integração entre três fatores
básicos:
• as coordenadas dos pontos devem ser identificadas e armazenadas na unidade de controle; os
pontos podem ser armazenados como coordenadas individuais das juntas ou pelas coordenadas geométricas
da extremidade do robô;
• as funções a serem executadas nos pontos especificas devem ser identificadas e gravadas; por
exemplo, para cada trajetória, podemos identificar a velocidade de avanço, fluxo de selante a ser aplicado,
etc;
• os pontos e dados funcionais são organizados em seqüências lógicas; isto inclui quando uma dada
trajetória deve ser estabelecida ou quando várias condições devem ser checadas.
Esse três fatores são integrados no processo de aprendizagem e não existem em separado, como passos de
programação.

Programação via teach-pendant


A programação on-line necessariamente faz uso de um
teclado portátil chamado teach-pendant, para guiar o
robô ao longo de uma trajetória. Podemos tomar como
exemplo a Fig. 6.1. Neste exemplo, o robô deverá
executar a tarefa de pegar a peça na esteira de entrada e
colocá-la no centro de usinagem; depois do
processamento, deve retirar a peça e colocá-Ia na esteira
de saída. Nessa tarefa, faz-se necessária a integração do
robô com as esteiras, e o operador deverá executar uma Figura 6.1 – Célula genérica a ser programada.
seqüência pré-determinada de operações, enumerados a seguir.
1. Mover o braço do robô até que a garra esteja exatamente acima da peça, na esteira de chegada; abrir
então a garra.
2. Alinhar o eixo da garra com o da peça a ser transportada.
3. Armazenar o programa apertando a tecla correspondente a "gravar" no teach-pendant.
4. Baixar a garra até que ela esteja centrada com o objeto a ser pinçado. Armazenar esse ponto.
5. Fechar a garra para que a peça seja levantada. Armazenar esse ponto.
6. Levantar o braço, de forma a liberar o espaço de trabalho, e alinhá-Io ao nível do centro de usinagem.
Armazenar esse ponto.
7. Aproximar a garra do centro de usínagem e posicioná-la alinhada com o dispositivo de fixação do
centro de usínagem. Armazenar esse ponto.
8. Abrir a garra e liberar a peça.
9. Elevar o braço até liberar o espaço de trabalho, de forma a retirar o braço do robô.
10. Retraír o braço do robô até uma posíção intermedíária. Armazenar esse ponto.
11. Aguardar o sinal do centro de usinagem e retirar a peça.
12. Rotacionar o braço até a esteira de saída e posicioná-Io sobre a superfície da esteira. Armazenar esse
ponto.
13. Baixar o braço até a superfície da esteira. Armazenar esse ponto.
28
14. Abrir a garra e liberar a peça. Armazenar esse ponto.
15. Levantar o braço até liberar o espaço de trabalho do robô. Armazenar esse ponto.
16. Voltar à posição de equilíbrio e reiniciar o ciclo.
Os passos listados podem variar de acordo com o arranjo fisico da célula e servem para prover o controlado r
com as coordenadas dos pontos utilizados no programa. Cabe ao operador entrar, via teach-pendant, com os
parâmetros necessários para a correta sinalização entre o robô e os periféricos (nesse caso esteiras e centro
de usinagem).

Fig 6.4 Fig 6.3 Fig 6.2


O teclado e o display da unidade de controle são freqüentemente usados em conjunto com um teach-pendant
padrão. Em geral existem três tipos: genérico (Fig. 6.2), com botões pictográficos (Fig. 6.3) e com display (Fig.
6.4)

Programação off-line
Os desenvolvimentos na tecnologia de robôs, tanto em sqftware quanto em hardware, estão viabilizando cada
vez mais a programação W-tine. Esses desenvolvimentos incluem o uso de controladores mais sofisticados,
maior precisão no posicionamento e a sensores mais avançados.
A programação on-tine de um robô, de um modo geral, pode consumir muito tempo, evoluindo de modo
desproporcional ao aumento da complexidade das tarefas; conseqüentemente, quando o robô fica fora da
linha de produção, o tempo gasto na programação pode prejudicar substancialmente a sua utilidade. Em
muitas aplicações que envolvem processos de produção em massa, como soldagem a ponto em linhas de
produção automobilísticas, os requisitos temporaís de reprogramação devem ser minimizados ao máximo.
Podemos concluir que, para posibilitar a aplicação de robôs em lotes de produção pequenos e médios. onde
os tempos envolvidos podem ser cruciais. a programação q[ftine é altamente recomendada.
O incremento na complexidade das aplicações em robótica torna as vantagens da programação w-tine mais
atrativas. Essas vantagens podem ser classificadas como segue.

• Redução do tempo ocioso: O robô pode ser mantido na linha de produção enquanto a próxima tarefa
está sendo programada. Isto acrescenta maior flexibilidade aos robôs.
• Ambientes potencialmente perigosos: Redução no tempo de permanência do operador próximo ao
robô. o que diminui o risco de acidentes por comportamento anormal do equipamento.
• Sistema simplificado de programação: Pode-se usar a forma off-line para programar uma grande
variedade de robôs, sem a necessidade de se conhecerem as peculiaridades de cada controlador. Reduz-se
assim o índice de reciclagem dos programadores.
• Integração com sistemas CAD/CAM: Habilita a interface com o banco de dados de peças,
centralizando a programação de robôs com esses sistemas; possibilita o acesso a outras funcionalidades.
como, por exemplo. planejamento e controle.
• Depuração de programas: Sistemas de programação off-line com CAD/CAM integrados podem
produzir um modelo da planta (robô + célula de trabalho) que pode ser usado para detectar colisões dentro do
espaço de trabalho. possibilitando determinados movimentos e evitando assim danos ao equipamento.

Limitações da programação off-line


A programação off-line, como já foi dito aqui. necessita obrigatoriamente da existência de um modelo teórico
do robô e do ambiente; o objetivo é usar esse modelo para simular o comportamento real do robô. A
implementação da programação off-line encontra principalmente três problemas:

29
• dificuldade em desenvolver um sistema de programação generalizado que seja independente do robô
e de suas aplicações;
• para reduzir a incompatibilidade entre robôs e sistemas de programação. Faz-se necessário definir
padrões para as interfaces;
• programas gerados off-line devem levar em conta os erros e imprecisões entre o modelo idealizado e
o mundo real.

Devido às imprecisões do modelo teórico idealizado e a variáveis inerentes ao processo no mundo real,
seqüências simuladas geralmente não atingem o objetivo de controlar o robô sem erros. Na prática, o robô
não atinge o local calculado pelo modelo ou a ferramenta não é posicionada precisamente como definido no
modelo. Essas discrepância podem ser atribuídas aos seguintes fatores destacados a seguir

ROBÔ
• Falta de precisão na tolerância da montagem dos seus componentes, provocando o aumento na
variação do off-set das juntas. Pequenos erros na estrutura são amplificados e produzem grandes erros de
posicionamento no efetuador.
• Falta de rigidez na estrutura do robô. Pode causar grandes erros, quando este está sujeito a
condições severas de carga.
• Incompatibilidade entre robôs do mesmo modelo. Devido a diferenças no inicialização do sistema de
controle de cada robô, a mesma programação off-line pode apresentar pequenos erros.
CONTROLADOR
• Resolução insuficiente do controlador. A resolução especifica o menor incremento de movimento
atingível pelo controlador.
• Precisão numérica do controlador: É afetado pelo número de parâmetros envolvidos e tamanho das
palavras de comando usadas no controlador; além da eficiência do algoritmo usado para os propósitos de
controle.
AMBIENTE
• Dificuldade na determinação precisa dos objetos (robôs, máquinas, peças) com relação ao sistema de
coordenadas generalizadas.
• Alteraçôes no ambiente, como a temperatura, podem causar efeitos adversos no desempenho do
robô

MODELO E SISTEMA DE PROGRAMAÇÃO


• A precisão numérica do processador do computador.
• A qualidade dos dados do modelo real. Isso determina a precisão final do programa gerado em off-
line.
A composição desses erros através de todo o sistema de programação off-line pode levar a discrepâncias de
magnitude significante. Para que a programação off-line se torne uma ferramenta prática, essa magnitude
deve ser reduzida a nível em que ajustes do posicionamento final possam ser executados automaticamente.
Na programação off-line, um programa pode estar contido em um disque te ou ser transmitido
eletronicamente (via rede); pode ser parte de uma biblioteca completa de programas desenvolvidos para
aquele modelo de robô, embora não tenha sido desenvolvido especificamente naquele robô.

Linguagens de programação de robôs industriais


Atualmente, após a padronização pela ISO, as linguagens de programação para comunicação homem-
máquina já são bem conhecidas; além disso, temos também a padronização da interface máquina-máquina.
Uma condição importante para as linguagens de programação da inteface-homem-máquina é que elas
devem, necessariamente, ser interativas. Hoje existem duas correntes de pensamento na estruturação da
interface homem-máquina. Uma defende que a linguagem seja simples, para ser usada pelos próprios
operadores sem um treinamento computacional específico.

30
A outra defende que a linguagem deve prover requisitos corr.putacionais poderosos e que somente técnicos
especialmente treinados devem desenvolver a programação. Um exemplo dássico da primeira filosofia é a
linguagem Arla, da ABB; outro exemplo, da segunda corrente, é a linguagem Karel da Fanuc.
Existem hoje centenas de linguagens de robôs disponíveis comercialmente. Muitas delas baseadas em
linguagens clássicas como pascal, C, Modula-2, Basic, e Assembler. As linguagens de programacão podem
ser classificadas de acordo com o sistema de referência do modelo, a estrutura de controle utilizada, o tipo de
especificação de movimento, a interface com os dispositivos externos e os periféricos a serem utilizados.
Segundo GONG (1998), as linguagens de programação podem ser classificados em:

• linguagens de movimento ponto-a-ponto;


• linguagens de movimentação básica, linguagem de baixo nível (Assembly); linguagem de
programação não-estruturada de alto nível;
• linguagem de programação estruturada de alto nível;
• linguagens do tipo NC (Numeric Command).

Conforme a norma ISO TR 10562, a linguagem ICR é um pseudocódigo de baixo nível com elementos
básicos suficientes para permitir que qualquer linguagem de alto nível seja traduzida para ela. Para que isso
seja possivel, devem ser desenvolvidos compiladores adequados. Cada tradutor irá fazer uso das
capacidades da ICR do modo que lhe for mais conveniente, a fim de satisfazer ao usuário final. Apenas a
título de exemplo, são descritas algumas técnicas para implememação de linguagens comuns.

Linguagens tipo Basic


Caracterizam-se por um algoritmo linear e simples, sem compilação em módulos separados, sem abstração
de dados ou algo ritmos; existem apenas tipos de dados prédefinidos, e as chamadas às sub-rotinas não
utilizam passagem de argumentos. Esse tipo de linguagem geralmente é interpretado, traduzido para ICR e
somente depois executado, linha por linha. Como as linhas de código são sintaticamente independentes, esse
método simples de interpretação não causa problemas.

Linguagens tipo Pascal


Esse tipo de linguagem caracteriza-se pelo encorajamento à programação estruturada. As funções e
procedimentos podem ter argumentos e as variáveis podem ser globais ou locais (a uma função ou
procedimento). Recursão é permitida e facilmente implementada e, em alguns casos (Modula 2 e ADA) , a
programação pode ser modular. Nesse último caso, um ligado r deve providenciar a resolução das referências
externas e converter os módulos em um único executável ICR. A linguagem ICR não oferece suporte nativo
para ligação dinâmica. Se for necessário utilizar essa técnica, o ligador dinâmico deve ser implementado de
forma independente.
A passagem de parâmetros deve ser feita por meio da pilha da esquerda para a direita, ou seja, o primeiro
elemento a ser empurrado para a pilha será aquele mais à esquerda (na linguagem original) e no topo da
pilha estará aquele mais à direita. Deve-se prestar especial atenção à estruturação dos blocos da linguagem,
uma vez que o espaço de pilha reservado para as variáveis depende disso. Como a ICR não faz distinção
entre funções e procedimentos, a pilha deve ser esvaziada ao final das chamadas de procedimentos.

Linguagens tipo C
Caracterizam-se principalmente pela possibilidade de declaração de variáveis na abertura de qualquer bloco
(delimitado por [ ], em C) e pela capacidade de se usarem matrizes ou ponteiros de forma indistinta. A
primeira característica pode ser implementada diretamente com os comandos BLKBEG e DECLVAR, mas a
segunda apresenta problemas, pois a ICR prefere que os dados tenham tipos explícitos. Recomenda-se fazer
a atribuição de tipo, sempre que não for realmente impossível.

31
Linguagens do tipo Lisp
Têm como característica básica a habilidade de trabalhar com listas encadeadas e a intercambiabilidade de
dados e programas. Esse tipo de linguagem requer um acurado gerenciamento de memória. Apesar de ser
possivel escrever compiladores para essas linguagens, recomenda-se consulta a literatura especifica.

Linguagens tipo Forth


Pelo fato de utilizar basicamente operações baseadas na pilha e pela semelhança estrutural, esse tipo de
linguagem não apresenta maiores problemas de implementação. A única ressalva fica por conta da
implementação de múltiplas pilhas.

Linguagens orientadas a objeto


Linguagens desse tipo estão fora dos objetivos do nosso texto e não têm grande utilidade na área aplicada de
robótica. Como a ICR possui suporte a todos os tipos de dados comuns em robótica e suporte às operações a
eles associadas, pode-se geralmente cair em alguns dos casos anteriores.
Muitos robôs industriais são amplamente utilizados em processos de manufatura, como tarefas de montagem,
manipulação de materiais, soldagem a arco/ponto, pintura, carga e descarga de Centros de Usinagem e em
algumas aplicações especiais, como exploração submarina e pesquisa de próteses para deficientes. Estima-
se que haja no mundo cerca de cem fabricantes de robôs. A Tab. 6.1 lista alguns desses fabricantes e suas
respectivas linguagens de programação.
Tabela 6.1 – Fabricantes de robos e suas linguagens de programação
Fabricante Linguagens de Programação
ABB Arla, Rapid
Fanuc KAREL
Reiss IRL
Staubli V+
Adept V+
Comau PDL2
Eshed ACL
IBM AML/2
Kawasaki AS
Motoman Inform 1, Inform 2
Nachi SLIM
Panasonic Parl 1 , Parl 2
PSI PSI
Sansung FARL-II
Seiko DARL 4
Toyota TL-1
TQ TQ

Simulação de robôs
Hoje em dia os robôs têm uma larga aplicação na indústria e na manufatura. Exemplo disso são os vários
programas de desenvolvimento lançados nacional e internacionalmente, como, por exemplo: Recope (Grupo
de Automação e Manufatura), Espirit, Brite e Eureka, grandes programas de pesquisa que, entre suas linhas,
focalizam a robótica como um de seus. temas.
Os principais esforços no desenvolvimento e aplicações da robótica sem dúvida recaem na indústria
automobilistica. Os benefícios da auto mação flexível foram incorporados pesadamente nos processos de
manufatura automotiva auto matizada. As indústrias automotivas têm encorajado a utilização de robôs em
outras áreas, estimulando seus fornecedores a utilizar a mesma tecnologia.
Muitos robôs comerciais têm largo uso em tarefas de montagem e manufatura, como manipulação de
material, soldagem a arco/ponto, montagem de partes, pintura, carga e descarga, etc.
As técnicas de CAD encontraram extensivo uso nos projeto de engenharia, auxiliando o usuário em
processos que envolvam desenvolvimento de diagramas e desenhos de alta complexidade.
32
Entretanto, no que diz respeito a processos que envolvam movimentação de peças, há necessidade de um
estudo mais aprofundado através de simulação.
A extensão das técnicas de CAD/CAM também é desejável no domínio da robótica. Entretanto a cinemática
envolvida nos movimentos do robô é consideravelmente mais complexa do que a relacionada com os
movimentos xyz dos centros de usinagem e com os movimentos do efetuador e das juntas do robô. Some-se
a isso a necessidade de utilizar de um ambiente capaz de simular úma grande variedade de robôs e tipos de
configurações disponíveis no mercado.
Apesar dessas dificuldades, a simulação veio para prover um ambiente gráfico capaz de gerar uma interação
suave com as diversas linguagens de programação de robôs existentes no mercado. Benefícios como
detecção de colisões em off-line, avaliação e otimização de seqüências de programas sem necessidade da
presença física do manipulador têm impulsionado o desenvolvimento das pesquisa em simulação de robôs.
Em resumo, a programação off-line promove uma interligação essencial para sistemas CAO/CAM. O sucesso
dessa integração pode ser evidenciado pela ampla difusão de simuladores comerciais e pela diminuição do
tempo de implementação de sistemas flexíveis de manufatura na indústria.

Simuladores comerciais
O primeiro simulador comercial que possibilitou a simulação de robôs foi o Grasp, desenvolvido pela
Universidade de Nottingham num período de sete anos. Utilizado por diversas universidades e instituições de
ensino, tinha a inconveniência de não poder modelar estruturas cinemáticas não-seriadas.
O Robographics foi desenvolvido pela Computervision, uma companhia bem conhecida dos desenvolvedores
de pacotes comerciais de CAD; utilizado pela Austin-Rover e Unimation. A McAuto CAD, uma divisão da
McDonell-Douglas, comercializa uma série de pacotes para simulação de robôs, usados pela Cincinatti-
Millacron. O programa Place, é usado para avaliação do arranjo físico da célula robotizada. O Build é usado
para modelagem e estudos dinâmicos tridimencionais. O Command é usado para programação off-line e o
Adjust, para a calibração do robô.
A Technomatics comercializa o Robcad. Esse pacote é utilizado por muitas montadoras na europa (Ford,
BMW, Volkswagen e Opel). O Igrip, da Deneb, grupo Dassault Systems, também é largamente utilizado em
muitas empresas. Semelhante ao Robcad o Igrip, baseia-se em uma estação gráfica e opera no ambiente do
programa CAE Catia, que vem incluído no pacote.
O software Workspace, da Flow Technologies, é um ambiente desenvolvido para plataforma PC que possui
interface gráfica de simulação capaz de gerar um modelo do ambiente, propiciando a geração e interpretação
de programas em off-line.
Um grande número de outros simuladores está disponível comercialmente, mas tem um pequeno impacto no
mercado.

Softwares educacionais
Para modelagem, simulação, programação off-line, detecção de colisões e análise do arranjo físico, as
indústrias montadoras de robôs utilizam softwares que operam em estações de trabalho que demandam alto
investimento em equipamentos.
No entanto existem algumas opções comerciais com diferentes capacidades e disponíveis para pesquisa:

• Xanimate - Software educacional para simulação gráfica de robôs, desenvolvido pela University Ohio.
• ROBÔ_SIM - Ambiente de simulação para PC desenvolvido para o Matlab. O pacote consiste em
rotinas capazes de desempenhar cálculos específicos (funções para cinemática direta e inversa, dinâmica do
manipulador, planejamento de trajetória, controle e simulação).
• Simderela - Software de simulação para ambiente Uníx.
• RobLib - Software de simulação para Windows, desenvolvido na Faculdade de Engenharia da
Universidade do Porto. Capacidade de modelagem de robôs com dois graus de liberdade

33
Exemplos
Apresentamos dois exemplos de geração de código de um robô industrial para aplicação em soldagem.
Linguagem RAPID - ABB
%%%
VERSION:l
LANGUAGE:ENGLISH
%%%
MODULE LIVRO_RAPID

VAR robtarget TPl:=[[1144.53,-


0.00,1287.05], [O.70701,0.00000,0.70719,0.00000J, [0,0,0,0], [9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]];
VAR robtarget WELD_BASOGP2:=[[686.71,-100.00,630.08], [0.24991,0.06698,0.93303,- O . 25000 J , [O, -1, O, O] , [9E+0 9, 9E+0 9, 9E+ O 9, 9E+09, 9E+09,
9E+09] ] ;
VAR robtarget WELD_POLGPl:=[[786.71,-100.00,530.08], [0.24993,0.06698,0.93303,O . 24999] , [O, -1, O, O] , [9E+0 9, 9E+0 9,9;::+09, 9E+09, 9E+09, 9E+0 9] ] ;
VAR robtarget TP2:=[[786.71,-100.00,530.08], [0.24994,0.06698,0.93302,O . 24999 J , [O, -1, O, O] , [9 E+O 9, 9E+0 9,9;::+09, 9E+09, 9E+09, 9E+0 9] ] ;
VAR robtarget WELD_POLGP2:=[[786.71,100.00,530.08], [0.24995,0.06698,0.93302,O . 24999] , [O, -1, O, O] , [9 E+O 9, 9E+0 9,9;::+09, 9E+09, 9E+09, 9E+0 9] ] ;
VAR robtarget WELD_POLGP4:=[[986.7c,100.00,530.08], [0.24995,- O . 93302, O . 06698, O . 250 O O] , [-1, O, 1, O: , [9E+09, 9E+09, 9E+09 , 9 E+09, 9E+09 ,
9E+09 J ] ;
VAR robtarget WELD_POLGP3: = [ [886.71,200.00,53 0.08] , [0.00000, O .70707, O . 612 3 9, O . 35356] , [-1, O, 1, O] , [9 E+O 9,9 E+O 9,9;::+09, 9E+09, 9E+09,
9E+09] ] ;
VAR robtarget WELD_POLGP5:=[[986.71,-100.00,530.08], [0.24998,- O .933 O 1, O . 06698, O . 24999] , [-1, O, 1, O] , [9E+09, 9E+09, 9 E+O 9, 9E+0 9, 9E+09 ,
9E+0 9] ] ;
VAR robtarget TP3:=[[986.71,-100.00,530.C8], [0.2-1999,-0.93301,0.06698,0.24999], [1, O, 1, O] , [9 E+09, 9E+09, 9 E+09, 9E+09, 92+ O 9, 9E+09] ] ;
VAR robtarget WELD_BASOGP3:=[[1086.71,-10J.00,630.08], [0.25000,- O . 933 O 1, O . 06698, O . 24999] , [-1, O, 1, O} , [9 E+C 9,9 E+09, 9 E+09 , 9 E+O 9, 9
E+O 9, 9E+ 09] ] ;

!! LANGUAGE RAPID
!! MEMORY 32768
!! TEACHPOINTFILE LIVRO_RAPID.PR#
!! ROBOT IRB1400
PERS tooldata TOCHA:=[TRUE, [[-92.05,- O . 00,189.53] , [0.99999, O. 00000, O . 0000 O, O . COOOO] ] . [O, [O, O, O] , [1, O, O, O) , O, O, O] ] ;
PROC main{)
MoveJ [[ 1144.53, -0.00,1287.05] , [0.70710, 0.00000, 0.70710, 0.00000] , [-1, 0,- 1, O] , [9E+0 9, 9E+0 9, 9E+0 9, 9E+09, 9E+0 9, 9 E+09 ] ] , \V: = 1 000, fine \ Z : =
1 O O, TOCHA; MoveJ WELD_BASOGP2,vmax\V:=220,fine\Z:=0,TOCHA;
MoveL WELD_POLGPl,vmax\V:=220,fine\Z:=0,TOCHA;

!! ARCWELDON 100,10
MoveL TP2,vmax\V:=220,fine\Z:=0,TOCHA;
MoveL WELD_POLGP2,vmax\V:=220,fine\Z:=200,TOCHA;
MoveC WELD_POLGP3,WELD_POLGP4,vmax\V:=220,fine\Z:=200,TOCHA; MoveL WELD_POLGP5,vmax\V:=220, fine\Z:=O,TOCHA;
!! ARCWELDOFF
MoveL TP3,vmax\V:=220,fine\Z:=0,TOCHA;
MoveL WELD_BASOGP3,vmax\V:=22G,fine\Z:=0,TOCHA;
MoveJ [[ 1144 . 53 , - O . O O , 1287 . 05 J , [O. 7 O 71 O , O . O O O O O , O . 7 07 1 O , O . O O O O O J , [-1, O , 1, O] , [9E+09, 9E+09, 9E+09, 9E+09, 9E+09,
9E+09]] , \V: =1000, fine\
Z:=100,TOCHA;
ENDPROC
ENDMODULE

LINGUAGEM KAREL - FANUC


PROGRAM LIVRO_KAREL
--! LANGUAGE KAREL 2
----! MEMORY 8192
--! ROBOT IRB1400
-- TEACHPOINT DECLARATIONS
VAR
WELD_BASOGP3: POSITION
WELD_POLGP5: POSITION
WELD_POLGP4: POSITION
WELD_POLGP3: POSITION
WELD_POLGP2: POSITION
WELD_POLGP1: POSITION
WELD_BASOGP2: POSITION
TP1 : POSITION

BEGIN
$UTOOL=POS(154.8749,-O,67.6648,90,O,90,' ')
$USEMAXACCEL=TRUE
%INCLUDE LIVRO#
WITH $MOTYPE=JOINT
MOVE TO $HOME:$UTOOL
WITH $MOTYPE=Joint, $TERMTYPE=FINE, $SPEED=lOO
MOVE TO WELD_BASOGP2
WITH $MOTYPE=Joint, $TERMTYPE=FINE, $SPEED=lOO
MOVE TO WELD_POLGP1
--! ARCWELDON 100.0,30
WITH $MOTYPE=Linear, $TERMTYPE=FINE, $SPEED=lOO

34
MOVE TO WELD_POLGP2
WITH $MOTYPE=Linear, $TERMTYPE=FINE, $SPEED=lOO
MOVE TO WELD_POLGP3
WITH $MOTYPE=Linear, $TERMTYPE=FINE, $SPEED=lOO
MOVE TO WELD_POLGP4
WITH $MOTYPE=Linear, $TERMTYPE=FINE, $SPEED=lOO
MOVE TO WELD_POLGP5
--! ARCWELDOFF
WITH $MOTYPE=Linear, $TERMTíPE=FINE, $SPEED=lOO
MOVE TO WELD_BASOGP3
WITH $MOTYPE=JOINT
MOVE TO $HOME:$UTOOL
END LIVRO_KAREL

Referências Bibliográficas
Básicas
[01] ROMANO, V.Ferreira e outros. Robótica Industrial: Aplicação na industrial de manufatura e de processos.
1a Edição, Edgard-Blücher LTDA, São Paulo, 2002.
[02] GROOVER, M.P.; WEISS, M.; NAGEL, R.N.; ODREY, N.G. Robótica: Tecnologia e programação.
1a Edição, McGraw-Hill, LTDA, São Paulo, 1989.
[03] ROSÁRIO, J.M.; Princípios de mecatrônica. Prentice Hall, São Paulo, 2005
[04] LIMA II, Eduardo J.;Arnaldo, Marise C.; Araújo, Helder L.- Apostila Robótica Básica – SENAI Cimatec, Salvador,
2003
Complementares
Revista periódica Mecatrônica Atual www.mecatronicaatual.com.br
Revista periódica Mecatrônica Fácil www.mecatronicafacil.com.br
wikipedia http://pt.wikipedia.org/wiki/Robot
mecanicaonline http://www.mecanicaonline.com.br
Time line of Robotics http://www.thocp.net/reference/robotics/robotics.html
Robotica Online http://www.roboticsonline.com/index.cfm
Intelligent Robotics & Automation
http://www.robotics.ece.ntua.gr/
Laboratory
www.swrtec.de/swrtec/industrial
Empresas Fabricantes de Robôs:
ABB http://www.br.abb.com/
Fanuc www.fanucrobotics.com/
Staubli www.staubli.com/web/robot/division.nsf
Adept www.adept.com/
Comau www.comau.com/index.jsp
Eshed www.intelitek.com
IBM http://www-03.ibm.com/ibm/history/exhibits/robotics/robotics_1.html
Kawasaki http://www.kawasakirobotics.com/
Kuka http://www.kuka.com/usa/en/
Motoman http://www.motoman.com/
Nachi www.nachirobotics.com
Panasonic http://www.panasonicfa.com/cgi-bin/productline.cgi?prodline=welding%20and%20robotics
Seiko http://www.seikorobots.com/
Toyota http://breakingnewsblog.com/robotics/archives/toyota_launches_robot_workforce/
Yamaha http://www.yamaharobotics.com/business/robot/index.html

Anexo I
O ROBÔ DIDÁTICO - SCORBOT - ER III
A palavra robô vem da palavra tcheca "Robota", que significa trabalho escravo.
Os robôs didáticos têm sido muito utilizados na orientação de estudantes e operários responsáveis pela
operação e manutenção de robôs, devido a robótica se apresentar como um dos campos de maior avanço
tecnológico da atualidade.
35
Embora eles possuam algumas das principais características dos robôs industriais, são mais baratos,
menores e com baixo nível de desempenho. Similares aos industriais, os robôs didáticos são compostos por:

• Braço mecânico: Estrutura metálica de vínculos, junções e atuador com garra.


• Sistema de acionamento: Pode ser pneumático, hidráulico ou elétrico (motor DC).
• Realimentação: Conjunto de sensores que fornece ao sistema supervisório as informações sobre o
estado de vínculos em movimento.
• Computador: Responsável pelo controle eletrônico do robô.
• Fonte de energia: Providencia energia para o controlador e potência para todos componentes.

O quadro a seguir apresenta alguns aspectos comparativos entre o robô didático e o industrial:
Robô Industrial Robô Didático
Carga útil 10 a 1000 kg alguns Kg
Precisão 10-2 mm 10-1 mm
Funcionamento meses ininterruptos menor tempo
Área de trabalho vários metros dezenas de cm
Software muitos poucos
Uma das grandes vantagens dos robôs didáticos é a possibilidade de desmontar para reconhecer peças
internas.

Segurança com o robô didático


A presença de robôs no ambiente industrial pode provocar riscos à segurança dos operários não
familiarizados, pois eles são mais rápidos que outras máquinas.

A segurança humana em ambientes com robôs industriais


Colisões com robôs em movimento ou suas ferramentas podem causar ferimentos graves ao ser humano,
devendo ser adotadas precauções tais como:
Não ultrapassar o isolamento ao redor de um robô em movimento;
• Prestar atenção na sinalização local;
• Não colocar as mãos na parte interna da garra do robô;
• Tomar cuidado ao tocar o controlador do robô e seu sistema de energia.

O isolamento de robôs de pessoas não autorizadas é conveniente, e normalmente utilizam-se mecanismos


que interrompem o funcionamento do robô instantaneamente caso a área de segurança seja invadida.

Segurança de um robô industrial


Os robôs e outras máquinas comuns ao seu ambiente de trabalho são equipamentos de alto custo, de tal
forma que seus operadores devem ser pessoas familiarizadas com sua operação.

Segurança em ambientes de robôs didáticos


Os robôs didáticos são menores e mais lentos que os industriais, tendo uma imagem inofensiva a ponto de
que seus usuários sejam descuidados. Para evitar que ocorra acidentes no aprendizado deve-se tomar
algumas precauções:
• Não se aproximar demais do robô em movimento;
• Não colocar as mãos no mecanismo interno;
• Não abrir a tampa do controlador sem autorização;
• Certificar-se que o cabo de alimentação esteja desconectado antes de abrir o controlador ou mesmo
trocar os fusíveis;
• Certificar-se que a chave de alimentação esteja desligada antes de conectar entradas e saídas.

36
Segurança do robô didático
Devido ao fato do robô didático ser mais sensível que os industriais devemos tomar alguns cuidados para
aumentar sua vida útil:
• Prender o robô a uma base com no mínimo 3 parafusos
• Certificar-se que o robô tenha espaço suficiente para movimentar-se;
• Não mover o robô a força;
• Não colocar cargas superiores a 1 Kg no braço do robô;
• Certificar-se que os objetos pesados não corram risco de deslizar das garras;
• Não apertar bruscamente os objetos na garra;
• Não conectar qualquer tensão aos conectores de entrada do
robô;
• Não conectar tensões maiores que 12 V aos conectores de
saídas, ou fazer conexões que resultem em corrente maior que 10 A.

Componentes do robô didático Scorbot - er III


O robô didático, como mostra a figura 1, é composto por duas sessões
principais:
• Sistema do braço mecânico: Ele está ligado a base do robô e
tem uma garra para manipular objetos. Existem seis motores DC
instalados no braço operando em loop fechado através de um
codificador montado em cada motor. Fig. 1 - O robô didático Scorbot ERIII
• Controlador: Unidade responsável pela operação do braço
mecânico. É composto por um microprocessador que supervisiona a
operação do robô, memória e componentes lógicos. O controlador recebe comandos de um computador
externo e os traduz em instruções de operação para o braço mecânico.
O controlador também possui fontes de alimentação que fornece energia para ele mesmo e para os motores
do braço do robô.
O SCORBOT-ER III deve ser conectado a um computador externo com os softwares de operação e
programação do robô instalado. É utilizada a interface serial RS-232C para conectar o controlador ao
computador.

O BRAÇO MECÂNICO

Classificação da estrutura mecânica


O braço mecânico do SCORBOT-ER III é
composto por vínculos e junções articuladas
verticalmente com cinco graus de liberdades e
uma garra.
A figura 2 ilustra o braço mecânico do robô,
listando suas junções e comparando o mesmo a
um braço humano. A tabela 1 relaciona o nome
de cada junta, seu tipo de movimento e o motor
responsável pelo movimento.

Fig. 2 - Esquema do braço mecânico

37
Motores do Robô
Todas as junções do robô são movidas pelos motores DC. A direção do movimento do robô é determinado
pela polaridade da tensão de operação.
Cada motor tem um controlador de malha
fechada que verifica a extensão e direção do
movimento dos mesmos. Junta Movimento da
Nome Junta Motor nº
É utilizado um codificador ótico em forma de nº Junta
disco em cada motor do braço do robô para o 1 Base R 1
controle de malha fechada. A figura 3 mostra o 2 Shoulder R 2
3 Elbow R 3
motor e o codificador instalados no braço do 4 Wrist (pitch) R 4+5
robô. 5 Wrist (roll) R 4+5
O codificador consiste de uma fonte de luz P
(LED), detetores de luz (fototransistor) e um 6 Gripper Pinças abrem e 8
disco de metal com ranhuras que gira com o fecham
TABELA 1 - Relacionamento entre junta e seu movimento
motor.
O codificador fornece ao controlador
informações sobre o movimento do robô. Essas informações são conferidas para verificar se os movimentos
estão sendo corretamente realizados, o que seria impossível caso o sistema do robô não tivesse os
codificadores.

Sistema de Drive
O sistema de drive do SCORBOT-ER III é do tipo indireto sendo realizado por meio de engrenagens e
correias rodando do motor para a junção.
Os sistemas de drive utilizam duas definições importantes:
• Taxa de transmissão: Valor que permite o cálculo das velocidades relativas dos eixos de movimento.
• Resolução: Valor que indica a capacidade do sistema com relação a precisão do movimento.

Transmissão indireta em um grau


A figura 4 mostra a transmissão usada para movimentar a base do robô.
A engrenagem menor com raio Ra está instalada diretamente no eixo de
saída do motor. A engrenagem maior com raio Rb está fixada a junção de
base do robô. O movimento do robô causa a seguinte cadeia de
movimentos:
motor - engrenagem A - engrenagem B - base do robô
Observe que as engrenagens giram em sentidos opostos.
Fig. 4 - Tipo de transmissão usado
no robô
CÁLCULO DA TAXA DE TRANSMISSÃO

A taxa de transmissão do robô pode ser calculada por:


Tab = Rb / Ra : 1
onde:
Tab = taxa de transmissão da engrenagem a para a b.
Ra = Raio da engrenagem conectada ao eixo de saída do motor.
Rb = Raio da engrenagem conectada a base do robô.
Para cada volta da engrenagem a, a engrenagem b irá girar Ra/Rb.
A taxa de transmissão também pode ser calculada por:
Tab = na/nb
onde:
na = número de dentes da engrenagem ligada ao eixo do motor.
nb = número de dentes da engrenagem ligada a base do robô.

38
Cálculo da taxa de transmissão em rpm
A taxa de transmissão também determina a taxa relativa de rotação das engrenagens envolvidas.
No exemplo a engrenagem a irá rodar (nb/na) vezes mais rápido que a b.
Wb/Wa = 1/Tab = na/nb
onde:
Wa = Rotações por minutos da engrenagem ligada a base do robô.
Wb = Rotações por minutos da engrenagem ligada ao eixo do motor.

Cálculo da taxa de resolução


A resolução define o menor passo possível para girar as engrenagens, motores ou junções. É definida em
graus para resolução angular e unidades de comprimento para resolução linear.
Quanto menor o passo, maior a resolução e maior a exatidão do movimento.
A resolução pode ser calculada por:
resolução da engrenagem = a = Sb = 1_ = na
resolução da engrenagem b Sa Tab nb

Transmissão Indireta a Dois Graus


Na figura 4, foi mostrado uma transmissão a um grau (uma
engrenagem move a outra). A figura 5 mostra uma
transmissão com o acréscimo de mais um grau.
O número de dentes de cada uma das quatro engrenagens é
mostrada a seguir:

Engrenagem a b c d
Número de dentes na nb nc nd Fig. 5 - Transmissão com dois graus

Cálculo da taxa de transmissão


A taxa de transmissão da figura 5 é o produto das taxas das transmissões formadas por cada grau do drive:
Tad = Tab x Tcd
onde:
Txy = taxa de transmissão entre engrenagem x e a engrenagem y
Txy = ny / nx
Se mais graus de transmissão forem acrescentados, a taxa de transmissão Tad deve ser multiplicada pela
taxa de cada grau acrescido.

Cálculo da taxa de rpm


A razão entre a taxa de revolução da engrenagem d e a engrenagem a, como mostrada na figura 5, é a
seguinte:

onde:
Wn = taxa de revolução da engrenagem n
Txy = taxa de transmissão da engrenagem x para a engrenagem y

A inclusão de um grau adicional de transmissão, cuja taxa de transmissão seja maior que 1, reduz a taxa de
revolução do último grau de transmissão. Na inclusão de um segundo grau de drive, aumenta a taxa de
transmissão e, deste modo, aumenta-se a resolução do sistema, ou seja, o robô torna-se mais preciso, uma
vez que é possível realizar movimentos mais curtos.

39
TRANSMISSÕES DO SCORBOT-ER III

A transmissão de cada eixo de movimento do SCORBOR-ER


III começa dentro da carcaça do motor. Dentro desta carcaça
há uma engrenagem que é constituída de engrenagens
acopladas umas às outras. A estrutura básica de um motor
do SCORBOT-ER III é mostrado na figura 6.
Existem três tipos de motores neste robô, com montagens de
engrenagens diferentes. As taxas de transmissão destes
motores estão listados abaixo (Tm é a taxa de transmissão Fig. 6 - Estrutura de um motor do robô didático
entre o eixo do motor e o eixo de saída):

Motores da base, ombro e cotovelo: Tm 1,2,3 = 127,7:1


Motores do pulso, pitch (arremesso) e roll (giro): Tm 4,5 = 65,5:1
Motor da garra: Tm 8 = 19,5:1

Em outras palavras, uma taxa de transmissão de 127,7: 1, por exemplo, significa que a cada 127,7
revoluções do motor, o eixo de saída dará apenas 1 volta.

Cálculo da taxa de revolução do eixo de saída do motor do pulso e sua resolução


Dada a taxa de revolução do eixo do motor: Wm = 2412 rpm, temos que a taxa de revolução do eixo de saída
é de:

Dado que a resolução do eixo do motor (o cálculo da resolução será explicado no capítulo 5), Sm, é de 60º,
temos que a resolução do eixo de saída é de:

Cálculo da taxa de revolução da base, ombro e cotovelo do eixo do motor e suas resoluções
Tmol 1,2,3 = 127,7:1
Wm = 2412 rpm

Sm = 60º

Com base nestes valores é possível identificar a taxa de transmissão de cada junta do robô.

Transmissão da junta da base


A transmissão da junta da base do robô é idêntica à apresentada na figura 4. A engrenagem a está
diretamente acoplada ao eixo de saída; a engrenagem b está acoplada ao corpo do robô.

Transmissão da junta do ombro


A transmissão da junta do ombro do SCORBOT-ER III é similar à de sua base. A diferença é que a
transmissão no ombro é dupla, ou seja, o ombro é movido simultaneamente de ambos os lados do braço
mecânico, o que aumenta a sua mobilidade, bem como sua habilidade em suportar cargas.
A engrenagem a está ligada ao eixo de saída e a engrenagem b está ligada ao ombro, fazendo com que este
se mova.

40
Transmissão da junta do cotovelo
Esta transmissão é mostrada na figura 7. Como na transmissão do ombro, o cotovelo também usa uma
transmissão dupla. O cotovelo é movido simultaneamente de ambos os lados do braço mecânico, ou seja,
contém dois sistemas de tração, do tipo ilustrado na figura 7.
A combinação de duas transmissões duplas (ombro e cotovelo)
previne contra torções do braço, além de aumentar a estabilidade do
robô.
A engrenagem a, que está ligada ao eixo de saída do motor,
movimenta a engrenagem b. A engrenagem c, que está ligada nesta
engrenagem, movimenta a engrenagem d através de uma correia.

Transmissão da junta do pulso


O SCORBOT-ER III tem a junta do pulso com dois graus de liberdade,
permitindo dois tipos de movimento: subir/descer de pulso (pitch) e Fig. 7 - Transmissão da junta do cotovelo
movimento de rotação do pulso (roll).
A estrutura é diferente das anteriores e é mostrada na
figura 8.
A junta do pulso tem três partes separadas,
constituindo uma montagem conhecida como
diferencial. As partes 1 e 2 são tracionadas pelos
motores 4 e 5, respectivamente. O movimento da parte
3 depende do movimento relativo de 1 e 2, sendo que a
garra é fixada a esta parte. Desse modo:
• Quando as partes 1 e 2 movem-se na mesma
direção, a parte 3 sobe ou desce (pitch). Fig. 8 - Transmissão da junta do pulso
• Quando as partes 1 e 2 movem-se em direções
opostas, a parte 3 sofre rotação (roll).

Cada engrenagem tem 32 dentes. Em ambos movimentos


de pulso, a extensão de movimento dos motores 4 e 5 é
idêntica (podendo somente diferir na direção).
As transmissões dos motores 4 e 5 para a junta do pulso
são idênticas, conforme transmissão ilustrada na figura 9.
A execução da transmissão para o motor 4 (ou motor 5),
para a articulação do pulso diferencial, é a seguinte:
A engrenagem a é presa ao eixo de saída do motor e
traciona a engrenagem b via correia 1 e assim
sucessivamente até a engrenagem f que gira a Fig. 9 - Transmissão dos motores 4 e 5
engrenagem diferencial.

Taxa de transmissão e resolução de cada junta do robô


Base Ombro Cotovelo Pulso
na (dentes) 24 18 18 12
nb (dentes) 120 72 72 24
nc (dentes) - - 17 24
nd (dentes) - - 17 24
ne (dentes) - - - 24
nf (dentes) - - - 24
Wa (rpm) 18,88 18,88 18,88 36,85
Sa (graus) 0,47 0,47 0,47 0,916
Característica de Transmissão um grau um grau dois graus dois graus

41
Tabela 2 - Transmissão das juntas
Transmissão da garra
O motor da garra do SCORBOT-ER III está acoplado à junta do pulso. Sua revolução gira um parafuso
fazendo com que a garra abra ou feche. Este tipo de transmissão é chamada de transmissão guiada por
parafuso (transmissão lead screw) e é ilustrada na figura 10.
Neste tipo de transmissão um dado importante é o
passo do parafuso. No sistema milimétrico, ele é
definido como o número de milímetros entre duas
linhas adjacentes do parafuso.
O passo do parafuso é equivalente ao movimento
linear do parafuso. Como a garra encontra-se
acoplada a este parafuso, logo, têm-se o
movimento da garra (em milímetros). Um aumento
no valor do passo do parafuso, aumenta a
velocidade com a qual a garra abrirá ou fechará. A
resolução dos dedos da garra, entretanto, decresce
proporcionalmente.

Cálculo da velocidade de abertura (fechamento)


dos dedos da garra e da sua resolução
A velocidade de abertura (fechamento) e a
resolução derivam dos dados do motor da garra, Fig. 10 - Transmissão da garra
das dimensões da garra e do parafuso guia. A
força de aperto dos dedos é também afetada pelo passo do parafuso.

Cálculo da velocidade de abertura (fechamento)


O cálculo é dado por:
D = P x N = P x W x t/60 t = 60 x D/(P x W)
V = L/t
Onde:
W = velocidade de revolução do parafuso [rpm]
N = número de revoluções do parafuso (totalmente fechado até totalmente aberto)
D = comprimento do parafuso [mm]
P = passo do parafuso [mm]
t = tempo decorrido para o parafuso ir de totalmente fechado até totalmente aberto (negligenciado o tempo de
aceleração do motor) [sec]
V = velocidade dos dedos da garra [mm/sec]
L = comprimento de abertura da garra [mm]

Cálculo da resolução
O cálculo é dado por:
S 8 = Sm /Tmo8 N1 = 360/So
Sg = L/(N1 x n)
Dados:
Sm = 60 graus Tm8 = 19.5:1

42
Onde:
Sm = resolução do motor [graus]
S8 = resolução da saída do motor [graus]
Tm8 = raio de transmissão interno do motor da garra
Sg = resolução dos dedos da garra [mm]
N1 = número de pulsos do encoder por revolução da saída do
motor
As garras normalmente apresentam dois dedos em cujas pontas
podem ser acoplados vários acessórios, como mostra a figura
11. Em operações normais, blocos de borracha são acoplados
aos dedos da garra para criar fricção e melhorar o aperto.

Fig. 11 - Montagem da garra

O CONTROLADOR

O termo "controlador" refere-se à unidade que


opera e controla o braço mecânico. A figura 12
mostra o controlador do SCORBOT-ER III.
As funções do controlador são as seguintes:
• Ativação dos motores do robô;
• Tratamento das informações
recebidas dos encoders como parte do
processo de realimentação;
• Identificação de sinais do ambiente, Fig. 12 - O controlador
através da entrada de oito microchaves;
• Ativação de equipamentos externos, em completa sincronização com o robô, através de oito saídas;
• Identificação dos sinais recebidos do braço do robô, além de estabelecer um ponto de referência
permanente, através de oito microchaves instaladas no braço do robô.

Painel Frontal do Controlador


A figura 13 ilustra o painel frontal do
controlador, incluindo o seguinte:
• Chave POWER ON/OFF. Alimentação
110V/220V.
• Chave MOTORES ON/OFF.
Alimentação DC dos motores do robô.
• Botão LAMP TEST. Quando
pressionado, todas as luzes do painel frontal
indicam e checam se o funcionamento está
correto. Fig. 13 - Painel frontal do controlador
• Botão RESET. Quando pressionado,
para o funcionamento do controlador e reseta as informações armazenadas na memória.
• CONECTORES DE ENTRADA. A faixa de conectores inclui 16 parafusos tipo conector para oito
entradas existentes. Cada par de conectores forma uma entrada.
OBSERVAÇÃO: O operador deve tomar cuidado para não conectar qualquer tensão aos conectores de
entrada.
• CONECTORES DE SAÍDA. Apresenta quatro faixas de conectores, cada qual incluindo três
parafusos tipo conector, sendo:
N.C. (normally closed) = normalmente fechado
43
COM (common) = comum
N.O. (normally open) = normalmente aberto
OBSERVAÇÃO: O operador deve tomar cuidado para não conectar tensões maiores do que 12V, ou tensões
que resultem uma corrente maior que 10A.
• CHAVES DE ENTRADA 1 E 2. Estas chaves são conectadas em paralelo às entradas 1 e 2 na faixa
dos conectores de entrada.
• LED's DE ENTRADA (oito led's verdes). Quando acesos indicam um curto-circuito na entrada
correspondente.
• LED'S DE SAÍDA (oito led's vermelhos). Quando acesos indicam um sinal na saída correspondente.
• CONECTORES DO MOTOR 6 E 7. Permitem a conexão de dois eixos adicionais de movimento.
Podem ser conectados a um motor com encoder, para criar um controle de malha fechada adicional para os
graus de movimento.
• Botão MOTOR TEST. Ativa uma rotina de auto diagnóstico.

Painel Traseiro do Controlador


A figura 14 mostra o painel traseiro do controlador,
incluindo o seguinte:
• LINE. Conexão de tensão (110V ou 220V) para o
controlador.
• FUSÍVEL 220V. Fusível de 1.5A (alimentação).
• FUSÍVEL -12V. Fusível de 4A para entrada de -
12DC (motores do robô). Fig. 14 - Painel traseiro do controlador
• FUSÍVEL +12V. Fusível de 4A para entrada de
+12DC (motores do robô.
• FUSÍVEL LÓGICO +5V. Fusível de 1A para entrada de +5DC (circuitos do controlador, incluindo
microprocessador e memória).
• CONECTOR DO ROBÔ. Conector tipo D50, com 50 pinos em três fileiras. Conecta o controlador aos
motores e encoders do braço mecânico.
• CONECTOR RS232C (Inferior). Conector tipo D25, com 25 pinos em duas fileiras. Conecta o
controlador ao computador host.
• CONECTOR RS232C (Superior). Conector tipo D25. Conecta o controlador ao controle remoto (teach
pendant - dispositivo para operação manual do robô).
• LED'S Tx e Rx. Provê informações sobre a existência de dados na transmissão (Tx) e/ou recepção
(Rx) respectivamente.

Introdução aos tipos de controle

Tipos de Controle
Como já sabemos, os métodos de controle utilizados em robôs industriais podem ser divididos em duas
classificações principais:
• Controle ponto-a-ponto
• Controle por trajetória contínua.

Controle Ponto-a-Ponto
Neste método, o caminho pelo qual o robô precisará passar, até um dado ponto final, é definido como um
conjunto de pontos intermediários. Estes pontos são enviados à memória do sistema de controle pelo usuário
como parte do processo de aprendizado do robô. O curso de um ponto intermediário a outro não é pré-
determinado e não afeta a implementação da operação principal. Muitos sistemas de controle de robôs
industriais presentes no mercado são deste tipo.
O controle ponto-a-ponto é recomendado para robôs planejados para executar tarefas em pontos pré-
determinados (por exemplo, verter misturas em moldes, carregar e descarregar partes, ou pontos de
soldagem).
44
Onde é necessário ultrapassar obstáculos em movimento, o operador deve planejar antecipadamente a
introdução de pontos intermediários.
Uma modificação mais sofisticada do controle ponto-a-ponto possibilita a introdução de pontos proibidos no
controle de programação. O programa irá então ser capaz de assegurar que o robô evitará estes pontos.
O robô pode ser ensinado sobre os pontos de seu trajeto de duas maneiras:

• Movendo o robô manualmente para um ponto desejado, gravando este ponto na memória do robô, e
passando para o próximo ponto a ser ensinado - método por aprendizagem (teach in).
• Definindo as coordenadas de cada ponto desejado e gravando-as na memória do robô, sem que este
tenha que ser movido fisicamente para que os pontos sejam aprendidos - método de programação off-line.
Uma vez aprendidos os pontos do trajeto, programas podem ser escritos direcionando o braço do robô para
estes pontos, na ordem desejada, indiferentemente da ordem em que foram ensinados.
O controle ponto-a-ponto é muito mais barato que o controle por procedimento contínuo. No entanto, só é
apropriado em operações em que o trajeto entre os pontos definidos não é importante. Para executar
caminhos mais complicados, onde é necessário existir precisão do começo ao fim, o controle por trajetória
contínua deve ser usado.

Controle por Trajetória Contínua


Este método de controle é usado em robôs projetados para executar operações durante o curso de
movimento (por exemplo, pintura spray ou soldagem em arco).
O caminho durante o qual a operação deve ser executada é gravado pelo sistema de controle na forma de um
conjunto de vários pontos densamente arranjados em sua extensão. Portanto, este tipo de controle necessita
de uma grande quantidade de memória e de um computador rápido o bastante para apanhar os pontos da
memória, ou para realizar cálculos de trajeto.
As coordenadas dos pontos durante o caminho são introduzidas na memória de duas formas:

• O operador move manualmente o atuador final através do caminho desejado. Durante o movimento, o
sistema de controle memoriza o maior número possível de pontos do percurso. O número de pontos gravados
e a distância entre os pontos dependem da velocidade em que o robô é movido e da taxa em que os pontos
são coletados na memória, chamada taxa de amostragem. A taxa de amostragem reflete a quantidade de
dados coletados em um período determinado, e é um conceito comum no campo da computação. Após a
etapa de aprendizagem, o robô é retornado ao ponto de partida. Quando for chamado para executar a
operação envolvendo o caminho ensinado, os pontos serão obtidos da memória do controlador e
implementados na mesma ordem e na mesma taxa em que foram aprendidos, significando que o robô irá
duplicar o caminho que lhe foi ensinado, durante o processo.
• O operador introduz na memória do robô as coordenadas dos pontos importantes durante o percurso,
assim como a descrição matemática a ser seguida entre dois pontos - linha reta, percurso circular, e outros. O
sistema então planeja o caminho a partir de cálculos complexos de trajeto e move o robô através deste
caminho.
• Como visto acima, este método de controle é muito mais dispendioso que o método ponto-a-ponto.
Seu uso é recomendado apenas em tarefas em que o robô deva seguir com extrema precisão todo o
percurso desejado.

45
ENCODERS ÓTICOS
O encoder é um dispositivo que fornece ao controlador do robô informações sobre o status físico das várias
juntas do robô (inclusive taxas de movimento). Em outras palavras, o encoder é uma unidade de
realimentação (feedback unit), que informa sobre as posições atuais das juntas do robô, de forma que
possam ser comparadas com posições desejadas e seus movimentos sejam planejados.
Esta unidade de realimentação possibilita o controle em malha fechada, em arranjo simples de componentes
opto-eletrônicos, como na figura 1. Neste caso têm-se uma fonte de luz, um receptor e um disco perfurado,
que irá modular a recepção da luz.
Este disco está preso a um eixo ou motor, de forma a criar um movimento rotacional, enquanto que a fonte de
luz e o receptor estão fixos. A rotação do disco cria uma série de pulsos pela interrupção ou não da luz
emitida ao detector. Estes pulsos de luz são
transformados pelo detector em uma série de pulsos
elétricos.
A frequência do pulso é diretamente proporcional ao
número de rotações no intervalo de tempo, e ao número
de furos ao longo do disco.
Os encoders são geralmente montados nas juntas do
robô, ou nos eixos dos motores que atuam em cada uma
das juntas. O encoder deve ser montado
preferencialmente nas juntas, pois desta forma suas
informações são diretamente coletadas, evitando
Fig. 15 - Encoder ótico simples
possíveis incertezas de medição. Esta montagem requer
um encoder de alta precisão e desta forma mais caro. A
montagem do encoder na eixo do motor pode causar um grau de incerteza, exceto quando a taxa de
transmissão é superior a 1.
A função do encoder é de fornecer informações em duas áreas:
Quantidade de movimento executado pelo motor (ou pela junta);
Direção do movimento (horário ou anti-horário).
Informações adicionais, tais como taxa de movimento, podem ser obtidas pelo cálculo da divisão da
quantidade de movimento pelo intervalo de tempo decorrido para tal movimento.
Encoders óticos podem ser divididos em dois grupos:

• Encoders Incrementais;
• Encoders Absolutos.

Encoders óticos incrementais


Este tipo de encoder fornece informações sobre o movimento executado e a direção da rotação do motor
(figura 16).
Para determinar a quantidade de movimento realmente executada pelo
motor, um disco com uma única fileira de furos é suficiente. Porem,
para determinar a direção da rotação, precisa-se de duas fileiras de
furos no disco (como visto na figura 16). Para demonstrar o método
utilizado para determinar o sentido de rotação, considere os sinais
recebidos de dois detectores de luz, em quatro passos:

DETECTOR DETECTOR
PASSO
EXTERNO INTERNO
Passo 4 escuro escuro
Fig. 16 - Encoder ótico incremental
Passo 3 escuro luz
Passo 2 luz luz
Passo 1 luz escuro

46
Os detectores de luz transformam os estados de luz e escuro em sinais elétricos digitais. Luz é transformado
em 0 lógico e escuro em 1 lógico. Como resultado, quando o disco é movimentado no sentido anti-horário, o
microprocessador recebe dos detectores uma série de sinais elétricos, como indicado na tabela a seguir:
PASSO DETECTOR DETECTOR
EXTERNO INTERNO
Passo 1 0 1
Passo 2 1 1
Passo 3 1 0
Passo 4 0 0
Quando o movimento for no sentido horário, a série de sinais elétricos será como descrito na tabela a seguir:
PASSO DETECTOR DETECTOR
EXTERNO INTERNO
Passo 1 0 1
Passo 2 0 0
Passo 3 1 0
Passo 4 1 1
Cálculo da resolução de um motor conectado a um encoder ótico incremental
Na figura 16 é possível observar que o disco possui dois anéis concêntricos de furos. Cada par de furos (anel
interno e anel externo) compõe uma unidade de contagem. O disco mostrado na figura 2 possui 6 pares de
furos e desta forma 6 unidades são contadas a cada rotação completa do disco.
Assim pode-se deduzir que a resolução (S) é: circunferência do disco (em graus)
S = num. de pares de furos no disco
Em termos matemáticos: 360
Sn = n, n é o número de pares de furos.
Portanto a resolução do encoder da figura 2 é: 360
S6 = 60
Os encoders óticos incrementais não fornecem informação sobre a localização absoluta do eixo de
movimento no espaço. Mais precisamente, eles fornecem a quantidade de movimento executada pelo eixo,
começando do momento em que o computador é ativado e o movimento começa. Se o sistema é desligado
ou ocorre uma queda de energia, a informação da localização do eixo de movimento é perdida. Quando o
sistema for religado, a posição dos eixos de movimento devem ser re-fixadas. Somente após isto ser feito, o
controlador poderá identificar a posição do robô novamente.
Apesar de fornecer informações incompletas, os encoders incrementais podem ser utilizados como
dispositivos de realimentação para muitos sistemas industriais, através do uso de softwares especiais que
analisam o número de pulsos enviados e calculam a posição relativa e a velocidade da junta em movimento.

Encoders óticos absolutos


Os encoders óticos absolutos fornecem informações mais rigorosas
que os encoders óticos incrementais. Possuem a capacidade de
informar a posição física do robô assim que ele é ativado, sem a
necessidade de fixação da posição inicial. Isto é possível porque o
encoder transmite, para o controlador, um sinal diferente para cada
posição da junta.
A figura 17 mostra um disco contendo 4 anéis de perfurações e está
dividido em 16 seções da arcos iguais, contendo cada uma um arranjo
diferente de furos. Desta forma, cada seção possui uma combinação
diferente de furos, possibilitando uma combinação diferente de sinais Fig. 17 - Encoder ótico absoluto
recebidos pelos 4 receptores. Quando o sistema é ativado, o
controlador identifica a combinação dos sinais recebidos pelos receptores e transforma na exata localização
da junta do robô no espaço.

47
O número de anéis utilizados em um disco depende do grau de resolução de que se necessita. Quanto maior
o número de anéis, maior será o número de combinações de sinais e maior será a resolução do dispositivo
(figura 18).
O cálculo da resolução (S) do encoder
absoluto é dado por: circunferência do disco
(em graus)
S = num. de segmentos no disco
Em termos matemáticos: 360
Sn = 2n, n é o número de anéis.

Fig. 18 - Incremento da resolução do encoder

ENCODERS APLICADOS NO SCORBOT-ER III


Os encoders utilizados no SCORBOT-ER III são do tipo incremental, de construção simples e designados
para dar demonstrações dos princípios de operação aos estudantes.
A estrutura de um encoder do SCORBOT-ER III é mostrada na fig.19.
O disco do encoder está conectado ao eixo do motor e gira na
mesma velocidade deste, entre duas coberturas de alumínio.
Em uma delas estão montados dois LED's, que são as fontes de
luz. Na outra cobertura estão dois fototransistores, que são os
detectores de luz. Cada LED é montado diretamente oposto a
um fototransistor, formando dois pares LED-fototransistor. Um
deles está localizado próximo a borda do disco, e o outro
próximo ao centro.
Quando o disco gira, uma linha de luz aparece e desaparece
alternadamente entre cada LED e seu fototransistor, causando
condução e corte, respectivamente, da corrente entre o coletor e
o emissor do fototransistor. Assim, o sinal de tensão entre o
emissor e o coletor do fototransistor fica como visto na figura 20, Fig. 19 - Estrutura do encoder do robô didático
sendo os níveis baixo (0V) e alto (4V),correspondentes à
existência ou não de luz emitida.
Percebe-se também um deslocamento de tempo entre as ondas
dos dois fototransistores (chamado de deslocamento de fase). Isto é
causado pelo deslocamento físico entre as perfurações mais
externas e mais internas do disco.
O sinal de tensão é transmitido para o microprocessador, que
traduz a variação de tensão em uma medida da quantidade de
movimento realmente executada pelo robô.
A direção do deslocamento entre as duas ondas fornece ao
controlador o sentido de rotação do motor.
Como o disco encoder possui 6 pares de perfurações a cada volta
do motor, 6 unidades de contagem são feitas, possibilitando uma
resolução de 60.
Para calcular a resolução de uma das juntas do robô, por exemplo a Fig. 20 - Esquema de sinais no emissor e
coletor
junta do cotovelo, deve-se lembrar que o alojamento do motor
possui uma coleção de engrenagens que movem-se uma a outra. A
razão de transmissão entre estas engrenagens é de 127,7:1 , dando uma resolução de saída do motor de:
S = 60/127,7 = 0,47

48
A resolução da junta de cotovelo é:

que é uma resolução muito boa para um robô didático, sem ter um alto custo.
Os encoders do SCORBOT-ER III são montados no motor e não nas juntas como seria preferível, pois o
movimento do motor nem sempre é diretamente proporcional ao movimento da junta. As transmissões
conectando o motor às juntas introduzem um grau de incerteza, levando a valores imprecisos de posição.
Neste caso, a montagem do encoder na junta de forma a ter a mesma resolução de 0,12 aumentaria em
muito o custo do equipamento, pois, para alcançar tal resolução seria necessário utilizar um disco com 3000
pares de furos, para cada um de seus 6 encoders.
O uso de encoders simples, com 6 furos, permite um baixo custo e uma boa resolução, a nível de uso
educacional.

Entradas e Saídas
A Comunicação entre o robô e seu ambiente.
Até o momento, foi vista uma descrição do robô e seus vários componentes. Mas deve-se ter em mente que o
robô não realiza seu trabalho em um ambiente isolado e, sim, serve máquinas ou outros robôs. Logo, é muito
importante coordenar a temporização e as operações de todos os componentes do sistema.
Para garantir esta coordenação, ou sincronização, entre o robô e seu ambiente, utiliza-se de entradas e
saídas. Entradas são sinais do ambiente para o robô. Saídas são sinais do robô para o ambiente . As seções
seguintes discutirão entradas e saídas e como elas trabalham.

ENTRADAS
Suponha, por exemplo, um transportador onde as peças não são distribuídas regularmente. Compondo o
sistema há, também, um robô que tem por função descarregar as peças do transportador. Prevê-se, de
imediato, que a chegada da peça no ponto de descarga não pode ser prevista com exatidão. Como o robô
pode saber quando a peça que deve ser descarregada, chegou no ponto de descarga?
Isto pode ser resolvido com a instalação de uma chave no transportador, no ponto no qual o robô descarrega
as peças que estão chegando.
A chave, que pode ser mecânica, óptica ou outra, é um dispositivo que conecta ou desconecta dois
condutores elétricos. A figura 21 mostra uma chave mecânica.
A seqüência para fazer uma conexão elétrica começa com uma pressão que deve ser exercida na alavanca,
que empurra o pino. O pino, então, fecha a chave e uma conexão elétrica (curto-circuito) é criada entre os
condutores. Ambos condutores são conectados ao
controlador, que pode, assim, identificar o status da chave
(aberta ou fechada).
Quando uma peça no transportador alcança o ponto de
descarga, ela pressiona a microchave, que fecha a chave. O
controlador identifica o curto resultante entre os dois
terminais dos condutores, e atua no braço mecânico do robô
que agarra a peça que pressionou a alavanca, e descarrega
a peça do transportador, de acordo com o programa Fig. 21 - Chave mecânica
armazenado na memória do computador. A figura 22 ilustra
este método.

49
A figura 23 mostra um outro método de
solucionar o problema de descarga. Este sistema
é composto de uma fonte de luz e um detector de
luz montado no lado oposto do transportador. Até
a peça chegar no ponto de descarregamento, o
detector "vê" a fonte de luz e emite um certo sinal
elétrico para o controlador. Quando a peça chega
no ponto, ela bloqueia o campo de visão entre a Fig. 22 - Operação da chave mecânica
fonte de luz e o detector. O detector então, muda
o nível do sinal elétrico que é transmitido ao controlador.
A entrada óptica é geralmente mais prática em aplicações deste tipo. Contudo, a máxima distância entre a
fonte de luz e os detectores é muito limitada, e paralelo a isso, eles
podem sofrer mal funcionamento devido a interferências de luz de
seus arredores.

APLICAÇÕES DE ENTRADA NO ESCORBOT-ER III


O sistema do robô possui 8 entradas. O usuário instala as microchaves
como ele julgar conveniente, com um par de fios ligando cada
microchave a um ponto de conexão no painel do controlador, como
mostra a figura 24. Fig. 23 - Posicionamento com detector
Até agora, nós vimos as conexões de entrada. Para verificar o status
da entrada - por exemplo, da entrada 3 - o usuário escreve um
comando no programa, como a seguir:

IF INPUT 3 IS ON, THEN ROBOT SHOULD DO A PREDEFINED TASK. IF INPUT IS OFF, THEN IT
SHOULD DO ANOTHER TASK.

"Input on" significa que a alavanca está pressionada. "Input off" significa que a alavanca não está
pressionada.
Em adição as oito entradas que podem ser conectadas ao sistema, o
SCORBOT-ER III possui uma simulação de entrada do painel do
controlador, obtida através de dois botões, conectados em paralelo às
entradas 1 e 2 do robô. Estes botões possibilitam aos estudantes
praticar operações de entrada sem microchaves instaladas na célula
de trabalho. Estas entradas são chamadas de entradas didáticas.

Fig. 24 - Ligação das entradas


SAÍDAS
O princípio das saídas é similar ao das entradas. Saídas são também projetadas para prover sinalização
entre o robô e seu ambiente e/ou operar equipamentos externos e máquinas.
Imagine um robô cuja tarefa é agarrar uma broca, trazê-la para a posição acima da peça de trabalho, perfurar
um buraco dentro de um certo período de tempo, parar a broca, e levá-la para a próxima posição de
perfuração. O problema nesta aplicação é controlar a broca. Não é conveniente que a broca gire através de
toda a operação, já que desperdiçaria eletricidade e provocaria sobreaquecimento da mesma. Logo, sua
operação deve ser controlada, a fim de que a broca seja ligada no exato momento acima de cada posição de
perfuração, e seja desligada depois de cada operação completa de perfuração.
Este controle pode ser feito através de sinais de saída presentes no sistema do robô. O controlador sabe
quando a broca está posicionada exatamente acima do ponto de perfuração. No ponto exato, o controlador
comanda uma saída para girar a broca. A broca é desligada após completar a perfuração de cada buraco, por
meio da mesma saída.

50
Como fazer este tipo de saída trabalhar?
Isto pode ser feito através do uso de um relê, como mostra a fig 25.
Um relê é composto de dois componentes básicos: uma bobina e uma
chave. Quando relê é ativado, uma corrente "I" flui através da bobina.
Como resultado, um campo magnético é criado perto da bobina. Este
campo atrai a chave, fechando-a. A chave fica nesta posição enquanto
a corrente fluir na bobina. Quando a corrente para de fluir, o campo Fig. 25 - Chave magnética
magnético torna-se inativo, e a chave abre.
Agora, como os relês podem ser integrados ao sistema do robô, e como eles podem ser usados para
solucionar o problema de perfuração descrito acima? A figura 26 mostra como isto pode ser feito.
Os terminais C e D do relê são conectados em série ao circuito que inclui um motor elétrico, que opera a
broca, e uma fonte de tensão para o motor. Enquanto a chave permanece aberta, não flui corrente através do
motor, que não gira. O motor começará a girar quando a chave fechar.
Os terminais A e B do relê são conectados ao controlador. O
controlador pode enviar corrente através da bobina do relê em um
determinado instante, fechando o relê e ativando o motor.
Em contraste com as entradas, que são componentes passivos,
habilitando o controlador a verificar as chaves, saídas são
componentes ativos que realmente operam dispositivos externos.
Fig. 26 - Esquema de ligação do relê
As entradas de um robô são freqüentemente usadas para controlar a
duração da ativação de uma saída do robô. A saída é ativada quando
uma certa entrada é fechada, e desativada quando a entrada abre.

APLICAÇÕES DE SAÍDA NO SCORBOT-ER III


O sistema do robô possui, também, 8 saídas. Estas saídas são divididas em dois grupos: 4 relês de saída e 4
saídas didáticas.
Os relês de saída permitem ativar equipamentos externos, tais como motores, na seqüência, para
implementar operações na célula de trabalho.
As saídas didáticas consistem de LED's que se iluminam, quando o programa dá um comando para uma
certa unidade do equipamento de saída. Estas saídas possibilitam simulações para testar o aprendizado dos
estudantes com relação aos princípios das saídas,
além do uso de saídas na pratica.
A figura 27 ilustra a conexão de um sinal de saída
para um equipamento externo.
A conexão pode ser realizada em um dos dois
seguintes modos:
Conectando o equipamento externo aos conectores
Fig. 27 - Esquema de ligação das saídas
N.O. (normalmente aberto) e COM (comum).
Conectando o equipamento aos conectores N.C.
(normalmente fechado) e COM.
Estes dois modos são mostrados nas figuras 28 e 29
respectivamente.

Fig. 28 - Relê normalmente aberto

51
A operação de saída pode ser feita por meio de um relê como mostra a figura 30.

Fig. 29 - Relê normalmente fechado

Para ativar uma saída - por exemplo, saída 2 - o usuário escreve um


comando no programa, como segue:
>> TURN ON OUTPUT 2
Para desconectar a saída, o usuário escreve:
>> TURN OFF OUTPUT 2
Para integrar entradas e saídas, o usuário escreverá uma série de Fig. 30 - Conjunto de relês
comandos como a seguir:
>> LINE 1 TURN ON OUTPUT 2
>> LINE 2 IF INPUT 3 ON, JUMP TO LINE 4
>> LINE 3 JUMP TO LINE 2
>>LINE 4 TURN OFF OUTPUT 2

A explicação destes comandos é a seguinte:


LINE 1 : a saída 2 agora está ligada;
LINE 2 : a entrada 3 serve para verificar o estado do evento que controla a saída 2. O controlador verifica a
entrada 3. Se a entrada está ligada, o programa irá para a linha 4, onde ele desconectará a saída 2. Se a
entrada 3 estiver desligada, o programa irá para a próxima linha (neste caso, linha 3).
LINE 3 : o programa retorna para a linha 2 para ver se a entrada 3 se tornou ativa. Enquanto a entrada 3 não
vir a ficar ativa, a saída 2 permanece ativa.

Ponto de inicialização do robô (Robot Home)


Como já foi visto, chaves são usadas para identificar a posição de peças. Contudo, chaves também podem
ser usadas para outras aplicações. Nos robôs industriais, chaves são instaladas em cada articulação do braço
mecânico, e são usadas para localizar o ponto de inicialização.
O que é um "ponto de inicialização"?
O "ponto de inicialização" é ponto de referência fixo, conhecido, utilizado para a localização do braço
mecânico no espaço. Quando o robô é ligado depois de ter sido desligado, o "ponto de inicialização" deve
primeiramente ser localizado. Somente depois, os programas podem ser carregados da memória e
executados. Este ponto de referência garante que futuras execuções de programas presentes serão exatas e
sem desvios. Robôs sem tal característica, serão incapazes de executar programas que demandem um alto
grau de precisão.
Para encontrar seu ponto de inicialização, o controlador move uma articulação até que a chave daquela
articulação seja pressionada. Ele então, vai para a próxima articulação, e assim por diante, até que todas as
articulações estejam em suas posições específicas, constituindo, juntas, o ponto de inicialização daquele
robô.

52
ENCONTRANDO O ROBOT HOME COM O SCORBOT-ER III
Como nos robôs industriais, o SCORBOT-ER III é capaz também, de
encontrar seu ponto de inicialização no espaço. Cada uma das
articulações inclui uma chave, que é pressionada quando a articulação
assume uma certa posição no espaço.
A figura 31 ilustra a forma do braço mecânico no seu ponto de
inicialização. A figura 32 mostra a posição das chaves nas articulações
do braço.
Os usuários podem obter vantagens do programa de localização do
ponto de inicialização fornecido pelo fabricante, ou pode escolher Fig. 31 - Braço mecânico no ponto de
escrever seus próprios programas para esta finalidade. inicialização

UTILIZANDO SCORBASE PARA OPERAR O ROBÔ

Scorbase é uma linguagem alto nível, utilizada para operar o Robô


didático SCORBOT-ER III, que permite o controle da trajetória do robô.
O objetivo deste capítulo é apresentar os Princípios de Operação da
linguagem SCORBASE e detalhar sua divisão em três níveis:
• Nível 1: para iniciantes
• Nível 2 : intermediário
• Nível 3 : avançado

PRINCÍPIOS DE OPERAÇÃO
SCORBASE foi projetada para ensinar estudantes a escrever
programas para o robô em dois estágios: Fig. 32 - Posição das chaves
Estágio 1: ensinar ao robô as varias posições, às quais o usuário quer
que ele alcance enquanto executa uma operação.
Estágio 2: escrever um programa para operação do robô, sendo que para isto é necessário apenas um
computador deixando o robô livre para outro usuário.
A vantagem desta metodologia é a eficiência na utilização do robô, pois enquanto um usuário está
escrevendo um programa, outro pode operar o mesmo (numa situação semelhante a encontrada nas
indústrias ). Isto caracteriza o que se denomina "programação off line"
Além desta, uma outra característica da linguagem SCORBASE é a de permitir o controle do robô em tempo
real durante a execução do programa.

SCORBASE NÍVEL 1

Este nível de programação é destinado a ensinar ao estudante como posicionar o robô e explicar como estas
posições são usadas na programação off line. Ao iniciar o trabalho com Scorbase nível 1 deve-se tomar as
seguintes precauções:
1) Ter certeza de que o braço do robô está conectado ao controlador.
2) Certificar-se de que o computador está conectado ao controlador
3) Ligar a alimentação do controlador
4) Ligar a chave do motor
5) Ligar o computador e carregar o programa SCORBASE nível 1

MAIN MENU

1 TEACH POSITIONS
2 EDIT PROGRAM (OFF-
LINE)
3 PROGRAM HANDLING
4 RUN PROGRAM
5 HOME

53
Quando o programa estiver carregado o MENU PRINCIPAL será exibido:

SCORBASE NÍVEL 1

O Menu Principal, como mostrado na figura acima, inclui as seguintes opções:

• TEACH POSITIONS: esta opção mostrará uma tela na qual o usuário pode movimentar o robô a
partir do teclado do computador, e gravar as posições desejadas na memória.
• EDIT PROGRAM (OFF-LINE): esta opção mostra uma tela a partir da qual o usuário pode escrever

TEACH POSITIONS MENU

1/Q MOVE BASE RIGHT/LEFT


2/W MOVE SHOULDER UP/DOW
3/E MOVE ELBOW UP/DOW
4/R MOVE WRIST-PITCH UP/DOW
5/T MOVE WRIST-ROLL UP/DOW
6/Y MOVE AXIS 6 +/-
7/U MOVE AXIS 7 +/-
OG/OC OPEN/CLOSE GRIPER
F/S FAST/SPEED
GP GO TO POSITION #
P RECORD POSITION
L LIST/DELETE POSITIONS
H SET PRESENT POSITION AS
HOME
<ESC> RETURN TO MAIN MENU

novos programas para o robô, listar o programa atual, apagar e adicionar novas linhas a programas existentes
e deletar programas.
• PROGRAM HANDLING: esta opção mostra uma tela a partir da qual o usuário pode realizar
operações de disco tais como: gravar novos programas, carregar programas previamente escritos, apagar e
listar programas.
SCORBASE NÍVEL 1

• RUN: esta opção mostra uma tela a partir da qual o usuário pode executar passo a passo ou num
ciclo contínuo os programas que foram escritos.
A estrutura destes menus será discutida a seguir.

TEACH POSITIONS MENU


SCORBASE NÍVEL 1
Este menu é selecionado teclando [ 1 ] a partir do MAIN MENU, aparecendo então uma tela conforme a
FIGURA 32.

54
MOVENDO AS ARTICULAÇÕES DO ROBÔ
Para ensinar posições no espaço, o usuário move as articulações do robô até que a garra esteja localizada na
posição desejada. As primeiras sete posições do menu TEACH POSITIONS são destinadas a executar esta
função, sendo que nas cinco primeiras opções, o movimento ocorre nas articulações do braço mecânico, e
nas opções 6 e 7, são fornecidos dois graus de liberdade adicionais.

MENSAGEM DE ERRO DE COMUNICAÇÃO


Se uma das teclas de funções acima citadas for pressionada quando o controlador do robô está desligado, ou
quando o cabo de comunicação está desligado, será mostrada a seguinte mensagem:

"COMUNICATION ERROR"
Esta mensagem será mostrado até que se ligue o controlador do robô e se pressione a tecla <ESC> o que
causará o retorno do MAIN MENU para a tela.

MENSAGEM DE ERRO DO MOTOR


Se um das teclas de funções for pressionada quando for impossível o movimento da articulação
correspondente, devido a uma parada mecânica que impede o movimento, ou porque o motor desta
articulação não está conectado ao controlador, aparecerá a seguinte mensagem:

"MOTOR X ERROR!
PRESS 'C' TO CONTINUE OR 'M'TO RETURN
TO MENU"

Onde o "x" da mensagem corresponde ao motor incapaz de se movimentar. Qualquer tecla que não seja 'C'
ou 'M', será rejeitada pelo computador.

ABRINDO E FECHANDO A GARRA


A garra do robô reage aos comandos "OPEN" e "CLOSE" movendo-se para um estado completamente aberto
ou fechado quando é teclado [OG] e [CG] respectivamente. Se um objeto está posicionado entre os dedos da
garra, o movimento para quando os dedos tocam-no
Se a garra já está completamente aberta ou fechada ao se tentar, respectivamente, abri-la ou fechá-la,
nenhum movimento será executado.

MOVIMENTO DE BAIXA/ALTA RESOLUÇÃO (VELOCIDADE DE MOVIMENTO)

SCORBASE NÍVEL 1
Resolução é um conceito usado para definir o menor movimento que o robô é capaz de executar. No
SCORBOT ER- III, este movimento é medido em pulsos de encoder. Selecionando o comando "FAST/SPEED
MOVMENT", é possível ajustar a velocidade do movimento.
Quanto maior for a velocidade, mais rápido e suave é o movimento, e quanto menor a velocidade, mais
truncado será o movimento, por isto, a baixa

MANDANDO O ROBÔ PARA POSIÇÕES ARMAZENADAS NA MEMÓRIA


Para mover rapidamente o robô para posições previamente armazenadas na memória , o comando [GP] - Go
Position - seguido do número da posição armazenada na memória, realiza esta tarefa.
O usuário deve tomar as precauções para que não haja obstáculos entre o braço do robô e a posição
desejada, além disto, se o usuário decidir cancelar o comando GO POSITION, pode fazê-lo pressionando
<ENTER> antes de entrar o número da posição, ou pressionando [B], durante a realização do movimento (o
que implica na parada do movimento). No primeiro caso um beep é soado ao se cancelar o comando, e no
último será exibida a seguinte mensagem:

55
"PRESS "C" TO CONTINUE
"M" TO RETURN TO MENU"

Caso o usuário tenha entrado um número para as posições que não esteja compreendido entre 1 e 100, a
seguinte mensagem será exibida:

"VALUE IS OUT OF RANGE"

Caso se mande o robô para uma posição que não existe na memória, a mensagem abaixo será exibida:
"POSITION IS EMPTY"

GRAVANDO POSIÇÕES NA MEMÓRIA


O comando RECORD POSITION é utilizado para se gravar uma determinada posição do braço do robô. Para
tanto, deve-se teclar [P] e entrar uma posição de 1 a 100
Caso uma posição ilegal seja fornecida, a gravação é cancelada, um BEEP é soado e a seguinte mensagem
é exibida:
"VALUE IS OUT OF RANGE"

DEFININDO POSIÇÃO ATUAL COMO "HOME"

SCORBASE NÍVEL 1

O comando HOME é utilizado no nível 1 da linguagem SCORBASE, para definir como HOME a posição
atualmente ocupada pelo braço do robô. Desta forma, teclando-se [H], a seguinte mensagem será exibida:
"SET PRESENT POSITION AS HOME
ARE YOU SURE ? (Y/N)"
A confirmação desta mensagem (Y) define como HOME a posição corrente.

LISTANDO/DELETANDO POSIÇÕES DA MEMÓRIA


O comando [L] do menu TEACH POSITIONS chama outro menu: o menu LIST /DELETE POSITIONS que é
mostrado a seguir.

LIST DELETE POSITIONS

1 LIST POSITION
2 LIST FROM POSITION
3 DELETE POSITION
4 DELETE FROM POSITION... TO
POSITION...
5 DELETE ALL
6 PRINT POSITIONS
<ESC> RETURN TO TEACH POSITIONS MENU

A opção [1] pede que seja entrado o número do ponto que se deseja listar e mostra as coordenadas do ponto
escolhido uma unidade correspondente ao número de pulsos dos encoders de cada articulação. Caso pontos
cujo número não foi gravado sejam solicitados, é exibida a seguinte mensagem:
"POSITION IS EMPTY"
Caso os pontos solicitados tenham número menor que zero ou maior que 100, é exibida a mensagem:
"VALUE IS OUT OFF RANGE"
A opção [2] deste menu (LIST FROM POSITION) lista as posições a partir da posição fornecida pelo usuário.
As opções [3], [4] e [5] são destinadas a apagar as posições armazenadas na memória, sendo que DELETE
POSITION apaga apenas a posição fornecida pelo usuário, DELETE FROM POSITION...TO POSITION ...,
apaga uma faixa de posições fornecida pelo usuário, e DELETE ALL apaga todas as posições da memória.
A opção PRINT POSITIONS é a de número [6] e se destina a imprimir as posições gravadas
56
SCORBASE NÍVEL 1

MENU EDIT PROGRAM (OFF LINE)


Este menu corresponde à opção [2] de MAIN MENU e se destina a escrever programas simples onde o robô
executa sequencialmente as operações que compreendem abertura e fechamento da garra e mover o robô
de uma posição à outra.

EDIT PROGRAM (OFF LINE)

O/C OPEN/CLOSE GRIPPER


1 GO POSITION
I INSERT LINE
X REPLACE LINE
L LIST/DELETE
<ESC> RETURN TO MAIN MENU
1 []

Os comandos deste menu serão apresentados abaixo, simulando passo a passo os resultados obtidos com a
sua utilização:
OPEN GRIPPER (Opção [O])
1 OPEN GRIPPER: Abre a garra
2 [ ] Avança o ponteiro de programa
CLOSE GRIPPER (Opção [C])
2 CLOSE GRIPPER Fecha a garra até sentir um objeto
3 [ ] Avança o ponteiro de programa
GOTO POSITION (Opção [1]) - Move o robô para posição na memória
3 GOTO POSITION (Entrar número da posição)
4 [ ] Avança o ponteiro de programa
P/ cancelar o comando teclar 0 ou número >100.
Desta forma, será exibida a mensagem:
"VALUE OUT OFF RANGE”
O exemplo programa exemplo digitado acima fica:
1 OPEN GRIPPER
2 CLOSE GRIPPER
3 GOTO POSITION 1
INSET LINE (Opção [I])
Insere uma linha no meio do programa
I INSERT LINE (Entrar o número da linha a ser inserida)
Esta opção é útil na correção de programas
REPLACE LINE ( [x])
Substitui uma linha existente por outra nova:
REPLACE LINE... Teclar núm. da linha a ser substituída
No programa exemplo acima, caso se desejasse substituir a linha 1, resultaria:
1 Novo comando
2 OPEN GRIPPER
SCORBASE NÍVEL 1

3 CLOSE GRIPPER
4 GOTO POSITION 1
Deve-se observar que o ponteiro retorna ao fim do programa.
MENU LIST/ DELETE PROGRAM

57
Este menu é similar em estrutura e função ao menu "LIST DELETE POSITIONS", e é exibido ao se teclar [L]
no menu "EDIT PROGRAM (OFF LINE)

LIST DELETE PROGRAM

1 LIST LINE
2 LIST FROM LINE
3 DELETE LINE
4 DELETE FROM LINE ... TO LINE ...
5 DELETE ALL
6 PRINT PROGRAM
<ESC> RETURN TO TEACH POSITIONS MENU

PROGRAM HANDLING MENU


Este menu é exibido ao se escolher a opção [3] do "MAIN MENU" e se destina a executar operações de disco
tais como descrito abaixo:

PROGRAM HANDLING MENU

1 SAVE PROGRAM
2 LOAD PROGRAM
3 DELETE PROGRAM
4 CATALOG
<ESC> RETURN TO MAIN MENU

SAVE PROGRAM Salva um programa no disco


LOAD PROGRAM Carrega um programa a partir do disco
DELETE Apaga programas do disco
PROGRAM
CATALOG Mostra lista de programas do disco

MENSAGENS DE ERRO
Ao se tentar gravar, carregar, e apagar programas, alguns erros podem ser cometidos e nestes casos
SCORBASE se encarrega de advertir o usuário com as seguintes mensagens:
"ERROR !!!- I/O ERROR-
DOOR OPEN, OR DISKETTE NOT
INITIALIZED"
SCORBASE NÍVEL 1

Esta mensagem é exibida ao se realizar a operação com a porta do drive de disquetes aberta, ou com um
disquete que não esteja formatado.
"ERROR !!!- PROGRAM NOT FOUND
PROGRAM MISPLACED
OR NOT ON DISKETTE"
Esta mensagem é exibida ao se tentar carregar um programa que não esteja gravado no disco ou cujo nome
tenha sido digitado errado.
"ERROR!!!- DISK FULL - TOO MANY PROGRAMS ON DISKETTE”
Esta mensagem é exibida ao se tentar realizar uma operação de gravação quando o disco se encontrar cheio.
"ERROR!!!- WRITE PROTECTED - WRITE PROTECTED TAB ON DISKETTE"
Esta mensagem é exibida ao se tentar realizar uma operação de gravação quando o disco se encontrar
protegido contra gravação.

58
RUN PROGRAM MENU

Este menu é exibido ao se escolher a opção [4] do "MAIN MENU" e se destina a execução dos programas,
como descrito abaixo:

RUN PROGRAM MENU

1 RUN SINGLE LINE


2 RUN SINGLE CYCLE
3 RUN CONTINUOUSLY
4 JUMP TO LINE
PRESS "G"KEY TO LET THE ROBOT RUN
PRESS "B"KEY FOR IMEDIATE BRAKE
ANY OTHER KEY FOR REGULAR
<ESC> RETURN TO MAIN MENU

RUN SINGLE LINE: executa uma única linha do programa


Teclar [1] + [G] : executa o programa linha por linha, a partir da linha 1
Por esta característica, é útil para executar um programa pela primeira vez.
RUN SINGLE CYCLE: Executa todo o programa uma vez
Teclar [2] + "G"
RUN CONTINUOUSLY: Executa o programa continuamente, sem parar, ciclo após ciclo
Teclar [3] + "G"
Usado para localizar e corrigir erros no programa, simulando procedimentos adotados por robôs industriais.
JUMP TO LINE: Permite escolher a linha na qual a execução do programa deve começar.
Teclar [4] para mover o ponteiro de programa para a posição desejada.
OPÇÃO [B]: Parada de emergência
SCORBASE NÍVEL 1
É destinado a interromper a operação que está sendo executada pelo robô. Quando da utilização desta opção
não se perde a posição presente do robô. Ao se tecla [B], a seguinte mensagem é exibida:
"PRESS "C"TO CONTINUE
"PRESS "M"TO RETURN TO MENU
REGULAR STOP: O robô para após completar a linha corrente.

USO DA LINGUAGEM SCORBASE NÍVEL 1


Como já foi visto SCOBASE permite:
• Operar os motores do robô
• Criar movimento no espaço entre posições
• Operar a garra

Para tanto, é necessário que sejam seguidas as seguintes etapas:


1) Ensinar posições ao robô
2) Editar o programa

1 GO POSITION 2
2 OPEN GRIPPER
3 GO POSITION 1
4 CLOSE GRIPPER
5 GO POSITION 2
6 GO POSITION 3
7 GO POSITION 4
8 OPEN GRIPPER
9 GO POSITION 3

59
3) Rodar o programa

Os demais níveis de SCORBASE (que serão posteriormente apresentados) oferecem complemento aos
recursos do nível 1, suprindo suas limitações e possibilitando aumento da complexidade das operações.

SCORBASE NÍVEL 2

O SCORBASE Nível 1 apresentou os princípios de ensino por posições e programação off-line visando a
familiarização com o robô e sua operação.
No Nível 2 a ênfase está no relacionamento entre o robô e o ambiente: transmissão e recepção de sinais,
saltos condicionais e incondicionais. Como este nível inclui todo o software do Nível 1, serão mostradas
apenas os incrementos e mudanças.

MENU PRINCIPAL
Há duas mudanças nesta tela:
SCORBASE NÍVEL 2
• Opção 5: HOME MENU, para encontrar a posição inicial do robô no espaço (hard home).
• Aviso ao usuário que a posição inicial do robô deve ser encontrada antes de iniciar o trabalho (robô
não sincronizado)

MENU HOME
Feita a seleção da tecla 5 é mostrado o Menu Home.
O Menu Home habilita mover o robô para encontrar a posição inicial, ou ainda, habilitar uma posição arbitrária
como "home", como era feito no Scorbase Nível 1.
Antes de se iniciar a sincronização deve-se salvar o programa que está na memória do computador, pois uma
vez pressionada "G" o computador carrega o programa Home e inicia a sincronização do robô.
Uma vez carregado o programa Home no computador, inicia-se sua execução, movendo-se todas as
articulações do robô, uma a uma, para localizar os limites possíveis de movimento, sendo testadas as chaves
fim-de-curso de cada motor.

HOME MENU
1/Q MOVE BASE RIGHT/LEFT
2/W MOVE SHOUDER UP/DOWN
3/E MOVE ELBOW UP/DOWN
4/R MOVE WRIST-PITCH UP/DOW
5/T MOVE WRIST-ROLL RIGHT/LEFT
6/Y MOVE AXIS 6 + / -
7/U MOVE AXIS 7 + / -
O/C OPEN /CLOSE GRIPPER
F/S FAST/SLOW MOVEMENT
J/F TURN ON/OFF OUTPUT #.
H SET PRESENT POSITION AS HOME
---------------------------------------
ANY OTHER KEY WILL STOP THE ROBOT
[ESC] RETURN TO MAIN MENU
---------------------------------------
Stop
PRESS "G"TO SYNCHRONIZE THE ROBOT

Enquanto é executado o programa, são apresentadas mensagens da situação atual do robô, como:
"Base is (not) at home"

60
Se a mensagem for afirmativa indica que os limites foram encontrados e o ponto de home também. Se
negativa indica que houve uma falha para encontrar a chave fim de curso correspondente, podendo ser por
mal funcionamento ou devido a posição atual do vínculo estar muito distante da posição inicial, durante a
execução do programa home. Caso um ou mais limites não foram encontrados, deve-se, via teclado, alcançar
a posição inicial, usando todos os comandos necessários para mover o robô. Para setar uma posição
arbitrária como home, basta teclar "H" e confirmar este comando.

SCORBASE NÍVEL 2

Ensinando Posições via "Teach Positions Menu"


Há apenas duas diferenças neste menu, em relação ao do Nível 1:
1. O comando TURN ON/OFF OUTPUT #, que liga ou desliga a saída, selecionada foi substituído por
J/K TURN ON/OFF OUTPUT #, onde "J" liga e "K" desliga a saída. Este comando é usado para testar saídas
do controlador ou os equipamentos a elas ligados.
2. O comando H GO HOME, que após confirmado, move o robô para a posição home. A razão da
confirmação é fazer o operador assegurar que o robô não colidirá com algum objeto ou partes de máquinas
durante a execução deste comando.

Escrita de Programa via Menu Editor de Programas (Off-Line)

EDIT PROGRAM (OFF-LINE)

O/C OPEN/CLOSE GRIPPER


1 GO POSITION ... FAST/SLOW
2 WAIT ... SECONDS
3 IF INPUT #. ON JUMP TO ...
4/R TURN ON/OFF OUTPUT #.
5 JUMP TO LINE #...
---------------------------------
I INSERT LINE ...
X REPLACE LINE ...
L LIST/DELETE
<ESC> RETURN TO MAIN MENU
--------------------------------
[ R]

A diferença básica entre os Níveis 1 e 2 (com exceção da capacidade de executar o "hard home") aparece
neste menu, onde são implementados novos comandos e outros modificados. A seguir apresenta-se estes
comandos:
Envio do robô p/ uma posição armazenada em memória - Rápido ou Lento
Para enviar o robô para uma posição armazenada em memória, pressiona-se a tecla "1", é apresentado na
tela [ 1 GO POSITION ... ], o usuário digita o número da posição (< 100) para a qual o robô deve ir, 23 por
exemplo, e tecla <RETURN>, a tela apresentará [ 1 GO POSITION 23 FAST/SLOW [ ], o usuário pode
cancelar o comando pressionando <RETURN> ou então pressionar "F" ou "S", selecionando assim
movimento rápido ou lento.
Para opção "S", teremos:
SCORBASE NÍVEL 2
1 GO POSITION 23 *SLOW
2[R]

Comando de Espera (em segundos)


Para fazer o robô esperar em sua posição presente, o usuário tecla "2", o computador apresenta na tela
[ 2 WAIT [ ] ... ],

61
O usuário digita o número de segundos (< 999) que deseja para o robô esperar, por exemplo 3, e pressiona
<RETURN>, ao final será apresentado na tela:
2 WAIT 3 SECONDS
3[R]

Comando Jump Condicional (Verifica status de entrada)


Este comando permite que o programa possa ser executado numa sequência determinada por uma condição
de entrada, e não por uma única sequência. Utilizando-se a tecla "3", é apresentado.
[ 3 IF INPUT # ],
o usuário deve digitar um número de 1 a 8 correspondente a entrada a ser verificada seguido por <RETURN>,
após resposta na tela, digita-se o número da linha do programa para onde sua seqüência será desviada e
<RETURN>. Exemplo:
3 IF INPUT 5 ON JUMP TO 16
4[R]
• Se a entrada 5 for ON , o programa será executado a partir da linha 16.
• Se a entrada 5 for OFF, o programa seguirá sua seqüência normal de execução (linha 4).

Comando de Operação de Saída (Turn On)


O comando faz o controlador ligar uma saída. O usuário pressiona a tecla "4", o computador mostra [ 4 TURN
ON OUTPUT # ] e espera que um número entre 1 e 8, seguido por <RETURN> sejam pressionados.

Comando de Desconexão de Saída (Turn OFF)


Este comando complementa o anterior fazendo o controlador desligar uma saída. O usuário pressiona a tecla
"R", o computador mostra [ 5 TURN OFF OUTPUT # ] e espera que um número entre 1 e 8, seguido por
<RETURN> sejam pressionados.

Comando de Jump Incondicional


Executa um salto incondicional, e é selecionado pela tecla "5". Após esta opção o comando será mostrado e
aguardará ser introduzido o número da linha de programa para a qual o programa terá prosseguimento
seguido por <RETURN>. Exemplo:
6 JUMP TO LINE 21
7[R]
SCORBASE NÍVEL 2

MENU DE MANIPULAÇÃO DE PROGRAMAS (Salvar, Carregar e Deletar)


Completamente idêntico ao SCORBASE Nível 1.

EXECUTANDO PROGRAMAS VIA RUN PROGRAM MENU


Quase idêntico ao usado no nível 2, acrescido de uma linha:
5/T DISPLAY ON
Este comando permite visualizar na tela os comandos executados pelo programa.

USOS DO SCORBASE NÍVEL 2


O nível 2 habilita a escrita de programas a qual visa um coordenado
grupo de esforços constituído por um robô e uma máquina, ou por
diversos robôs. Sendo acompanhado basicamente por meio de sinais.
A fim de coordenar as atividades dentro da célula de trabalho, as
saídas devem ser conectadas do robô para o equipamento externo, e
as entradas deste para o robô.
A figura 33 mostra um robô dentro de uma célula de trabalho.
Fig. 33 - Robô na célula de trabalho

62
As operações conduzidas na célula de trabalho incluem:

• Transportador de peças
• Quando uma peça alcança um certo ponto no transportador, ela aciona uma micro-chave conectada à
entrada do robô.
• O robô desliga uma saída comutadora da tensão do transportador, parando seu movimento.
• O robô move-se para baixo, pega a peça, coloca-a na caixa e move-se para a posição de espera.
• Durante o deslocamento para a posição de espera, o robô liga a saída comutadora de tensão;
transportador recupera o movimento.

O programa que comanda estas ações é dado a seguir:


1 GO POSITION 1 (Robô na posição de espera, acima do transportador)
2 TURN ON OUTPUT # 1 (Robô ativa transportador)
3 IF INPUT # 1 ON JUMP TO LINE 5 (Robô verifica presença de objeto)
4 JUMP TO LINE 3 (Robô continua verificação)
5 TURN OFF OUTPUT # 1 (Robô pára transportador, objeto presente)
6 OPEN GRIPPER
7 GO POSITION 2 (Robô abaixa-se até o transportador)
8 CLOSE GRIPPER
9 GO POSITION 1 (Robô ergue objeto)
10 GO POSITION 3 (Robô move objeto sobre a caixa)
11 OPEN GRIPPER
13 GO POSITION 3 (Robô move-se para cima da caixa)
Após completar a linha 13, o programa reinicia o ciclo na linha 1.
SCORBASE NÍVEL 3

O Nível 3 expande a capacidade de sentir a existência e tamanho de objetos, habilita a definição de posições
no espaço por meio de coordenadas XYZ, e apresentar um numeroso grupo de funções. O que torna a
programação muito mais eficiente, enquanto economiza consideráveis quantidades de memória e tempo.
Os comandos são idênticos ao do nível 2, sendo acrescido ao Teach Positions Menu o comando:
X TEACH POSITIONS BY XYZ
Assim, pode-se ensinar posições em coordenadas cartesianas para o robô sem ter que mover seu braço.
Quando acionada a tecla X será solicitado a entrada dos valores das coordenadas x,y,z, e pitch e roll - sendo
as 3 primeiras em mm e as duas últimas posições do punho em graus - podendo ser atribuído a posição local
do braço do robô para cada uma. Após todas variáveis terem sido definidas deve-se atribuir o número da
posição (de 1 a 100) e pressionar <Return>.
O comando X pode ser usado para mostrar as coordenadas x, y, z e os ângulos de punho em qualquer
posição.

ESCRITA DE PROGRAMAS VIA MENU EDITOR DE PROGRAMA (OFF-LINE)


O nível 3 é incluído diversos comandos ao Menu Editor de Programas, e por serem tantos a serem
apresentados na tela de menu, houve a necessidade de alterar o formato na tela dos comandos INSERT,
REPLACE e LIST/DELETE. As novas funções são:

Comandos de Contador (Looping)


6 SET COUNTER #.. TO ..
7 DECREMENT COUNTER # ..
8 IF COUNTER # .. > 0 JUMP TO..

Estes comandos podem ser usados para produzir laços (loops) em programas.
O primeiro comando define uma contagem e ajuste do contador para um valor menor que 999. O segundo
decrementa de 1 o valor especificado no contador.
63
O terceiro é um jump condicional, usado para verificar um contador específico, para determinar se seu valor é
maior que zero, enquanto a condição não for falsa poderá ser repetido o laço com um ou mais subprogramas
inseridos entre o primeiro e o segundo comando.

Comandos de Subrotina
9 SET SUBROUTINE #..
0 RETURN FROM SUBROUTINE
P CALL SUBROUTINE #..
Estes três comandos permitem a economia de seções de programas executadas repetidamente na forma de
subrotinas, as quais são chamadas a qualquer tempo. Um programa pode incluir até 16 subrotinas. Quando
uma subrotina é chamada (comando CALL SUBROUTINE #), ela é executada (inicializa com SET
SUBROUTINE #) e ao final da subrotina (RETURN FROM SUBROUTINE) o ponteiro do programa retorna a
linha imediatamente posterior ao comando CALL SUBROUTINE.
SCORBASE NÍVEL 3

Comandos de Sensoriamento
M SET MEMORY # .. TO .. MM
N SET MEMORY #.. TO SENSOR
V IF MEMORY # .. > MEMORY # .. JUMP ...
O primeiro comando possibilita armazenar valores arbitrários em milímetros no registrador designado. O
segundo mede a extensão dos dedos da garra em tempo real, transferindo a medida em milímetros e
armazenando-a no registrador designado. O último realiza um jump condicional com a comparação entre
duas memórias. O software inclue 16 registradores de memórias.
Os demais menus: Menu Manipulador de Programas e Menu de Execução de Programas são idênticos ao do
nível 2. No Home Menu é adicionado um novo comando para resetar a abertura da garra para poder realizar
medições com o sensor da garra, dada, a, seguir:
Z SET GRIPPER TO ZERO

USOS DO SCORBASE Nível 3


A principal característica do SCORBASE Nível 3 é o uso das funções
adicionais, habilitando incrementar operações sofisticadas ao robô.
Adiciona-se agora a habilidade de trabalhar com equipamento em seu
ambiente, podendo ser agora ensinado posições em off-line, pode
sentir e comparar os tamanhos de vários objetos, executar loops e ler
subrotinas.
A figura 34 abaixo mostra dois blocos sobre a mesa. Estes blocos são
usados para construir uma torre. Os dois blocos podem ser trocados Fig. 34 - Construção da torre
sem confundir o robô.
O programa abaixo é usado para construir a torre como a da figura.
1 GO POSITION 3 *FAST
2 OPEN GRIPPER
3 GO POSITION 1 *FAST
4 CLOSE GRIPPER
5 SET MEMORY #1 TO SENSOR (Medida do bloco na posição 1)
6 OPEN GRIPPER
7 GO POSITION 3 *FAST
8 GO POSITION 4 *FAST
9 GO POSITION 6 *FAST
10 CLOSE GRIPPER
11 SET MEMORY #2 TO SENSOR (Medida do bloco na posição 6)

64
SCORBASE NÍVEL 3

12 IF MEMORY #2 (Compara os tamanhos dos dois blocos. > MEMORY #1 JUMP 18 Se bloco na posição 6
é mais largo, torre será construída na posição 6.)
13 GO POSITION 4 *FAST
14 GO POSITION 3 *FAST
15 GO POSITION 2 *FAST
16 OPEN GRIPPER
17 JUMP TO LINE 28 (Separa dois ramos do programa de construção da torre)
18 OPEN GRIPPER
19 GO POSITION 4 *FAST
20 GO POSITION 3 *FAST
21 GO POSITION 1 *FAST
22 CLOSE GRIPPER
23 GO POSITION 3 *FAST
24 GO POSITION 4 *FAST
25 GO POSITION 5 *FAST
26 OPEN GRIPPER
27 GO POSITION 4 *FAST
28 GO POSITION 3 *FAST

"Hard Home"
Escrevendo um Programa para Localização
Como já exposto em outros capítulos, o processo de localização da referência ("home") do robô depende
diretamente da sua habilidade de identificar as posições das microchaves instaladas nas ligações do braço do
robô, perto das junções.
Uma vez que o SCORBASE fornece ao usuário informações sobre o status destas microchaves, o programa
de localização do "Hard Home" pode ser escrito como um programa qualquer.

Comandos Invisíveis
No conjunto de comandos mostrados na tela do editor de programas (EDIT PROGRAM (OFF-LINE)), quatro
comandos foram intencionalmente omitidos no capítulo anterior. A omissão se dá para evitar que o uso de
tais instruções sejam usadas por usuários inexperientes.
Os comandos "invisíveis" -- que servem basicamente para localizar o "hard home" -- são os seguintes:
<CTRL> J SET PRESENT POSITION AS HOME Computador seta artificialmente as coordenadas
para zero.
<CTRL> K MESSAGE #... Imprime algumas mensagens pré-estabelecidas,
sendo estas numeradas de 1 a 18.
<CTRL> L IF LIMIT SWITCH #. ON JUMP TO... O usuário preenche o campo com o número da
chave a ser checada e o número da linha a
pular, caso a chave esteja ligada.
<CTRL> P SET AXIS #. TO ZERO Seta um zero na tabela de posições no lugar do
eixo especificado.

SCORBASE NÍVEL 3

Escrevendo o Programa de Localização do "Hard Home"


Apesar de existirem vários métodos de para a elaboração de tal programa, foi usado aqui um modelo simples,
rápido, que requer o conhecimento apenas da linguagem de nível 3 do SCORBASE, além dos comando a
pouco citados.
O processo inicia pela movimentação da junção da base do robô (eixo 1) em uma dada direção. Os
movimento são curtos (15 passos por movimento). Após cada movimento, checa-se a posição da microchave
da junção da base.

65
Se esta estiver pressionada, o eixo passa a mover em incrementos de um passo por movimento, de modo a
localizar o ponto em que a chave é desligada, para ter uma maior precisão na localização do "hard home".
A importância do ponto que separa a microchave pressionada e a microchave solta é a maior precisão de
posicionamento do robô, uma vez que existe mais de uma posição possível de uma junção quando a
microchave está pressionada.
De maneira similar, os eixos restantes são posicionados, um de cada vez, até que o "home" seja localizado.
Os fluxogramas a seguir descrevem o processo de sincronização para os eixos do robô.
A seguir, tem-se o exemplo de programa utilizado para a localização do "hard home":

Sincronização da Base
1 SET PRESENT POSITION AS HOME
2 IF LIMIT SWITCH 1 ON JUMP TO 20
3 SET COUNTER #1 TO 40
4 GO POSITION 1 *FAST
5 IF LIMIT SWITCH #1 ON JUMP TO 20
6 SET PRESENT POSITION AS HOME
7 DECREMENT COUNTER #1
8 IF COUNTER #1 > 0 JUMP TO 4
9 GO POSITION 2 *FAST
10 IF LIMIT SWITCH #1 ON JUMP TO 20
11 SET PRESENT POSITION AS HOME
12 SET COUNTER #1 TO 40
13 GO POSITION 3 *FAST
14 IF LIMIT SWITCH #1 ON JUMP TO 20
15 SET PRESENT POSITION AS HOME
16 DECREMENT COUNTER #1
17 IF COUNTER #1 > 0 JUMP TO 13
18 MESSAGE #1
SCORBASE NÍVEL 3
19 JUMP TO LINE 31
20 SET PRESENT POSITION AS HOME
21 SET COUNTER #1 TO 150
22 GO POSITION 4 *FAST
23 SET PRESENT POSITION AS HOME
24 IF LIMIT SWITCH #1 ON JUMP TO 26
25 JUMP TO LINE 30
26 DECREMENT COUNTER #1
27 IF COUNTER #1 > 0 JUMP TO 22
28 MESSAGE #1
29 JUMP TO LINE 31
30 MESSAGE #1

Sincronização do Ombro
31 SET PRESENT POSITION AS HOME
32 IF LIMIT SWITCH #2 ON JUMP TO 41
33 SET COUNTER #2 TO 75
34 GO POSITION 5 *FAST
35 IF LIMIT SWITCH #2 ON JUMP TO 41
36 SET PRESENT POSITION AS HOME
37 DECREMENT COUNTER #2
38 IF COUNTER #2 > 0 JUMP TO 34
39 MESSAGE #12
66
40 JUMP TO LINE #52
41 SET PRESENT POSITION AS HOME
42 SET COUNTER #2 TO 500
43 GO POSITION 6 *FAST
44 SET PRESENT POSITION AS HOME
45 IF LIMIT SWITCH #2 ON JUMP TO 47
46 JUMP TO LINE 51
47 DECREMENT COUNTER #2
48 IF COUNTER #2 > 0 JUMP TO 43
49 MESSAGE #12
50 JUMP TO LINE 52
51 MESSAGE #2

Sincronização do Cotovelo
52 SET PRESENT POSITION AS HOME
53 IF LIMIT SWITCH #3 ON JUMP TO 73
54 SET COUNTER #3 TO 30
55 GO POSITION 7 *FAST
56 IF LIMIT SWITCH #3 ON JUMP TO 71
57 SET PRESENT POSITION AS HOME
SCORBASE NÍVEL 3
58 DECREMENT COUNTER #3
59 IF COUNTER #3 > 0 JUMP TO 55
60 SET PRESENT POSITION AS HOME
61 GO POSITION 11 *FAST
62 SET PRESENT POSITION AS HOME
63 SET COUNTER #3 TO 30
64 GO POSITION 9 *FAST
65 IF LIMIT SWITCH #3 ON JUMP TO 73
66 SET PRESENT POSITION AS HOME
67 DECREMENT COUNTER #3
68 IF COUNTER #3 > 0 JUMP TO 64
69 MESSAGE #13
70 JUMP TO LINE 84
71 SET PRESENT POSITION AS HOME
72 GO POSITION 10 *FAST
73 SET PRESENT POSITION AS HOME
74 SET COUNTER #3 TO 400
75 GO POSITION 8 *FAST
76 SET PRESENT POSITION AS HOME
77 IF LIMIT SWITCH #3 ON JUMP TO 79
78 JUMP TO LINE 83
79 DECREMENT COUNTER #3
80 IF COUNTER #3 > 0 JUMP TO 75
81 MESSAGE #13
82 JUMP TO LINE 84
83 MESSAGE #3

Sincronização do Pitch do Pulso


84 SET PRESENT POSITION AS HOME
85 IF LIMIT SWITCH #4 ON JUMP TO 105
86 SET COUNTER #4 TO 20
67
87 GO POSITION 12 *FAST
88 IF LIMIT SWITCH #4 ON JUMP TO 105
89 SET PRESENT POSITION AS HOME
90 DECREMENT COUNTER #4
91 IF COUNTER #4 > 0 JUMP TO 87
92 GO POSITION 15 *FAST
93 IF LIMIT SWITCH #4 ON JUMP TO 105
94 SET PRESENT POSITION AS HOME
95 SET COUNTER #4 TO 20
96 GO POSITION 14 *FAST
97 IF LIMIT SWITCH #4 ON JUMP TO 105
98 SET PRESENT POSITION AS HOME
SCORBASE NÍVEL 3
99 DECREMENT COUNTER #4
100 IF COUNTER #4 > 0 JUMP TO 96
101 MESSAGE #14
102 JUMP TO LINE 116
103 SET PRESENT POSITION AS HOME
104 GO POSITION 16 *FAST
105 SET PRESENT POSITION AS HOME
106 SET COUNTER #4 TO 150
107 GO POSITION 13 *FAST
108 SET PRESENT POSITION AS HOME
109 IF LIMIT SWITCH #4 ON JUMP TO 111
110 JUMP TO LINE 115
111 DECREMENT COUNTER #4
112 IF COUNTER #4 > 0 JUMP TO 107
113 MESSAGE #14
114 JUMP TO LINE 116
115 MESSAGE #4

Sincronização do Roll do Pulso


116 SET PRESENT POSITION AS HOME
117 IF LIMIT SWITCH #5 ON JUMP TO 135
118 SET COUNTER #5 TO 30
119 GO POSITION 17 *FAST
120 IF LIMIT SWITCH #5 ON JUMP TO 135
121 SET PRESENT POSITION AS HOME
122 DECREMENT COUNTER #5
123 IF COUNTER #5 > 0 JUMP TO 119
124 GO POSITION 20 *FAST
125 IF LIMIT SWITCH #5 ON JUMP TO 135
126 SET PRESENT POSITION AS HOME
127 SET COUNTER #5 TO 60
128 GO POSITION 19 *FAST
129 IF LIMIT SWITCH #5 ON JUMP TO 135
130 SET PRESENT POSITION AS HOME
131 DECREMENT COUNTER #5
132 IF COUNTER #5 > 0 JUMP TO 128
133 MESSAGE #15
134 JUMP TO LINE 147
135 SET PRESENT POSITION AS HOME
68
136 SET COUNTER #5 TO 150
137 GO POSITION 18 *FAST
138 SET PRESENT POSITION AS HOME
139 IF LIMIT SWITCH #5 ON JUMP TO 141
SCORBASE NÍVEL 3

140 JUMP TO LINE 145


141 DECREMENT COUNTER #5
142 IF COUNTER #5 > 0 JUMP TO 137
143 MESSAGE #15
144 JUMP TO LINE 147
145 MESSAGE #15
146 GO POSITION 21 *FAST
147 SET PRESENT POSITION AS HOME

Sincronização da Garra
148 OPEN GRIPPER

As posições utilizadas nas instruções GO POSITION estão listadas na tabela abaixo.


# AX-1 AX-2 AX-3 AX-4 AX-5 AX-6 AX-7
1 15 0 0 0 0 0 0
2 -600 0 0 0 0 0 0
3 -15 0 0 0 0 0 0
4 -1 0 0 0 0 0 0
5 0 -20 0 0 0 0 0
6 0 1 0 0 0 0 0
7 0 0 -20 0 0 0 0
8 0 0 -1 0 0 0 0
9 0 0 20 0 0 0 0
10 0 0 -125 0 0 0 0
11 0 0 200 0 0 0 0
12 0 0 0 20 0 0 0
13 0 0 0 -1 0 0 0
14 0 0 0 -20 0 0 0
15 0 0 0 -10 0 0 0
16 0 0 0 -10 0 0 0
17 0 0 0 0 -10 0 0
18 0 0 0 0 -1 0 0
19 0 0 0 0 10 0 0
20 0 0 0 0 300 0 0
21 0 0 0 0 65 0 0

SCORBASE NÍVEL 3

É importante notar que este programa requer apenas o aprendizado de um número relativamente pequeno de
posições para a movimentação de cada eixo, enquanto que o robô, devido à função SET PRESENT
POSITION AS HOME, consegue mover-se em um grande número de posições.
O conjunto de movimentos apresentados neste capítulo é eficiente em operações onde o robô realiza
operações curtas, que são repetidas em intervalos fixos, como, por exemplo, em um robô que coloca tampas
em garrafas de refrigerante.

69
O braço do robô movimenta-se seguidamente para cima e para baixo, e a linha de produção move-se um
passo para frente a cada operação do robô, de modo a posicionar a próxima garrafa ao alcance do robô.

Anexo II
Elementos de Hardware
Motor de passo
Um motor de passo é um tipo de motor elétrico que é usado quando algo tem que ser posicionado muito
precisamente ou rotacionado em um ângulo exato.
Em um motor de passo, um ímã permanente é controlado por uma série de campos eletromagnéticos que são
ativados e desativados eletronicamente. Desse modo, é uma mistura entre um motor de corrente contínua e
um solenóide. Motores de passo não usam escovas ou comutadores.
Os motores de passo possuem um número fixo de pólos magnéticos que determinam o número de passos
por revolução. Os motores de passo mais comuns possuem 200 passos completos / revolução, significando
que ele leva 200 passos completos para completar uma volta.
Controladores avançados de motores de passo podem utilizar modulação de largura de pulso para realizarem
micropassos, obtendo uma maior resolução de posição e operação mais macia. Alguns controladores de
micropassos podem aumentar a resolução dos passos de 200 passos / revolução para 50,000 micropassos /
revolução.
Os motores de passo são classificados pelo torque que produzem. Uma característica única deste tipo de
motor é a sua habilidade de poder manter o eixo em uma posição segurando o torque sem estar em
movimento. Para atingir todo o seu torque, as bobinas de um motor de passo devem receber toda a sua
corrente marcada durante cada passo. Os controladores de motor de passo deve possuir circuitos
reguladores de corrente para poderem fazer isto. A marcação de voltagem (se houver) é praticamente sem
utilidade.
O controle computadorizado de motores de passo é uma das formas mais versáteis de sistemas de
posicionamento, particularmente quando digitalmente controlado como parte de um servo sistema. Os
motores de passo são usados em drive’s de disquete, scanners planos, impressoras, injeção eletrônica nos
automóveis e muitos outros dispositivos.
O solenóide do topo (1) esta ativado, atraindo o dente superior do eixo.
O solenóide do topo (1) é desativado, e o solenóide da direita (2) é ativado, movendo o quarto dente mais
próximo à direita. Isto resulta em uma rotação de 3.6°.

O solenóide inferior (3) é ativado; outra rotação de 3.6° ocorre.

O solenóide à esquerda (4) é ativado, rodando novamente o eixo em 3.6°. Quando o solenóide do topo (1) for
ativado novamente, o eixo terá rodado em um dente de posição, como existem 25 dentes, serão necessários
100 passos para uma rotação completa.

70
Controle de motor de passo através da porta paralela
Motores de passos são dispositivos mecânicos eletro-magnéticos que podem ser controlados digitalmente
através de um hardware específico ou através de softwares.
Motores de passos são encontrados em aparelhos onde a precisão é um fator muito importante.
São usados em larga escala em impressoras, plotters, scanners, driver’s de disquetes, discos rígidos e muitos
outros aparelhos.
Existem vários modelos de motores de passos disponíveis no mercado que podem ser utilizados para
diversos propósitos. Poderemos utilizá-los para mover robôs, câmeras de vídeo, brinquedos ou mesmo uma
cortina.
Vamos agora entender um pouco sobre o funcionamento dos motores de passo:

Modos de operação de um motor de passo:

A forma com que o motor irá operar dependerá bastante do que se deseja controlar. Tem casos em que o
torque é mais importante, outros a precisão ou mesmo a velocidade. Essas são características gerais dos
motores de passos, a maioria deles permitem trabalhar dessa forma. Ao trabalhar com motores de passos,
precisamos saber algumas características de funcionamento como a tensão de alimentação, a máxima
corrente elétrica suportada nas bobinas, o grau (precisão), o torque e muitos outros. As características
importantes que deveremos saber para poder controlar um motor de passo seriam a tensão de alimentação e
a corrente elétrica que suas bobinas suportam.
Veja nas tabelas abaixo, as seqüências corretas para se controlar um motor de passo:

71
A velocidade de um motor de passo
Para se controlar a velocidade de um motor de passo envia-se uma
seqüência de pulsos digitais
(veja Tabelas 1, 2 e 3) num determinado intervalo. Quanto menor esse
intervalo, maior será a velocidade em que o motor irá girar.
Não defina intervalo menor que 10ms entre cada passo, o motor perderá
o torque e em vez de rodar, irá vibrar.

A direção (esquerda / direita) de um motor de passo


Para mudar a direção de rotação do motor, simplesmente inverta a seqüência dos passos conforme os
exemplos abaixo:

72
A precisão de um motor de passo
Suponhamos que temos um motor de passo com as seguintes
características:
• Voltagem: 12 v;
• Corrente: 340 mA;
• Resistência da bobina: 36 ohm;
• Graus: 7.5º
Na figura acima a distância entre um ponto vermelho e outro é de 7.5º.
Para sabermos quantos passos são necessários para que o motor dê um
giro de 360º, faça os seguintes cálculos:
• Passos PorVolta = 360º / 7.5º;
• Passos PorVolta = 48.
Portanto, um motor com precisão de 7.5º, precisa dá 48 passos para completar uma volta.

Construindo o hardware para conectar o motor de passo


Para acionarmos um motor de passo precisamos de um hardware específico, chamado driver.
Você pode fazer um driver usando transistores de potência como os BD135, DB241 etc., A maneira mais fácil
é adquirir drivers prontos, como o ULN 2003 ou ULN2803, que nada mais são que arrays de transistores
Darlington que podem controlar correntes de até 500mA, estão em forma de circuitos integrados prontos para
serem usados em interfaces que necessitem controlar motores de passos, solenóides, relês, motores DC e
muitos outros dispositivos.
Veja nas figuras abaixo as pinagens e as características desses CIs.

O CI ULN 2003 tem 7 entradas que podem controlar até 7 saídas. Com ele poderemos controlar um motor de
passo. Se desejarmos controlar 2 motores, usaremos dois CIs ULN 2003, ou somente um CI ULN 2803.

O CI ULN 2803 tem 8 entradas que podem controlar até 8 saídas. Com ele poderemos controlar até 2
motores de passo simultaneamente.

73
Tanto o CI ULN2003 como o ULN 2803 trabalham com correntes de 500mA e tensão de até 50v. Não utilizem
motores de passo que consumam mais que esse valor, se por ventura usarem, poderão queimar os CIs. Veja
antes qual a amperagem de trabalho do motor. Prefira motores que consumam menos de 500mA, para não
sobrecarregar o CI, a não ser que utilizem outros modelos.
Um fator importante que se deve levar em consideração é a fonte de alimentação que terá que fornecer a
amperagem necessária. Trabalhe com fonte de alimentação que forneça mais que 500mA.
Por exemplo, se desejássemos controlar 3 motores de passos, todos no mesmo circuito, cada um
consumindo 340mA, seria necessário uma fonte de alimentação que fornecesse correntes acima de 1A.

Figura 1 - Controle de 1 motor de passo usando o CI ULN 2003


Descobrindo as características elétricas de um motor de passo, quando só sabemos a voltagem

Figura 4 - Motor de 5 fios Figura 5 - Motor de 6 fios

Por falta de informações sobre as características elétricas de um motor de passo, na maioria das vezes
abandonamos este como sucata. Se você pelo menos sabe a voltagem de operação de um motor de passo,
já é uma informação muito importante para que possa colocá-lo para funcionar, e usá-lo nos projetos
próximos projetos.
As características elétricas que precisamos saber sobre um determinado motor de passo para fazê-lo
funcionar, seriam a tensão elétrica, a corrente ou a resistência das bobinas.
Como exemplo, imaginem que a característica elétrica que sabemos sobre um determinado motor de passo é
sua voltagem, nesse caso 12v. Somente a voltagem não é suficiente, precisamos saber a amperagem
(quanto de corrente o motor consome) para que ele funcione perfeitamente com a nossa interface. Então
temos que descobrir a corrente.
Também precisamos saber dentre os vários fios do motor de passo, qual é o fio 'comum', aquele que será
ligado aos 12v da fonte de alimentação. Para descobri-lo, faça as medições conforme a Animação 2 e a
Animação 3.
Alguns motores tem 6 fios, 4 são para controlar o motor e os outros 2 são 'comuns'. A resistência entre esses
2 fios são infinitas, isso porque eles estão isolados, o que temos a fazer é juntá-los, formando um único
terminal 'comum' onde será ligado ao positivo da fonte de alimentação. Quando um motor tem 6 fios fica muito
mais fácil descobrir quais são os 'comuns'.

74
Veja nas animações abaixo como descobrir o fio comum:
Animação 2 - Quando encontramos o fio comum, a
resistência é a menor possível.

Com um multímetro na escala de resistência, fixe uma das


pontas de prova em qualquer um dos fios do motor e com a
outra comece a medir a resistência em cada fio. Nos fios que
encontrar a menor resistência, um desses é o 'comum', onde
será ligado os 12v.
Animação 3 - Quando não encontramos o fio comum a
resistência é o dobro
Nas medições feitas na Animação acima, nenhum dos fios
medidos era o 'comum'. Portanto, a resistência medida será
mais ou menos o dobro da resistência medida na Animação
2.
Obs.: Nas medições só existirão dois valores de resistências:
uma resistência baixa e uma outra alta.
A menor resistência medida indica a resistência de uma única
bobina, e esse valor é uma das características elétrica do motor. Vamos supor que o menor valor medido foi
36 ohm de resistência. Aplicando a lei de Ohm temos:
• V = R.I
• 12 = 36.I
• I = 12/36
• I = 340mA
Portanto, o motor deve ser alimentado com 12v / 340mA, podendo ser controlado através de um dos CI’s ULN
2003 ou ULN 2803, sem nenhuma restrição, isso porque 340mA está abaixo dos 500mA que os CI’s podem
controlar. Com todas essas informações já é possível saber qual o fio do motor ligar os 12v da fonte.

Sensores
Para que os robôs possam se orientar através de suas funções programadas, ele deve ter noção da posição
das peças a ser trabalhada por ele e também ter uma percepção de sua posição no espaço em relação a
elas, com isso devemos utilizar sensores para decodificar estas posições.

Sensores de proximidade
Capacitivos:
os sensores de proximidade capacitivos são equipamentos eletrônicos capazes de detectar a presença ou
aproximação de materiais orgânicos, plásticos, pós, líquidos, madeiras, papeis, metais, etc.
Princípio de funcionamento:
o principio de funcionamento baseia-se na geração de um campo elétrico, desenvolvido por um oscilador
controlado por capacitor.

75
O capacitor é formado por duas placas metálicas, carregadas com cargas elétricas opostas, montadas na
face sensora, de forma a projetar o campo elétrico para fora do sensor, formando assim um capacitor que
possui como dielétrico o ar.
Quando um material aproxima-se da face sensora, ou seja, do campo elétrico, o dielétrico do meio se altera,
modificando também o dielétrico do capacitor frontal, como o oscilador do sensor é controlado pelo capacitor
frontal, quando aproximamos um material, a capacitância também se altera, provocando uma mudança no
circuito oscilador.
Esta variação é convertida em um sinal contínuo, que comparado com um valor padrão, passa a atuar no
estágio de saída.

FACE SENSORA: é a superfície onde


emerge o campo elétrico.

Fig 1 – Robo Humanóide e desenhos de DaVinci


Distância sensora nominal (rated sn):
é a distância sensora teórica, a qual utiliza um alvo padrão como acionador e não considera as variações
causadas pela industrialização, temperatura de operação
e tensão de alimentação, é a distância em que os
sensores são especificados.
EMBUTIDO: este tipo de sensor tem o campo
eletromagnético emergindo apenas na face sensora e
permite que seja montado em uma superfície metálica.

NÃO EMBUTIDO: neste tipo o campo eletromagnético


emerge também da superfície lateral da face sensora,
sensível à presença de metal ao seu redor.

HISTERESE: é a diferença entre o ponto de


acionamento (quando o alvo metálico aproxima-se
da face sensora) e o ponto de desacionamento
(quando o alvo afasta-se do sensor). É
importante, pois garante uma diferença entre os
pontos de comutação que em uma
possível vibração do sensor ou acionador,
oscile o sinal de saída.

ALVO PADRÃO: as distâncias sensoras


nos sensores capacitivos são
especificadas para o acionador metálico de aço SAE 1020 quadrado aterrado e com lado igual a 3 vezes a
distância sensora para os modelos não embutidos, (na grande maioria) e em alguns poucos casos de
sensores capacitivos embutidos utiliza-se o lado do quadrado igual ao diâmetro do sensor.

76
Distância sensora efetiva (effective sr):
valor influenciado pela industrialização, especificada para temperatura ambiente (23°C) e tensão de
alimentação nominal: Sr = ± 10% Sn
DISTANCIA SENSORA
USÁVEL (USABLE Su): obtida para um determinado sensor considerando as tolerâncias de industrialização:
Su = ± 20% Sr

Distancia sensora
ASSEGURADA (ASSURED Sa): é a distancia sensora que seguramente pode-se operar, considerando todas
as variações de industrialização, temperatura e tensão de operação: Sa = ≤ 72% Sa

Distancia sensora
x MATERIAL DETECTADO: o sensor capacitivo apresenta ainda uma redução da distância sensora
Assegurada de acordo com o dielétrico do material a ser detectado, que influencia diretamente o capacitor
frontal do sensor. Sa = Sa . F (ε)

Material a ser detectado:


A tabela abaixo apresenta o dielétrico dos principais materiais, para efeito de comparação; sendo indicado
sempre um teste prático para determinação da distância sensora para o acionador utilizado.

Ajuste de sensibilidade:
O ajuste de sensibilidade presta-se principalmente para diminuir a influência do acionamento causada pelos
materiais em volta da região de sensibilidade do sensor, diminuindo sua distância sensora. Permite ainda que
se detecte alguns materiais dentro de outros, como por exemplo: líquidos dentro de garrafas ou reservatórios
com visores de vidro ou pó dentro de embalagens, ou fluidos em tubos ou mangueiras plásticas. Os sensores
capacitivos possuem ajuste de sensibilidade, que devem ser operados com uma chave de fenda adequada.

77
CUIDADO! O ajuste da sensibilidade do sensor deve ser realizado cuidadosamente e não gire em falso o
potenciômetro, pois poderá danificar permanentemente o sensor.
Nota 1: na instalação do sensor não embutido verifique se existem objetos próximos à região de sensibilidade
do sensor que possam acioná-lo.
Nota 2: a detecção de nível com sensor capacitivo sobre visores de vidro (espessura até 5 mm para sensor
M30) deve ser previamente testada e o produto controlado não deve aderir ou depositar camadas sobre o
vidro.
Nota 3: o sensor quando detectando nível sobre visores deve ficar o mais próximo ou mesmo até encostado
no visor para se obter a maior distância sensora.

Procedimento de ajuste do sensor capacitivo:


Monte o sensor no seu suporte (para detecção de nível encoste o sensor no visor);
Verifique se não existe nenhuma parte ou peça do suporte em volta do sensor, que poderá causar o
acionamento constante do sensor;
Alimente o sensor conforme seu diagrama de conexões;
Sem o produto a ser detectado, o sensor deve permanecer desacionado, então gire o potenciômetro no
sentido horário, até que o led ascenda e logo em seguida reduza a sensibilidade até o led apagar;
Acrescente uma margem de segurança diminuindo, um pouco mais a sensibilidade;
Coloque o produto a ser detectado e verifique o acionamento do sensor;
Retire o produto novamente verificando o desacionamento da saída;
Repita os dois procedimentos anteriores verificando a estabilidade da detecção, caso o sensor permaneça
acionado retirando-se o produto, diminua um pouco ainda a sensibilidade sempre repetindo os testes
novamente;
Caso a detecção não seja estável utilize outro sensor com distancia sensora maior.

Tipos de configurações elétricas:


O que é sensor npn?

São sensores que possuem no estágio de saída um


transistor que tem função de chavear (ligar e desligar)
o terminal negativo da fonte.

O que é sensor pnp?


São sensores que possuem no estágio de saída um
transistor que tem função de chavear (ligar e desligar)
o terminal positivo da fonte.

78
O que é sensor namur?
Semelhante aos sensores convencionais,
diferenciando-se apenas por não possuir o estágio
de saída com um transistor de chaveamento.
Aplicado tipicamente em atmosferas
potencialmente explosivas de industrias químicas
e similares, com barreiras de segurança
intrínseca.
O sensor Namur consome uma corrente ≥ 3 mA quando desacionado com aproximação do alvo a corrente de
consumo cai abaixo de ≤ 1 mA, quando alimentado por um circuito de 8 V e impedância de 1 kΩ.

O que é sensor cc a 2 fios?


Similar aos fim de curso mecânico os sensores são ligados em série com a carga. Observe que uma pequena
corrente circula pela carga quando o sensor está desacionado, requerida para alimentação do circuito interno.
Verifique o correto acionamento da carga considerando que existe ainda uma queda de tensão sobre o
sensor.

Sensor ca / cc (corrente alternada e contínua):


Sensores a 2 fios multialimentação que operam em
qualquer tensão na faixa de 20 a 250 Volts tanto em CC
como em CA.
Os sensores com conector de 4 pinos (V1) não
possuem pino de aterramento.

Sensores com conector 3 pinos (v13):


Todos os sensores a 2 fios com conector V13 em CA /
CC(modelos UA e UF) possuem o terminal de
aterramento no pino 1.
CUIDADOS GERAIS COM A UTILIZAÇÃO DE
SENSORES:

CABO DE CONEXÃO: evitar que o cabo de conexão


seja submetido a qualquer tipo de esforço mecânico.

79
OSCILAÇÃO: como os sensores são resinados,
pode-se utilizá-los em maquinas com movimentos,
apenas fixando o cabo junto ao sensor através de
abraçadeiras, permitindo que só o meio do cabo
oscile.

SUPORTE DE FIXAÇÃO: evitar que o sensor


sofra impactos com outras partes ou peças e não
seja utilizado como apoio.

PARTES MÓVEIS: durante a instalação observar


atentamente a distância sensora do sensor e sua
posição, evitando desta forma impactos com o
acionador.

PORCAS DE FIXAÇÃO: evite o aperto excessivo


das porcas de fixação.

PRODUTOS QUÍMICOS: nas instalações em


ambientes agressivos deve-se contactar o
departamento técnico do fabricante do sensor,
para especificar o sensor mais adequado para a
aplicação.

CONDIÇÕES AMBIENTAIS: evitar submeter o


sensor a condições ambientais com temperatura
de operação acima dos limites do sensor.

80
CARGAS INDUTIVAS: utilizar o sensor para
acionar altas cargas indutivas, poderá danificar
permanentemente o estágio de saída dos
sensores, além de gerar altos picos de tensão na
fonte.

CABLAGEM: conforme as recomendações das


normas, deve-se evitar que os cabos de sensores
e instrumentos de medição e controle utilizem os
mesmos eletrodutos que os circuitos de
acionamento. Apesar dos sensores possuírem
filtros para ruídos, caso os cabos dos sensores ou
da fonte de alimentação utilizem as mesmas
canaletas dos circuitos de potencia com motores,
freios elétricos, disjuntores, capacitores, etc; as
tensões induzidas podem possuir energia
suficiente para danificar permanentemente os
sensores.

SENSORES INDUTIVOS: os sensores de


proximidade indutivo são equipamentos
eletrônicos capazes de detectar a aproximação,
passagem e presença de peças metálicas,
componentes, elementos de máquinas, etc, em
substituição às tradicionais chaves fim de curso. A
detecção ocorre sem que haja o contato físico
entre o sensor e o acionador, aumentando a vida útil do sensor por não possuir peças móveis sujeitas a
desgastes mecânicos. Já quando a carga está desensergizada, toda a tensão está sob o sensor, que para se
alimentar gera uma pequena corrente de fuga. Estes valores tem bem pouca influencia quando a carga é de
maior potencia (ex: contatores, reles, solenóides, etc), mas podem afetar o funcionamento das cargas
eletrônicas.

SENSORES FOTOELÉTRICOS: os sensores de proximidade fotoelétricos são equipamentos eletrônicos


capazes de detectar a aproximação, passagem e presença de materiais metálicos ou não, através da
transmissão e recepção da luz infravermelha (invisível ao ser humano) que pode ser refletida ou interrompida
pelo próprio objeto a ser detectado.

FOTOSENSOR OU DIFUSO: o transmissor e o receptor são montados na mesma unidade. Sendo que o
acionamento da saída ocorre quando o objeto a ser detectados entra na região de sensibilidade e reflete para
o receptor o feixe de luz emitido pelo transmissor.

REFLETIVO OU COM ESPELHO PRISMÁTICO: apresenta o transmissor e o receptor em uma única


unidade. O feixe de luz chega ao receptor somente ser refletido por um espelho prismático, e o acionamento
da saída ocorrerá quando o objeto a ser detectado interromper este feixe.

BARREIRA: o transmissor e o receptor estão em unidades distintas e devem ser dispostos um de frente para
o outro, de modo que o receptor possa constantemente receber a luz do transmissor. O acionamento ocorrerá
quando o objeto a ser detectado interromper o feixe de luz.
2 - Tipos de Conexão:

81
O QUE É SENSOR CA?
São sensores que possuem no estágio de saída componentes eletrônicos de estado sólido capazes de
chavear (ligar e desligar) suas cargas diretamente em corrente alternada.
Disponível na versão a 2 fios (mais terra) que deve ser ligado diretamente em série com a carga, ou a 3 fios
(mais terra) que possui dois fios para alimentação exclusiva do sensor e um terceiro para a carga.

O QUE É SENSOR CA / CC?


Como no anterior, mas com capacidade para chavear as cargas tanto em Corrente Alternada como em
Corrente Contínua, operando no sistema a dois fios conectados em série com a carga.
Os sensores possuem um terceiro fio (verde / amarelo) que deve ser devidamente aterrado e internamente
está ligado a carcaça do sensor e desta forma evitam risco de choque elétrico.

CONFIGURAÇÕES ELÉTRICAS: os sensores de corrente alternada foram verdadeiramente desenvolvidos


para substituição das chaves fim de curso. Possuem o estágio de saída composto por um tiristor, próprio para
chaveamento de corrente alternada, conectado exatamente como um contato mecânico.

SENSORES CA MODELOS WA E WF:


Estes sensores possuem 2 fios
(mais terra) e devem ser
utilizados dentro da faixa: 20 a
250 Vca podendo ainda ser
aplicado com 50 ou 60Hz. O
modelo WA é normalmente aberto
e energiza a carga quando o
sensor detecta seu acionador, já o modelo WF é normalmente fechado. Os sensores possuem um terceiro fio
(verde / amarelo) que deve ser devidamente aterrado e internamente está ligado a carcaça do sensor e desta
forma evitam risco de choque elétrico.

SENSORES CA MODELOS W3A E W3F:


Possuem 3 fios (mais terra) e
também devem ser utilizados
dentro da faixa: 20 a 250 Vca em
50 ou 60Hz. Devem ser
escolhidos quando o sensor a 2
fios não for aplicável devido a
sua queda de tensão ou corrente
de fuga, pois o sensor a 3 fios
possui alimentação totalmente independente da carga. O modelo W3A é normalmente aberto e energiza a
carga quando o sensor detecta seu acionador, o modelo W3F é normalmente fechado. Os sensores possuem
um quarto fio (verde / amarelo) que deve ser devidamente aterrado e internamente está ligado a carcaça do
sensor e desta forma evitam risco de choque elétrico.
NOTA IMPORTANTE: o sensor não possui proteção contra troca de conexão dos fios AZ e PR, que inclusive
pode queimar o sensor.

SENSORES CA / CC MODELOS UA E UF:


Com 2 fios (mais terra) funcionam
ligados em série com a carga
podendo ser utilizados tanto em
Corrente Alternada como em
Corrente Contínua na faixa de 20 a
250V.

82
SENSORES CA / CC MODELOS UZA E UZF:
Semelhante aos sensores CA /
CC (modelos UA e UF),
diferenciando-se por possuir um
elaborado circuito de proteção
que impede o acionamento da
saída em caso de sobrecarga ou
curto-circuito.

CARGAS ELETRÔNICAS: os sensores de proximidade são muito utilizados para o acionamento de cargas
eletrônicas tais como: timers, contadores, reles de estado sólido e principalmente com entrada de
controladores lógicos.

PRINCÍPIO DE ALIMENTAÇÃO DOS SENSORES: a alimentação dos sensores a dois fios (mais terra) tanto
em CA como em CA / CC depende e influi no funcionamento das cargas eletrônicas, pois o sensor é
conectado em série com a entrada destes circuitos. A alimentação do sensor nesta condição depende do
estado ligado ou desligado da entrada, conforme:

ENTRADA ENERGIZADA: quando a carga está energizada uma pequena queda de tensão ocorre sobre o
sensor, o que mantem seu circuito interno operando.

ENTRADA DESENERGIZADA: já quando a carga está desensergizada, toda a tensão está sob o sensor, que
para se alimentar gera uma pequena corrente de fuga. Estes valores tem bem pouca influencia quando a
carga é de maior potencia (ex: contatores, reles, solenóides, etc), mas podem afetar o funcionamento das
cargas eletrônicas.

TENSÃO RESIDUAL: a pequena queda de


tensão no sensor (saída energizada) é constante
e independente da tensão de alimentação, mas
causa maiores danos em aplicações de baixa
tensão.

Deve-se tomar especial cuidado quando utiliza-se


tensões baixas em controladores programáveis,
pois devido a queda de tensão no sensor pode ser
insuficiente para acionar a entrada do controlador.

CORRENTE RESIDUAL: é a corrente que circula


pela carga quando a carga está desenergizada,
necessária para manter o sensor funcionando,
pode causar problemas com cargas de alta
impedância.
Em aplicações com controladores programáveis,
verifique se a corrente residual do sensor não é
capaz de acionar o cartão de entrada, pois pode
causar uma queda de tensão entendida como
nível lógico “1".
Com os sensores CA a 3 fios (mais terra) este
problema praticamente não existe pois os
sensores possuem conexão de alimentação.

83
CORRENTE DE CARGA MÍNIMA: ainda visando
garantir a alimentação adequada dos sensores a
2 fios é necessário a uma corrente de carga
mínima, que é determinada pela impedância da
carga, e novamente as cargas eletrônicas devem
ser selecionadas com critério. Caso o controlador
eletrônico programável utilizado não atenda os
requisitos mínimo de carga para o sensor pode-se
completar com um resistor de carga auxiliar,
conforme ilustrado.

ENTRADA DE CONTROLADORES LÓGICOS:


para o perfeito casamento entre os sensores a 2
fios e as entradas dos controladores verifique os parâmetro abaixo:

TENSÃO RESIDUAL: a tensão de alimentação menos a queda no sensor tem que ser maior que a menor
tensão para o estado lógico "1" (Fig 9).

CORRENTE RESIDUAL: a corrente residual do sensor multiplicada pela impedância interna do plc e tem que
ser menor do que a máxima tensão entendida como nível lógico "0" (Fig. 10).

CARGA MÍNIMA: corrente de entrada no nível lógico "1" tem que ser maior que a corrente de carga mínima
do sensor. (Fig. 11).
Observe que os valores admissíveis podem alterar dependendo do cartão de entrada, inclusive um mesmo
fabricante pode ter um mesmo parâmetro diferente para as várias séries de cartões de entrada.

OUTRAS CARGAS: as cargas resistivas, indutivas e capacitivas também devem ser analisadas a fim de
obter a compatibilidade com o sensor.

CORRENTE MÁXIMA DE CHAVEAMENTO: é a máxima corrente que o sensor pode comutar sem danificar
permanentemente os componentes eletrônicos
da saída do sensor. Os sensores CA
normalmente podem chavear até 500mA e os
CA / CC normalmente suportam chaveamento
de até 300mA.

CORRENTE DE SURTO: é a corrente de pico


que acontece no instante da energização de
cargas indutivas, e em muitos casos pode ser
dezenas de vezes maior que a corrente de carga
nominal do equipamento. Os sensores normalmente
suportam picos de surto de até 2 ou 4A (dependendo
do modelo).

CORRENTE DE CONSUMO: este parâmetro é


aplicável somente a sensores a 3 fios, sendo medido
com a carga desconectada, indicando assim, a
corrente que realmente é consumida apenas para o
funcionamento interno do sensor.

84
PROTEÇÕES: os sensores indutivos possuem um limitador eletrônico de picos de tensão gerados pelas
forças contra-eletromotriz das cargas indutivas, ou ainda em efeitos transitórios induzidos nos cabos dos
sensores. No entanto estas proteções podem ser danificadas se os níveis de indução eletromagnéticos
estiverem acima dos valores previstos. As proteções dos sensores são efetivas para a maioria das
aplacações e se estiverem sujeitos a transitórios acima das especificações de EMC poderão ser danificados
permanentemente.

TIPOS DE CARGA: um dos problemas mais comuns na aplicação de sensores são as possíveis
incompatibilidade com a carga comutada. Nada pode ser mais estressantes para a saída em estado sólido
dos sensores do que as altas correntes de partida em circuitos indutivos ou capacitivos, tensões contra
eletromotriz gerada pelas cargas indutivas alem de indução eletromagnética presente no ambiente industrial.

CARGAS RESISTIVAS: é utilizada na especificação dos sensores de proximidade e como não gera
defasagem entre a tensão e a corrente pode ser aplicada até o limite especificado do sensor.

LÂMPADAS INCANDESCENTES: a resistência a frio do filamento de tungstênio da lâmpada incandescente é


muito baixa, o que causa uma corrente de
regime. Desta forma desaconselhamos o uso
direto do sensor de proximidade para
chaveamento de lâmpadas, mesmo que de
pequeno porte.

LÂMPADAS DE NEON: já as lâmpadas de


neon possuem alta impedância e não são
compatíveis com os sensores, pois não
atingem a corrente mínima de carga exigida
pelos sensores de proximidade CA a 2 fios.

LÂMPADAS DE MERCÚRIO: os sensores de


proximidade nunca devem ser utilizados com
esta lâmpada, pois além de alta corrente de
regime requerem a corrente de partida até 3
vezes a nominal e por um tempo que pode
chegar até 5 minutos.

LÂMPADAS FLUORESCENTES: a corrente de


partida pode chegar até 10 vezes a nominal e a
lâmpada pode tentar partir por até 10 segundos
inviabilizando seu uso com os sensores.

85
CARGAS CAPACITIVAS: a corrente de carga de
um circuito capacitivo pode ser extremamente
alta, pois os capacitores inicialmente atuam como
um verdadeiro curto circuito, sendo que a corrente
é limitada somente pela resistência do circuito.
Longas linhas de comutação, filtros, circuitos
eletrônicos, fontes de alimentação são altamente
capacitivas, podendo gerar corrente de pico com
mais de 20 vezes a corrente de regime em
questão de milissegundo.

CARGAS INDUTIVAS: o pior para os sensores de


proximidade são as cargas indutivas pois quando
são energizadas requerem alta corrente de partida
e quando são desligadas liberam a energia acumulada sob a forma de alto pico reverso.

MOTORES ELÉTRICOS: Nem pense em utilizar


em sensores de proximidade comutando um
motor elétrico, por menor que seja. Pois quando
estão parados sua impedância é muito baixa,
requerendo uma corrente de partida da ordem de
5 a 10 vezes a nominal. Assim que o motor
começa a girar a corrente cai e dependendo da
carga mecânica aplicada pode estender por
muitos segundos a corrente de partida. Quando
são desligados a tensão induzida pode provocar
até arcos em contatos mecânicos.

RELES E CONTATORES: requerem uma


corrente inicial de 3 a10 vezes a corrente nominal
absorvida em poucos milissegundo e
normalmente são compatíveis com os sensores
de proximidade, e a surto inicial dificilmente causa
a atuação da proteção do sensor.

SOLENÓIDES: Dependendo da solenóide a


corrente de pico pode ser muito elevada,
chegando a 20 vezes a nominal e com duração
mais elevada podendo chegar a décimos de
segundo, portanto não aconselhamos a utilização
direta com os sensores sem uma análise mais
profunda da compatibilidade com os sensores.

86
EXERCÍCIOS
Conceitos Básicos
1) Descreva com suas próprias palavras, e em poucas linhas (vinte linhas, por exemplo), a sua visão da
robótica; defina o que é a robótica no seu ponto de vista e descreva o que você espera ou o que você
gostaria de estudar em um curso de Introdução à Robótica. Sugestão: veja o filme "Tempos Modernos", do
genial Charles Chaplin, onde é feita uma sátira à vida moderna, com uma visão futurista para a época do
filme(1.936); neste filme também podemos ver a complexa relação do ser humano com o trabalho, ou com o
emprego, em diversas situações, do ponto de vista de Chaplin.
2) A respeito da palavra robô:
a) Qual a origem da palavra robô?
b) Quando foi utilizada pela primeira vez com o sentido atual?
c) Quem popularizou o uso desta palavra? Como?
d) Você acha que o seu significado é coerente com os seus conceitos anteriores de um robô? Por quê?
3) Karel Capek propõe uma fábrica de robôs, na sua peça de teatro RUR, que acabam se rebelando
contra a humanidade. Você acredita que este pode ser um futuro possível para o nosso planeta?
4) Quem foi Isaac Asimov?
5) A respeito das Três Leis da Robótica, de Isaac Asimov:
Leis da Robótica
1. Um robô jamais deve causar dano a um ser
humano nem, através de omissão, permitir que isto
aconteça.
2. Um robô deve sempre obedecer ao ser humano, a
menos que isto entre em conflito com a primeira
lei.
3. Um robô deve proteger-se de danos, a menos que
isto entre em conflito com a primeira e segunda lei.

Posteriormente foi adicionada a Lei Zero:


0. Um robô não pode causar mal à humanidade ou,
por omissão, permitir que a humanidade sofra
algum mal, nem permitir que ela própria o faça.

a) Por que, na sua opinião, Isaac Asimov propôs estas Três Leis? Você acredita que estas Três Leis
serão necessárias no futuro da humanidade? Por quê?
b) Você acredita que estas Três Leis são suficientes? Você acrescentaria uma quinta Lei? Como seria a
sua Quinta Lei da Robótica?
c) Estas leis são aplicadas aos modernos robôs industriais? De que maneira?
d) Encontre uma inconsistência lógica neste conjunto de Leis. Explique como resolver esta
inconsistência lógica.
e) Você acredita que com estas Três Leis, Karel Capek poderia ter dado um rumo diferente na sua peça
de teatro RUR?
6) O que é um andróide? Enumere o maior número de andróides que você for capaz de se lembrar da
ficção científica (livros, filmes e desenhos animados). Enumere também os andróides reais que você já viu
pessoalmente.
7) Se você tivesse ao seu alcance todos os recursos tecnológicos necessários, como seria o seu robô
andróide? Descreva-o, utilizando também a sua ficção científica, se necessário.
8) No livro Os Robôs do Amanhecer, Isaac Asimov propõe uma situação inusitada: um robô é
assassinado! Assim, o principal suspeito, um humano, contrata um famoso detetive (também humano) para
investigar o caso e provar a sua inocência. E o detetive se empenha na solução do caso, se valendo além de
sua intuição e lógica, das Três Leis da Robótica. Como você vê esta situação? Você a considera possível em
um futuro próximo?
9) Em uma cena do filme "Eu, Robô", onde um robô, suspeito de ter cometido o assassinato de um
famoso cientista, se senta à mesa para ser interrogado por um policial. Como você vê esta situação? Você
acredita que algum dia os robôs poderão passar por uma situação semelhante? Por quê?
10) Defina assassinato, e confronte a sua definição com os exercícios 8 e 9. Existe alguma incoerência
entre a sua definição e as situações apresentadas nestes exercícios?

87
11) Observe a figura ao lado, que mostra uma cena do seriado de
televisão, da década de 60 do século passado, "Perdidos no Espaço",
onde se destaca o robô B-9. Quais são as suas principais
características que podemos observar nesta figura? Como é
classificado este robô?
12) O filme "O Homem Bicentenário", de 1999, conta a história do
robô Andrew. Quais são as suas principais características de Andrew
(à esquerda na figura abaixo)? Como é classificado este robô?
13) Ainda com relação ao filme "O Homem Bicentenário", são
abordadas algumas questões inesperadas no mundo atual. Dê a sua
opinião sobre as seguintes questões que são apresentadas no filme:
a) Um robô deve ser livre ou não?
b) Quais os direitos de entidades artificiais, como os robôs?
c) O que é ser um ser humano?
d) Um ser humano pode ser imortal, ou para ser um ser humano
é necessário que se seja mortal?
e) Um robô pode se transformar, por algum processo, em um ser
humano?
f) Um ser humano pode se transformar, por algum processo, em
um robô?
14) Explique o que entende ser um ciborg. Enumere o maior número de ciborgues que você for capaz de
se lembrar da ficção científica (livros, filmes e desenhos animados). Enumere também os ciborgues reais que
você já viu pessoalmente.
15) Na sua opinião, quais são as diferenças básicas entre um andróide e um ciborg?
16) No seriado O Homem de Seis Milhões de Dólares (The Six Million Dollar Man-1974-EUA), um
astronauta que já teria andado na Lua(um dos heróis nortes americanos), sofre um acidente aéreo, perdendo
as suas duas pernas, o braço direito e o olho esquerdo. Na introdução dos filmes deste seriado, ficaram
famosas, na época, as frases: "We can rebuild him. We have the technology. We have the capability to make
the world's first Bionic Man. Steve Austin will be that man Better than he was before. Better ... stronger ...
faster". Traduzindo: "Nós podemos reconstruí-lo. Nós temos a tecnologia. Nós temos a capacidade para fazer
o primeiro Homem Biônico do mundo. Steve Austin será este homem. Melhor do que ele era antes. Melhor ...
mais forte ... mais rápido". A respeito deste milagre tecnológico, enumere tantas dificuldades quantas você for
capaz de imaginar, para a "reconstrução”, do astronauta Steve Austin. Passados já tantos anos, este milagre
já é possível nos dias atuais? Uma tecnologia assim tão avançada poderia dar vida eterna ao ser humano?
17) Com relação ao filme "Robocop", de 1987, um policial "quase" morto, Alex Murphy, é “futilizado" como
o cérebro de um robô que luta contra o crime. Quais são as suas principais características que podemos
observar neste personagem? Como é classificado este robô? Descreva e discuta os aspectos éticos desta
transformação a que o policial foi submetido, de acordo com a sua ética e o seu ponto de vista.
18) Explique O que é um Robô Móvel ou Autônomo. Por que existe a necessidade de um Robô
Autônomo ser operado? Pesquise se achar necessário.
19) Descreva (Pesquise se achar necessário) os Robôs Móveis a seguir, dando suas principais
características e aplicações:
a) Sojourner
b) Scorpio 45
20) Descreva (Pesquise se achar necessário) os Robôs a seguir, dando suas principais características e
aplicações:
a) Exoskeleton
b) Walking Machine
21) Você considera que as máquinas do exercício anterior são realmente robôs? Porquê?
22) Em que tipo de ambientes e de serviços, os robôs começaram a ser utilizado pelo homem?
23) O que é automação?
24) Qual a diferença entre a Automação Parcial e a Automação Total? Pesquise se achar necessário.

88
25) Existe alguma automação se dê totalmente sem a participação humana? Por quê?
26) O que é a Automação Pesada? E o que é a Automação Flexível? Qual a vantagem de uma sobre a
outra? Pesquise se achar necessário.
27) O que é um robô?
28) O que é um robô industrial?
29) Qual a diferença básica entre uma máquina CNC e um robô?
30) Descreva a classificação dos robôs por geração, destacando as suas principais diferenças.
31) O custo de um robô se deve basicamente a que fatores?
32) Que implicações sociais a utilização de robôs na indústria acarreta? Você acha que, em longo prazo,
o uso de robôs pode gerar desemprego nas indústrias? Porquê?
33) Faça uma comparação do ser humano com os robôs, destacando as vantagens de um com relação
ao outro.
34) Você acha que uma indústria com alto índice de automação pode gerar empregos qualificados que
exijam uma formação específica (técnica ou de engenharia, por exemplo)? A automação pode gerar
empregos?
35) Na sua opinião, quais são os benefícios que a robótica traz atualmente, ou virá a trazer em um futuro
próximo, à vida das pessoas? E quais seriam os prejuízos?

Arquitetura de um Manipulador Robótico


1) O que são manipuladores?
2) Disserte sobre 3 das partes constituintes de um manipulador.
3) Quais são os tipos básicos de juntas robóticas?
4) Quais os possíveis tipos de junta de um braço manipulador?
5) O que você entende por “sistema de referencia” ?
6) O que você entende por cinemática direta e cinemática inversa?
7) O que caracteriza os robôs cartesianos, cilíndricos esféricos e articulados?
8) Qual a forma geométrica dos espaços de trabalho dos robôs cartesianos, cilíndricos e esféricos?
9) Quais os nomes dos três movimentos que caracterizam a orientação da ferramenta ? Que juntas são
responsáveis pelos mesmos movimentos em um robô de 6 juntas?
10) O que é espaço ou volume de trabalho? Disserte sobre a relação da definição com o que acontece na
prática?
11) Qual a relação entre as juntas de um maipulador e os seus Graus de Liberdade?
12) Quantos graus de liberdade um robô necessita ter para alcançar qualquer ponto em seu espaço de
trabalho com qualquer orientação?
13) De alguns exemplos de dispositivos de segurança quando se trata de robôs.
14) Explique as seguintes características de um robô:
a) Repetibilidade
b) Precisão
c) Capacidade Carga
d) Resolução
15) Observa as figuras abaixo. Indique o número de movimentos de cada objeto e o número de graus de
liberdade. Explique.

(a) (b)

89
16) Numa fabrica de montagem, robôs são utilizados “para prototipação rápida” e soldagem de circuitos
integrados, qual o tipo de robô você indicaria como mais adequado para esta aplicação? Explique e justifique
a sua escolha.
17) Considere o manipulador de 3GL abaixo, acoplado a uma plataforma móvel como mostra a figura. Os
comprimentos dos elos Elo1, Elo2 e Elo3, são respectivamente 2l, 2l e 1l. Sabendo que o deslocamento total
da plataforma é de 10 l. Esboce o espaço de trabalho considerando:
a) A plataforma estática
b) A plataforma em sua trajetória total.

Considere o manipulador articulado planar de três graus de


liberdade mostrado na figura ao lado.
18) Os comprimentos dos elos são: L1=L2=1l, L3=0.5 l. Projete
um controlador cinemático que realize as seguintes sub-tarefas
a) Tarefa mais prioritária: controle da posição da ferramenta
de modo a seguir o segmento de reta vertical, partindo do ponto
A(x0,y0) = (1.69, 1.39), até o ponto B(x,y) = (1.69, 0.00).
b) Tarefa menos prioritária: Colocar a peça na posição
C(x1,y1)= (1.5,-1). Evitar o obstáculo retangular situado abaixo do
eixo x, de vértices (1,0), (0.5,0), (0.5,-1), (1,-1).
19) Obtenha o espaço de trabalho dos manipuladores abaixo.
Observação: Considere o máximo deslocamento linear das juntas
prismáticas igual a l e o máximo deslocamento angular das juntas
rotacionais igual a ±180º.

90
ERROR: stackunderflow
OFFENDING COMMAND: ~

STACK: